gsd-pi 2.77.0-dev.538325aea → 2.77.0
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.md +35 -17
- package/dist/cli.js +21 -13
- package/dist/extension-registry.js +1 -1
- package/dist/headless-ui.d.ts +1 -1
- package/dist/headless.js +4 -2
- package/dist/loader.js +1 -0
- package/dist/onboarding.js +5 -5
- package/dist/provider-migrations.d.ts +2 -2
- package/dist/provider-migrations.js +1 -2
- package/dist/remote-questions-config.js +1 -1
- package/dist/resources/extensions/async-jobs/async-bash-tool.js +1 -1
- package/dist/resources/extensions/aws-auth/index.js +1 -2
- package/dist/resources/extensions/bg-shell/bg-shell-lifecycle.js +9 -6
- package/dist/resources/extensions/bg-shell/process-manager.js +1 -2
- package/dist/resources/extensions/browser-tools/index.js +1 -0
- package/dist/resources/extensions/claude-code-cli/index.js +1 -1
- package/dist/resources/extensions/claude-code-cli/partial-builder.js +17 -106
- package/dist/resources/extensions/claude-code-cli/stream-adapter.js +10 -17
- package/dist/resources/extensions/gsd/auto-dispatch.js +14 -40
- package/dist/resources/extensions/gsd/auto-post-unit.js +0 -34
- package/dist/resources/extensions/gsd/auto-recovery.js +1 -38
- package/dist/resources/extensions/gsd/auto-start.js +2 -16
- package/dist/resources/extensions/gsd/dispatch-guard.js +3 -44
- package/dist/resources/extensions/gsd/guided-flow.js +1 -1
- package/dist/resources/extensions/gsd/prompts/system.md +0 -1
- package/dist/resources/extensions/mcp-client/index.js +1 -1
- package/dist/resources/extensions/ollama/index.js +2 -1
- package/dist/resources/extensions/ollama/ollama-chat-provider.js +15 -5
- package/dist/resources/extensions/remote-questions/config.js +1 -12
- package/dist/resources/extensions/universal-config/index.js +1 -1
- package/dist/security-overrides.d.ts +1 -4
- package/dist/security-overrides.js +3 -16
- package/dist/tsconfig.extensions.tsbuildinfo +1 -1
- package/dist/web/standalone/.next/BUILD_ID +1 -1
- package/dist/web/standalone/.next/app-path-routes-manifest.json +10 -10
- package/dist/web/standalone/.next/build-manifest.json +4 -4
- package/dist/web/standalone/.next/prerender-manifest.json +3 -3
- package/dist/web/standalone/.next/react-loadable-manifest.json +1 -1
- package/dist/web/standalone/.next/required-server-files.json +3 -3
- package/dist/web/standalone/.next/server/app/_global-error/page.js +3 -3
- package/dist/web/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.html +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found/page.js +2 -2
- package/dist/web/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.rsc +3 -3
- package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/api/boot/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/boot/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route.js +2 -2
- package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/browse-directories/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/browse-directories/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/captures/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/captures/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/cleanup/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/cleanup/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/dev-mode/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/dev-mode/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/doctor/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/doctor/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/experimental/route.js +2 -2
- package/dist/web/standalone/.next/server/app/api/experimental/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/export-data/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/export-data/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/files/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/forensics/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/forensics/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/git/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/history/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/history/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/hooks/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/hooks/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/inspect/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/inspect/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/knowledge/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/knowledge/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/live-state/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/live-state/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/notifications/route.js +2 -2
- package/dist/web/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/onboarding/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/onboarding/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/preferences/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/preferences/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/projects/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/recovery/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/recovery/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/remote-questions/route.js +2 -2
- package/dist/web/standalone/.next/server/app/api/remote-questions/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/session/browser/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/session/browser/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/session/command/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/session/command/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/session/events/route.js +2 -2
- package/dist/web/standalone/.next/server/app/api/session/events/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/session/manage/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/session/manage/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/settings-data/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/settings-data/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/shutdown/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/skill-health/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/skill-health/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/steer/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/steer/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/switch-root/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/switch-root/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/terminal/input/route.js +2 -2
- package/dist/web/standalone/.next/server/app/api/terminal/input/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/terminal/resize/route.js +2 -2
- package/dist/web/standalone/.next/server/app/api/terminal/resize/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/terminal/sessions/route.js +2 -2
- package/dist/web/standalone/.next/server/app/api/terminal/sessions/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/terminal/stream/route.js +4 -4
- package/dist/web/standalone/.next/server/app/api/terminal/stream/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/terminal/upload/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/terminal/upload/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/undo/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/undo/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/update/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/api/visualizer/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/visualizer/route_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/index.html +1 -1
- package/dist/web/standalone/.next/server/app/index.rsc +4 -4
- package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +4 -4
- package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
- package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/page.js +2 -2
- package/dist/web/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app-paths-manifest.json +10 -10
- package/dist/web/standalone/.next/server/chunks/63.js +3 -3
- package/dist/web/standalone/.next/server/chunks/6897.js +3 -3
- package/dist/web/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/dist/web/standalone/.next/server/middleware-manifest.json +5 -5
- package/dist/web/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/dist/web/standalone/.next/server/middleware.js +2 -2
- package/dist/web/standalone/.next/server/next-font-manifest.js +1 -1
- package/dist/web/standalone/.next/server/next-font-manifest.json +1 -1
- package/dist/web/standalone/.next/server/pages/404.html +1 -1
- package/dist/web/standalone/.next/server/pages/500.html +1 -1
- package/dist/web/standalone/.next/server/server-reference-manifest.json +1 -1
- package/dist/web/standalone/.next/static/chunks/2826.e59e8578e2e28639.js +9 -0
- package/dist/web/standalone/.next/static/chunks/app/_not-found/{page-f2a7482d42a5614b.js → page-2f24283c162b6ab3.js} +1 -1
- package/dist/web/standalone/.next/static/chunks/app/{layout-a16c7a7ecdf0c2cf.js → layout-9ecfd95f343793f0.js} +1 -1
- package/dist/web/standalone/.next/static/chunks/app/page-151349214571e2b6.js +1 -0
- package/dist/web/standalone/.next/static/chunks/main-app-d3d4c336195465f9.js +1 -0
- package/dist/web/standalone/.next/static/chunks/next/dist/client/components/builtin/global-error-ab5a8926e07ec673.js +1 -0
- package/dist/web/standalone/.next/static/chunks/{webpack-1832629448831fdc.js → webpack-5fc74f13a25fa1bb.js} +1 -1
- package/dist/web/standalone/node_modules/node-pty/build/Makefile +2 -2
- package/dist/web/standalone/node_modules/node-pty/build/Release/pty.node +0 -0
- package/dist/web/standalone/node_modules/node-pty/build/pty.target.mk +14 -14
- package/dist/web/standalone/node_modules/node-pty/node-addon-api/node_addon_api.target.mk +14 -14
- package/dist/web/standalone/node_modules/node-pty/node-addon-api/node_addon_api_except.target.mk +14 -14
- package/dist/web/standalone/node_modules/node-pty/node-addon-api/node_addon_api_maybe.target.mk +14 -14
- package/dist/web/standalone/server.js +1 -1
- package/dist/web-mode.js +1 -1
- package/dist/welcome-screen.js +20 -19
- package/dist/wizard.js +5 -2
- package/package.json +7 -25
- package/packages/mcp-server/dist/server.d.ts.map +1 -1
- package/packages/mcp-server/dist/server.js +11 -15
- package/packages/mcp-server/dist/server.js.map +1 -1
- package/packages/mcp-server/src/server.ts +16 -17
- package/packages/mcp-server/tsconfig.tsbuildinfo +1 -1
- package/packages/native/tsconfig.json +1 -2
- package/packages/native/tsconfig.tsbuildinfo +1 -0
- package/pkg/dist/core/export-html/ansi-to-html.d.ts.map +1 -1
- package/pkg/dist/core/export-html/ansi-to-html.js +0 -1
- package/pkg/dist/core/export-html/ansi-to-html.js.map +1 -1
- package/pkg/dist/core/export-html/index.d.ts +1 -1
- package/pkg/dist/core/export-html/index.d.ts.map +1 -1
- package/pkg/dist/core/export-html/index.js +5 -39
- package/pkg/dist/core/export-html/index.js.map +1 -1
- package/pkg/dist/core/export-html/tool-renderer.d.ts +2 -2
- package/pkg/dist/core/export-html/tool-renderer.d.ts.map +1 -1
- package/pkg/dist/core/export-html/tool-renderer.js.map +1 -1
- package/scripts/ensure-workspace-builds.cjs +0 -2
- package/scripts/link-workspace-packages.cjs +0 -2
- package/scripts/postinstall.js +178 -9
- package/src/resources/extensions/async-jobs/async-bash-tool.ts +1 -1
- package/src/resources/extensions/aws-auth/index.ts +1 -2
- package/src/resources/extensions/bg-shell/bg-shell-lifecycle.ts +7 -4
- package/src/resources/extensions/bg-shell/index.ts +1 -2
- package/src/resources/extensions/bg-shell/process-manager.ts +1 -2
- package/src/resources/extensions/browser-tools/index.ts +1 -2
- package/src/resources/extensions/claude-code-cli/index.ts +1 -1
- package/src/resources/extensions/claude-code-cli/partial-builder.ts +23 -115
- package/src/resources/extensions/claude-code-cli/stream-adapter.ts +9 -19
- package/src/resources/extensions/claude-code-cli/tests/stream-adapter.test.ts +3 -27
- package/src/resources/extensions/gsd/auto-dispatch.ts +13 -43
- package/src/resources/extensions/gsd/auto-post-unit.ts +0 -33
- package/src/resources/extensions/gsd/auto-recovery.ts +1 -37
- package/src/resources/extensions/gsd/auto-start.ts +6 -20
- package/src/resources/extensions/gsd/dispatch-guard.ts +2 -44
- package/src/resources/extensions/gsd/guided-flow.ts +1 -1
- package/src/resources/extensions/gsd/prompts/system.md +0 -1
- package/src/resources/extensions/gsd/tests/auto-recovery.test.ts +0 -73
- package/src/resources/extensions/gsd/tests/complete-milestone-false-merge.test.ts +0 -15
- package/src/resources/extensions/gsd/tests/dispatch-complete-milestone-guard.test.ts +9 -9
- package/src/resources/extensions/gsd/tests/integration/worktree-e2e.test.ts +0 -11
- package/src/resources/extensions/gsd/tests/milestone-status-authoritative.test.ts +3 -3
- package/src/resources/extensions/gsd/tests/validate-milestone.test.ts +5 -127
- package/src/resources/extensions/mcp-client/index.ts +1 -1
- package/src/resources/extensions/ollama/index.ts +3 -3
- package/src/resources/extensions/ollama/ollama-chat-provider.ts +18 -6
- package/src/resources/extensions/remote-questions/config.ts +4 -15
- package/src/resources/extensions/search-the-web/index.ts +1 -2
- package/src/resources/extensions/shared/tests/format-utils.test.ts +3 -5
- package/src/resources/extensions/universal-config/index.ts +1 -1
- package/dist/web/standalone/.next/static/chunks/2826.d445fb428ef41fa1.js +0 -9
- package/dist/web/standalone/.next/static/chunks/app/page-5b113fd32bc2a1c3.js +0 -1
- package/dist/web/standalone/.next/static/chunks/main-app-fdab67f7802d7832.js +0 -1
- package/dist/web/standalone/.next/static/chunks/next/dist/client/components/builtin/global-error-459824ffb8c323dd.js +0 -1
- package/packages/gsd-agent-core/dist/agent-session.d.ts +0 -716
- package/packages/gsd-agent-core/dist/agent-session.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/agent-session.js +0 -2595
- package/packages/gsd-agent-core/dist/agent-session.js.map +0 -1
- package/packages/gsd-agent-core/dist/artifact-manager.d.ts +0 -52
- package/packages/gsd-agent-core/dist/artifact-manager.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/artifact-manager.js +0 -118
- package/packages/gsd-agent-core/dist/artifact-manager.js.map +0 -1
- package/packages/gsd-agent-core/dist/bash-executor.d.ts +0 -57
- package/packages/gsd-agent-core/dist/bash-executor.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/bash-executor.js +0 -282
- package/packages/gsd-agent-core/dist/bash-executor.js.map +0 -1
- package/packages/gsd-agent-core/dist/blob-store.d.ts +0 -39
- package/packages/gsd-agent-core/dist/blob-store.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/blob-store.js +0 -151
- package/packages/gsd-agent-core/dist/blob-store.js.map +0 -1
- package/packages/gsd-agent-core/dist/compaction/branch-summarization.d.ts +0 -90
- package/packages/gsd-agent-core/dist/compaction/branch-summarization.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/compaction/branch-summarization.js +0 -207
- package/packages/gsd-agent-core/dist/compaction/branch-summarization.js.map +0 -1
- package/packages/gsd-agent-core/dist/compaction/compaction.d.ts +0 -137
- package/packages/gsd-agent-core/dist/compaction/compaction.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/compaction/compaction.js +0 -621
- package/packages/gsd-agent-core/dist/compaction/compaction.js.map +0 -1
- package/packages/gsd-agent-core/dist/compaction/index.d.ts +0 -7
- package/packages/gsd-agent-core/dist/compaction/index.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/compaction/index.js +0 -7
- package/packages/gsd-agent-core/dist/compaction/index.js.map +0 -1
- package/packages/gsd-agent-core/dist/compaction/utils.d.ts +0 -78
- package/packages/gsd-agent-core/dist/compaction/utils.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/compaction/utils.js +0 -263
- package/packages/gsd-agent-core/dist/compaction/utils.js.map +0 -1
- package/packages/gsd-agent-core/dist/compaction-orchestrator.d.ts +0 -90
- package/packages/gsd-agent-core/dist/compaction-orchestrator.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/compaction-orchestrator.js +0 -338
- package/packages/gsd-agent-core/dist/compaction-orchestrator.js.map +0 -1
- package/packages/gsd-agent-core/dist/contextual-tips.d.ts +0 -43
- package/packages/gsd-agent-core/dist/contextual-tips.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/contextual-tips.js +0 -208
- package/packages/gsd-agent-core/dist/contextual-tips.js.map +0 -1
- package/packages/gsd-agent-core/dist/export-html/ansi-to-html.d.ts +0 -18
- package/packages/gsd-agent-core/dist/export-html/ansi-to-html.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/export-html/ansi-to-html.js +0 -250
- package/packages/gsd-agent-core/dist/export-html/ansi-to-html.js.map +0 -1
- package/packages/gsd-agent-core/dist/export-html/index.d.ts +0 -37
- package/packages/gsd-agent-core/dist/export-html/index.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/export-html/index.js +0 -257
- package/packages/gsd-agent-core/dist/export-html/index.js.map +0 -1
- package/packages/gsd-agent-core/dist/export-html/template.css +0 -971
- package/packages/gsd-agent-core/dist/export-html/template.html +0 -54
- package/packages/gsd-agent-core/dist/export-html/template.js +0 -1583
- package/packages/gsd-agent-core/dist/export-html/tool-renderer.d.ts +0 -38
- package/packages/gsd-agent-core/dist/export-html/tool-renderer.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/export-html/tool-renderer.js +0 -70
- package/packages/gsd-agent-core/dist/export-html/tool-renderer.js.map +0 -1
- package/packages/gsd-agent-core/dist/export-html/vendor/highlight.min.js +0 -1213
- package/packages/gsd-agent-core/dist/export-html/vendor/marked.min.js +0 -6
- package/packages/gsd-agent-core/dist/fallback-resolver.d.ts +0 -75
- package/packages/gsd-agent-core/dist/fallback-resolver.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/fallback-resolver.js +0 -118
- package/packages/gsd-agent-core/dist/fallback-resolver.js.map +0 -1
- package/packages/gsd-agent-core/dist/image-overflow-recovery.d.ts +0 -44
- package/packages/gsd-agent-core/dist/image-overflow-recovery.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/image-overflow-recovery.js +0 -99
- package/packages/gsd-agent-core/dist/image-overflow-recovery.js.map +0 -1
- package/packages/gsd-agent-core/dist/index.d.ts +0 -14
- package/packages/gsd-agent-core/dist/index.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/index.js +0 -19
- package/packages/gsd-agent-core/dist/index.js.map +0 -1
- package/packages/gsd-agent-core/dist/keybindings.d.ts +0 -47
- package/packages/gsd-agent-core/dist/keybindings.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/keybindings.js +0 -156
- package/packages/gsd-agent-core/dist/keybindings.js.map +0 -1
- package/packages/gsd-agent-core/dist/lifecycle-hooks.d.ts +0 -42
- package/packages/gsd-agent-core/dist/lifecycle-hooks.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/lifecycle-hooks.js +0 -204
- package/packages/gsd-agent-core/dist/lifecycle-hooks.js.map +0 -1
- package/packages/gsd-agent-core/dist/retry-handler.d.ts +0 -128
- package/packages/gsd-agent-core/dist/retry-handler.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/retry-handler.js +0 -518
- package/packages/gsd-agent-core/dist/retry-handler.js.map +0 -1
- package/packages/gsd-agent-core/dist/sdk.d.ts +0 -159
- package/packages/gsd-agent-core/dist/sdk.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/sdk.js +0 -375
- package/packages/gsd-agent-core/dist/sdk.js.map +0 -1
- package/packages/gsd-agent-core/dist/system-prompt.d.ts +0 -28
- package/packages/gsd-agent-core/dist/system-prompt.d.ts.map +0 -1
- package/packages/gsd-agent-core/dist/system-prompt.js +0 -201
- package/packages/gsd-agent-core/dist/system-prompt.js.map +0 -1
- package/packages/gsd-agent-core/package.json +0 -25
- package/packages/gsd-agent-core/scripts/copy-assets.cjs +0 -43
- package/packages/gsd-agent-core/src/agent-session.test.ts +0 -169
- package/packages/gsd-agent-core/src/agent-session.ts +0 -3358
- package/packages/gsd-agent-core/src/artifact-manager.ts +0 -126
- package/packages/gsd-agent-core/src/bash-executor.ts +0 -352
- package/packages/gsd-agent-core/src/blob-store.ts +0 -154
- package/packages/gsd-agent-core/src/compaction/branch-summarization.ts +0 -317
- package/packages/gsd-agent-core/src/compaction/compaction.ts +0 -855
- package/packages/gsd-agent-core/src/compaction/index.ts +0 -7
- package/packages/gsd-agent-core/src/compaction/utils.ts +0 -312
- package/packages/gsd-agent-core/src/compaction-orchestrator.ts +0 -449
- package/packages/gsd-agent-core/src/contextual-tips.ts +0 -232
- package/packages/gsd-agent-core/src/export-html/ansi-to-html.ts +0 -259
- package/packages/gsd-agent-core/src/export-html/index.ts +0 -345
- package/packages/gsd-agent-core/src/export-html/template.css +0 -971
- package/packages/gsd-agent-core/src/export-html/template.html +0 -54
- package/packages/gsd-agent-core/src/export-html/template.js +0 -1583
- package/packages/gsd-agent-core/src/export-html/tool-renderer.ts +0 -114
- package/packages/gsd-agent-core/src/export-html/vendor/highlight.min.js +0 -1213
- package/packages/gsd-agent-core/src/export-html/vendor/marked.min.js +0 -6
- package/packages/gsd-agent-core/src/fallback-resolver.ts +0 -193
- package/packages/gsd-agent-core/src/image-overflow-recovery.ts +0 -120
- package/packages/gsd-agent-core/src/index.ts +0 -68
- package/packages/gsd-agent-core/src/keybindings.ts +0 -220
- package/packages/gsd-agent-core/src/lifecycle-hooks.ts +0 -284
- package/packages/gsd-agent-core/src/retry-handler.ts +0 -620
- package/packages/gsd-agent-core/src/sdk.ts +0 -550
- package/packages/gsd-agent-core/src/system-prompt.ts +0 -270
- package/packages/gsd-agent-core/tsconfig.json +0 -28
- package/packages/gsd-agent-core/tsconfig.tsbuildinfo +0 -1
- package/packages/gsd-agent-modes/dist/cli/args.d.ts +0 -58
- package/packages/gsd-agent-modes/dist/cli/args.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/cli/args.js +0 -324
- package/packages/gsd-agent-modes/dist/cli/args.js.map +0 -1
- package/packages/gsd-agent-modes/dist/cli/config-selector.d.ts +0 -13
- package/packages/gsd-agent-modes/dist/cli/config-selector.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/cli/config-selector.js +0 -32
- package/packages/gsd-agent-modes/dist/cli/config-selector.js.map +0 -1
- package/packages/gsd-agent-modes/dist/cli/file-processor.d.ts +0 -15
- package/packages/gsd-agent-modes/dist/cli/file-processor.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/cli/file-processor.js +0 -86
- package/packages/gsd-agent-modes/dist/cli/file-processor.js.map +0 -1
- package/packages/gsd-agent-modes/dist/cli/list-models.d.ts +0 -21
- package/packages/gsd-agent-modes/dist/cli/list-models.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/cli/list-models.js +0 -114
- package/packages/gsd-agent-modes/dist/cli/list-models.js.map +0 -1
- package/packages/gsd-agent-modes/dist/cli/session-picker.d.ts +0 -10
- package/packages/gsd-agent-modes/dist/cli/session-picker.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/cli/session-picker.js +0 -37
- package/packages/gsd-agent-modes/dist/cli/session-picker.js.map +0 -1
- package/packages/gsd-agent-modes/dist/index.d.ts +0 -7
- package/packages/gsd-agent-modes/dist/index.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/index.js +0 -7
- package/packages/gsd-agent-modes/dist/index.js.map +0 -1
- package/packages/gsd-agent-modes/dist/main.d.ts +0 -8
- package/packages/gsd-agent-modes/dist/main.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/main.js +0 -491
- package/packages/gsd-agent-modes/dist/main.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/armin.d.ts +0 -34
- package/packages/gsd-agent-modes/dist/modes/interactive/components/armin.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/armin.js +0 -330
- package/packages/gsd-agent-modes/dist/modes/interactive/components/armin.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/assistant-message.d.ts +0 -29
- package/packages/gsd-agent-modes/dist/modes/interactive/components/assistant-message.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/assistant-message.js +0 -141
- package/packages/gsd-agent-modes/dist/modes/interactive/components/assistant-message.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/bash-execution.d.ts +0 -36
- package/packages/gsd-agent-modes/dist/modes/interactive/components/bash-execution.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/bash-execution.js +0 -157
- package/packages/gsd-agent-modes/dist/modes/interactive/components/bash-execution.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/bordered-loader.d.ts +0 -16
- package/packages/gsd-agent-modes/dist/modes/interactive/components/bordered-loader.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/bordered-loader.js +0 -48
- package/packages/gsd-agent-modes/dist/modes/interactive/components/bordered-loader.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/branch-summary-message.d.ts +0 -16
- package/packages/gsd-agent-modes/dist/modes/interactive/components/branch-summary-message.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/branch-summary-message.js +0 -43
- package/packages/gsd-agent-modes/dist/modes/interactive/components/branch-summary-message.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/chat-frame.d.ts +0 -11
- package/packages/gsd-agent-modes/dist/modes/interactive/components/chat-frame.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/chat-frame.js +0 -47
- package/packages/gsd-agent-modes/dist/modes/interactive/components/chat-frame.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/compaction-summary-message.d.ts +0 -16
- package/packages/gsd-agent-modes/dist/modes/interactive/components/compaction-summary-message.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/compaction-summary-message.js +0 -44
- package/packages/gsd-agent-modes/dist/modes/interactive/components/compaction-summary-message.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/config-selector.d.ts +0 -71
- package/packages/gsd-agent-modes/dist/modes/interactive/components/config-selector.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/config-selector.js +0 -474
- package/packages/gsd-agent-modes/dist/modes/interactive/components/config-selector.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/countdown-timer.d.ts +0 -15
- package/packages/gsd-agent-modes/dist/modes/interactive/components/countdown-timer.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/countdown-timer.js +0 -32
- package/packages/gsd-agent-modes/dist/modes/interactive/components/countdown-timer.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/custom-editor.d.ts +0 -22
- package/packages/gsd-agent-modes/dist/modes/interactive/components/custom-editor.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/custom-editor.js +0 -70
- package/packages/gsd-agent-modes/dist/modes/interactive/components/custom-editor.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/custom-message.d.ts +0 -20
- package/packages/gsd-agent-modes/dist/modes/interactive/components/custom-message.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/custom-message.js +0 -75
- package/packages/gsd-agent-modes/dist/modes/interactive/components/custom-message.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/daxnuts.d.ts +0 -23
- package/packages/gsd-agent-modes/dist/modes/interactive/components/daxnuts.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/daxnuts.js +0 -140
- package/packages/gsd-agent-modes/dist/modes/interactive/components/daxnuts.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/diff.d.ts +0 -12
- package/packages/gsd-agent-modes/dist/modes/interactive/components/diff.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/diff.js +0 -133
- package/packages/gsd-agent-modes/dist/modes/interactive/components/diff.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/dynamic-border.d.ts +0 -33
- package/packages/gsd-agent-modes/dist/modes/interactive/components/dynamic-border.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/dynamic-border.js +0 -82
- package/packages/gsd-agent-modes/dist/modes/interactive/components/dynamic-border.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/extension-editor.d.ts +0 -20
- package/packages/gsd-agent-modes/dist/modes/interactive/components/extension-editor.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/extension-editor.js +0 -111
- package/packages/gsd-agent-modes/dist/modes/interactive/components/extension-editor.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/extension-input.d.ts +0 -24
- package/packages/gsd-agent-modes/dist/modes/interactive/components/extension-input.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/extension-input.js +0 -63
- package/packages/gsd-agent-modes/dist/modes/interactive/components/extension-input.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/extension-selector.d.ts +0 -33
- package/packages/gsd-agent-modes/dist/modes/interactive/components/extension-selector.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/extension-selector.js +0 -118
- package/packages/gsd-agent-modes/dist/modes/interactive/components/extension-selector.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/footer.d.ts +0 -32
- package/packages/gsd-agent-modes/dist/modes/interactive/components/footer.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/footer.js +0 -230
- package/packages/gsd-agent-modes/dist/modes/interactive/components/footer.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/index.d.ts +0 -34
- package/packages/gsd-agent-modes/dist/modes/interactive/components/index.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/index.js +0 -36
- package/packages/gsd-agent-modes/dist/modes/interactive/components/index.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/keybinding-hints.d.ts +0 -48
- package/packages/gsd-agent-modes/dist/modes/interactive/components/keybinding-hints.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/keybinding-hints.js +0 -72
- package/packages/gsd-agent-modes/dist/modes/interactive/components/keybinding-hints.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/login-dialog.d.ts +0 -63
- package/packages/gsd-agent-modes/dist/modes/interactive/components/login-dialog.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/login-dialog.js +0 -213
- package/packages/gsd-agent-modes/dist/modes/interactive/components/login-dialog.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/model-selector.d.ts +0 -86
- package/packages/gsd-agent-modes/dist/modes/interactive/components/model-selector.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/model-selector.js +0 -536
- package/packages/gsd-agent-modes/dist/modes/interactive/components/model-selector.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/oauth-selector.d.ts +0 -19
- package/packages/gsd-agent-modes/dist/modes/interactive/components/oauth-selector.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/oauth-selector.js +0 -93
- package/packages/gsd-agent-modes/dist/modes/interactive/components/oauth-selector.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/provider-manager.d.ts +0 -30
- package/packages/gsd-agent-modes/dist/modes/interactive/components/provider-manager.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/provider-manager.js +0 -169
- package/packages/gsd-agent-modes/dist/modes/interactive/components/provider-manager.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/scoped-models-selector.d.ts +0 -49
- package/packages/gsd-agent-modes/dist/modes/interactive/components/scoped-models-selector.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/scoped-models-selector.js +0 -267
- package/packages/gsd-agent-modes/dist/modes/interactive/components/scoped-models-selector.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/session-selector-search.d.ts +0 -21
- package/packages/gsd-agent-modes/dist/modes/interactive/components/session-selector-search.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/session-selector-search.js +0 -155
- package/packages/gsd-agent-modes/dist/modes/interactive/components/session-selector-search.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/session-selector.d.ts +0 -97
- package/packages/gsd-agent-modes/dist/modes/interactive/components/session-selector.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/session-selector.js +0 -810
- package/packages/gsd-agent-modes/dist/modes/interactive/components/session-selector.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/settings-selector.d.ts +0 -71
- package/packages/gsd-agent-modes/dist/modes/interactive/components/settings-selector.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/settings-selector.js +0 -320
- package/packages/gsd-agent-modes/dist/modes/interactive/components/settings-selector.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/show-images-selector.d.ts +0 -10
- package/packages/gsd-agent-modes/dist/modes/interactive/components/show-images-selector.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/show-images-selector.js +0 -34
- package/packages/gsd-agent-modes/dist/modes/interactive/components/show-images-selector.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/skill-invocation-message.d.ts +0 -17
- package/packages/gsd-agent-modes/dist/modes/interactive/components/skill-invocation-message.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/skill-invocation-message.js +0 -46
- package/packages/gsd-agent-modes/dist/modes/interactive/components/skill-invocation-message.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/theme-selector.d.ts +0 -11
- package/packages/gsd-agent-modes/dist/modes/interactive/components/theme-selector.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/theme-selector.js +0 -45
- package/packages/gsd-agent-modes/dist/modes/interactive/components/theme-selector.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/thinking-selector.d.ts +0 -11
- package/packages/gsd-agent-modes/dist/modes/interactive/components/thinking-selector.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/thinking-selector.js +0 -46
- package/packages/gsd-agent-modes/dist/modes/interactive/components/thinking-selector.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/timestamp.d.ts +0 -15
- package/packages/gsd-agent-modes/dist/modes/interactive/components/timestamp.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/timestamp.js +0 -40
- package/packages/gsd-agent-modes/dist/modes/interactive/components/timestamp.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/tool-execution.d.ts +0 -111
- package/packages/gsd-agent-modes/dist/modes/interactive/components/tool-execution.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/tool-execution.js +0 -984
- package/packages/gsd-agent-modes/dist/modes/interactive/components/tool-execution.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/tree-render-utils.d.ts +0 -44
- package/packages/gsd-agent-modes/dist/modes/interactive/components/tree-render-utils.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/tree-render-utils.js +0 -61
- package/packages/gsd-agent-modes/dist/modes/interactive/components/tree-render-utils.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/tree-selector.d.ts +0 -109
- package/packages/gsd-agent-modes/dist/modes/interactive/components/tree-selector.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/tree-selector.js +0 -1035
- package/packages/gsd-agent-modes/dist/modes/interactive/components/tree-selector.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/user-message-selector.d.ts +0 -30
- package/packages/gsd-agent-modes/dist/modes/interactive/components/user-message-selector.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/user-message-selector.js +0 -112
- package/packages/gsd-agent-modes/dist/modes/interactive/components/user-message-selector.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/user-message.d.ts +0 -12
- package/packages/gsd-agent-modes/dist/modes/interactive/components/user-message.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/user-message.js +0 -38
- package/packages/gsd-agent-modes/dist/modes/interactive/components/user-message.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/visual-truncate.d.ts +0 -24
- package/packages/gsd-agent-modes/dist/modes/interactive/components/visual-truncate.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/visual-truncate.js +0 -33
- package/packages/gsd-agent-modes/dist/modes/interactive/components/visual-truncate.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/controllers/chat-controller.d.ts +0 -27
- package/packages/gsd-agent-modes/dist/modes/interactive/controllers/chat-controller.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/controllers/chat-controller.js +0 -793
- package/packages/gsd-agent-modes/dist/modes/interactive/controllers/chat-controller.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/controllers/extension-ui-controller.d.ts +0 -4
- package/packages/gsd-agent-modes/dist/modes/interactive/controllers/extension-ui-controller.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/controllers/extension-ui-controller.js +0 -62
- package/packages/gsd-agent-modes/dist/modes/interactive/controllers/extension-ui-controller.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/controllers/input-controller.d.ts +0 -22
- package/packages/gsd-agent-modes/dist/modes/interactive/controllers/input-controller.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/controllers/input-controller.js +0 -118
- package/packages/gsd-agent-modes/dist/modes/interactive/controllers/input-controller.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/controllers/model-controller.d.ts +0 -7
- package/packages/gsd-agent-modes/dist/modes/interactive/controllers/model-controller.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/controllers/model-controller.js +0 -68
- package/packages/gsd-agent-modes/dist/modes/interactive/controllers/model-controller.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/interactive-mode-state.d.ts +0 -50
- package/packages/gsd-agent-modes/dist/modes/interactive/interactive-mode-state.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/interactive-mode-state.js +0 -2
- package/packages/gsd-agent-modes/dist/modes/interactive/interactive-mode-state.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/interactive-mode.d.ts +0 -358
- package/packages/gsd-agent-modes/dist/modes/interactive/interactive-mode.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/interactive-mode.js +0 -3409
- package/packages/gsd-agent-modes/dist/modes/interactive/interactive-mode.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/slash-command-handlers.d.ts +0 -77
- package/packages/gsd-agent-modes/dist/modes/interactive/slash-command-handlers.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/slash-command-handlers.js +0 -529
- package/packages/gsd-agent-modes/dist/modes/interactive/slash-command-handlers.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/utils/shorten-path.d.ts +0 -6
- package/packages/gsd-agent-modes/dist/modes/interactive/utils/shorten-path.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/utils/shorten-path.js +0 -15
- package/packages/gsd-agent-modes/dist/modes/interactive/utils/shorten-path.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/print-mode.d.ts +0 -28
- package/packages/gsd-agent-modes/dist/modes/print-mode.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/print-mode.js +0 -84
- package/packages/gsd-agent-modes/dist/modes/print-mode.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/rpc/jsonl.d.ts +0 -17
- package/packages/gsd-agent-modes/dist/modes/rpc/jsonl.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/rpc/jsonl.js +0 -49
- package/packages/gsd-agent-modes/dist/modes/rpc/jsonl.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/rpc/remote-terminal.d.ts +0 -37
- package/packages/gsd-agent-modes/dist/modes/rpc/remote-terminal.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/rpc/remote-terminal.js +0 -84
- package/packages/gsd-agent-modes/dist/modes/rpc/remote-terminal.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/rpc/rpc-client.d.ts +0 -243
- package/packages/gsd-agent-modes/dist/modes/rpc/rpc-client.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/rpc/rpc-client.js +0 -464
- package/packages/gsd-agent-modes/dist/modes/rpc/rpc-client.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/rpc/rpc-mode.d.ts +0 -25
- package/packages/gsd-agent-modes/dist/modes/rpc/rpc-mode.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/rpc/rpc-mode.js +0 -750
- package/packages/gsd-agent-modes/dist/modes/rpc/rpc-mode.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/rpc/rpc-types.d.ts +0 -511
- package/packages/gsd-agent-modes/dist/modes/rpc/rpc-types.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/rpc/rpc-types.js +0 -8
- package/packages/gsd-agent-modes/dist/modes/rpc/rpc-types.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/shared/command-context-actions.d.ts +0 -19
- package/packages/gsd-agent-modes/dist/modes/shared/command-context-actions.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/shared/command-context-actions.js +0 -45
- package/packages/gsd-agent-modes/dist/modes/shared/command-context-actions.js.map +0 -1
- package/packages/gsd-agent-modes/dist/pi-coding-agent-compat.d.ts +0 -22
- package/packages/gsd-agent-modes/dist/pi-coding-agent-compat.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/pi-coding-agent-compat.js +0 -21
- package/packages/gsd-agent-modes/dist/pi-coding-agent-compat.js.map +0 -1
- package/packages/gsd-agent-modes/dist/pi-tui-compat.d.ts +0 -4
- package/packages/gsd-agent-modes/dist/pi-tui-compat.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/pi-tui-compat.js +0 -3
- package/packages/gsd-agent-modes/dist/pi-tui-compat.js.map +0 -1
- package/packages/gsd-agent-modes/dist/theme.d.ts +0 -15
- package/packages/gsd-agent-modes/dist/theme.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/theme.js +0 -23
- package/packages/gsd-agent-modes/dist/theme.js.map +0 -1
- package/packages/gsd-agent-modes/dist/utils/theme.d.ts +0 -16
- package/packages/gsd-agent-modes/dist/utils/theme.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/utils/theme.js +0 -11
- package/packages/gsd-agent-modes/dist/utils/theme.js.map +0 -1
- package/packages/gsd-agent-modes/package.json +0 -23
- package/packages/gsd-agent-modes/src/cli/args.ts +0 -350
- package/packages/gsd-agent-modes/src/cli/config-selector.ts +0 -54
- package/packages/gsd-agent-modes/src/cli/file-processor.ts +0 -107
- package/packages/gsd-agent-modes/src/cli/list-models.ts +0 -141
- package/packages/gsd-agent-modes/src/cli/session-picker.ts +0 -59
- package/packages/gsd-agent-modes/src/index.ts +0 -6
- package/packages/gsd-agent-modes/src/main.ts +0 -614
- package/packages/gsd-agent-modes/src/modes/interactive/components/__tests__/login-dialog.test.ts +0 -24
- package/packages/gsd-agent-modes/src/modes/interactive/components/__tests__/provider-display-name.test.ts +0 -18
- package/packages/gsd-agent-modes/src/modes/interactive/components/__tests__/timestamp.test.ts +0 -38
- package/packages/gsd-agent-modes/src/modes/interactive/components/__tests__/tool-execution.test.ts +0 -171
- package/packages/gsd-agent-modes/src/modes/interactive/components/armin.ts +0 -382
- package/packages/gsd-agent-modes/src/modes/interactive/components/assistant-message.ts +0 -178
- package/packages/gsd-agent-modes/src/modes/interactive/components/bash-execution.ts +0 -212
- package/packages/gsd-agent-modes/src/modes/interactive/components/bordered-loader.ts +0 -66
- package/packages/gsd-agent-modes/src/modes/interactive/components/branch-summary-message.ts +0 -59
- package/packages/gsd-agent-modes/src/modes/interactive/components/chat-frame.ts +0 -67
- package/packages/gsd-agent-modes/src/modes/interactive/components/compaction-summary-message.ts +0 -60
- package/packages/gsd-agent-modes/src/modes/interactive/components/config-selector.ts +0 -597
- package/packages/gsd-agent-modes/src/modes/interactive/components/countdown-timer.ts +0 -41
- package/packages/gsd-agent-modes/src/modes/interactive/components/custom-editor.ts +0 -88
- package/packages/gsd-agent-modes/src/modes/interactive/components/custom-message.ts +0 -100
- package/packages/gsd-agent-modes/src/modes/interactive/components/daxnuts.ts +0 -165
- package/packages/gsd-agent-modes/src/modes/interactive/components/diff.ts +0 -147
- package/packages/gsd-agent-modes/src/modes/interactive/components/dynamic-border.test.ts +0 -73
- package/packages/gsd-agent-modes/src/modes/interactive/components/dynamic-border.ts +0 -89
- package/packages/gsd-agent-modes/src/modes/interactive/components/extension-editor.ts +0 -151
- package/packages/gsd-agent-modes/src/modes/interactive/components/extension-input.ts +0 -100
- package/packages/gsd-agent-modes/src/modes/interactive/components/extension-selector.ts +0 -156
- package/packages/gsd-agent-modes/src/modes/interactive/components/footer.ts +0 -257
- package/packages/gsd-agent-modes/src/modes/interactive/components/index.ts +0 -35
- package/packages/gsd-agent-modes/src/modes/interactive/components/keybinding-hints.ts +0 -84
- package/packages/gsd-agent-modes/src/modes/interactive/components/login-dialog.ts +0 -257
- package/packages/gsd-agent-modes/src/modes/interactive/components/model-selector.ts +0 -656
- package/packages/gsd-agent-modes/src/modes/interactive/components/oauth-selector.ts +0 -122
- package/packages/gsd-agent-modes/src/modes/interactive/components/provider-manager.ts +0 -210
- package/packages/gsd-agent-modes/src/modes/interactive/components/scoped-models-selector.ts +0 -342
- package/packages/gsd-agent-modes/src/modes/interactive/components/session-selector-search.ts +0 -194
- package/packages/gsd-agent-modes/src/modes/interactive/components/session-selector.ts +0 -1011
- package/packages/gsd-agent-modes/src/modes/interactive/components/settings-selector.ts +0 -452
- package/packages/gsd-agent-modes/src/modes/interactive/components/show-images-selector.ts +0 -45
- package/packages/gsd-agent-modes/src/modes/interactive/components/skill-invocation-message.ts +0 -56
- package/packages/gsd-agent-modes/src/modes/interactive/components/theme-selector.ts +0 -63
- package/packages/gsd-agent-modes/src/modes/interactive/components/thinking-selector.ts +0 -64
- package/packages/gsd-agent-modes/src/modes/interactive/components/timestamp.ts +0 -48
- package/packages/gsd-agent-modes/src/modes/interactive/components/tool-execution.ts +0 -1157
- package/packages/gsd-agent-modes/src/modes/interactive/components/tree-render-utils.ts +0 -81
- package/packages/gsd-agent-modes/src/modes/interactive/components/tree-selector.ts +0 -1208
- package/packages/gsd-agent-modes/src/modes/interactive/components/user-message-selector.ts +0 -145
- package/packages/gsd-agent-modes/src/modes/interactive/components/user-message.ts +0 -44
- package/packages/gsd-agent-modes/src/modes/interactive/components/visual-truncate.ts +0 -50
- package/packages/gsd-agent-modes/src/modes/interactive/controllers/chat-controller-ordering.test.ts +0 -1430
- package/packages/gsd-agent-modes/src/modes/interactive/controllers/chat-controller.test.ts +0 -71
- package/packages/gsd-agent-modes/src/modes/interactive/controllers/chat-controller.ts +0 -957
- package/packages/gsd-agent-modes/src/modes/interactive/controllers/extension-ui-controller.ts +0 -63
- package/packages/gsd-agent-modes/src/modes/interactive/controllers/input-controller.test.ts +0 -183
- package/packages/gsd-agent-modes/src/modes/interactive/controllers/input-controller.ts +0 -140
- package/packages/gsd-agent-modes/src/modes/interactive/controllers/model-controller.ts +0 -77
- package/packages/gsd-agent-modes/src/modes/interactive/interactive-mode-ordering.test.ts +0 -44
- package/packages/gsd-agent-modes/src/modes/interactive/interactive-mode-state.ts +0 -49
- package/packages/gsd-agent-modes/src/modes/interactive/interactive-mode.ts +0 -4195
- package/packages/gsd-agent-modes/src/modes/interactive/slash-command-handlers.ts +0 -670
- package/packages/gsd-agent-modes/src/modes/interactive/utils/shorten-path.ts +0 -14
- package/packages/gsd-agent-modes/src/modes/print-mode.ts +0 -106
- package/packages/gsd-agent-modes/src/modes/rpc/jsonl.ts +0 -58
- package/packages/gsd-agent-modes/src/modes/rpc/remote-terminal.ts +0 -109
- package/packages/gsd-agent-modes/src/modes/rpc/rpc-client.ts +0 -572
- package/packages/gsd-agent-modes/src/modes/rpc/rpc-mode.ts +0 -902
- package/packages/gsd-agent-modes/src/modes/rpc/rpc-protocol-v2.test.ts +0 -971
- package/packages/gsd-agent-modes/src/modes/rpc/rpc-types.ts +0 -335
- package/packages/gsd-agent-modes/src/modes/shared/command-context-actions.ts +0 -53
- package/packages/gsd-agent-modes/src/pi-coding-agent-compat.ts +0 -42
- package/packages/gsd-agent-modes/src/pi-tui-compat.ts +0 -4
- package/packages/gsd-agent-modes/src/theme.ts +0 -25
- package/packages/gsd-agent-modes/src/utils/theme.ts +0 -24
- package/packages/gsd-agent-modes/tsconfig.json +0 -28
- package/packages/gsd-agent-modes/tsconfig.tsbuildinfo +0 -1
- package/packages/gsd-agent-types/dist/index.d.ts +0 -176
- package/packages/gsd-agent-types/dist/index.d.ts.map +0 -1
- package/packages/gsd-agent-types/dist/index.js +0 -24
- package/packages/gsd-agent-types/dist/index.js.map +0 -1
- package/packages/gsd-agent-types/package.json +0 -24
- package/packages/gsd-agent-types/src/index.ts +0 -206
- package/packages/gsd-agent-types/tsconfig.json +0 -25
- package/packages/gsd-agent-types/tsconfig.tsbuildinfo +0 -1
- package/packages/native/dist/tsconfig.tsbuildinfo +0 -1
- package/scripts/install.js +0 -512
- package/src/resources/extensions/claude-code-cli/tests/provider-registration.test.ts +0 -27
- package/src/resources/extensions/gsd/tests/auto-start-clean-runtime-db-gated.test.ts +0 -63
- package/src/resources/extensions/gsd/tests/dispatch-guard-summary-db-mismatch.test.ts +0 -77
- /package/dist/web/standalone/.next/static/{gy6_foLMsEzdGBT19c3hr → pV-mPo7rYGb5JBC09C8GG}/_buildManifest.js +0 -0
- /package/dist/web/standalone/.next/static/{gy6_foLMsEzdGBT19c3hr → pV-mPo7rYGb5JBC09C8GG}/_ssgManifest.js +0 -0
package/README.md
CHANGED
|
@@ -27,31 +27,49 @@ One command. Walk away. Come back to a built project with clean git history.
|
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
30
|
-
## What's New in v2.
|
|
30
|
+
## What's New in v2.76
|
|
31
31
|
|
|
32
|
-
###
|
|
32
|
+
### Memory System
|
|
33
33
|
|
|
34
|
-
- **
|
|
35
|
-
- **
|
|
36
|
-
- **
|
|
34
|
+
- **Persistent agent memory** — new `capture_thought`, `memory_query`, and `gsd_graph` tools let GSD store, retrieve, and relate thoughts across sessions (Phase 1).
|
|
35
|
+
- **Ingestion + scopes/tags** — memories can be scoped (project, milestone, slice) and tagged for filtering (Phase 2).
|
|
36
|
+
- **Hybrid retrieval** — keyword + semantic search over stored memory for higher-recall lookup (Phase 3).
|
|
37
|
+
- **Knowledge graph relationships** — memories link into a queryable graph, feeding planning and dispatch context (Phase 4).
|
|
38
|
+
- **Maintenance & observability** — cap cascade, decay metrics, and export/import for memory stores (Phase 5).
|
|
37
39
|
|
|
38
|
-
###
|
|
40
|
+
### Progressive Planning (ADR-011)
|
|
39
41
|
|
|
40
|
-
- **
|
|
41
|
-
- **
|
|
42
|
-
- **Dual-write migration completed** — the staged migration that wrote to both old and new paths is now fully landed, including decisions backfill and parity wiring across agents, MCP tools, and extract-learnings flows. That gives a safer upgrade path while preserving historical data and reducing cutover risk.
|
|
42
|
+
- **Sketch-then-refine planning** — Phase 1 introduces progressive plan elaboration so GSD drafts a lightweight sketch before locking a full plan (#3789).
|
|
43
|
+
- **Mid-execution escalation** — Phase 2 lets tasks escalate complexity mid-run with compensating rollback on write failure (#3789).
|
|
43
44
|
|
|
44
|
-
###
|
|
45
|
+
### Workflow & Onboarding
|
|
45
46
|
|
|
46
|
-
- **
|
|
47
|
-
-
|
|
48
|
-
-
|
|
47
|
+
- **Unified workflow plugin system** — new plugin architecture with modes and remote install. Manage via `/gsd workflow list|run|install|info|validate`.
|
|
48
|
+
- **`/gsd onboarding` re-entry** — revisit setup without restarting the TUI; setup hub disambiguation prevents duplicate banners.
|
|
49
|
+
- **`/gsd scan`** — new lightweight command for rapid codebase assessment, writing to `.gsd/codebase/`.
|
|
49
50
|
|
|
50
|
-
###
|
|
51
|
+
### Remote Control & TUI
|
|
51
52
|
|
|
52
|
-
- **
|
|
53
|
-
- **
|
|
54
|
-
- **
|
|
53
|
+
- **Telegram command interface** — control auto-mode remotely via Telegram alongside existing Slack/Discord routes.
|
|
54
|
+
- **Chat, footer, and welcome refresh** — TUI visuals updated; onboarding no longer hangs on re-entry.
|
|
55
|
+
- **New themes** — `tui-classic` and web `classic`/`vivid` palettes added (#4301).
|
|
56
|
+
|
|
57
|
+
### Models & Providers
|
|
58
|
+
|
|
59
|
+
- **Claude Opus 4.7** — added across Anthropic, Bedrock, Antigravity, and OpenRouter (#4348).
|
|
60
|
+
- **GPT-5.4-mini** — added to the OpenAI Codex model list (#1215).
|
|
61
|
+
- **Anthropic proxy support** — `ANTHROPIC_BASE_URL` env var honored for custom proxy endpoints (#4140).
|
|
62
|
+
- **Flat-rate provider opt-in** — `allow_flat_rate_providers` routing toggle (#4386).
|
|
63
|
+
- **Ask User Questions** — optional markdown preview panel with side-by-side layout.
|
|
64
|
+
|
|
65
|
+
### Auto-Mode & Reliability
|
|
66
|
+
|
|
67
|
+
- **Stuck-loop hardening** — repeated units detected across the stuck window; research-dispatch stuck loop fixed (#4414).
|
|
68
|
+
- **Branch isolation** — milestone branch is created on entry in `isolation: branch` mode with `main_branch` validation (#4389).
|
|
69
|
+
- **Model fallback on limits** — auto-mode limit errors now trigger model fallback (#4373).
|
|
70
|
+
- **Python/Windows verification** — python invocations normalized on Windows in the verification gate (#4416).
|
|
71
|
+
- **Self-healing `.gsd/`** — symlinked `.gsd` staging self-heals to prevent silent data loss (#4423); `.gsd.migrating` healed on resume.
|
|
72
|
+
- **Stale OAuth recovery** — stale Anthropic OAuth credentials self-heal (#4399).
|
|
55
73
|
|
|
56
74
|
See the full [Changelog](./CHANGELOG.md) for details on every release.
|
|
57
75
|
|
package/dist/cli.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { AuthStorage, DefaultResourceLoader, ModelRegistry, SettingsManager, SessionManager, } from '@gsd/pi-coding-agent';
|
|
2
|
-
import { runInteractiveMode as InteractiveMode, runPrintMode, runRpcMode, } from '@gsd/agent-modes';
|
|
3
|
-
import { createAgentSession } from '@gsd/agent-core';
|
|
1
|
+
import { AuthStorage, DefaultResourceLoader, ModelRegistry, runPackageCommand, SettingsManager, SessionManager, createAgentSession, InteractiveMode, runPrintMode, runRpcMode, } from '@gsd/pi-coding-agent';
|
|
4
2
|
import { readFileSync } from 'node:fs';
|
|
5
3
|
import { join } from 'node:path';
|
|
6
4
|
import { agentDir, sessionsDir, authFilePath } from './app-paths.js';
|
|
@@ -235,8 +233,18 @@ const hasSubcommand = cliFlags.messages.length > 0;
|
|
|
235
233
|
if (!process.stdin.isTTY && !isPrintMode && !hasSubcommand && !cliFlags.listModels && !cliFlags.web) {
|
|
236
234
|
printNonTtyErrorAndExit(undefined, false);
|
|
237
235
|
}
|
|
238
|
-
|
|
239
|
-
|
|
236
|
+
const packageCommand = await runPackageCommand({
|
|
237
|
+
appName: 'gsd',
|
|
238
|
+
args: process.argv.slice(2),
|
|
239
|
+
cwd: process.cwd(),
|
|
240
|
+
agentDir,
|
|
241
|
+
stdout: process.stdout,
|
|
242
|
+
stderr: process.stderr,
|
|
243
|
+
allowedCommands: new Set(['install', 'remove', 'list']),
|
|
244
|
+
});
|
|
245
|
+
if (packageCommand.handled) {
|
|
246
|
+
process.exit(packageCommand.exitCode);
|
|
247
|
+
}
|
|
240
248
|
// `gsd config` — replay the setup wizard and exit
|
|
241
249
|
if (cliFlags.messages[0] === 'config') {
|
|
242
250
|
const authStorage = AuthStorage.create(authFilePath);
|
|
@@ -417,7 +425,7 @@ if (cliFlags.listModels !== undefined) {
|
|
|
417
425
|
let filtered = models;
|
|
418
426
|
if (searchPattern) {
|
|
419
427
|
const q = searchPattern.toLowerCase();
|
|
420
|
-
filtered = models.filter((
|
|
428
|
+
filtered = models.filter((m) => `${m.provider} ${m.id} ${m.name}`.toLowerCase().includes(q));
|
|
421
429
|
}
|
|
422
430
|
// Sort by name descending (newest first), then provider, then id
|
|
423
431
|
filtered.sort((a, b) => {
|
|
@@ -430,13 +438,13 @@ if (cliFlags.listModels !== undefined) {
|
|
|
430
438
|
return a.id.localeCompare(b.id);
|
|
431
439
|
});
|
|
432
440
|
const fmt = (n) => n >= 1_000_000 ? `${n / 1_000_000}M` : n >= 1_000 ? `${n / 1_000}K` : `${n}`;
|
|
433
|
-
const rows = filtered.map((
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
fmt(
|
|
438
|
-
fmt(
|
|
439
|
-
|
|
441
|
+
const rows = filtered.map((m) => [
|
|
442
|
+
m.provider,
|
|
443
|
+
m.id,
|
|
444
|
+
m.name,
|
|
445
|
+
fmt(m.contextWindow),
|
|
446
|
+
fmt(m.maxTokens),
|
|
447
|
+
m.reasoning ? 'yes' : 'no',
|
|
440
448
|
]);
|
|
441
449
|
const hdrs = ['provider', 'model', 'name', 'context', 'max-out', 'thinking'];
|
|
442
450
|
const widths = hdrs.map((h, i) => Math.max(h.length, ...rows.map((r) => r[i].length)));
|
|
@@ -150,7 +150,7 @@ export function ensureRegistryEntries(extensionsDir) {
|
|
|
150
150
|
return;
|
|
151
151
|
const registry = loadRegistry();
|
|
152
152
|
let changed = false;
|
|
153
|
-
for (const [id,
|
|
153
|
+
for (const [id, manifest] of manifests) {
|
|
154
154
|
if (!registry.entries[id]) {
|
|
155
155
|
registry.entries[id] = {
|
|
156
156
|
id,
|
package/dist/headless-ui.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* formats progress events for stderr output, and reads orchestrator
|
|
6
6
|
* commands from stdin in supervised mode.
|
|
7
7
|
*/
|
|
8
|
-
import { RpcClient } from '@gsd/agent
|
|
8
|
+
import { RpcClient } from '@gsd/pi-coding-agent';
|
|
9
9
|
interface ExtensionUIRequest {
|
|
10
10
|
type: 'extension_ui_request';
|
|
11
11
|
id: string;
|
package/dist/headless.js
CHANGED
|
@@ -14,8 +14,7 @@
|
|
|
14
14
|
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
15
15
|
import { join } from 'node:path';
|
|
16
16
|
import { resolve } from 'node:path';
|
|
17
|
-
import { RpcClient } from '@gsd/agent
|
|
18
|
-
import { SessionManager } from '@gsd/pi-coding-agent';
|
|
17
|
+
import { RpcClient, SessionManager } from '@gsd/pi-coding-agent';
|
|
19
18
|
import { getProjectSessionsDir } from './project-sessions.js';
|
|
20
19
|
import { loadAndValidateAnswerFile, AnswerInjector } from './headless-answers.js';
|
|
21
20
|
import { isTerminalNotification, isBlockedNotification, isMilestoneReadyNotification, isQuickCommand, FIRE_AND_FORGET_METHODS, IDLE_TIMEOUT_MS, NEW_MILESTONE_IDLE_TIMEOUT_MS, isInteractiveHeadlessTool, shouldArmHeadlessIdleTimeout, EXIT_SUCCESS, EXIT_ERROR, EXIT_BLOCKED, EXIT_CANCELLED, mapStatusToExitCode, } from './headless-events.js';
|
|
@@ -649,8 +648,10 @@ async function runHeadlessOnce(options, restartCount) {
|
|
|
649
648
|
process.exit(1);
|
|
650
649
|
}
|
|
651
650
|
// v2 protocol negotiation — attempt init for structured completion events
|
|
651
|
+
let v2Enabled = false;
|
|
652
652
|
try {
|
|
653
653
|
await client.init({ clientId: 'gsd-headless' });
|
|
654
|
+
v2Enabled = true;
|
|
654
655
|
}
|
|
655
656
|
catch {
|
|
656
657
|
process.stderr.write('[headless] Warning: v2 init failed, falling back to v1 string-matching\n');
|
|
@@ -742,6 +743,7 @@ async function runHeadlessOnce(options, restartCount) {
|
|
|
742
743
|
if (timeoutTimer)
|
|
743
744
|
clearTimeout(timeoutTimer);
|
|
744
745
|
completed = false;
|
|
746
|
+
milestoneReady = false;
|
|
745
747
|
blocked = false;
|
|
746
748
|
const autoCompletionPromise = new Promise((resolve) => {
|
|
747
749
|
resolveCompletion = resolve;
|
package/dist/loader.js
CHANGED
|
@@ -110,6 +110,7 @@ process.env.NODE_PATH = [gsdNodeModules, process.env.NODE_PATH]
|
|
|
110
110
|
.join(delimiter);
|
|
111
111
|
// Force Node to re-evaluate module search paths with the updated NODE_PATH.
|
|
112
112
|
// Must happen synchronously before cli.js imports → extension loading.
|
|
113
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
113
114
|
const { Module } = await import('module');
|
|
114
115
|
Module._initPaths?.();
|
|
115
116
|
// GSD_VERSION — expose package version so extensions can display it
|
package/dist/onboarding.js
CHANGED
|
@@ -749,11 +749,10 @@ export async function runToolKeysStep(p, pc, authStorage) {
|
|
|
749
749
|
}
|
|
750
750
|
// ─── Remote Questions Step ────────────────────────────────────────────────────
|
|
751
751
|
export async function runRemoteQuestionsStep(p, pc, authStorage) {
|
|
752
|
-
// Check existing config — use
|
|
753
|
-
const hasValidKey = (provider) =>
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
};
|
|
752
|
+
// Check existing config — use getCredentialsForProvider to skip empty-key entries
|
|
753
|
+
const hasValidKey = (provider) => authStorage
|
|
754
|
+
.getCredentialsForProvider(provider)
|
|
755
|
+
.some((c) => c.type === 'api_key' && typeof c.key === 'string' && c.key.length > 0);
|
|
757
756
|
const hasDiscord = hasValidKey('discord_bot');
|
|
758
757
|
const hasSlack = hasValidKey('slack_bot');
|
|
759
758
|
const hasTelegram = hasValidKey('telegram_bot');
|
|
@@ -951,6 +950,7 @@ async function runDiscordChannelStep(p, pc, token) {
|
|
|
951
950
|
if (p.isCancel(choice))
|
|
952
951
|
return null;
|
|
953
952
|
guildId = choice;
|
|
953
|
+
guildName = guilds.find(g => g.id === guildId)?.name ?? guildId;
|
|
954
954
|
}
|
|
955
955
|
// Fetch channels
|
|
956
956
|
let channels;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { AuthStorage } from "@gsd/pi-coding-agent";
|
|
2
2
|
type AnthropicMigrationDeps = {
|
|
3
|
-
authStorage: Pick<AuthStorage, "
|
|
3
|
+
authStorage: Pick<AuthStorage, "getCredentialsForProvider">;
|
|
4
4
|
isClaudeCodeReady: boolean;
|
|
5
5
|
defaultProvider: string | undefined;
|
|
6
6
|
env?: NodeJS.ProcessEnv;
|
|
7
7
|
};
|
|
8
|
-
export declare function hasDirectAnthropicApiKey(authStorage: Pick<AuthStorage, "
|
|
8
|
+
export declare function hasDirectAnthropicApiKey(authStorage: Pick<AuthStorage, "getCredentialsForProvider">, env?: NodeJS.ProcessEnv): boolean;
|
|
9
9
|
export declare function shouldMigrateAnthropicToClaudeCode({ authStorage, isClaudeCodeReady, defaultProvider, env, }: AnthropicMigrationDeps): boolean;
|
|
10
10
|
export {};
|
|
@@ -2,8 +2,7 @@ export function hasDirectAnthropicApiKey(authStorage, env = process.env) {
|
|
|
2
2
|
if ((env.ANTHROPIC_API_KEY ?? "").trim()) {
|
|
3
3
|
return true;
|
|
4
4
|
}
|
|
5
|
-
|
|
6
|
-
return credential?.type === "api_key" && typeof credential?.key === "string" && credential.key.trim().length > 0;
|
|
5
|
+
return authStorage.getCredentialsForProvider("anthropic").some((credential) => credential?.type === "api_key" && typeof credential?.key === "string" && credential.key.trim().length > 0);
|
|
7
6
|
}
|
|
8
7
|
export function shouldMigrateAnthropicToClaudeCode({ authStorage, isClaudeCodeReady, defaultProvider, env = process.env, }) {
|
|
9
8
|
if (!isClaudeCodeReady || defaultProvider !== "anthropic") {
|
|
@@ -26,7 +26,7 @@ export function saveRemoteQuestionsConfig(channel, channelId) {
|
|
|
26
26
|
].join("\n");
|
|
27
27
|
const content = existsSync(prefsPath) ? readFileSync(prefsPath, "utf-8") : "";
|
|
28
28
|
const fmMatch = content.match(/^---\n([\s\S]*?)\n---/);
|
|
29
|
-
let next;
|
|
29
|
+
let next = content;
|
|
30
30
|
if (fmMatch) {
|
|
31
31
|
let frontmatter = fmMatch[1];
|
|
32
32
|
const regex = /remote_questions:[\s\S]*?(?=\n[a-zA-Z_]|\n---|$)/;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* immediately. The LLM can continue working and check results later
|
|
6
6
|
* with await_job.
|
|
7
7
|
*/
|
|
8
|
-
import { getShellConfig, DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES,
|
|
8
|
+
import { getShellConfig, sanitizeCommand, DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, } from "@gsd/pi-coding-agent";
|
|
9
9
|
import { Type } from "@sinclair/typebox";
|
|
10
10
|
import { spawn, spawnSync } from "node:child_process";
|
|
11
11
|
import { createWriteStream } from "node:fs";
|
|
@@ -133,7 +133,6 @@ export default function (pi) {
|
|
|
133
133
|
const refreshed = await runRefresh(refreshCommand, (m, level) => ctx.ui.notify(m, level));
|
|
134
134
|
if (!refreshed)
|
|
135
135
|
return;
|
|
136
|
-
|
|
137
|
-
ctx.ui.notify("AWS credentials refreshed. Please resend your message to retry.", "info");
|
|
136
|
+
pi.retryLastTurn();
|
|
138
137
|
});
|
|
139
138
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* context injection, process discovery, footer widget, and periodic maintenance.
|
|
4
4
|
*/
|
|
5
5
|
import { truncateToWidth, visibleWidth, } from "@gsd/pi-tui";
|
|
6
|
-
import { processes, pendingAlerts, pushAlert, cleanupAll, persistManifest, loadManifest, pruneDeadProcesses, } from "./process-manager.js";
|
|
6
|
+
import { processes, pendingAlerts, pushAlert, cleanupAll, cleanupSessionProcesses, persistManifest, loadManifest, pruneDeadProcesses, } from "./process-manager.js";
|
|
7
7
|
import { formatUptime, getBgShellLiveCwd, resolveBgShellPersistenceCwd } from "./utilities.js";
|
|
8
8
|
import { formatTokenCount } from "../shared/format-utils.js";
|
|
9
9
|
export function registerBgShellLifecycle(pi, state) {
|
|
@@ -66,11 +66,14 @@ export function registerBgShellLifecycle(pi, state) {
|
|
|
66
66
|
buildProcessStateAlert("Session tree was navigated.");
|
|
67
67
|
});
|
|
68
68
|
// Session switch resets the agent's context.
|
|
69
|
-
pi.on("
|
|
69
|
+
pi.on("session_switch", async (event, ctx) => {
|
|
70
70
|
state.latestCtx = ctx;
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
if (event.reason === "new" && event.previousSessionFile) {
|
|
72
|
+
await cleanupSessionProcesses(event.previousSessionFile);
|
|
73
|
+
syncLatestCtxCwd();
|
|
74
|
+
if (state.latestCtx)
|
|
75
|
+
persistManifest(state.latestCtx.cwd);
|
|
76
|
+
}
|
|
74
77
|
buildProcessStateAlert("Session was switched.");
|
|
75
78
|
});
|
|
76
79
|
// ── Context Injection: Proactive Alerts ────────────────────────────
|
|
@@ -338,7 +341,7 @@ export function registerBgShellLifecycle(pi, state) {
|
|
|
338
341
|
pi.on("turn_end", refreshHandler);
|
|
339
342
|
pi.on("agent_end", refreshHandler);
|
|
340
343
|
pi.on("session_start", refreshHandler);
|
|
341
|
-
pi.on("
|
|
344
|
+
pi.on("session_switch", refreshHandler);
|
|
342
345
|
pi.on("tool_execution_end", async (_event, ctx) => {
|
|
343
346
|
state.latestCtx = ctx;
|
|
344
347
|
refreshWidget();
|
|
@@ -6,8 +6,7 @@ import { spawn, spawnSync } from "node:child_process";
|
|
|
6
6
|
import { randomUUID } from "node:crypto";
|
|
7
7
|
import { writeFileSync, readFileSync, existsSync, mkdirSync } from "node:fs";
|
|
8
8
|
import { join } from "node:path";
|
|
9
|
-
import { getShellConfig } from "@gsd/pi-coding-agent";
|
|
10
|
-
import { sanitizeCommand } from "@gsd/pi-coding-agent";
|
|
9
|
+
import { getShellConfig, sanitizeCommand } from "@gsd/pi-coding-agent";
|
|
11
10
|
import { rewriteCommandWithRtk } from "../shared/rtk.js";
|
|
12
11
|
import { MAX_BUFFER_LINES, MAX_EVENTS, DEAD_PROCESS_TTL, } from "./types.js";
|
|
13
12
|
import { restoreWindowsVTInput, formatUptime } from "./utilities.js";
|
|
@@ -16,9 +16,9 @@ import { streamViaClaudeCode } from "./stream-adapter.js";
|
|
|
16
16
|
export default function claudeCodeCli(pi) {
|
|
17
17
|
pi.registerProvider("claude-code", {
|
|
18
18
|
authMode: "externalCli",
|
|
19
|
-
isReady: isClaudeCodeReady,
|
|
20
19
|
api: "anthropic-messages",
|
|
21
20
|
baseUrl: "local://claude-code",
|
|
21
|
+
isReady: isClaudeCodeReady,
|
|
22
22
|
streamSimple: streamViaClaudeCode,
|
|
23
23
|
models: CLAUDE_CODE_MODELS,
|
|
24
24
|
});
|
|
@@ -4,103 +4,7 @@
|
|
|
4
4
|
* Translates the Claude Agent SDK's `BetaRawMessageStreamEvent` sequence
|
|
5
5
|
* into GSD's `AssistantMessageEvent` deltas for incremental TUI rendering.
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
// XML parameter tag utilities (inline replacements for removed pi-ai symbols)
|
|
9
|
-
// ---------------------------------------------------------------------------
|
|
10
|
-
/**
|
|
11
|
-
* Detects XML parameter tags (inline <parameter name="...">...</parameter> form)
|
|
12
|
-
* or XML wrapper (<parameters>...</parameters>) in streaming tool call JSON.
|
|
13
|
-
* Replaces removed pi-ai utility (removed in pi 0.67.2).
|
|
14
|
-
* T-10-05: regex only detects tag presence; does not evaluate content.
|
|
15
|
-
*/
|
|
16
|
-
function hasXmlParameterTags(s) {
|
|
17
|
-
return /<parameter[s\s>]/i.test(s);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Repairs malformed LLM-generated tool JSON using three strategies:
|
|
21
|
-
*
|
|
22
|
-
* 1. XML parameter extraction: When inline <parameter name="key">value</parameter>
|
|
23
|
-
* tags appear inside a JSON string value, extract each as a top-level key and
|
|
24
|
-
* clean the containing string value by truncating at the closing tag boundary.
|
|
25
|
-
*
|
|
26
|
-
* 2. YAML bullet repair: When bare "- item" patterns appear as JSON values (not
|
|
27
|
-
* quoted), convert each bullet sequence into a JSON array.
|
|
28
|
-
*
|
|
29
|
-
* 3. XML wrapper extraction: Extract content from <parameters>...</parameters> wrapper.
|
|
30
|
-
*
|
|
31
|
-
* Replaces removed pi-ai utility (removed in pi 0.67.2).
|
|
32
|
-
* T-10-05: extracts text content only, no evaluation.
|
|
33
|
-
*/
|
|
34
|
-
function repairToolJson(s) {
|
|
35
|
-
// Strategy 1: XML parameter tags inside JSON string values (#3751)
|
|
36
|
-
// The raw JSON string may have escaped quotes: <parameter name=\"key\">val</parameter>
|
|
37
|
-
// or unescaped: <parameter name="key">val</parameter>
|
|
38
|
-
// We match both forms.
|
|
39
|
-
if (/<parameter\s+name=/i.test(s)) {
|
|
40
|
-
try {
|
|
41
|
-
// Match <parameter name="key"> or <parameter name=\"key\"> in raw JSON text
|
|
42
|
-
const paramPattern = /<parameter\s+name=(?:\\"|")([^"\\]+)(?:\\"|")>([\s\S]*?)<\/parameter>/gi;
|
|
43
|
-
const extracted = {};
|
|
44
|
-
let match;
|
|
45
|
-
while ((match = paramPattern.exec(s)) !== null) {
|
|
46
|
-
const key = match[1];
|
|
47
|
-
// rawVal may contain JSON-escaped characters; unescape for parsing
|
|
48
|
-
const rawVal = match[2].trim().replace(/\\"/g, '"').replace(/\\n/g, "\n");
|
|
49
|
-
// Attempt to parse value as JSON; fall back to string
|
|
50
|
-
try {
|
|
51
|
-
extracted[key] = JSON.parse(rawVal);
|
|
52
|
-
}
|
|
53
|
-
catch {
|
|
54
|
-
extracted[key] = rawVal;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
if (Object.keys(extracted).length > 0) {
|
|
58
|
-
// Remove the XML parameter block and preceding closing tag from the raw string.
|
|
59
|
-
// The block looks like: </tagName>\n<parameter ...>...</parameter>...\n (with escaped chars)
|
|
60
|
-
// We remove from the first </...> closing tag through the last </parameter> tag.
|
|
61
|
-
const cleaned = s
|
|
62
|
-
.replace(/<\/[^>]+>(?:\\n|\n)*(?:<parameter[\s\S]*?<\/parameter>(?:\\n|\n)*)+/gi, "")
|
|
63
|
-
.trim();
|
|
64
|
-
// Parse cleaned base JSON and merge extracted params
|
|
65
|
-
const base = JSON.parse(cleaned);
|
|
66
|
-
return JSON.stringify({ ...base, ...extracted });
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
catch {
|
|
70
|
-
// Fall through to next strategy
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
// Strategy 2: YAML bullet lists as unquoted JSON values (#2660)
|
|
74
|
-
// Pattern: "key": - item1, "key2": - item2
|
|
75
|
-
if (/:\s*-\s+/.test(s)) {
|
|
76
|
-
try {
|
|
77
|
-
// Replace bare YAML bullet sequences with JSON arrays.
|
|
78
|
-
// Match: "key": - val1, - val2, "nextKey" or end
|
|
79
|
-
// We need to handle: "key": - item, "nextKey" where - item is the unquoted value
|
|
80
|
-
const repaired = s.replace(
|
|
81
|
-
// Match a quoted key followed by colon, then one or more "- item" bullets
|
|
82
|
-
// terminated by either a comma+quote (next key) or closing brace
|
|
83
|
-
/"([^"]+)":\s*((?:-\s+[^,\n\-"{}[\]]+(?:,\s*(?![-"\s*{]))?)+)/g, (fullMatch, key, bulletBlock) => {
|
|
84
|
-
// Extract individual bullet items
|
|
85
|
-
const items = bulletBlock
|
|
86
|
-
.split(/,?\s*-\s+/)
|
|
87
|
-
.map((item) => item.trim().replace(/,\s*$/, "").trim())
|
|
88
|
-
.filter((item) => item.length > 0);
|
|
89
|
-
if (items.length === 0)
|
|
90
|
-
return fullMatch;
|
|
91
|
-
return `"${key}": ${JSON.stringify(items)}`;
|
|
92
|
-
});
|
|
93
|
-
const parsed = JSON.parse(repaired);
|
|
94
|
-
return JSON.stringify(parsed);
|
|
95
|
-
}
|
|
96
|
-
catch {
|
|
97
|
-
// Fall through to next strategy
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
// Strategy 3: XML wrapper extraction (<parameters>...</parameters>)
|
|
101
|
-
const m = /<parameters[^>]*>([\s\S]*?)<\/parameters>/i.exec(s);
|
|
102
|
-
return m ? m[1].trim() : s;
|
|
103
|
-
}
|
|
7
|
+
import { hasXmlParameterTags, repairToolJson } from "@gsd/pi-ai";
|
|
104
8
|
// ---------------------------------------------------------------------------
|
|
105
9
|
// MCP tool name parsing
|
|
106
10
|
// ---------------------------------------------------------------------------
|
|
@@ -158,16 +62,17 @@ export function mapContentBlock(block) {
|
|
|
158
62
|
case "tool_use":
|
|
159
63
|
return toolCallFromBlock(block.id, block.name, block.input);
|
|
160
64
|
case "server_tool_use":
|
|
161
|
-
// ServerToolUseContent removed from pi-ai in pi 0.67.2 — represent as text
|
|
162
65
|
return {
|
|
163
|
-
type: "
|
|
164
|
-
|
|
66
|
+
type: "serverToolUse",
|
|
67
|
+
id: block.id,
|
|
68
|
+
name: block.name,
|
|
69
|
+
input: block.input,
|
|
165
70
|
};
|
|
166
71
|
case "web_search_tool_result":
|
|
167
|
-
// WebSearchResultContent removed from pi-ai in pi 0.67.2 — represent as text
|
|
168
72
|
return {
|
|
169
|
-
type: "
|
|
170
|
-
|
|
73
|
+
type: "webSearchResult",
|
|
74
|
+
toolUseId: block.tool_use_id,
|
|
75
|
+
content: block.content,
|
|
171
76
|
};
|
|
172
77
|
default: {
|
|
173
78
|
const unknown = block;
|
|
@@ -280,7 +185,15 @@ export class PartialMessageBuilder {
|
|
|
280
185
|
this.partial.content.push(toolCallFromBlock(block.id, block.name, {}));
|
|
281
186
|
return { type: "toolcall_start", contentIndex, partial: this.partial };
|
|
282
187
|
}
|
|
283
|
-
|
|
188
|
+
if (block.type === "server_tool_use") {
|
|
189
|
+
this.partial.content.push({
|
|
190
|
+
type: "serverToolUse",
|
|
191
|
+
id: block.id,
|
|
192
|
+
name: block.name,
|
|
193
|
+
input: block.input,
|
|
194
|
+
});
|
|
195
|
+
return { type: "server_tool_use", contentIndex, partial: this.partial };
|
|
196
|
+
}
|
|
284
197
|
return null;
|
|
285
198
|
}
|
|
286
199
|
// ---- Block delta ----
|
|
@@ -338,8 +251,6 @@ export class PartialMessageBuilder {
|
|
|
338
251
|
// malformation explicitly so downstream consumers can
|
|
339
252
|
// distinguish this from a healthy tool completion (#2574).
|
|
340
253
|
block.arguments = { _raw: jsonStr };
|
|
341
|
-
// malformedArguments removed from the toolcall_end type in pi 0.67.2;
|
|
342
|
-
// cast to any to preserve the runtime signal for downstream consumers (#2574)
|
|
343
254
|
return { type: "toolcall_end", contentIndex, toolCall: block, partial: this.partial, malformedArguments: true };
|
|
344
255
|
}
|
|
345
256
|
}
|
|
@@ -365,9 +365,8 @@ async function promptElicitationWithDialogs(request, questions, ui, signal) {
|
|
|
365
365
|
for (const question of questions) {
|
|
366
366
|
const title = buildElicitationPromptTitle(request, question);
|
|
367
367
|
if (question.allowMultiple) {
|
|
368
|
-
// allowMultiple removed from ExtensionUIDialogOptions in pi 0.67.2;
|
|
369
|
-
// fall back to single-select (result is wrapped in array below)
|
|
370
368
|
const selected = await ui.select(title, question.options.map((option) => option.label), {
|
|
369
|
+
allowMultiple: true,
|
|
371
370
|
signal,
|
|
372
371
|
});
|
|
373
372
|
if (Array.isArray(selected)) {
|
|
@@ -495,22 +494,12 @@ export function makeAbortedMessage(model, lastTextContent) {
|
|
|
495
494
|
* Set `GSD_CLAUDE_CODE_PERMISSION_MODE` to `bypassPermissions` to restore
|
|
496
495
|
* the old always-approve behaviour, or to `default` / `plan` for stricter
|
|
497
496
|
* modes.
|
|
498
|
-
*
|
|
499
|
-
* When `GSD_HEADLESS=1` is set (auto-mode / non-interactive runs), the
|
|
500
|
-
* default flips to `bypassPermissions` because there is no UI to approve
|
|
501
|
-
* permission dialogs — `acceptEdits` would hang verification commands like
|
|
502
|
-
* `npx tsc --noEmit` or `npx vitest run` indefinitely (#4657). Explicit
|
|
503
|
-
* overrides still win, so users can opt back into `acceptEdits` in headless.
|
|
504
497
|
*/
|
|
505
498
|
export async function resolveClaudePermissionMode(env = process.env) {
|
|
506
499
|
const override = env.GSD_CLAUDE_CODE_PERMISSION_MODE?.trim();
|
|
507
500
|
if (override === "bypassPermissions" || override === "acceptEdits" || override === "default" || override === "plan") {
|
|
508
501
|
return override;
|
|
509
502
|
}
|
|
510
|
-
if (env.GSD_HEADLESS === "1") {
|
|
511
|
-
console.warn("[claude-code-cli] Headless mode detected (GSD_HEADLESS=1): defaulting permissionMode to 'bypassPermissions' so verification Bash commands can run. Set GSD_CLAUDE_CODE_PERMISSION_MODE=acceptEdits to opt out.");
|
|
512
|
-
return "bypassPermissions";
|
|
513
|
-
}
|
|
514
503
|
return "acceptEdits";
|
|
515
504
|
}
|
|
516
505
|
// NOTE: These helpers intentionally mirror @gsd/pi-ai anthropic-shared
|
|
@@ -756,8 +745,7 @@ export function extractToolResultsFromSdkUserMessage(message) {
|
|
|
756
745
|
/** Attach external tool results from the SDK synthetic user message to their corresponding tool-call blocks by ID. */
|
|
757
746
|
function attachExternalResultsToToolBlocks(toolBlocks, toolResultsById) {
|
|
758
747
|
for (const block of toolBlocks) {
|
|
759
|
-
|
|
760
|
-
if (block.type !== "toolCall")
|
|
748
|
+
if (block.type !== "toolCall" && block.type !== "serverToolUse")
|
|
761
749
|
continue;
|
|
762
750
|
const externalResult = toolResultsById.get(block.id);
|
|
763
751
|
if (!externalResult)
|
|
@@ -910,9 +898,8 @@ async function pumpSdkMessages(model, context, options, stream) {
|
|
|
910
898
|
else if (block.type === "thinking" && block.thinking) {
|
|
911
899
|
lastThinkingContent = block.thinking;
|
|
912
900
|
}
|
|
913
|
-
else if (block.type === "toolCall") {
|
|
901
|
+
else if (block.type === "toolCall" || block.type === "serverToolUse") {
|
|
914
902
|
// Collect tool blocks for externalToolExecution rendering
|
|
915
|
-
// (serverToolUse removed from pi-ai content types in pi 0.67.2)
|
|
916
903
|
intermediateToolBlocks.push(block);
|
|
917
904
|
}
|
|
918
905
|
}
|
|
@@ -944,7 +931,13 @@ async function pumpSdkMessages(model, context, options, stream) {
|
|
|
944
931
|
partial: builder.message,
|
|
945
932
|
});
|
|
946
933
|
}
|
|
947
|
-
|
|
934
|
+
else if (block.type === "serverToolUse") {
|
|
935
|
+
stream.push({
|
|
936
|
+
type: "server_tool_use",
|
|
937
|
+
contentIndex,
|
|
938
|
+
partial: builder.message,
|
|
939
|
+
});
|
|
940
|
+
}
|
|
948
941
|
}
|
|
949
942
|
}
|
|
950
943
|
builder = null;
|