cli-jaw 2.17.62 → 2.17.63
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/README.ja.md +17 -17
- package/README.ko.md +17 -17
- package/README.md +17 -17
- package/README.zh-CN.md +17 -17
- package/dist/bin/commands/tui/input-handler.js +19 -0
- package/dist/bin/commands/tui/input-handler.js.map +1 -1
- package/dist/bin/commands/tui/overlays.js +8 -4
- package/dist/bin/commands/tui/overlays.js.map +1 -1
- package/dist/bin/star-prompt.js +1 -1
- package/dist/bin/star-prompt.js.map +1 -1
- package/dist/server.js +14 -1
- package/dist/server.js.map +1 -1
- package/dist/src/agent/claude-runtime-pool.js +2 -1
- package/dist/src/agent/claude-runtime-pool.js.map +1 -1
- package/dist/src/agent/claude-runtime-run.js +28 -7
- package/dist/src/agent/claude-runtime-run.js.map +1 -1
- package/dist/src/agent/lifecycle-handler.js +34 -6
- package/dist/src/agent/lifecycle-handler.js.map +1 -1
- package/dist/src/agent/runtime/claude-sdk-events.js +136 -9
- package/dist/src/agent/runtime/claude-sdk-events.js.map +1 -1
- package/dist/src/agent/runtime/claude-sdk-history-loader.js +24 -0
- package/dist/src/agent/runtime/claude-sdk-history-loader.js.map +1 -0
- package/dist/src/agent/runtime/claude-sdk-hooks.js +10 -4
- package/dist/src/agent/runtime/claude-sdk-hooks.js.map +1 -1
- package/dist/src/agent/runtime/claude-sdk-messages.js +25 -2
- package/dist/src/agent/runtime/claude-sdk-messages.js.map +1 -1
- package/dist/src/agent/runtime/claude-sdk-options.js +36 -3
- package/dist/src/agent/runtime/claude-sdk-options.js.map +1 -1
- package/dist/src/agent/runtime/claude-sdk-permissions.js +32 -9
- package/dist/src/agent/runtime/claude-sdk-permissions.js.map +1 -1
- package/dist/src/agent/runtime/claude-sdk-session.js +165 -17
- package/dist/src/agent/runtime/claude-sdk-session.js.map +1 -1
- package/dist/src/agent/runtime/claude-sdk-version.js +8 -0
- package/dist/src/agent/runtime/claude-sdk-version.js.map +1 -0
- package/dist/src/agent/spawn/backend-codex-app.js +619 -0
- package/dist/src/agent/spawn/backend-codex-app.js.map +1 -0
- package/dist/src/agent/spawn/backend-context.js +2 -0
- package/dist/src/agent/spawn/backend-context.js.map +1 -0
- package/dist/src/agent/spawn/backend-copilot.js +385 -0
- package/dist/src/agent/spawn/backend-copilot.js.map +1 -0
- package/dist/src/agent/spawn/backend-native-acp.js +379 -0
- package/dist/src/agent/spawn/backend-native-acp.js.map +1 -0
- package/dist/src/agent/spawn/backend-pi.js +565 -0
- package/dist/src/agent/spawn/backend-pi.js.map +1 -0
- package/dist/src/agent/spawn/types.js +2 -0
- package/dist/src/agent/spawn/types.js.map +1 -0
- package/dist/src/agent/spawn.js +44 -1858
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/cli/claude-default-model-boot.js +36 -0
- package/dist/src/cli/claude-default-model-boot.js.map +1 -0
- package/dist/src/cli/claude-model-discovery.js +13 -1
- package/dist/src/cli/claude-model-discovery.js.map +1 -1
- package/dist/src/cli/claude-models.js +7 -1
- package/dist/src/cli/claude-models.js.map +1 -1
- package/dist/src/cli/commands.js +5 -15
- package/dist/src/cli/commands.js.map +1 -1
- package/dist/src/cli/tui/composer.js +3 -3
- package/dist/src/cli/tui/composer.js.map +1 -1
- package/dist/src/cli/tui/skill-mention.js +15 -0
- package/dist/src/cli/tui/skill-mention.js.map +1 -0
- package/dist/src/code-mode/manager.js +174 -9
- package/dist/src/code-mode/manager.js.map +1 -1
- package/dist/src/code-mode/providers/catalog.js +5 -3
- package/dist/src/code-mode/providers/catalog.js.map +1 -1
- package/dist/src/code-mode/providers/claude-history.js +132 -0
- package/dist/src/code-mode/providers/claude-history.js.map +1 -0
- package/dist/src/code-mode/providers/claude.js +74 -7
- package/dist/src/code-mode/providers/claude.js.map +1 -1
- package/dist/src/code-mode/providers/codex-app.js +7 -1
- package/dist/src/code-mode/providers/codex-app.js.map +1 -1
- package/dist/src/code-mode/session.js +158 -11
- package/dist/src/code-mode/session.js.map +1 -1
- package/dist/src/code-mode/store.js +416 -28
- package/dist/src/code-mode/store.js.map +1 -1
- package/dist/src/command-contract/catalog.js +3 -22
- package/dist/src/command-contract/catalog.js.map +1 -1
- package/dist/src/core/codex-config.js +3 -62
- package/dist/src/core/codex-config.js.map +1 -1
- package/dist/src/core/config.js +116 -14
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/runtime-settings.js +20 -10
- package/dist/src/core/runtime-settings.js.map +1 -1
- package/dist/src/core/settings-watch.js +1 -0
- package/dist/src/core/settings-watch.js.map +1 -1
- package/dist/src/core/skill-mentions.js +83 -0
- package/dist/src/core/skill-mentions.js.map +1 -0
- package/dist/src/manager/registry.js +5 -1
- package/dist/src/manager/registry.js.map +1 -1
- package/dist/src/manager/routes/desktop-status.js +1 -1
- package/dist/src/manager/routes/desktop-status.js.map +1 -1
- package/dist/src/orchestrator/pipeline.js +11 -1
- package/dist/src/orchestrator/pipeline.js.map +1 -1
- package/dist/src/prompt/builder.js +10 -4
- package/dist/src/prompt/builder.js.map +1 -1
- package/dist/src/prompt/templates/a1-system.md +1 -1
- package/dist/src/routes/code-native.js +51 -3
- package/dist/src/routes/code-native.js.map +1 -1
- package/dist/src/routes/settings.js +1 -4
- package/dist/src/routes/settings.js.map +1 -1
- package/dist/src/routes/skills.js +7 -0
- package/dist/src/routes/skills.js.map +1 -1
- package/dist/src/shared/skill-mention.js +61 -0
- package/dist/src/shared/skill-mention.js.map +1 -0
- package/dist/src/shared/tool-input.js +137 -0
- package/dist/src/shared/tool-input.js.map +1 -0
- package/package.json +7 -5
- package/public/css/activity.css +83 -20
- package/public/css/layout.css +2 -2
- package/public/css/sidebar.css +18 -0
- package/public/css/variables.css +23 -2
- package/public/dist/.vite/manifest.json +302 -334
- package/public/dist/assets/Activity-DPLlOJ46.js +1 -0
- package/public/dist/assets/AdvancedExport-BgOgGvc5.js +1 -0
- package/public/dist/assets/Agent-O_U8ny90.js +1 -0
- package/public/dist/assets/Browser-m6VynQXV.js +1 -0
- package/public/dist/assets/BrowserPanel-Bb-Bge6B.js +3 -0
- package/public/dist/assets/ChannelEnablementControl-BSuKQhTW.js +85 -0
- package/public/dist/assets/ChannelSetupEntry-DHLoZEzJ.js +1 -0
- package/public/dist/assets/ChannelsDiscord-B-G8vsYy.js +1 -0
- package/public/dist/assets/ChannelsSlack-oPuh922z.js +1 -0
- package/public/dist/assets/ChannelsTelegram-PmTv43KQ.js +1 -0
- package/public/dist/assets/CodeCanvas-CVbdp0S-.js +3 -0
- package/public/dist/assets/DashboardMeta-BqEiJrvr.js +1 -0
- package/public/dist/assets/DesignPanel-BOb-HMbl.js +2 -0
- package/public/dist/assets/{Developer-BdKPcw8Z.js → Developer-CbySB7_Z.js} +1 -1
- package/public/dist/assets/{DiffPanel-DtJuvU5y.js → DiffPanel-D9Cch5FG.js} +1 -1
- package/public/dist/assets/Display-C0Zdamcb.js +1 -0
- package/public/dist/assets/Display-DU4_76cS.js +1 -0
- package/public/dist/assets/DocPanel-DvtFw8AP.js +1 -0
- package/public/dist/assets/{Embedding-DvdTj1BF.js → Embedding-CCFMOB_2.js} +1 -1
- package/public/dist/assets/Employees-BanvF58d.js +1 -0
- package/public/dist/assets/FolderPanel-CJvwRwIV.js +3 -0
- package/public/dist/assets/Heartbeat-uyi_MpUd.js +1 -0
- package/public/dist/assets/InlineWarn-Cq4z28F3.js +1 -0
- package/public/dist/assets/MarkdownRenderer-Cc3DeHvm.js +1 -0
- package/public/dist/assets/{MarkdownRenderer-DhonsAPC.js → MarkdownRenderer-DzN66XVb.js} +1 -1
- package/public/dist/assets/Mcp-rjPoL_Zo.js +4 -0
- package/public/dist/assets/Memory-C9I33pIi.js +1 -0
- package/public/dist/assets/{MilkdownWysiwygEditor-D6JaLDE4.js → MilkdownWysiwygEditor-xObhviw7.js} +1 -1
- package/public/dist/assets/ModelProvider-fiUktMaO.js +1 -0
- package/public/dist/assets/Network-CuqFrOvR.js +1 -0
- package/public/dist/assets/NotesGraphWorkspace-DO9LtVGF.js +1 -0
- package/public/dist/assets/PanelLayoutProvider-DRZ4QkBC.js +1 -0
- package/public/dist/assets/Permissions-BltXiZnz.js +1 -0
- package/public/dist/assets/{Permissions-BwiMEoTV.js → Permissions-DcCbFMIq.js} +1 -1
- package/public/dist/assets/Profile-DUL7-RE_.js +1 -0
- package/public/dist/assets/Prompts-C9vY8ivQ.js +1 -0
- package/public/dist/assets/SpeechKeys-BJ8V7U5E.js +1 -0
- package/public/dist/assets/TelegramHub-DtyjLGFR.js +1 -0
- package/public/dist/assets/{TerminalPanel-Bu9i-P2f.js → TerminalPanel-c1xhiy53.js} +1 -1
- package/public/dist/assets/app-BjKzqXCv.css +1 -0
- package/public/dist/assets/app-CZwx0V6K.js +59 -0
- package/public/dist/assets/bgtask-badge-CnVkcp3c.js +1 -0
- package/public/dist/assets/{bgtask-badge-DfiHuzxT.js → bgtask-badge-Cp26S8Uq.js} +1 -1
- package/public/dist/assets/client-platform-WO8m6kPQ.js +1 -0
- package/public/dist/assets/{employees-BQaJNp-u.js → employees-CsvI0_5V.js} +1 -1
- package/public/dist/assets/error-normalize-clOi-AAA.js +1 -0
- package/public/dist/assets/fields-CicOWY-X.js +1 -0
- package/public/dist/assets/iframe-renderer-DWx9v2Iz.js +1 -0
- package/public/dist/assets/iframe-renderer-DmHYOI1A.js +142 -0
- package/public/dist/assets/{react-C_pPTFsM.js → jsx-runtime-CkEUZM6i.js} +1 -1
- package/public/dist/assets/manager-CCXm5Yfe.js +5 -0
- package/public/dist/assets/manager-D9rhKFKc.css +1 -0
- package/public/dist/assets/manager-shortcuts-Cqmr0mEq.js +1 -0
- package/public/dist/assets/{memory-EG1B51up.js → memory-C6qtAMdJ.js} +1 -1
- package/public/dist/assets/memory-PPofQPeB.js +1 -0
- package/public/dist/assets/message-history-DcjBuubA.js +4 -0
- package/public/dist/assets/message-history-bw4qF01Z.js +1 -0
- package/public/dist/assets/page-shell-DfinU3mb.js +1 -0
- package/public/dist/assets/react-dom-URBLzV3w.js +1 -0
- package/public/dist/assets/{render-Dp07lZAJ.js → render-DfYro-fG.js} +1 -1
- package/public/dist/assets/{settings-jlI4X-zt.js → settings-CvsLWlJn.js} +38 -30
- package/public/dist/assets/settings-DMiQe469.js +1 -0
- package/public/dist/assets/settings-DgAlohx9.js +1 -0
- package/public/dist/assets/settings-core-BH7J_Rbm.js +1 -0
- package/public/dist/assets/{settings-core-B5Uf_lWY.js → settings-core-pnpw-eZv.js} +1 -1
- package/public/dist/assets/{settings-embedding-BfWzWKMM.js → settings-embedding-BRW0WZvh.js} +3 -3
- package/public/dist/assets/{settings-embedding-DhEdT86W.css → settings-embedding-CUQ8Is3y.css} +1 -1
- package/public/dist/assets/settings-types-CYKy0xz4.js +1 -0
- package/public/dist/assets/shared-D1begqvi.js +1 -0
- package/public/dist/assets/{sidebar-BUemG2ZN.js → sidebar-C_80w4iY.js} +3 -3
- package/public/dist/assets/{skills-CKUcEN9m.js → skills-D_2adqge.js} +1 -1
- package/public/dist/assets/skills-DeNVAVgt.js +1 -0
- package/public/dist/assets/{slash-commands-D34GgHFX.js → slash-commands-B_Hq5RkC.js} +2 -2
- package/public/dist/assets/slash-commands-Cj5qoRWc.js +1 -0
- package/public/dist/assets/tool-input-DI7uu8Ah.js +2 -0
- package/public/dist/assets/{trace-drawer-DBmK-5F_.js → trace-drawer-B6XuPodh.js} +1 -1
- package/public/dist/assets/ui-BbR_fFiK.js +1 -0
- package/public/dist/assets/{ui-vm2iuLcS.js → ui-D8xzm7DN.js} +1 -1
- package/public/dist/index.html +11 -3
- package/public/dist/manager/index.html +3 -3
- package/public/dist/settings/index.html +2 -2
- package/public/index.html +9 -1
- package/public/js/features/activity-history.ts +50 -21
- package/public/js/features/activity-rows.ts +158 -10
- package/public/js/features/activity-view.ts +5 -5
- package/public/js/features/chat.ts +2 -0
- package/public/js/features/employees.ts +1 -0
- package/public/js/features/resize-guard.ts +39 -0
- package/public/js/features/settings-cli-status.ts +49 -17
- package/public/js/features/settings-types.ts +39 -1
- package/public/js/features/skill-mentions.ts +143 -0
- package/public/js/main.ts +15 -0
- package/public/js/virtual-scroll.ts +67 -1
- package/public/locales/en.json +2 -0
- package/public/locales/ja.json +2 -0
- package/public/locales/ko.json +2 -0
- package/public/locales/zh.json +2 -0
- package/public/manager/src/AppChrome.tsx +2 -0
- package/public/manager/src/InstancePreview.tsx +1 -1
- package/public/manager/src/SidebarRailRouter.tsx +3 -1
- package/public/manager/src/browser-panel/BrowserPanel.tsx +47 -12
- package/public/manager/src/browser-panel/browser-address-state.ts +11 -0
- package/public/manager/src/client-platform.ts +18 -0
- package/public/manager/src/code/CodeCanvas.tsx +4 -2
- package/public/manager/src/code/CodeComposer.tsx +22 -10
- package/public/manager/src/code/CodeDraftEmptyState.tsx +64 -0
- package/public/manager/src/code/CodeSessionList.tsx +154 -40
- package/public/manager/src/code/CodeTranscript.tsx +104 -16
- package/public/manager/src/code/CodeWorkbench.tsx +21 -11
- package/public/manager/src/code/CodeWorkspaceHeader.tsx +5 -10
- package/public/manager/src/code/ComposerFooter.tsx +9 -1
- package/public/manager/src/code/code-composer.css +1 -1
- package/public/manager/src/code/code-controller-draft-storage.ts +16 -8
- package/public/manager/src/code/code-controller-drafts.ts +33 -6
- package/public/manager/src/code/code-controller-runtime.ts +189 -17
- package/public/manager/src/code/code-controller-types.ts +19 -1
- package/public/manager/src/code/code-recent-workspaces.ts +25 -0
- package/public/manager/src/code/code-session-client.ts +19 -1
- package/public/manager/src/code/code-session-sidebar.css +38 -0
- package/public/manager/src/code/code-session-state.ts +2 -0
- package/public/manager/src/code/code-types.ts +47 -0
- package/public/manager/src/code/code-workbench.css +36 -1
- package/public/manager/src/code/code.css +171 -7
- package/public/manager/src/code/session-order.ts +80 -0
- package/public/manager/src/code/tool-summary.ts +45 -11
- package/public/manager/src/folder-panel/folder-shortcuts.ts +5 -9
- package/public/manager/src/hooks/useCommandPalette.ts +3 -7
- package/public/manager/src/main.tsx +1 -0
- package/public/manager/src/manager-components.css +25 -23
- package/public/manager/src/manager-dashboard-reminders.css +2 -2
- package/public/manager/src/manager-layout.css +1 -1
- package/public/manager/src/manager-shortcut-runner.ts +9 -2
- package/public/manager/src/manager-shortcuts.ts +83 -21
- package/public/manager/src/panels/desktop-bridge.ts +4 -1
- package/public/manager/src/panels/panels.css +9 -0
- package/public/manager/src/preview.ts +19 -4
- package/public/manager/src/settings/pages/AdvancedExport.tsx +28 -30
- package/public/manager/src/settings/pages/Browser.tsx +45 -47
- package/public/manager/src/settings/pages/ChannelsDiscord.tsx +51 -26
- package/public/manager/src/settings/pages/ChannelsSlack.tsx +59 -17
- package/public/manager/src/settings/pages/ChannelsTelegram.tsx +51 -26
- package/public/manager/src/settings/pages/Display.tsx +2 -1
- package/public/manager/src/settings/pages/Employees.tsx +3 -3
- package/public/manager/src/settings/pages/Mcp.tsx +220 -200
- package/public/manager/src/settings/pages/Memory.tsx +35 -41
- package/public/manager/src/settings/pages/ModelProvider.tsx +23 -98
- package/public/manager/src/settings/pages/Network.tsx +5 -4
- package/public/manager/src/settings/pages/Permissions.tsx +38 -16
- package/public/manager/src/settings/pages/Prompts.tsx +12 -9
- package/public/manager/src/settings/pages/SpeechKeys.tsx +132 -139
- package/public/manager/src/settings/pages/TelegramHub.tsx +67 -20
- package/public/manager/src/settings/pages/components/AvatarCard.tsx +9 -8
- package/public/manager/src/settings/pages/components/ChannelSetupEntry.tsx +2 -2
- package/public/manager/src/settings/pages/components/EmployeeRow.tsx +6 -12
- package/public/manager/src/settings/pages/components/HealthBadge.tsx +11 -6
- package/public/manager/src/settings/pages/components/HeartbeatJobRow.tsx +35 -16
- package/public/manager/src/settings/pages/components/HeartbeatJobsSection.tsx +11 -11
- package/public/manager/src/settings/pages/components/HeartbeatMarkdownSection.tsx +7 -7
- package/public/manager/src/settings/pages/components/InlineWarn.tsx +4 -9
- package/public/manager/src/settings/pages/components/McpServerCard.tsx +39 -27
- package/public/manager/src/settings/pages/components/MemoryRow.tsx +21 -16
- package/public/manager/src/settings/pages/components/PerCliRow.tsx +122 -121
- package/public/manager/src/settings/pages/components/PiProfileDialog.tsx +9 -6
- package/public/manager/src/settings/pages/components/SlackSetup.tsx +8 -8
- package/public/manager/src/settings/pages/components/TransportStatusChips.tsx +14 -10
- package/public/manager/src/settings/pages/components/agent/AgentEmployeesSection.tsx +26 -26
- package/public/manager/src/settings/pages/components/agent/PermissionQuickSection.tsx +5 -5
- package/public/manager/src/settings/pages/components/agent/RuntimeEmployeeRow.tsx +14 -11
- package/public/manager/src/settings/pages/components/agent/RuntimeHeader.tsx +1 -3
- package/public/manager/src/settings/pages/components/agent/agent-meta.ts +0 -2
- package/public/manager/src/settings/pages/components/runtime-transport-field.tsx +2 -2
- package/public/manager/src/settings/pages/manager/Activity.tsx +6 -2
- package/public/manager/src/settings/pages/manager/Display.tsx +3 -8
- package/public/manager/src/settings/pages/manager/shared.tsx +44 -33
- package/public/manager/src/settings/pages/page-shell.tsx +66 -0
- package/public/manager/src/settings-agent.css +185 -36
- package/public/manager/src/settings-standalone.tsx +1 -0
- package/public/manager/src/settings-surface.css +96 -0
- package/public/manager/src/types.ts +1 -0
- package/scripts/ci/install-ripgrep.sh +35 -0
- package/scripts/collect-fresh-install-evidence.sh +2 -2
- package/scripts/install-risk-gate.mjs +2 -3
- package/scripts/install-wsl.sh +1 -1
- package/scripts/install.ps1 +1 -1
- package/scripts/install.sh +1 -1
- package/scripts/release-1.6.0.sh +1 -1
- package/scripts/release-gates.mjs +48 -13
- package/scripts/release-preview.sh +2 -2
- package/scripts/restack-pr.sh +88 -0
- package/scripts/verify-electron-update-metadata.mjs +1 -1
- package/scripts/windows-support-contract.json +1 -1
- package/public/dist/assets/Activity-BUrp73Re.js +0 -1
- package/public/dist/assets/AdvancedExport-B7h_ZvBu.js +0 -1
- package/public/dist/assets/Agent-DnbZJP7b.js +0 -1
- package/public/dist/assets/Browser-CiBoK5Qx.js +0 -1
- package/public/dist/assets/BrowserPanel-SZAUc9T2.js +0 -3
- package/public/dist/assets/ChannelEnablementControl-Dl0uYx38.js +0 -85
- package/public/dist/assets/ChannelSetupEntry-DxtOrN01.js +0 -1
- package/public/dist/assets/ChannelsDiscord-BEGGwd_3.js +0 -1
- package/public/dist/assets/ChannelsSlack-BryC2Ahr.js +0 -1
- package/public/dist/assets/ChannelsTelegram-CGSpaImJ.js +0 -1
- package/public/dist/assets/CodeCanvas-DpkFi5Au.js +0 -2
- package/public/dist/assets/DashboardMeta-Dh-tasbY.js +0 -1
- package/public/dist/assets/DesignPanel-NLNK9wCo.js +0 -2
- package/public/dist/assets/Display-BHGFX3O0.js +0 -1
- package/public/dist/assets/Display-BW-_pKRf.js +0 -1
- package/public/dist/assets/DocPanel-BM41cYpS.js +0 -1
- package/public/dist/assets/Employees-BuFw6-fT.js +0 -1
- package/public/dist/assets/FolderPanel-C-eQT3Yq.js +0 -3
- package/public/dist/assets/Heartbeat-CIVtKWNc.js +0 -1
- package/public/dist/assets/InlineWarn-DIMbcbzk.js +0 -1
- package/public/dist/assets/MarkdownRenderer-DyVx6DxM.js +0 -1
- package/public/dist/assets/Mcp-uKjor7vh.js +0 -4
- package/public/dist/assets/Memory-BSDIXT0B.js +0 -1
- package/public/dist/assets/ModelProvider-DMh2tXUx.js +0 -1
- package/public/dist/assets/Network-4Pa6JkhK.js +0 -1
- package/public/dist/assets/NotesGraphWorkspace-CgdC-fM6.js +0 -1
- package/public/dist/assets/PanelLayoutProvider-mn8sI0h-.js +0 -1
- package/public/dist/assets/Permissions-CodIW-Yd.js +0 -1
- package/public/dist/assets/Profile-DPqrYA44.js +0 -1
- package/public/dist/assets/Prompts-CvAx7QqR.js +0 -1
- package/public/dist/assets/SpeechKeys-CVBCqoBn.js +0 -1
- package/public/dist/assets/TelegramHub-4zKwpk0P.js +0 -1
- package/public/dist/assets/app-ByMfeXp-.js +0 -55
- package/public/dist/assets/app-DAJWqs33.css +0 -1
- package/public/dist/assets/bgtask-badge-Ch88fnhf.js +0 -1
- package/public/dist/assets/error-normalize-CL69Bl7z.js +0 -1
- package/public/dist/assets/fields-mlGpofqQ.js +0 -1
- package/public/dist/assets/iframe-renderer-Bj1JolO8.js +0 -142
- package/public/dist/assets/iframe-renderer-DWnvUSrx.js +0 -1
- package/public/dist/assets/jsx-runtime-NZYk81nU.js +0 -1
- package/public/dist/assets/manager-Bi_xw7TW.js +0 -5
- package/public/dist/assets/manager-BnQHAKk6.css +0 -1
- package/public/dist/assets/manager-shortcuts-BDOzd8zm.js +0 -1
- package/public/dist/assets/memory-Bk_cb3sw.js +0 -1
- package/public/dist/assets/message-history-D2vniu04.js +0 -4
- package/public/dist/assets/message-history-GAtF_wbZ.js +0 -1
- package/public/dist/assets/page-shell-BeGD0rRQ.js +0 -1
- package/public/dist/assets/react-dom-DyUOYpVL.js +0 -1
- package/public/dist/assets/settings-W4KG9ivu.js +0 -1
- package/public/dist/assets/settings-WVGhtneN.js +0 -1
- package/public/dist/assets/settings-client-CmwRsVd1.js +0 -1
- package/public/dist/assets/settings-core-CgKGnMA5.js +0 -1
- package/public/dist/assets/settings-types-D3cd6SWy.js +0 -1
- package/public/dist/assets/shared-CiNP20HB.js +0 -1
- package/public/dist/assets/skills-Co7Mr-qP.js +0 -1
- package/public/dist/assets/slash-commands-BEr-vmIr.js +0 -1
- package/public/dist/assets/ui-TUyJsMUf.js +0 -1
- package/public/manager/src/settings/pages/components/EngineSubsection.tsx +0 -25
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
// Phase 2 — Model & Provider page: per-CLI rows +
|
|
2
|
-
//
|
|
1
|
+
// Phase 2 — Model & Provider page: per-CLI rows + fallback chip list +
|
|
2
|
+
// active-overrides table with reset button.
|
|
3
3
|
|
|
4
4
|
import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
5
5
|
import type { SettingsPageProps, SettingsClient, DirtyEntry } from '../types';
|
|
6
6
|
import { describeError } from '../components/error-normalize';
|
|
7
|
-
import { ChipListField
|
|
7
|
+
import { ChipListField } from '../fields';
|
|
8
8
|
import {
|
|
9
|
+
SettingsActions,
|
|
10
|
+
SettingsKeyValue,
|
|
11
|
+
SettingsNote,
|
|
9
12
|
SettingsSection,
|
|
10
13
|
PageError,
|
|
11
14
|
PageLoading,
|
|
@@ -79,7 +82,6 @@ export default function ModelProvider({ port, client, dirty, registerSave }: Set
|
|
|
79
82
|
const [perCliDraft, setPerCliDraft] = useState<Record<string, PerCliEntry>>({});
|
|
80
83
|
const [piDraft, setPiDraft] = useState<PiSettingsView | undefined>(undefined);
|
|
81
84
|
const [fallback, setFallback] = useState<string[]>([]);
|
|
82
|
-
const [codexCtx, setCodexCtx] = useState<{ contextWindowSize?: number; contextWindowCompactLimit?: number }>({});
|
|
83
85
|
const [resetting, setResetting] = useState(false);
|
|
84
86
|
const [resetError, setResetError] = useState<string | null>(null);
|
|
85
87
|
const [saveError, setSaveError] = useState<string | null>(null);
|
|
@@ -126,15 +128,6 @@ export default function ModelProvider({ port, client, dirty, registerSave }: Set
|
|
|
126
128
|
setPerCliDraft(nextPerCli);
|
|
127
129
|
setPiDraft(state.data.pi);
|
|
128
130
|
setFallback([...(state.data.fallbackOrder || [])]);
|
|
129
|
-
const codex = nextPerCli['codex'] || {};
|
|
130
|
-
const nextCodexCtx: typeof codexCtx = {};
|
|
131
|
-
if (typeof codex.contextWindowSize === 'number') {
|
|
132
|
-
nextCodexCtx.contextWindowSize = codex.contextWindowSize;
|
|
133
|
-
}
|
|
134
|
-
if (typeof codex.contextWindowCompactLimit === 'number') {
|
|
135
|
-
nextCodexCtx.contextWindowCompactLimit = codex.contextWindowCompactLimit;
|
|
136
|
-
}
|
|
137
|
-
setCodexCtx(nextCodexCtx);
|
|
138
131
|
}, [state, dirty]);
|
|
139
132
|
|
|
140
133
|
const onPiRegistered = useCallback((next: PiRegistration) => {
|
|
@@ -228,7 +221,6 @@ export default function ModelProvider({ port, client, dirty, registerSave }: Set
|
|
|
228
221
|
const data = state.data;
|
|
229
222
|
const perCliOriginal = data.perCli || {};
|
|
230
223
|
const cliKeys = orderModelCliKeys(Object.keys(perCliOriginal));
|
|
231
|
-
const codexOriginal = perCliOriginal['codex'] || {};
|
|
232
224
|
const overrides = data.activeOverrides || {};
|
|
233
225
|
const overrideRows = Object.entries(overrides);
|
|
234
226
|
|
|
@@ -248,7 +240,7 @@ export default function ModelProvider({ port, client, dirty, registerSave }: Set
|
|
|
248
240
|
hint="Per-CLI model and runtime defaults. Runtime transport applies to the next run; display and permissions stay separate."
|
|
249
241
|
>
|
|
250
242
|
{cliKeys.length === 0 ? (
|
|
251
|
-
<
|
|
243
|
+
<SettingsNote>No CLIs registered for this instance.</SettingsNote>
|
|
252
244
|
) : (
|
|
253
245
|
cliKeys.map((cli) => (
|
|
254
246
|
<PerCliRow
|
|
@@ -270,58 +262,6 @@ export default function ModelProvider({ port, client, dirty, registerSave }: Set
|
|
|
270
262
|
)}
|
|
271
263
|
</SettingsSection>
|
|
272
264
|
|
|
273
|
-
{perCliOriginal['codex'] ? (
|
|
274
|
-
<SettingsSection
|
|
275
|
-
title="Codex context window"
|
|
276
|
-
hint="Codex-only sliders. Other CLIs ignore these values."
|
|
277
|
-
>
|
|
278
|
-
<NumberField
|
|
279
|
-
id="model-codex-ctx"
|
|
280
|
-
label="Context window size"
|
|
281
|
-
disabled={saving || resetting}
|
|
282
|
-
value={
|
|
283
|
-
codexCtx.contextWindowSize
|
|
284
|
-
?? (typeof codexOriginal.contextWindowSize === 'number'
|
|
285
|
-
? codexOriginal.contextWindowSize
|
|
286
|
-
: 1_000_000)
|
|
287
|
-
}
|
|
288
|
-
min={0}
|
|
289
|
-
step={10_000}
|
|
290
|
-
onChange={(next) => {
|
|
291
|
-
if (!canEdit()) return;
|
|
292
|
-
setCodexCtx({ ...codexCtx, contextWindowSize: next });
|
|
293
|
-
setEntry('perCli.codex.contextWindowSize', {
|
|
294
|
-
value: next,
|
|
295
|
-
original: codexOriginal.contextWindowSize ?? 1_000_000,
|
|
296
|
-
valid: Number.isFinite(next) && next >= 0,
|
|
297
|
-
});
|
|
298
|
-
}}
|
|
299
|
-
/>
|
|
300
|
-
<NumberField
|
|
301
|
-
id="model-codex-compact"
|
|
302
|
-
label="Compact limit"
|
|
303
|
-
disabled={saving || resetting}
|
|
304
|
-
value={
|
|
305
|
-
codexCtx.contextWindowCompactLimit
|
|
306
|
-
?? (typeof codexOriginal.contextWindowCompactLimit === 'number'
|
|
307
|
-
? codexOriginal.contextWindowCompactLimit
|
|
308
|
-
: 900_000)
|
|
309
|
-
}
|
|
310
|
-
min={0}
|
|
311
|
-
step={10_000}
|
|
312
|
-
onChange={(next) => {
|
|
313
|
-
if (!canEdit()) return;
|
|
314
|
-
setCodexCtx({ ...codexCtx, contextWindowCompactLimit: next });
|
|
315
|
-
setEntry('perCli.codex.contextWindowCompactLimit', {
|
|
316
|
-
value: next,
|
|
317
|
-
original: codexOriginal.contextWindowCompactLimit ?? 900_000,
|
|
318
|
-
valid: Number.isFinite(next) && next >= 0,
|
|
319
|
-
});
|
|
320
|
-
}}
|
|
321
|
-
/>
|
|
322
|
-
</SettingsSection>
|
|
323
|
-
) : null}
|
|
324
|
-
|
|
325
265
|
<SettingsSection
|
|
326
266
|
title="Fallback order"
|
|
327
267
|
hint="Order of CLIs used when the active CLI fails. Press Enter to add a chip; Backspace to remove the last."
|
|
@@ -355,46 +295,31 @@ export default function ModelProvider({ port, client, dirty, registerSave }: Set
|
|
|
355
295
|
hint="Per-session overrides applied on top of per-CLI defaults."
|
|
356
296
|
>
|
|
357
297
|
{overrideRows.length === 0 ? (
|
|
358
|
-
<
|
|
298
|
+
<SettingsNote>No active overrides.</SettingsNote>
|
|
359
299
|
) : (
|
|
360
|
-
<
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
</tr>
|
|
367
|
-
</thead>
|
|
368
|
-
<tbody>
|
|
369
|
-
{overrideRows.map(([cli, cfg]) => (
|
|
370
|
-
<tr key={cli}>
|
|
371
|
-
<td>{cli}</td>
|
|
372
|
-
<td>
|
|
373
|
-
<code>{cfg?.model || '—'}</code>
|
|
374
|
-
</td>
|
|
375
|
-
<td>
|
|
376
|
-
<code>{cfg?.effort || '—'}</code>
|
|
377
|
-
</td>
|
|
378
|
-
</tr>
|
|
379
|
-
))}
|
|
380
|
-
</tbody>
|
|
381
|
-
</table>
|
|
300
|
+
<SettingsKeyValue
|
|
301
|
+
items={overrideRows.flatMap(([cli, cfg]) => [
|
|
302
|
+
{ label: `${cli} model`, value: cfg?.model || '—', mono: true },
|
|
303
|
+
{ label: `${cli} effort`, value: cfg?.effort || '—', mono: true },
|
|
304
|
+
])}
|
|
305
|
+
/>
|
|
382
306
|
)}
|
|
383
|
-
<
|
|
307
|
+
<SettingsActions
|
|
308
|
+
status={resetError ? (
|
|
309
|
+
<span className="settings-field-error" role="alert">
|
|
310
|
+
{resetError}
|
|
311
|
+
</span>
|
|
312
|
+
) : null}
|
|
313
|
+
>
|
|
384
314
|
<button
|
|
385
315
|
type="button"
|
|
386
|
-
className="settings-action settings-action-
|
|
316
|
+
className="settings-action settings-action-danger"
|
|
387
317
|
onClick={() => void onResetOverrides()}
|
|
388
318
|
disabled={saving || resetting || overrideRows.length === 0}
|
|
389
319
|
>
|
|
390
320
|
{resetting ? 'Resetting…' : 'Reset overrides'}
|
|
391
321
|
</button>
|
|
392
|
-
|
|
393
|
-
<span className="settings-field-error" role="alert">
|
|
394
|
-
{resetError}
|
|
395
|
-
</span>
|
|
396
|
-
) : null}
|
|
397
|
-
</div>
|
|
322
|
+
</SettingsActions>
|
|
398
323
|
</SettingsSection>
|
|
399
324
|
</form>
|
|
400
325
|
);
|
|
@@ -9,6 +9,7 @@ import type { SettingsPageProps, DirtyEntry } from '../types';
|
|
|
9
9
|
import { TextField, SelectField, ToggleField } from '../fields';
|
|
10
10
|
import {
|
|
11
11
|
SettingsSection,
|
|
12
|
+
SettingsNote,
|
|
12
13
|
PageError,
|
|
13
14
|
PageLoading,
|
|
14
15
|
PageOffline,
|
|
@@ -297,18 +298,18 @@ export default function Network({ port, client, dirty, registerSave }: SettingsP
|
|
|
297
298
|
});
|
|
298
299
|
}}
|
|
299
300
|
/>
|
|
300
|
-
<
|
|
301
|
+
<SettingsNote>
|
|
301
302
|
<strong>off</strong> — only loopback can talk to the API.{' '}
|
|
302
303
|
<strong>http-only</strong> — remote can issue HTTP requests but no
|
|
303
304
|
WebSocket upgrades. <strong>full</strong> — HTTP + WebSocket open to
|
|
304
305
|
remote (use with auth).
|
|
305
|
-
</
|
|
306
|
+
</SettingsNote>
|
|
306
307
|
{lockoutRisk && (
|
|
307
|
-
<
|
|
308
|
+
<SettingsNote tone="error" role="alert">
|
|
308
309
|
Saving will close remote access while you're connected from
|
|
309
310
|
<code> {typeof window !== 'undefined' ? window.location.host : ''} </code>
|
|
310
311
|
— you will be locked out. Reach the dashboard over loopback first.
|
|
311
|
-
</
|
|
312
|
+
</SettingsNote>
|
|
312
313
|
)}
|
|
313
314
|
{remoteEnabled && (
|
|
314
315
|
<>
|
|
@@ -9,6 +9,10 @@ import type { SettingsPageProps, DirtyEntry } from '../types';
|
|
|
9
9
|
import { ChipListField, SelectField } from '../fields';
|
|
10
10
|
import {
|
|
11
11
|
SettingsSection,
|
|
12
|
+
SettingsNote,
|
|
13
|
+
SettingsKeyValue,
|
|
14
|
+
StatusBadge,
|
|
15
|
+
type StatusTone,
|
|
12
16
|
PageError,
|
|
13
17
|
PageLoading,
|
|
14
18
|
PageOffline,
|
|
@@ -119,6 +123,16 @@ export function isAllowlistValid(tokens: ReadonlyArray<string>): boolean {
|
|
|
119
123
|
return tokens.every(isPermissionToken);
|
|
120
124
|
}
|
|
121
125
|
|
|
126
|
+
// Badge tone for the saved-policy readout: Auto (YOLO) is the risky policy,
|
|
127
|
+
// Safe reads as healthy, Unrecognized needs attention, Custom/Not provided read neutrally.
|
|
128
|
+
function configuredPolicyTone(value: unknown): StatusTone {
|
|
129
|
+
if (value === 'auto') return 'warn';
|
|
130
|
+
if (value === 'safe') return 'ok';
|
|
131
|
+
if (Array.isArray(value) && isPermissionsPolicy(value)) return 'neutral';
|
|
132
|
+
if (value === null || value === undefined) return 'neutral';
|
|
133
|
+
return 'error';
|
|
134
|
+
}
|
|
135
|
+
|
|
122
136
|
// ─── Page component ──────────────────────────────────────────────────
|
|
123
137
|
|
|
124
138
|
const MODE_OPTIONS = [
|
|
@@ -261,11 +275,32 @@ export default function Permissions({ port, client, dirty, registerSave }: Setti
|
|
|
261
275
|
const isEmpty = mode === 'custom' && tokens.length === 0;
|
|
262
276
|
|
|
263
277
|
const activeSummary = configuredPolicyLabel(state.data.permissions);
|
|
278
|
+
const policyTone = configuredPolicyTone(state.data.permissions);
|
|
264
279
|
|
|
265
280
|
return (
|
|
266
281
|
<form className="settings-page-form" onSubmit={(event) => event.preventDefault()}>
|
|
267
282
|
<SettingsSection
|
|
268
|
-
title="
|
|
283
|
+
title="Saved policy"
|
|
284
|
+
hint="The permission policy currently saved on this instance."
|
|
285
|
+
>
|
|
286
|
+
{/* `.settings-readonly-line` is a test contract: its textContent
|
|
287
|
+
must read "Configured policy: <label>". */}
|
|
288
|
+
<SettingsKeyValue
|
|
289
|
+
items={[{
|
|
290
|
+
label: 'Configured policy:',
|
|
291
|
+
value: <>{' '}<StatusBadge tone={policyTone}>{activeSummary}</StatusBadge></>,
|
|
292
|
+
className: 'settings-readonly-line',
|
|
293
|
+
}]}
|
|
294
|
+
/>
|
|
295
|
+
{original?.mode === 'unknown' && (
|
|
296
|
+
<SettingsNote>
|
|
297
|
+
Unrecognized value: choose a policy below (or in Agent) to replace it.
|
|
298
|
+
</SettingsNote>
|
|
299
|
+
)}
|
|
300
|
+
</SettingsSection>
|
|
301
|
+
|
|
302
|
+
<SettingsSection
|
|
303
|
+
title="Change policy"
|
|
269
304
|
hint="Selecting a value changes the draft. Save applies it. Auto (YOLO) requests automatic approval or permission bypass. Behavior varies by runtime."
|
|
270
305
|
>
|
|
271
306
|
<SelectField
|
|
@@ -298,10 +333,10 @@ export default function Permissions({ port, client, dirty, registerSave }: Setti
|
|
|
298
333
|
: null
|
|
299
334
|
}
|
|
300
335
|
/>
|
|
301
|
-
<
|
|
336
|
+
<SettingsNote>
|
|
302
337
|
Each chip is a permission token. Examples: <code>bash</code>,
|
|
303
338
|
<code> read</code>, <code> write</code>, <code> mcp.*</code>.
|
|
304
|
-
</
|
|
339
|
+
</SettingsNote>
|
|
305
340
|
{isEmpty && (
|
|
306
341
|
<InlineWarn role="alert">
|
|
307
342
|
An empty Custom allowlist cannot be saved.
|
|
@@ -311,19 +346,6 @@ export default function Permissions({ port, client, dirty, registerSave }: Setti
|
|
|
311
346
|
</>
|
|
312
347
|
)}
|
|
313
348
|
</SettingsSection>
|
|
314
|
-
|
|
315
|
-
<SettingsSection
|
|
316
|
-
title="Saved policy"
|
|
317
|
-
hint="Shows the saved permission policy."
|
|
318
|
-
>
|
|
319
|
-
<p className="settings-readonly-line">
|
|
320
|
-
<span className="settings-field-label">Configured policy:</span>{' '}
|
|
321
|
-
<span>{activeSummary}</span>
|
|
322
|
-
</p>
|
|
323
|
-
{original?.mode === 'unknown' ? (
|
|
324
|
-
<p className="settings-section-hint">Unrecognized value: choose a policy above (or in Agent) to replace it.</p>
|
|
325
|
-
) : null}
|
|
326
|
-
</SettingsSection>
|
|
327
349
|
</form>
|
|
328
350
|
);
|
|
329
351
|
}
|
|
@@ -16,10 +16,11 @@ import {
|
|
|
16
16
|
PageError,
|
|
17
17
|
PageLoading,
|
|
18
18
|
PageOffline,
|
|
19
|
+
SettingsNote,
|
|
19
20
|
SettingsSection,
|
|
21
|
+
StatusBadge,
|
|
20
22
|
usePageSnapshot,
|
|
21
23
|
} from './page-shell';
|
|
22
|
-
import { InlineWarn } from './components/InlineWarn';
|
|
23
24
|
|
|
24
25
|
type PromptResponse = { content?: string };
|
|
25
26
|
|
|
@@ -268,7 +269,7 @@ export default function Prompts({ port, client, dirty, registerSave }: SettingsP
|
|
|
268
269
|
<span className="settings-field-label">a2.md</span>
|
|
269
270
|
<textarea
|
|
270
271
|
id="prompt-system-body"
|
|
271
|
-
className="settings-
|
|
272
|
+
className="settings-mono-input"
|
|
272
273
|
value={systemDraft}
|
|
273
274
|
rows={14}
|
|
274
275
|
spellCheck={false}
|
|
@@ -276,9 +277,10 @@ export default function Prompts({ port, client, dirty, registerSave }: SettingsP
|
|
|
276
277
|
/>
|
|
277
278
|
</label>
|
|
278
279
|
{systemDraft !== originalSystem && (
|
|
279
|
-
<
|
|
280
|
+
<SettingsNote>
|
|
281
|
+
<StatusBadge tone="warn">Unsaved</StatusBadge>{' '}
|
|
280
282
|
Pending edits to a2.md.
|
|
281
|
-
</
|
|
283
|
+
</SettingsNote>
|
|
282
284
|
)}
|
|
283
285
|
</SettingsSection>
|
|
284
286
|
|
|
@@ -287,9 +289,9 @@ export default function Prompts({ port, client, dirty, registerSave }: SettingsP
|
|
|
287
289
|
hint="Edit individual prompt template bodies. Saving regenerates b automatically."
|
|
288
290
|
>
|
|
289
291
|
{flatList.length === 0 ? (
|
|
290
|
-
<
|
|
292
|
+
<SettingsNote>
|
|
291
293
|
No templates returned by /api/prompt-templates.
|
|
292
|
-
</
|
|
294
|
+
</SettingsNote>
|
|
293
295
|
) : (
|
|
294
296
|
<>
|
|
295
297
|
<label
|
|
@@ -320,7 +322,7 @@ export default function Prompts({ port, client, dirty, registerSave }: SettingsP
|
|
|
320
322
|
</span>
|
|
321
323
|
<textarea
|
|
322
324
|
id="prompt-template-body"
|
|
323
|
-
className="settings-
|
|
325
|
+
className="settings-mono-input"
|
|
324
326
|
value={templateDraft}
|
|
325
327
|
rows={16}
|
|
326
328
|
spellCheck={false}
|
|
@@ -329,9 +331,10 @@ export default function Prompts({ port, client, dirty, registerSave }: SettingsP
|
|
|
329
331
|
/>
|
|
330
332
|
</label>
|
|
331
333
|
{templateBodyDirty && (
|
|
332
|
-
<
|
|
334
|
+
<SettingsNote>
|
|
335
|
+
<StatusBadge tone="warn">Unsaved</StatusBadge>{' '}
|
|
333
336
|
Pending edits to {activeTemplateId}.md.
|
|
334
|
-
</
|
|
337
|
+
</SettingsNote>
|
|
335
338
|
)}
|
|
336
339
|
</>
|
|
337
340
|
)}
|