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
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
import { PerceptionEngine } from "./perception-engine.js";
|
|
6
6
|
import { PerceptionAdapter, } from "./perception-adapter.js";
|
|
7
7
|
import { routePerception } from "../runtime-hooks/dead-code-hooks.js";
|
|
8
|
+
import { safeExecute } from "./safe-execute.js";
|
|
9
|
+
import { startRecording, } from "./action-replay.js";
|
|
10
|
+
import { compactActionHistory, } from "./action-history-compactor.js";
|
|
11
|
+
import { humanizeMousePath, humanizeScroll, humanizeTyping, } from "../browser/humanize-input.js";
|
|
8
12
|
import { CamoufoxBrowser, isAvailable as isCamoufoxAvailable, } from "../browser/camoufox-backend.js";
|
|
9
13
|
// ── API Route Table (40+ fast-path routes) ──────────────────
|
|
10
14
|
const DEFAULT_API_ROUTES = [
|
|
@@ -82,11 +86,22 @@ const DEFAULT_GUARDRAILS = {
|
|
|
82
86
|
redactPasswords: true,
|
|
83
87
|
};
|
|
84
88
|
// ── Computer Use Agent ──────────────────────────────────────
|
|
89
|
+
/**
|
|
90
|
+
* Cursor coordinate after the previous humanized action. Used as the
|
|
91
|
+
* starting point for the next humanized mouse path so successive clicks
|
|
92
|
+
* draw realistic continuous trajectories rather than teleporting from
|
|
93
|
+
* (0, 0) every time. Lives at module scope so callers can override the
|
|
94
|
+
* default by constructing the agent with `humanizeOptions.startCursor`.
|
|
95
|
+
*/
|
|
96
|
+
const DEFAULT_HUMANIZE_START = Object.freeze({ x: 0, y: 0 });
|
|
85
97
|
export class ComputerUseAgent {
|
|
86
98
|
perception;
|
|
87
99
|
perceptionAdapter;
|
|
88
100
|
apiRoutes;
|
|
89
101
|
guardrails;
|
|
102
|
+
disableHumanize;
|
|
103
|
+
humanizeOptions;
|
|
104
|
+
lastCursor;
|
|
90
105
|
actionCount = 0;
|
|
91
106
|
lastMinuteReset = Date.now();
|
|
92
107
|
constructor(options) {
|
|
@@ -94,6 +109,17 @@ export class ComputerUseAgent {
|
|
|
94
109
|
this.perceptionAdapter = options?.perceptionAdapter ?? new PerceptionAdapter();
|
|
95
110
|
this.apiRoutes = options?.apiRoutes ?? DEFAULT_API_ROUTES;
|
|
96
111
|
this.guardrails = { ...DEFAULT_GUARDRAILS, ...options?.guardrails };
|
|
112
|
+
this.disableHumanize = options?.disableHumanize === true;
|
|
113
|
+
this.humanizeOptions = options?.humanizeOptions ?? {};
|
|
114
|
+
this.lastCursor = this.humanizeOptions.startCursor ?? DEFAULT_HUMANIZE_START;
|
|
115
|
+
}
|
|
116
|
+
/** Public read of humanization state — useful for tests + UI. */
|
|
117
|
+
isHumanizationEnabled() {
|
|
118
|
+
return !this.disableHumanize;
|
|
119
|
+
}
|
|
120
|
+
/** Public read of the agent's last-known cursor coordinate. */
|
|
121
|
+
getLastCursor() {
|
|
122
|
+
return this.lastCursor;
|
|
97
123
|
}
|
|
98
124
|
/**
|
|
99
125
|
* Find an API route for a task (Layer 1 — fastest path).
|
|
@@ -161,24 +187,40 @@ export class ComputerUseAgent {
|
|
|
161
187
|
}
|
|
162
188
|
/**
|
|
163
189
|
* Generate text-mediated CU prompt for any text model.
|
|
190
|
+
*
|
|
191
|
+
* The optional `history` argument is the compacted action history
|
|
192
|
+
* produced by `getCompactedHistory(session)`. When provided, it is
|
|
193
|
+
* injected as a separate "Action history so far" section so the
|
|
194
|
+
* model can plan its next step with full context of what's already
|
|
195
|
+
* been tried, without paying the token cost of the verbatim trail.
|
|
196
|
+
* Older steps come in as a structured summary; the last N stay
|
|
197
|
+
* verbatim. See `action-history-compactor.ts` for the contract.
|
|
164
198
|
*/
|
|
165
|
-
generateTextMediatedPrompt(task, screenText) {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
199
|
+
generateTextMediatedPrompt(task, screenText, history) {
|
|
200
|
+
const lines = [`You control a computer. Task: ${task}`, ""];
|
|
201
|
+
if (history && (history.summary.length > 0 || history.verbatim.length > 0)) {
|
|
202
|
+
lines.push(`Action history so far (${history.compressedSteps} summarized + ${history.verbatim.length} verbatim of ${history.totalSteps} total):`);
|
|
203
|
+
if (history.summary.length > 0) {
|
|
204
|
+
lines.push(history.summary);
|
|
205
|
+
}
|
|
206
|
+
if (history.verbatim.length > 0) {
|
|
207
|
+
lines.push("Recent steps (verbatim):");
|
|
208
|
+
for (const entry of history.verbatim) {
|
|
209
|
+
lines.push(` • ${entry.action.type}${entry.action.target ? ` ${entry.action.target}` : ""} -> ${entry.outcome}`);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
lines.push("");
|
|
213
|
+
}
|
|
214
|
+
lines.push(`Current screen state:`, screenText, "", `Available actions:`);
|
|
215
|
+
lines.push(` click(N) — click element by index number`);
|
|
216
|
+
lines.push(` type("text") — type text into focused element`);
|
|
217
|
+
lines.push(` scroll("up"|"down"|"left"|"right") — scroll`);
|
|
218
|
+
lines.push(` key("combo") — press key combination (e.g., "cmd+c", "enter")`);
|
|
219
|
+
lines.push(` open("app") — open an application`);
|
|
220
|
+
lines.push(` wait(ms) — wait milliseconds`);
|
|
221
|
+
lines.push("");
|
|
222
|
+
lines.push(`Respond with ONE action as JSON: {"type": "click", "elementIndex": 3}`);
|
|
223
|
+
return lines.join("\n");
|
|
182
224
|
}
|
|
183
225
|
/**
|
|
184
226
|
* Parse a CU action from model response.
|
|
@@ -330,7 +372,21 @@ export class ComputerUseAgent {
|
|
|
330
372
|
* wire-up that makes Desktop Control work on every provider tier
|
|
331
373
|
* instead of being pinned to the `toText()` fallback.
|
|
332
374
|
*/
|
|
333
|
-
async dispatch(task, capabilities = {}
|
|
375
|
+
async dispatch(task, capabilities = {},
|
|
376
|
+
/**
|
|
377
|
+
* Optional session whose action history will be compacted and
|
|
378
|
+
* folded into the per-step prompt. When provided, callers that
|
|
379
|
+
* thread a session through the step loop (e.g. `executeWithGuardrails`
|
|
380
|
+
* returning an updated `session` after each action) automatically
|
|
381
|
+
* get UI-TARS-style context compression — old actions get summarized,
|
|
382
|
+
* the last 5 stay verbatim. Without this argument the prompt has
|
|
383
|
+
* no history section (matches the legacy single-shot behaviour).
|
|
384
|
+
*
|
|
385
|
+
* The `historyOptions` argument controls the verbatim tail size
|
|
386
|
+
* and summary format. Defaults to {keepRecent: 5, format: "compact"}
|
|
387
|
+
* to optimize for token economy on the per-step path.
|
|
388
|
+
*/
|
|
389
|
+
session, historyOptions) {
|
|
334
390
|
const rateCheck = this.checkRateLimit();
|
|
335
391
|
if (!rateCheck.allowed) {
|
|
336
392
|
return {
|
|
@@ -339,6 +395,7 @@ export class ComputerUseAgent {
|
|
|
339
395
|
apiRoute: null,
|
|
340
396
|
prompt: null,
|
|
341
397
|
rateLimited: true,
|
|
398
|
+
history: null,
|
|
342
399
|
};
|
|
343
400
|
}
|
|
344
401
|
// Layer 1: API fast-path
|
|
@@ -351,6 +408,7 @@ export class ComputerUseAgent {
|
|
|
351
408
|
apiRoute,
|
|
352
409
|
prompt: null,
|
|
353
410
|
rateLimited: false,
|
|
411
|
+
history: null,
|
|
354
412
|
};
|
|
355
413
|
}
|
|
356
414
|
// Layers 2-4: perceive → routePerception (PerceptionAdapter) →
|
|
@@ -359,7 +417,15 @@ export class ComputerUseAgent {
|
|
|
359
417
|
const perception = await this.perception.perceive();
|
|
360
418
|
const adapted = this.adaptPerceptionForModel(perception, capabilities.modelId ?? "", capabilities, capabilities.contextWindow);
|
|
361
419
|
const screenText = this.redactSensitive(adapted.textDescription ?? this.perception.toText(perception));
|
|
362
|
-
|
|
420
|
+
// Wire getCompactedHistory into the per-step prompt build path so
|
|
421
|
+
// trajectories stay within the model's context budget. When the
|
|
422
|
+
// caller threads a session in, every prompt gets the action history
|
|
423
|
+
// automatically compacted; without a session, behaviour matches the
|
|
424
|
+
// legacy single-shot path.
|
|
425
|
+
const history = session
|
|
426
|
+
? this.getCompactedHistory(session, historyOptions ?? { verbatimTailCount: 5, summaryFormat: "compact" })
|
|
427
|
+
: null;
|
|
428
|
+
const prompt = this.generateTextMediatedPrompt(task, screenText, history ?? undefined);
|
|
363
429
|
this.recordAction();
|
|
364
430
|
return {
|
|
365
431
|
mode: "text-mediated",
|
|
@@ -367,6 +433,7 @@ export class ComputerUseAgent {
|
|
|
367
433
|
apiRoute: null,
|
|
368
434
|
prompt,
|
|
369
435
|
rateLimited: false,
|
|
436
|
+
history,
|
|
370
437
|
};
|
|
371
438
|
}
|
|
372
439
|
// Reference routePerception so bundlers/linters can see the import
|
|
@@ -374,5 +441,477 @@ export class ComputerUseAgent {
|
|
|
374
441
|
// what calls it — this reference keeps the import from being
|
|
375
442
|
// erroneously flagged as unused during tree-shaking analysis).
|
|
376
443
|
static _routePerceptionRef = routePerception;
|
|
444
|
+
/**
|
|
445
|
+
* Produce a compacted view of a ReplaySession so long computer-use
|
|
446
|
+
* trajectories stay within the model's context budget.
|
|
447
|
+
*
|
|
448
|
+
* Ports the UI-TARS / GenericAgent pattern: the last N entries
|
|
449
|
+
* (default 5) stay verbatim with their AtomicAction shape; older
|
|
450
|
+
* entries are reduced to a structured line each (xml | markdown |
|
|
451
|
+
* compact). The total step count, compressed count, and verbatim
|
|
452
|
+
* tail size are returned so the caller can decide how to render.
|
|
453
|
+
*
|
|
454
|
+
* Pure — no I/O, no clock reads beyond what action-history-compactor
|
|
455
|
+
* itself does (which is none). Same session in → same output.
|
|
456
|
+
*/
|
|
457
|
+
getCompactedHistory(session, options) {
|
|
458
|
+
const entries = session.steps.map((step) => ComputerUseAgent._recordedStepToRawEntry(step));
|
|
459
|
+
return compactActionHistory(entries, options);
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* Map a ReplaySession.RecordedStep onto the action-history-compactor's
|
|
463
|
+
* RawActionEntry shape. Pulled out as a static helper so tests can
|
|
464
|
+
* exercise the adapter without a full agent instance.
|
|
465
|
+
*
|
|
466
|
+
* The mapping is best-effort — AtomicAction is a discriminated union
|
|
467
|
+
* and not every variant has a meaningful "target" string. We extract
|
|
468
|
+
* what we can per type:
|
|
469
|
+
* - click/double_click/right_click → coords from `at`
|
|
470
|
+
* - type → text payload
|
|
471
|
+
* - key → keys joined as the textual descriptor
|
|
472
|
+
* - scroll → coords + direction note
|
|
473
|
+
* - drag → coords from path[0]
|
|
474
|
+
* - mouse_move → coords from `to`
|
|
475
|
+
* - take_screenshot → region as note when present
|
|
476
|
+
* - wait → ms as note
|
|
477
|
+
* - cursor_position / screen_size / screenshot / zoom → no extras
|
|
478
|
+
*
|
|
479
|
+
* outcome is mapped from the recorded outcome label:
|
|
480
|
+
* - "ok" prefix → "success"
|
|
481
|
+
* - "error" prefix → "failure"
|
|
482
|
+
* - "skipped" → "skipped"
|
|
483
|
+
* - everything else → "success" (conservative)
|
|
484
|
+
*/
|
|
485
|
+
static _recordedStepToRawEntry(step) {
|
|
486
|
+
const action = step.action;
|
|
487
|
+
const target = action.type;
|
|
488
|
+
let coords;
|
|
489
|
+
let text;
|
|
490
|
+
let outcome;
|
|
491
|
+
switch (action.type) {
|
|
492
|
+
case "click":
|
|
493
|
+
case "double_click":
|
|
494
|
+
case "right_click":
|
|
495
|
+
case "scroll":
|
|
496
|
+
coords = action.at;
|
|
497
|
+
break;
|
|
498
|
+
case "type":
|
|
499
|
+
text = action.text;
|
|
500
|
+
break;
|
|
501
|
+
case "key":
|
|
502
|
+
text = action.keys.join("+");
|
|
503
|
+
break;
|
|
504
|
+
case "drag":
|
|
505
|
+
coords = action.path[0];
|
|
506
|
+
break;
|
|
507
|
+
case "mouse_move":
|
|
508
|
+
coords = action.to;
|
|
509
|
+
break;
|
|
510
|
+
default:
|
|
511
|
+
// No additional payload for screenshot, take_screenshot, wait,
|
|
512
|
+
// cursor_position, screen_size, zoom — the type alone is the
|
|
513
|
+
// signal.
|
|
514
|
+
break;
|
|
515
|
+
}
|
|
516
|
+
if (step.outcome.startsWith("ok"))
|
|
517
|
+
outcome = "success";
|
|
518
|
+
else if (step.outcome.startsWith("error"))
|
|
519
|
+
outcome = "failure";
|
|
520
|
+
else if (step.outcome === "skipped" || step.outcome.startsWith("skipped:"))
|
|
521
|
+
outcome = "skipped";
|
|
522
|
+
else
|
|
523
|
+
outcome = "success";
|
|
524
|
+
const entry = {
|
|
525
|
+
timestamp: step.timestamp,
|
|
526
|
+
action: {
|
|
527
|
+
type: action.type,
|
|
528
|
+
...(target !== undefined ? { target } : {}),
|
|
529
|
+
...(coords !== undefined ? { coords } : {}),
|
|
530
|
+
...(text !== undefined ? { text } : {}),
|
|
531
|
+
},
|
|
532
|
+
outcome,
|
|
533
|
+
...(step.note !== undefined ? { notes: step.note } : {}),
|
|
534
|
+
};
|
|
535
|
+
return Object.freeze(entry);
|
|
536
|
+
}
|
|
537
|
+
/**
|
|
538
|
+
* Wrap an injected ActionExecutor so that click / scroll / type actions
|
|
539
|
+
* are preceded by humanized event streams sourced from
|
|
540
|
+
* `src/browser/humanize-input.ts`.
|
|
541
|
+
*
|
|
542
|
+
* - click / double_click / right_click → emit intermediate
|
|
543
|
+
* `mouse_move` actions along a cubic-Bézier path with ease-in-out
|
|
544
|
+
* timing, then dispatch the original click.
|
|
545
|
+
* - scroll → emit a sequence of `scroll` events with an
|
|
546
|
+
* accel-cruise-decel velocity profile (one event per humanized
|
|
547
|
+
* tick), then dispatch the final scroll as the closing event.
|
|
548
|
+
* - type → emit one `type` action per character with the humanized
|
|
549
|
+
* cadence (bigram-aware delays + occasional typo+backspace).
|
|
550
|
+
* - drag → humanize the path between consecutive points by
|
|
551
|
+
* interpolating intermediate mouse_move events.
|
|
552
|
+
*
|
|
553
|
+
* Outcomes from the intermediate events are tracked but only the
|
|
554
|
+
* FINAL action's outcome is surfaced — the intermediate moves are
|
|
555
|
+
* "transport" and any error there is recorded as a humanization
|
|
556
|
+
* failure note while still attempting the primary action. This keeps
|
|
557
|
+
* `safe-execute`'s "one action one record" contract intact at the
|
|
558
|
+
* guardrails layer (intermediate events fan out only AFTER the gate
|
|
559
|
+
* and coord-remap have approved the final action).
|
|
560
|
+
*
|
|
561
|
+
* The starting cursor is read from `this.lastCursor` and is updated
|
|
562
|
+
* to the final target after each humanized click, so multi-step
|
|
563
|
+
* trajectories chain realistically rather than teleporting back to
|
|
564
|
+
* (0,0) before each click.
|
|
565
|
+
*
|
|
566
|
+
* Honest about scope: if `disableHumanize === true`, this method
|
|
567
|
+
* returns the executor unchanged. Callers MUST go through this
|
|
568
|
+
* wrapper to get the humanize behaviour — direct calls to the raw
|
|
569
|
+
* executor bypass it.
|
|
570
|
+
*/
|
|
571
|
+
wrapExecutorWithHumanization(executor) {
|
|
572
|
+
if (this.disableHumanize)
|
|
573
|
+
return executor;
|
|
574
|
+
const mouseSeed = this.humanizeOptions.mouseSeed ?? 0xc0ffee;
|
|
575
|
+
const typingSeed = this.humanizeOptions.typingSeed ?? 0xfeedface;
|
|
576
|
+
const scrollSeed = this.humanizeOptions.scrollSeed ?? 0xdecaf;
|
|
577
|
+
const maxIntermediate = Math.max(0, this.humanizeOptions.maxIntermediateMoves ?? 80);
|
|
578
|
+
return {
|
|
579
|
+
execute: async (action) => {
|
|
580
|
+
switch (action.type) {
|
|
581
|
+
case "click":
|
|
582
|
+
case "double_click":
|
|
583
|
+
case "right_click": {
|
|
584
|
+
const from = {
|
|
585
|
+
x: this.lastCursor.x,
|
|
586
|
+
y: this.lastCursor.y,
|
|
587
|
+
t: 0,
|
|
588
|
+
};
|
|
589
|
+
const to = { x: action.at.x, y: action.at.y, t: 0 };
|
|
590
|
+
const path = humanizeMousePath(from, to, { seed: mouseSeed });
|
|
591
|
+
// Emit intermediate moves (skip the first/last anchors so the
|
|
592
|
+
// final click carries the click semantics; we just want the
|
|
593
|
+
// cursor to visibly travel through realistic geometry).
|
|
594
|
+
const interior = path.slice(1, -1).slice(0, maxIntermediate);
|
|
595
|
+
for (const p of interior) {
|
|
596
|
+
try {
|
|
597
|
+
await executor.execute({
|
|
598
|
+
type: "mouse_move",
|
|
599
|
+
to: { x: Math.round(p.x), y: Math.round(p.y) },
|
|
600
|
+
});
|
|
601
|
+
}
|
|
602
|
+
catch {
|
|
603
|
+
/* swallow per-step humanize transport errors */
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
this.lastCursor = { x: action.at.x, y: action.at.y };
|
|
607
|
+
return executor.execute(action);
|
|
608
|
+
}
|
|
609
|
+
case "mouse_move": {
|
|
610
|
+
const from = {
|
|
611
|
+
x: this.lastCursor.x,
|
|
612
|
+
y: this.lastCursor.y,
|
|
613
|
+
t: 0,
|
|
614
|
+
};
|
|
615
|
+
const to = { x: action.to.x, y: action.to.y, t: 0 };
|
|
616
|
+
const path = humanizeMousePath(from, to, { seed: mouseSeed });
|
|
617
|
+
const interior = path.slice(1, -1).slice(0, maxIntermediate);
|
|
618
|
+
for (const p of interior) {
|
|
619
|
+
try {
|
|
620
|
+
await executor.execute({
|
|
621
|
+
type: "mouse_move",
|
|
622
|
+
to: { x: Math.round(p.x), y: Math.round(p.y) },
|
|
623
|
+
});
|
|
624
|
+
}
|
|
625
|
+
catch {
|
|
626
|
+
/* swallow per-step humanize transport errors */
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
this.lastCursor = { x: action.to.x, y: action.to.y };
|
|
630
|
+
return executor.execute(action);
|
|
631
|
+
}
|
|
632
|
+
case "drag": {
|
|
633
|
+
// Humanize segment-by-segment between consecutive path points.
|
|
634
|
+
const path = action.path;
|
|
635
|
+
for (let i = 0; i + 1 < path.length; i++) {
|
|
636
|
+
const a = path[i];
|
|
637
|
+
const b = path[i + 1];
|
|
638
|
+
if (!a || !b)
|
|
639
|
+
continue;
|
|
640
|
+
const segment = humanizeMousePath({ x: a.x, y: a.y, t: 0 }, { x: b.x, y: b.y, t: 0 }, { seed: mouseSeed + i });
|
|
641
|
+
const interior = segment.slice(1, -1).slice(0, maxIntermediate);
|
|
642
|
+
for (const p of interior) {
|
|
643
|
+
try {
|
|
644
|
+
await executor.execute({
|
|
645
|
+
type: "mouse_move",
|
|
646
|
+
to: { x: Math.round(p.x), y: Math.round(p.y) },
|
|
647
|
+
});
|
|
648
|
+
}
|
|
649
|
+
catch {
|
|
650
|
+
/* swallow */
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
const lastPoint = path[path.length - 1];
|
|
655
|
+
if (lastPoint) {
|
|
656
|
+
this.lastCursor = { x: lastPoint.x, y: lastPoint.y };
|
|
657
|
+
}
|
|
658
|
+
return executor.execute(action);
|
|
659
|
+
}
|
|
660
|
+
case "type": {
|
|
661
|
+
const events = humanizeTyping({
|
|
662
|
+
text: action.text,
|
|
663
|
+
seed: typingSeed,
|
|
664
|
+
});
|
|
665
|
+
// Issue per-character `type` actions following the humanized
|
|
666
|
+
// cadence. We skip dispatching the original lump-sum `type`
|
|
667
|
+
// because the per-character events already cover its text.
|
|
668
|
+
// Backspace events are emitted as `key` actions.
|
|
669
|
+
let lastT = 0;
|
|
670
|
+
let aggregateOutcome = "ok";
|
|
671
|
+
for (const ev of events) {
|
|
672
|
+
const delay = Math.max(0, ev.t - lastT);
|
|
673
|
+
if (delay > 0) {
|
|
674
|
+
// We don't actually sleep — humanization timing belongs
|
|
675
|
+
// to the driver/CDP layer. We surface the cadence via the
|
|
676
|
+
// event ordering and let the executor decide whether to
|
|
677
|
+
// honour the delay. Most platform-bindings already
|
|
678
|
+
// schedule via setTimeout under the hood.
|
|
679
|
+
lastT = ev.t;
|
|
680
|
+
}
|
|
681
|
+
try {
|
|
682
|
+
if (ev.type === "press") {
|
|
683
|
+
const r = await executor.execute({
|
|
684
|
+
type: "type",
|
|
685
|
+
text: ev.key,
|
|
686
|
+
});
|
|
687
|
+
if (r.error)
|
|
688
|
+
aggregateOutcome = `error: ${r.error}`;
|
|
689
|
+
}
|
|
690
|
+
else {
|
|
691
|
+
const r = await executor.execute({
|
|
692
|
+
type: "key",
|
|
693
|
+
keys: [ev.key],
|
|
694
|
+
});
|
|
695
|
+
if (r.error)
|
|
696
|
+
aggregateOutcome = `error: ${r.error}`;
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
catch {
|
|
700
|
+
/* swallow per-char humanize transport errors */
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
// Surface a single composite outcome so safe-execute records
|
|
704
|
+
// ONE step (the original `type`), not N micro-events. This
|
|
705
|
+
// keeps the replay history readable.
|
|
706
|
+
return { outcome: aggregateOutcome };
|
|
707
|
+
}
|
|
708
|
+
case "scroll": {
|
|
709
|
+
// Humanize the scroll trajectory along the Y axis (the main
|
|
710
|
+
// axis the model controls). We emit per-tick scroll actions
|
|
711
|
+
// following the accel-cruise-decel velocity profile.
|
|
712
|
+
const total = action.amount;
|
|
713
|
+
// Map the direction to a signed scalar so humanizeScroll can
|
|
714
|
+
// produce a monotonic profile. For horizontal scroll the
|
|
715
|
+
// same profile applies — we just dispatch with the original
|
|
716
|
+
// direction at each tick.
|
|
717
|
+
const fromY = 0;
|
|
718
|
+
const toY = action.direction === "up" || action.direction === "left" ? -total : total;
|
|
719
|
+
const events = humanizeScroll({ fromY, toY, seed: scrollSeed });
|
|
720
|
+
// Dispatch each profile tick as a small scroll. The cumulative
|
|
721
|
+
// tick deltas reproduce the total amount.
|
|
722
|
+
let prevY = events.length > 0 ? events[0].y : 0;
|
|
723
|
+
let aggregateOutcome = "ok";
|
|
724
|
+
for (let i = 1; i < events.length; i++) {
|
|
725
|
+
const ev = events[i];
|
|
726
|
+
if (!ev)
|
|
727
|
+
continue;
|
|
728
|
+
const delta = Math.round(Math.abs(ev.y - prevY));
|
|
729
|
+
if (delta <= 0) {
|
|
730
|
+
prevY = ev.y;
|
|
731
|
+
continue;
|
|
732
|
+
}
|
|
733
|
+
prevY = ev.y;
|
|
734
|
+
try {
|
|
735
|
+
const r = await executor.execute({
|
|
736
|
+
type: "scroll",
|
|
737
|
+
at: action.at,
|
|
738
|
+
direction: action.direction,
|
|
739
|
+
amount: delta,
|
|
740
|
+
...(action.modifiers !== undefined ? { modifiers: action.modifiers } : {}),
|
|
741
|
+
});
|
|
742
|
+
if (r.error)
|
|
743
|
+
aggregateOutcome = `error: ${r.error}`;
|
|
744
|
+
}
|
|
745
|
+
catch {
|
|
746
|
+
/* swallow */
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
this.lastCursor = { x: action.at.x, y: action.at.y };
|
|
750
|
+
return { outcome: aggregateOutcome };
|
|
751
|
+
}
|
|
752
|
+
default:
|
|
753
|
+
return executor.execute(action);
|
|
754
|
+
}
|
|
755
|
+
},
|
|
756
|
+
};
|
|
757
|
+
}
|
|
758
|
+
/**
|
|
759
|
+
* Execute a model-emitted action through the full safety pipeline:
|
|
760
|
+
* validateAction → inferSensitivity → gateAction → coord-remap →
|
|
761
|
+
* executor.execute → appendStep into ReplaySession.
|
|
762
|
+
*
|
|
763
|
+
* Replaces the raw action-execution path with the guarded composer so
|
|
764
|
+
* every CU action emitted by an agent gets:
|
|
765
|
+
* - schema validation (rejects malformed actions before dispatch)
|
|
766
|
+
* - confidence-gate decision (execute / ask-user / abort)
|
|
767
|
+
* - coordinate remap when model sees a downscaled screenshot
|
|
768
|
+
* - replay session record (auditable trail of every step)
|
|
769
|
+
* - INPUT HUMANIZATION via `src/browser/humanize-input.ts` when
|
|
770
|
+
* the agent was constructed with `disableHumanize !== true`.
|
|
771
|
+
* Humanization runs AFTER the gate + coord-remap so only approved
|
|
772
|
+
* actions get the realistic event streams. See
|
|
773
|
+
* `wrapExecutorWithHumanization` for the per-action behaviour.
|
|
774
|
+
*
|
|
775
|
+
* The `request.session` field defaults to a fresh recording when
|
|
776
|
+
* omitted, so callers that don't yet thread sessions still get the
|
|
777
|
+
* other guardrails. Returns the SafeExecuteOutcome verbatim — callers
|
|
778
|
+
* decide how to surface skipped/rejected results to their UI.
|
|
779
|
+
*/
|
|
780
|
+
async executeWithGuardrails(request) {
|
|
781
|
+
const session = request.session ?? startRecording(`cu-${Date.now()}`);
|
|
782
|
+
const executor = this.wrapExecutorWithHumanization(request.executor);
|
|
783
|
+
return safeExecute({ ...request, executor, session });
|
|
784
|
+
}
|
|
785
|
+
// ── V9 T14.1 — ROI zoom recovery wire-up ───────────────────────────
|
|
786
|
+
//
|
|
787
|
+
// Recovery flow that calls into the previously-museum perception
|
|
788
|
+
// helpers (`perceiveWithZoom` + `buildZoomAction`). When an action
|
|
789
|
+
// emitted by the model fails — either by aborting at the confidence
|
|
790
|
+
// gate, or by executing with a /error|failed|miss/ outcome — we treat
|
|
791
|
+
// the failed click coordinate as the centre of a small region of
|
|
792
|
+
// interest, re-perceive with that zoom region, and return both the
|
|
793
|
+
// fresh perception and a `{type:"zoom"}` CUAction the caller can fan
|
|
794
|
+
// out to the model for a second-shot decision.
|
|
795
|
+
//
|
|
796
|
+
// Per QB#11 (sibling-site) this method composes existing helpers
|
|
797
|
+
// rather than reimplementing zoom logic; per QB#19 (zombie-free) it
|
|
798
|
+
// is the runtime call-site that retires the museum status of
|
|
799
|
+
// `perceiveWithZoom`/`buildZoomAction`.
|
|
800
|
+
//
|
|
801
|
+
// The recovery is best-effort: returns null when the failed action
|
|
802
|
+
// carries no coordinate (e.g. `type`, `key`, `wait`). The caller
|
|
803
|
+
// should fall through to a higher-level recovery (re-plan, ask user)
|
|
804
|
+
// in that case.
|
|
805
|
+
/**
|
|
806
|
+
* Default zoom region size in pixels. 200x200 gives a magnified frame
|
|
807
|
+
* that's ~4x a default 32-px UI target while still containing useful
|
|
808
|
+
* surrounding context (labels, neighbouring buttons).
|
|
809
|
+
*/
|
|
810
|
+
static RECOVERY_ZOOM_SIZE_PX = 200;
|
|
811
|
+
/**
|
|
812
|
+
* Extract the coordinate from a failed AtomicAction, if any. Used to
|
|
813
|
+
* decide whether zoom recovery applies.
|
|
814
|
+
*/
|
|
815
|
+
static coordinateOf(action) {
|
|
816
|
+
switch (action.type) {
|
|
817
|
+
case "click":
|
|
818
|
+
case "double_click":
|
|
819
|
+
case "right_click":
|
|
820
|
+
case "scroll":
|
|
821
|
+
return action.at;
|
|
822
|
+
case "mouse_move":
|
|
823
|
+
return action.to;
|
|
824
|
+
case "drag": {
|
|
825
|
+
const first = action.path[0];
|
|
826
|
+
return first ?? null;
|
|
827
|
+
}
|
|
828
|
+
default:
|
|
829
|
+
return null;
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
/**
|
|
833
|
+
* Try to recover from a failed/low-confidence action by re-perceiving
|
|
834
|
+
* the screen inside a zoom region centred on the failed coordinate.
|
|
835
|
+
*
|
|
836
|
+
* Returns `null` when recovery isn't applicable (the failed action
|
|
837
|
+
* has no coordinate to zoom around).
|
|
838
|
+
*
|
|
839
|
+
* Otherwise returns:
|
|
840
|
+
* - `zoomedAction` — a `{type:"zoom"}` CUAction the caller can
|
|
841
|
+
* forward to the model so it knows what
|
|
842
|
+
* region was magnified.
|
|
843
|
+
* - `zoomedPerception` — the perception engine's response from
|
|
844
|
+
* `perceiveWithZoom(region)`. Contains the
|
|
845
|
+
* fresh full-screen perception plus the
|
|
846
|
+
* requested region for downstream cropping.
|
|
847
|
+
*
|
|
848
|
+
* The `failedOutcome` parameter is accepted for symmetry with
|
|
849
|
+
* `dispatchWithRecovery` (callers may want to log it alongside the
|
|
850
|
+
* recovery attempt); it does not change the recovery shape.
|
|
851
|
+
*/
|
|
852
|
+
async recoverWithZoom(failedAction, failedOutcome) {
|
|
853
|
+
const coord = ComputerUseAgent.coordinateOf(failedAction);
|
|
854
|
+
if (coord === null)
|
|
855
|
+
return null;
|
|
856
|
+
const size = ComputerUseAgent.RECOVERY_ZOOM_SIZE_PX;
|
|
857
|
+
const region = {
|
|
858
|
+
x: Math.max(0, Math.round(coord.x - size / 2)),
|
|
859
|
+
y: Math.max(0, Math.round(coord.y - size / 2)),
|
|
860
|
+
width: size,
|
|
861
|
+
height: size,
|
|
862
|
+
};
|
|
863
|
+
const zoomedPerception = await this.perception.perceiveWithZoom(region);
|
|
864
|
+
const built = this.perception.buildZoomAction(region);
|
|
865
|
+
if (built.type !== "zoom") {
|
|
866
|
+
// Defensive: buildZoomAction(region) always returns a zoom action,
|
|
867
|
+
// but the union narrowing requires the explicit guard.
|
|
868
|
+
return null;
|
|
869
|
+
}
|
|
870
|
+
return {
|
|
871
|
+
zoomedAction: built,
|
|
872
|
+
zoomedPerception,
|
|
873
|
+
failedOutcome,
|
|
874
|
+
};
|
|
875
|
+
}
|
|
876
|
+
/**
|
|
877
|
+
* Higher-level dispatch helper that calls `executeWithGuardrails` and,
|
|
878
|
+
* on failure, attempts ROI zoom recovery.
|
|
879
|
+
*
|
|
880
|
+
* Recovery triggers when:
|
|
881
|
+
* 1. status === "skipped" — the gate aborted or the user declined;
|
|
882
|
+
* we treat both as a low-confidence signal worth re-trying with
|
|
883
|
+
* zoom context.
|
|
884
|
+
* 2. status === "executed" but the outcome string matches
|
|
885
|
+
* `/error|failed|miss/i` — the executor ran but reported
|
|
886
|
+
* failure-shaped feedback that suggests the wrong target was hit.
|
|
887
|
+
*
|
|
888
|
+
* Returns both the initial outcome and (when applicable) the recovery
|
|
889
|
+
* outcome. The recovery's perception/zoomedAction live on the
|
|
890
|
+
* `recovery` field.
|
|
891
|
+
*
|
|
892
|
+
* Honest stub: when recovery isn't applicable (no coordinate on the
|
|
893
|
+
* failed action) the returned object simply has no `recovery` field.
|
|
894
|
+
* Callers MUST handle the no-recovery case explicitly — there is no
|
|
895
|
+
* silent fallback to a fresh model round-trip from this method.
|
|
896
|
+
*/
|
|
897
|
+
async dispatchWithRecovery(request) {
|
|
898
|
+
const initial = await this.executeWithGuardrails(request);
|
|
899
|
+
const shouldRecover = initial.status === "skipped" ||
|
|
900
|
+
(initial.status === "executed" && /error|failed|miss/i.test(initial.outcome));
|
|
901
|
+
if (!shouldRecover) {
|
|
902
|
+
return { initial };
|
|
903
|
+
}
|
|
904
|
+
// Both "skipped" and "executed" outcomes carry an `action` we can
|
|
905
|
+
// recover from. "rejected" never reaches here (it has no action).
|
|
906
|
+
if (initial.status !== "executed" && initial.status !== "skipped") {
|
|
907
|
+
return { initial };
|
|
908
|
+
}
|
|
909
|
+
const reason = initial.status === "executed" ? initial.outcome : initial.reason;
|
|
910
|
+
const recovery = await this.recoverWithZoom(initial.action, reason);
|
|
911
|
+
if (recovery === null) {
|
|
912
|
+
return { initial };
|
|
913
|
+
}
|
|
914
|
+
return { initial, recovery };
|
|
915
|
+
}
|
|
377
916
|
}
|
|
378
917
|
//# sourceMappingURL=computer-agent.js.map
|