wotann 0.5.0 → 0.5.39
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/dist/agents/background-agent.d.ts.map +1 -1
- package/dist/agents/background-agent.js +2 -1
- package/dist/agents/background-agent.js.map +1 -1
- package/dist/agents/file-scope-policy.d.ts +116 -0
- package/dist/agents/file-scope-policy.d.ts.map +1 -0
- package/dist/agents/file-scope-policy.js +190 -0
- package/dist/agents/file-scope-policy.js.map +1 -0
- package/dist/agents/yaml-manifest.d.ts +125 -0
- package/dist/agents/yaml-manifest.d.ts.map +1 -0
- package/dist/agents/yaml-manifest.js +901 -0
- package/dist/agents/yaml-manifest.js.map +1 -0
- package/dist/auth/login.d.ts +3 -3
- package/dist/auth/login.d.ts.map +1 -1
- package/dist/auth/login.js +80 -23
- package/dist/auth/login.js.map +1 -1
- package/dist/autopilot/completion-oracle.d.ts.map +1 -1
- package/dist/autopilot/completion-oracle.js +3 -1
- package/dist/autopilot/completion-oracle.js.map +1 -1
- package/dist/autopilot/run-manifest.d.ts +90 -0
- package/dist/autopilot/run-manifest.d.ts.map +1 -0
- package/dist/autopilot/run-manifest.js +261 -0
- package/dist/autopilot/run-manifest.js.map +1 -0
- package/dist/browser/adaptive-selectors.d.ts +170 -0
- package/dist/browser/adaptive-selectors.d.ts.map +1 -0
- package/dist/browser/adaptive-selectors.js +317 -0
- package/dist/browser/adaptive-selectors.js.map +1 -0
- package/dist/browser/humanize-input.d.ts +76 -0
- package/dist/browser/humanize-input.d.ts.map +1 -0
- package/dist/browser/humanize-input.js +386 -0
- package/dist/browser/humanize-input.js.map +1 -0
- package/dist/channels/teams.d.ts +41 -19
- package/dist/channels/teams.d.ts.map +1 -1
- package/dist/channels/teams.js +121 -24
- package/dist/channels/teams.js.map +1 -1
- package/dist/channels/terminal-mention.d.ts.map +1 -1
- package/dist/channels/terminal-mention.js +4 -1
- package/dist/channels/terminal-mention.js.map +1 -1
- package/dist/cli/commands/blast-radius.d.ts +47 -0
- package/dist/cli/commands/blast-radius.d.ts.map +1 -0
- package/dist/cli/commands/blast-radius.js +123 -0
- package/dist/cli/commands/blast-radius.js.map +1 -0
- package/dist/cli/commands/evolve.d.ts +92 -0
- package/dist/cli/commands/evolve.d.ts.map +1 -0
- package/dist/cli/commands/evolve.js +336 -0
- package/dist/cli/commands/evolve.js.map +1 -0
- package/dist/cli/commands/learning.d.ts +54 -0
- package/dist/cli/commands/learning.d.ts.map +1 -0
- package/dist/cli/commands/learning.js +380 -0
- package/dist/cli/commands/learning.js.map +1 -0
- package/dist/cli/commands/persona.d.ts +42 -0
- package/dist/cli/commands/persona.d.ts.map +1 -0
- package/dist/cli/commands/persona.js +198 -0
- package/dist/cli/commands/persona.js.map +1 -0
- package/dist/cli/commands/stuck.d.ts.map +1 -1
- package/dist/cli/commands/stuck.js +5 -2
- package/dist/cli/commands/stuck.js.map +1 -1
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +5 -2
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/orphan-wires/agent-manifest-cmd.d.ts +17 -0
- package/dist/cli/orphan-wires/agent-manifest-cmd.d.ts.map +1 -0
- package/dist/cli/orphan-wires/agent-manifest-cmd.js +99 -0
- package/dist/cli/orphan-wires/agent-manifest-cmd.js.map +1 -0
- package/dist/cli/orphan-wires/arena-cmd.d.ts +26 -0
- package/dist/cli/orphan-wires/arena-cmd.d.ts.map +1 -0
- package/dist/cli/orphan-wires/arena-cmd.js +167 -0
- package/dist/cli/orphan-wires/arena-cmd.js.map +1 -0
- package/dist/cli/orphan-wires/artifact-cmd.d.ts +17 -0
- package/dist/cli/orphan-wires/artifact-cmd.d.ts.map +1 -0
- package/dist/cli/orphan-wires/artifact-cmd.js +175 -0
- package/dist/cli/orphan-wires/artifact-cmd.js.map +1 -0
- package/dist/cli/orphan-wires/demo-cmd.d.ts +25 -0
- package/dist/cli/orphan-wires/demo-cmd.d.ts.map +1 -0
- package/dist/cli/orphan-wires/demo-cmd.js +164 -0
- package/dist/cli/orphan-wires/demo-cmd.js.map +1 -0
- package/dist/cli/orphan-wires/extras-cmd.d.ts +20 -0
- package/dist/cli/orphan-wires/extras-cmd.d.ts.map +1 -0
- package/dist/cli/orphan-wires/extras-cmd.js +289 -0
- package/dist/cli/orphan-wires/extras-cmd.js.map +1 -0
- package/dist/cli/orphan-wires/harness-introspect-cmd.d.ts +15 -0
- package/dist/cli/orphan-wires/harness-introspect-cmd.d.ts.map +1 -0
- package/dist/cli/orphan-wires/harness-introspect-cmd.js +36 -0
- package/dist/cli/orphan-wires/harness-introspect-cmd.js.map +1 -0
- package/dist/cli/orphan-wires/index.d.ts.map +1 -1
- package/dist/cli/orphan-wires/index.js +30 -0
- package/dist/cli/orphan-wires/index.js.map +1 -1
- package/dist/cli/orphan-wires/integrations-cmd.d.ts +38 -0
- package/dist/cli/orphan-wires/integrations-cmd.d.ts.map +1 -0
- package/dist/cli/orphan-wires/integrations-cmd.js +345 -0
- package/dist/cli/orphan-wires/integrations-cmd.js.map +1 -0
- package/dist/cli/orphan-wires/mcp-scaffold-cmd.d.ts +18 -0
- package/dist/cli/orphan-wires/mcp-scaffold-cmd.d.ts.map +1 -0
- package/dist/cli/orphan-wires/mcp-scaffold-cmd.js +127 -0
- package/dist/cli/orphan-wires/mcp-scaffold-cmd.js.map +1 -0
- package/dist/cli/orphan-wires/memory-consolidate-cmd.d.ts +21 -0
- package/dist/cli/orphan-wires/memory-consolidate-cmd.d.ts.map +1 -0
- package/dist/cli/orphan-wires/memory-consolidate-cmd.js +86 -0
- package/dist/cli/orphan-wires/memory-consolidate-cmd.js.map +1 -0
- package/dist/cli/orphan-wires/patch-cmd.d.ts +29 -0
- package/dist/cli/orphan-wires/patch-cmd.d.ts.map +1 -0
- package/dist/cli/orphan-wires/patch-cmd.js +150 -0
- package/dist/cli/orphan-wires/patch-cmd.js.map +1 -0
- package/dist/cli/orphan-wires/redteam-scan-cmd.d.ts +28 -0
- package/dist/cli/orphan-wires/redteam-scan-cmd.d.ts.map +1 -0
- package/dist/cli/orphan-wires/redteam-scan-cmd.js +169 -0
- package/dist/cli/orphan-wires/redteam-scan-cmd.js.map +1 -0
- package/dist/cli/orphan-wires/scrape-adapt-cmd.d.ts +21 -0
- package/dist/cli/orphan-wires/scrape-adapt-cmd.d.ts.map +1 -0
- package/dist/cli/orphan-wires/scrape-adapt-cmd.js +70 -0
- package/dist/cli/orphan-wires/scrape-adapt-cmd.js.map +1 -0
- package/dist/cli/orphan-wires/shell-tier-cmd.d.ts +20 -0
- package/dist/cli/orphan-wires/shell-tier-cmd.d.ts.map +1 -0
- package/dist/cli/orphan-wires/shell-tier-cmd.js +74 -0
- package/dist/cli/orphan-wires/shell-tier-cmd.js.map +1 -0
- package/dist/cli/orphan-wires/sub-recipes-cmd.d.ts +18 -0
- package/dist/cli/orphan-wires/sub-recipes-cmd.d.ts.map +1 -0
- package/dist/cli/orphan-wires/sub-recipes-cmd.js +87 -0
- package/dist/cli/orphan-wires/sub-recipes-cmd.js.map +1 -0
- package/dist/cli/orphan-wires/webapp-test-cmd.d.ts +20 -0
- package/dist/cli/orphan-wires/webapp-test-cmd.d.ts.map +1 -0
- package/dist/cli/orphan-wires/webapp-test-cmd.js +115 -0
- package/dist/cli/orphan-wires/webapp-test-cmd.js.map +1 -0
- package/dist/cli/thin-client.d.ts +17 -10
- package/dist/cli/thin-client.d.ts.map +1 -1
- package/dist/cli/thin-client.js +108 -26
- package/dist/cli/thin-client.js.map +1 -1
- package/dist/computer-use/action-history-compactor.d.ts +92 -0
- package/dist/computer-use/action-history-compactor.d.ts.map +1 -0
- package/dist/computer-use/action-history-compactor.js +204 -0
- package/dist/computer-use/action-history-compactor.js.map +1 -0
- package/dist/computer-use/action-repertoire.d.ts +8 -0
- package/dist/computer-use/action-repertoire.d.ts.map +1 -1
- package/dist/computer-use/action-repertoire.js +19 -0
- package/dist/computer-use/action-repertoire.js.map +1 -1
- package/dist/computer-use/computer-agent.d.ts +232 -2
- package/dist/computer-use/computer-agent.d.ts.map +1 -1
- package/dist/computer-use/computer-agent.js +558 -19
- package/dist/computer-use/computer-agent.js.map +1 -1
- package/dist/computer-use/coordinate-scaling.d.ts +104 -0
- package/dist/computer-use/coordinate-scaling.d.ts.map +1 -0
- package/dist/computer-use/coordinate-scaling.js +175 -0
- package/dist/computer-use/coordinate-scaling.js.map +1 -0
- package/dist/computer-use/driver-contract.d.ts +158 -0
- package/dist/computer-use/driver-contract.d.ts.map +1 -0
- package/dist/computer-use/driver-contract.js +471 -0
- package/dist/computer-use/driver-contract.js.map +1 -0
- package/dist/computer-use/perception-engine.d.ts +39 -0
- package/dist/computer-use/perception-engine.d.ts.map +1 -1
- package/dist/computer-use/perception-engine.js +27 -27
- package/dist/computer-use/perception-engine.js.map +1 -1
- package/dist/computer-use/platform-bindings.d.ts.map +1 -1
- package/dist/computer-use/platform-bindings.js +216 -2
- package/dist/computer-use/platform-bindings.js.map +1 -1
- package/dist/computer-use/safe-execute.d.ts +86 -0
- package/dist/computer-use/safe-execute.d.ts.map +1 -0
- package/dist/computer-use/safe-execute.js +152 -0
- package/dist/computer-use/safe-execute.js.map +1 -0
- package/dist/context/branch-summarization.d.ts +97 -0
- package/dist/context/branch-summarization.d.ts.map +1 -0
- package/dist/context/branch-summarization.js +170 -0
- package/dist/context/branch-summarization.js.map +1 -0
- package/dist/context/compaction.d.ts +16 -1
- package/dist/context/compaction.d.ts.map +1 -1
- package/dist/context/compaction.js +50 -2
- package/dist/context/compaction.js.map +1 -1
- package/dist/context/inspector.d.ts +2 -2
- package/dist/context/inspector.d.ts.map +1 -1
- package/dist/context/inspector.js +4 -3
- package/dist/context/inspector.js.map +1 -1
- package/dist/core/agent-bridge.d.ts.map +1 -1
- package/dist/core/agent-bridge.js +200 -69
- package/dist/core/agent-bridge.js.map +1 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +7 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/mode-model-preference.d.ts +95 -0
- package/dist/core/mode-model-preference.d.ts.map +1 -0
- package/dist/core/mode-model-preference.js +170 -0
- package/dist/core/mode-model-preference.js.map +1 -0
- package/dist/core/prompt-override.d.ts.map +1 -1
- package/dist/core/prompt-override.js +1 -0
- package/dist/core/prompt-override.js.map +1 -1
- package/dist/core/runtime-intelligence.d.ts +11 -0
- package/dist/core/runtime-intelligence.d.ts.map +1 -1
- package/dist/core/runtime-intelligence.js +18 -3
- package/dist/core/runtime-intelligence.js.map +1 -1
- package/dist/core/runtime-tool-dispatch.js +1 -1
- package/dist/core/runtime-tool-dispatch.js.map +1 -1
- package/dist/core/runtime.d.ts +186 -13
- package/dist/core/runtime.d.ts.map +1 -1
- package/dist/core/runtime.js +717 -228
- package/dist/core/runtime.js.map +1 -1
- package/dist/core/session-rewind.d.ts +67 -0
- package/dist/core/session-rewind.d.ts.map +1 -0
- package/dist/core/session-rewind.js +120 -0
- package/dist/core/session-rewind.js.map +1 -0
- package/dist/core/types.d.ts +19 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/daemon/file-watcher.d.ts +84 -0
- package/dist/daemon/file-watcher.d.ts.map +1 -0
- package/dist/daemon/file-watcher.js +193 -0
- package/dist/daemon/file-watcher.js.map +1 -0
- package/dist/daemon/jsonl-mode.d.ts +11 -0
- package/dist/daemon/jsonl-mode.d.ts.map +1 -0
- package/dist/daemon/jsonl-mode.js +77 -0
- package/dist/daemon/jsonl-mode.js.map +1 -0
- package/dist/daemon/kairos-ipc.d.ts +4 -1
- package/dist/daemon/kairos-ipc.d.ts.map +1 -1
- package/dist/daemon/kairos-ipc.js +38 -22
- package/dist/daemon/kairos-ipc.js.map +1 -1
- package/dist/daemon/kairos-rpc.d.ts +5 -1
- package/dist/daemon/kairos-rpc.d.ts.map +1 -1
- package/dist/daemon/kairos-rpc.js +1262 -114
- package/dist/daemon/kairos-rpc.js.map +1 -1
- package/dist/daemon/kairos.d.ts +35 -4
- package/dist/daemon/kairos.d.ts.map +1 -1
- package/dist/daemon/kairos.js +204 -24
- package/dist/daemon/kairos.js.map +1 -1
- package/dist/daemon/rpc-handlers/intelligence-rpc.d.ts.map +1 -1
- package/dist/daemon/rpc-handlers/intelligence-rpc.js +15 -3
- package/dist/daemon/rpc-handlers/intelligence-rpc.js.map +1 -1
- package/dist/daemon/transport/jsonl.d.ts +7 -0
- package/dist/daemon/transport/jsonl.d.ts.map +1 -0
- package/dist/daemon/transport/jsonl.js +38 -0
- package/dist/daemon/transport/jsonl.js.map +1 -0
- package/dist/daemon/transport/socket-path.d.ts +28 -0
- package/dist/daemon/transport/socket-path.d.ts.map +1 -0
- package/dist/daemon/transport/socket-path.js +36 -0
- package/dist/daemon/transport/socket-path.js.map +1 -0
- package/dist/design/theme-presets.d.ts +77 -0
- package/dist/design/theme-presets.d.ts.map +1 -0
- package/dist/design/theme-presets.js +274 -0
- package/dist/design/theme-presets.js.map +1 -0
- package/dist/desktop/companion-server.d.ts +67 -4
- package/dist/desktop/companion-server.d.ts.map +1 -1
- package/dist/desktop/companion-server.js +617 -70
- package/dist/desktop/companion-server.js.map +1 -1
- package/dist/desktop/web-artifacts-builder.d.ts +108 -0
- package/dist/desktop/web-artifacts-builder.d.ts.map +1 -0
- package/dist/desktop/web-artifacts-builder.js +184 -0
- package/dist/desktop/web-artifacts-builder.js.map +1 -0
- package/dist/hooks/built-in.d.ts.map +1 -1
- package/dist/hooks/built-in.js +15 -10
- package/dist/hooks/built-in.js.map +1 -1
- package/dist/index.js +1301 -167
- package/dist/index.js.map +1 -1
- package/dist/integrations/integration-manifest.d.ts +140 -0
- package/dist/integrations/integration-manifest.d.ts.map +1 -0
- package/dist/integrations/integration-manifest.js +268 -0
- package/dist/integrations/integration-manifest.js.map +1 -0
- package/dist/intelligence/apply-patch-dsl.d.ts +112 -0
- package/dist/intelligence/apply-patch-dsl.d.ts.map +1 -0
- package/dist/intelligence/apply-patch-dsl.js +264 -0
- package/dist/intelligence/apply-patch-dsl.js.map +1 -0
- package/dist/intelligence/apply-patch-executor.d.ts +147 -0
- package/dist/intelligence/apply-patch-executor.d.ts.map +1 -0
- package/dist/intelligence/apply-patch-executor.js +418 -0
- package/dist/intelligence/apply-patch-executor.js.map +1 -0
- package/dist/intelligence/blast-radius.d.ts +67 -0
- package/dist/intelligence/blast-radius.d.ts.map +1 -0
- package/dist/intelligence/blast-radius.js +536 -0
- package/dist/intelligence/blast-radius.js.map +1 -0
- package/dist/intelligence/code-graph.d.ts +58 -7
- package/dist/intelligence/code-graph.d.ts.map +1 -1
- package/dist/intelligence/code-graph.js +347 -16
- package/dist/intelligence/code-graph.js.map +1 -1
- package/dist/intelligence/codebase-health.d.ts.map +1 -1
- package/dist/intelligence/codebase-health.js +4 -3
- package/dist/intelligence/codebase-health.js.map +1 -1
- package/dist/intelligence/codemaps.d.ts +30 -1
- package/dist/intelligence/codemaps.d.ts.map +1 -1
- package/dist/intelligence/codemaps.js +99 -16
- package/dist/intelligence/codemaps.js.map +1 -1
- package/dist/intelligence/consecutive-error-counter.d.ts +89 -0
- package/dist/intelligence/consecutive-error-counter.d.ts.map +1 -0
- package/dist/intelligence/consecutive-error-counter.js +151 -0
- package/dist/intelligence/consecutive-error-counter.js.map +1 -0
- package/dist/intelligence/eval-frameworks/redteam-plugin-catalog.d.ts +87 -0
- package/dist/intelligence/eval-frameworks/redteam-plugin-catalog.d.ts.map +1 -0
- package/dist/intelligence/eval-frameworks/redteam-plugin-catalog.js +882 -0
- package/dist/intelligence/eval-frameworks/redteam-plugin-catalog.js.map +1 -0
- package/dist/intelligence/extractors/mineru.d.ts +108 -0
- package/dist/intelligence/extractors/mineru.d.ts.map +1 -0
- package/dist/intelligence/extractors/mineru.js +352 -0
- package/dist/intelligence/extractors/mineru.js.map +1 -0
- package/dist/intelligence/harness-introspect.d.ts +124 -0
- package/dist/intelligence/harness-introspect.d.ts.map +1 -0
- package/dist/intelligence/harness-introspect.js +349 -0
- package/dist/intelligence/harness-introspect.js.map +1 -0
- package/dist/intelligence/multi-patch-voter.d.ts +59 -1
- package/dist/intelligence/multi-patch-voter.d.ts.map +1 -1
- package/dist/intelligence/multi-patch-voter.js +191 -27
- package/dist/intelligence/multi-patch-voter.js.map +1 -1
- package/dist/intelligence/multimodal-extract.d.ts +44 -0
- package/dist/intelligence/multimodal-extract.d.ts.map +1 -1
- package/dist/intelligence/multimodal-extract.js +40 -1
- package/dist/intelligence/multimodal-extract.js.map +1 -1
- package/dist/intelligence/research-loops/budgeted-research.d.ts +7 -0
- package/dist/intelligence/research-loops/budgeted-research.d.ts.map +1 -1
- package/dist/intelligence/research-loops/budgeted-research.js +18 -0
- package/dist/intelligence/research-loops/budgeted-research.js.map +1 -1
- package/dist/intelligence/research-loops/constraint-guided-explorer.d.ts +124 -0
- package/dist/intelligence/research-loops/constraint-guided-explorer.d.ts.map +1 -0
- package/dist/intelligence/research-loops/constraint-guided-explorer.js +177 -0
- package/dist/intelligence/research-loops/constraint-guided-explorer.js.map +1 -0
- package/dist/intelligence/research-loops/results-collector.d.ts +62 -0
- package/dist/intelligence/research-loops/results-collector.d.ts.map +1 -0
- package/dist/intelligence/research-loops/results-collector.js +128 -0
- package/dist/intelligence/research-loops/results-collector.js.map +1 -0
- package/dist/intelligence/research-loops/results-log.d.ts +94 -0
- package/dist/intelligence/research-loops/results-log.d.ts.map +1 -0
- package/dist/intelligence/research-loops/results-log.js +178 -0
- package/dist/intelligence/research-loops/results-log.js.map +1 -0
- package/dist/intelligence/research-loops/strategies/base-strategy.d.ts +111 -0
- package/dist/intelligence/research-loops/strategies/base-strategy.d.ts.map +1 -0
- package/dist/intelligence/research-loops/strategies/base-strategy.js +72 -0
- package/dist/intelligence/research-loops/strategies/base-strategy.js.map +1 -0
- package/dist/intelligence/research-loops/strategies/dual-confidence.d.ts +57 -0
- package/dist/intelligence/research-loops/strategies/dual-confidence.d.ts.map +1 -0
- package/dist/intelligence/research-loops/strategies/dual-confidence.js +172 -0
- package/dist/intelligence/research-loops/strategies/dual-confidence.js.map +1 -0
- package/dist/intelligence/research-loops/strategies/langgraph-agent.d.ts +68 -0
- package/dist/intelligence/research-loops/strategies/langgraph-agent.d.ts.map +1 -0
- package/dist/intelligence/research-loops/strategies/langgraph-agent.js +221 -0
- package/dist/intelligence/research-loops/strategies/langgraph-agent.js.map +1 -0
- package/dist/intelligence/research-loops/strategies/parallel-constrained.d.ts +42 -0
- package/dist/intelligence/research-loops/strategies/parallel-constrained.d.ts.map +1 -0
- package/dist/intelligence/research-loops/strategies/parallel-constrained.js +132 -0
- package/dist/intelligence/research-loops/strategies/parallel-constrained.js.map +1 -0
- package/dist/intelligence/research-loops/strategies/recursive-decomposition.d.ts +55 -0
- package/dist/intelligence/research-loops/strategies/recursive-decomposition.d.ts.map +1 -0
- package/dist/intelligence/research-loops/strategies/recursive-decomposition.js +187 -0
- package/dist/intelligence/research-loops/strategies/recursive-decomposition.js.map +1 -0
- package/dist/intelligence/research-loops/strategy-registry.d.ts +43 -0
- package/dist/intelligence/research-loops/strategy-registry.d.ts.map +1 -0
- package/dist/intelligence/research-loops/strategy-registry.js +62 -0
- package/dist/intelligence/research-loops/strategy-registry.js.map +1 -0
- package/dist/intelligence/research-strategies.d.ts +133 -0
- package/dist/intelligence/research-strategies.d.ts.map +1 -0
- package/dist/intelligence/research-strategies.js +204 -0
- package/dist/intelligence/research-strategies.js.map +1 -0
- package/dist/lib.d.ts +49 -0
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +133 -0
- package/dist/lib.js.map +1 -1
- package/dist/loop/tool-description-reset.d.ts +113 -0
- package/dist/loop/tool-description-reset.d.ts.map +1 -0
- package/dist/loop/tool-description-reset.js +136 -0
- package/dist/loop/tool-description-reset.js.map +1 -0
- package/dist/lsp/server-registry.d.ts.map +1 -1
- package/dist/lsp/server-registry.js +2 -1
- package/dist/lsp/server-registry.js.map +1 -1
- package/dist/lsp/symbol-operations.d.ts.map +1 -1
- package/dist/lsp/symbol-operations.js +2 -1
- package/dist/lsp/symbol-operations.js.map +1 -1
- package/dist/marketplace/acp-agent-registry.d.ts.map +1 -1
- package/dist/marketplace/acp-agent-registry.js +2 -1
- package/dist/marketplace/acp-agent-registry.js.map +1 -1
- package/dist/marketplace/marketplace-source-git.d.ts +135 -0
- package/dist/marketplace/marketplace-source-git.d.ts.map +1 -0
- package/dist/marketplace/marketplace-source-git.js +211 -0
- package/dist/marketplace/marketplace-source-git.js.map +1 -0
- package/dist/marketplace/registry.d.ts +87 -0
- package/dist/marketplace/registry.d.ts.map +1 -1
- package/dist/marketplace/registry.js +113 -2
- package/dist/marketplace/registry.js.map +1 -1
- package/dist/mcp/chrome-devtools.d.ts +62 -2
- package/dist/mcp/chrome-devtools.d.ts.map +1 -1
- package/dist/mcp/chrome-devtools.js +183 -1
- package/dist/mcp/chrome-devtools.js.map +1 -1
- package/dist/mcp/health-probe.d.ts +1 -0
- package/dist/mcp/health-probe.d.ts.map +1 -1
- package/dist/mcp/health-probe.js +32 -1
- package/dist/mcp/health-probe.js.map +1 -1
- package/dist/mcp/mcp-scaffolder.d.ts +166 -0
- package/dist/mcp/mcp-scaffolder.d.ts.map +1 -0
- package/dist/mcp/mcp-scaffolder.js +526 -0
- package/dist/mcp/mcp-scaffolder.js.map +1 -0
- package/dist/mcp/mcp-server.d.ts.map +1 -1
- package/dist/mcp/mcp-server.js +55 -0
- package/dist/mcp/mcp-server.js.map +1 -1
- package/dist/mcp/memory-mcp.d.ts +163 -0
- package/dist/mcp/memory-mcp.d.ts.map +1 -0
- package/dist/mcp/memory-mcp.js +368 -0
- package/dist/mcp/memory-mcp.js.map +1 -0
- package/dist/mcp/tool-loader.d.ts.map +1 -1
- package/dist/mcp/tool-loader.js +13 -0
- package/dist/mcp/tool-loader.js.map +1 -1
- package/dist/meet/meeting-runtime.d.ts.map +1 -1
- package/dist/meet/meeting-runtime.js +3 -1
- package/dist/meet/meeting-runtime.js.map +1 -1
- package/dist/memory/incremental-indexer.d.ts.map +1 -1
- package/dist/memory/incremental-indexer.js +5 -1
- package/dist/memory/incremental-indexer.js.map +1 -1
- package/dist/memory/qmd-integration.d.ts.map +1 -1
- package/dist/memory/qmd-integration.js +47 -15
- package/dist/memory/qmd-integration.js.map +1 -1
- package/dist/memory/two-phase-consolidator.d.ts +118 -0
- package/dist/memory/two-phase-consolidator.d.ts.map +1 -0
- package/dist/memory/two-phase-consolidator.js +265 -0
- package/dist/memory/two-phase-consolidator.js.map +1 -0
- package/dist/middleware/doom-loop.d.ts +21 -0
- package/dist/middleware/doom-loop.d.ts.map +1 -1
- package/dist/middleware/doom-loop.js +49 -6
- package/dist/middleware/doom-loop.js.map +1 -1
- package/dist/middleware/loop-detection.d.ts +176 -6
- package/dist/middleware/loop-detection.d.ts.map +1 -1
- package/dist/middleware/loop-detection.js +341 -6
- package/dist/middleware/loop-detection.js.map +1 -1
- package/dist/middleware/pipeline.d.ts +9 -1
- package/dist/middleware/pipeline.d.ts.map +1 -1
- package/dist/middleware/pipeline.js +116 -1
- package/dist/middleware/pipeline.js.map +1 -1
- package/dist/middleware/tool-flow-gate.d.ts +20 -0
- package/dist/middleware/tool-flow-gate.d.ts.map +1 -1
- package/dist/middleware/tool-flow-gate.js +93 -0
- package/dist/middleware/tool-flow-gate.js.map +1 -1
- package/dist/mobile/ios-app.d.ts +18 -1
- package/dist/mobile/ios-app.d.ts.map +1 -1
- package/dist/mobile/ios-app.js +108 -8
- package/dist/mobile/ios-app.js.map +1 -1
- package/dist/orchestration/adversarial-cut.d.ts +85 -0
- package/dist/orchestration/adversarial-cut.d.ts.map +1 -0
- package/dist/orchestration/adversarial-cut.js +222 -0
- package/dist/orchestration/adversarial-cut.js.map +1 -0
- package/dist/orchestration/agent-kanban.d.ts +147 -0
- package/dist/orchestration/agent-kanban.d.ts.map +1 -0
- package/dist/orchestration/agent-kanban.js +414 -0
- package/dist/orchestration/agent-kanban.js.map +1 -0
- package/dist/orchestration/autonomous.d.ts +111 -0
- package/dist/orchestration/autonomous.d.ts.map +1 -1
- package/dist/orchestration/autonomous.js +183 -6
- package/dist/orchestration/autonomous.js.map +1 -1
- package/dist/orchestration/elo-tournament.d.ts +90 -0
- package/dist/orchestration/elo-tournament.d.ts.map +1 -0
- package/dist/orchestration/elo-tournament.js +203 -0
- package/dist/orchestration/elo-tournament.js.map +1 -0
- package/dist/orchestration/multi-model-arena.d.ts +138 -0
- package/dist/orchestration/multi-model-arena.d.ts.map +1 -0
- package/dist/orchestration/multi-model-arena.js +298 -0
- package/dist/orchestration/multi-model-arena.js.map +1 -0
- package/dist/orchestration/review-pipeline.d.ts +78 -0
- package/dist/orchestration/review-pipeline.d.ts.map +1 -0
- package/dist/orchestration/review-pipeline.js +202 -0
- package/dist/orchestration/review-pipeline.js.map +1 -0
- package/dist/orchestration/unified-state-thread.d.ts +186 -0
- package/dist/orchestration/unified-state-thread.d.ts.map +1 -0
- package/dist/orchestration/unified-state-thread.js +327 -0
- package/dist/orchestration/unified-state-thread.js.map +1 -0
- package/dist/plugins/manager.d.ts.map +1 -1
- package/dist/plugins/manager.js +2 -1
- package/dist/plugins/manager.js.map +1 -1
- package/dist/prompt/engine.d.ts +7 -0
- package/dist/prompt/engine.d.ts.map +1 -1
- package/dist/prompt/engine.js.map +1 -1
- package/dist/prompt/modules/caveman.d.ts +51 -0
- package/dist/prompt/modules/caveman.d.ts.map +1 -0
- package/dist/prompt/modules/caveman.js +97 -0
- package/dist/prompt/modules/caveman.js.map +1 -0
- package/dist/prompt/modules/index.d.ts +1 -0
- package/dist/prompt/modules/index.d.ts.map +1 -1
- package/dist/prompt/modules/index.js +3 -0
- package/dist/prompt/modules/index.js.map +1 -1
- package/dist/providers/account-pool.d.ts.map +1 -1
- package/dist/providers/account-pool.js +1 -0
- package/dist/providers/account-pool.js.map +1 -1
- package/dist/providers/anthropic-adapter.d.ts.map +1 -1
- package/dist/providers/anthropic-adapter.js +33 -0
- package/dist/providers/anthropic-adapter.js.map +1 -1
- package/dist/providers/cloud-offload/config-loader.d.ts +20 -0
- package/dist/providers/cloud-offload/config-loader.d.ts.map +1 -0
- package/dist/providers/cloud-offload/config-loader.js +148 -0
- package/dist/providers/cloud-offload/config-loader.js.map +1 -0
- package/dist/providers/codex-adapter.d.ts.map +1 -1
- package/dist/providers/codex-adapter.js +136 -4
- package/dist/providers/codex-adapter.js.map +1 -1
- package/dist/providers/discovery.d.ts.map +1 -1
- package/dist/providers/discovery.js +20 -0
- package/dist/providers/discovery.js.map +1 -1
- package/dist/providers/effort-cascade.d.ts +113 -0
- package/dist/providers/effort-cascade.d.ts.map +1 -0
- package/dist/providers/effort-cascade.js +215 -0
- package/dist/providers/effort-cascade.js.map +1 -0
- package/dist/providers/fallback-chain.d.ts.map +1 -1
- package/dist/providers/fallback-chain.js +1 -0
- package/dist/providers/fallback-chain.js.map +1 -1
- package/dist/providers/health-check.d.ts.map +1 -1
- package/dist/providers/health-check.js +8 -0
- package/dist/providers/health-check.js.map +1 -1
- package/dist/providers/model-defaults.d.ts +1 -1
- package/dist/providers/model-defaults.d.ts.map +1 -1
- package/dist/providers/model-defaults.js +13 -1
- package/dist/providers/model-defaults.js.map +1 -1
- package/dist/providers/model-discovery.d.ts.map +1 -1
- package/dist/providers/model-discovery.js +1 -0
- package/dist/providers/model-discovery.js.map +1 -1
- package/dist/providers/ollama-adapter.d.ts.map +1 -1
- package/dist/providers/ollama-adapter.js +21 -1
- package/dist/providers/ollama-adapter.js.map +1 -1
- package/dist/providers/openai-compat-adapter.d.ts.map +1 -1
- package/dist/providers/openai-compat-adapter.js +25 -0
- package/dist/providers/openai-compat-adapter.js.map +1 -1
- package/dist/providers/preset-library.d.ts.map +1 -1
- package/dist/providers/preset-library.js +9 -0
- package/dist/providers/preset-library.js.map +1 -1
- package/dist/providers/provider-service.d.ts.map +1 -1
- package/dist/providers/provider-service.js +40 -1
- package/dist/providers/provider-service.js.map +1 -1
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +7 -0
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/sticky-rotation.d.ts +100 -0
- package/dist/providers/sticky-rotation.d.ts.map +1 -0
- package/dist/providers/sticky-rotation.js +134 -0
- package/dist/providers/sticky-rotation.js.map +1 -0
- package/dist/providers/tool-parsers/parsers.d.ts.map +1 -1
- package/dist/providers/tool-parsers/parsers.js +17 -4
- package/dist/providers/tool-parsers/parsers.js.map +1 -1
- package/dist/providers/types.d.ts +25 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/recipes/final-output.d.ts +74 -0
- package/dist/recipes/final-output.d.ts.map +1 -0
- package/dist/recipes/final-output.js +232 -0
- package/dist/recipes/final-output.js.map +1 -0
- package/dist/recipes/recipe-loader.d.ts.map +1 -1
- package/dist/recipes/recipe-loader.js +29 -0
- package/dist/recipes/recipe-loader.js.map +1 -1
- package/dist/recipes/recipe-runtime.d.ts.map +1 -1
- package/dist/recipes/recipe-runtime.js +31 -0
- package/dist/recipes/recipe-runtime.js.map +1 -1
- package/dist/recipes/recipe-types.d.ts +28 -0
- package/dist/recipes/recipe-types.d.ts.map +1 -1
- package/dist/recipes/sop-crystallizer.d.ts +90 -0
- package/dist/recipes/sop-crystallizer.d.ts.map +1 -0
- package/dist/recipes/sop-crystallizer.js +238 -0
- package/dist/recipes/sop-crystallizer.js.map +1 -0
- package/dist/recipes/sub-recipe-orchestrator.d.ts +126 -0
- package/dist/recipes/sub-recipe-orchestrator.d.ts.map +1 -0
- package/dist/recipes/sub-recipe-orchestrator.js +225 -0
- package/dist/recipes/sub-recipe-orchestrator.js.map +1 -0
- package/dist/sandbox/extended-backends.d.ts.map +1 -1
- package/dist/sandbox/extended-backends.js +7 -2
- package/dist/sandbox/extended-backends.js.map +1 -1
- package/dist/sandbox/seatbelt-policy.d.ts +132 -0
- package/dist/sandbox/seatbelt-policy.d.ts.map +1 -0
- package/dist/sandbox/seatbelt-policy.js +562 -0
- package/dist/sandbox/seatbelt-policy.js.map +1 -0
- package/dist/sandbox/terminal-backends.d.ts.map +1 -1
- package/dist/sandbox/terminal-backends.js +3 -1
- package/dist/sandbox/terminal-backends.js.map +1 -1
- package/dist/security/auto-mode-ruleset.d.ts +142 -0
- package/dist/security/auto-mode-ruleset.d.ts.map +1 -0
- package/dist/security/auto-mode-ruleset.js +264 -0
- package/dist/security/auto-mode-ruleset.js.map +1 -0
- package/dist/security/bash-arity-policy.d.ts +70 -0
- package/dist/security/bash-arity-policy.d.ts.map +1 -0
- package/dist/security/bash-arity-policy.js +189 -0
- package/dist/security/bash-arity-policy.js.map +1 -0
- package/dist/security/command-sanitizer.d.ts.map +1 -1
- package/dist/security/command-sanitizer.js +24 -0
- package/dist/security/command-sanitizer.js.map +1 -1
- package/dist/security/credential-broker.d.ts +136 -0
- package/dist/security/credential-broker.d.ts.map +1 -0
- package/dist/security/credential-broker.js +284 -0
- package/dist/security/credential-broker.js.map +1 -0
- package/dist/security/invisible-text-sanitizer.d.ts +114 -0
- package/dist/security/invisible-text-sanitizer.d.ts.map +1 -0
- package/dist/security/invisible-text-sanitizer.js +221 -0
- package/dist/security/invisible-text-sanitizer.js.map +1 -0
- package/dist/security/osv-check.d.ts +174 -0
- package/dist/security/osv-check.d.ts.map +1 -0
- package/dist/security/osv-check.js +409 -0
- package/dist/security/osv-check.js.map +1 -0
- package/dist/security/process-hardening.d.ts +114 -0
- package/dist/security/process-hardening.d.ts.map +1 -0
- package/dist/security/process-hardening.js +132 -0
- package/dist/security/process-hardening.js.map +1 -0
- package/dist/security/shell-escalation-tiers.d.ts +73 -0
- package/dist/security/shell-escalation-tiers.d.ts.map +1 -0
- package/dist/security/shell-escalation-tiers.js +439 -0
- package/dist/security/shell-escalation-tiers.js.map +1 -0
- package/dist/session/fork.d.ts +100 -0
- package/dist/session/fork.d.ts.map +1 -0
- package/dist/session/fork.js +223 -0
- package/dist/session/fork.js.map +1 -0
- package/dist/skills/activation-telemetry.d.ts +154 -0
- package/dist/skills/activation-telemetry.d.ts.map +1 -0
- package/dist/skills/activation-telemetry.js +274 -0
- package/dist/skills/activation-telemetry.js.map +1 -0
- package/dist/skills/agentskills-registry.d.ts +12 -1
- package/dist/skills/agentskills-registry.d.ts.map +1 -1
- package/dist/skills/agentskills-registry.js +11 -0
- package/dist/skills/agentskills-registry.js.map +1 -1
- package/dist/skills/description-optimizer.d.ts +101 -0
- package/dist/skills/description-optimizer.d.ts.map +1 -0
- package/dist/skills/description-optimizer.js +304 -0
- package/dist/skills/description-optimizer.js.map +1 -0
- package/dist/skills/history-deduper.d.ts +109 -0
- package/dist/skills/history-deduper.d.ts.map +1 -0
- package/dist/skills/history-deduper.js +222 -0
- package/dist/skills/history-deduper.js.map +1 -0
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +2 -1
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/skill-source-adapter.d.ts +16 -0
- package/dist/skills/skill-source-adapter.d.ts.map +1 -1
- package/dist/skills/skill-source-adapter.js +0 -0
- package/dist/skills/skill-source-adapter.js.map +1 -1
- package/dist/skills/skill-standard.d.ts +29 -4
- package/dist/skills/skill-standard.d.ts.map +1 -1
- package/dist/skills/skill-standard.js +139 -66
- package/dist/skills/skill-standard.js.map +1 -1
- package/dist/skills/sop-completion-gate.d.ts +137 -0
- package/dist/skills/sop-completion-gate.d.ts.map +1 -0
- package/dist/skills/sop-completion-gate.js +159 -0
- package/dist/skills/sop-completion-gate.js.map +1 -0
- package/dist/skills/sop-template.d.ts +85 -0
- package/dist/skills/sop-template.d.ts.map +1 -0
- package/dist/skills/sop-template.js +106 -0
- package/dist/skills/sop-template.js.map +1 -0
- package/dist/skills/wotann-skills-registry.d.ts +1 -1
- package/dist/skills/wotann-skills-registry.d.ts.map +1 -1
- package/dist/skills/wotann-skills-registry.js +503 -0
- package/dist/skills/wotann-skills-registry.js.map +1 -1
- package/dist/snippets/prompt-corpus.d.ts +10 -0
- package/dist/snippets/prompt-corpus.d.ts.map +1 -0
- package/dist/snippets/prompt-corpus.js +158 -0
- package/dist/snippets/prompt-corpus.js.map +1 -0
- package/dist/snippets/snippet-store.d.ts +27 -0
- package/dist/snippets/snippet-store.d.ts.map +1 -1
- package/dist/snippets/snippet-store.js +109 -6
- package/dist/snippets/snippet-store.js.map +1 -1
- package/dist/storage/sqlite-node-backend.d.ts +47 -36
- package/dist/storage/sqlite-node-backend.d.ts.map +1 -1
- package/dist/storage/sqlite-node-backend.js +250 -94
- package/dist/storage/sqlite-node-backend.js.map +1 -1
- package/dist/testing/webapp-server-lifecycle.d.ts +74 -0
- package/dist/testing/webapp-server-lifecycle.d.ts.map +1 -0
- package/dist/testing/webapp-server-lifecycle.js +272 -0
- package/dist/testing/webapp-server-lifecycle.js.map +1 -0
- package/dist/tools/markitdown-bridge.d.ts +19 -0
- package/dist/tools/markitdown-bridge.d.ts.map +1 -1
- package/dist/tools/markitdown-bridge.js +167 -2
- package/dist/tools/markitdown-bridge.js.map +1 -1
- package/dist/tools/pdf-processor.d.ts.map +1 -1
- package/dist/tools/pdf-processor.js +7 -3
- package/dist/tools/pdf-processor.js.map +1 -1
- package/dist/tools/pptx-processor.d.ts +51 -0
- package/dist/tools/pptx-processor.d.ts.map +1 -0
- package/dist/tools/pptx-processor.js +334 -0
- package/dist/tools/pptx-processor.js.map +1 -0
- package/dist/ui/App.d.ts.map +1 -1
- package/dist/ui/App.js +1661 -149
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/agent-tools.d.ts +60 -0
- package/dist/ui/agent-tools.d.ts.map +1 -0
- package/dist/ui/agent-tools.js +468 -0
- package/dist/ui/agent-tools.js.map +1 -0
- package/dist/ui/alt-buffer-mode.d.ts +68 -0
- package/dist/ui/alt-buffer-mode.d.ts.map +1 -0
- package/dist/ui/alt-buffer-mode.js +114 -0
- package/dist/ui/alt-buffer-mode.js.map +1 -0
- package/dist/ui/alt-buffer.d.ts +57 -10
- package/dist/ui/alt-buffer.d.ts.map +1 -1
- package/dist/ui/alt-buffer.js +54 -12
- package/dist/ui/alt-buffer.js.map +1 -1
- package/dist/ui/components/AgentStatusPanel.d.ts.map +1 -1
- package/dist/ui/components/AgentStatusPanel.js +14 -6
- package/dist/ui/components/AgentStatusPanel.js.map +1 -1
- package/dist/ui/components/AuditLogPanel.js +3 -3
- package/dist/ui/components/AuditLogPanel.js.map +1 -1
- package/dist/ui/components/AutomationsPanel.js +3 -3
- package/dist/ui/components/AutomationsPanel.js.map +1 -1
- package/dist/ui/components/ChatView.d.ts +9 -1
- package/dist/ui/components/ChatView.d.ts.map +1 -1
- package/dist/ui/components/ChatView.js +503 -14
- package/dist/ui/components/ChatView.js.map +1 -1
- package/dist/ui/components/CommandPaletteCommands.d.ts +2 -0
- package/dist/ui/components/CommandPaletteCommands.d.ts.map +1 -1
- package/dist/ui/components/CommandPaletteCommands.js +18 -2
- package/dist/ui/components/CommandPaletteCommands.js.map +1 -1
- package/dist/ui/components/ContextHUD.d.ts.map +1 -1
- package/dist/ui/components/ContextHUD.js +3 -3
- package/dist/ui/components/ContextHUD.js.map +1 -1
- package/dist/ui/components/DispatchInbox.js +3 -3
- package/dist/ui/components/DispatchInbox.js.map +1 -1
- package/dist/ui/components/GdprPanel.d.ts.map +1 -1
- package/dist/ui/components/GdprPanel.js +2 -3
- package/dist/ui/components/GdprPanel.js.map +1 -1
- package/dist/ui/components/HistoryPicker.js +3 -3
- package/dist/ui/components/HistoryPicker.js.map +1 -1
- package/dist/ui/components/ModelPicker.d.ts +9 -6
- package/dist/ui/components/ModelPicker.d.ts.map +1 -1
- package/dist/ui/components/ModelPicker.js +12 -9
- package/dist/ui/components/ModelPicker.js.map +1 -1
- package/dist/ui/components/OptionPicker.js +3 -3
- package/dist/ui/components/OptionPicker.js.map +1 -1
- package/dist/ui/components/PermissionPrompt.js +3 -3
- package/dist/ui/components/PermissionPrompt.js.map +1 -1
- package/dist/ui/components/PromptInput.d.ts.map +1 -1
- package/dist/ui/components/PromptInput.js +65 -10
- package/dist/ui/components/PromptInput.js.map +1 -1
- package/dist/ui/components/ProviderSetupOverlay.d.ts +19 -0
- package/dist/ui/components/ProviderSetupOverlay.d.ts.map +1 -0
- package/dist/ui/components/ProviderSetupOverlay.js +124 -0
- package/dist/ui/components/ProviderSetupOverlay.js.map +1 -0
- package/dist/ui/components/StartupScreen.d.ts.map +1 -1
- package/dist/ui/components/StartupScreen.js +10 -1
- package/dist/ui/components/StartupScreen.js.map +1 -1
- package/dist/ui/components/StatusBar.d.ts.map +1 -1
- package/dist/ui/components/StatusBar.js +3 -3
- package/dist/ui/components/StatusBar.js.map +1 -1
- package/dist/ui/components/TrustPanel.js +3 -3
- package/dist/ui/components/TrustPanel.js.map +1 -1
- package/dist/ui/components/UnifiedStatusBar.d.ts.map +1 -1
- package/dist/ui/components/UnifiedStatusBar.js +76 -5
- package/dist/ui/components/UnifiedStatusBar.js.map +1 -1
- package/dist/ui/computer-action-parser.d.ts +6 -0
- package/dist/ui/computer-action-parser.d.ts.map +1 -0
- package/dist/ui/computer-action-parser.js +119 -0
- package/dist/ui/computer-action-parser.js.map +1 -0
- package/dist/ui/helpers.d.ts +1 -1
- package/dist/ui/helpers.d.ts.map +1 -1
- package/dist/ui/helpers.js +1 -1
- package/dist/ui/helpers.js.map +1 -1
- package/dist/ui/keybindings.d.ts +12 -2
- package/dist/ui/keybindings.d.ts.map +1 -1
- package/dist/ui/keybindings.js +36 -4
- package/dist/ui/keybindings.js.map +1 -1
- package/dist/ui/markdown-stream.d.ts +99 -0
- package/dist/ui/markdown-stream.d.ts.map +1 -0
- package/dist/ui/markdown-stream.js +314 -0
- package/dist/ui/markdown-stream.js.map +1 -0
- package/dist/ui/terminal-keyboard-protocol.d.ts +23 -0
- package/dist/ui/terminal-keyboard-protocol.d.ts.map +1 -0
- package/dist/ui/terminal-keyboard-protocol.js +72 -0
- package/dist/ui/terminal-keyboard-protocol.js.map +1 -0
- package/dist/ui/theme/context.d.ts +39 -0
- package/dist/ui/theme/context.d.ts.map +1 -0
- package/dist/ui/theme/context.js +42 -0
- package/dist/ui/theme/context.js.map +1 -0
- package/dist/utils/platform.d.ts +115 -0
- package/dist/utils/platform.d.ts.map +1 -0
- package/dist/utils/platform.js +146 -0
- package/dist/utils/platform.js.map +1 -0
- package/dist/verification/auto-verify-policy.d.ts +107 -0
- package/dist/verification/auto-verify-policy.d.ts.map +1 -0
- package/dist/verification/auto-verify-policy.js +309 -0
- package/dist/verification/auto-verify-policy.js.map +1 -0
- package/package.json +4 -1
- package/skills/anthropic-finance/audit-spreadsheet.md +165 -0
- package/skills/anthropic-finance/clean-data-xls.md +59 -0
- package/skills/anthropic-finance/competitive-analysis.md +288 -0
- package/skills/anthropic-finance/compliance-rules-engine.md +56 -0
- package/skills/anthropic-finance/dd-checklist.md +126 -0
- package/skills/anthropic-finance/independent-recompute.md +47 -0
- package/skills/anthropic-finance/reconcile-root-cause.md +48 -0
- package/skills/anthropic-finance/roll-forward.md +42 -0
- package/skills/anthropic-finance/untrusted-doc-parse.md +57 -0
- package/skills/anthropic-finance/variance-commentary.md +43 -0
- package/skills/doubt-driven-development.md +95 -0
- package/skills/mattpocock/diagnose.md +126 -0
- package/skills/mattpocock/grill-with-docs.md +97 -0
- package/skills/mattpocock/improve-codebase-architecture.md +80 -0
- package/skills/mattpocock/prototype.md +39 -0
- package/skills/mattpocock/review.md +87 -0
- package/skills/mattpocock/tdd.md +118 -0
- package/skills/mattpocock/zoom-out.md +17 -0
- package/skills/scientific/citation-management/SKILL.md +1113 -0
- package/skills/scientific/citation-management/assets/bibtex_template.bib +264 -0
- package/skills/scientific/citation-management/assets/citation_checklist.md +386 -0
- package/skills/scientific/citation-management/references/bibtex_formatting.md +908 -0
- package/skills/scientific/citation-management/references/citation_validation.md +794 -0
- package/skills/scientific/citation-management/references/google_scholar_search.md +725 -0
- package/skills/scientific/citation-management/references/metadata_extraction.md +870 -0
- package/skills/scientific/citation-management/references/pubmed_search.md +839 -0
- package/skills/scientific/citation-management/scripts/doi_to_bibtex.py +204 -0
- package/skills/scientific/citation-management/scripts/extract_metadata.py +569 -0
- package/skills/scientific/citation-management/scripts/format_bibtex.py +349 -0
- package/skills/scientific/citation-management/scripts/generate_schematic.py +139 -0
- package/skills/scientific/citation-management/scripts/generate_schematic_ai.py +817 -0
- package/skills/scientific/citation-management/scripts/search_google_scholar.py +282 -0
- package/skills/scientific/citation-management/scripts/search_pubmed.py +398 -0
- package/skills/scientific/citation-management/scripts/validate_citations.py +497 -0
- package/skills/scientific/database-lookup/SKILL.md +480 -0
- package/skills/scientific/database-lookup/references/addgene.md +38 -0
- package/skills/scientific/database-lookup/references/alphafold.md +40 -0
- package/skills/scientific/database-lookup/references/alphavantage.md +261 -0
- package/skills/scientific/database-lookup/references/bea.md +409 -0
- package/skills/scientific/database-lookup/references/bindingdb.md +85 -0
- package/skills/scientific/database-lookup/references/biogrid.md +110 -0
- package/skills/scientific/database-lookup/references/bls.md +235 -0
- package/skills/scientific/database-lookup/references/brenda.md +71 -0
- package/skills/scientific/database-lookup/references/cbioportal.md +206 -0
- package/skills/scientific/database-lookup/references/census.md +251 -0
- package/skills/scientific/database-lookup/references/chebi.md +103 -0
- package/skills/scientific/database-lookup/references/chembl.md +80 -0
- package/skills/scientific/database-lookup/references/clinicaltrials.md +77 -0
- package/skills/scientific/database-lookup/references/clinpgx.md +64 -0
- package/skills/scientific/database-lookup/references/clinvar.md +91 -0
- package/skills/scientific/database-lookup/references/cod.md +121 -0
- package/skills/scientific/database-lookup/references/cosmic.md +59 -0
- package/skills/scientific/database-lookup/references/dailymed.md +65 -0
- package/skills/scientific/database-lookup/references/datacommons.md +237 -0
- package/skills/scientific/database-lookup/references/dbsnp.md +143 -0
- package/skills/scientific/database-lookup/references/disgenet.md +52 -0
- package/skills/scientific/database-lookup/references/drugbank.md +54 -0
- package/skills/scientific/database-lookup/references/ecb.md +191 -0
- package/skills/scientific/database-lookup/references/emdb.md +37 -0
- package/skills/scientific/database-lookup/references/ena.md +372 -0
- package/skills/scientific/database-lookup/references/encode.md +47 -0
- package/skills/scientific/database-lookup/references/ensembl.md +539 -0
- package/skills/scientific/database-lookup/references/epa.md +232 -0
- package/skills/scientific/database-lookup/references/eurostat.md +237 -0
- package/skills/scientific/database-lookup/references/fda.md +64 -0
- package/skills/scientific/database-lookup/references/federal-reserve.md +216 -0
- package/skills/scientific/database-lookup/references/fred.md +297 -0
- package/skills/scientific/database-lookup/references/gene-ontology.md +147 -0
- package/skills/scientific/database-lookup/references/geo.md +130 -0
- package/skills/scientific/database-lookup/references/gnomad.md +93 -0
- package/skills/scientific/database-lookup/references/gtex.md +136 -0
- package/skills/scientific/database-lookup/references/gwas-catalog.md +46 -0
- package/skills/scientific/database-lookup/references/hca.md +35 -0
- package/skills/scientific/database-lookup/references/hpo.md +48 -0
- package/skills/scientific/database-lookup/references/human-protein-atlas.md +57 -0
- package/skills/scientific/database-lookup/references/interpro.md +120 -0
- package/skills/scientific/database-lookup/references/jaspar.md +50 -0
- package/skills/scientific/database-lookup/references/kegg.md +78 -0
- package/skills/scientific/database-lookup/references/lincs-l1000.md +68 -0
- package/skills/scientific/database-lookup/references/materials-project.md +123 -0
- package/skills/scientific/database-lookup/references/metabolomics-workbench.md +98 -0
- package/skills/scientific/database-lookup/references/monarch.md +46 -0
- package/skills/scientific/database-lookup/references/mousemine.md +40 -0
- package/skills/scientific/database-lookup/references/nasa-exoplanet-archive.md +112 -0
- package/skills/scientific/database-lookup/references/nasa.md +121 -0
- package/skills/scientific/database-lookup/references/ncbi-gene.md +64 -0
- package/skills/scientific/database-lookup/references/ncbi-protein.md +104 -0
- package/skills/scientific/database-lookup/references/ncbi-taxonomy.md +121 -0
- package/skills/scientific/database-lookup/references/nist.md +105 -0
- package/skills/scientific/database-lookup/references/noaa.md +199 -0
- package/skills/scientific/database-lookup/references/omim.md +114 -0
- package/skills/scientific/database-lookup/references/opentargets.md +459 -0
- package/skills/scientific/database-lookup/references/openweathermap.md +255 -0
- package/skills/scientific/database-lookup/references/pdb.md +121 -0
- package/skills/scientific/database-lookup/references/pride.md +74 -0
- package/skills/scientific/database-lookup/references/pubchem.md +145 -0
- package/skills/scientific/database-lookup/references/quickgo.md +45 -0
- package/skills/scientific/database-lookup/references/reactome.md +140 -0
- package/skills/scientific/database-lookup/references/rummageo.md +32 -0
- package/skills/scientific/database-lookup/references/sdss.md +130 -0
- package/skills/scientific/database-lookup/references/sec-edgar.md +315 -0
- package/skills/scientific/database-lookup/references/simbad.md +131 -0
- package/skills/scientific/database-lookup/references/sra.md +149 -0
- package/skills/scientific/database-lookup/references/string.md +283 -0
- package/skills/scientific/database-lookup/references/tcga-gdc.md +58 -0
- package/skills/scientific/database-lookup/references/treasury.md +215 -0
- package/skills/scientific/database-lookup/references/ucsc-genome.md +135 -0
- package/skills/scientific/database-lookup/references/uniprot.md +283 -0
- package/skills/scientific/database-lookup/references/usgs.md +260 -0
- package/skills/scientific/database-lookup/references/uspto.md +130 -0
- package/skills/scientific/database-lookup/references/who.md +283 -0
- package/skills/scientific/database-lookup/references/worldbank.md +239 -0
- package/skills/scientific/database-lookup/references/zinc.md +202 -0
- package/skills/scientific/hypothesis-generation/SKILL.md +297 -0
- package/skills/scientific/hypothesis-generation/assets/FORMATTING_GUIDE.md +672 -0
- package/skills/scientific/hypothesis-generation/assets/hypothesis_generation.sty +307 -0
- package/skills/scientific/hypothesis-generation/assets/hypothesis_report_template.tex +572 -0
- package/skills/scientific/hypothesis-generation/references/experimental_design_patterns.md +329 -0
- package/skills/scientific/hypothesis-generation/references/hypothesis_quality_criteria.md +198 -0
- package/skills/scientific/hypothesis-generation/references/literature_search_strategies.md +622 -0
- package/skills/scientific/hypothesis-generation/scripts/generate_schematic.py +139 -0
- package/skills/scientific/hypothesis-generation/scripts/generate_schematic_ai.py +817 -0
- package/skills/scientific/literature-review/SKILL.md +699 -0
- package/skills/scientific/literature-review/assets/review_template.md +412 -0
- package/skills/scientific/literature-review/references/citation_styles.md +166 -0
- package/skills/scientific/literature-review/references/database_strategies.md +455 -0
- package/skills/scientific/literature-review/scripts/generate_pdf.py +176 -0
- package/skills/scientific/literature-review/scripts/generate_schematic.py +139 -0
- package/skills/scientific/literature-review/scripts/generate_schematic_ai.py +817 -0
- package/skills/scientific/literature-review/scripts/search_databases.py +303 -0
- package/skills/scientific/literature-review/scripts/verify_citations.py +222 -0
- package/skills/scientific/markdown-mermaid-writing/SKILL.md +327 -0
- package/skills/scientific/markdown-mermaid-writing/assets/examples/example-research-report.md +221 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/architecture.md +108 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/block.md +177 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/c4.md +136 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/class.md +246 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/complex_examples.md +384 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/er.md +222 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/flowchart.md +177 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/gantt.md +138 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/git_graph.md +74 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/kanban.md +107 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/mindmap.md +74 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/packet.md +55 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/pie.md +52 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/quadrant.md +66 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/radar.md +59 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/requirement.md +88 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/sankey.md +71 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/sequence.md +174 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/state.md +150 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/timeline.md +96 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/treemap.md +66 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/user_journey.md +108 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/xy_chart.md +53 -0
- package/skills/scientific/markdown-mermaid-writing/references/diagrams/zenuml.md +71 -0
- package/skills/scientific/markdown-mermaid-writing/references/markdown_style_guide.md +733 -0
- package/skills/scientific/markdown-mermaid-writing/references/mermaid_style_guide.md +458 -0
- package/skills/scientific/markdown-mermaid-writing/templates/decision_record.md +211 -0
- package/skills/scientific/markdown-mermaid-writing/templates/how_to_guide.md +275 -0
- package/skills/scientific/markdown-mermaid-writing/templates/issue.md +303 -0
- package/skills/scientific/markdown-mermaid-writing/templates/kanban.md +223 -0
- package/skills/scientific/markdown-mermaid-writing/templates/presentation.md +312 -0
- package/skills/scientific/markdown-mermaid-writing/templates/project_documentation.md +412 -0
- package/skills/scientific/markdown-mermaid-writing/templates/pull_request.md +319 -0
- package/skills/scientific/markdown-mermaid-writing/templates/research_paper.md +304 -0
- package/skills/scientific/markdown-mermaid-writing/templates/status_report.md +185 -0
- package/skills/scientific/paper-lookup/SKILL.md +193 -0
- package/skills/scientific/paper-lookup/references/arxiv.md +161 -0
- package/skills/scientific/paper-lookup/references/biorxiv.md +118 -0
- package/skills/scientific/paper-lookup/references/core.md +150 -0
- package/skills/scientific/paper-lookup/references/crossref.md +181 -0
- package/skills/scientific/paper-lookup/references/medrxiv.md +104 -0
- package/skills/scientific/paper-lookup/references/openalex.md +174 -0
- package/skills/scientific/paper-lookup/references/pmc.md +152 -0
- package/skills/scientific/paper-lookup/references/pubmed.md +124 -0
- package/skills/scientific/paper-lookup/references/semantic-scholar.md +203 -0
- package/skills/scientific/paper-lookup/references/unpaywall.md +127 -0
- package/skills/scientific/peer-review/SKILL.md +569 -0
- package/skills/scientific/peer-review/references/common_issues.md +552 -0
- package/skills/scientific/peer-review/references/reporting_standards.md +290 -0
- package/skills/scientific/peer-review/scripts/generate_schematic.py +139 -0
- package/skills/scientific/peer-review/scripts/generate_schematic_ai.py +817 -0
- package/skills/scientific/scholar-evaluation/SKILL.md +298 -0
- package/skills/scientific/scholar-evaluation/references/evaluation_framework.md +663 -0
- package/skills/scientific/scholar-evaluation/scripts/calculate_scores.py +378 -0
- package/skills/scientific/scholar-evaluation/scripts/generate_schematic.py +139 -0
- package/skills/scientific/scholar-evaluation/scripts/generate_schematic_ai.py +817 -0
- package/skills/scientific/scientific-brainstorming/SKILL.md +189 -0
- package/skills/scientific/scientific-brainstorming/references/brainstorming_methods.md +326 -0
- package/skills/scientific/scientific-critical-thinking/SKILL.md +570 -0
- package/skills/scientific/scientific-critical-thinking/references/common_biases.md +364 -0
- package/skills/scientific/scientific-critical-thinking/references/evidence_hierarchy.md +484 -0
- package/skills/scientific/scientific-critical-thinking/references/experimental_design.md +496 -0
- package/skills/scientific/scientific-critical-thinking/references/logical_fallacies.md +478 -0
- package/skills/scientific/scientific-critical-thinking/references/scientific_method.md +169 -0
- package/skills/scientific/scientific-critical-thinking/references/statistical_pitfalls.md +506 -0
- package/skills/scientific/scientific-critical-thinking/scripts/generate_schematic.py +139 -0
- package/skills/scientific/scientific-critical-thinking/scripts/generate_schematic_ai.py +817 -0
- package/skills/wotann-imports/incremental-implementation.md +241 -0
- package/skills/wotann-imports/security-threat-model.md +81 -0
- package/skills/wotann-imports/triage.md +103 -0
- package/dist/build/deploy-targets/coolify.d.ts +0 -148
- package/dist/build/deploy-targets/coolify.d.ts.map +0 -1
- package/dist/build/deploy-targets/coolify.js +0 -339
- package/dist/build/deploy-targets/coolify.js.map +0 -1
- package/dist/build/deploy-targets/dokploy.d.ts +0 -139
- package/dist/build/deploy-targets/dokploy.d.ts.map +0 -1
- package/dist/build/deploy-targets/dokploy.js +0 -339
- package/dist/build/deploy-targets/dokploy.js.map +0 -1
- package/dist/claude/hardening/error-handler.d.ts +0 -52
- package/dist/claude/hardening/error-handler.d.ts.map +0 -1
- package/dist/claude/hardening/error-handler.js +0 -158
- package/dist/claude/hardening/error-handler.js.map +0 -1
- package/dist/cli/onboarding.d.ts +0 -34
- package/dist/cli/onboarding.d.ts.map +0 -1
- package/dist/cli/onboarding.js +0 -150
- package/dist/cli/onboarding.js.map +0 -1
- package/dist/core/agent-profiles.d.ts +0 -65
- package/dist/core/agent-profiles.d.ts.map +0 -1
- package/dist/core/agent-profiles.js +0 -137
- package/dist/core/agent-profiles.js.map +0 -1
- package/dist/desktop/supabase-relay.d.ts +0 -86
- package/dist/desktop/supabase-relay.d.ts.map +0 -1
- package/dist/desktop/supabase-relay.js +0 -335
- package/dist/desktop/supabase-relay.js.map +0 -1
- package/dist/intelligence/kg-builder.d.ts +0 -181
- package/dist/intelligence/kg-builder.d.ts.map +0 -1
- package/dist/intelligence/kg-builder.js +0 -807
- package/dist/intelligence/kg-builder.js.map +0 -1
- package/dist/orchestration/jean-orchestrator.d.ts +0 -79
- package/dist/orchestration/jean-orchestrator.d.ts.map +0 -1
- package/dist/orchestration/jean-orchestrator.js +0 -253
- package/dist/orchestration/jean-orchestrator.js.map +0 -1
- package/dist/orchestration/jean-registries/command-registry.d.ts +0 -85
- package/dist/orchestration/jean-registries/command-registry.d.ts.map +0 -1
- package/dist/orchestration/jean-registries/command-registry.js +0 -120
- package/dist/orchestration/jean-registries/command-registry.js.map +0 -1
- package/dist/orchestration/jean-registries/event-registry.d.ts +0 -80
- package/dist/orchestration/jean-registries/event-registry.d.ts.map +0 -1
- package/dist/orchestration/jean-registries/event-registry.js +0 -147
- package/dist/orchestration/jean-registries/event-registry.js.map +0 -1
- package/dist/orchestration/jean-registries/process-registry.d.ts +0 -71
- package/dist/orchestration/jean-registries/process-registry.d.ts.map +0 -1
- package/dist/orchestration/jean-registries/process-registry.js +0 -104
- package/dist/orchestration/jean-registries/process-registry.js.map +0 -1
- package/dist/orchestration/jean-registries/result-registry.d.ts +0 -71
- package/dist/orchestration/jean-registries/result-registry.d.ts.map +0 -1
- package/dist/orchestration/jean-registries/result-registry.js +0 -97
- package/dist/orchestration/jean-registries/result-registry.js.map +0 -1
- package/dist/providers/bedrock-signer.d.ts +0 -23
- package/dist/providers/bedrock-signer.d.ts.map +0 -1
- package/dist/providers/bedrock-signer.js +0 -439
- package/dist/providers/bedrock-signer.js.map +0 -1
- package/dist/providers/harness-profiles.d.ts +0 -70
- package/dist/providers/harness-profiles.d.ts.map +0 -1
- package/dist/providers/harness-profiles.js +0 -210
- package/dist/providers/harness-profiles.js.map +0 -1
- package/dist/providers/vertex-oauth.d.ts +0 -21
- package/dist/providers/vertex-oauth.d.ts.map +0 -1
- package/dist/providers/vertex-oauth.js +0 -393
- package/dist/providers/vertex-oauth.js.map +0 -1
- package/dist/sandbox/backends/cloud-auth.d.ts +0 -50
- package/dist/sandbox/backends/cloud-auth.d.ts.map +0 -1
- package/dist/sandbox/backends/cloud-auth.js +0 -93
- package/dist/sandbox/backends/cloud-auth.js.map +0 -1
- package/dist/security/anti-distillation.d.ts +0 -46
- package/dist/security/anti-distillation.d.ts.map +0 -1
- package/dist/security/anti-distillation.js +0 -358
- package/dist/security/anti-distillation.js.map +0 -1
- package/dist/security/multi-encoding-decoder.d.ts +0 -47
- package/dist/security/multi-encoding-decoder.d.ts.map +0 -1
- package/dist/security/multi-encoding-decoder.js +0 -336
- package/dist/security/multi-encoding-decoder.js.map +0 -1
- package/dist/ui/accessibility.d.ts +0 -157
- package/dist/ui/accessibility.d.ts.map +0 -1
- package/dist/ui/accessibility.js +0 -232
- package/dist/ui/accessibility.js.map +0 -1
- package/dist/ui/animations.d.ts +0 -102
- package/dist/ui/animations.d.ts.map +0 -1
- package/dist/ui/animations.js +0 -277
- package/dist/ui/animations.js.map +0 -1
- package/dist/ui/components/Sparkline.d.ts +0 -81
- package/dist/ui/components/Sparkline.d.ts.map +0 -1
- package/dist/ui/components/Sparkline.js +0 -102
- package/dist/ui/components/Sparkline.js.map +0 -1
- package/dist/ui/input/mouse.d.ts +0 -139
- package/dist/ui/input/mouse.d.ts.map +0 -1
- package/dist/ui/input/mouse.js +0 -239
- package/dist/ui/input/mouse.js.map +0 -1
- package/dist/ui/sound.d.ts +0 -85
- package/dist/ui/sound.d.ts.map +0 -1
- package/dist/ui/sound.js +0 -126
- package/dist/ui/sound.js.map +0 -1
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Named harness profiles (E10).
|
|
3
|
-
*
|
|
4
|
-
* A harness profile bundles a provider + model + thinking mode + tool set
|
|
5
|
-
* into a single name the user can invoke from CLI or the TUI. Inspired by
|
|
6
|
-
* deepagents' preset system — "fast-cheap" for quick tweaks, "max-quality"
|
|
7
|
-
* when nothing less will do, "offline" for airplane mode.
|
|
8
|
-
*
|
|
9
|
-
* Profiles resolve to a concrete query plan at call time so that env
|
|
10
|
-
* changes (e.g., new API key added) are picked up without a restart.
|
|
11
|
-
*
|
|
12
|
-
* Usage from CLI:
|
|
13
|
-
* wotann profile list
|
|
14
|
-
* wotann profile switch fast-cheap
|
|
15
|
-
* wotann profile switch max-quality
|
|
16
|
-
*
|
|
17
|
-
* Programmatic:
|
|
18
|
-
* const profile = resolveProfile("fast-cheap");
|
|
19
|
-
* runtime.query({ prompt, provider: profile.provider, model: profile.model });
|
|
20
|
-
*
|
|
21
|
-
* Wave DH-1: scoped per-provider model id consts. Profiles are named
|
|
22
|
-
* shortcuts whose `provider` + `model` pair is a *default* the user can
|
|
23
|
-
* override via the profile-update RPC. The literals below pin the canonical
|
|
24
|
-
* Anthropic ids in one block so future bumps stay in one place; profiles
|
|
25
|
-
* that map to the dynamic "strong/balanced/fast/local" tiers should call
|
|
26
|
-
* `resolveAgentModel(tier, {providerHint})` from agent-registry.ts at
|
|
27
|
-
* dispatch time — this file declares static defaults only.
|
|
28
|
-
*/
|
|
29
|
-
// Anthropic-native namespace ids used in built-in profile defaults.
|
|
30
|
-
const ANTHROPIC_OPUS = "claude-opus-4-7";
|
|
31
|
-
const ANTHROPIC_SONNET = "claude-sonnet-4-7";
|
|
32
|
-
const ANTHROPIC_HAIKU = "claude-haiku-4-5-20251001";
|
|
33
|
-
export const BUILT_IN_PROFILES = {
|
|
34
|
-
"fast-cheap": {
|
|
35
|
-
name: "fast-cheap",
|
|
36
|
-
description: "Haiku + Cerebras fallback — sub-second responses for quick edits, under $0.50 / hour.",
|
|
37
|
-
provider: "anthropic",
|
|
38
|
-
model: ANTHROPIC_HAIKU,
|
|
39
|
-
tags: ["cheap", "fast", "daily-driver"],
|
|
40
|
-
temperature: 0.2,
|
|
41
|
-
fallbacks: [
|
|
42
|
-
{ provider: "ollama", model: "gemma3:latest" },
|
|
43
|
-
{ provider: "deepseek", model: "deepseek-chat" },
|
|
44
|
-
{ provider: "sambanova", model: "Meta-Llama-3.3-70B-Instruct" },
|
|
45
|
-
],
|
|
46
|
-
toolScope: "full",
|
|
47
|
-
dailyBudgetUsd: 5,
|
|
48
|
-
},
|
|
49
|
-
"max-quality": {
|
|
50
|
-
name: "max-quality",
|
|
51
|
-
description: "Opus 4.7 + 128k thinking — use when the task is ambiguous, architectural, or mission-critical.",
|
|
52
|
-
provider: "anthropic",
|
|
53
|
-
model: ANTHROPIC_OPUS,
|
|
54
|
-
tags: ["smart", "expensive", "deep-reasoning"],
|
|
55
|
-
thinkingTokens: 128_000,
|
|
56
|
-
temperature: 0.3,
|
|
57
|
-
fallbacks: [
|
|
58
|
-
{ provider: "openai", model: "gpt-5-thinking" },
|
|
59
|
-
{ provider: "xai", model: "grok-4-0709" },
|
|
60
|
-
],
|
|
61
|
-
toolScope: "full",
|
|
62
|
-
dailyBudgetUsd: 100,
|
|
63
|
-
},
|
|
64
|
-
offline: {
|
|
65
|
-
name: "offline",
|
|
66
|
-
description: "Ollama + local MLX only — airplane mode, zero network, zero cost.",
|
|
67
|
-
provider: "ollama",
|
|
68
|
-
model: "gemma3:latest",
|
|
69
|
-
tags: ["offline", "free", "local"],
|
|
70
|
-
temperature: 0.4,
|
|
71
|
-
fallbacks: [],
|
|
72
|
-
toolScope: "full",
|
|
73
|
-
},
|
|
74
|
-
research: {
|
|
75
|
-
name: "research",
|
|
76
|
-
description: "Perplexity Sonar Pro for web-grounded research, then synthesize with Sonnet.",
|
|
77
|
-
provider: "perplexity",
|
|
78
|
-
model: "sonar-pro",
|
|
79
|
-
tags: ["web-search", "citations", "research"],
|
|
80
|
-
temperature: 0.2,
|
|
81
|
-
fallbacks: [{ provider: "anthropic", model: ANTHROPIC_SONNET }],
|
|
82
|
-
toolScope: "read-only",
|
|
83
|
-
},
|
|
84
|
-
reasoner: {
|
|
85
|
-
name: "reasoner",
|
|
86
|
-
description: "DeepSeek R1 + Qwen3-Coder fallback — strong CoT for hard logic puzzles at open-source pricing.",
|
|
87
|
-
provider: "deepseek",
|
|
88
|
-
model: "deepseek-reasoner",
|
|
89
|
-
tags: ["oss", "reasoning", "cheap"],
|
|
90
|
-
temperature: 0.3,
|
|
91
|
-
fallbacks: [
|
|
92
|
-
{ provider: "fireworks", model: "accounts/fireworks/models/deepseek-r1" },
|
|
93
|
-
{ provider: "together", model: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B" },
|
|
94
|
-
],
|
|
95
|
-
toolScope: "full",
|
|
96
|
-
},
|
|
97
|
-
"code-fast": {
|
|
98
|
-
name: "code-fast",
|
|
99
|
-
description: "Grok-code-fast + Codestral — specialised code autocomplete and edits at bottom-tier latency.",
|
|
100
|
-
provider: "xai",
|
|
101
|
-
model: "grok-code-fast-1",
|
|
102
|
-
tags: ["code", "fast", "autocomplete"],
|
|
103
|
-
temperature: 0.1,
|
|
104
|
-
fallbacks: [
|
|
105
|
-
{ provider: "mistral", model: "codestral-latest" },
|
|
106
|
-
{ provider: "fireworks", model: "accounts/fireworks/models/qwen3-coder-480b" },
|
|
107
|
-
],
|
|
108
|
-
toolScope: "edit-only",
|
|
109
|
-
},
|
|
110
|
-
"safe-review": {
|
|
111
|
-
name: "safe-review",
|
|
112
|
-
description: "Read-only Opus — analyse but cannot mutate. For code review, audit, or exploring unfamiliar code.",
|
|
113
|
-
provider: "anthropic",
|
|
114
|
-
model: ANTHROPIC_OPUS,
|
|
115
|
-
tags: ["safe", "read-only", "audit"],
|
|
116
|
-
temperature: 0.2,
|
|
117
|
-
toolScope: "read-only",
|
|
118
|
-
},
|
|
119
|
-
exploit: {
|
|
120
|
-
name: "exploit",
|
|
121
|
-
description: "Offensive-security profile — MITRE ATT&CK prompts, no tool limits, requires explicit --exploit flag.",
|
|
122
|
-
provider: "anthropic",
|
|
123
|
-
model: ANTHROPIC_OPUS,
|
|
124
|
-
tags: ["security", "offensive", "ctf"],
|
|
125
|
-
temperature: 0.3,
|
|
126
|
-
toolScope: "full",
|
|
127
|
-
},
|
|
128
|
-
};
|
|
129
|
-
/**
|
|
130
|
-
* Resolve a profile by name. Falls back to `fast-cheap` if the requested
|
|
131
|
-
* profile doesn't exist so callers don't have to branch on that case.
|
|
132
|
-
*/
|
|
133
|
-
export function resolveProfile(name) {
|
|
134
|
-
return BUILT_IN_PROFILES[name] ?? BUILT_IN_PROFILES["fast-cheap"];
|
|
135
|
-
}
|
|
136
|
-
/** List the names of every built-in profile. */
|
|
137
|
-
export function listProfileNames() {
|
|
138
|
-
return Object.keys(BUILT_IN_PROFILES);
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Simple search — returns profiles whose name, description, or tags
|
|
142
|
-
* include the query. Case-insensitive.
|
|
143
|
-
*/
|
|
144
|
-
export function searchProfiles(query) {
|
|
145
|
-
const q = query.toLowerCase();
|
|
146
|
-
return Object.values(BUILT_IN_PROFILES).filter((p) => p.name.includes(q) ||
|
|
147
|
-
p.description.toLowerCase().includes(q) ||
|
|
148
|
-
p.tags.some((t) => t.toLowerCase().includes(q)));
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Determine whether a profile can be activated right now — checks that the
|
|
152
|
-
* primary provider has credentials, or that a fallback does.
|
|
153
|
-
*/
|
|
154
|
-
export function canActivate(profile, env = process.env) {
|
|
155
|
-
const hasPrimary = hasCredentialsFor(profile.provider, env);
|
|
156
|
-
if (hasPrimary)
|
|
157
|
-
return { ok: true };
|
|
158
|
-
for (const fallback of profile.fallbacks ?? []) {
|
|
159
|
-
if (hasCredentialsFor(fallback.provider, env)) {
|
|
160
|
-
return { ok: true };
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
return {
|
|
164
|
-
ok: false,
|
|
165
|
-
reason: `No credentials for ${profile.provider} or fallbacks (${(profile.fallbacks ?? []).map((f) => f.provider).join(", ") || "none"}).`,
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
function hasCredentialsFor(provider, env) {
|
|
169
|
-
switch (provider) {
|
|
170
|
-
case "anthropic":
|
|
171
|
-
return !!(env["ANTHROPIC_API_KEY"] ?? env["CLAUDE_CODE_OAUTH_TOKEN"]);
|
|
172
|
-
case "openai":
|
|
173
|
-
return !!env["OPENAI_API_KEY"];
|
|
174
|
-
case "codex":
|
|
175
|
-
return !!env["CODEX_API_KEY"];
|
|
176
|
-
case "copilot":
|
|
177
|
-
return !!(env["GH_TOKEN"] ?? env["GITHUB_TOKEN"]);
|
|
178
|
-
case "ollama":
|
|
179
|
-
return true; // local — no auth, always "available" (pings on use)
|
|
180
|
-
case "gemini":
|
|
181
|
-
return !!(env["GEMINI_API_KEY"] ?? env["GOOGLE_API_KEY"]);
|
|
182
|
-
case "huggingface":
|
|
183
|
-
return !!(env["HF_TOKEN"] ?? env["HUGGINGFACE_API_KEY"] ?? env["HUGGING_FACE_HUB_TOKEN"]);
|
|
184
|
-
case "mistral":
|
|
185
|
-
return !!env["MISTRAL_API_KEY"];
|
|
186
|
-
case "deepseek":
|
|
187
|
-
return !!env["DEEPSEEK_API_KEY"];
|
|
188
|
-
case "perplexity":
|
|
189
|
-
return !!env["PERPLEXITY_API_KEY"];
|
|
190
|
-
case "xai":
|
|
191
|
-
return !!env["XAI_API_KEY"];
|
|
192
|
-
case "together":
|
|
193
|
-
return !!env["TOGETHER_API_KEY"];
|
|
194
|
-
case "fireworks":
|
|
195
|
-
return !!env["FIREWORKS_API_KEY"];
|
|
196
|
-
case "sambanova":
|
|
197
|
-
return !!env["SAMBANOVA_API_KEY"];
|
|
198
|
-
case "groq":
|
|
199
|
-
return !!env["GROQ_API_KEY"];
|
|
200
|
-
case "free":
|
|
201
|
-
return true;
|
|
202
|
-
case "azure":
|
|
203
|
-
return !!(env["AZURE_OPENAI_ENDPOINT"] && env["AZURE_OPENAI_API_KEY"]);
|
|
204
|
-
case "bedrock":
|
|
205
|
-
return !!env["AWS_BEDROCK_REGION"];
|
|
206
|
-
case "vertex":
|
|
207
|
-
return !!env["GOOGLE_VERTEX_PROJECT"];
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
//# sourceMappingURL=harness-profiles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"harness-profiles.js","sourceRoot":"","sources":["../../src/providers/harness-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,oEAAoE;AACpE,MAAM,cAAc,GAAG,iBAAiB,CAAC;AACzC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAC7C,MAAM,eAAe,GAAG,2BAA2B,CAAC;AAqBpD,MAAM,CAAC,MAAM,iBAAiB,GAAmC;IAC/D,YAAY,EAAE;QACZ,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,uFAAuF;QACzF,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC;QACvC,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE;YACT,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE;YAC9C,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE;YAChD,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,6BAA6B,EAAE;SAChE;QACD,SAAS,EAAE,MAAM;QACjB,cAAc,EAAE,CAAC;KAClB;IAED,aAAa,EAAE;QACb,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,gGAAgG;QAClG,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,gBAAgB,CAAC;QAC9C,cAAc,EAAE,OAAO;QACvB,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE;YACT,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE;YAC/C,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE;SAC1C;QACD,SAAS,EAAE,MAAM;QACjB,cAAc,EAAE,GAAG;KACpB;IAED,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,mEAAmE;QAChF,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;QAClC,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,MAAM;KAClB;IAED,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,8EAA8E;QAC3F,QAAQ,EAAE,YAAY;QACtB,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC;QAC7C,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;QAC/D,SAAS,EAAE,WAAW;KACvB;IAED,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,WAAW,EACT,gGAAgG;QAClG,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC;QACnC,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE;YACT,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,uCAAuC,EAAE;YACzE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,2CAA2C,EAAE;SAC7E;QACD,SAAS,EAAE,MAAM;KAClB;IAED,WAAW,EAAE;QACX,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,8FAA8F;QAChG,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,kBAAkB;QACzB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC;QACtC,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE;YACT,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE;YAClD,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,4CAA4C,EAAE;SAC/E;QACD,SAAS,EAAE,WAAW;KACvB;IAED,aAAa,EAAE;QACb,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,mGAAmG;QACrG,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;QACpC,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,WAAW;KACvB;IAED,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,WAAW,EACT,sGAAsG;QACxG,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC;QACtC,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,MAAM;KAClB;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,YAAY,CAAE,CAAC;AACrE,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAClD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,OAAuB,EACvB,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAI,UAAU;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACpC,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QAC/C,IAAI,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK;QACT,MAAM,EAAE,sBAAsB,OAAO,CAAC,QAAQ,kBAC5C,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MACjE,IAAI;KACL,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAsB,EAAE,GAAsB;IACvE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,WAAW;YACd,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACxE,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACjC,KAAK,OAAO;YACV,OAAO,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAChC,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;QACpD,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,CAAC,qDAAqD;QACpE,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5D,KAAK,aAAa;YAChB,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,qBAAqB,CAAC,IAAI,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAC5F,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAClC,KAAK,UAAU;YACb,OAAO,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACnC,KAAK,YAAY;YACf,OAAO,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACrC,KAAK,KAAK;YACR,OAAO,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC9B,KAAK,UAAU;YACb,OAAO,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACnC,KAAK,WAAW;YACd,OAAO,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACpC,KAAK,WAAW;YACd,OAAO,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACpC,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC/B,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;QACd,KAAK,OAAO;YACV,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACzE,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACrC,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Google Vertex AI adapter with real OAuth2 access-token exchange.
|
|
3
|
-
*
|
|
4
|
-
* Session-10 audit fix: the prior Vertex registration passed the
|
|
5
|
-
* service-account JSON file *path* as the Bearer token and hit
|
|
6
|
-
* `/chat/completions`. Real auth requires:
|
|
7
|
-
* 1. Read the service-account JSON (`GOOGLE_APPLICATION_CREDENTIALS`).
|
|
8
|
-
* 2. Build a signed JWT (RS256) with audience
|
|
9
|
-
* `https://oauth2.googleapis.com/token` and scope
|
|
10
|
-
* `https://www.googleapis.com/auth/cloud-platform`.
|
|
11
|
-
* 3. POST the JWT to `oauth2.googleapis.com/token` → access token + expiry.
|
|
12
|
-
* 4. Cache the access token until ~5 min before expiry.
|
|
13
|
-
* 5. Call Vertex's REST endpoint with `Authorization: Bearer <access_token>`.
|
|
14
|
-
*
|
|
15
|
-
* Inline implementation using `node:crypto.createSign` — no
|
|
16
|
-
* `google-auth-library` dep (100+ KB).
|
|
17
|
-
*/
|
|
18
|
-
import type { ProviderAuth } from "../core/types.js";
|
|
19
|
-
import type { ProviderAdapter } from "./types.js";
|
|
20
|
-
export declare function createVertexAdapter(auth: ProviderAuth): ProviderAdapter;
|
|
21
|
-
//# sourceMappingURL=vertex-oauth.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vertex-oauth.d.ts","sourceRoot":"","sources":["../../src/providers/vertex-oauth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EACV,eAAe,EAKhB,MAAM,YAAY,CAAC;AAgGpB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe,CA6TvE"}
|
|
@@ -1,393 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Google Vertex AI adapter with real OAuth2 access-token exchange.
|
|
3
|
-
*
|
|
4
|
-
* Session-10 audit fix: the prior Vertex registration passed the
|
|
5
|
-
* service-account JSON file *path* as the Bearer token and hit
|
|
6
|
-
* `/chat/completions`. Real auth requires:
|
|
7
|
-
* 1. Read the service-account JSON (`GOOGLE_APPLICATION_CREDENTIALS`).
|
|
8
|
-
* 2. Build a signed JWT (RS256) with audience
|
|
9
|
-
* `https://oauth2.googleapis.com/token` and scope
|
|
10
|
-
* `https://www.googleapis.com/auth/cloud-platform`.
|
|
11
|
-
* 3. POST the JWT to `oauth2.googleapis.com/token` → access token + expiry.
|
|
12
|
-
* 4. Cache the access token until ~5 min before expiry.
|
|
13
|
-
* 5. Call Vertex's REST endpoint with `Authorization: Bearer <access_token>`.
|
|
14
|
-
*
|
|
15
|
-
* Inline implementation using `node:crypto.createSign` — no
|
|
16
|
-
* `google-auth-library` dep (100+ KB).
|
|
17
|
-
*/
|
|
18
|
-
import { readFileSync } from "node:fs";
|
|
19
|
-
import { createSign } from "node:crypto";
|
|
20
|
-
import { openAIToAnthropic } from "./format-translator.js";
|
|
21
|
-
import { toVertexTools } from "./tool-serializer.js";
|
|
22
|
-
/**
|
|
23
|
-
* Map Anthropic's raw stop_reason to the normalised StopReason vocabulary.
|
|
24
|
-
* Vertex Claude streams the same values as native Anthropic — see types.ts.
|
|
25
|
-
*/
|
|
26
|
-
function mapStop(reason) {
|
|
27
|
-
if (reason === "tool_use")
|
|
28
|
-
return "tool_calls";
|
|
29
|
-
if (reason === "max_tokens")
|
|
30
|
-
return "max_tokens";
|
|
31
|
-
if (reason === "end_turn" || reason === "stop_sequence")
|
|
32
|
-
return "stop";
|
|
33
|
-
return "stop";
|
|
34
|
-
}
|
|
35
|
-
function loadServiceAccount() {
|
|
36
|
-
const path = process.env["GOOGLE_APPLICATION_CREDENTIALS"];
|
|
37
|
-
if (!path)
|
|
38
|
-
return null;
|
|
39
|
-
try {
|
|
40
|
-
const raw = readFileSync(path, "utf-8");
|
|
41
|
-
const parsed = JSON.parse(raw);
|
|
42
|
-
if (!parsed.client_email || !parsed.private_key || !parsed.project_id)
|
|
43
|
-
return null;
|
|
44
|
-
return parsed;
|
|
45
|
-
}
|
|
46
|
-
catch {
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
function base64url(input) {
|
|
51
|
-
const b = Buffer.isBuffer(input) ? input : Buffer.from(input);
|
|
52
|
-
return b.toString("base64").replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
53
|
-
}
|
|
54
|
-
function buildSignedJwt(sa) {
|
|
55
|
-
const now = Math.floor(Date.now() / 1000);
|
|
56
|
-
const header = { alg: "RS256", typ: "JWT" };
|
|
57
|
-
const payload = {
|
|
58
|
-
iss: sa.client_email,
|
|
59
|
-
scope: "https://www.googleapis.com/auth/cloud-platform",
|
|
60
|
-
aud: sa.token_uri ?? "https://oauth2.googleapis.com/token",
|
|
61
|
-
exp: now + 3600,
|
|
62
|
-
iat: now,
|
|
63
|
-
};
|
|
64
|
-
const headerB64 = base64url(JSON.stringify(header));
|
|
65
|
-
const payloadB64 = base64url(JSON.stringify(payload));
|
|
66
|
-
const signingInput = `${headerB64}.${payloadB64}`;
|
|
67
|
-
const signer = createSign("RSA-SHA256");
|
|
68
|
-
signer.update(signingInput);
|
|
69
|
-
signer.end();
|
|
70
|
-
const signature = signer.sign(sa.private_key);
|
|
71
|
-
return `${signingInput}.${base64url(signature)}`;
|
|
72
|
-
}
|
|
73
|
-
const tokenCache = new Map();
|
|
74
|
-
async function exchangeJwtForAccessToken(sa) {
|
|
75
|
-
const cached = tokenCache.get(sa.client_email);
|
|
76
|
-
if (cached && cached.expiresAt > Date.now() + 5 * 60_000)
|
|
77
|
-
return cached.token;
|
|
78
|
-
const jwt = buildSignedJwt(sa);
|
|
79
|
-
const tokenUri = sa.token_uri ?? "https://oauth2.googleapis.com/token";
|
|
80
|
-
const res = await fetch(tokenUri, {
|
|
81
|
-
method: "POST",
|
|
82
|
-
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
|
83
|
-
body: new URLSearchParams({
|
|
84
|
-
grant_type: "urn:ietf:params:oauth:grant-type:jwt-bearer",
|
|
85
|
-
assertion: jwt,
|
|
86
|
-
}).toString(),
|
|
87
|
-
});
|
|
88
|
-
if (!res.ok) {
|
|
89
|
-
const err = await res.text().catch(() => "");
|
|
90
|
-
throw new Error(`Vertex OAuth2 exchange ${res.status}: ${err.slice(0, 300)}`);
|
|
91
|
-
}
|
|
92
|
-
const json = (await res.json());
|
|
93
|
-
if (!json.access_token || !json.expires_in) {
|
|
94
|
-
throw new Error("Vertex OAuth2 exchange returned no access_token");
|
|
95
|
-
}
|
|
96
|
-
const entry = {
|
|
97
|
-
token: json.access_token,
|
|
98
|
-
expiresAt: Date.now() + json.expires_in * 1000,
|
|
99
|
-
};
|
|
100
|
-
tokenCache.set(sa.client_email, entry);
|
|
101
|
-
return entry.token;
|
|
102
|
-
}
|
|
103
|
-
export function createVertexAdapter(auth) {
|
|
104
|
-
// No hardcoded default model / vendor bias. The caller must pick.
|
|
105
|
-
const defaultModel = auth.models?.[0];
|
|
106
|
-
const region = process.env["GOOGLE_CLOUD_REGION"] ?? "us-central1";
|
|
107
|
-
const capabilities = {
|
|
108
|
-
supportsComputerUse: false,
|
|
109
|
-
supportsToolCalling: true,
|
|
110
|
-
supportsVision: true,
|
|
111
|
-
supportsStreaming: true,
|
|
112
|
-
supportsThinking: true,
|
|
113
|
-
// Conservative static capability ceiling — the runtime refines this
|
|
114
|
-
// per-query via getMaxContextWindow(provider, model).
|
|
115
|
-
maxContextWindow: 128_000,
|
|
116
|
-
};
|
|
117
|
-
async function* queryImpl(opts) {
|
|
118
|
-
const sa = loadServiceAccount();
|
|
119
|
-
if (!sa) {
|
|
120
|
-
yield {
|
|
121
|
-
type: "error",
|
|
122
|
-
content: "Vertex auth unavailable: set GOOGLE_APPLICATION_CREDENTIALS to the path of a service-account JSON key with the `aiplatform.user` role.",
|
|
123
|
-
provider: "vertex",
|
|
124
|
-
stopReason: "error",
|
|
125
|
-
};
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
let token;
|
|
129
|
-
try {
|
|
130
|
-
token = await exchangeJwtForAccessToken(sa);
|
|
131
|
-
}
|
|
132
|
-
catch (err) {
|
|
133
|
-
yield {
|
|
134
|
-
type: "error",
|
|
135
|
-
content: err instanceof Error ? err.message : String(err),
|
|
136
|
-
provider: "vertex",
|
|
137
|
-
stopReason: "error",
|
|
138
|
-
};
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
const project = process.env["GOOGLE_CLOUD_PROJECT"] ?? process.env["GCP_PROJECT"] ?? sa.project_id;
|
|
142
|
-
const model = opts.model ?? defaultModel;
|
|
143
|
-
if (!model) {
|
|
144
|
-
yield {
|
|
145
|
-
type: "error",
|
|
146
|
-
content: "Vertex adapter requires an explicit model — supply via opts.model or configure ProviderAuth.models. No vendor-biased default.",
|
|
147
|
-
provider: "vertex",
|
|
148
|
-
stopReason: "error",
|
|
149
|
-
};
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
// Publisher resolved from model prefix — callers pick the vendor via
|
|
153
|
-
// the model id rather than the adapter guessing. claude-…/gemini-…/
|
|
154
|
-
// mistral-… route to the matching publisher; anything else defaults
|
|
155
|
-
// to "google" (Vertex's home publisher) and lets the endpoint error
|
|
156
|
-
// honestly on an unknown model.
|
|
157
|
-
const lowered = model.toLowerCase();
|
|
158
|
-
const publisher = lowered.startsWith("claude")
|
|
159
|
-
? "anthropic"
|
|
160
|
-
: lowered.startsWith("gemini")
|
|
161
|
-
? "google"
|
|
162
|
-
: lowered.startsWith("mistral")
|
|
163
|
-
? "mistralai"
|
|
164
|
-
: "google";
|
|
165
|
-
const url = `https://${region}-aiplatform.googleapis.com/v1/projects/${project}` +
|
|
166
|
-
`/locations/${region}/publishers/${publisher}/models/${model}:streamRawPredict`;
|
|
167
|
-
// Vertex Claude uses Anthropic's Messages API format (same schema as
|
|
168
|
-
// /v1/messages, just fronted by Google's endpoint + OAuth2). Translate
|
|
169
|
-
// the unified opts — multi-turn messages, tool_result blocks, system
|
|
170
|
-
// prompt, tools — into Anthropic's wire format. Without this, multi-turn
|
|
171
|
-
// agent loops die silently because the model only ever sees opts.prompt
|
|
172
|
-
// and never the conversation context or tool_use/tool_result history.
|
|
173
|
-
//
|
|
174
|
-
// opts.messages is translated via the shared format-translator so the
|
|
175
|
-
// Vertex path matches the native Anthropic path exactly (tool_use/tool_result
|
|
176
|
-
// preserved across provider switches). We prepend the translated history
|
|
177
|
-
// then append the current turn's user prompt.
|
|
178
|
-
const anthropicMessages = [];
|
|
179
|
-
if (opts.messages && opts.messages.length > 0) {
|
|
180
|
-
const translated = openAIToAnthropic(opts.messages
|
|
181
|
-
.filter((msg) => msg.role !== "system")
|
|
182
|
-
.map((msg) => msg.role === "tool"
|
|
183
|
-
? {
|
|
184
|
-
role: "tool",
|
|
185
|
-
content: msg.content,
|
|
186
|
-
tool_call_id: msg.toolCallId,
|
|
187
|
-
}
|
|
188
|
-
: {
|
|
189
|
-
role: msg.role,
|
|
190
|
-
content: msg.content,
|
|
191
|
-
}));
|
|
192
|
-
for (const m of translated) {
|
|
193
|
-
anthropicMessages.push({ role: m.role, content: m.content });
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
anthropicMessages.push({ role: "user", content: opts.prompt });
|
|
197
|
-
// P1-B2: route through the shared serializer so Vertex + native
|
|
198
|
-
// Anthropic can never drift apart on tool wire shape. Vertex Claude
|
|
199
|
-
// speaks Anthropic's wire format; `toVertexTools` delegates to
|
|
200
|
-
// `toAnthropicTools` but the indirection gives us one place to land
|
|
201
|
-
// any future Vertex-specific quirks.
|
|
202
|
-
const anthropicTools = opts.tools && opts.tools.length > 0 ? toVertexTools(opts.tools) : undefined;
|
|
203
|
-
const body = JSON.stringify({
|
|
204
|
-
anthropic_version: "vertex-2023-10-16",
|
|
205
|
-
messages: anthropicMessages,
|
|
206
|
-
max_tokens: opts.maxTokens ?? 4096,
|
|
207
|
-
stream: true,
|
|
208
|
-
temperature: typeof opts.temperature === "number" ? opts.temperature : 0.7,
|
|
209
|
-
...(opts.systemPrompt ? { system: opts.systemPrompt } : {}),
|
|
210
|
-
...(anthropicTools ? { tools: anthropicTools } : {}),
|
|
211
|
-
});
|
|
212
|
-
let res;
|
|
213
|
-
try {
|
|
214
|
-
res = await fetch(url, {
|
|
215
|
-
method: "POST",
|
|
216
|
-
headers: {
|
|
217
|
-
Authorization: `Bearer ${token}`,
|
|
218
|
-
"Content-Type": "application/json",
|
|
219
|
-
},
|
|
220
|
-
body,
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
catch (err) {
|
|
224
|
-
yield {
|
|
225
|
-
type: "error",
|
|
226
|
-
content: `Vertex network error: ${err instanceof Error ? err.message : String(err)}`,
|
|
227
|
-
provider: "vertex",
|
|
228
|
-
stopReason: "error",
|
|
229
|
-
};
|
|
230
|
-
return;
|
|
231
|
-
}
|
|
232
|
-
if (!res.ok || !res.body) {
|
|
233
|
-
const err = res.body ? await res.text().catch(() => "") : "";
|
|
234
|
-
yield {
|
|
235
|
-
type: "error",
|
|
236
|
-
content: `Vertex ${res.status}: ${err.slice(0, 300)}`,
|
|
237
|
-
provider: "vertex",
|
|
238
|
-
stopReason: "error",
|
|
239
|
-
};
|
|
240
|
-
return;
|
|
241
|
-
}
|
|
242
|
-
// Vertex Claude streams use Anthropic's event format (`data: {...}\n\n`).
|
|
243
|
-
// Full lifecycle:
|
|
244
|
-
// message_start — message metadata (input tokens)
|
|
245
|
-
// content_block_start — block begins; for tool_use carries name + id
|
|
246
|
-
// content_block_delta — text_delta (assistant text) or input_json_delta
|
|
247
|
-
// (partial tool-argument JSON, must be concatenated)
|
|
248
|
-
// content_block_stop — block ends; emit tool_use chunk if this was one
|
|
249
|
-
// message_delta — final stop_reason + output tokens
|
|
250
|
-
// message_stop — terminal marker
|
|
251
|
-
// Without the tool-use half, multi-turn tool loops silently die because
|
|
252
|
-
// the runtime never sees the model's tool calls. Mirror the native
|
|
253
|
-
// anthropic-adapter so Vertex behaves identically.
|
|
254
|
-
const reader = res.body.getReader();
|
|
255
|
-
const decoder = new TextDecoder();
|
|
256
|
-
let buffer = "";
|
|
257
|
-
let capturedStopReason;
|
|
258
|
-
const blockState = new Map();
|
|
259
|
-
try {
|
|
260
|
-
while (true) {
|
|
261
|
-
const { done, value } = await reader.read();
|
|
262
|
-
if (done)
|
|
263
|
-
break;
|
|
264
|
-
buffer += decoder.decode(value, { stream: true });
|
|
265
|
-
const events = buffer.split(/\n\n/);
|
|
266
|
-
buffer = events.pop() ?? "";
|
|
267
|
-
for (const ev of events) {
|
|
268
|
-
const dataLine = ev.split("\n").find((l) => l.startsWith("data: "));
|
|
269
|
-
if (!dataLine)
|
|
270
|
-
continue;
|
|
271
|
-
const payload = dataLine.slice(6).trim();
|
|
272
|
-
if (!payload || payload === "[DONE]")
|
|
273
|
-
continue;
|
|
274
|
-
try {
|
|
275
|
-
const json = JSON.parse(payload);
|
|
276
|
-
if (json.type === "message_start") {
|
|
277
|
-
// Message metadata — nothing to emit yet.
|
|
278
|
-
continue;
|
|
279
|
-
}
|
|
280
|
-
if (json.type === "content_block_start" && typeof json.index === "number") {
|
|
281
|
-
const block = json.content_block ?? {};
|
|
282
|
-
if (block.type === "tool_use") {
|
|
283
|
-
blockState.set(json.index, {
|
|
284
|
-
kind: "tool_use",
|
|
285
|
-
toolName: block.name,
|
|
286
|
-
toolId: block.id,
|
|
287
|
-
partialJson: "",
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
else if (block.type === "text") {
|
|
291
|
-
blockState.set(json.index, { kind: "text", partialJson: "" });
|
|
292
|
-
}
|
|
293
|
-
else if (block.type === "thinking") {
|
|
294
|
-
blockState.set(json.index, { kind: "thinking", partialJson: "" });
|
|
295
|
-
}
|
|
296
|
-
else {
|
|
297
|
-
blockState.set(json.index, { kind: "other", partialJson: "" });
|
|
298
|
-
}
|
|
299
|
-
continue;
|
|
300
|
-
}
|
|
301
|
-
if (json.type === "content_block_delta" && typeof json.index === "number") {
|
|
302
|
-
const delta = json.delta ?? {};
|
|
303
|
-
const state = blockState.get(json.index);
|
|
304
|
-
if (delta.type === "text_delta" && typeof delta.text === "string") {
|
|
305
|
-
yield {
|
|
306
|
-
type: "text",
|
|
307
|
-
content: delta.text,
|
|
308
|
-
model,
|
|
309
|
-
provider: "vertex",
|
|
310
|
-
};
|
|
311
|
-
}
|
|
312
|
-
else if (delta.type === "input_json_delta" &&
|
|
313
|
-
typeof delta.partial_json === "string") {
|
|
314
|
-
if (state)
|
|
315
|
-
state.partialJson += delta.partial_json;
|
|
316
|
-
}
|
|
317
|
-
continue;
|
|
318
|
-
}
|
|
319
|
-
if (json.type === "content_block_stop" && typeof json.index === "number") {
|
|
320
|
-
const state = blockState.get(json.index);
|
|
321
|
-
if (state?.kind === "tool_use") {
|
|
322
|
-
let parsedInput = {};
|
|
323
|
-
try {
|
|
324
|
-
parsedInput =
|
|
325
|
-
state.partialJson.length > 0
|
|
326
|
-
? JSON.parse(state.partialJson)
|
|
327
|
-
: {};
|
|
328
|
-
}
|
|
329
|
-
catch {
|
|
330
|
-
yield {
|
|
331
|
-
type: "error",
|
|
332
|
-
content: `Vertex: malformed tool_use arguments for ${state.toolName ?? "unknown"}`,
|
|
333
|
-
model,
|
|
334
|
-
provider: "vertex",
|
|
335
|
-
};
|
|
336
|
-
continue;
|
|
337
|
-
}
|
|
338
|
-
yield {
|
|
339
|
-
type: "tool_use",
|
|
340
|
-
content: state.partialJson,
|
|
341
|
-
toolName: state.toolName,
|
|
342
|
-
toolCallId: state.toolId,
|
|
343
|
-
toolInput: parsedInput,
|
|
344
|
-
model,
|
|
345
|
-
provider: "vertex",
|
|
346
|
-
stopReason: "tool_calls",
|
|
347
|
-
};
|
|
348
|
-
}
|
|
349
|
-
continue;
|
|
350
|
-
}
|
|
351
|
-
if (json.type === "message_delta") {
|
|
352
|
-
if (json.delta?.stop_reason)
|
|
353
|
-
capturedStopReason = json.delta.stop_reason;
|
|
354
|
-
continue;
|
|
355
|
-
}
|
|
356
|
-
if (json.type === "message_stop") {
|
|
357
|
-
// Terminal marker — loop will exit on stream close. Done chunk
|
|
358
|
-
// is emitted outside the reader loop so it fires exactly once.
|
|
359
|
-
continue;
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
catch {
|
|
363
|
-
/* ignore malformed events */
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
finally {
|
|
369
|
-
reader.releaseLock();
|
|
370
|
-
}
|
|
371
|
-
yield {
|
|
372
|
-
type: "done",
|
|
373
|
-
content: "",
|
|
374
|
-
model,
|
|
375
|
-
provider: "vertex",
|
|
376
|
-
stopReason: mapStop(capturedStopReason),
|
|
377
|
-
};
|
|
378
|
-
}
|
|
379
|
-
return {
|
|
380
|
-
id: "vertex",
|
|
381
|
-
name: "vertex",
|
|
382
|
-
transport: "chat_completions",
|
|
383
|
-
capabilities,
|
|
384
|
-
query: (opts) => queryImpl(opts),
|
|
385
|
-
// listModels returns exactly what discovery gave us. The Vertex
|
|
386
|
-
// model catalog is enumerable via publishers.models.list in the
|
|
387
|
-
// google-aiplatform API — callers who need the full list should
|
|
388
|
-
// query that endpoint. The adapter does not invent model names.
|
|
389
|
-
listModels: async () => auth.models ?? [],
|
|
390
|
-
isAvailable: async () => loadServiceAccount() !== null,
|
|
391
|
-
};
|
|
392
|
-
}
|
|
393
|
-
//# sourceMappingURL=vertex-oauth.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vertex-oauth.js","sourceRoot":"","sources":["../../src/providers/vertex-oauth.ts"],"names":[],"mappings":"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"}
|