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,5 +1,11 @@
|
|
|
1
1
|
import { createClaudeSdkSession } from '../../agent/runtime/claude-sdk-session.js';
|
|
2
|
+
import { loadClaudeHistory } from '../../agent/runtime/claude-sdk-history-loader.js';
|
|
3
|
+
import { CodeStoreError } from '../store.js';
|
|
4
|
+
import { claudeModelGateMessage } from '../../cli/claude-default-model-boot.js';
|
|
2
5
|
import { admitCodeOpen, captureCodeContext, CODE_PROMPT_TIMEOUT_MS } from './acp.js';
|
|
6
|
+
import { forkClaudeHistory } from './claude-history.js';
|
|
7
|
+
/** The in-process history helpers read these from process.env; the runtime must see the same projects dir. */
|
|
8
|
+
const HISTORY_ENVIRONMENT = ['CLAUDE_CONFIG_DIR', 'CLAUDE_CODE_PROJECT_DIR_NAME'];
|
|
3
9
|
function claudeEffort(value) {
|
|
4
10
|
if (value === null)
|
|
5
11
|
return undefined;
|
|
@@ -7,13 +13,39 @@ function claudeEffort(value) {
|
|
|
7
13
|
return value;
|
|
8
14
|
throw new Error('code_provider_effort_unsupported');
|
|
9
15
|
}
|
|
10
|
-
|
|
16
|
+
const CLAUDE_CODE_MODES = {
|
|
17
|
+
ask: 'default',
|
|
18
|
+
'accept-edits': 'acceptEdits',
|
|
19
|
+
plan: 'plan',
|
|
20
|
+
'auto-review': 'auto',
|
|
21
|
+
'dont-ask': 'dontAsk',
|
|
22
|
+
auto: 'bypassPermissions',
|
|
23
|
+
};
|
|
24
|
+
/** Code picker value -> exact SDK permission mode. `auto` stays YOLO; SDK `auto` is `auto-review`. */
|
|
25
|
+
export function claudeCodePermissionMode(mode) {
|
|
26
|
+
if (mode === 'read-only')
|
|
27
|
+
throw new Error('code_provider_policy_unsupported');
|
|
28
|
+
return CLAUDE_CODE_MODES[mode];
|
|
29
|
+
}
|
|
30
|
+
export function createClaudeCodeProvider(dependencies, create = createClaudeSdkSession, loadHistory = loadClaudeHistory) {
|
|
11
31
|
return {
|
|
12
32
|
id: 'claude', describe: dependencies.describe,
|
|
33
|
+
async rollback(input) {
|
|
34
|
+
const environment = dependencies.environment();
|
|
35
|
+
if (HISTORY_ENVIRONMENT.some(key => environment[key] !== process.env[key])) {
|
|
36
|
+
throw new CodeStoreError('rollback_unavailable', 'Claude history lives outside this server\'s configuration directory', 409);
|
|
37
|
+
}
|
|
38
|
+
const history = await loadHistory().catch(() => {
|
|
39
|
+
throw new CodeStoreError('rollback_unavailable', 'Claude history helpers are unavailable', 409);
|
|
40
|
+
});
|
|
41
|
+
return forkClaudeHistory(history, input);
|
|
42
|
+
},
|
|
13
43
|
async open(options) {
|
|
14
44
|
admitCodeOpen(options, dependencies);
|
|
15
|
-
|
|
16
|
-
|
|
45
|
+
const sdkMode = claudeCodePermissionMode(options.permissionMode);
|
|
46
|
+
const modelRefusal = claudeModelGateMessage(dependencies.binary(), options.model);
|
|
47
|
+
if (modelRefusal)
|
|
48
|
+
throw new Error(modelRefusal);
|
|
17
49
|
const opening = captureCodeContext(options);
|
|
18
50
|
const effort = claudeEffort(options.effort);
|
|
19
51
|
let creationFinished = false;
|
|
@@ -22,10 +54,13 @@ export function createClaudeCodeProvider(dependencies, create = createClaudeSdkS
|
|
|
22
54
|
runtime = await create({
|
|
23
55
|
prepared: { cwd: options.cwd, binary: dependencies.binary(), env: dependencies.environment(),
|
|
24
56
|
model: options.model, systemPrompt: '', fastMode: false,
|
|
25
|
-
|
|
57
|
+
...(options.thinking === null ? {} : { thinking: options.thinking }),
|
|
58
|
+
permissions: sdkMode === 'bypassPermissions' ? 'auto' : 'safe',
|
|
59
|
+
// Every Code process may later switch live, including to bypass.
|
|
60
|
+
sdkMode, sessionGrants: true, allowDangerouslySkipPermissions: true,
|
|
26
61
|
...(effort === undefined ? {} : { effort }),
|
|
27
62
|
...(options.nativeCursor === null ? {} : { resumeSessionId: options.nativeCursor }) },
|
|
28
|
-
signal: options.signal, registry: options.registry, promptTimeoutMs: CODE_PROMPT_TIMEOUT_MS,
|
|
63
|
+
signal: options.signal, registry: options.registry, promptTimeoutMs: CODE_PROMPT_TIMEOUT_MS, inBandSteer: true,
|
|
29
64
|
onSessionCreated(session) {
|
|
30
65
|
let closeConfirmed = false;
|
|
31
66
|
let closing;
|
|
@@ -47,6 +82,11 @@ export function createClaudeCodeProvider(dependencies, create = createClaudeSdkS
|
|
|
47
82
|
if (captured.isCurrent())
|
|
48
83
|
options.onNativeCursor(id, captured);
|
|
49
84
|
},
|
|
85
|
+
onContextUsage(usage) {
|
|
86
|
+
options.onContextUsage({ totalTokens: usage.totalTokens, inputTokens: null, cachedInputTokens: null,
|
|
87
|
+
outputTokens: null, reasoningOutputTokens: null, processedTokens: null,
|
|
88
|
+
modelContextWindow: usage.modelContextWindow, updatedAt: usage.updatedAt });
|
|
89
|
+
},
|
|
50
90
|
onMetadata(context, metadata) {
|
|
51
91
|
if (context.isCurrent() && metadata.sessionId)
|
|
52
92
|
options.onNativeCursor(metadata.sessionId, context);
|
|
@@ -84,9 +124,22 @@ export function createClaudeCodeProvider(dependencies, create = createClaudeSdkS
|
|
|
84
124
|
options.onNativeCursor(runtime.nativeSessionId, opening);
|
|
85
125
|
return {
|
|
86
126
|
get nativeSessionId() { return runtime.nativeSessionId; },
|
|
127
|
+
get lastTurnFailureText() { return runtime.lastTurnFailureText; },
|
|
128
|
+
setPermissionMode: (mode) => runtime.setPermissionMode(claudeCodePermissionMode(mode)),
|
|
129
|
+
reconfigure: async (next, previous) => {
|
|
130
|
+
// Before any SDK call: a running turn or a close owns the query.
|
|
131
|
+
if (closing || !runtime.idle) {
|
|
132
|
+
throw new CodeStoreError('session_busy', 'Stop the current turn before changing session settings', 409);
|
|
133
|
+
}
|
|
134
|
+
const refusal = claudeModelGateMessage(dependencies.binary(), next.model);
|
|
135
|
+
if (refusal)
|
|
136
|
+
throw new Error(refusal);
|
|
137
|
+
const tuple = (value) => ({ model: value.model, effort: claudeEffort(value.effort) ?? null });
|
|
138
|
+
return runtime.reconfigure(tuple(next), tuple(previous));
|
|
139
|
+
},
|
|
87
140
|
get alive() { return !closing && runtime.alive; },
|
|
88
141
|
get closed() { return !runtime.alive && runtime.activeProcessCount === 0; },
|
|
89
|
-
send(text) {
|
|
142
|
+
send(text, sendOptions) {
|
|
90
143
|
const context = captureCodeContext(options);
|
|
91
144
|
if (!runtime.idle || closing)
|
|
92
145
|
throw new Error('code_claude_not_idle');
|
|
@@ -95,8 +148,22 @@ export function createClaudeCodeProvider(dependencies, create = createClaudeSdkS
|
|
|
95
148
|
// SDK startup may not reveal its native ID until the first input is offered.
|
|
96
149
|
if (!runtime.nativeSessionId && options.nativeCursor === null)
|
|
97
150
|
options.onNativeCursor(null, context);
|
|
98
|
-
|
|
151
|
+
// The turn's rollback boundary is the native input's own identity.
|
|
152
|
+
return runtime.send({ text }, () => { }, sendOptions?.promptUuid === undefined ? {} : { uuid: sendOptions.promptUuid });
|
|
153
|
+
},
|
|
154
|
+
// The only busy-session input path; a refusal is returned, never turned into success.
|
|
155
|
+
async steer(text) {
|
|
156
|
+
if (closing || !runtime.alive)
|
|
157
|
+
return { accepted: false, turnId: '', reason: 'not-current' };
|
|
158
|
+
if (Buffer.byteLength(text) > 1024 * 1024)
|
|
159
|
+
throw new Error('claude_prompt_limit');
|
|
160
|
+
const result = await runtime.steer({ text });
|
|
161
|
+
if (result.accepted)
|
|
162
|
+
return { accepted: true, turnId: result.turnId, ...(result.nativeId ? { nativeId: result.nativeId } : {}) };
|
|
163
|
+
const reason = result.reason === 'queue-full' || result.reason === 'not-ready' ? result.reason : 'not-current';
|
|
164
|
+
return { accepted: false, turnId: result.turnId, reason };
|
|
99
165
|
},
|
|
166
|
+
unconsumedFollowUps: () => runtime.unconsumedFollowUps(),
|
|
100
167
|
cancel: () => close(), close,
|
|
101
168
|
};
|
|
102
169
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../../src/code-mode/providers/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAyB,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../../src/code-mode/providers/claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,12 @@ const policy = {
|
|
|
14
14
|
auto: { approvalPolicy: 'never', sandbox: 'danger-full-access' },
|
|
15
15
|
'read-only': { approvalPolicy: 'never', sandbox: 'read-only' },
|
|
16
16
|
};
|
|
17
|
+
/** Claude-only modes (plan, accept-edits, dont-ask, auto-review) have no Codex equivalent. */
|
|
18
|
+
function codexPolicy(mode) {
|
|
19
|
+
if (mode !== 'ask' && mode !== 'auto' && mode !== 'read-only')
|
|
20
|
+
throw new Error('code_provider_policy_unsupported');
|
|
21
|
+
return policy[mode];
|
|
22
|
+
}
|
|
17
23
|
const object = (value) => value !== null && typeof value === 'object'
|
|
18
24
|
&& !Array.isArray(value) ? value : {};
|
|
19
25
|
/**
|
|
@@ -84,7 +90,7 @@ class CodeCodexSession {
|
|
|
84
90
|
if (!context.isCurrent() || this.options.signal.aborted)
|
|
85
91
|
throw new Error('code_provider_open_aborted');
|
|
86
92
|
const thread = { model: this.options.model, effort: this.options.effort ?? '',
|
|
87
|
-
cwd: this.options.cwd, fastMode: false, ...
|
|
93
|
+
cwd: this.options.cwd, fastMode: false, ...codexPolicy(this.options.permissionMode) };
|
|
88
94
|
this.nativeId = this.options.nativeCursor === null
|
|
89
95
|
? await this.client.startThread(this.scope, thread)
|
|
90
96
|
: await this.client.resumeThread(this.scope, this.options.nativeCursor, thread);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-app.js","sourceRoot":"","sources":["../../../../src/code-mode/providers/codex-app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex-app.js","sourceRoot":"","sources":["../../../../src/code-mode/providers/codex-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ export class CodeServiceError extends Error {
|
|
|
15
15
|
}
|
|
16
16
|
function sameConfiguration(a, b) {
|
|
17
17
|
return a.provider === b.provider && a.cwd === b.cwd && a.model === b.model
|
|
18
|
-
&& a.effort === b.effort && a.permissionMode === b.permissionMode;
|
|
18
|
+
&& a.effort === b.effort && a.permissionMode === b.permissionMode && a.thinking === b.thinking;
|
|
19
19
|
}
|
|
20
20
|
function isResourceClosed(resource) {
|
|
21
21
|
return resource.closed === true;
|
|
@@ -40,12 +40,67 @@ export class CodeSession {
|
|
|
40
40
|
disposed = false;
|
|
41
41
|
disposePromise = null;
|
|
42
42
|
persistenceError = null;
|
|
43
|
+
settingsChange = false;
|
|
43
44
|
lastUsedAt;
|
|
44
45
|
constructor(options) {
|
|
45
46
|
this.options = options;
|
|
46
47
|
this.lastUsedAt = options.now();
|
|
47
48
|
}
|
|
48
|
-
get busy() { return this.operation !== null && !this.operation.settled; }
|
|
49
|
+
get busy() { return this.settingsChange || (this.operation !== null && !this.operation.settled); }
|
|
50
|
+
get reconfiguring() { return this.settingsChange; }
|
|
51
|
+
/**
|
|
52
|
+
* Run a live settings change with admission held off: the session reads busy from this
|
|
53
|
+
* check through the caller's store write and any rollback, so no prompt, attach or
|
|
54
|
+
* second change lands between the runtime switch and the stored row.
|
|
55
|
+
*/
|
|
56
|
+
async exclusive(work) {
|
|
57
|
+
if (this.busy)
|
|
58
|
+
throw new CodeStoreError('session_busy', 'Stop the current turn before changing session settings', 409);
|
|
59
|
+
this.settingsChange = true;
|
|
60
|
+
try {
|
|
61
|
+
return await work();
|
|
62
|
+
}
|
|
63
|
+
finally {
|
|
64
|
+
this.settingsChange = false;
|
|
65
|
+
this.options.changed();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Switch the resident runtime's permission mode in place. 'deferred' means there is
|
|
70
|
+
* no live handle to switch; the next open reads the stored mode instead.
|
|
71
|
+
*/
|
|
72
|
+
async applyPermissionMode(mode) {
|
|
73
|
+
const binding = this.binding;
|
|
74
|
+
const handle = binding?.handle;
|
|
75
|
+
if (!binding || !handle || handle.alive !== true || handle.closed === true || binding.retiring || binding.exited)
|
|
76
|
+
return 'deferred';
|
|
77
|
+
if (!handle.setPermissionMode)
|
|
78
|
+
throw new Error('code_permission_mode_unavailable');
|
|
79
|
+
await handle.setPermissionMode(mode);
|
|
80
|
+
binding.configuration = Object.freeze({ ...binding.configuration, permissionMode: mode });
|
|
81
|
+
return 'applied';
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Change model and effort on the resident runtime in place. The binding moves only
|
|
85
|
+
* once the runtime confirmed, so a refused change leaves it describing the process
|
|
86
|
+
* that is actually running. 'deferred' means no live handle; 'unsupported' means a
|
|
87
|
+
* live handle that can only be retired.
|
|
88
|
+
*/
|
|
89
|
+
async reconfigure(next) {
|
|
90
|
+
const binding = this.binding;
|
|
91
|
+
const handle = binding?.handle;
|
|
92
|
+
if (!binding || !handle || handle.alive !== true || handle.closed === true || binding.retiring || binding.exited)
|
|
93
|
+
return 'deferred';
|
|
94
|
+
if (!handle.reconfigure)
|
|
95
|
+
return 'unsupported';
|
|
96
|
+
const current = binding.configuration;
|
|
97
|
+
await handle.reconfigure(next, { model: current.model, effort: current.effort });
|
|
98
|
+
binding.configuration = Object.freeze({ ...current, model: next.model, effort: next.effort });
|
|
99
|
+
// The figure is a proportion of the previous model's window.
|
|
100
|
+
if (next.model !== current.model)
|
|
101
|
+
this.usage = null;
|
|
102
|
+
return 'applied';
|
|
103
|
+
}
|
|
49
104
|
get resident() {
|
|
50
105
|
this.reconcileBindings();
|
|
51
106
|
return [...this.bindings].some(binding => binding.opening || this.hasOpenResources(binding));
|
|
@@ -180,7 +235,7 @@ export class CodeSession {
|
|
|
180
235
|
op.binding.controller.abort();
|
|
181
236
|
}
|
|
182
237
|
/** Install ownership synchronously, before admission events can call subscribers. */
|
|
183
|
-
start(record, text) {
|
|
238
|
+
start(record, text, promptUuid = null) {
|
|
184
239
|
if (this.operation)
|
|
185
240
|
this.registry.cancelRun(this.operation.context.runId);
|
|
186
241
|
const previous = this.binding;
|
|
@@ -188,7 +243,7 @@ export class CodeSession {
|
|
|
188
243
|
&& !previous.exited && !previous.controller.signal.aborted && sameConfiguration(previous.configuration, record);
|
|
189
244
|
const binding = reuse && previous ? previous : {
|
|
190
245
|
configuration: Object.freeze({ provider: record.provider, cwd: record.cwd, model: record.model,
|
|
191
|
-
effort: record.effort, permissionMode: record.permissionMode }),
|
|
246
|
+
effort: record.effort, permissionMode: record.permissionMode, thinking: record.thinking }),
|
|
192
247
|
controller: new AbortController(), opening: false, openingContext: null,
|
|
193
248
|
handle: null, resources: new Set(), resourceCloses: new Map(),
|
|
194
249
|
retiring: false, exited: false, closed: false, cancelPromise: null,
|
|
@@ -213,7 +268,7 @@ export class CodeSession {
|
|
|
213
268
|
const op = {
|
|
214
269
|
owner, context, binding, registry: this.registry,
|
|
215
270
|
normalizer: null, permissions: new Map(), syncingPermissions: false,
|
|
216
|
-
stopped: false, callbacksClosed: false, settled: false, failure: null, persistenceFailure: false,
|
|
271
|
+
stopped: false, dispatched: false, callbacksClosed: false, settled: false, failure: null, persistenceFailure: false,
|
|
217
272
|
interrupted, wake, work: Promise.resolve(),
|
|
218
273
|
};
|
|
219
274
|
this.operation = op;
|
|
@@ -226,7 +281,7 @@ export class CodeSession {
|
|
|
226
281
|
commitItem: item => this.commitItem(op, item),
|
|
227
282
|
failPersistence: error => this.failPersistence(op, error),
|
|
228
283
|
});
|
|
229
|
-
await this.run(op, record, text, reuse ? null : previous);
|
|
284
|
+
await this.run(op, record, text, reuse ? null : previous, promptUuid);
|
|
230
285
|
}).catch(async (error) => {
|
|
231
286
|
this.failPersistence(op, error);
|
|
232
287
|
await this.finish(op, null);
|
|
@@ -382,7 +437,8 @@ export class CodeSession {
|
|
|
382
437
|
openOptions(binding, record) {
|
|
383
438
|
return {
|
|
384
439
|
sessionId: record.sessionId, cwd: record.cwd, model: record.model,
|
|
385
|
-
effort: record.effort, permissionMode: record.permissionMode,
|
|
440
|
+
effort: record.effort, permissionMode: record.permissionMode, thinking: record.thinking,
|
|
441
|
+
nativeCursor: record.nativeCursor,
|
|
386
442
|
signal: binding.controller.signal, registry: this.registry,
|
|
387
443
|
onResource: resource => this.registerResource(binding, resource),
|
|
388
444
|
getTurnContext: () => {
|
|
@@ -503,7 +559,7 @@ export class CodeSession {
|
|
|
503
559
|
}
|
|
504
560
|
return opened;
|
|
505
561
|
}
|
|
506
|
-
async run(op, record, text, previous) {
|
|
562
|
+
async run(op, record, text, previous, promptUuid) {
|
|
507
563
|
let outcome = null;
|
|
508
564
|
try {
|
|
509
565
|
if (previous && !await this.cleanup(previous, false)) {
|
|
@@ -535,7 +591,8 @@ export class CodeSession {
|
|
|
535
591
|
if (!this.current(op))
|
|
536
592
|
return null;
|
|
537
593
|
}
|
|
538
|
-
|
|
594
|
+
op.dispatched = true;
|
|
595
|
+
return handle.send(text, promptUuid === null ? undefined : { promptUuid });
|
|
539
596
|
}), op.interrupted.then(() => null)]);
|
|
540
597
|
}
|
|
541
598
|
catch (error) {
|
|
@@ -560,7 +617,7 @@ export class CodeSession {
|
|
|
560
617
|
this.failPersistence(op, error);
|
|
561
618
|
}
|
|
562
619
|
if (outcome?.status === 'error' && !op.failure) {
|
|
563
|
-
op.failure = this.diagnostic('native_failed', 'Code provider turn failed');
|
|
620
|
+
op.failure = this.diagnostic('native_failed', op.binding.handle?.lastTurnFailureText ?? 'Code provider turn failed');
|
|
564
621
|
}
|
|
565
622
|
// Normalization can publish to a subscriber that cancels this very turn.
|
|
566
623
|
if (op.failure || op.stopped || op.persistenceFailure || outcome?.status === 'stopped') {
|
|
@@ -570,6 +627,8 @@ export class CodeSession {
|
|
|
570
627
|
op.settled = true;
|
|
571
628
|
op.registry.cancelRun(op.context.runId);
|
|
572
629
|
op.permissions.clear();
|
|
630
|
+
// Read after cleanup: a Stop or failure retires the runtime before it can consume more input.
|
|
631
|
+
const undeliveredFollowUps = op.owner.turnId === null ? [] : this.unconsumedFollowUps(op);
|
|
573
632
|
try {
|
|
574
633
|
const status = op.failure || op.persistenceFailure || outcome?.status === 'error' ? 'failed'
|
|
575
634
|
: op.stopped || outcome?.status === 'stopped' ? 'cancelled' : 'completed';
|
|
@@ -577,7 +636,8 @@ export class CodeSession {
|
|
|
577
636
|
? this.diagnostic('native_failed', 'Code provider turn failed') : null);
|
|
578
637
|
const result = op.owner.turnId === null
|
|
579
638
|
? this.options.store.setRuntimeState(op.owner, status === 'failed' ? 'failed' : 'idle', error)
|
|
580
|
-
: this.options.store.settleTurn(op.owner, { status, error
|
|
639
|
+
: this.options.store.settleTurn(op.owner, { status, error, undeliveredFollowUps,
|
|
640
|
+
...(op.dispatched ? {} : { dispatched: false }) });
|
|
581
641
|
// A durable failed terminal restores reads; the captured turn latch stays closed.
|
|
582
642
|
if (op.persistenceFailure && result.session.status === 'failed' && this.operation === op) {
|
|
583
643
|
this.persistenceError = null;
|
|
@@ -590,6 +650,93 @@ export class CodeSession {
|
|
|
590
650
|
this.lastUsedAt = this.options.now();
|
|
591
651
|
this.options.changed();
|
|
592
652
|
}
|
|
653
|
+
unconsumedFollowUps(op) {
|
|
654
|
+
try {
|
|
655
|
+
return [...(op.binding.handle?.unconsumedFollowUps?.() ?? [])];
|
|
656
|
+
}
|
|
657
|
+
catch {
|
|
658
|
+
console.warn('[code] follow_up_state_failed');
|
|
659
|
+
return [];
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
/**
|
|
663
|
+
* Offer one follow-up to the running turn. The durable reservation comes first, the native
|
|
664
|
+
* offer only after it, and the transcript records the message only once the runtime accepted
|
|
665
|
+
* it: a refusal before that is definitive, a failure after it is an unknown outcome.
|
|
666
|
+
*/
|
|
667
|
+
async steer(input) {
|
|
668
|
+
this.assertHealthy();
|
|
669
|
+
if (input.text.trimStart().startsWith('/')) {
|
|
670
|
+
throw new CodeStoreError('steer_command_unsupported', 'Slash commands cannot be sent as a follow-up', 400);
|
|
671
|
+
}
|
|
672
|
+
const op = this.operation;
|
|
673
|
+
if (!op || op.settled || op.owner.turnId !== input.turnId || op.owner.epoch !== input.epoch) {
|
|
674
|
+
throw new CodeStoreError('stale_owner', 'Code turn ownership has changed', 409);
|
|
675
|
+
}
|
|
676
|
+
const { store, sessionId } = this.options;
|
|
677
|
+
// Expected refusals are CodeStoreErrors and never poison the session; storage faults do.
|
|
678
|
+
const storage = (action) => {
|
|
679
|
+
try {
|
|
680
|
+
return action();
|
|
681
|
+
}
|
|
682
|
+
catch (error) {
|
|
683
|
+
if (error instanceof CodeStoreError)
|
|
684
|
+
throw error;
|
|
685
|
+
this.failPersistence(op, error);
|
|
686
|
+
throw new CodeServiceError('persistence_failed', 'Code session persistence failed');
|
|
687
|
+
}
|
|
688
|
+
};
|
|
689
|
+
const reservation = storage(() => store.reserveSteer({ ...input, sessionId }));
|
|
690
|
+
if (reservation.receipt)
|
|
691
|
+
return { receipt: reservation.receipt, duplicate: true };
|
|
692
|
+
const key = reservation.reservationId;
|
|
693
|
+
const refuse = (error) => {
|
|
694
|
+
storage(() => store.rejectSteer(sessionId, key));
|
|
695
|
+
throw error;
|
|
696
|
+
};
|
|
697
|
+
const handle = op.binding.handle;
|
|
698
|
+
if (!handle || !this.current(op))
|
|
699
|
+
return refuse(new CodeStoreError('stale_owner', 'Code turn is no longer current', 409));
|
|
700
|
+
if (typeof handle.steer !== 'function') {
|
|
701
|
+
return refuse(new CodeStoreError('unsupported_capability', 'This Code runtime does not take in-band follow-ups', 400));
|
|
702
|
+
}
|
|
703
|
+
let offered;
|
|
704
|
+
try {
|
|
705
|
+
offered = await handle.steer(input.text);
|
|
706
|
+
}
|
|
707
|
+
catch {
|
|
708
|
+
return refuse(new CodeStoreError('session_not_steerable', 'The running turn did not take the follow-up', 409));
|
|
709
|
+
}
|
|
710
|
+
if (!offered.accepted) {
|
|
711
|
+
return refuse(offered.reason === 'queue-full' ? new CodeStoreError('steer_queue_full', 'The running turn already has its follow-up', 409)
|
|
712
|
+
: offered.reason === 'not-ready' ? new CodeStoreError('session_not_steerable', 'This turn does not take a follow-up yet', 409)
|
|
713
|
+
: new CodeStoreError('stale_owner', 'Code turn is no longer current', 409));
|
|
714
|
+
}
|
|
715
|
+
// The input left this process: from here nothing may be retried as if it were unsent.
|
|
716
|
+
const unknown = () => {
|
|
717
|
+
try {
|
|
718
|
+
store.markSteerUnknown(sessionId, key);
|
|
719
|
+
}
|
|
720
|
+
catch {
|
|
721
|
+
console.warn('[code] steer_state_failed');
|
|
722
|
+
}
|
|
723
|
+
return new CodeServiceError('steer_outcome_unknown', 'Follow-up delivery could not be confirmed');
|
|
724
|
+
};
|
|
725
|
+
if (!this.current(op))
|
|
726
|
+
throw unknown();
|
|
727
|
+
try {
|
|
728
|
+
const committed = store.commitSteer(sessionId, key, input.text, offered.nativeId ?? null);
|
|
729
|
+
this.publish(committed.events);
|
|
730
|
+
return { receipt: committed.receipt, duplicate: false };
|
|
731
|
+
}
|
|
732
|
+
catch (error) {
|
|
733
|
+
const failure = unknown();
|
|
734
|
+
// Text the transcript does not hold must not keep running under this turn.
|
|
735
|
+
if (!op.settled && this.current(op))
|
|
736
|
+
this.failPersistence(op, error);
|
|
737
|
+
throw failure;
|
|
738
|
+
}
|
|
739
|
+
}
|
|
593
740
|
syncPermissions(op) {
|
|
594
741
|
if (op.syncingPermissions || !this.current(op) || !op.owner.turnId)
|
|
595
742
|
return;
|