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
|
@@ -10,11 +10,13 @@ export function injectStyles() {
|
|
|
10
10
|
tokens (docs/codex-sidepanel.md → Visual language). Add a value here
|
|
11
11
|
before using it anywhere else. The lightbox, the minimized pill and
|
|
12
12
|
the Context settings popover live outside the panel, so they carry the
|
|
13
|
-
tokens too.
|
|
13
|
+
tokens too, as does the header account menu (account-menu.js), whose
|
|
14
|
+
--acct-* values read them. */
|
|
14
15
|
.codex-panel,
|
|
15
16
|
.cxp-lightbox,
|
|
16
17
|
.cxp-session-pill,
|
|
17
|
-
.cxp-ctxpop
|
|
18
|
+
.cxp-ctxpop,
|
|
19
|
+
.acct-menu--codex {
|
|
18
20
|
/* Surfaces: one treatment per level */
|
|
19
21
|
--cxp-shell: rgba(16, 18, 22, 0.92);
|
|
20
22
|
--cxp-shell-border: rgba(255,255,255,0.08);
|
|
@@ -135,7 +137,7 @@ export function injectStyles() {
|
|
|
135
137
|
outline-offset: 2px;
|
|
136
138
|
}
|
|
137
139
|
/* Inside clipping containers the ring sits on the element instead of around it. */
|
|
138
|
-
.codex-panel :is(.cxp-fold-summary, .cxp-reasoning summary, .cxp-effort-menu-item, .cxp-
|
|
140
|
+
.codex-panel :is(.cxp-fold-summary, .cxp-reasoning summary, .cxp-effort-menu-item, .cxp-image-chip-remove, .cxp-sess-rename, .cxp-sess-archive-btn, .cxp-sess-unarchive-btn, .cxp-sess-search-input, .cxp-session-btn, .cxp-header-rename):focus-visible {
|
|
139
141
|
outline-offset: -2px;
|
|
140
142
|
}
|
|
141
143
|
.cxp-resize-handle {
|
|
@@ -166,7 +168,15 @@ export function injectStyles() {
|
|
|
166
168
|
align-items: center;
|
|
167
169
|
background: var(--cxp-surface-1);
|
|
168
170
|
z-index: 3;
|
|
169
|
-
|
|
171
|
+
/* A query container measured in controls: 1em is one header button (24px
|
|
172
|
+
docked, the window's control size when detached, which follows the font
|
|
173
|
+
scale), so the thresholds at the end of this section hold at any scale.
|
|
174
|
+
Nothing in the row inherits it; the session menu takes the panel's back. */
|
|
175
|
+
container: cxp-header / inline-size;
|
|
176
|
+
font-size: 24px;
|
|
177
|
+
}
|
|
178
|
+
.sp-sidepanel.sp-floating > .cxp-header { font-size: var(--fw-header-control-size); }
|
|
179
|
+
.cxp-header > .cxp-session-menu { font-size: 1rem; }
|
|
170
180
|
.cxp-session-btn {
|
|
171
181
|
background: var(--cxp-surface-1);
|
|
172
182
|
border: none;
|
|
@@ -180,10 +190,14 @@ export function injectStyles() {
|
|
|
180
190
|
padding: 5px 10px;
|
|
181
191
|
border-radius: var(--cxp-radius-md) 0 0 var(--cxp-radius-md);
|
|
182
192
|
transition: background var(--cxp-dur-fast), color var(--cxp-dur-fast);
|
|
183
|
-
|
|
193
|
+
/* The session name keeps a readable 88px (about 8 characters, or its own
|
|
194
|
+
width if shorter) and gives way first above that: it grows only into the
|
|
195
|
+
room the pencil and the actions leave, so a long name never pushes them.
|
|
196
|
+
Narrower, the container queries let it go down to 32px (the caret). */
|
|
197
|
+
flex: 1 0 88px;
|
|
198
|
+
min-width: 32px;
|
|
199
|
+
max-width: max-content;
|
|
184
200
|
overflow: hidden;
|
|
185
|
-
flex-shrink: 1;
|
|
186
|
-
min-width: 0;
|
|
187
201
|
}
|
|
188
202
|
.cxp-session-btn:hover {
|
|
189
203
|
background: var(--cxp-surface-2);
|
|
@@ -229,6 +243,8 @@ export function injectStyles() {
|
|
|
229
243
|
cursor: pointer;
|
|
230
244
|
transition: background var(--cxp-dur-fast), color var(--cxp-dur-fast);
|
|
231
245
|
flex-shrink: 0;
|
|
246
|
+
/* The actions' own gap, kept when the name fills the row. */
|
|
247
|
+
margin-right: 3px;
|
|
232
248
|
}
|
|
233
249
|
.cxp-header-rename:hover:not(:disabled) {
|
|
234
250
|
color: var(--cxp-text);
|
|
@@ -254,6 +270,34 @@ export function injectStyles() {
|
|
|
254
270
|
margin-left: auto;
|
|
255
271
|
flex-shrink: 0;
|
|
256
272
|
}
|
|
273
|
+
/* The header buttons never shrink. The account menu's trigger (account-menu.js)
|
|
274
|
+
is the one piece of the actions that gives way, once the session name is at
|
|
275
|
+
its readable 88px, down to its compact 64px, and truncates. */
|
|
276
|
+
.cxp-actions > * { flex-shrink: 0; }
|
|
277
|
+
.cxp-actions:has(> .acct-menu-trigger) { flex-shrink: 1; min-width: 0; }
|
|
278
|
+
.cxp-actions > .acct-menu-trigger { flex-shrink: 1; }
|
|
279
|
+
/* Narrow headers, in order: the trigger stays at its compact 64px and the name
|
|
280
|
+
goes from 88px down to its caret; then the trigger is hidden (the cog's
|
|
281
|
+
Account row still opens its menu). Room counted in controls (em) plus px:
|
|
282
|
+
docked, the pencil and six buttons are 7em with 21px of gaps; detached, the
|
|
283
|
+
move handle makes 8em, the window's 6px gaps 39px, the name's floor is 1em.
|
|
284
|
+
Thresholds: name + 64px trigger + that row. */
|
|
285
|
+
@container cxp-header (width < calc(7em + 173px)) {
|
|
286
|
+
.codex-panel:not(.sp-floating) > .cxp-header .cxp-session-btn { flex: 1 1 0; }
|
|
287
|
+
.codex-panel:not(.sp-floating) > .cxp-header > .cxp-actions { flex-shrink: 0; }
|
|
288
|
+
.codex-panel:not(.sp-floating) > .cxp-header .acct-menu-trigger { flex: 0 0 64px; width: 64px; }
|
|
289
|
+
}
|
|
290
|
+
@container cxp-header (width < calc(7em + 117px)) {
|
|
291
|
+
.codex-panel:not(.sp-floating) > .cxp-header .acct-menu-trigger { display: none; }
|
|
292
|
+
}
|
|
293
|
+
@container cxp-header (width < calc(8em + 191px)) {
|
|
294
|
+
.codex-panel.sp-floating > .cxp-header .cxp-session-btn { flex: 1 1 0; }
|
|
295
|
+
.codex-panel.sp-floating > .cxp-header > .cxp-actions { flex-shrink: 0; }
|
|
296
|
+
.codex-panel.sp-floating > .cxp-header .acct-menu-trigger { flex: 0 0 64px; width: 64px; }
|
|
297
|
+
}
|
|
298
|
+
@container cxp-header (width < calc(9em + 103px)) {
|
|
299
|
+
.codex-panel.sp-floating > .cxp-header .acct-menu-trigger { display: none; }
|
|
300
|
+
}
|
|
257
301
|
.cxp-btn {
|
|
258
302
|
width: 24px;
|
|
259
303
|
height: 24px;
|
|
@@ -840,97 +884,6 @@ export function injectStyles() {
|
|
|
840
884
|
color: var(--cxp-text-3);
|
|
841
885
|
}
|
|
842
886
|
|
|
843
|
-
/* ── Account menu (under the header; opened from the Context settings popover) ── */
|
|
844
|
-
.cxp-account-menu {
|
|
845
|
-
position: absolute;
|
|
846
|
-
top: calc(100% + 6px);
|
|
847
|
-
right: 8px;
|
|
848
|
-
min-width: 230px;
|
|
849
|
-
max-width: 300px;
|
|
850
|
-
background: var(--cxp-pop);
|
|
851
|
-
border: 1px solid var(--cxp-border);
|
|
852
|
-
border-radius: var(--cxp-radius-md);
|
|
853
|
-
box-shadow: var(--cxp-shadow-pop);
|
|
854
|
-
padding: 6px;
|
|
855
|
-
z-index: 50;
|
|
856
|
-
display: none;
|
|
857
|
-
flex-direction: column;
|
|
858
|
-
gap: 2px;
|
|
859
|
-
}
|
|
860
|
-
.cxp-account-menu.open { display: flex; }
|
|
861
|
-
.cxp-account-empty {
|
|
862
|
-
padding: 8px 10px;
|
|
863
|
-
font-size: var(--cxp-fs-sm);
|
|
864
|
-
color: var(--cxp-text-3);
|
|
865
|
-
}
|
|
866
|
-
.cxp-account-row {
|
|
867
|
-
display: flex;
|
|
868
|
-
align-items: stretch;
|
|
869
|
-
gap: 2px;
|
|
870
|
-
border-radius: var(--cxp-radius-sm);
|
|
871
|
-
overflow: hidden;
|
|
872
|
-
}
|
|
873
|
-
.cxp-account-row.active { background: var(--cxp-surface-2); }
|
|
874
|
-
.cxp-account-row-main {
|
|
875
|
-
display: flex;
|
|
876
|
-
align-items: center;
|
|
877
|
-
gap: 8px;
|
|
878
|
-
flex: 1;
|
|
879
|
-
min-width: 0;
|
|
880
|
-
padding: 7px 9px;
|
|
881
|
-
background: transparent;
|
|
882
|
-
border: none;
|
|
883
|
-
cursor: pointer;
|
|
884
|
-
text-align: left;
|
|
885
|
-
font-family: var(--cxp-font);
|
|
886
|
-
color: var(--cxp-text);
|
|
887
|
-
}
|
|
888
|
-
.cxp-account-row-main:hover { background: var(--cxp-surface-1); }
|
|
889
|
-
.cxp-account-check {
|
|
890
|
-
width: 12px;
|
|
891
|
-
flex-shrink: 0;
|
|
892
|
-
color: var(--cxp-text);
|
|
893
|
-
font-size: var(--cxp-fs-sm);
|
|
894
|
-
}
|
|
895
|
-
.cxp-account-row-text { display: flex; flex-direction: column; min-width: 0; }
|
|
896
|
-
.cxp-account-row-label {
|
|
897
|
-
font-size: var(--cxp-fs-md);
|
|
898
|
-
overflow: hidden;
|
|
899
|
-
text-overflow: ellipsis;
|
|
900
|
-
white-space: nowrap;
|
|
901
|
-
}
|
|
902
|
-
.cxp-account-row-sub {
|
|
903
|
-
font-size: var(--cxp-fs-xs);
|
|
904
|
-
color: var(--cxp-text-3);
|
|
905
|
-
overflow: hidden;
|
|
906
|
-
text-overflow: ellipsis;
|
|
907
|
-
white-space: nowrap;
|
|
908
|
-
}
|
|
909
|
-
.cxp-account-row-remove {
|
|
910
|
-
flex-shrink: 0;
|
|
911
|
-
width: 26px;
|
|
912
|
-
background: transparent;
|
|
913
|
-
border: none;
|
|
914
|
-
color: var(--cxp-text-3);
|
|
915
|
-
cursor: pointer;
|
|
916
|
-
font-size: var(--cxp-fs-sm);
|
|
917
|
-
transition: color var(--cxp-dur-fast), background var(--cxp-dur-fast);
|
|
918
|
-
}
|
|
919
|
-
.cxp-account-row-remove:hover { color: var(--cxp-danger); background: var(--cxp-surface-1); }
|
|
920
|
-
.cxp-account-add {
|
|
921
|
-
margin-top: 4px;
|
|
922
|
-
padding: 8px 10px;
|
|
923
|
-
background: transparent;
|
|
924
|
-
border: 1px dashed var(--cxp-border-strong);
|
|
925
|
-
border-radius: var(--cxp-radius-sm);
|
|
926
|
-
color: var(--cxp-text-2);
|
|
927
|
-
font-size: var(--cxp-fs-sm);
|
|
928
|
-
font-family: var(--cxp-font);
|
|
929
|
-
cursor: pointer;
|
|
930
|
-
text-align: center;
|
|
931
|
-
transition: color var(--cxp-dur-fast), background var(--cxp-dur-fast);
|
|
932
|
-
}
|
|
933
|
-
.cxp-account-add:hover { background: var(--cxp-surface-1); color: var(--cxp-text); }
|
|
934
887
|
|
|
935
888
|
/* ── Context settings: the header cog and its popover (cdx-context-menu.js) ──
|
|
936
889
|
One grammar: a 28px head (title, at most one action) and 28px rows (label
|
|
@@ -1133,12 +1086,16 @@ export function injectStyles() {
|
|
|
1133
1086
|
.cxp-empty-logo svg { width: 32px; height: 32px; }
|
|
1134
1087
|
.cxp-empty-name { font-size: var(--cxp-fs-lg); font-weight: 500; color: var(--cxp-text-3); }
|
|
1135
1088
|
.cxp-empty-status { font-size: var(--cxp-fs-sm); color: var(--cxp-text-3); line-height: 1.5; min-height: 1em; }
|
|
1089
|
+
/* The CLI banner (ui-cli-banner.js): Codex not installed (with Install),
|
|
1090
|
+
being installed, failed to install, or found but failed to start. A
|
|
1091
|
+
left edge in the colour of what it says; the Install button is the
|
|
1092
|
+
panel's solid action. */
|
|
1136
1093
|
.cxp-cli-banner {
|
|
1137
1094
|
flex-shrink: 0;
|
|
1138
1095
|
display: grid;
|
|
1139
|
-
grid-template-columns: auto 1fr
|
|
1096
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
1140
1097
|
gap: 10px;
|
|
1141
|
-
align-items:
|
|
1098
|
+
align-items: start;
|
|
1142
1099
|
margin: 6px 8px 0;
|
|
1143
1100
|
padding: 10px 12px;
|
|
1144
1101
|
border: 1px solid var(--cxp-border);
|
|
@@ -1150,6 +1107,11 @@ export function injectStyles() {
|
|
|
1150
1107
|
position: relative;
|
|
1151
1108
|
z-index: 5;
|
|
1152
1109
|
}
|
|
1110
|
+
.cxp-cli-banner [hidden] { display: none !important; }
|
|
1111
|
+
.cxp-cli-banner--broken,
|
|
1112
|
+
.cxp-cli-banner--failed { box-shadow: inset 2px 0 0 var(--cxp-danger); }
|
|
1113
|
+
.cxp-cli-banner--installing { box-shadow: inset 2px 0 0 var(--cxp-running); }
|
|
1114
|
+
.cxp-cli-banner--done { box-shadow: inset 2px 0 0 var(--cxp-success); }
|
|
1153
1115
|
.cxp-cli-banner-icon {
|
|
1154
1116
|
width: 22px; height: 22px;
|
|
1155
1117
|
display: flex; align-items: center; justify-content: center;
|
|
@@ -1158,30 +1120,81 @@ export function injectStyles() {
|
|
|
1158
1120
|
color: var(--cxp-warning);
|
|
1159
1121
|
font-weight: 700;
|
|
1160
1122
|
}
|
|
1161
|
-
.cxp-cli-banner
|
|
1123
|
+
.cxp-cli-banner--broken .cxp-cli-banner-icon,
|
|
1124
|
+
.cxp-cli-banner--failed .cxp-cli-banner-icon { border-color: var(--cxp-danger); color: var(--cxp-danger); }
|
|
1125
|
+
.cxp-cli-banner--installing .cxp-cli-banner-icon { border-color: var(--cxp-running); color: var(--cxp-running); animation: cxp-working 1.2s ease-in-out infinite; }
|
|
1126
|
+
.cxp-cli-banner--done .cxp-cli-banner-icon { border-color: var(--cxp-success); color: var(--cxp-success); }
|
|
1127
|
+
.cxp-cli-banner--nudge { animation: cxp-cli-nudge 0.5s var(--cxp-ease); }
|
|
1128
|
+
@keyframes cxp-cli-nudge { 0%, 100% { transform: none; } 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } }
|
|
1129
|
+
.cxp-cli-banner-text { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
|
|
1162
1130
|
.cxp-cli-banner-title {
|
|
1163
1131
|
font-size: var(--cxp-fs-md); font-weight: 600;
|
|
1164
1132
|
color: var(--cxp-text);
|
|
1165
1133
|
}
|
|
1166
|
-
.cxp-cli-banner-body
|
|
1134
|
+
.cxp-cli-banner-body,
|
|
1135
|
+
.cxp-cli-banner-note,
|
|
1136
|
+
.cxp-cli-banner-step {
|
|
1167
1137
|
font-size: var(--cxp-fs-sm);
|
|
1168
1138
|
color: var(--cxp-text-2);
|
|
1169
|
-
|
|
1139
|
+
overflow-wrap: anywhere;
|
|
1170
1140
|
}
|
|
1171
|
-
.cxp-cli-banner-
|
|
1172
|
-
|
|
1141
|
+
.cxp-cli-banner-command { display: flex; align-items: flex-start; gap: 6px; }
|
|
1142
|
+
.cxp-cli-banner-command code,
|
|
1143
|
+
.cxp-cli-banner-error code {
|
|
1144
|
+
flex: 1;
|
|
1145
|
+
min-width: 0;
|
|
1146
|
+
padding: 3px 6px;
|
|
1173
1147
|
background: var(--cxp-surface-2);
|
|
1174
1148
|
border-radius: var(--cxp-radius-sm);
|
|
1175
1149
|
font-family: var(--cxp-mono);
|
|
1176
1150
|
font-size: var(--cxp-fs-sm);
|
|
1177
1151
|
color: var(--cxp-text);
|
|
1152
|
+
white-space: pre-wrap;
|
|
1153
|
+
word-break: break-all;
|
|
1154
|
+
user-select: text;
|
|
1178
1155
|
}
|
|
1179
|
-
.cxp-cli-banner-
|
|
1180
|
-
.cxp-cli-banner-
|
|
1181
|
-
|
|
1182
|
-
|
|
1156
|
+
.cxp-cli-banner-error code { display: block; max-height: 96px; overflow: auto; }
|
|
1157
|
+
.cxp-cli-banner-copy {
|
|
1158
|
+
flex-shrink: 0;
|
|
1159
|
+
height: 22px;
|
|
1160
|
+
padding: 0 8px;
|
|
1161
|
+
border: 1px solid var(--cxp-border-strong);
|
|
1162
|
+
border-radius: var(--cxp-radius-sm);
|
|
1163
|
+
background: transparent;
|
|
1164
|
+
color: var(--cxp-text-2);
|
|
1165
|
+
font-family: inherit;
|
|
1183
1166
|
font-size: var(--cxp-fs-sm);
|
|
1167
|
+
cursor: pointer;
|
|
1168
|
+
}
|
|
1169
|
+
.cxp-cli-banner-copy:hover { color: var(--cxp-text); background: var(--cxp-surface-2); }
|
|
1170
|
+
.cxp-cli-banner-progress { display: flex; flex-direction: column; gap: 4px; }
|
|
1171
|
+
.cxp-cli-banner-bar { height: 3px; border-radius: 2px; background: var(--cxp-surface-2); overflow: hidden; }
|
|
1172
|
+
.cxp-cli-banner-bar > span { display: block; height: 100%; width: 0; background: var(--cxp-running); transition: width var(--cxp-dur-fast) var(--cxp-ease); }
|
|
1173
|
+
.cxp-cli-banner-log {
|
|
1174
|
+
margin: 0;
|
|
1175
|
+
max-height: 84px;
|
|
1176
|
+
overflow: auto;
|
|
1177
|
+
padding: 4px 6px;
|
|
1178
|
+
background: var(--cxp-surface-1);
|
|
1179
|
+
border-radius: var(--cxp-radius-sm);
|
|
1180
|
+
font-family: var(--cxp-mono);
|
|
1181
|
+
font-size: var(--cxp-fs-xs);
|
|
1182
|
+
line-height: 1.45;
|
|
1183
|
+
color: var(--cxp-text-3);
|
|
1184
|
+
white-space: pre-wrap;
|
|
1185
|
+
word-break: break-all;
|
|
1186
|
+
}
|
|
1187
|
+
.cxp-cli-banner-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
|
|
1188
|
+
.cxp-cli-banner-install,
|
|
1189
|
+
.cxp-cli-banner-link,
|
|
1190
|
+
.cxp-cli-banner-path, .cxp-cli-banner-recheck,
|
|
1191
|
+
.cxp-cli-banner-dismiss {
|
|
1192
|
+
display: inline-flex; align-items: center; gap: 4px;
|
|
1193
|
+
height: 24px;
|
|
1194
|
+
padding: 0 10px;
|
|
1195
|
+
font-size: var(--cxp-fs-md);
|
|
1184
1196
|
font-weight: 500;
|
|
1197
|
+
line-height: 1;
|
|
1185
1198
|
border-radius: var(--cxp-radius-md);
|
|
1186
1199
|
border: 1px solid var(--cxp-border-strong);
|
|
1187
1200
|
background: transparent;
|
|
@@ -1192,10 +1205,27 @@ export function injectStyles() {
|
|
|
1192
1205
|
font-family: inherit;
|
|
1193
1206
|
transition: background var(--cxp-dur-fast);
|
|
1194
1207
|
}
|
|
1195
|
-
.cxp-cli-banner-
|
|
1208
|
+
.cxp-cli-banner-install {
|
|
1209
|
+
background: var(--cxp-solid);
|
|
1210
|
+
border-color: var(--cxp-solid);
|
|
1211
|
+
color: var(--cxp-on-solid);
|
|
1212
|
+
}
|
|
1213
|
+
.cxp-cli-banner-install:hover:not(:disabled) { background: var(--cxp-solid-hover); border-color: var(--cxp-solid-hover); }
|
|
1214
|
+
.cxp-cli-banner-link:hover,
|
|
1215
|
+
.cxp-cli-banner-path:hover:not(:disabled), .cxp-cli-banner-recheck:hover:not(:disabled),
|
|
1216
|
+
.cxp-cli-banner-dismiss:hover {
|
|
1196
1217
|
background: var(--cxp-surface-2);
|
|
1197
1218
|
}
|
|
1198
|
-
.cxp-cli-banner-
|
|
1219
|
+
.cxp-cli-banner-install:disabled,
|
|
1220
|
+
.cxp-cli-banner-path:disabled, .cxp-cli-banner-recheck:disabled { opacity: 0.5; cursor: default; }
|
|
1221
|
+
.cxp-cli-banner button:focus-visible,
|
|
1222
|
+
.cxp-cli-banner a:focus-visible { outline: 2px solid var(--cxp-focus); outline-offset: 2px; }
|
|
1223
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1224
|
+
.cxp-cli-banner--installing .cxp-cli-banner-icon,
|
|
1225
|
+
.cxp-cli-banner--nudge { animation: none; }
|
|
1226
|
+
.cxp-cli-banner--nudge { box-shadow: inset 2px 0 0 var(--cxp-warning), 0 0 0 1px var(--cxp-warning); }
|
|
1227
|
+
.cxp-cli-banner-bar > span { transition: none; }
|
|
1228
|
+
}
|
|
1199
1229
|
.codex-panel.cxp-cli-blocked .cxp-send { opacity: 0.4 !important; cursor: not-allowed !important; }
|
|
1200
1230
|
.codex-panel.cxp-cli-blocked .cxp-input { opacity: 0.7; }
|
|
1201
1231
|
|
|
@@ -2947,6 +2977,37 @@ export function injectStyles() {
|
|
|
2947
2977
|
opacity: 0.4;
|
|
2948
2978
|
cursor: default;
|
|
2949
2979
|
}
|
|
2980
|
+
/* Codex Settings: scoped compact groups and consistent native controls. */
|
|
2981
|
+
.cxp-settings-panel { display: flex; flex-direction: column; overflow: hidden; }
|
|
2982
|
+
.cxp-settings-body { overflow-y: auto; min-height: 0; }
|
|
2983
|
+
.cxp-settings-header { flex: none; font-size: var(--cxp-fs-md); padding: 12px 14px; }
|
|
2984
|
+
.cxp-settings-section { padding: 12px 0; margin: 0; }
|
|
2985
|
+
.cxp-settings-section .cxp-settings-section { border: 0; }
|
|
2986
|
+
.cxp-settings-section[hidden], .cxp-settings-features[hidden] { display: none; }
|
|
2987
|
+
.cxp-settings-section-title { font-size: var(--cxp-fs-sm); text-transform: none; letter-spacing: 0; color: var(--cxp-text-2); margin: 0 0 8px; }
|
|
2988
|
+
details.cxp-settings-section > summary, .cxp-settings-features > summary { cursor: pointer; }
|
|
2989
|
+
.cxp-settings-section:not([open]) > summary { margin-bottom: 0; }
|
|
2990
|
+
.cxp-settings-subtitle { font-size: var(--cxp-fs-xs); font-weight: 500; color: var(--cxp-text-3); margin: 10px 0 6px; }
|
|
2991
|
+
.cxp-config-row { border: 0; padding: 4px 0; min-width: 0; }
|
|
2992
|
+
.cxp-config-label { text-align: left; flex-basis: 42%; font-size: var(--cxp-fs-sm); color: var(--cxp-text-2); overflow-wrap: anywhere; }
|
|
2993
|
+
.cxp-settings-panel .cxp-config-input { min-height: 26px; padding: 3px 6px; border-radius: var(--cxp-radius-sm); background: var(--cxp-surface-1); }
|
|
2994
|
+
.cxp-settings-panel .cxp-config-input option { background: var(--cxp-pop); color: var(--cxp-text); }
|
|
2995
|
+
.cxp-settings-scope { gap: 12px; }
|
|
2996
|
+
.cxp-settings-scope-hint { margin-bottom: 8px; }
|
|
2997
|
+
.cxp-settings-footer { flex: none; border-top: 1px solid var(--cxp-border); padding: 10px 14px; background: var(--cxp-pop); }
|
|
2998
|
+
.cxp-settings-footer .cxp-config-save { margin: 0; width: 100%; text-transform: none; letter-spacing: 0; padding: 6px 10px; }
|
|
2999
|
+
.cxp-settings-result { font-size: var(--cxp-fs-xs); color: var(--cxp-text-3); overflow-wrap: anywhere; }
|
|
3000
|
+
.cxp-settings-result:not(:empty) { padding-top: 6px; }
|
|
3001
|
+
.cxp-settings-result[data-error=true] { color: var(--cxp-danger); }
|
|
3002
|
+
.cxp-settings-unit { font-size: var(--cxp-fs-xs); color: var(--cxp-text-3); }
|
|
3003
|
+
.cxp-settings-toggle { margin-left: auto; min-width: 70px; padding: 3px 8px; border: 1px solid var(--cxp-border-input); border-radius: var(--cxp-radius-sm); color: var(--cxp-text-3); background: var(--cxp-surface-1); font: inherit; cursor: pointer; }
|
|
3004
|
+
.cxp-settings-toggle[data-enabled=true] { color: var(--cxp-text); background: var(--cxp-surface-3); border-color: var(--cxp-text-3); }
|
|
3005
|
+
.cxp-settings-toggle:disabled { opacity: .45; cursor: default; }
|
|
3006
|
+
.cxp-settings-features { margin-top: 10px; }
|
|
3007
|
+
.cxp-settings-features .cxp-config-label { flex-basis: auto; }
|
|
3008
|
+
.cxp-settings-runtime { margin-top: 12px; }
|
|
3009
|
+
.cxp-settings-panel .cxp-mcp-row { flex-wrap: wrap; border: 0; padding: 4px 0; }
|
|
3010
|
+
.cxp-config-warning { padding: 8px 12px; color: var(--cxp-warning); font-size: var(--cxp-fs-xs); white-space: pre-wrap; }
|
|
2950
3011
|
.cxp-config-layer {
|
|
2951
3012
|
font-size: var(--cxp-fs-xs);
|
|
2952
3013
|
color: var(--cxp-text-3);
|