@gajae-code/coding-agent 0.17.1 → 0.17.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +266 -0
- package/dist/types/async/job-manager.d.ts +7 -6
- package/dist/types/cli/daemon-cli.d.ts +3 -1
- package/dist/types/cli/github-release.d.ts +17 -0
- package/dist/types/cli/public-command-entry.d.ts +56 -0
- package/dist/types/cli/public-command-errors.d.ts +126 -0
- package/dist/types/cli/public-command-evidence.d.ts +99 -0
- package/dist/types/cli/public-command-help.d.ts +65 -0
- package/dist/types/cli/public-command-registry.d.ts +69 -0
- package/dist/types/cli/session-picker.d.ts +1 -1
- package/dist/types/cli/setup-cli.d.ts +1 -0
- package/dist/types/cli/skills-cli.d.ts +5 -0
- package/dist/types/cli.d.ts +3 -0
- package/dist/types/commands/daemon.d.ts +4 -50
- package/dist/types/commands/sdk.d.ts +20 -37
- package/dist/types/commands/setup.d.ts +3 -0
- package/dist/types/commands/skills.d.ts +9 -0
- package/dist/types/config/autorouting-tier-map.d.ts +24 -0
- package/dist/types/config/file-lock.d.ts +10 -1
- package/dist/types/config/model-profile-activation.d.ts +63 -4
- package/dist/types/config/model-registry.d.ts +20 -2
- package/dist/types/config/settings-schema.d.ts +11 -0
- package/dist/types/coordinator-mcp/question-state.d.ts +6 -1
- package/dist/types/coordinator-mcp/server.d.ts +3 -0
- package/dist/types/daemon/operator-contract.d.ts +5 -1
- package/dist/types/eval/js/worker-protocol.d.ts +2 -0
- package/dist/types/extensibility/extensions/types.d.ts +12 -0
- package/dist/types/extensibility/gjc-plugins/registry.d.ts +4 -0
- package/dist/types/extensibility/runtime-skill-discovery.d.ts +18 -0
- package/dist/types/extensibility/shared-events.d.ts +3 -1
- package/dist/types/gjc-runtime/session-state-lock.d.ts +61 -0
- package/dist/types/internal-urls/embedded-protocol.d.ts +9 -0
- package/dist/types/internal-urls/index.d.ts +1 -0
- package/dist/types/internal-urls/parse.d.ts +9 -1
- package/dist/types/main.d.ts +22 -0
- package/dist/types/modes/acp/acp-agent.d.ts +94 -1
- package/dist/types/modes/acp/startup-provenance.d.ts +16 -0
- package/dist/types/modes/components/custom-provider-wizard.d.ts +19 -1
- package/dist/types/modes/components/session-selector.d.ts +5 -2
- package/dist/types/modes/components/thinking-selector.d.ts +2 -1
- package/dist/types/modes/components/user-message-selector.d.ts +5 -2
- package/dist/types/modes/controllers/command-controller.d.ts +1 -1
- package/dist/types/modes/controllers/selector-controller.d.ts +1 -1
- package/dist/types/modes/interactive-mode.d.ts +1 -1
- package/dist/types/modes/shared/agent-wire/workflow-gate-broker.d.ts +11 -1
- package/dist/types/modes/shared/agent-wire/workflow-gate-types.d.ts +14 -1
- package/dist/types/modes/types.d.ts +2 -2
- package/dist/types/runtime/process-lifecycle.d.ts +2 -0
- package/dist/types/runtime-mcp/manager.d.ts +56 -0
- package/dist/types/runtime-mcp/pool.d.ts +17 -0
- package/dist/types/runtime-mcp/redaction.d.ts +20 -0
- package/dist/types/runtime-mcp/startup-policy.d.ts +6 -0
- package/dist/types/runtime-mcp/tool-bridge.d.ts +9 -0
- package/dist/types/runtime-mcp/transports/http.d.ts +11 -0
- package/dist/types/sdk/acp/adapter.d.ts +27 -0
- package/dist/types/sdk/acp/final-text.d.ts +8 -0
- package/dist/types/sdk/broker/broker.d.ts +13 -2
- package/dist/types/sdk/broker/ensure.d.ts +46 -1
- package/dist/types/sdk/broker/identity.d.ts +3 -1
- package/dist/types/sdk/broker/lifecycle-ledger.d.ts +23 -3
- package/dist/types/sdk/broker/lifecycle.d.ts +15 -8
- package/dist/types/sdk/broker/runtime.d.ts +1 -1
- package/dist/types/sdk/broker/session-index.d.ts +22 -3
- package/dist/types/sdk/broker/spawn-authority.d.ts +4 -0
- package/dist/types/sdk/broker/stderr-drainer.d.ts +13 -0
- package/dist/types/sdk/bus/index.d.ts +19 -0
- package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +3 -1
- package/dist/types/sdk/bus/telegram-daemon.d.ts +5 -0
- package/dist/types/sdk/cli/master-cli.d.ts +6 -10
- package/dist/types/sdk/cli/rows.d.ts +19 -1
- package/dist/types/sdk/cli/session-cli.d.ts +22 -5
- package/dist/types/sdk/client/client.d.ts +2 -0
- package/dist/types/sdk/guides/cli.d.ts +3 -4
- package/dist/types/sdk/guides/verify.d.ts +2 -0
- package/dist/types/sdk/host/host.d.ts +9 -0
- package/dist/types/sdk/host/session-runtime.d.ts +31 -0
- package/dist/types/sdk/host/types.d.ts +10 -0
- package/dist/types/sdk/index.d.ts +1 -0
- package/dist/types/sdk/prompt-deadline-flush.d.ts +83 -0
- package/dist/types/sdk/prompt-deadline-manager.d.ts +38 -1
- package/dist/types/sdk/prompt-failure.d.ts +30 -1
- package/dist/types/sdk/prompt-status.d.ts +8 -0
- package/dist/types/sdk/prompt-tool-boundary.d.ts +73 -0
- package/dist/types/sdk/router/replay-retention-gap-cache.d.ts +13 -0
- package/dist/types/sdk/router/session-router.d.ts +2 -0
- package/dist/types/sdk/startup-capability.d.ts +2 -0
- package/dist/types/sdk/transport/relay.d.ts +1 -0
- package/dist/types/sdk/transport/serve-cli.d.ts +73 -2
- package/dist/types/sdk/transport/stdio.d.ts +5 -1
- package/dist/types/session/agent-session.d.ts +168 -21
- package/dist/types/session/fallback-chain-controller.d.ts +6 -6
- package/dist/types/session/fold-coordinator.d.ts +17 -3
- package/dist/types/session/internal/managed-session-storage.d.ts +7 -1
- package/dist/types/session/session-manager.d.ts +64 -1
- package/dist/types/session/session-work-lease.d.ts +14 -0
- package/dist/types/setup/model-onboarding-guidance.d.ts +1 -1
- package/dist/types/setup/provider-onboarding.d.ts +81 -1
- package/dist/types/thinking.d.ts +3 -1
- package/dist/types/tools/bash.d.ts +37 -11
- package/dist/types/tools/job.d.ts +1 -1
- package/dist/types/tools/steer-fold.d.ts +31 -0
- package/dist/types/utils/git.d.ts +28 -2
- package/dist/types/utils/mupdf-embedded.d.ts +2 -0
- package/dist/types/utils/mupdf-wasm-embedded.d.ts +2 -0
- package/dist/types/utils/mupdf.d.ts +4 -0
- package/dist/types/utils/session-title-generation.d.ts +6 -0
- package/dist/types/utils/title-generator.d.ts +11 -2
- package/dist/types/web/scrapers/types.d.ts +3 -0
- package/package.json +18 -10
- package/scripts/build-binary.ts +9 -3
- package/scripts/compile-args.ts +0 -9
- package/scripts/embed-mupdf.ts +52 -0
- package/scripts/generate-sdk-operation-inventory.ts +31 -1
- package/scripts/vendor-markit.ts +196 -0
- package/src/async/job-manager.ts +60 -9
- package/src/cli/daemon-cli.ts +53 -18
- package/src/cli/github-release.ts +87 -5
- package/src/cli/mcp-cli.ts +38 -4
- package/src/cli/public-command-entry.ts +450 -0
- package/src/cli/public-command-errors.ts +581 -0
- package/src/cli/public-command-evidence.ts +717 -0
- package/src/cli/public-command-help.ts +360 -0
- package/src/cli/public-command-registry.ts +535 -0
- package/src/cli/session-picker.ts +2 -1
- package/src/cli/setup-cli.ts +9 -1
- package/src/cli/skills-cli.ts +46 -2
- package/src/cli.ts +61 -1
- package/src/commands/daemon.ts +65 -69
- package/src/commands/sdk.ts +232 -100
- package/src/commands/setup.ts +2 -0
- package/src/commands/skills.ts +11 -0
- package/src/config/autorouting-tier-map.ts +16 -0
- package/src/config/file-lock.ts +199 -68
- package/src/config/model-profile-activation.ts +406 -53
- package/src/config/model-registry.ts +204 -25
- package/src/config/settings-schema.ts +26 -2
- package/src/coordinator-mcp/policy.ts +10 -5
- package/src/coordinator-mcp/question-gate-codec.ts +17 -0
- package/src/coordinator-mcp/question-state.ts +175 -8
- package/src/coordinator-mcp/server.ts +528 -87
- package/src/coordinator-mcp/session-reaper.ts +6 -4
- package/src/crash/record-loader.ts +6 -2
- package/src/daemon/operator-contract.ts +26 -12
- package/src/debug/report-bundle.ts +114 -24
- package/src/defaults/gjc/skills/ultragoal/SKILL.md +1 -1
- package/src/eval/js/context-manager.ts +8 -8
- package/src/eval/js/worker-core.ts +9 -4
- package/src/eval/js/worker-protocol.ts +2 -0
- package/src/extensibility/extensions/runner.ts +52 -4
- package/src/extensibility/extensions/types.ts +10 -0
- package/src/extensibility/gjc-plugins/registry.ts +196 -37
- package/src/extensibility/runtime-skill-discovery.ts +61 -3
- package/src/extensibility/shared-events.ts +3 -1
- package/src/gjc-runtime/managed-owner-admission.ts +67 -50
- package/src/gjc-runtime/session-state-lock.ts +165 -24
- package/src/gjc-runtime/ultragoal-succession.ts +31 -3
- package/src/internal-urls/docs-index.generated.ts +21 -19
- package/src/internal-urls/embedded-protocol.ts +83 -0
- package/src/internal-urls/index.ts +1 -0
- package/src/internal-urls/parse.ts +21 -1
- package/src/internal-urls/router.ts +4 -2
- package/src/main.ts +123 -55
- package/src/modes/acp/acp-agent.ts +593 -47
- package/src/modes/acp/acp-event-mapper.ts +9 -0
- package/src/modes/acp/startup-provenance.ts +59 -0
- package/src/modes/components/custom-provider-wizard.ts +308 -7
- package/src/modes/components/model-selector.ts +31 -15
- package/src/modes/components/oauth-selector.ts +9 -0
- package/src/modes/components/session-selector.ts +47 -4
- package/src/modes/components/status-line/segments.ts +6 -1
- package/src/modes/components/thinking-selector.ts +7 -3
- package/src/modes/components/user-message-selector.ts +57 -15
- package/src/modes/controllers/command-controller.ts +58 -32
- package/src/modes/controllers/extension-ui-controller.ts +33 -7
- package/src/modes/controllers/input-controller.ts +4 -0
- package/src/modes/controllers/selector-controller.ts +177 -18
- package/src/modes/interactive-mode.ts +21 -7
- package/src/modes/runtime-init.ts +1 -0
- package/src/modes/shared/agent-wire/workflow-gate-broker.ts +124 -7
- package/src/modes/shared/agent-wire/workflow-gate-types.ts +16 -2
- package/src/modes/types.ts +2 -2
- package/src/prompts/agent-fragments/browser-aside.md +1 -0
- package/src/prompts/system/title-system.md +1 -1
- package/src/prompts/tools/bash.md +1 -1
- package/src/prompts/tools/job.md +1 -1
- package/src/prompts/tools/read.md +2 -0
- package/src/runtime/network-prewarm-service.test.ts +36 -1
- package/src/runtime/network-prewarm-service.ts +28 -3
- package/src/runtime/process-lifecycle.ts +22 -11
- package/src/runtime-mcp/config.ts +16 -1
- package/src/runtime-mcp/manager.ts +689 -55
- package/src/runtime-mcp/pool.test.ts +31 -0
- package/src/runtime-mcp/pool.ts +304 -28
- package/src/runtime-mcp/redaction.ts +42 -0
- package/src/runtime-mcp/startup-policy.ts +7 -0
- package/src/runtime-mcp/tool-bridge.ts +71 -0
- package/src/runtime-mcp/transports/http.ts +108 -25
- package/src/sdk/acp/adapter.ts +90 -9
- package/src/sdk/acp/final-text.ts +19 -2
- package/src/sdk/broker/broker.ts +378 -52
- package/src/sdk/broker/ensure.ts +97 -19
- package/src/sdk/broker/identity.ts +9 -1
- package/src/sdk/broker/lifecycle-ledger.ts +95 -31
- package/src/sdk/broker/lifecycle.ts +690 -141
- package/src/sdk/broker/runtime.ts +1 -1
- package/src/sdk/broker/session-index.ts +97 -4
- package/src/sdk/broker/spawn-authority.ts +35 -7
- package/src/sdk/broker/stderr-drainer.ts +59 -0
- package/src/sdk/bus/chat-daemon-control.ts +2 -2
- package/src/sdk/bus/chat-daemon-runtime.ts +1 -0
- package/src/sdk/bus/index.ts +721 -84
- package/src/sdk/bus/telegram-daemon-cli.ts +31 -2
- package/src/sdk/bus/telegram-daemon-contract.ts +3 -1
- package/src/sdk/bus/telegram-daemon.ts +10 -3
- package/src/sdk/cli/master-cli.ts +47 -36
- package/src/sdk/cli/rows.ts +30 -7
- package/src/sdk/cli/session-cli.ts +687 -184
- package/src/sdk/client/client.ts +18 -0
- package/src/sdk/guides/catalog.ts +2 -2
- package/src/sdk/guides/cli.ts +20 -62
- package/src/sdk/guides/verify.ts +14 -0
- package/src/sdk/host/host.ts +49 -5
- package/src/sdk/host/session-runtime.test.ts +636 -9
- package/src/sdk/host/session-runtime.ts +499 -118
- package/src/sdk/host/types.ts +12 -1
- package/src/sdk/host/websocket-transport.lifecycle.test.ts +84 -0
- package/src/sdk/host/websocket-transport.ts +40 -6
- package/src/sdk/index.ts +11 -0
- package/src/sdk/prompt-deadline-flush.ts +334 -0
- package/src/sdk/prompt-deadline-manager.ts +136 -4
- package/src/sdk/prompt-failure.ts +43 -1
- package/src/sdk/prompt-status.ts +8 -0
- package/src/sdk/prompt-tool-boundary.ts +121 -0
- package/src/sdk/protocol/operation-inventory.generated.json +106 -0
- package/src/sdk/router/replay-retention-gap-cache.ts +27 -0
- package/src/sdk/router/session-router.ts +31 -4
- package/src/sdk/session.ts +194 -16
- package/src/sdk/startup-capability.ts +1 -1
- package/src/sdk/transport/relay.ts +71 -6
- package/src/sdk/transport/serve-cli.ts +494 -49
- package/src/sdk/transport/socket.ts +12 -11
- package/src/sdk/transport/stdio.ts +7 -3
- package/src/session/agent-session.ts +2437 -400
- package/src/session/fallback-chain-controller.ts +6 -7
- package/src/session/fold-coordinator.ts +24 -5
- package/src/session/internal/managed-session-scope.ts +58 -18
- package/src/session/internal/managed-session-storage.ts +304 -11
- package/src/session/session-manager.ts +382 -44
- package/src/session/session-work-lease.ts +34 -0
- package/src/session-import/codex.ts +12 -3
- package/src/setup/model-onboarding-guidance.ts +1 -1
- package/src/setup/provider-onboarding.ts +397 -24
- package/src/slash-commands/builtin-registry.ts +258 -14
- package/src/task/index.ts +14 -2
- package/src/thinking.ts +21 -2
- package/src/tools/bash.ts +98 -78
- package/src/tools/fetch.ts +119 -20
- package/src/tools/job.ts +151 -25
- package/src/tools/output-meta.ts +15 -2
- package/src/tools/path-utils.ts +27 -3
- package/src/tools/read.ts +3 -3
- package/src/tools/steer-fold.ts +107 -0
- package/src/tools/tool-catalog.generated.ts +29 -2
- package/src/tools/tool-errors.ts +4 -0
- package/src/utils/git.ts +53 -3
- package/src/utils/markit.ts +55 -41
- package/src/utils/mupdf-assets.d.ts +4 -0
- package/src/utils/mupdf-embedded.ts +4 -0
- package/src/utils/mupdf-wasm-embedded.ts +3 -0
- package/src/utils/mupdf-wasm.ts +24 -2
- package/src/utils/mupdf.ts +129 -0
- package/src/utils/session-title-generation.ts +29 -0
- package/src/utils/title-generator.ts +46 -2
- package/src/web/scrapers/types.ts +24 -3
- package/vendor/markit-ai/LICENSE +21 -0
- package/vendor/markit-ai/MANIFEST.json +412 -0
- package/vendor/markit-ai/dist/commands/config.d.ts +4 -0
- package/vendor/markit-ai/dist/commands/config.js +139 -0
- package/vendor/markit-ai/dist/commands/convert.d.ts +6 -0
- package/vendor/markit-ai/dist/commands/convert.js +113 -0
- package/vendor/markit-ai/dist/commands/formats.d.ts +2 -0
- package/vendor/markit-ai/dist/commands/formats.js +92 -0
- package/vendor/markit-ai/dist/commands/init.d.ts +2 -0
- package/vendor/markit-ai/dist/commands/init.js +29 -0
- package/vendor/markit-ai/dist/commands/onboard.d.ts +2 -0
- package/vendor/markit-ai/dist/commands/onboard.js +61 -0
- package/vendor/markit-ai/dist/commands/plugin.d.ts +4 -0
- package/vendor/markit-ai/dist/commands/plugin.js +58 -0
- package/vendor/markit-ai/dist/config.d.ts +26 -0
- package/vendor/markit-ai/dist/config.js +42 -0
- package/vendor/markit-ai/dist/converters/audio.d.ts +7 -0
- package/vendor/markit-ai/dist/converters/audio.js +104 -0
- package/vendor/markit-ai/dist/converters/csv.d.ts +7 -0
- package/vendor/markit-ai/dist/converters/csv.js +83 -0
- package/vendor/markit-ai/dist/converters/docx.d.ts +6 -0
- package/vendor/markit-ai/dist/converters/docx.js +57 -0
- package/vendor/markit-ai/dist/converters/epub.d.ts +8 -0
- package/vendor/markit-ai/dist/converters/epub.js +128 -0
- package/vendor/markit-ai/dist/converters/github.d.ts +18 -0
- package/vendor/markit-ai/dist/converters/github.js +148 -0
- package/vendor/markit-ai/dist/converters/html.d.ts +6 -0
- package/vendor/markit-ai/dist/converters/html.js +30 -0
- package/vendor/markit-ai/dist/converters/image.d.ts +6 -0
- package/vendor/markit-ai/dist/converters/image.js +124 -0
- package/vendor/markit-ai/dist/converters/ipynb.d.ts +6 -0
- package/vendor/markit-ai/dist/converters/ipynb.js +75 -0
- package/vendor/markit-ai/dist/converters/iwork.d.ts +20 -0
- package/vendor/markit-ai/dist/converters/iwork.js +391 -0
- package/vendor/markit-ai/dist/converters/json.d.ts +6 -0
- package/vendor/markit-ai/dist/converters/json.js +21 -0
- package/vendor/markit-ai/dist/converters/pdf/columns.d.ts +35 -0
- package/vendor/markit-ai/dist/converters/pdf/columns.js +93 -0
- package/vendor/markit-ai/dist/converters/pdf/extract.d.ts +19 -0
- package/vendor/markit-ai/dist/converters/pdf/extract.js +514 -0
- package/vendor/markit-ai/dist/converters/pdf/grid.d.ts +25 -0
- package/vendor/markit-ai/dist/converters/pdf/grid.js +795 -0
- package/vendor/markit-ai/dist/converters/pdf/headers.d.ts +24 -0
- package/vendor/markit-ai/dist/converters/pdf/headers.js +108 -0
- package/vendor/markit-ai/dist/converters/pdf/index.d.ts +19 -0
- package/vendor/markit-ai/dist/converters/pdf/index.js +136 -0
- package/vendor/markit-ai/dist/converters/pdf/mupdf-loader.js +9 -0
- package/vendor/markit-ai/dist/converters/pdf/render.d.ts +24 -0
- package/vendor/markit-ai/dist/converters/pdf/render.js +513 -0
- package/vendor/markit-ai/dist/converters/pdf/types.d.ts +75 -0
- package/vendor/markit-ai/dist/converters/pdf/types.js +1 -0
- package/vendor/markit-ai/dist/converters/plain-text.d.ts +6 -0
- package/vendor/markit-ai/dist/converters/plain-text.js +87 -0
- package/vendor/markit-ai/dist/converters/pptx.d.ts +8 -0
- package/vendor/markit-ai/dist/converters/pptx.js +289 -0
- package/vendor/markit-ai/dist/converters/rss.d.ts +11 -0
- package/vendor/markit-ai/dist/converters/rss.js +138 -0
- package/vendor/markit-ai/dist/converters/wikipedia.d.ts +6 -0
- package/vendor/markit-ai/dist/converters/wikipedia.js +33 -0
- package/vendor/markit-ai/dist/converters/xlsx.d.ts +8 -0
- package/vendor/markit-ai/dist/converters/xlsx.js +147 -0
- package/vendor/markit-ai/dist/converters/xml.d.ts +6 -0
- package/vendor/markit-ai/dist/converters/xml.js +18 -0
- package/vendor/markit-ai/dist/converters/yaml.d.ts +6 -0
- package/vendor/markit-ai/dist/converters/yaml.js +17 -0
- package/vendor/markit-ai/dist/converters/zip.d.ts +8 -0
- package/vendor/markit-ai/dist/converters/zip.js +57 -0
- package/vendor/markit-ai/dist/index.d.ts +30 -0
- package/vendor/markit-ai/dist/index.js +26 -0
- package/vendor/markit-ai/dist/main.d.ts +2 -0
- package/vendor/markit-ai/dist/main.js +191 -0
- package/vendor/markit-ai/dist/markit.d.ts +45 -0
- package/vendor/markit-ai/dist/markit.js +267 -0
- package/vendor/markit-ai/dist/plugins/api.d.ts +7 -0
- package/vendor/markit-ai/dist/plugins/api.js +42 -0
- package/vendor/markit-ai/dist/plugins/index.d.ts +4 -0
- package/vendor/markit-ai/dist/plugins/index.js +3 -0
- package/vendor/markit-ai/dist/plugins/installer.d.ts +25 -0
- package/vendor/markit-ai/dist/plugins/installer.js +176 -0
- package/vendor/markit-ai/dist/plugins/loader.d.ts +6 -0
- package/vendor/markit-ai/dist/plugins/loader.js +61 -0
- package/vendor/markit-ai/dist/plugins/types.d.ts +25 -0
- package/vendor/markit-ai/dist/plugins/types.js +1 -0
- package/vendor/markit-ai/dist/providers/anthropic.d.ts +2 -0
- package/vendor/markit-ai/dist/providers/anthropic.js +47 -0
- package/vendor/markit-ai/dist/providers/index.d.ts +21 -0
- package/vendor/markit-ai/dist/providers/index.js +56 -0
- package/vendor/markit-ai/dist/providers/openai.d.ts +2 -0
- package/vendor/markit-ai/dist/providers/openai.js +76 -0
- package/vendor/markit-ai/dist/providers/types.d.ts +26 -0
- package/vendor/markit-ai/dist/providers/types.js +1 -0
- package/vendor/markit-ai/dist/types.d.ts +36 -0
- package/vendor/markit-ai/dist/types.js +1 -0
- package/vendor/markit-ai/dist/utils/exit-codes.d.ts +4 -0
- package/vendor/markit-ai/dist/utils/exit-codes.js +4 -0
- package/vendor/markit-ai/dist/utils/output.d.ts +22 -0
- package/vendor/markit-ai/dist/utils/output.js +31 -0
- package/vendor/markit-ai/dist/utils/turndown.d.ts +8 -0
- package/vendor/markit-ai/dist/utils/turndown.js +70 -0
- package/vendor/markit-ai/package.json +74 -0
- package/vendor/markit-ai.patch +49 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
export declare const EVIDENCE_LIMITS: Readonly<{
|
|
2
|
+
slots: 64;
|
|
3
|
+
recordBytes: 1048576;
|
|
4
|
+
totalBytes: 16777216;
|
|
5
|
+
ttlMs: 86400000;
|
|
6
|
+
fragmentBytes: 1024;
|
|
7
|
+
responseBytes: 8192;
|
|
8
|
+
}>;
|
|
9
|
+
export type EvidenceReferenceKind = "sessionId" | "operationRef" | "idempotencyKey" | "claimId" | "commandId" | "turnId";
|
|
10
|
+
export interface EvidenceReference {
|
|
11
|
+
kind: EvidenceReferenceKind;
|
|
12
|
+
value: string;
|
|
13
|
+
}
|
|
14
|
+
export interface EvidenceClassification {
|
|
15
|
+
code: string;
|
|
16
|
+
category: "usage" | "unavailable" | "authorization" | "timeout" | "uncertain" | "operation" | "internal";
|
|
17
|
+
retryability: "yes" | "no" | "unknown";
|
|
18
|
+
outcomeCertainty: "not-applied" | "applied" | "unknown";
|
|
19
|
+
}
|
|
20
|
+
export type EvidenceUnavailableReason = "record_too_large" | "quota_exceeded" | "store_busy" | "permission_denied" | "permission_unsupported" | "unsafe_path" | "store_corrupt" | "io_error" | "verification_failed" | "locator_too_large" | "evidence_unavailable" | "evidence_changed" | "evidence_corrupt" | "evidence_unsafe" | "evidence_clock_invalid" | "invalid_request";
|
|
21
|
+
export interface EvidenceUnavailable {
|
|
22
|
+
status: "unavailable";
|
|
23
|
+
reason: EvidenceUnavailableReason;
|
|
24
|
+
requiredBytes: number | null;
|
|
25
|
+
continuation: null;
|
|
26
|
+
}
|
|
27
|
+
export interface EvidenceContinuation {
|
|
28
|
+
kind: "local-store";
|
|
29
|
+
id: string;
|
|
30
|
+
sha256: string;
|
|
31
|
+
expiresAt: string;
|
|
32
|
+
page: number;
|
|
33
|
+
executable: "gjc";
|
|
34
|
+
argv: string[];
|
|
35
|
+
}
|
|
36
|
+
export interface EvidenceLocatorOptions {
|
|
37
|
+
family: "sdk" | "daemon";
|
|
38
|
+
scopeAgentDir?: string;
|
|
39
|
+
json?: boolean;
|
|
40
|
+
}
|
|
41
|
+
export interface PublishCommandEvidenceInput {
|
|
42
|
+
agentDir: string;
|
|
43
|
+
command: string[];
|
|
44
|
+
error: EvidenceClassification;
|
|
45
|
+
references: readonly EvidenceReference[];
|
|
46
|
+
}
|
|
47
|
+
export interface EvidenceRetained {
|
|
48
|
+
status: "retained";
|
|
49
|
+
id: string;
|
|
50
|
+
sha256: string;
|
|
51
|
+
bytes: number;
|
|
52
|
+
expiresAt: string;
|
|
53
|
+
continuation: EvidenceContinuation;
|
|
54
|
+
}
|
|
55
|
+
export interface EvidenceRecord {
|
|
56
|
+
schema: "gjc.command-error-record";
|
|
57
|
+
version: 1;
|
|
58
|
+
pagingVersion: 1;
|
|
59
|
+
id: string;
|
|
60
|
+
command: string[];
|
|
61
|
+
error: EvidenceClassification;
|
|
62
|
+
createdAt: string;
|
|
63
|
+
expiresAt: string;
|
|
64
|
+
references: EvidenceReference[];
|
|
65
|
+
}
|
|
66
|
+
export interface EvidencePage {
|
|
67
|
+
schema: "gjc.command-error-evidence";
|
|
68
|
+
version: 1;
|
|
69
|
+
ok: true;
|
|
70
|
+
id: string;
|
|
71
|
+
sha256: string;
|
|
72
|
+
expiresAt: string;
|
|
73
|
+
page: number;
|
|
74
|
+
complete: boolean;
|
|
75
|
+
fragments: {
|
|
76
|
+
entryId: string;
|
|
77
|
+
encoding: "base64";
|
|
78
|
+
offsetBytes: number;
|
|
79
|
+
totalBytes: number;
|
|
80
|
+
data: string;
|
|
81
|
+
}[];
|
|
82
|
+
next: EvidenceContinuation | null;
|
|
83
|
+
}
|
|
84
|
+
export interface ReadCommandEvidenceInput extends EvidenceLocatorOptions {
|
|
85
|
+
agentDir: string;
|
|
86
|
+
id: string;
|
|
87
|
+
sha256: string;
|
|
88
|
+
page?: number;
|
|
89
|
+
}
|
|
90
|
+
/** Narrow per-call fault instrumentation; production callers omit this argument. */
|
|
91
|
+
export interface EvidencePublicationTestHooks {
|
|
92
|
+
id?: string;
|
|
93
|
+
before?: (phase: "write" | "file-sync" | "link" | "directory-sync" | "readback" | "cleanup") => void | Promise<void>;
|
|
94
|
+
}
|
|
95
|
+
export declare function publishCommandEvidence(input: PublishCommandEvidenceInput, options: EvidenceLocatorOptions, testHooks?: EvidencePublicationTestHooks): Promise<EvidenceRetained | EvidenceUnavailable>;
|
|
96
|
+
export declare function readCommandEvidence(input: ReadCommandEvidenceInput): Promise<{
|
|
97
|
+
status: "available";
|
|
98
|
+
page: EvidencePage;
|
|
99
|
+
} | EvidenceUnavailable>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { type PublicCommandDescriptor, type PublicHelpSection } from "./public-command-registry";
|
|
2
|
+
export declare const PUBLIC_HELP_MAX_BYTES = 8192;
|
|
3
|
+
export interface PublicHelpOptions {
|
|
4
|
+
json?: boolean;
|
|
5
|
+
section?: string;
|
|
6
|
+
page?: string | number;
|
|
7
|
+
revision?: string;
|
|
8
|
+
}
|
|
9
|
+
export type PublicHelpErrorCode = "unknown_command" | "invalid_section" | "invalid_page" | "invalid_revision" | "revision_mismatch" | "static_metadata_too_large" | "invalid_registry";
|
|
10
|
+
export declare class PublicHelpError extends Error {
|
|
11
|
+
readonly code: PublicHelpErrorCode;
|
|
12
|
+
readonly exitCode: 2 | 1;
|
|
13
|
+
constructor(code: PublicHelpErrorCode);
|
|
14
|
+
}
|
|
15
|
+
export interface PublicHelpEntry {
|
|
16
|
+
id: string;
|
|
17
|
+
kind: "overview" | "usage" | "child" | "argument" | "option" | "example" | "recovery";
|
|
18
|
+
complete: true;
|
|
19
|
+
value: unknown;
|
|
20
|
+
}
|
|
21
|
+
export interface PublicHelpFragment {
|
|
22
|
+
id: string;
|
|
23
|
+
kind: "fragment";
|
|
24
|
+
complete: false;
|
|
25
|
+
encoding: "base64";
|
|
26
|
+
offsetBytes: number;
|
|
27
|
+
totalBytes: number;
|
|
28
|
+
sha256: string;
|
|
29
|
+
data: string;
|
|
30
|
+
}
|
|
31
|
+
export interface PublicHelpNext {
|
|
32
|
+
section: PublicHelpSection;
|
|
33
|
+
page: number;
|
|
34
|
+
executable: "gjc";
|
|
35
|
+
argv: string[];
|
|
36
|
+
}
|
|
37
|
+
export interface PublicHelpDocument {
|
|
38
|
+
schema: "gjc.command-help";
|
|
39
|
+
version: 1;
|
|
40
|
+
ok: true;
|
|
41
|
+
command: readonly string[];
|
|
42
|
+
canonicalCommand: readonly string[];
|
|
43
|
+
revision: string;
|
|
44
|
+
section: PublicHelpSection;
|
|
45
|
+
page: number;
|
|
46
|
+
sections: readonly PublicHelpSection[];
|
|
47
|
+
entries: readonly (PublicHelpEntry | PublicHelpFragment)[];
|
|
48
|
+
sectionComplete: boolean;
|
|
49
|
+
documentComplete: boolean;
|
|
50
|
+
next: PublicHelpNext | null;
|
|
51
|
+
}
|
|
52
|
+
export interface PublicHelpRenderResult {
|
|
53
|
+
/** Complete serialization including its single trailing newline. No output is written. */
|
|
54
|
+
output: string;
|
|
55
|
+
bytes: number;
|
|
56
|
+
document: PublicHelpDocument;
|
|
57
|
+
}
|
|
58
|
+
/** The digest covers every descriptor and this renderer's paging/schema policy. */
|
|
59
|
+
export declare function getPublicHelpRevision(registry?: readonly PublicCommandDescriptor[]): string;
|
|
60
|
+
/**
|
|
61
|
+
* Pure command-local rendering. Each page holds one complete entry or one byte fragment;
|
|
62
|
+
* empty sections still have page 1. This keeps traversal stable and independently bounded.
|
|
63
|
+
* The optional registry supports isolated static fixtures without replacing global state.
|
|
64
|
+
*/
|
|
65
|
+
export declare function renderPublicCommandHelp(command: readonly string[], options?: PublicHelpOptions, registry?: readonly PublicCommandDescriptor[]): PublicHelpRenderResult;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { ArgDescriptor, FlagDescriptor } from "@gajae-code/utils/cli";
|
|
2
|
+
import { type Operation, type OperationKind } from "../sdk/protocol/operation-registry";
|
|
3
|
+
export declare const PUBLIC_HELP_SECTIONS: readonly ["overview", "usage", "children", "arguments", "options", "examples", "recovery"];
|
|
4
|
+
export type PublicHelpSection = (typeof PUBLIC_HELP_SECTIONS)[number];
|
|
5
|
+
export type PublicCommandFamily = "sdk" | "daemon";
|
|
6
|
+
export type PublicDisruption = "none" | "interrupts-work" | "force-kill";
|
|
7
|
+
export interface PublicRecovery {
|
|
8
|
+
description: string;
|
|
9
|
+
disruption: PublicDisruption;
|
|
10
|
+
requiresConfirmation: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface PublicFlagDescriptor extends FlagDescriptor {
|
|
13
|
+
description: string;
|
|
14
|
+
/** Boundary options are stripped before operation parsing. */
|
|
15
|
+
boundary?: "help" | "mode" | "retrieval";
|
|
16
|
+
conflicts?: readonly string[];
|
|
17
|
+
requires?: readonly string[];
|
|
18
|
+
risk?: string;
|
|
19
|
+
validation?: "positive-safe-integer" | "sha256" | "error-id" | "search-limit" | "pending-ceiling";
|
|
20
|
+
/** Serve's existing operation parser accepts separate operands only. */
|
|
21
|
+
valueSyntax?: "separate" | "separate-or-equals";
|
|
22
|
+
}
|
|
23
|
+
export interface PublicArgumentDescriptor extends ArgDescriptor {
|
|
24
|
+
description: string;
|
|
25
|
+
}
|
|
26
|
+
export interface PublicCommandDescriptor {
|
|
27
|
+
command: readonly string[];
|
|
28
|
+
canonicalCommand: readonly string[];
|
|
29
|
+
parent: readonly string[] | null;
|
|
30
|
+
description: string;
|
|
31
|
+
/** Effective local grammar, not a union of sibling options. Keys have no leading --. */
|
|
32
|
+
flags: Readonly<Record<string, PublicFlagDescriptor>>;
|
|
33
|
+
/** Insertion order is positional order; child tokens are not arguments. */
|
|
34
|
+
args: Readonly<Record<string, PublicArgumentDescriptor>>;
|
|
35
|
+
children: readonly string[];
|
|
36
|
+
usage: readonly {
|
|
37
|
+
syntax: string;
|
|
38
|
+
executable: false;
|
|
39
|
+
}[];
|
|
40
|
+
examples: readonly {
|
|
41
|
+
syntax: string;
|
|
42
|
+
executable: false;
|
|
43
|
+
}[];
|
|
44
|
+
recovery: readonly PublicRecovery[];
|
|
45
|
+
risk?: string;
|
|
46
|
+
defaultChild?: string;
|
|
47
|
+
exactlyOneOf?: readonly (readonly string[])[];
|
|
48
|
+
/** Semantic conditions remain runtime-owned (e.g. proof-bound retirement). */
|
|
49
|
+
constraints: readonly string[];
|
|
50
|
+
operationKind?: Exclude<OperationKind, "reverse">;
|
|
51
|
+
}
|
|
52
|
+
export interface PublicCommandResolution {
|
|
53
|
+
descriptor: PublicCommandDescriptor;
|
|
54
|
+
/** Number of path tokens consumed, including the family. No argv scanning is performed. */
|
|
55
|
+
consumed: number;
|
|
56
|
+
remaining: readonly string[];
|
|
57
|
+
exact: boolean;
|
|
58
|
+
}
|
|
59
|
+
export declare const PUBLIC_BOUNDARY_FLAGS: Readonly<Record<string, PublicFlagDescriptor>>;
|
|
60
|
+
export declare const PUBLIC_RETRIEVAL_FLAGS: Readonly<Record<string, PublicFlagDescriptor>>;
|
|
61
|
+
/** Static descriptors only: no settings, theme, broker, transport, filesystem or process initialization. */
|
|
62
|
+
export declare const PUBLIC_COMMANDS: readonly PublicCommandDescriptor[];
|
|
63
|
+
/** Exact full public path lookup; private workers and function-only verbs are absent. */
|
|
64
|
+
export declare function getPublicCommand(command: readonly string[]): PublicCommandDescriptor | undefined;
|
|
65
|
+
export declare function getPublicCommandChildren(descriptor: PublicCommandDescriptor): readonly PublicCommandDescriptor[];
|
|
66
|
+
/** Resolve path tokens only. The entry scanner must first respect flag operands and --. */
|
|
67
|
+
export declare function resolvePublicCommand(tokens: readonly string[]): PublicCommandResolution | undefined;
|
|
68
|
+
/** Operation metadata is reused, not promoted to command paths or usage-level enum rejection. */
|
|
69
|
+
export declare function getPublicRawOperations(kind: Exclude<OperationKind, "reverse">): readonly Operation[];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type SessionSelectionResult } from "../modes/components/session-selector";
|
|
2
2
|
import { type SessionInfo } from "../session/session-manager";
|
|
3
3
|
export declare function deleteSessionPickerCandidate(sessionPath: string, explicitSessionDir?: string): Promise<void>;
|
|
4
|
-
/** Show the
|
|
4
|
+
/** Show the session picker and return the user's resume consent intent. */
|
|
5
5
|
export declare function selectSession(sessions: SessionInfo[], explicitSessionDir?: string): Promise<SessionSelectionResult>;
|
|
@@ -5,6 +5,11 @@ export interface SkillsCommandArgs {
|
|
|
5
5
|
flags?: {
|
|
6
6
|
json?: boolean;
|
|
7
7
|
source?: "all" | "project" | "user";
|
|
8
|
+
/** Max discover results; clamped to [1, SKILL_DISCOVERY_MAX_LIMIT] by the library. */
|
|
9
|
+
limit?: number;
|
|
10
|
+
/** Zero-based start of the discover page; normalized by the library. */
|
|
11
|
+
offset?: number;
|
|
12
|
+
query?: string;
|
|
8
13
|
};
|
|
9
14
|
}
|
|
10
15
|
export declare function runSkillsCommand(cmd: SkillsCommandArgs): Promise<void>;
|
package/dist/types/cli.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
+
import type { CommandEntry } from "@gajae-code/utils/cli";
|
|
3
|
+
/** Public-family hooks kept available for private-worker tests without loading the full registry. */
|
|
4
|
+
export declare const commands: CommandEntry[];
|
|
2
5
|
/** Run the CLI with argv excluding process.argv prefix. */
|
|
3
6
|
export declare function runCli(argv: string[]): Promise<void>;
|
|
@@ -1,54 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
3
|
-
*/
|
|
4
|
-
import { Command } from "@gajae-code/utils/cli";
|
|
1
|
+
/** Manage public daemon operations while keeping worker grammar private. */
|
|
2
|
+
import { type ArgDescriptor, Command, type FlagDescriptor } from "@gajae-code/utils/cli";
|
|
5
3
|
export default class Daemon extends Command {
|
|
6
4
|
static description: string;
|
|
7
|
-
static
|
|
8
|
-
static
|
|
9
|
-
action: import("@gajae-code/utils/cli").ArgDescriptor & {
|
|
10
|
-
description: string;
|
|
11
|
-
required: false;
|
|
12
|
-
options: string[];
|
|
13
|
-
};
|
|
14
|
-
kind: import("@gajae-code/utils/cli").ArgDescriptor & {
|
|
15
|
-
description: string;
|
|
16
|
-
required: false;
|
|
17
|
-
multiple: true;
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
static flags: {
|
|
21
|
-
verbose: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
22
|
-
char: string;
|
|
23
|
-
description: string;
|
|
24
|
-
};
|
|
25
|
-
all: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
26
|
-
description: string;
|
|
27
|
-
};
|
|
28
|
-
json: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
29
|
-
description: string;
|
|
30
|
-
};
|
|
31
|
-
force: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
32
|
-
description: string;
|
|
33
|
-
};
|
|
34
|
-
"graceful-timeout-ms": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
35
|
-
description: string;
|
|
36
|
-
};
|
|
37
|
-
"kill-timeout-ms": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
38
|
-
description: string;
|
|
39
|
-
};
|
|
40
|
-
"spawn-if-stopped": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
41
|
-
description: string;
|
|
42
|
-
};
|
|
43
|
-
smoke: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
44
|
-
description: string;
|
|
45
|
-
};
|
|
46
|
-
"owner-id": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
47
|
-
description: string;
|
|
48
|
-
};
|
|
49
|
-
"agent-dir": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
50
|
-
description: string;
|
|
51
|
-
};
|
|
52
|
-
};
|
|
5
|
+
static args: Record<string, ArgDescriptor>;
|
|
6
|
+
static flags: Record<string, FlagDescriptor>;
|
|
53
7
|
run(): Promise<void>;
|
|
54
8
|
}
|
|
@@ -41,10 +41,10 @@ export declare function watchSessionHostBrokerLiveness(deps: {
|
|
|
41
41
|
* no client attached before treating itself as abandoned.
|
|
42
42
|
*
|
|
43
43
|
* This cannot fire during healthy work. "Attached" is the host's own live
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
44
|
+
* demand count: observer-only sockets (such as an idle chat daemon) do not
|
|
45
|
+
* reset the window, while an in-flight turn is reported separately. Only a
|
|
46
|
+
* client that is actually demanding the host opens it, and 30 minutes is far
|
|
47
|
+
* longer than any client
|
|
48
48
|
* reconnect budget (ACP's is seconds), so a crashed-and-restarted client
|
|
49
49
|
* reattaches long before the window closes.
|
|
50
50
|
*/
|
|
@@ -66,8 +66,8 @@ export declare const SESSION_HOST_FIRST_ATTACH_GRACE_MS: number;
|
|
|
66
66
|
* from every client for a full idle grace, or nobody has come for it at all
|
|
67
67
|
* for a full first-attach grace.
|
|
68
68
|
*
|
|
69
|
-
* `readAttachedClients` reports the host's own live client
|
|
70
|
-
*
|
|
69
|
+
* `readAttachedClients` reports the host's own live demanding-client count;
|
|
70
|
+
* `undefined` means the SDK endpoint publishes no such evidence — before
|
|
71
71
|
* startup, after teardown, or when every reader itself fails. That ambiguity is
|
|
72
72
|
* never instant detachment: it cannot reap on the poll that first sees it, it
|
|
73
73
|
* can only open a window. Which window depends on what was already observed. A
|
|
@@ -78,25 +78,24 @@ export declare const SESSION_HOST_FIRST_ATTACH_GRACE_MS: number;
|
|
|
78
78
|
* an observed count of zero. Every reachable state therefore carries a finite
|
|
79
79
|
* bound.
|
|
80
80
|
*
|
|
81
|
-
* `
|
|
82
|
-
*
|
|
83
|
-
* arrive over an endpoint a client dialed. Live work therefore
|
|
84
|
-
* windows, which is what keeps a mid-prompt host alive whether
|
|
85
|
-
* zero or stops being readable at all. That still bounds a
|
|
86
|
-
* runtime never came up: with no transport it can never receive
|
|
87
|
-
* never
|
|
88
|
-
*
|
|
89
|
-
* never removes it.
|
|
81
|
+
* `readWorkLease` reports whether the host's authoritative session-work lease
|
|
82
|
+
* is held. A lease is positive proof a client did come for this host: a prompt
|
|
83
|
+
* can only arrive over an endpoint a client dialed. Live work therefore
|
|
84
|
+
* restarts both windows, which is what keeps a mid-prompt host alive whether
|
|
85
|
+
* its count reads zero or stops being readable at all. That still bounds a
|
|
86
|
+
* host whose SDK runtime never came up: with no transport it can never receive
|
|
87
|
+
* a prompt, so it never acquires work and its window keeps running from process
|
|
88
|
+
* start. Releasing the lease resumes the applicable bound.
|
|
90
89
|
*/
|
|
91
90
|
export declare function watchSessionHostClientAttachment(deps: {
|
|
92
91
|
readAttachedClients: () => number | undefined;
|
|
93
|
-
|
|
92
|
+
readWorkLease?: () => boolean;
|
|
94
93
|
now?: () => number;
|
|
95
94
|
sleep?: (ms: number) => Promise<void>;
|
|
96
95
|
idleGraceMs?: number;
|
|
97
96
|
firstAttachGraceMs?: number;
|
|
98
97
|
pollMs?: number;
|
|
99
|
-
}): Promise<
|
|
98
|
+
}): Promise<"detached_idle">;
|
|
100
99
|
/** Opens lifecycle-authorized history without letting replacement content reach readiness. */
|
|
101
100
|
export declare function openLifecycleSessionManager(request: SessionLifecycleLaunchRequest, cwd: string, agentDir: string): Promise<{
|
|
102
101
|
parsed: ParsedArgs;
|
|
@@ -126,6 +125,10 @@ export type SdkInternalArgv = {
|
|
|
126
125
|
agentDir: string;
|
|
127
126
|
} | {
|
|
128
127
|
action: "session-host-internal";
|
|
128
|
+
} | {
|
|
129
|
+
action: "stderr-drain-internal";
|
|
130
|
+
logPath: string;
|
|
131
|
+
maxBytes: number;
|
|
129
132
|
};
|
|
130
133
|
/** Parses the exact private argv contracts used by SDK child-process spawns. */
|
|
131
134
|
export declare function parseSdkInternalArgv(argv: readonly string[]): SdkInternalArgv;
|
|
@@ -133,25 +136,5 @@ export default class Sdk extends Command {
|
|
|
133
136
|
static description: string;
|
|
134
137
|
static hidden: boolean;
|
|
135
138
|
static delegateHelp: boolean;
|
|
136
|
-
static args: {
|
|
137
|
-
action: import("@gajae-code/utils/cli").ArgDescriptor & {
|
|
138
|
-
required: false;
|
|
139
|
-
options: string[];
|
|
140
|
-
};
|
|
141
|
-
};
|
|
142
|
-
static flags: {
|
|
143
|
-
stdio: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
144
|
-
description: string;
|
|
145
|
-
};
|
|
146
|
-
socket: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
147
|
-
description: string;
|
|
148
|
-
};
|
|
149
|
-
session: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
150
|
-
description: string;
|
|
151
|
-
};
|
|
152
|
-
"pending-ceiling": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
153
|
-
description: string;
|
|
154
|
-
};
|
|
155
|
-
};
|
|
156
139
|
run(): Promise<void>;
|
|
157
140
|
}
|
|
@@ -102,6 +102,9 @@ export default class Setup extends Command {
|
|
|
102
102
|
description: string;
|
|
103
103
|
multiple: true;
|
|
104
104
|
};
|
|
105
|
+
discover: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
|
|
106
|
+
description: string;
|
|
107
|
+
};
|
|
105
108
|
"models-path": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
106
109
|
description: string;
|
|
107
110
|
};
|
|
@@ -25,6 +25,15 @@ export default class Skills extends Command {
|
|
|
25
25
|
options: string[];
|
|
26
26
|
default: string;
|
|
27
27
|
};
|
|
28
|
+
limit: import("@gajae-code/utils/cli").FlagDescriptor<"integer"> & {
|
|
29
|
+
description: string;
|
|
30
|
+
};
|
|
31
|
+
offset: import("@gajae-code/utils/cli").FlagDescriptor<"integer"> & {
|
|
32
|
+
description: string;
|
|
33
|
+
};
|
|
34
|
+
query: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
35
|
+
description: string;
|
|
36
|
+
};
|
|
28
37
|
};
|
|
29
38
|
static examples: string[];
|
|
30
39
|
run(): Promise<void>;
|
|
@@ -784,6 +784,12 @@ export declare const TIER_MAP_SKIP_LIST: {
|
|
|
784
784
|
readonly "openai-codex/gpt-6-astra": {
|
|
785
785
|
readonly rationale: "GPT-6 Astra catalog addition (2026-09-03 release); not yet curated";
|
|
786
786
|
};
|
|
787
|
+
readonly "openai-codex/gpt-6-luna": {
|
|
788
|
+
readonly rationale: "GPT-6 Luna catalog addition (2026-09-22 release); not yet curated";
|
|
789
|
+
};
|
|
790
|
+
readonly "openai-codex/gpt-6-sol": {
|
|
791
|
+
readonly rationale: "GPT-6 Sol catalog addition (2026-09-22 release); not yet curated";
|
|
792
|
+
};
|
|
787
793
|
readonly "openai-codex/gpt-daybreak-blue-latest": {
|
|
788
794
|
readonly rationale: "post-rebase catalog addition from dev; not yet curated";
|
|
789
795
|
};
|
|
@@ -820,6 +826,9 @@ export declare const TIER_MAP_SKIP_LIST: {
|
|
|
820
826
|
readonly "opencode-go/qwen3.8-max": {
|
|
821
827
|
readonly rationale: "post-rebase catalog addition from dev; not yet curated";
|
|
822
828
|
};
|
|
829
|
+
readonly "opencode-go/union-alpha": {
|
|
830
|
+
readonly rationale: "stealth model; capability tier not yet independently reviewed";
|
|
831
|
+
};
|
|
823
832
|
readonly "opencode-zen/grok-4.6": {
|
|
824
833
|
readonly rationale: "post-rebase catalog addition from dev; not yet curated";
|
|
825
834
|
};
|
|
@@ -835,6 +844,9 @@ export declare const TIER_MAP_SKIP_LIST: {
|
|
|
835
844
|
readonly "opencode-zen/nemotron-3.5-lightning-free": {
|
|
836
845
|
readonly rationale: "post-rebase catalog addition from dev; not yet curated";
|
|
837
846
|
};
|
|
847
|
+
readonly "opencode-zen/union-alpha": {
|
|
848
|
+
readonly rationale: "stealth model; capability tier not yet independently reviewed";
|
|
849
|
+
};
|
|
838
850
|
readonly "openrouter/anthropic/claude-fable-5:batch": {
|
|
839
851
|
readonly rationale: "post-rebase catalog addition from dev; not yet curated";
|
|
840
852
|
};
|
|
@@ -1149,6 +1161,18 @@ export declare const TIER_MAP_SKIP_LIST: {
|
|
|
1149
1161
|
readonly baseline: true;
|
|
1150
1162
|
readonly rationale: "pre-feature baseline; not yet curated";
|
|
1151
1163
|
};
|
|
1164
|
+
readonly "alibaba-token-plan/deepseek-v4-pro-0813": {
|
|
1165
|
+
readonly baseline: true;
|
|
1166
|
+
readonly rationale: "post-feature catalog addition; not yet curated";
|
|
1167
|
+
};
|
|
1168
|
+
readonly "alibaba-token-plan/deepseek-v4.1-flash": {
|
|
1169
|
+
readonly baseline: true;
|
|
1170
|
+
readonly rationale: "post-feature catalog addition; not yet curated";
|
|
1171
|
+
};
|
|
1172
|
+
readonly "alibaba-token-plan/glm-5.3": {
|
|
1173
|
+
readonly baseline: true;
|
|
1174
|
+
readonly rationale: "post-feature catalog addition; not yet curated";
|
|
1175
|
+
};
|
|
1152
1176
|
readonly "amazon-bedrock/anthropic.claude-3-5-haiku-20241022-v1:0": {
|
|
1153
1177
|
readonly baseline: true;
|
|
1154
1178
|
readonly rationale: "pre-feature baseline; not yet curated";
|
|
@@ -6,6 +6,7 @@ export interface FileLockOptions {
|
|
|
6
6
|
retryDelayMs?: number;
|
|
7
7
|
signal?: AbortSignal;
|
|
8
8
|
onAcquired?: () => void;
|
|
9
|
+
onContended?: () => void;
|
|
9
10
|
/** Stable host identity required to safely reclaim locks on a shared volume. */
|
|
10
11
|
ownerHostId?: string;
|
|
11
12
|
/** Previous local host identities accepted only when deciding stale-owner reclamation. */
|
|
@@ -88,7 +89,14 @@ export interface FileLockOwnerToken {
|
|
|
88
89
|
}
|
|
89
90
|
/** Outcome of a guarded lock-dir removal attempt (`removeFileLockDirForGc`). */
|
|
90
91
|
export type FileLockGcRemoval = "removed" | "owner_changed" | "missing" | "cleanup_failed";
|
|
91
|
-
/**
|
|
92
|
+
/**
|
|
93
|
+
* Identity evidence carried by the generic stale verdict into a later removal.
|
|
94
|
+
*
|
|
95
|
+
* `ctimeNs` is a mutable metadata-change time on every supported filesystem, so
|
|
96
|
+
* it is retained for diagnostics/legacy consumers but is not part of the lock
|
|
97
|
+
* identity predicate. `infoBirthtimeNs` is the creation time that stays bound
|
|
98
|
+
* to the file object.
|
|
99
|
+
*/
|
|
92
100
|
export interface GenericFileLockDirIdentity {
|
|
93
101
|
rootDev: string;
|
|
94
102
|
rootIno: string;
|
|
@@ -98,6 +106,7 @@ export interface GenericFileLockDirIdentity {
|
|
|
98
106
|
infoSize: string;
|
|
99
107
|
infoMtimeNs: string;
|
|
100
108
|
infoCtimeNs: string;
|
|
109
|
+
infoBirthtimeNs: string;
|
|
101
110
|
infoSha256: string;
|
|
102
111
|
}
|
|
103
112
|
export type GenericFileLockDirStaleVerdict = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ThinkingLevel } from "@gajae-code/agent-core";
|
|
2
|
-
import type
|
|
2
|
+
import { type Api, type Model } from "@gajae-code/ai/core";
|
|
3
3
|
import type { AgentSession, DefaultFallbackRuntimeState } from "../session/agent-session";
|
|
4
4
|
import { type ModelProfileDefinition } from "./model-profiles";
|
|
5
5
|
export { resolveModelProfileName } from "./model-profile-contract";
|
|
@@ -31,7 +31,7 @@ type ModelProfileActivationSession = Pick<AgentSession, "model" | "thinkingLevel
|
|
|
31
31
|
getDefaultFallbackRuntimeState?: () => DefaultFallbackRuntimeState;
|
|
32
32
|
restoreDefaultFallbackRuntimeState?: (state: DefaultFallbackRuntimeState) => void;
|
|
33
33
|
restoreModelSelectionForRollback?: AgentSession["restoreModelSelectionForRollback"];
|
|
34
|
-
modelRegistry?: Pick<ModelRegistry, "getSessionCanonicalVariant" | "restoreSessionCanonicalVariant" | "clearCanonicalVariant" | "getAvailable" | "lookupAliasExists" | "resolveModelByLookupAlias" | "authStorage" | "isCredentiallessProvider"
|
|
34
|
+
modelRegistry?: Pick<ModelRegistry, "getSessionCanonicalVariant" | "restoreSessionCanonicalVariant" | "clearCanonicalVariant" | "getAvailable" | "lookupAliasExists" | "resolveModelByLookupAlias" | "authStorage" | "isCredentiallessProvider"> & Partial<Pick<ModelRegistry, "getAvailableForProfileActivation">>;
|
|
35
35
|
getConfiguredModelChainState?: (role: string) => ConfiguredModelChainState | undefined;
|
|
36
36
|
};
|
|
37
37
|
type ConfiguredModelChainState = {
|
|
@@ -42,7 +42,7 @@ type ConfiguredModelChainState = {
|
|
|
42
42
|
};
|
|
43
43
|
export interface PrepareModelProfileActivationOptions {
|
|
44
44
|
session: ModelProfileActivationSession;
|
|
45
|
-
modelRegistry: Pick<ModelRegistry, "getModelProfile" | "getModelProfiles" | "getAvailableModelProfileNames" | "getApiKeyForProvider" | "getAll" | "resolveCanonicalModel" | "getCanonicalVariants" | "getCanonicalId"> & Partial<Pick<ModelRegistry, "getAvailable" | "getAvailableForProfileActivation" | "resolveModelByLookupAlias" | "lookupAliasExists" | "clearCanonicalVariant" | "seedCanonicalVariant" | "getSessionCanonicalVariant" | "restoreSessionCanonicalVariant" | "getConfiguredProviderIds">> & {
|
|
45
|
+
modelRegistry: Pick<ModelRegistry, "getModelProfile" | "getModelProfiles" | "getAvailableModelProfileNames" | "getApiKeyForProvider" | "getAll" | "resolveCanonicalModel" | "getCanonicalVariants" | "getCanonicalId"> & Partial<Pick<ModelRegistry, "getAvailable" | "getAvailableForProfileActivation" | "resolveModelByLookupAlias" | "lookupAliasExists" | "clearCanonicalVariant" | "seedCanonicalVariant" | "getSessionCanonicalVariant" | "restoreSessionCanonicalVariant" | "getConfiguredProviderIds" | "isKnownProvider">> & {
|
|
46
46
|
getError?: ModelRegistry["getError"];
|
|
47
47
|
};
|
|
48
48
|
settings: Pick<Settings, "get" | "getGlobal" | "getOverride">;
|
|
@@ -123,13 +123,28 @@ export interface MaterializeModelProfileAssignmentsOptions {
|
|
|
123
123
|
export declare function materializeActiveModelProfileAssignment(options: MaterializeModelProfileAssignmentOptions): boolean;
|
|
124
124
|
export declare function materializeActiveModelProfileAssignments(options: MaterializeModelProfileAssignmentsOptions): boolean;
|
|
125
125
|
export declare class ModelProfileCredentialError extends Error {
|
|
126
|
-
readonly code
|
|
126
|
+
readonly code: string;
|
|
127
127
|
readonly profileLabel: string;
|
|
128
128
|
readonly providers: readonly string[];
|
|
129
129
|
readonly role: string | undefined;
|
|
130
130
|
constructor(profileLabel: string, providers: readonly string[], role?: string);
|
|
131
131
|
}
|
|
132
132
|
export declare function formatModelProfileCredentialError(profileLabel: string, providers: readonly string[]): string;
|
|
133
|
+
export declare function formatModelProfileUnknownProviderError(profileLabel: string, providers: readonly string[]): string;
|
|
134
|
+
/**
|
|
135
|
+
* A required profile provider that this build cannot know: it is neither a
|
|
136
|
+
* built-in provider id nor declared in models.yml. That is a build/config
|
|
137
|
+
* mismatch (for example a profile authored on a newer or custom build), not a
|
|
138
|
+
* credential gap, so the diagnosis must not send the user to /login.
|
|
139
|
+
*
|
|
140
|
+
* Extends {@link ModelProfileCredentialError} so existing startup recovery
|
|
141
|
+
* (interactive toast-and-continue) keeps working with the sharper message.
|
|
142
|
+
*/
|
|
143
|
+
export declare class ModelProfileUnknownProviderError extends ModelProfileCredentialError {
|
|
144
|
+
readonly code = "unknown_provider";
|
|
145
|
+
constructor(profileLabel: string, providers: readonly string[], role?: string);
|
|
146
|
+
}
|
|
147
|
+
export declare function isModelProfileProxyConfigured(provider: string, configuredProviders: readonly string[] | undefined, credentialless: boolean): boolean;
|
|
133
148
|
/**
|
|
134
149
|
* Resolve the explicitly configured OpenAI-compatible proxy provider id for a
|
|
135
150
|
* preset. Returns undefined when unset or empty. Passwords/labels are never
|
|
@@ -167,6 +182,48 @@ export declare function getProxyRoutableProviders(profile: ModelProfileDefinitio
|
|
|
167
182
|
* retain their legacy tolerance for stale qualified role tails.
|
|
168
183
|
*/
|
|
169
184
|
export declare function requiresQualifiedModelProfileRoleResolution(profile: Pick<ModelProfileDefinition, "source">): boolean;
|
|
185
|
+
/** Resolve a removed saved-session default through the durable profile without mutating persistent state. */
|
|
186
|
+
export declare function resolveMissingSessionModelRecovery(options: {
|
|
187
|
+
modelRegistry: PrepareModelProfileActivationOptions["modelRegistry"];
|
|
188
|
+
settings: Pick<Settings, "get" | "getModelRole">;
|
|
189
|
+
defaultEntries: readonly string[];
|
|
190
|
+
skips: Array<{
|
|
191
|
+
selector: string;
|
|
192
|
+
reason: string;
|
|
193
|
+
}>;
|
|
194
|
+
savedDefault: string | undefined;
|
|
195
|
+
credentialSessionId: string;
|
|
196
|
+
aliasIntent?: "preset-equivalent";
|
|
197
|
+
}): Promise<{
|
|
198
|
+
profileName: string;
|
|
199
|
+
entries: string[];
|
|
200
|
+
model?: Model<Api>;
|
|
201
|
+
thinkingLevel?: ThinkingLevel;
|
|
202
|
+
explicitThinkingLevel: boolean;
|
|
203
|
+
activeIndex: number;
|
|
204
|
+
skips: Array<{
|
|
205
|
+
selector: string;
|
|
206
|
+
reason: string;
|
|
207
|
+
}>;
|
|
208
|
+
} | undefined>;
|
|
209
|
+
/** Resolve a durable profile's effective default chain without mutating session or settings state. */
|
|
210
|
+
export declare function resolveModelProfileDefaultChain(options: {
|
|
211
|
+
modelRegistry: PrepareModelProfileActivationOptions["modelRegistry"];
|
|
212
|
+
settings: Pick<Settings, "get">;
|
|
213
|
+
profileName: string;
|
|
214
|
+
credentialSessionId: string;
|
|
215
|
+
}): Promise<{
|
|
216
|
+
profileName: string;
|
|
217
|
+
entries: string[];
|
|
218
|
+
model?: Model<Api>;
|
|
219
|
+
thinkingLevel?: ThinkingLevel;
|
|
220
|
+
explicitThinkingLevel: boolean;
|
|
221
|
+
activeIndex: number;
|
|
222
|
+
skips: Array<{
|
|
223
|
+
selector: string;
|
|
224
|
+
reason: string;
|
|
225
|
+
}>;
|
|
226
|
+
}>;
|
|
170
227
|
export declare function rewriteSelectorForProxy(selector: string, proxyProvider: string, proxyMode: ModelProfileProxyMode, allModels: Model<Api>[], directlyAuthenticated: ReadonlySet<string>, routableProviders: ReadonlySet<string>): string;
|
|
171
228
|
export declare function prepareModelProfileActivation(options: PrepareModelProfileActivationOptions): Promise<PreparedModelProfileActivation>;
|
|
172
229
|
export declare function applyPreparedModelProfileActivation(prepared: PreparedModelProfileActivation, options?: ApplyModelProfileActivationOptions): Promise<void>;
|
|
@@ -203,3 +260,5 @@ export declare function restoreMaterializedModelProfileForDeletion(options: {
|
|
|
203
260
|
snapshot: MaterializeModelProfileForDeletionResult;
|
|
204
261
|
}): Promise<void>;
|
|
205
262
|
export declare function activateModelProfile(options: PrepareModelProfileActivationOptions, applyOptions?: ApplyModelProfileActivationOptions): Promise<void>;
|
|
263
|
+
/** Install only a profile's runtime role layer, preserving session model and configured-chain intent. */
|
|
264
|
+
export declare function applyModelProfileRuntimeBindings(options: PrepareModelProfileActivationOptions): Promise<void>;
|