Skip to content

Commit a2967fa

Browse files
authored
Remove the Peekaboo stack: native2 is the only build and wire (#233)
* Remove the Peekaboo stack: native2 is the only build and wire Delete native/ (vendored Peekaboo, its client, runtime and app copy), the release workflow's stack input, --native2 branches, npm run peekaboo-test, and wire 1: the Node tool logic in src/client.ts and the modules only it used. createDesktop and dist/mcp.js with options forward to native2's client; dist/mcp.js with no options still hands over to the app's bundled server. The compact fixtures move to native2 with Node's recorded output. Why: src/mcp.ts | --wire 2 must keep the Node server instead of handing over to the app's bundled one: scripts/contract.mjs reads the Node tools/list through it, also on a Mac with the app installed Why: native2/Tests/CoreTests/CompactTests.swift | the .compact.json and .all.json fixtures are the removed src/compact.ts's own output; Compact.swift must match them byte for byte, so don't regenerate them from Swift Why: native2/Licenses | Peekaboo's and AXorcist's MIT notices, copied from the removed vendored Peekaboo; build.ts ships them because native2 contains ported code, so package.json files must keep this folder * lane: confirm, replace and retire notes after removing native/ * lane: sync remove-native1 memory * CHANGELOG: link #233
1 parent f328b44 commit a2967fa

1,977 files changed

Lines changed: 578 additions & 576703 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.gitattributes‎

Lines changed: 0 additions & 1 deletion
This file was deleted.

‎.github/workflows/check.yml‎

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
# dist/ is checked in for Git installs; it must match a fresh compile exactly.
1818
- run: npm run check
1919
- run: npm test
20-
# native2 (#143) serves the Node server's instructions and tools/list, compiled in; they must not drift.
20+
# The Swift MCP server serves the Node server's instructions and tools/list, compiled in; they must not drift.
2121
- run: node scripts/contract.mjs --check
2222
# Hosted consumers import the protocol and client modules off macOS.
2323
- run: >-
@@ -34,21 +34,16 @@ jobs:
3434
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
3535
with:
3636
node-version: 24
37-
# Unsigned: signing belongs to each embedding app.
38-
- run: node dist/build.js --out build --scratch .build/native
39-
# The host's caller and self-target rules; Peekaboo's own tests run with npm run peekaboo-test.
40-
- run: swift test --package-path native --scratch-path .build/native --filter DesktopToolsCallersTests
37+
# Unsigned: signing belongs to each embedding app. The pure Swift host (#143) contains code ported from Peekaboo
38+
# and AXorcist, so its build ships their MIT notices (#192).
39+
- run: |
40+
node dist/build.js --out build --scratch .build/native2
41+
test -f build/Licenses/desktop-tools/LICENSE
42+
test -f build/Licenses/peekaboo/LICENSE
43+
test -f build/Licenses/axorcist/LICENSE
4144
# Embedders rebuild into the same output; notices from other sources must survive.
4245
- run: |
4346
mkdir -p build/Licenses/embedder && echo kept > build/Licenses/embedder/NOTICE
44-
node dist/build.js --out build --scratch .build/native
47+
node dist/build.js --out build --scratch .build/native2
4548
test "$(cat build/Licenses/embedder/NOTICE)" = kept
46-
# native2 contains code ported from Peekaboo and AXorcist, so its build ships their MIT notices (#192).
47-
- run: |
48-
node dist/build.js --native2 --out build2 --scratch .build
49-
test -f build2/Licenses/desktop-tools/LICENSE
50-
test -f build2/Licenses/peekaboo/LICENSE
51-
test -f build2/Licenses/axorcist/LICENSE
52-
# native2 (#143) runs beside the shipped stack until the cutover; keep it building and its tests passing.
53-
- run: swift build -c release --package-path native2 --scratch-path .build/native2
5449
- run: swift test --package-path native2 --scratch-path .build/native2

‎.github/workflows/release.yml‎

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,6 @@ on:
66
description: Publish a GitHub Release for package.json's version
77
type: boolean
88
default: false
9-
stack:
10-
description: The host the app runs; native switches back to the Peekaboo stack
11-
type: choice
12-
options: [native2, native]
13-
default: native2
149
permissions:
1510
contents: read
1611
concurrency:
@@ -46,7 +41,6 @@ jobs:
4641
DT_CODESIGN_IDENTITY: ${{ vars.DT_CODESIGN_IDENTITY }}
4742
DT_NOTARY_KEY_ID: ${{ vars.DT_NOTARY_KEY_ID }}
4843
DT_NOTARY_ISSUER: ${{ vars.DT_NOTARY_ISSUER }}
49-
DT_STACK: ${{ inputs.stack }}
5044
run: node scripts/release.ts
5145
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
5246
with:

‎.gitignore‎

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
node_modules/
2-
native/.build/
3-
native/.swiftpm/
42
.check/
53
build/
64
.build/
7-
# SwiftPM writes these when the vendored test packages build; upstream tracks only some.
8-
native/vendor/Peekaboo/**/Package.resolved

.lane/memory/native/sources/runtime/window.swift/01M5BN5CGK09R2FS93TEBKRMX5-the-window-server-moves-a-wi.md renamed to .lane/attic/native/sources/runtime/window.swift/01M5BN5CGK09R2FS93TEBKRMX5-the-window-server-moves-a-wi.md

.lane/memory/native/vendor/Peekaboo/Core/PeekabooAutomationKit/Sources/PeekabooAutomationKit/Services/UI/BackgroundInputDriver.swift/01M5BG6JC178KSA4VK4VFG0XAX-sheet-and-open-panel-control.md renamed to .lane/attic/native/vendor/Peekaboo/Core/PeekabooAutomationKit/Sources/PeekabooAutomationKit/Services/UI/BackgroundInputDriver.swift/01M5BG6JC178KSA4VK4VFG0XAX-sheet-and-open-panel-control.md

.lane/memory/native/vendor/Peekaboo/Core/PeekabooAutomationKit/Sources/PeekabooAutomationKit/Services/UI/BackgroundInputDriver.swift/01M5BNBNG56MD3BJ3B231K070N-the-point-click-descendant-w.md renamed to .lane/attic/native/vendor/Peekaboo/Core/PeekabooAutomationKit/Sources/PeekabooAutomationKit/Services/UI/BackgroundInputDriver.swift/01M5BNBNG56MD3BJ3B231K070N-the-point-click-descendant-w.md

.lane/memory/native/vendor/README.md/01M5BG64WM9VN7W92WRRGVWFFM-edit-native-vendor-peekaboo.md renamed to .lane/attic/native/vendor/README.md/01M5BG64WM9VN7W92WRRGVWFFM-edit-native-vendor-peekaboo.md

.lane/memory/native2/Sources/DesktopHost/Inspect.swift/01M5BKJWVVGTA2MXXFH8WD7ADT-ui-elements-are-ordered-by-p.md renamed to .lane/attic/native2/Sources/DesktopHost/Inspect.swift/01M5BKJWVVGTA2MXXFH8WD7ADT-ui-elements-are-ordered-by-p.md

.lane/memory/native2/Sources/DesktopHost/MenuBar.swift/01M5BQM2WBAH50M66SP50DF1W4-node-s-tool-layer-drops-argu.md renamed to .lane/attic/native2/Sources/DesktopHost/MenuBar.swift/01M5BQM2WBAH50M66SP50DF1W4-node-s-tool-layer-drops-argu.md

0 commit comments

Comments
 (0)