synabun 2.0.5 → 2.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +78 -0
- package/README.md +2 -1
- package/THIRD-PARTY-LICENSES.md +13 -0
- package/docs/whatsapp.md +151 -16
- package/hooks/claude-code/post-plan.mjs +6 -30
- package/hooks/claude-code/session-start.mjs +1 -4
- package/hooks/claude-code/shared.mjs +112 -75
- package/lib/child-path.js +303 -0
- package/lib/claude-hooks.js +2 -1
- package/lib/data-home-migration.js +2 -0
- package/lib/desktop-app.js +265 -0
- package/lib/external-tools.js +7 -3
- package/lib/log-redact.js +102 -0
- package/lib/package-processes.js +670 -0
- package/lib/packaged-runtime.js +138 -11
- package/lib/runtime-dependencies.js +225 -0
- package/mcp-server/dist/http.d.ts +3 -1
- package/mcp-server/dist/http.d.ts.map +1 -1
- package/mcp-server/dist/http.js +15 -4
- package/mcp-server/dist/http.js.map +1 -1
- package/mcp-server/dist/index.d.ts.map +1 -1
- package/mcp-server/dist/index.js +9 -6
- package/mcp-server/dist/index.js.map +1 -1
- package/mcp-server/dist/services/browser-bench.d.ts +1 -1
- package/mcp-server/dist/services/browser-bench.d.ts.map +1 -1
- package/mcp-server/dist/services/browser-bench.js +1 -1
- package/mcp-server/dist/services/browser-bench.js.map +1 -1
- package/mcp-server/dist/services/budget-judgments.d.ts +108 -0
- package/mcp-server/dist/services/budget-judgments.d.ts.map +1 -0
- package/mcp-server/dist/services/budget-judgments.js +153 -0
- package/mcp-server/dist/services/budget-judgments.js.map +1 -0
- package/mcp-server/dist/services/categories.d.ts +35 -2
- package/mcp-server/dist/services/categories.d.ts.map +1 -1
- package/mcp-server/dist/services/categories.js +77 -33
- package/mcp-server/dist/services/categories.js.map +1 -1
- package/mcp-server/dist/services/codex-config-heal.d.ts +5 -1
- package/mcp-server/dist/services/codex-config-heal.d.ts.map +1 -1
- package/mcp-server/dist/services/codex-config-heal.js +41 -4
- package/mcp-server/dist/services/codex-config-heal.js.map +1 -1
- package/mcp-server/dist/services/desktop-bench.d.ts +7 -7
- package/mcp-server/dist/services/desktop-bench.d.ts.map +1 -1
- package/mcp-server/dist/services/desktop-bench.js +1 -1
- package/mcp-server/dist/services/desktop-bench.js.map +1 -1
- package/mcp-server/dist/services/identity.d.ts +11 -0
- package/mcp-server/dist/services/identity.d.ts.map +1 -1
- package/mcp-server/dist/services/identity.js +24 -0
- package/mcp-server/dist/services/identity.js.map +1 -1
- package/mcp-server/dist/services/neural-interface.d.ts +13 -0
- package/mcp-server/dist/services/neural-interface.d.ts.map +1 -1
- package/mcp-server/dist/services/neural-interface.js +34 -2
- package/mcp-server/dist/services/neural-interface.js.map +1 -1
- package/mcp-server/dist/services/typesafe-config.d.ts +1 -1
- package/mcp-server/dist/services/typesafe-config.d.ts.map +1 -1
- package/mcp-server/dist/services/typesafe-config.js +4 -1
- package/mcp-server/dist/services/typesafe-config.js.map +1 -1
- package/mcp-server/dist/tools/agents.d.ts +11 -8
- package/mcp-server/dist/tools/agents.d.ts.map +1 -1
- package/mcp-server/dist/tools/agents.js +35 -14
- package/mcp-server/dist/tools/agents.js.map +1 -1
- package/mcp-server/dist/tools/bluesky.js +1 -1
- package/mcp-server/dist/tools/bluesky.js.map +1 -1
- package/mcp-server/dist/tools/browser-advanced.d.ts +1 -1
- package/mcp-server/dist/tools/browser-advanced.d.ts.map +1 -1
- package/mcp-server/dist/tools/browser-advanced.js +1 -1
- package/mcp-server/dist/tools/browser-advanced.js.map +1 -1
- package/mcp-server/dist/tools/browser-batch.d.ts +1 -1
- package/mcp-server/dist/tools/browser-batch.d.ts.map +1 -1
- package/mcp-server/dist/tools/browser-batch.js +1 -1
- package/mcp-server/dist/tools/browser-batch.js.map +1 -1
- package/mcp-server/dist/tools/browser-cheatsheet.d.ts +1 -1
- package/mcp-server/dist/tools/browser-cheatsheet.d.ts.map +1 -1
- package/mcp-server/dist/tools/browser-cheatsheet.js +1 -1
- package/mcp-server/dist/tools/browser-cheatsheet.js.map +1 -1
- package/mcp-server/dist/tools/browser-interact.d.ts +1 -1
- package/mcp-server/dist/tools/browser-interact.d.ts.map +1 -1
- package/mcp-server/dist/tools/browser-interact.js +1 -1
- package/mcp-server/dist/tools/browser-interact.js.map +1 -1
- package/mcp-server/dist/tools/browser-navigate.d.ts +1 -1
- package/mcp-server/dist/tools/browser-navigate.d.ts.map +1 -1
- package/mcp-server/dist/tools/browser-navigate.js +1 -1
- package/mcp-server/dist/tools/browser-navigate.js.map +1 -1
- package/mcp-server/dist/tools/browser-observe.d.ts +1 -1
- package/mcp-server/dist/tools/browser-observe.d.ts.map +1 -1
- package/mcp-server/dist/tools/browser-observe.js +1 -1
- package/mcp-server/dist/tools/browser-observe.js.map +1 -1
- package/mcp-server/dist/tools/card-tools.d.ts +1 -1
- package/mcp-server/dist/tools/card-tools.d.ts.map +1 -1
- package/mcp-server/dist/tools/card-tools.js +1 -1
- package/mcp-server/dist/tools/card-tools.js.map +1 -1
- package/mcp-server/dist/tools/category.d.ts +1 -1
- package/mcp-server/dist/tools/category.d.ts.map +1 -1
- package/mcp-server/dist/tools/category.js +5 -1
- package/mcp-server/dist/tools/category.js.map +1 -1
- package/mcp-server/dist/tools/choice.d.ts +1 -1
- package/mcp-server/dist/tools/choice.d.ts.map +1 -1
- package/mcp-server/dist/tools/choice.js +1 -1
- package/mcp-server/dist/tools/choice.js.map +1 -1
- package/mcp-server/dist/tools/computer.d.ts +1 -1
- package/mcp-server/dist/tools/computer.d.ts.map +1 -1
- package/mcp-server/dist/tools/computer.js +1 -1
- package/mcp-server/dist/tools/computer.js.map +1 -1
- package/mcp-server/dist/tools/discord-channel.d.ts +1 -1
- package/mcp-server/dist/tools/discord-channel.d.ts.map +1 -1
- package/mcp-server/dist/tools/discord-channel.js +1 -1
- package/mcp-server/dist/tools/discord-channel.js.map +1 -1
- package/mcp-server/dist/tools/discord-guild.d.ts +1 -1
- package/mcp-server/dist/tools/discord-guild.d.ts.map +1 -1
- package/mcp-server/dist/tools/discord-guild.js +1 -1
- package/mcp-server/dist/tools/discord-guild.js.map +1 -1
- package/mcp-server/dist/tools/discord-member.d.ts +1 -1
- package/mcp-server/dist/tools/discord-member.d.ts.map +1 -1
- package/mcp-server/dist/tools/discord-member.js +1 -1
- package/mcp-server/dist/tools/discord-member.js.map +1 -1
- package/mcp-server/dist/tools/discord-message.d.ts +1 -1
- package/mcp-server/dist/tools/discord-message.d.ts.map +1 -1
- package/mcp-server/dist/tools/discord-message.js +1 -1
- package/mcp-server/dist/tools/discord-message.js.map +1 -1
- package/mcp-server/dist/tools/discord-onboarding.d.ts +1 -1
- package/mcp-server/dist/tools/discord-onboarding.d.ts.map +1 -1
- package/mcp-server/dist/tools/discord-onboarding.js +1 -1
- package/mcp-server/dist/tools/discord-onboarding.js.map +1 -1
- package/mcp-server/dist/tools/discord-role.d.ts +1 -1
- package/mcp-server/dist/tools/discord-role.d.ts.map +1 -1
- package/mcp-server/dist/tools/discord-role.js +1 -1
- package/mcp-server/dist/tools/discord-role.js.map +1 -1
- package/mcp-server/dist/tools/discord-thread.d.ts +1 -1
- package/mcp-server/dist/tools/discord-thread.d.ts.map +1 -1
- package/mcp-server/dist/tools/discord-thread.js +1 -1
- package/mcp-server/dist/tools/discord-thread.js.map +1 -1
- package/mcp-server/dist/tools/discord-webhook.d.ts +1 -1
- package/mcp-server/dist/tools/discord-webhook.d.ts.map +1 -1
- package/mcp-server/dist/tools/discord-webhook.js +1 -1
- package/mcp-server/dist/tools/discord-webhook.js.map +1 -1
- package/mcp-server/dist/tools/fb-groups.d.ts +1 -1
- package/mcp-server/dist/tools/fb-groups.d.ts.map +1 -1
- package/mcp-server/dist/tools/fb-groups.js +1 -1
- package/mcp-server/dist/tools/fb-groups.js.map +1 -1
- package/mcp-server/dist/tools/forget.d.ts +1 -1
- package/mcp-server/dist/tools/forget.d.ts.map +1 -1
- package/mcp-server/dist/tools/forget.js +1 -1
- package/mcp-server/dist/tools/forget.js.map +1 -1
- package/mcp-server/dist/tools/git-tools.d.ts +1 -1
- package/mcp-server/dist/tools/git-tools.d.ts.map +1 -1
- package/mcp-server/dist/tools/git-tools.js +1 -1
- package/mcp-server/dist/tools/git-tools.js.map +1 -1
- package/mcp-server/dist/tools/gsc/experience.d.ts +1 -1
- package/mcp-server/dist/tools/gsc/experience.d.ts.map +1 -1
- package/mcp-server/dist/tools/gsc/experience.js +1 -1
- package/mcp-server/dist/tools/gsc/experience.js.map +1 -1
- package/mcp-server/dist/tools/gsc/indexing.d.ts +1 -1
- package/mcp-server/dist/tools/gsc/indexing.d.ts.map +1 -1
- package/mcp-server/dist/tools/gsc/indexing.js +1 -1
- package/mcp-server/dist/tools/gsc/indexing.js.map +1 -1
- package/mcp-server/dist/tools/gsc/inspect.d.ts +1 -1
- package/mcp-server/dist/tools/gsc/inspect.d.ts.map +1 -1
- package/mcp-server/dist/tools/gsc/inspect.js +1 -1
- package/mcp-server/dist/tools/gsc/inspect.js.map +1 -1
- package/mcp-server/dist/tools/gsc/navigate.d.ts +1 -1
- package/mcp-server/dist/tools/gsc/navigate.d.ts.map +1 -1
- package/mcp-server/dist/tools/gsc/navigate.js +1 -1
- package/mcp-server/dist/tools/gsc/navigate.js.map +1 -1
- package/mcp-server/dist/tools/gsc/performance.d.ts +1 -1
- package/mcp-server/dist/tools/gsc/performance.d.ts.map +1 -1
- package/mcp-server/dist/tools/gsc/performance.js +1 -1
- package/mcp-server/dist/tools/gsc/performance.js.map +1 -1
- package/mcp-server/dist/tools/gsc/settings.d.ts +1 -1
- package/mcp-server/dist/tools/gsc/settings.d.ts.map +1 -1
- package/mcp-server/dist/tools/gsc/settings.js +1 -1
- package/mcp-server/dist/tools/gsc/settings.js.map +1 -1
- package/mcp-server/dist/tools/image-tools.d.ts +1 -1
- package/mcp-server/dist/tools/image-tools.d.ts.map +1 -1
- package/mcp-server/dist/tools/image-tools.js +1 -1
- package/mcp-server/dist/tools/image-tools.js.map +1 -1
- package/mcp-server/dist/tools/leonardo-browser-tools.d.ts +1 -1
- package/mcp-server/dist/tools/leonardo-browser-tools.d.ts.map +1 -1
- package/mcp-server/dist/tools/leonardo-browser-tools.js +1 -1
- package/mcp-server/dist/tools/leonardo-browser-tools.js.map +1 -1
- package/mcp-server/dist/tools/loop.d.ts +1 -1
- package/mcp-server/dist/tools/loop.d.ts.map +1 -1
- package/mcp-server/dist/tools/loop.js +1 -1
- package/mcp-server/dist/tools/loop.js.map +1 -1
- package/mcp-server/dist/tools/memories.d.ts +1 -1
- package/mcp-server/dist/tools/memories.d.ts.map +1 -1
- package/mcp-server/dist/tools/memories.js +1 -1
- package/mcp-server/dist/tools/memories.js.map +1 -1
- package/mcp-server/dist/tools/morelogin.d.ts +1 -1
- package/mcp-server/dist/tools/morelogin.d.ts.map +1 -1
- package/mcp-server/dist/tools/morelogin.js +1 -1
- package/mcp-server/dist/tools/morelogin.js.map +1 -1
- package/mcp-server/dist/tools/profile.d.ts +1 -1
- package/mcp-server/dist/tools/profile.d.ts.map +1 -1
- package/mcp-server/dist/tools/profile.js +1 -1
- package/mcp-server/dist/tools/profile.js.map +1 -1
- package/mcp-server/dist/tools/recall.d.ts +1 -1
- package/mcp-server/dist/tools/recall.d.ts.map +1 -1
- package/mcp-server/dist/tools/recall.js +1 -1
- package/mcp-server/dist/tools/recall.js.map +1 -1
- package/mcp-server/dist/tools/reflect.d.ts +1 -1
- package/mcp-server/dist/tools/reflect.d.ts.map +1 -1
- package/mcp-server/dist/tools/reflect.js +1 -1
- package/mcp-server/dist/tools/reflect.js.map +1 -1
- package/mcp-server/dist/tools/remember.d.ts +1 -1
- package/mcp-server/dist/tools/remember.d.ts.map +1 -1
- package/mcp-server/dist/tools/remember.js +13 -11
- package/mcp-server/dist/tools/remember.js.map +1 -1
- package/mcp-server/dist/tools/restore.d.ts +1 -1
- package/mcp-server/dist/tools/restore.d.ts.map +1 -1
- package/mcp-server/dist/tools/restore.js +1 -1
- package/mcp-server/dist/tools/restore.js.map +1 -1
- package/mcp-server/dist/tools/style-guide-tools.d.ts +1 -1
- package/mcp-server/dist/tools/style-guide-tools.d.ts.map +1 -1
- package/mcp-server/dist/tools/style-guide-tools.js +1 -1
- package/mcp-server/dist/tools/style-guide-tools.js.map +1 -1
- package/mcp-server/dist/tools/sync.d.ts +1 -1
- package/mcp-server/dist/tools/sync.d.ts.map +1 -1
- package/mcp-server/dist/tools/sync.js +1 -1
- package/mcp-server/dist/tools/sync.js.map +1 -1
- package/mcp-server/dist/tools/tictactoe-tools.d.ts +1 -1
- package/mcp-server/dist/tools/tictactoe-tools.d.ts.map +1 -1
- package/mcp-server/dist/tools/tictactoe-tools.js +1 -1
- package/mcp-server/dist/tools/tictactoe-tools.js.map +1 -1
- package/mcp-server/dist/tools/utils.d.ts +1 -1
- package/mcp-server/dist/tools/utils.d.ts.map +1 -1
- package/mcp-server/dist/tools/utils.js +1 -1
- package/mcp-server/dist/tools/utils.js.map +1 -1
- package/mcp-server/dist/tools/whatsapp-send-file.d.ts +17 -0
- package/mcp-server/dist/tools/whatsapp-send-file.d.ts.map +1 -0
- package/mcp-server/dist/tools/whatsapp-send-file.js +44 -0
- package/mcp-server/dist/tools/whatsapp-send-file.js.map +1 -0
- package/mcp-server/dist/tools/whiteboard-tools.d.ts +3 -3
- package/mcp-server/dist/tools/whiteboard-tools.d.ts.map +1 -1
- package/mcp-server/dist/tools/whiteboard-tools.js +1 -1
- package/mcp-server/dist/tools/whiteboard-tools.js.map +1 -1
- package/mcp-server/dist/tools/youtube/analytics.d.ts +1 -1
- package/mcp-server/dist/tools/youtube/analytics.d.ts.map +1 -1
- package/mcp-server/dist/tools/youtube/analytics.js +1 -1
- package/mcp-server/dist/tools/youtube/analytics.js.map +1 -1
- package/mcp-server/dist/tools/youtube/download.d.ts +1 -1
- package/mcp-server/dist/tools/youtube/download.d.ts.map +1 -1
- package/mcp-server/dist/tools/youtube/download.js +1 -1
- package/mcp-server/dist/tools/youtube/download.js.map +1 -1
- package/mcp-server/dist/tools/youtube/media.d.ts +1 -1
- package/mcp-server/dist/tools/youtube/media.d.ts.map +1 -1
- package/mcp-server/dist/tools/youtube/media.js +1 -1
- package/mcp-server/dist/tools/youtube/media.js.map +1 -1
- package/mcp-server/dist/tools/youtube/metadata.d.ts +1 -1
- package/mcp-server/dist/tools/youtube/metadata.d.ts.map +1 -1
- package/mcp-server/dist/tools/youtube/metadata.js +1 -1
- package/mcp-server/dist/tools/youtube/metadata.js.map +1 -1
- package/mcp-server/dist/tools/youtube/navigate.d.ts +1 -1
- package/mcp-server/dist/tools/youtube/navigate.d.ts.map +1 -1
- package/mcp-server/dist/tools/youtube/navigate.js +1 -1
- package/mcp-server/dist/tools/youtube/navigate.js.map +1 -1
- package/mcp-server/dist/tools/youtube/playlist.d.ts +1 -1
- package/mcp-server/dist/tools/youtube/playlist.d.ts.map +1 -1
- package/mcp-server/dist/tools/youtube/playlist.js +1 -1
- package/mcp-server/dist/tools/youtube/playlist.js.map +1 -1
- package/mcp-server/dist/tools/youtube/schedule.d.ts +1 -1
- package/mcp-server/dist/tools/youtube/schedule.d.ts.map +1 -1
- package/mcp-server/dist/tools/youtube/schedule.js +1 -1
- package/mcp-server/dist/tools/youtube/schedule.js.map +1 -1
- package/mcp-server/dist/tools/youtube/source.d.ts +1 -1
- package/mcp-server/dist/tools/youtube/source.d.ts.map +1 -1
- package/mcp-server/dist/tools/youtube/source.js +1 -1
- package/mcp-server/dist/tools/youtube/source.js.map +1 -1
- package/mcp-server/dist/tools/youtube/upload.d.ts +1 -1
- package/mcp-server/dist/tools/youtube/upload.d.ts.map +1 -1
- package/mcp-server/dist/tools/youtube/upload.js +4 -9
- package/mcp-server/dist/tools/youtube/upload.js.map +1 -1
- package/mcp-server/dist/tui.js +18 -5
- package/mcp-server/dist/tui.js.map +1 -1
- package/mcp-server/dist/version.d.ts +5 -0
- package/mcp-server/dist/version.d.ts.map +1 -0
- package/mcp-server/dist/version.js +21 -0
- package/mcp-server/dist/version.js.map +1 -0
- package/mcp-server/package-lock.json +3 -3
- package/mcp-server/package.json +3 -3
- package/mcp-server/run.mjs +15 -9
- package/mcp-server/src/http.ts +18 -3
- package/mcp-server/src/index.ts +9 -6
- package/mcp-server/src/services/browser-bench.ts +1 -1
- package/mcp-server/src/services/budget-judgments.ts +183 -0
- package/mcp-server/src/services/categories.ts +77 -32
- package/mcp-server/src/services/codex-config-heal.ts +35 -4
- package/mcp-server/src/services/desktop-bench.ts +1 -1
- package/mcp-server/src/services/identity.ts +27 -0
- package/mcp-server/src/services/neural-interface.ts +34 -2
- package/mcp-server/src/services/typesafe-config.ts +4 -1
- package/mcp-server/src/tools/agents.ts +34 -15
- package/mcp-server/src/tools/bluesky.ts +1 -1
- package/mcp-server/src/tools/browser-advanced.ts +1 -1
- package/mcp-server/src/tools/browser-batch.ts +1 -1
- package/mcp-server/src/tools/browser-cheatsheet.ts +1 -1
- package/mcp-server/src/tools/browser-interact.ts +1 -1
- package/mcp-server/src/tools/browser-navigate.ts +1 -1
- package/mcp-server/src/tools/browser-observe.ts +1 -1
- package/mcp-server/src/tools/card-tools.ts +1 -1
- package/mcp-server/src/tools/category.ts +6 -1
- package/mcp-server/src/tools/choice.ts +1 -1
- package/mcp-server/src/tools/computer.ts +1 -1
- package/mcp-server/src/tools/discord-channel.ts +1 -1
- package/mcp-server/src/tools/discord-guild.ts +1 -1
- package/mcp-server/src/tools/discord-member.ts +1 -1
- package/mcp-server/src/tools/discord-message.ts +1 -1
- package/mcp-server/src/tools/discord-onboarding.ts +1 -1
- package/mcp-server/src/tools/discord-role.ts +1 -1
- package/mcp-server/src/tools/discord-thread.ts +1 -1
- package/mcp-server/src/tools/discord-webhook.ts +1 -1
- package/mcp-server/src/tools/fb-groups.ts +1 -1
- package/mcp-server/src/tools/forget.ts +1 -1
- package/mcp-server/src/tools/git-tools.ts +1 -1
- package/mcp-server/src/tools/gsc/experience.ts +1 -1
- package/mcp-server/src/tools/gsc/indexing.ts +1 -1
- package/mcp-server/src/tools/gsc/inspect.ts +1 -1
- package/mcp-server/src/tools/gsc/navigate.ts +1 -1
- package/mcp-server/src/tools/gsc/performance.ts +1 -1
- package/mcp-server/src/tools/gsc/settings.ts +1 -1
- package/mcp-server/src/tools/image-tools.ts +1 -1
- package/mcp-server/src/tools/leonardo-browser-tools.ts +1 -1
- package/mcp-server/src/tools/loop.ts +1 -1
- package/mcp-server/src/tools/memories.ts +1 -1
- package/mcp-server/src/tools/morelogin.ts +1 -1
- package/mcp-server/src/tools/profile.ts +1 -1
- package/mcp-server/src/tools/recall.ts +1 -1
- package/mcp-server/src/tools/reflect.ts +1 -1
- package/mcp-server/src/tools/remember.ts +13 -12
- package/mcp-server/src/tools/restore.ts +1 -1
- package/mcp-server/src/tools/style-guide-tools.ts +1 -1
- package/mcp-server/src/tools/sync.ts +1 -1
- package/mcp-server/src/tools/tictactoe-tools.ts +1 -1
- package/mcp-server/src/tools/utils.ts +1 -1
- package/mcp-server/src/tools/whatsapp-send-file.ts +51 -0
- package/mcp-server/src/tools/whiteboard-tools.ts +1 -1
- package/mcp-server/src/tools/youtube/analytics.ts +1 -1
- package/mcp-server/src/tools/youtube/download.ts +1 -1
- package/mcp-server/src/tools/youtube/media.ts +1 -1
- package/mcp-server/src/tools/youtube/metadata.ts +1 -1
- package/mcp-server/src/tools/youtube/navigate.ts +1 -1
- package/mcp-server/src/tools/youtube/playlist.ts +1 -1
- package/mcp-server/src/tools/youtube/schedule.ts +1 -1
- package/mcp-server/src/tools/youtube/source.ts +1 -1
- package/mcp-server/src/tools/youtube/upload.ts +4 -12
- package/mcp-server/src/tui.ts +24 -10
- package/mcp-server/src/version.ts +22 -0
- package/neural-interface/i18n/en.json +645 -57
- package/neural-interface/i18n/pt-BR.json +644 -56
- package/neural-interface/lib/account-usage.js +163 -0
- package/neural-interface/lib/agent-sandbox-elevation.js +102 -0
- package/neural-interface/lib/agent-sandbox-setting.js +57 -0
- package/neural-interface/lib/assistant-api.js +274 -52
- package/neural-interface/lib/assistant-brains/claude.js +15 -2
- package/neural-interface/lib/assistant-brains/codex.js +3 -0
- package/neural-interface/lib/assistant-brains/opencode.js +17 -4
- package/neural-interface/lib/assistant-budget-planner.js +390 -0
- package/neural-interface/lib/assistant-budget-split.js +408 -0
- package/neural-interface/lib/assistant-budget.js +94 -95
- package/neural-interface/lib/assistant-config.js +62 -14
- package/neural-interface/lib/assistant-dispatch.js +432 -125
- package/neural-interface/lib/assistant-jev.js +26 -3
- package/neural-interface/lib/assistant-persona.js +68 -11
- package/neural-interface/lib/assistant-plan-permissions.js +8 -1
- package/neural-interface/lib/assistant-route-accounts.js +14 -0
- package/neural-interface/lib/assistant-route-gate-codex.js +3 -1
- package/neural-interface/lib/assistant-route-gate.js +19 -3
- package/neural-interface/lib/assistant-router.js +373 -42
- package/neural-interface/lib/assistant-runtime.js +312 -48
- package/neural-interface/lib/assistant-user-writer.js +4 -2
- package/neural-interface/lib/augmented-path.js +317 -53
- package/neural-interface/lib/claude-accounts.js +342 -31
- package/neural-interface/lib/claude-agent-bridge.js +90 -3
- package/neural-interface/lib/claude-executable.js +6 -1
- package/neural-interface/lib/claude-model-catalog.js +3 -3
- package/neural-interface/lib/claude-panel-auth.js +221 -0
- package/neural-interface/lib/claude-profile-api-key.js +62 -0
- package/neural-interface/lib/cli-install-api.js +137 -0
- package/neural-interface/lib/cli-install.js +797 -0
- package/neural-interface/lib/cli-path.js +130 -0
- package/neural-interface/lib/cli-resolver.js +744 -0
- package/neural-interface/lib/cli-update-planner.js +143 -7
- package/neural-interface/lib/codex-account-auth.js +180 -0
- package/neural-interface/lib/codex-accounts.js +502 -0
- package/neural-interface/lib/codex-capabilities.js +2 -1
- package/neural-interface/lib/codex-compat-rpc.js +8 -2
- package/neural-interface/lib/codex-mcp-approvals.js +5 -1
- package/neural-interface/lib/codex-panel-auth.js +62 -0
- package/neural-interface/lib/codex-session-settings.js +1 -1
- package/neural-interface/lib/codex-settings-schema.js +122 -0
- package/neural-interface/lib/desktop/config.js +3 -0
- package/neural-interface/lib/exec-loop-command.js +3 -1
- package/neural-interface/lib/git-bash/bzip2.js +339 -0
- package/neural-interface/lib/git-bash/claude-settings.js +73 -0
- package/neural-interface/lib/git-bash/extract-worker.js +34 -0
- package/neural-interface/lib/git-bash/install.js +529 -0
- package/neural-interface/lib/git-bash/licenses/COPYING +360 -0
- package/neural-interface/lib/git-bash/licenses/LGPL-2.1 +511 -0
- package/neural-interface/lib/git-bash/manager.js +268 -0
- package/neural-interface/lib/git-bash/pins.js +206 -0
- package/neural-interface/lib/git-bash/pins.json +34 -0
- package/neural-interface/lib/git-bash/resolver.js +194 -0
- package/neural-interface/lib/git-read.js +34 -2
- package/neural-interface/lib/install-details.js +163 -0
- package/neural-interface/lib/mcp-installer.js +14 -2
- package/neural-interface/lib/native-loop-providers.js +22 -4
- package/neural-interface/lib/native-loop-runtime.js +9 -4
- package/neural-interface/lib/os-path.js +319 -0
- package/neural-interface/lib/provider-panel-api-key-auth.js +92 -0
- package/neural-interface/lib/provider-panel-terminal-auth.js +96 -0
- package/neural-interface/lib/pty-host/core.js +2 -1
- package/neural-interface/lib/pty-host/manager.js +27 -2
- package/neural-interface/lib/remote-policy.js +20 -11
- package/neural-interface/lib/session-indexer.js +3 -1
- package/neural-interface/lib/session-title-generator.js +6 -3
- package/neural-interface/lib/system-about.js +340 -0
- package/neural-interface/lib/system-activity.js +66 -0
- package/neural-interface/lib/terminal-env.js +11 -3
- package/neural-interface/lib/terminal-path.js +55 -0
- package/neural-interface/lib/virtual-socket.js +12 -1
- package/neural-interface/lib/whatsapp/baileys-adapter.js +165 -45
- package/neural-interface/lib/whatsapp/bridge.js +78 -34
- package/neural-interface/lib/whatsapp/commands.js +13 -14
- package/neural-interface/lib/whatsapp/config.js +134 -20
- package/neural-interface/lib/whatsapp/fake-baileys.js +99 -14
- package/neural-interface/lib/whatsapp/host-core.js +168 -35
- package/neural-interface/lib/whatsapp/inbound.js +5 -3
- package/neural-interface/lib/whatsapp/local-file.js +524 -0
- package/neural-interface/lib/whatsapp/manager.js +92 -32
- package/neural-interface/lib/whatsapp/paths.js +11 -1
- package/neural-interface/lib/whatsapp/protocol.js +65 -5
- package/neural-interface/lib/whatsapp/redact.js +63 -0
- package/neural-interface/lib/whatsapp/service.js +343 -91
- package/neural-interface/lib/whatsapp/transcription.js +463 -0
- package/neural-interface/package-lock.json +2 -2
- package/neural-interface/package.json +1 -1
- package/neural-interface/public/index.html +2 -0
- package/neural-interface/public/index2d.html +2 -0
- package/neural-interface/public/offline.html +16 -1
- package/neural-interface/public/onboarding.html +96 -2
- package/neural-interface/public/shared/account-i18n.js +7 -0
- package/neural-interface/public/shared/account-menu.js +542 -0
- package/neural-interface/public/shared/account-usage.js +79 -0
- package/neural-interface/public/shared/account-view.js +336 -0
- package/neural-interface/public/shared/agent-runtime-options.js +28 -8
- package/neural-interface/public/shared/assistant/asst-account-menu.js +298 -0
- package/neural-interface/public/shared/assistant/asst-accounts.js +182 -184
- package/neural-interface/public/shared/assistant/asst-api.js +39 -2
- package/neural-interface/public/shared/assistant/asst-brain-picker.js +288 -32
- package/neural-interface/public/shared/assistant/asst-budget.js +259 -303
- package/neural-interface/public/shared/assistant/asst-mascot.js +126 -7
- package/neural-interface/public/shared/assistant/asst-menu.js +219 -80
- package/neural-interface/public/shared/assistant/asst-model-chip.js +135 -0
- package/neural-interface/public/shared/assistant/asst-panel.js +87 -16
- package/neural-interface/public/shared/assistant/asst-render.js +38 -7
- package/neural-interface/public/shared/assistant/asst-route.js +72 -14
- package/neural-interface/public/shared/assistant/asst-routes-editor.js +45 -6
- package/neural-interface/public/shared/assistant/asst-slash.js +1 -1
- package/neural-interface/public/shared/assistant/asst-state.js +1 -1
- package/neural-interface/public/shared/assistant/asst-styles.js +160 -29
- package/neural-interface/public/shared/cdx/cdx-commands.js +4 -1
- package/neural-interface/public/shared/cdx/cdx-features.js +22 -14
- package/neural-interface/public/shared/cdx/cdx-icons.js +2 -0
- package/neural-interface/public/shared/cdx/cdx-panel.js +49 -108
- package/neural-interface/public/shared/cdx/cdx-settings.js +231 -0
- package/neural-interface/public/shared/cdx/cdx-styles.js +172 -111
- package/neural-interface/public/shared/cdx/cdx-tabs.js +264 -664
- package/neural-interface/public/shared/cdx/cdx-ws.js +2 -0
- package/neural-interface/public/shared/claude-account-view.js +3 -0
- package/neural-interface/public/shared/cli-install-view.js +392 -0
- package/neural-interface/public/shared/cli-status.js +282 -22
- package/neural-interface/public/shared/cp/cp-events.js +2 -1
- package/neural-interface/public/shared/cp/cp-styles.js +46 -0
- package/neural-interface/public/shared/desktop-bridge.js +39 -0
- package/neural-interface/public/shared/desktop-titlebar-page.js +59 -0
- package/neural-interface/public/shared/desktop-titlebar-view.js +122 -0
- package/neural-interface/public/shared/desktop-titlebar.js +153 -0
- package/neural-interface/public/shared/desktop-update-view.js +462 -0
- package/neural-interface/public/shared/editor/editor-panel.js +1 -1
- package/neural-interface/public/shared/explorer/fx-main.js +1 -1
- package/neural-interface/public/shared/git-bash-view.js +145 -0
- package/neural-interface/public/shared/html-shell.js +1 -0
- package/neural-interface/public/shared/i18n.js +19 -1
- package/neural-interface/public/shared/install-details-view.js +86 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-childpanel.js +4 -1
- package/neural-interface/public/shared/ocp-v2/ocp-v2-panel.js +36 -1
- package/neural-interface/public/shared/ocp-v2/ocp-v2-send.js +17 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-styles.js +169 -2
- package/neural-interface/public/shared/pwa-install-page.js +3 -1
- package/neural-interface/public/shared/settings/settings-about-pane.js +271 -0
- package/neural-interface/public/shared/settings/settings-about.js +254 -0
- package/neural-interface/public/shared/settings/settings-ia.js +15 -0
- package/neural-interface/public/shared/showcase-privacy.js +490 -0
- package/neural-interface/public/shared/storage.js +30 -3
- package/neural-interface/public/shared/styles.css +281 -32
- package/neural-interface/public/shared/synabun-mascot.js +48 -2
- package/neural-interface/public/shared/ui-claude-panel.js +262 -217
- package/neural-interface/public/shared/ui-cli-banner.js +355 -0
- package/neural-interface/public/shared/ui-explorer.js +2 -0
- package/neural-interface/public/shared/ui-git-bash.js +124 -0
- package/neural-interface/public/shared/ui-judgments.js +10 -1
- package/neural-interface/public/shared/ui-loading.js +30 -6
- package/neural-interface/public/shared/ui-menubar.js +13 -3
- package/neural-interface/public/shared/ui-navbar.js +3 -1
- package/neural-interface/public/shared/ui-provider-auth.js +104 -0
- package/neural-interface/public/shared/ui-provider-terminal-auth.js +223 -0
- package/neural-interface/public/shared/ui-sessions.js +9 -3
- package/neural-interface/public/shared/ui-settings.js +55 -3
- package/neural-interface/public/shared/ui-sidepanel-sessions.js +3 -1
- package/neural-interface/public/shared/ui-sync.js +8 -0
- package/neural-interface/public/shared/ui-terminal.js +17 -0
- package/neural-interface/public/shared/ui-tool-updates.js +5 -0
- package/neural-interface/public/shared/ui-update.js +598 -7
- package/neural-interface/public/shared/ui-whatsapp.js +21 -6
- package/neural-interface/public/shared/whatsapp/wa-view.js +51 -8
- package/neural-interface/public/shared/worker-end.js +2 -0
- package/neural-interface/public/sw.js +1 -1
- package/neural-interface/public/variant/2d/main.js +10 -1
- package/neural-interface/public/variant/3d/main.js +10 -1
- package/neural-interface/scripts/rebuild-pty.js +14 -2
- package/neural-interface/server.js +1384 -679
- package/npm-shrinkwrap.json +4424 -0
- package/package.json +57 -2
- package/postinstall.js +61 -47
- package/preuninstall.js +8 -35
- package/setup.js +80 -47
- package/skills/synabun/modules/idea.md +1 -1
- package/skills/synabun/modules/schedule.md +1 -1
- package/updater.cmd +2 -2
- package/updater.mjs +97 -3
package/lib/packaged-runtime.js
CHANGED
|
@@ -14,10 +14,16 @@
|
|
|
14
14
|
* says so and nothing changes for it.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { existsSync, readFileSync } from 'node:fs';
|
|
18
|
-
import {
|
|
17
|
+
import { accessSync, constants, existsSync, readFileSync } from 'node:fs';
|
|
18
|
+
import { homedir } from 'node:os';
|
|
19
|
+
import { basename, dirname, isAbsolute, join, posix, resolve, win32 } from 'node:path';
|
|
20
|
+
import {
|
|
21
|
+
bundledNpmrcPath, effectiveNpmPrefix, npmGlobalBinFor, packagedPathLast, pathEnvValue, resolveNpmPrefix, withPathEnv,
|
|
22
|
+
} from './child-path.js';
|
|
19
23
|
import { PACKAGE_ROOT } from './paths.js';
|
|
20
24
|
|
|
25
|
+
export { npmGlobalBinFor };
|
|
26
|
+
|
|
21
27
|
export const PACKAGE_MANIFEST = 'synabun-package.json';
|
|
22
28
|
|
|
23
29
|
/**
|
|
@@ -54,6 +60,8 @@ export function readPackagedRuntime({ packageRoot = PACKAGE_ROOT, env = process.
|
|
|
54
60
|
artifact: manifest.artifact ? String(manifest.artifact) : null,
|
|
55
61
|
entry,
|
|
56
62
|
runtimeBin: resolve(resources, String(manifest.runtime?.bin || 'runtime/bin')),
|
|
63
|
+
// The desktop app's window around this payload ('electron'), or null for a build without one.
|
|
64
|
+
shell: manifest.shell?.kind ? String(manifest.shell.kind) : null,
|
|
57
65
|
});
|
|
58
66
|
}
|
|
59
67
|
|
|
@@ -79,10 +87,25 @@ export function isTransientPath(path, env = process.env) {
|
|
|
79
87
|
return Boolean(mount) && value.startsWith(`${mount}/`);
|
|
80
88
|
}
|
|
81
89
|
|
|
90
|
+
const volumeWritable = (folder) => {
|
|
91
|
+
try { accessSync(folder, constants.W_OK); return true; } catch { return false; }
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* macOS: a copy started from the disk image it came in. The image is a
|
|
96
|
+
* read-only volume under /Volumes, gone once it is ejected; an external drive
|
|
97
|
+
* someone keeps applications on is writable, and counts as a place.
|
|
98
|
+
*/
|
|
99
|
+
export function isReadOnlyVolumePath(path, { platform = process.platform, writable = volumeWritable } = {}) {
|
|
100
|
+
if (platform !== 'darwin') return false;
|
|
101
|
+
const volume = /^\/Volumes\/[^/]+\//.exec(String(path || ''));
|
|
102
|
+
return !!volume && !writable(volume[0]);
|
|
103
|
+
}
|
|
104
|
+
|
|
82
105
|
/** The entry executable when it outlives this run, otherwise null. */
|
|
83
|
-
export function durableEntry(runtime = packagedRuntime(), env = process.env) {
|
|
106
|
+
export function durableEntry(runtime = packagedRuntime(), env = process.env, { platform = process.platform, writable } = {}) {
|
|
84
107
|
const entry = runtime?.entry || null;
|
|
85
|
-
return entry && !isTransientPath(entry, env) ? entry : null;
|
|
108
|
+
return entry && !isTransientPath(entry, env) && !isReadOnlyVolumePath(entry, { platform, writable }) ? entry : null;
|
|
86
109
|
}
|
|
87
110
|
|
|
88
111
|
/**
|
|
@@ -98,13 +121,117 @@ export function mcpStdioCommand(scriptPath, { packageRoot = PACKAGE_ROOT, env =
|
|
|
98
121
|
}
|
|
99
122
|
|
|
100
123
|
/**
|
|
101
|
-
*
|
|
102
|
-
*
|
|
124
|
+
* The global prefix of the npm that comes with the packaged runtime, as npm
|
|
125
|
+
* reads it from that npm's own settings file (its builtin npmrc, which the
|
|
126
|
+
* build writes: packaging/lib/bundle.mjs). `npm i -g` through it lands in a
|
|
127
|
+
* per-user folder SynaBun owns, never inside the application: that folder is
|
|
128
|
+
* read-only, replaced by every update and, on macOS, signed. A prefix the
|
|
129
|
+
* user set (npm_config_prefix, `prefix=` in their config file or the global
|
|
130
|
+
* one) comes before this file for npm, so the user's own stays in charge. The folder is in the data home's
|
|
131
|
+
* runtime/ (outside every backup and data-home move), where the default data
|
|
132
|
+
* home is: npm expands `~/` with HOME and `${APPDATA}` from the environment.
|
|
133
|
+
*/
|
|
134
|
+
export const BUNDLED_NPM_PREFIX = Object.freeze({
|
|
135
|
+
win32: '${APPDATA}\\synabun\\runtime\\npm-global',
|
|
136
|
+
posix: '~/.synabun/runtime/npm-global',
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
/** The builtin npmrc of the npm a packaged build ships for `platform` (the whole file). */
|
|
140
|
+
export function bundledNpmrc(platform) {
|
|
141
|
+
return `prefix=${platform === 'win32' ? BUNDLED_NPM_PREFIX.win32 : BUNDLED_NPM_PREFIX.posix}\n`;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* The folder BUNDLED_NPM_PREFIX names on this machine, the way npm expands it
|
|
146
|
+
* (HOME first, then the account's home; APPDATA on Windows), or null when it
|
|
147
|
+
* names none (no APPDATA).
|
|
148
|
+
*/
|
|
149
|
+
export function defaultBundledNpmPrefix({ platform = process.platform, env = process.env, home = homedir() } = {}) {
|
|
150
|
+
if (platform === 'win32') return env.APPDATA ? win32.join(env.APPDATA, 'synabun', 'runtime', 'npm-global') : null;
|
|
151
|
+
const base = env.HOME || home;
|
|
152
|
+
return base ? posix.join(base, '.synabun', 'runtime', 'npm-global') : null;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Where `npm i -g` through the npm of a packaged build puts packages: npm's
|
|
157
|
+
* own settings over the builtin npmrc the build wrote (lib/child-path.js
|
|
158
|
+
* resolveNpmPrefix: npm_config_prefix, the user's config file, the global
|
|
159
|
+
* one, then that builtin file), else, when that file cannot be read, the
|
|
160
|
+
* folder BUNDLED_NPM_PREFIX names. { prefix, bin, source, from }, or null
|
|
161
|
+
* without a runtime (an npm or Git install). Cached for seconds when asked
|
|
162
|
+
* about this process (the options are for tests).
|
|
163
|
+
*/
|
|
164
|
+
export function packagedNpmPrefix(runtime = packagedRuntime(), { env = process.env, readFile, home, cwd } = {}) {
|
|
165
|
+
if (!runtime) return null;
|
|
166
|
+
const platform = runtime.platform || process.platform;
|
|
167
|
+
const builtin = bundledNpmrcPath(runtime.runtimeBin, platform);
|
|
168
|
+
const injected = readFile || home || cwd || env !== process.env || platform !== process.platform;
|
|
169
|
+
const found = injected
|
|
170
|
+
? resolveNpmPrefix({ env, platform, builtin, ...(readFile ? { readFile } : {}), ...(home ? { home } : {}), ...(cwd ? { cwd } : {}) })
|
|
171
|
+
: effectiveNpmPrefix({ builtin });
|
|
172
|
+
if (found.prefix) return { prefix: found.prefix, bin: found.bin, source: found.source, from: found.from };
|
|
173
|
+
const fallback = defaultBundledNpmPrefix({ platform, env, ...(home ? { home } : {}) });
|
|
174
|
+
return fallback ? { prefix: fallback, bin: npmGlobalBinFor(fallback, platform), source: 'builtin', from: builtin } : { prefix: null, bin: null, source: null, from: null };
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
const insideFolder = (file, folder, platform) => {
|
|
178
|
+
if (!file || !folder) return false;
|
|
179
|
+
const impl = platform === 'win32' ? win32 : posix;
|
|
180
|
+
const id = (value) => (platform === 'win32' ? impl.resolve(value).toLowerCase() : impl.resolve(value));
|
|
181
|
+
const [a, b] = [id(file), id(folder)];
|
|
182
|
+
return a === b || a.startsWith(b.endsWith(impl.sep) ? b : b + impl.sep);
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* A packaged build's own folders on the PATH of what it starts
|
|
187
|
+
* (lib/child-path.js packagedPathLast): `last`, its runtime (and the folder of
|
|
188
|
+
* the Node this process runs on when that is the packaged one), and `extra`,
|
|
189
|
+
* npm's global bin (packagedNpmPrefix). Nothing without a runtime.
|
|
190
|
+
*/
|
|
191
|
+
export function packagedPathFolders(runtime = packagedRuntime(), { env = process.env, execPath = process.execPath, ...options } = {}) {
|
|
192
|
+
if (!runtime) return { last: [], extra: [] };
|
|
193
|
+
const platform = runtime.platform || process.platform;
|
|
194
|
+
const impl = platform === 'win32' ? win32 : posix;
|
|
195
|
+
const last = [runtime.runtimeBin];
|
|
196
|
+
if (insideFolder(execPath, runtime.resources, platform)) {
|
|
197
|
+
const own = impl.dirname(execPath);
|
|
198
|
+
if (!last.some(entry => (platform === 'win32' ? entry.toLowerCase() === own.toLowerCase() : entry === own))) last.push(own);
|
|
199
|
+
}
|
|
200
|
+
const bin = packagedNpmPrefix(runtime, { env, ...options })?.bin;
|
|
201
|
+
return { last, extra: bin ? [bin] : [] };
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* `env` for a process a packaged build starts: PATH as the user's own, then
|
|
206
|
+
* npm's global bin, then the packaged runtime last (lib/child-path.js). The
|
|
207
|
+
* user's Node, npm and npx stay first; SynaBun's are the fallback on a machine
|
|
208
|
+
* without any. SynaBun's own Node is never found through this PATH: the entry,
|
|
209
|
+
* the bootstrap and the supervisor start it by its absolute path
|
|
210
|
+
* (packaging/launcher/launcher.c, packaging/runtime/bootstrap.mjs, setup.js).
|
|
211
|
+
* The same object when the order is already right; `env` itself without a runtime.
|
|
103
212
|
*/
|
|
104
|
-
export function
|
|
213
|
+
export function packagedChildEnv(env = process.env, runtime = packagedRuntime(), options = {}) {
|
|
105
214
|
if (!runtime) return env;
|
|
106
|
-
const
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
215
|
+
const platform = runtime.platform || process.platform;
|
|
216
|
+
const { last, extra } = packagedPathFolders(runtime, { env, ...options });
|
|
217
|
+
const current = pathEnvValue(env);
|
|
218
|
+
const value = packagedPathLast(current, { platform, last, extra });
|
|
219
|
+
if (value === current && Object.keys(env).filter(name => name.toUpperCase() === 'PATH').length === 1) return env;
|
|
220
|
+
return withPathEnv(env, value, platform);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* packagedChildEnv() on `target` itself (process.env by default), for an entry
|
|
225
|
+
* point whose every child inherits its environment: the headless MCP server,
|
|
226
|
+
* a hook handler. Whether anything changed.
|
|
227
|
+
*/
|
|
228
|
+
export function applyPackagedChildPath(target = process.env, runtime = packagedRuntime(), options = {}) {
|
|
229
|
+
if (!runtime) return false;
|
|
230
|
+
const ordered = packagedChildEnv(target, runtime, { env: target, ...options });
|
|
231
|
+
if (ordered === target) return false;
|
|
232
|
+
const keys = Object.keys(target).filter(name => name.toUpperCase() === 'PATH');
|
|
233
|
+
const key = keys[0] || (runtime.platform === 'win32' ? 'Path' : 'PATH');
|
|
234
|
+
for (const alias of keys) if (alias !== key) delete target[alias];
|
|
235
|
+
target[key] = pathEnvValue(ordered);
|
|
236
|
+
return true;
|
|
110
237
|
}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SynaBun — are the runtime dependencies there?
|
|
3
|
+
*
|
|
4
|
+
* `npm i -g synabun` installs every dependency of both parts at the package
|
|
5
|
+
* root (the root package.json names them, npm-shrinkwrap.json pins each
|
|
6
|
+
* version: lib/root-dependencies.mjs derives both from the parts). A desktop
|
|
7
|
+
* build and a development checkout keep them in each part's own node_modules
|
|
8
|
+
* instead. Either way Node finds a part's dependency by walking up from the
|
|
9
|
+
* part's folder, and so does this check: it reads package.json files, never
|
|
10
|
+
* loads a dependency and installs nothing.
|
|
11
|
+
*
|
|
12
|
+
* When something is really missing (a checkout nobody ran `npm install` in, a
|
|
13
|
+
* module a virus scanner removed), `installAtPackageRoot` is the one fallback
|
|
14
|
+
* the launcher keeps: npm install at the package root, from the shrinkwrap,
|
|
15
|
+
* install scripts off, npm's own output on the screen, and on a failure the
|
|
16
|
+
* exit code, the signal and npm's debug log named.
|
|
17
|
+
*
|
|
18
|
+
* Only node: modules here: setup.js and postinstall.js import this before a
|
|
19
|
+
* single dependency exists.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
import { spawnSync } from 'node:child_process';
|
|
23
|
+
import { existsSync, mkdirSync, readdirSync, readFileSync, realpathSync, statSync } from 'node:fs';
|
|
24
|
+
import { createRequire } from 'node:module';
|
|
25
|
+
import { basename, dirname, join, resolve } from 'node:path';
|
|
26
|
+
|
|
27
|
+
/** The two parts, each with its own package.json and node_modules resolution. */
|
|
28
|
+
export const RUNTIME_PARTS = Object.freeze([
|
|
29
|
+
Object.freeze({ name: 'Neural Interface', folder: 'neural-interface' }),
|
|
30
|
+
Object.freeze({ name: 'MCP Server', folder: 'mcp-server' }),
|
|
31
|
+
]);
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Dependencies the root lists as optional, and what goes without them. node-pty
|
|
35
|
+
* has no prebuilt binary for Linux: npm compiles it there, and an install that
|
|
36
|
+
* cannot compile it goes on without the terminal instead of failing whole.
|
|
37
|
+
*/
|
|
38
|
+
export const OPTIONAL_AT_ROOT = Object.freeze({
|
|
39
|
+
'node-pty': 'the terminal is unavailable (Linux needs python3, make and a C++ compiler to build it)',
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
/** The longest a fallback install may take before it is stopped. */
|
|
43
|
+
export const INSTALL_TIMEOUT_MS = 20 * 60_000;
|
|
44
|
+
|
|
45
|
+
const readJson = (file, readFile) => JSON.parse(readFile(file, 'utf8'));
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Where Node would find `name` for code in `fromDir`: its node_modules, then
|
|
49
|
+
* each folder above it, but never above `stopAt` (the package root: a global
|
|
50
|
+
* install's neighbours are other packages, not SynaBun's). Returns
|
|
51
|
+
* { path, version } or null; a package.json that cannot be read is
|
|
52
|
+
* { path, version: null, broken: true }.
|
|
53
|
+
*/
|
|
54
|
+
export function findInstalled(fromDir, name, { stopAt = null, exists = existsSync, readFile = readFileSync } = {}) {
|
|
55
|
+
const limit = stopAt ? resolve(stopAt) : null;
|
|
56
|
+
let dir = resolve(fromDir);
|
|
57
|
+
for (;;) {
|
|
58
|
+
if (basename(dir) !== 'node_modules') {
|
|
59
|
+
const manifest = join(dir, 'node_modules', ...name.split('/'), 'package.json');
|
|
60
|
+
if (exists(manifest)) {
|
|
61
|
+
try {
|
|
62
|
+
return { path: dirname(manifest), version: readJson(manifest, readFile).version || null };
|
|
63
|
+
} catch {
|
|
64
|
+
return { path: dirname(manifest), version: null, broken: true };
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (limit && dir === limit) return null;
|
|
69
|
+
const up = dirname(dir);
|
|
70
|
+
if (up === dir) return null;
|
|
71
|
+
dir = up;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Every direct dependency of both parts, found or not:
|
|
77
|
+
* { ok, parts: [{ name, folder, missing, optional, error }], missing: [{ part, name }] }.
|
|
78
|
+
* `missing` are the ones SynaBun needs; `optional` the OPTIONAL_AT_ROOT ones
|
|
79
|
+
* that are absent (a note, never a reason to install).
|
|
80
|
+
*/
|
|
81
|
+
export function checkRuntimeDependencies({ packageRoot, exists = existsSync, readFile = readFileSync } = {}) {
|
|
82
|
+
const parts = RUNTIME_PARTS.map((part) => {
|
|
83
|
+
const dir = join(packageRoot, part.folder);
|
|
84
|
+
let manifest;
|
|
85
|
+
try { manifest = readJson(join(dir, 'package.json'), readFile); } catch (error) {
|
|
86
|
+
return { ...part, missing: [], optional: [], error: `${part.folder}/package.json cannot be read: ${error.message}` };
|
|
87
|
+
}
|
|
88
|
+
const missing = [];
|
|
89
|
+
const optional = [];
|
|
90
|
+
for (const name of Object.keys({ ...manifest.dependencies, ...manifest.optionalDependencies }).sort()) {
|
|
91
|
+
const found = findInstalled(dir, name, { stopAt: packageRoot, exists, readFile });
|
|
92
|
+
if (found && !found.broken) continue;
|
|
93
|
+
(Object.hasOwn(OPTIONAL_AT_ROOT, name) ? optional : missing).push(name);
|
|
94
|
+
}
|
|
95
|
+
return { ...part, missing, optional, error: null };
|
|
96
|
+
});
|
|
97
|
+
const missing = parts.flatMap(part => part.missing.map(name => ({ part: part.name, name })));
|
|
98
|
+
return { ok: !missing.length && !parts.some(part => part.error), parts, missing };
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* What kind of install `packageRoot` is: 'packaged' (a desktop application:
|
|
103
|
+
* its files are read-only, nothing is installed into it), 'npm' (a package
|
|
104
|
+
* npm installed, global or not) or 'source' (a checkout).
|
|
105
|
+
*/
|
|
106
|
+
export function installKind({ packageRoot, packaged = false } = {}) {
|
|
107
|
+
if (packaged) return 'packaged';
|
|
108
|
+
return basename(dirname(resolve(packageRoot))) === 'node_modules' ? 'npm' : 'source';
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
const realpathOr = (file) => { try { return realpathSync(file); } catch { return file; } };
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* How to run npm: the npm that started us, else the user's own (the first npm
|
|
115
|
+
* on PATH, as a terminal finds it), else the one next to the Node that runs
|
|
116
|
+
* us. npm's own npm-cli.js is run by this Node, with no shell in between; a
|
|
117
|
+
* PATH npm that is something else (a shim, a stand-in) is run as it is.
|
|
118
|
+
*/
|
|
119
|
+
export function npmInvocation({ execPath = process.execPath, env = process.env, platform = process.platform, exists = existsSync, realpath = realpathOr } = {}) {
|
|
120
|
+
const viaNode = (cli) => ({ file: execPath, args: [resolve(cli)], shell: false });
|
|
121
|
+
if (env.npm_execpath && /npm-cli\.js$/i.test(env.npm_execpath) && exists(env.npm_execpath)) return viaNode(env.npm_execpath);
|
|
122
|
+
const windows = platform === 'win32';
|
|
123
|
+
for (const dir of String(env.PATH || env.Path || '').split(windows ? ';' : ':').filter(Boolean)) {
|
|
124
|
+
const file = join(dir, windows ? 'npm.cmd' : 'npm');
|
|
125
|
+
if (!exists(file)) continue;
|
|
126
|
+
const cli = windows ? join(dir, 'node_modules', 'npm', 'bin', 'npm-cli.js') : realpath(file);
|
|
127
|
+
if (/npm-cli\.js$/i.test(cli) && exists(cli)) return viaNode(cli);
|
|
128
|
+
return { file, args: [], shell: windows };
|
|
129
|
+
}
|
|
130
|
+
const bin = dirname(execPath);
|
|
131
|
+
const bundled = windows ? join(bin, 'node_modules', 'npm', 'bin', 'npm-cli.js') : join(bin, '..', 'lib', 'node_modules', 'npm', 'bin', 'npm-cli.js');
|
|
132
|
+
if (exists(bundled)) return viaNode(bundled);
|
|
133
|
+
return { file: windows ? 'npm.cmd' : 'npm', args: [], shell: windows };
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/** The arguments of the fallback install: the shrinkwrap as it is, in the package itself, no lifecycle script, no progress bar. */
|
|
137
|
+
export function fallbackInstallArgs({ includeDev = false, logsDir = null } = {}) {
|
|
138
|
+
return [
|
|
139
|
+
'install',
|
|
140
|
+
'--location=project',
|
|
141
|
+
...(includeDev ? [] : ['--omit=dev']),
|
|
142
|
+
'--ignore-scripts', '--no-save', '--no-audit', '--no-fund', '--progress=false',
|
|
143
|
+
...(logsDir ? [`--logs-dir=${logsDir}`] : []),
|
|
144
|
+
];
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* The environment of that npm, without the settings an npm that started us
|
|
149
|
+
* hands its scripts: inside `npm i -g` (npm_config_global=true) an
|
|
150
|
+
* `npm install` installs the folder as a global package of its own, a link
|
|
151
|
+
* next to SynaBun, which is what 2.0.7's postinstall did.
|
|
152
|
+
*/
|
|
153
|
+
export function fallbackInstallEnv(env = process.env) {
|
|
154
|
+
const clean = { ...env };
|
|
155
|
+
for (const key of Object.keys(clean)) if (/^npm_config_(?:global|location|prefix)$/i.test(key)) delete clean[key];
|
|
156
|
+
return clean;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/** The newest npm debug log written in `logsDir` since `since` (ms), or null. */
|
|
160
|
+
export function newestDebugLog(logsDir, since = 0) {
|
|
161
|
+
if (!logsDir) return null;
|
|
162
|
+
let newest = null;
|
|
163
|
+
try {
|
|
164
|
+
for (const name of readdirSync(logsDir)) {
|
|
165
|
+
if (!/-debug(?:-\d+)?\.log$/.test(name)) continue;
|
|
166
|
+
const file = join(logsDir, name);
|
|
167
|
+
const { mtimeMs } = statSync(file);
|
|
168
|
+
if (mtimeMs >= since - 1000 && (!newest || mtimeMs > newest.mtimeMs)) newest = { file, mtimeMs };
|
|
169
|
+
}
|
|
170
|
+
} catch {}
|
|
171
|
+
return newest?.file || null;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
const quoteForCmd = (arg) => (/[\s"&|<>^]/.test(arg) ? `"${arg.replace(/"/g, '""')}"` : arg);
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* What to hand spawn/execFile for `npm <args>`: { file, args, shell }. Through
|
|
178
|
+
* cmd.exe (a Windows npm.cmd that is not npm's own) every word is quoted where
|
|
179
|
+
* it needs it, since cmd.exe reads one joined command line.
|
|
180
|
+
*/
|
|
181
|
+
export function npmCommand(npm, args) {
|
|
182
|
+
if (!npm.shell) return { file: npm.file, args: [...npm.args, ...args], shell: false };
|
|
183
|
+
return { file: quoteForCmd(npm.file), args: [...npm.args, ...args].map(quoteForCmd), shell: true };
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* npm install at the package root, its output on this process's terminal.
|
|
188
|
+
* Returns { ok, command, cwd, status, signal, error, timedOut, seconds, logFile }.
|
|
189
|
+
*/
|
|
190
|
+
export function installAtPackageRoot({
|
|
191
|
+
packageRoot, includeDev = false, logsDir = null, env = process.env, npm = npmInvocation({ env }),
|
|
192
|
+
spawn = spawnSync, timeoutMs = INSTALL_TIMEOUT_MS,
|
|
193
|
+
} = {}) {
|
|
194
|
+
if (logsDir) { try { mkdirSync(logsDir, { recursive: true }); } catch {} }
|
|
195
|
+
const args = fallbackInstallArgs({ includeDev, logsDir });
|
|
196
|
+
const startedAt = Date.now();
|
|
197
|
+
const command = npmCommand(npm, args);
|
|
198
|
+
const result = spawn(command.file, command.args, {
|
|
199
|
+
cwd: packageRoot, env: fallbackInstallEnv(env), stdio: 'inherit', shell: command.shell, windowsHide: true, timeout: timeoutMs,
|
|
200
|
+
});
|
|
201
|
+
return {
|
|
202
|
+
ok: !result.error && result.status === 0,
|
|
203
|
+
command: `npm ${args.join(' ')}`,
|
|
204
|
+
cwd: packageRoot,
|
|
205
|
+
status: result.status ?? null,
|
|
206
|
+
signal: result.signal || null,
|
|
207
|
+
error: result.error ? (result.error.code || result.error.message) : null,
|
|
208
|
+
timedOut: result.error?.code === 'ETIMEDOUT',
|
|
209
|
+
seconds: Math.round((Date.now() - startedAt) / 100) / 10,
|
|
210
|
+
logFile: newestDebugLog(logsDir, startedAt),
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* The TypeScript compiler that builds the MCP server, found the way Node finds
|
|
216
|
+
* a dependency of mcp-server (its own node_modules in a development checkout,
|
|
217
|
+
* the package root's devDependencies in a fresh one), or null.
|
|
218
|
+
*/
|
|
219
|
+
export function mcpCompiler(packageRoot) {
|
|
220
|
+
try {
|
|
221
|
+
return createRequire(join(packageRoot, 'mcp-server', 'package.json')).resolve('typescript/bin/tsc');
|
|
222
|
+
} catch {
|
|
223
|
+
return null;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
@@ -14,7 +14,9 @@
|
|
|
14
14
|
*
|
|
15
15
|
* Mount on any Express app or run standalone.
|
|
16
16
|
*/
|
|
17
|
-
import { type Router } from 'express';
|
|
17
|
+
import { type Request, type Router } from 'express';
|
|
18
|
+
/** The X-Synabun-Brain-Token of one request (whatsapp_send_file); none for a tunnel caller (a remote MCP-key holder). */
|
|
19
|
+
export declare function requestBrainCredential(req: Pick<Request, 'get'>): string | null;
|
|
18
20
|
/**
|
|
19
21
|
* Initialize DB, categories, and warm up the embedding model.
|
|
20
22
|
* Safe to call multiple times — only runs once.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG;AAGH,OAAgB,
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG;AAGH,OAAgB,EAAE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAuH7D,yHAAyH;AACzH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,CAE/E;AAcD;;;;GAIG;AACH,wBAAsB,UAAU,kBAU/B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,CA0GxC"}
|
package/mcp-server/dist/http.js
CHANGED
|
@@ -22,7 +22,7 @@ import { ensureDatabase } from './services/sqlite.js';
|
|
|
22
22
|
import { initCategoryCache } from './services/categories.js';
|
|
23
23
|
import { warmupEmbeddings } from './services/local-embeddings.js';
|
|
24
24
|
import { createMcpServer, refreshServerSchemas, onSchemaRefresh, setServerRole, setServerCapabilities } from './index.js';
|
|
25
|
-
import { markHttpMode, obtainIdentity, sanitizeDesktopGrant, sanitizePin, sanitizeRole, runWithIdentity, releaseIdentity, startIdentitySweeper, } from './services/identity.js';
|
|
25
|
+
import { markHttpMode, obtainIdentity, sanitizeBrainCredential, sanitizeDesktopGrant, sanitizePin, sanitizeRole, runWithBrainCredential, runWithIdentity, releaseIdentity, startIdentitySweeper, } from './services/identity.js';
|
|
26
26
|
let initialized = false;
|
|
27
27
|
let initPromise = null;
|
|
28
28
|
// Warm-server pool: registering 100+ tools (with Zod schema construction)
|
|
@@ -116,6 +116,17 @@ function deriveIdentity(req, sid) {
|
|
|
116
116
|
identity.memoryContext = { ...identity.memoryContext, ...Object.fromEntries(Object.entries(memoryContext).filter(([, v]) => v !== undefined)) };
|
|
117
117
|
return identity;
|
|
118
118
|
}
|
|
119
|
+
/** The X-Synabun-Brain-Token of one request (whatsapp_send_file); none for a tunnel caller (a remote MCP-key holder). */
|
|
120
|
+
export function requestBrainCredential(req) {
|
|
121
|
+
return req.get('cf-connecting-ip') ? null : sanitizeBrainCredential(req.get('x-synabun-brain-token'));
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Handle one request inside its caller identity and its own brain-credential context: the
|
|
125
|
+
* X-Synabun-Brain-Token of THIS request, never one another request left on a shared identity.
|
|
126
|
+
*/
|
|
127
|
+
function runRequest(req, sid, fn) {
|
|
128
|
+
return runWithBrainCredential(requestBrainCredential(req), () => runWithIdentity(deriveIdentity(req, sid), fn));
|
|
129
|
+
}
|
|
119
130
|
function jsonRpcError(res, status, code, message) {
|
|
120
131
|
res.status(status).json({ jsonrpc: '2.0', error: { code, message }, id: null });
|
|
121
132
|
}
|
|
@@ -165,7 +176,7 @@ export function createMcpRoutes() {
|
|
|
165
176
|
return jsonRpcError(res, 404, -32001, 'Session not found');
|
|
166
177
|
}
|
|
167
178
|
entry.lastSeen = Date.now();
|
|
168
|
-
await
|
|
179
|
+
await runRequest(req, sid, () => entry.transport.handleRequest(req, res, req.body));
|
|
169
180
|
return;
|
|
170
181
|
}
|
|
171
182
|
// New client — must be an initialize request.
|
|
@@ -216,7 +227,7 @@ export function createMcpRoutes() {
|
|
|
216
227
|
catch { /* already closed */ }
|
|
217
228
|
};
|
|
218
229
|
await server.connect(transport);
|
|
219
|
-
await
|
|
230
|
+
await runRequest(req, undefined, () => transport.handleRequest(req, res, req.body));
|
|
220
231
|
}
|
|
221
232
|
catch (error) {
|
|
222
233
|
console.error('MCP HTTP error:', error);
|
|
@@ -235,7 +246,7 @@ export function createMcpRoutes() {
|
|
|
235
246
|
}
|
|
236
247
|
entry.lastSeen = Date.now();
|
|
237
248
|
try {
|
|
238
|
-
await
|
|
249
|
+
await runRequest(req, sid, () => entry.transport.handleRequest(req, res));
|
|
239
250
|
}
|
|
240
251
|
catch (error) {
|
|
241
252
|
console.error('MCP HTTP error:', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkCpE,OAAO,EACL,eAAe,EAAE,YAAY,EAAE,cAAc,EAC7C,oBAAoB,EAAsB,cAAc,EAEzD,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAOzD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,CAAC;AAgC/F,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,GAAE,cAAyD;;;;;;EAmElH;AA+BD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,QAK9C;AAOD,wBAAgB,gBAAgB,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,CAE9E;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,uDAE/C;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,cAAmC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAkDrL;AAWD,wBAAgB,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;CAAO,aAUvI;AAOD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc,GAAG,IAAI,CAEhF;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,OAAO,CAQjF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAU9F;AAID,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAO5D;AA2BD,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAEpD;AAID,wBAAgB,sBAAsB,SASrC"}
|
package/mcp-server/dist/index.js
CHANGED
|
@@ -27,6 +27,7 @@ import { registerYoutubeTools } from './tools/youtube.js';
|
|
|
27
27
|
import { registerStyleGuideTools } from './tools/style-guide.js';
|
|
28
28
|
import { registerMoreLoginTools } from './tools/morelogin.js';
|
|
29
29
|
import { registerAgentTools } from './tools/agents.js';
|
|
30
|
+
import { registerWhatsAppSendFileTool } from './tools/whatsapp-send-file.js';
|
|
30
31
|
import { registerComputerTools } from './tools/computer.js';
|
|
31
32
|
import { profileSchema, profileDescription, handleProfile } from './tools/profile.js';
|
|
32
33
|
import { choiceSchema, choiceDescription, handleChoice } from './tools/choice.js';
|
|
@@ -34,6 +35,7 @@ import { PROFILE_PRESETS, VALID_GROUPS, ProfileRuntime, resolveProfileGroups, re
|
|
|
34
35
|
import { invalidateCategoryCache, setOnExternalChange, startWatchingCategories, stopWatchingCategories, initCategoryCache } from './services/categories.js';
|
|
35
36
|
import { healCodexConfig } from './services/codex-config-heal.js';
|
|
36
37
|
import { getEnvPath, config } from './config.js';
|
|
38
|
+
import { SERVER_VERSION } from './version.js';
|
|
37
39
|
import { readFileSync, writeFileSync, watch, existsSync, mkdirSync } from 'fs';
|
|
38
40
|
import { join } from 'path';
|
|
39
41
|
// Re-export profile API for external consumers (http.ts, etc.)
|
|
@@ -102,8 +104,9 @@ export function registerTools(server, runtime = new ProfileRuntime(readInitialPr
|
|
|
102
104
|
runtime.setToolGroup('styleguide', registerStyleGuideTools(server));
|
|
103
105
|
runtime.setToolGroup('morelogin', registerMoreLoginTools(server));
|
|
104
106
|
// Role-gated: advertised only while the runtime's role is 'assistant'
|
|
105
|
-
// (profiles.ts ROLE_GATED_GROUPS), never by profile selection.
|
|
106
|
-
|
|
107
|
+
// (profiles.ts ROLE_GATED_GROUPS), never by profile selection. whatsapp_send_file
|
|
108
|
+
// rides here: only an assistant brain sees it (and only a WhatsApp one may use it).
|
|
109
|
+
runtime.setToolGroup('agents', [...registerAgentTools(server), registerWhatsAppSendFileTool(server)]);
|
|
107
110
|
// Capability-gated: advertised only to callers holding a desktop grant
|
|
108
111
|
// (profiles.ts CAPABILITY_GATED_GROUPS), macOS only.
|
|
109
112
|
runtime.setToolGroup('computer', registerComputerTools(server));
|
|
@@ -201,7 +204,7 @@ export function getToolUsageSummary(runtime = mainProfileRuntime) {
|
|
|
201
204
|
image: ['image_staged'],
|
|
202
205
|
gsc: ['gsc_'],
|
|
203
206
|
styleguide: ['style_guide'],
|
|
204
|
-
agents: ['agent_'],
|
|
207
|
+
agents: ['agent_', 'whatsapp_send_file'],
|
|
205
208
|
computer: ['computer'],
|
|
206
209
|
};
|
|
207
210
|
const usedGroups = new Set();
|
|
@@ -237,7 +240,7 @@ loadUsageCounts();
|
|
|
237
240
|
export function createMcpServer(forceProfile, options = {}) {
|
|
238
241
|
const initialProfile = forceProfile ?? readInitialProfile();
|
|
239
242
|
const runtime = new ProfileRuntime(initialProfile, options);
|
|
240
|
-
const server = new McpServer({ name: 'claude-memory', version:
|
|
243
|
+
const server = new McpServer({ name: 'claude-memory', version: SERVER_VERSION }, { instructions: buildServerInstructions(runtime) });
|
|
241
244
|
const refs = registerTools(server, runtime);
|
|
242
245
|
serverToolRefs.set(server, refs);
|
|
243
246
|
return server;
|
|
@@ -299,7 +302,7 @@ export function refreshServerSchemas(target) {
|
|
|
299
302
|
// ── Main stdio server instance ──
|
|
300
303
|
const _initialProfile = readInitialProfile();
|
|
301
304
|
mainProfileRuntime = new ProfileRuntime(_initialProfile);
|
|
302
|
-
const server = new McpServer({ name: 'claude-memory', version:
|
|
305
|
+
const server = new McpServer({ name: 'claude-memory', version: SERVER_VERSION }, { instructions: buildServerInstructions(mainProfileRuntime) });
|
|
303
306
|
const { rememberTool, recallTool, reflectTool, memoriesTool } = registerTools(server, mainProfileRuntime);
|
|
304
307
|
// ── Wire tool usage tracking into low-level server ──
|
|
305
308
|
// Intercept tool call notifications to count usage per tool name.
|
|
@@ -338,7 +341,7 @@ async function main() {
|
|
|
338
341
|
// anything else. If the file doesn't exist or is already clean, this is a
|
|
339
342
|
// fast no-op. Atomic write — original is preserved on any failure.
|
|
340
343
|
if (!isClaudeCode()) {
|
|
341
|
-
const codexConfigPath = join(process.env.USERPROFILE || process.env.HOME || '', '.codex', 'config.toml');
|
|
344
|
+
const codexConfigPath = join(process.env.CODEX_HOME || join(process.env.USERPROFILE || process.env.HOME || '', '.codex'), 'config.toml');
|
|
342
345
|
try {
|
|
343
346
|
const result = healCodexConfig(codexConfigPath);
|
|
344
347
|
if (result.healed) {
|