@kr78/pi-coding-agent 17.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14861 -0
- package/README.md +35 -0
- package/dist/CHANGELOG-chtdxh1z.md +14861 -0
- package/dist/cli.js +20483 -0
- package/dist/template-c2hyaytt.js +1653 -0
- package/dist/template-f8wx9vfn.css +1355 -0
- package/dist/template-qat058wr.html +55 -0
- package/dist/tool-views.generated-jdfmzwmn.js +35 -0
- package/examples/README.md +21 -0
- package/examples/custom-tools/README.md +104 -0
- package/examples/custom-tools/hello/index.ts +20 -0
- package/examples/extensions/README.md +142 -0
- package/examples/extensions/api-demo.ts +78 -0
- package/examples/extensions/chalk-logger.ts +25 -0
- package/examples/extensions/hello.ts +31 -0
- package/examples/extensions/pirate.ts +43 -0
- package/examples/extensions/plan-mode.ts +549 -0
- package/examples/extensions/reload-runtime.ts +38 -0
- package/examples/extensions/thinking-note.ts +13 -0
- package/examples/extensions/tools.ts +145 -0
- package/examples/extensions/with-deps/index.ts +36 -0
- package/examples/extensions/with-deps/package-lock.json +31 -0
- package/examples/extensions/with-deps/package.json +17 -0
- package/examples/hooks/README.md +56 -0
- package/examples/hooks/auto-commit-on-exit.ts +48 -0
- package/examples/hooks/confirm-destructive.ts +58 -0
- package/examples/hooks/custom-compaction.ts +115 -0
- package/examples/hooks/dirty-repo-guard.ts +51 -0
- package/examples/hooks/file-trigger.ts +40 -0
- package/examples/hooks/git-checkpoint.ts +52 -0
- package/examples/hooks/handoff.ts +149 -0
- package/examples/hooks/permission-gate.ts +33 -0
- package/examples/hooks/protected-paths.ts +29 -0
- package/examples/hooks/qna.ts +118 -0
- package/examples/hooks/status-line.ts +39 -0
- package/examples/sdk/01-minimal.ts +21 -0
- package/examples/sdk/02-custom-model.ts +49 -0
- package/examples/sdk/03-custom-prompt.ts +46 -0
- package/examples/sdk/04-skills.ts +43 -0
- package/examples/sdk/06-extensions.ts +82 -0
- package/examples/sdk/06-hooks.ts +61 -0
- package/examples/sdk/07-context-files.ts +35 -0
- package/examples/sdk/08-prompt-templates.ts +41 -0
- package/examples/sdk/08-slash-commands.ts +46 -0
- package/examples/sdk/09-api-keys-and-oauth.ts +54 -0
- package/examples/sdk/11-sessions.ts +47 -0
- package/examples/sdk/12-redis-sessions.ts +54 -0
- package/examples/sdk/13-sql-sessions.ts +61 -0
- package/examples/sdk/README.md +169 -0
- package/package.json +587 -0
- package/scripts/bench-guard.ts +71 -0
- package/scripts/bench-title-models.ts +332 -0
- package/scripts/build-binary.ts +117 -0
- package/scripts/bundle-dist.ts +123 -0
- package/scripts/compile-binary.ts +69 -0
- package/scripts/embed-mupdf-wasm.ts +67 -0
- package/scripts/format-prompts.ts +68 -0
- package/scripts/generate-aria-snapshot.ts +134 -0
- package/scripts/generate-docs-index.ts +58 -0
- package/scripts/generate-share-viewer.ts +34 -0
- package/scripts/legacy-pi-virtual-module.ts +205 -0
- package/scripts/measure-prompt-tokens.ts +63 -0
- package/scripts/omp +51 -0
- package/scripts/omp.ts +19 -0
- package/scripts/security-compare.ts +40 -0
- package/src/advisor/advise-tool.ts +234 -0
- package/src/advisor/config.ts +341 -0
- package/src/advisor/emission-guard.ts +172 -0
- package/src/advisor/index.ts +6 -0
- package/src/advisor/runtime.ts +1412 -0
- package/src/advisor/transcript-recorder.ts +215 -0
- package/src/advisor/watchdog.ts +135 -0
- package/src/async/index.ts +1 -0
- package/src/async/job-manager.ts +847 -0
- package/src/auto-thinking/classifier.ts +220 -0
- package/src/autolearn/controller.ts +152 -0
- package/src/autolearn/managed-skills.ts +255 -0
- package/src/autoresearch/command-resume.md +14 -0
- package/src/autoresearch/dashboard.ts +436 -0
- package/src/autoresearch/git.ts +331 -0
- package/src/autoresearch/helpers.ts +218 -0
- package/src/autoresearch/index.ts +541 -0
- package/src/autoresearch/prompt-setup.md +43 -0
- package/src/autoresearch/prompt.md +103 -0
- package/src/autoresearch/resume-message.md +10 -0
- package/src/autoresearch/state.ts +273 -0
- package/src/autoresearch/storage.ts +700 -0
- package/src/autoresearch/tools/init-experiment.ts +268 -0
- package/src/autoresearch/tools/log-experiment.ts +520 -0
- package/src/autoresearch/tools/run-experiment.ts +407 -0
- package/src/autoresearch/tools/update-notes.ts +109 -0
- package/src/autoresearch/types.ts +168 -0
- package/src/capability/context-file.ts +44 -0
- package/src/capability/extension-module.ts +34 -0
- package/src/capability/extension.ts +47 -0
- package/src/capability/fs.ts +117 -0
- package/src/capability/hook.ts +40 -0
- package/src/capability/index.ts +467 -0
- package/src/capability/instruction.ts +37 -0
- package/src/capability/mcp.ts +115 -0
- package/src/capability/prompt.ts +35 -0
- package/src/capability/rule-buckets.ts +66 -0
- package/src/capability/rule.ts +298 -0
- package/src/capability/settings.ts +34 -0
- package/src/capability/skill.ts +69 -0
- package/src/capability/slash-command.ts +40 -0
- package/src/capability/ssh.ts +41 -0
- package/src/capability/system-prompt.ts +34 -0
- package/src/capability/tool.ts +38 -0
- package/src/capability/types.ts +187 -0
- package/src/cleanse/agent.ts +226 -0
- package/src/cleanse/balance.ts +79 -0
- package/src/cleanse/checkers.ts +996 -0
- package/src/cleanse/index.ts +190 -0
- package/src/cleanse/loop.ts +51 -0
- package/src/cleanse/parsers.ts +726 -0
- package/src/cleanse/progress.ts +50 -0
- package/src/cleanse/prompts/assignment.md +47 -0
- package/src/cleanse/types.ts +72 -0
- package/src/cli/agents-cli.ts +138 -0
- package/src/cli/args.ts +368 -0
- package/src/cli/auth-broker-cli.ts +940 -0
- package/src/cli/auth-gateway-cli.ts +674 -0
- package/src/cli/bench-cli.ts +990 -0
- package/src/cli/browser-relay-cli.ts +119 -0
- package/src/cli/classify-install-target.ts +76 -0
- package/src/cli/claude-trace-cli.ts +795 -0
- package/src/cli/command-help.ts +107 -0
- package/src/cli/commands/init-xdg.ts +27 -0
- package/src/cli/completion-gen.ts +550 -0
- package/src/cli/config-cli.ts +459 -0
- package/src/cli/dry-balance-cli.ts +864 -0
- package/src/cli/extension-flags.ts +48 -0
- package/src/cli/file-processor.ts +132 -0
- package/src/cli/flag-tables.ts +367 -0
- package/src/cli/gallery-cli.ts +272 -0
- package/src/cli/gallery-fixtures/agentic.ts +420 -0
- package/src/cli/gallery-fixtures/codeintel.ts +187 -0
- package/src/cli/gallery-fixtures/edit.ts +254 -0
- package/src/cli/gallery-fixtures/fs.ts +245 -0
- package/src/cli/gallery-fixtures/index.ts +40 -0
- package/src/cli/gallery-fixtures/interaction.ts +46 -0
- package/src/cli/gallery-fixtures/memory.ts +81 -0
- package/src/cli/gallery-fixtures/misc.ts +177 -0
- package/src/cli/gallery-fixtures/search.ts +135 -0
- package/src/cli/gallery-fixtures/shell.ts +241 -0
- package/src/cli/gallery-fixtures/types.ts +57 -0
- package/src/cli/gallery-fixtures/web.ts +158 -0
- package/src/cli/gallery-screenshot.ts +279 -0
- package/src/cli/gc-cli.ts +1566 -0
- package/src/cli/grep-cli.ts +161 -0
- package/src/cli/grievances-cli.ts +256 -0
- package/src/cli/help-extra.ts +89 -0
- package/src/cli/initial-message.ts +58 -0
- package/src/cli/models-cli.ts +385 -0
- package/src/cli/plugin-cli.ts +996 -0
- package/src/cli/profile-alias.ts +369 -0
- package/src/cli/profile-bootstrap.ts +233 -0
- package/src/cli/read-cli.ts +99 -0
- package/src/cli/session-picker.ts +110 -0
- package/src/cli/setup-cli.ts +312 -0
- package/src/cli/setup-model-picker.ts +43 -0
- package/src/cli/shell-cli.ts +176 -0
- package/src/cli/ssh-cli.ts +179 -0
- package/src/cli/startup-cwd.ts +58 -0
- package/src/cli/stats-cli.ts +229 -0
- package/src/cli/thinking-levels.ts +7 -0
- package/src/cli/tiny-models-cli.ts +153 -0
- package/src/cli/ttsr-cli.ts +1013 -0
- package/src/cli/update-cli.ts +1184 -0
- package/src/cli/usage-cli.ts +1084 -0
- package/src/cli/usage-error.ts +7 -0
- package/src/cli/web-search-cli.ts +144 -0
- package/src/cli/worktree-cli.ts +311 -0
- package/src/cli-commands.ts +308 -0
- package/src/cli.ts +428 -0
- package/src/collab/crypto.ts +63 -0
- package/src/collab/display-name.ts +13 -0
- package/src/collab/guest.ts +764 -0
- package/src/collab/host.ts +692 -0
- package/src/collab/protocol.ts +296 -0
- package/src/collab/relay-client.ts +282 -0
- package/src/collab/replication-shrink.ts +111 -0
- package/src/commands/acp.ts +35 -0
- package/src/commands/agents.ts +58 -0
- package/src/commands/auth-broker.ts +100 -0
- package/src/commands/auth-gateway.ts +70 -0
- package/src/commands/bench.ts +64 -0
- package/src/commands/browser-relay.ts +53 -0
- package/src/commands/cleanse.ts +45 -0
- package/src/commands/commit.ts +47 -0
- package/src/commands/complete.ts +67 -0
- package/src/commands/completions.ts +61 -0
- package/src/commands/config.ts +52 -0
- package/src/commands/dry-balance.ts +43 -0
- package/src/commands/gallery.ts +61 -0
- package/src/commands/gc.ts +47 -0
- package/src/commands/grep.ts +49 -0
- package/src/commands/grievances.ts +52 -0
- package/src/commands/install.ts +107 -0
- package/src/commands/join.ts +40 -0
- package/src/commands/launch-help.ts +116 -0
- package/src/commands/launch.ts +34 -0
- package/src/commands/models.ts +61 -0
- package/src/commands/plugin.ts +79 -0
- package/src/commands/read.ts +39 -0
- package/src/commands/say.ts +146 -0
- package/src/commands/setup.ts +68 -0
- package/src/commands/share.ts +71 -0
- package/src/commands/shell.ts +30 -0
- package/src/commands/ssh.ts +61 -0
- package/src/commands/stats.ts +30 -0
- package/src/commands/tiny-models.ts +36 -0
- package/src/commands/token.ts +164 -0
- package/src/commands/ttsr.ts +125 -0
- package/src/commands/update.ts +34 -0
- package/src/commands/usage.ts +55 -0
- package/src/commands/web-search.ts +43 -0
- package/src/commands/worktree.ts +63 -0
- package/src/commit/agentic/agent.ts +322 -0
- package/src/commit/agentic/fallback.ts +96 -0
- package/src/commit/agentic/index.ts +383 -0
- package/src/commit/agentic/lock-files.ts +107 -0
- package/src/commit/agentic/prompts/analyze-file.md +22 -0
- package/src/commit/agentic/prompts/session-user.md +25 -0
- package/src/commit/agentic/prompts/split-confirm.md +1 -0
- package/src/commit/agentic/prompts/system.md +38 -0
- package/src/commit/agentic/state.ts +60 -0
- package/src/commit/agentic/tools/analyze-file.ts +148 -0
- package/src/commit/agentic/tools/git-file-diff.ts +191 -0
- package/src/commit/agentic/tools/git-hunk.ts +52 -0
- package/src/commit/agentic/tools/git-overview.ts +62 -0
- package/src/commit/agentic/tools/index.ts +54 -0
- package/src/commit/agentic/tools/propose-changelog.ts +147 -0
- package/src/commit/agentic/tools/propose-commit.ts +109 -0
- package/src/commit/agentic/tools/recent-commits.ts +81 -0
- package/src/commit/agentic/tools/schemas.ts +11 -0
- package/src/commit/agentic/tools/split-commit.ts +241 -0
- package/src/commit/agentic/topo-sort.ts +44 -0
- package/src/commit/agentic/trivial.ts +51 -0
- package/src/commit/agentic/validation.ts +183 -0
- package/src/commit/analysis/conventional.ts +64 -0
- package/src/commit/analysis/index.ts +4 -0
- package/src/commit/analysis/scope.ts +242 -0
- package/src/commit/analysis/summary.ts +107 -0
- package/src/commit/analysis/validation.ts +66 -0
- package/src/commit/changelog/detect.ts +40 -0
- package/src/commit/changelog/generate.ts +101 -0
- package/src/commit/changelog/index.ts +234 -0
- package/src/commit/changelog/parse.ts +44 -0
- package/src/commit/cli.ts +85 -0
- package/src/commit/git/diff.ts +148 -0
- package/src/commit/index.ts +5 -0
- package/src/commit/map-reduce/index.ts +69 -0
- package/src/commit/map-reduce/map-phase.ts +193 -0
- package/src/commit/map-reduce/reduce-phase.ts +49 -0
- package/src/commit/map-reduce/utils.ts +9 -0
- package/src/commit/message.ts +11 -0
- package/src/commit/model-selection.ts +95 -0
- package/src/commit/pipeline.ts +244 -0
- package/src/commit/prompts/analysis-system.md +148 -0
- package/src/commit/prompts/analysis-user.md +38 -0
- package/src/commit/prompts/changelog-system.md +50 -0
- package/src/commit/prompts/changelog-user.md +18 -0
- package/src/commit/prompts/file-observer-system.md +24 -0
- package/src/commit/prompts/file-observer-user.md +8 -0
- package/src/commit/prompts/reduce-system.md +50 -0
- package/src/commit/prompts/reduce-user.md +17 -0
- package/src/commit/prompts/summary-retry.md +3 -0
- package/src/commit/prompts/summary-system.md +38 -0
- package/src/commit/prompts/summary-user.md +13 -0
- package/src/commit/prompts/types-description.md +2 -0
- package/src/commit/shared-llm.ts +70 -0
- package/src/commit/types.ts +118 -0
- package/src/commit/utils/exclusions.ts +42 -0
- package/src/commit/utils.ts +58 -0
- package/src/config/api-key-resolver.ts +81 -0
- package/src/config/append-only-context-mode.ts +76 -0
- package/src/config/config-file.ts +347 -0
- package/src/config/inline-tool-descriptors-mode.ts +26 -0
- package/src/config/keybindings.ts +703 -0
- package/src/config/mcp-schema.json +252 -0
- package/src/config/model-discovery.ts +1077 -0
- package/src/config/model-registry.ts +2822 -0
- package/src/config/model-resolver.ts +2115 -0
- package/src/config/model-roles.ts +113 -0
- package/src/config/models-config-schema-bundle.ts +315 -0
- package/src/config/models-config-schema.ts +14 -0
- package/src/config/models-config.ts +130 -0
- package/src/config/prompt-templates.ts +205 -0
- package/src/config/provider-globals.ts +25 -0
- package/src/config/resolve-config-value.ts +95 -0
- package/src/config/service-tier.ts +146 -0
- package/src/config/settings-schema.ts +5887 -0
- package/src/config/settings.ts +2394 -0
- package/src/config.ts +242 -0
- package/src/cursor-bridge-tools.ts +81 -0
- package/src/cursor.ts +960 -0
- package/src/dap/client.ts +1043 -0
- package/src/dap/config.ts +480 -0
- package/src/dap/defaults.json +212 -0
- package/src/dap/index.ts +4 -0
- package/src/dap/session.ts +1841 -0
- package/src/dap/types.ts +611 -0
- package/src/debug/index.ts +584 -0
- package/src/debug/log-formatting.ts +58 -0
- package/src/debug/log-viewer.ts +966 -0
- package/src/debug/profiler.ts +168 -0
- package/src/debug/protocol-probe.ts +267 -0
- package/src/debug/raw-sse-buffer.ts +421 -0
- package/src/debug/raw-sse.ts +312 -0
- package/src/debug/remote-debugger.ts +151 -0
- package/src/debug/report-bundle.ts +411 -0
- package/src/debug/system-info.ts +111 -0
- package/src/debug/terminal-info.ts +124 -0
- package/src/discovery/agent-plugin-format.ts +551 -0
- package/src/discovery/agent-plugins.ts +341 -0
- package/src/discovery/agents-md.ts +67 -0
- package/src/discovery/agents.ts +300 -0
- package/src/discovery/at-imports.ts +273 -0
- package/src/discovery/builtin-defaults.ts +39 -0
- package/src/discovery/builtin-rules/go-add-cleanup.md +33 -0
- package/src/discovery/builtin-rules/go-bench-loop.md +36 -0
- package/src/discovery/builtin-rules/go-exp-promoted.md +40 -0
- package/src/discovery/builtin-rules/go-ioutil.md +37 -0
- package/src/discovery/builtin-rules/go-join-hostport.md +30 -0
- package/src/discovery/builtin-rules/go-new-expr.md +44 -0
- package/src/discovery/builtin-rules/go-rand-v2.md +41 -0
- package/src/discovery/builtin-rules/go-range-int.md +45 -0
- package/src/discovery/builtin-rules/index.ts +74 -0
- package/src/discovery/builtin-rules/rs-box-leak.md +49 -0
- package/src/discovery/builtin-rules/rs-future-prelude.md +24 -0
- package/src/discovery/builtin-rules/rs-lazylock.md +52 -0
- package/src/discovery/builtin-rules/rs-match-ergonomics.md +68 -0
- package/src/discovery/builtin-rules/rs-parking-lot.md +45 -0
- package/src/discovery/builtin-rules/rs-result-type.md +20 -0
- package/src/discovery/builtin-rules/ts-bare-catch.md +39 -0
- package/src/discovery/builtin-rules/ts-import-type.md +43 -0
- package/src/discovery/builtin-rules/ts-no-any.md +66 -0
- package/src/discovery/builtin-rules/ts-no-deprecated-leftovers.md +45 -0
- package/src/discovery/builtin-rules/ts-no-dynamic-import.md +40 -0
- package/src/discovery/builtin-rules/ts-no-inline-cast-access.md +56 -0
- package/src/discovery/builtin-rules/ts-no-local-is-record.md +48 -0
- package/src/discovery/builtin-rules/ts-no-return-type.md +45 -0
- package/src/discovery/builtin-rules/ts-no-test-timers.md +55 -0
- package/src/discovery/builtin-rules/ts-no-tiny-functions.md +51 -0
- package/src/discovery/builtin-rules/ts-promise-with-resolvers.md +66 -0
- package/src/discovery/builtin-rules/ts-redundant-clear-guard.md +75 -0
- package/src/discovery/builtin-rules/ts-set-map.md +28 -0
- package/src/discovery/builtin.ts +945 -0
- package/src/discovery/claude-plugins.ts +640 -0
- package/src/discovery/claude.ts +591 -0
- package/src/discovery/cline.ts +83 -0
- package/src/discovery/codex.ts +553 -0
- package/src/discovery/contained-path.ts +78 -0
- package/src/discovery/cursor.ts +223 -0
- package/src/discovery/gemini.ts +386 -0
- package/src/discovery/github.ts +337 -0
- package/src/discovery/helpers.ts +1183 -0
- package/src/discovery/index.ts +82 -0
- package/src/discovery/mcp-json.ts +182 -0
- package/src/discovery/omp-extension-roots.ts +272 -0
- package/src/discovery/omp-plugins.ts +409 -0
- package/src/discovery/opencode.ts +441 -0
- package/src/discovery/plugin-dir-roots.ts +28 -0
- package/src/discovery/ssh.ts +153 -0
- package/src/discovery/substitute-plugin-root.ts +77 -0
- package/src/discovery/vscode.ts +106 -0
- package/src/discovery/windsurf.ts +149 -0
- package/src/edit/apply-patch/index.ts +87 -0
- package/src/edit/apply-patch/parser.ts +174 -0
- package/src/edit/diff.ts +1008 -0
- package/src/edit/edit-clipboard.ts +23 -0
- package/src/edit/file-snapshot-store.ts +148 -0
- package/src/edit/hashline/block-resolver.ts +33 -0
- package/src/edit/hashline/diff.ts +402 -0
- package/src/edit/hashline/execute.ts +313 -0
- package/src/edit/hashline/filesystem.ts +247 -0
- package/src/edit/hashline/index.ts +5 -0
- package/src/edit/hashline/noop-loop-guard.ts +99 -0
- package/src/edit/hashline/params.ts +12 -0
- package/src/edit/index.ts +699 -0
- package/src/edit/modes/apply-patch.lark +19 -0
- package/src/edit/modes/apply-patch.ts +53 -0
- package/src/edit/modes/patch.ts +1958 -0
- package/src/edit/modes/replace.ts +1191 -0
- package/src/edit/normalize.ts +345 -0
- package/src/edit/notebook.ts +242 -0
- package/src/edit/read-file.ts +25 -0
- package/src/edit/renderer.ts +998 -0
- package/src/edit/snapshot-details.ts +77 -0
- package/src/edit/streaming.ts +710 -0
- package/src/eval/agent-bridge.ts +224 -0
- package/src/eval/backend-helpers.ts +48 -0
- package/src/eval/backend.ts +71 -0
- package/src/eval/bridge-timeout.ts +65 -0
- package/src/eval/budget-bridge.ts +48 -0
- package/src/eval/completion-bridge.ts +212 -0
- package/src/eval/concurrency-bridge.ts +34 -0
- package/src/eval/executor-base.ts +562 -0
- package/src/eval/idle-timeout.ts +91 -0
- package/src/eval/index.ts +6 -0
- package/src/eval/jl/executor.ts +551 -0
- package/src/eval/jl/index.ts +54 -0
- package/src/eval/jl/kernel.ts +236 -0
- package/src/eval/jl/prelude.jl +736 -0
- package/src/eval/jl/prelude.ts +3 -0
- package/src/eval/jl/runner.jl +666 -0
- package/src/eval/jl/runtime.ts +118 -0
- package/src/eval/js/context-manager.ts +872 -0
- package/src/eval/js/executor.ts +178 -0
- package/src/eval/js/index.ts +41 -0
- package/src/eval/js/process-entry.ts +31 -0
- package/src/eval/js/shared/helpers.ts +170 -0
- package/src/eval/js/shared/indirect-eval.ts +30 -0
- package/src/eval/js/shared/local-module-loader.ts +364 -0
- package/src/eval/js/shared/prelude.ts +2 -0
- package/src/eval/js/shared/prelude.txt +294 -0
- package/src/eval/js/shared/rewrite-imports.ts +550 -0
- package/src/eval/js/shared/runtime.ts +590 -0
- package/src/eval/js/shared/types.ts +18 -0
- package/src/eval/js/tool-bridge.ts +163 -0
- package/src/eval/js/worker-core.ts +380 -0
- package/src/eval/js/worker-entry.ts +37 -0
- package/src/eval/js/worker-protocol.ts +47 -0
- package/src/eval/kernel-base.ts +569 -0
- package/src/eval/py/display.ts +71 -0
- package/src/eval/py/executor.ts +643 -0
- package/src/eval/py/index.ts +57 -0
- package/src/eval/py/kernel.ts +235 -0
- package/src/eval/py/prelude.py +673 -0
- package/src/eval/py/prelude.ts +3 -0
- package/src/eval/py/runner.py +1425 -0
- package/src/eval/py/runtime.ts +276 -0
- package/src/eval/py/spawn-options.ts +134 -0
- package/src/eval/py/tool-bridge.ts +201 -0
- package/src/eval/rb/executor.ts +511 -0
- package/src/eval/rb/index.ts +54 -0
- package/src/eval/rb/kernel.ts +231 -0
- package/src/eval/rb/prelude.rb +551 -0
- package/src/eval/rb/prelude.ts +3 -0
- package/src/eval/rb/runner.rb +581 -0
- package/src/eval/rb/runtime.ts +132 -0
- package/src/eval/runtime-env.ts +104 -0
- package/src/eval/session-id.ts +8 -0
- package/src/eval/types.ts +48 -0
- package/src/exa/index.ts +2 -0
- package/src/exa/mcp-client.ts +370 -0
- package/src/exa/types.ts +69 -0
- package/src/exec/bash-executor.ts +627 -0
- package/src/exec/direnv.ts +145 -0
- package/src/exec/exec.ts +53 -0
- package/src/exec/non-interactive-env.ts +118 -0
- package/src/export/custom-share.ts +65 -0
- package/src/export/html/args.ts +20 -0
- package/src/export/html/index.ts +320 -0
- package/src/export/html/share-loader.js +102 -0
- package/src/export/html/template.css +1355 -0
- package/src/export/html/template.html +55 -0
- package/src/export/html/template.js +1653 -0
- package/src/export/html/tool-views.generated.js +35 -0
- package/src/export/html/vendor/highlight.min.js +1213 -0
- package/src/export/html/vendor/marked.min.js +6 -0
- package/src/export/html/web-palette.ts +126 -0
- package/src/export/share.ts +686 -0
- package/src/export/ttsr.ts +590 -0
- package/src/extensibility/custom-commands/bundled/ci-green/index.ts +54 -0
- package/src/extensibility/custom-commands/bundled/review/index.ts +698 -0
- package/src/extensibility/custom-commands/index.ts +2 -0
- package/src/extensibility/custom-commands/loader.ts +242 -0
- package/src/extensibility/custom-commands/types.ts +119 -0
- package/src/extensibility/custom-tools/index.ts +7 -0
- package/src/extensibility/custom-tools/loader.ts +301 -0
- package/src/extensibility/custom-tools/types.ts +287 -0
- package/src/extensibility/custom-tools/wrapper.ts +50 -0
- package/src/extensibility/extensions/compact-handler.ts +40 -0
- package/src/extensibility/extensions/get-commands-handler.ts +78 -0
- package/src/extensibility/extensions/index.ts +16 -0
- package/src/extensibility/extensions/load-errors.ts +13 -0
- package/src/extensibility/extensions/loader.ts +663 -0
- package/src/extensibility/extensions/managed-timers.ts +83 -0
- package/src/extensibility/extensions/model-api.ts +39 -0
- package/src/extensibility/extensions/runner.ts +1396 -0
- package/src/extensibility/extensions/types.ts +1603 -0
- package/src/extensibility/extensions/wrapper.ts +395 -0
- package/src/extensibility/hooks/index.ts +6 -0
- package/src/extensibility/hooks/loader.ts +243 -0
- package/src/extensibility/hooks/runner.ts +425 -0
- package/src/extensibility/hooks/tool-wrapper.ts +124 -0
- package/src/extensibility/hooks/types.ts +612 -0
- package/src/extensibility/legacy-pi-ai-shim.ts +161 -0
- package/src/extensibility/legacy-pi-coding-agent-shim.ts +1460 -0
- package/src/extensibility/legacy-pi-tui-shim.ts +43 -0
- package/src/extensibility/legacy-typebox.ts +101 -0
- package/src/extensibility/plugins/bun-git-cache.ts +91 -0
- package/src/extensibility/plugins/doctor.ts +65 -0
- package/src/extensibility/plugins/git-url.ts +367 -0
- package/src/extensibility/plugins/index.ts +9 -0
- package/src/extensibility/plugins/installer.ts +201 -0
- package/src/extensibility/plugins/legacy-pi-compat.ts +2643 -0
- package/src/extensibility/plugins/legacy-pi-virtual-modules.d.ts +4 -0
- package/src/extensibility/plugins/loader.ts +535 -0
- package/src/extensibility/plugins/manager.ts +1142 -0
- package/src/extensibility/plugins/marketplace/cache.ts +136 -0
- package/src/extensibility/plugins/marketplace/fetcher.ts +316 -0
- package/src/extensibility/plugins/marketplace/index.ts +6 -0
- package/src/extensibility/plugins/marketplace/manager.ts +927 -0
- package/src/extensibility/plugins/marketplace/registry.ts +192 -0
- package/src/extensibility/plugins/marketplace/source-resolver.ts +147 -0
- package/src/extensibility/plugins/marketplace/types.ts +192 -0
- package/src/extensibility/plugins/marketplace-auto-update.ts +49 -0
- package/src/extensibility/plugins/parser.ts +107 -0
- package/src/extensibility/plugins/runtime-config.ts +9 -0
- package/src/extensibility/plugins/types.ts +194 -0
- package/src/extensibility/session-handler-types.ts +21 -0
- package/src/extensibility/shared-events.ts +401 -0
- package/src/extensibility/skills.ts +531 -0
- package/src/extensibility/slash-commands.ts +131 -0
- package/src/extensibility/tool-event-input.ts +80 -0
- package/src/extensibility/tool-proxy.ts +28 -0
- package/src/extensibility/utils.ts +192 -0
- package/src/goals/index.ts +3 -0
- package/src/goals/runtime.ts +521 -0
- package/src/goals/state.ts +37 -0
- package/src/goals/tools/goal-tool.ts +251 -0
- package/src/hindsight/backend.ts +354 -0
- package/src/hindsight/bank.ts +156 -0
- package/src/hindsight/client.ts +680 -0
- package/src/hindsight/config.ts +193 -0
- package/src/hindsight/content.ts +266 -0
- package/src/hindsight/index.ts +8 -0
- package/src/hindsight/mental-models.ts +429 -0
- package/src/hindsight/seeds.json +32 -0
- package/src/hindsight/state.ts +530 -0
- package/src/hindsight/transcript.ts +71 -0
- package/src/index.ts +66 -0
- package/src/internal-urls/agent-protocol.ts +180 -0
- package/src/internal-urls/artifact-protocol.ts +151 -0
- package/src/internal-urls/docs-index.ts +102 -0
- package/src/internal-urls/filesystem-resource.ts +34 -0
- package/src/internal-urls/history-protocol.ts +198 -0
- package/src/internal-urls/index.ts +28 -0
- package/src/internal-urls/issue-pr-protocol.ts +594 -0
- package/src/internal-urls/json-query.ts +126 -0
- package/src/internal-urls/local-protocol.ts +471 -0
- package/src/internal-urls/mcp-protocol.ts +168 -0
- package/src/internal-urls/memory-protocol.ts +380 -0
- package/src/internal-urls/omp-protocol.ts +94 -0
- package/src/internal-urls/parse.ts +103 -0
- package/src/internal-urls/registry-helpers.ts +132 -0
- package/src/internal-urls/router.ts +153 -0
- package/src/internal-urls/rule-protocol.ts +45 -0
- package/src/internal-urls/security-protocol.ts +261 -0
- package/src/internal-urls/skill-protocol.ts +131 -0
- package/src/internal-urls/ssh-protocol.ts +368 -0
- package/src/internal-urls/types.ts +196 -0
- package/src/internal-urls/vault-protocol.ts +940 -0
- package/src/internal-urls/xd-protocol.ts +46 -0
- package/src/irc/bus.ts +380 -0
- package/src/jsonrpc/message-framing.ts +142 -0
- package/src/launch/broker.ts +1368 -0
- package/src/launch/client.ts +521 -0
- package/src/launch/ensure.ts +73 -0
- package/src/launch/paths.ts +14 -0
- package/src/launch/presence.ts +82 -0
- package/src/launch/protocol.ts +448 -0
- package/src/launch/spawn-options.ts +17 -0
- package/src/launch/terminal-output-worker-client.ts +53 -0
- package/src/launch/terminal-output-worker-protocol.ts +11 -0
- package/src/launch/terminal-output-worker.ts +23 -0
- package/src/launch/terminal-output.ts +46 -0
- package/src/lib/xai-http.ts +150 -0
- package/src/live/attestation.ts +91 -0
- package/src/live/controller.ts +517 -0
- package/src/live/prompts/agent-final-message.md +3 -0
- package/src/live/prompts/live-instructions.md +23 -0
- package/src/live/protocol.ts +233 -0
- package/src/live/transport.ts +422 -0
- package/src/live/visualizer.ts +221 -0
- package/src/live/voices.ts +18 -0
- package/src/lsp/client.ts +1465 -0
- package/src/lsp/clients/biome-client.ts +263 -0
- package/src/lsp/clients/index.ts +50 -0
- package/src/lsp/clients/lsp-linter-client.ts +85 -0
- package/src/lsp/clients/swiftlint-client.ts +120 -0
- package/src/lsp/config.ts +549 -0
- package/src/lsp/defaults.json +499 -0
- package/src/lsp/deferred-diagnostics.ts +66 -0
- package/src/lsp/diagnostics-ledger.ts +51 -0
- package/src/lsp/edits.ts +288 -0
- package/src/lsp/format-options.ts +119 -0
- package/src/lsp/index.ts +2821 -0
- package/src/lsp/lspmux.ts +233 -0
- package/src/lsp/mux/daemon.ts +348 -0
- package/src/lsp/mux/protocol.ts +96 -0
- package/src/lsp/mux/server.ts +797 -0
- package/src/lsp/render.ts +668 -0
- package/src/lsp/startup-events.ts +13 -0
- package/src/lsp/types.ts +479 -0
- package/src/lsp/utils.ts +747 -0
- package/src/main.ts +1799 -0
- package/src/markit/NOTICE +32 -0
- package/src/markit/converters/docx.ts +56 -0
- package/src/markit/converters/epub.ts +136 -0
- package/src/markit/converters/pdf/columns.ts +103 -0
- package/src/markit/converters/pdf/extract.ts +598 -0
- package/src/markit/converters/pdf/grid.ts +780 -0
- package/src/markit/converters/pdf/headers.ts +106 -0
- package/src/markit/converters/pdf/index.ts +146 -0
- package/src/markit/converters/pdf/render.ts +501 -0
- package/src/markit/converters/pdf/types.ts +84 -0
- package/src/markit/converters/pptx.ts +325 -0
- package/src/markit/converters/xlsx.ts +173 -0
- package/src/markit/index.ts +2 -0
- package/src/markit/registry.ts +59 -0
- package/src/markit/types.ts +35 -0
- package/src/mcp/client.ts +511 -0
- package/src/mcp/config-writer.ts +377 -0
- package/src/mcp/config.ts +385 -0
- package/src/mcp/index.ts +29 -0
- package/src/mcp/json-rpc.ts +122 -0
- package/src/mcp/loader.ts +125 -0
- package/src/mcp/manager.ts +1524 -0
- package/src/mcp/oauth-credentials.ts +104 -0
- package/src/mcp/oauth-discovery.ts +587 -0
- package/src/mcp/oauth-flow.ts +830 -0
- package/src/mcp/render.ts +214 -0
- package/src/mcp/request-id.ts +24 -0
- package/src/mcp/smithery-auth.ts +108 -0
- package/src/mcp/smithery-connect.ts +154 -0
- package/src/mcp/smithery-registry.ts +500 -0
- package/src/mcp/startup-events.ts +116 -0
- package/src/mcp/timeout.ts +59 -0
- package/src/mcp/tool-bridge.ts +691 -0
- package/src/mcp/tool-cache.ts +117 -0
- package/src/mcp/transports/header-policy.ts +95 -0
- package/src/mcp/transports/http.ts +508 -0
- package/src/mcp/transports/index.ts +7 -0
- package/src/mcp/transports/sse.ts +372 -0
- package/src/mcp/transports/stdio.ts +905 -0
- package/src/mcp/types.ts +467 -0
- package/src/memories/index.ts +1434 -0
- package/src/memories/storage.ts +578 -0
- package/src/memory-backend/index.ts +19 -0
- package/src/memory-backend/local-backend.ts +47 -0
- package/src/memory-backend/messages.ts +19 -0
- package/src/memory-backend/off-backend.ts +25 -0
- package/src/memory-backend/resolve.ts +25 -0
- package/src/memory-backend/runtime.ts +66 -0
- package/src/memory-backend/tool-names.ts +2 -0
- package/src/memory-backend/types.ts +166 -0
- package/src/mnemopi/backend.ts +629 -0
- package/src/mnemopi/config.ts +267 -0
- package/src/mnemopi/embed-client.ts +293 -0
- package/src/mnemopi/embed-protocol.ts +35 -0
- package/src/mnemopi/embed-worker.ts +114 -0
- package/src/mnemopi/index.ts +3 -0
- package/src/mnemopi/state.ts +940 -0
- package/src/modes/acp/acp-agent.ts +2595 -0
- package/src/modes/acp/acp-client-bridge.ts +154 -0
- package/src/modes/acp/acp-event-mapper.ts +1084 -0
- package/src/modes/acp/acp-mode.ts +48 -0
- package/src/modes/acp/index.ts +2 -0
- package/src/modes/acp/terminal-auth.ts +37 -0
- package/src/modes/components/advisor-config.ts +635 -0
- package/src/modes/components/advisor-message.ts +109 -0
- package/src/modes/components/agent-dashboard.ts +1252 -0
- package/src/modes/components/agent-hub-projection.ts +248 -0
- package/src/modes/components/agent-hub-renderer.ts +194 -0
- package/src/modes/components/agent-hub.ts +1126 -0
- package/src/modes/components/agent-transcript-viewer.ts +647 -0
- package/src/modes/components/ask-dialog.ts +1017 -0
- package/src/modes/components/assistant-message.ts +978 -0
- package/src/modes/components/background-tan-message.ts +36 -0
- package/src/modes/components/bash-execution.ts +233 -0
- package/src/modes/components/bordered-loader.ts +41 -0
- package/src/modes/components/btw-panel.ts +161 -0
- package/src/modes/components/cache-invalidation-marker.ts +110 -0
- package/src/modes/components/chat-block.ts +111 -0
- package/src/modes/components/chat-transcript-builder.ts +518 -0
- package/src/modes/components/codex-reset-fireworks.ts +369 -0
- package/src/modes/components/collab-prompt-message.ts +32 -0
- package/src/modes/components/compaction-summary-message.ts +221 -0
- package/src/modes/components/copy-selector.ts +218 -0
- package/src/modes/components/countdown-timer.ts +75 -0
- package/src/modes/components/custom-editor.ts +1036 -0
- package/src/modes/components/custom-message.ts +70 -0
- package/src/modes/components/diff.ts +254 -0
- package/src/modes/components/dynamic-border.ts +37 -0
- package/src/modes/components/error-banner.ts +33 -0
- package/src/modes/components/eval-execution.ts +169 -0
- package/src/modes/components/execution-shared.ts +101 -0
- package/src/modes/components/extensions/extension-dashboard.ts +492 -0
- package/src/modes/components/extensions/extension-list.ts +507 -0
- package/src/modes/components/extensions/index.ts +9 -0
- package/src/modes/components/extensions/inspector-panel.ts +326 -0
- package/src/modes/components/extensions/state-manager.ts +648 -0
- package/src/modes/components/extensions/types.ts +186 -0
- package/src/modes/components/footer.ts +274 -0
- package/src/modes/components/history-search.ts +268 -0
- package/src/modes/components/hook-editor.ts +213 -0
- package/src/modes/components/hook-input.ts +87 -0
- package/src/modes/components/hook-message.ts +67 -0
- package/src/modes/components/hook-selector.ts +691 -0
- package/src/modes/components/index.ts +42 -0
- package/src/modes/components/keybinding-hints.ts +56 -0
- package/src/modes/components/late-diagnostics-message.ts +60 -0
- package/src/modes/components/login-dialog.ts +197 -0
- package/src/modes/components/logout-account-selector.ts +130 -0
- package/src/modes/components/mcp-add-wizard.ts +1413 -0
- package/src/modes/components/message-frame.ts +98 -0
- package/src/modes/components/model-browser.ts +888 -0
- package/src/modes/components/model-hub.ts +2014 -0
- package/src/modes/components/model-picker.ts +237 -0
- package/src/modes/components/move-overlay.ts +293 -0
- package/src/modes/components/oauth-selector.ts +474 -0
- package/src/modes/components/omfg-panel.ts +141 -0
- package/src/modes/components/overlay-box.ts +109 -0
- package/src/modes/components/pause-screen.ts +208 -0
- package/src/modes/components/plan-review-overlay.ts +1226 -0
- package/src/modes/components/plan-toc.ts +138 -0
- package/src/modes/components/plugin-selector.ts +100 -0
- package/src/modes/components/plugin-settings.ts +745 -0
- package/src/modes/components/queue-mode-selector.ts +61 -0
- package/src/modes/components/read-tool-group.ts +856 -0
- package/src/modes/components/reset-usage-selector.ts +161 -0
- package/src/modes/components/segment-track.ts +89 -0
- package/src/modes/components/select-list-mouse-routing.ts +35 -0
- package/src/modes/components/selector-helpers.ts +129 -0
- package/src/modes/components/session-account-selector.ts +62 -0
- package/src/modes/components/session-selector.ts +1035 -0
- package/src/modes/components/settings-defs.ts +267 -0
- package/src/modes/components/settings-selector.ts +1445 -0
- package/src/modes/components/show-images-selector.ts +50 -0
- package/src/modes/components/skill-message.ts +110 -0
- package/src/modes/components/snapcompact-shape-preview-doc.md +14 -0
- package/src/modes/components/snapcompact-shape-preview.ts +192 -0
- package/src/modes/components/status-line/component.ts +1843 -0
- package/src/modes/components/status-line/context-thresholds.ts +86 -0
- package/src/modes/components/status-line/git-utils.ts +42 -0
- package/src/modes/components/status-line/index.ts +5 -0
- package/src/modes/components/status-line/presets.ts +106 -0
- package/src/modes/components/status-line/segments.ts +710 -0
- package/src/modes/components/status-line/separators.ts +55 -0
- package/src/modes/components/status-line/types.ts +159 -0
- package/src/modes/components/stripped-tool-calls-placeholder.ts +35 -0
- package/src/modes/components/theme-selector.ts +68 -0
- package/src/modes/components/thinking-selector.ts +57 -0
- package/src/modes/components/tiny-title-download-progress.ts +90 -0
- package/src/modes/components/tips.txt +26 -0
- package/src/modes/components/todo-reminder.ts +43 -0
- package/src/modes/components/tool-execution.ts +1467 -0
- package/src/modes/components/transcript-container.ts +527 -0
- package/src/modes/components/tree-selector.ts +1006 -0
- package/src/modes/components/ttsr-notification.ts +123 -0
- package/src/modes/components/usage-row.ts +52 -0
- package/src/modes/components/user-message-selector.ts +227 -0
- package/src/modes/components/user-message.ts +167 -0
- package/src/modes/components/visual-truncate.ts +63 -0
- package/src/modes/components/welcome.ts +578 -0
- package/src/modes/controllers/btw-controller.ts +246 -0
- package/src/modes/controllers/command-controller-shared.ts +109 -0
- package/src/modes/controllers/command-controller.ts +2024 -0
- package/src/modes/controllers/event-controller.ts +2173 -0
- package/src/modes/controllers/extension-ui-controller.ts +1243 -0
- package/src/modes/controllers/input-controller.ts +2037 -0
- package/src/modes/controllers/live-command-controller.ts +261 -0
- package/src/modes/controllers/mcp-command-controller.ts +2552 -0
- package/src/modes/controllers/omfg-controller.ts +287 -0
- package/src/modes/controllers/omfg-rule.ts +647 -0
- package/src/modes/controllers/selector-controller.ts +2058 -0
- package/src/modes/controllers/session-focus-controller.ts +117 -0
- package/src/modes/controllers/ssh-command-controller.ts +385 -0
- package/src/modes/controllers/streaming-reveal.ts +399 -0
- package/src/modes/controllers/tan-command-controller.ts +243 -0
- package/src/modes/controllers/todo-command-controller.ts +487 -0
- package/src/modes/controllers/tool-args-reveal.ts +591 -0
- package/src/modes/data/emojis.json +1 -0
- package/src/modes/emoji-autocomplete.ts +285 -0
- package/src/modes/github-ref-autocomplete.ts +75 -0
- package/src/modes/gradient-highlight.ts +99 -0
- package/src/modes/image-references.ts +137 -0
- package/src/modes/index.ts +10 -0
- package/src/modes/interactive-mode.ts +5055 -0
- package/src/modes/internal-url-autocomplete.ts +158 -0
- package/src/modes/loop-limit.ts +192 -0
- package/src/modes/magic-keyword-boundary.ts +23 -0
- package/src/modes/magic-keywords.ts +42 -0
- package/src/modes/markdown-prose.ts +247 -0
- package/src/modes/oauth-manual-input.ts +69 -0
- package/src/modes/orchestrate.ts +43 -0
- package/src/modes/print-mode.ts +282 -0
- package/src/modes/prompt-action-autocomplete.ts +322 -0
- package/src/modes/queue-input.ts +132 -0
- package/src/modes/rpc/host-tools.ts +204 -0
- package/src/modes/rpc/host-uris.ts +241 -0
- package/src/modes/rpc/rpc-client.ts +1213 -0
- package/src/modes/rpc/rpc-frame.ts +316 -0
- package/src/modes/rpc/rpc-input.ts +38 -0
- package/src/modes/rpc/rpc-messages.ts +127 -0
- package/src/modes/rpc/rpc-mode.ts +1519 -0
- package/src/modes/rpc/rpc-subagents.ts +265 -0
- package/src/modes/rpc/rpc-types.ts +544 -0
- package/src/modes/running-subagent-badge.ts +13 -0
- package/src/modes/runtime-init.ts +144 -0
- package/src/modes/session-observer-registry.ts +223 -0
- package/src/modes/session-teardown.ts +82 -0
- package/src/modes/setup-version.ts +11 -0
- package/src/modes/setup-wizard/index.ts +103 -0
- package/src/modes/setup-wizard/lazy.ts +16 -0
- package/src/modes/setup-wizard/scenes/glyph.ts +103 -0
- package/src/modes/setup-wizard/scenes/model.ts +132 -0
- package/src/modes/setup-wizard/scenes/outro.ts +35 -0
- package/src/modes/setup-wizard/scenes/providers.ts +105 -0
- package/src/modes/setup-wizard/scenes/sign-in.ts +312 -0
- package/src/modes/setup-wizard/scenes/splash.ts +201 -0
- package/src/modes/setup-wizard/scenes/theme.ts +330 -0
- package/src/modes/setup-wizard/scenes/types.ts +65 -0
- package/src/modes/setup-wizard/scenes/web-search.ts +153 -0
- package/src/modes/setup-wizard/startup-splash.ts +107 -0
- package/src/modes/setup-wizard/wizard-overlay.ts +335 -0
- package/src/modes/shared.ts +49 -0
- package/src/modes/skill-command.ts +91 -0
- package/src/modes/theme/dark.json +95 -0
- package/src/modes/theme/defaults/alabaster.json +93 -0
- package/src/modes/theme/defaults/amethyst.json +96 -0
- package/src/modes/theme/defaults/anthracite.json +93 -0
- package/src/modes/theme/defaults/basalt.json +91 -0
- package/src/modes/theme/defaults/birch.json +95 -0
- package/src/modes/theme/defaults/dark-abyss.json +91 -0
- package/src/modes/theme/defaults/dark-arctic.json +104 -0
- package/src/modes/theme/defaults/dark-aurora.json +95 -0
- package/src/modes/theme/defaults/dark-catppuccin.json +107 -0
- package/src/modes/theme/defaults/dark-cavern.json +91 -0
- package/src/modes/theme/defaults/dark-copper.json +95 -0
- package/src/modes/theme/defaults/dark-cosmos.json +90 -0
- package/src/modes/theme/defaults/dark-cyberpunk.json +102 -0
- package/src/modes/theme/defaults/dark-dracula.json +98 -0
- package/src/modes/theme/defaults/dark-eclipse.json +91 -0
- package/src/modes/theme/defaults/dark-ember.json +95 -0
- package/src/modes/theme/defaults/dark-equinox.json +90 -0
- package/src/modes/theme/defaults/dark-forest.json +96 -0
- package/src/modes/theme/defaults/dark-github.json +105 -0
- package/src/modes/theme/defaults/dark-gruvbox.json +112 -0
- package/src/modes/theme/defaults/dark-lavender.json +95 -0
- package/src/modes/theme/defaults/dark-lunar.json +89 -0
- package/src/modes/theme/defaults/dark-midnight.json +95 -0
- package/src/modes/theme/defaults/dark-monochrome.json +94 -0
- package/src/modes/theme/defaults/dark-monokai.json +98 -0
- package/src/modes/theme/defaults/dark-nebula.json +90 -0
- package/src/modes/theme/defaults/dark-nord.json +97 -0
- package/src/modes/theme/defaults/dark-ocean.json +101 -0
- package/src/modes/theme/defaults/dark-one.json +100 -0
- package/src/modes/theme/defaults/dark-poimandres.json +143 -0
- package/src/modes/theme/defaults/dark-rainforest.json +91 -0
- package/src/modes/theme/defaults/dark-reef.json +91 -0
- package/src/modes/theme/defaults/dark-retro.json +92 -0
- package/src/modes/theme/defaults/dark-rose-pine.json +96 -0
- package/src/modes/theme/defaults/dark-sakura.json +95 -0
- package/src/modes/theme/defaults/dark-slate.json +95 -0
- package/src/modes/theme/defaults/dark-solarized.json +97 -0
- package/src/modes/theme/defaults/dark-solstice.json +90 -0
- package/src/modes/theme/defaults/dark-starfall.json +91 -0
- package/src/modes/theme/defaults/dark-sunset.json +99 -0
- package/src/modes/theme/defaults/dark-swamp.json +90 -0
- package/src/modes/theme/defaults/dark-synthwave.json +103 -0
- package/src/modes/theme/defaults/dark-taiga.json +91 -0
- package/src/modes/theme/defaults/dark-terminal.json +95 -0
- package/src/modes/theme/defaults/dark-tokyo-night.json +101 -0
- package/src/modes/theme/defaults/dark-tundra.json +91 -0
- package/src/modes/theme/defaults/dark-twilight.json +91 -0
- package/src/modes/theme/defaults/dark-volcanic.json +91 -0
- package/src/modes/theme/defaults/graphite.json +92 -0
- package/src/modes/theme/defaults/index.ts +199 -0
- package/src/modes/theme/defaults/light-arctic.json +107 -0
- package/src/modes/theme/defaults/light-aurora-day.json +91 -0
- package/src/modes/theme/defaults/light-canyon.json +91 -0
- package/src/modes/theme/defaults/light-catppuccin.json +106 -0
- package/src/modes/theme/defaults/light-cirrus.json +90 -0
- package/src/modes/theme/defaults/light-coral.json +95 -0
- package/src/modes/theme/defaults/light-cyberpunk.json +96 -0
- package/src/modes/theme/defaults/light-dawn.json +90 -0
- package/src/modes/theme/defaults/light-dunes.json +91 -0
- package/src/modes/theme/defaults/light-eucalyptus.json +95 -0
- package/src/modes/theme/defaults/light-forest.json +100 -0
- package/src/modes/theme/defaults/light-frost.json +95 -0
- package/src/modes/theme/defaults/light-github.json +115 -0
- package/src/modes/theme/defaults/light-glacier.json +91 -0
- package/src/modes/theme/defaults/light-gruvbox.json +108 -0
- package/src/modes/theme/defaults/light-haze.json +90 -0
- package/src/modes/theme/defaults/light-honeycomb.json +95 -0
- package/src/modes/theme/defaults/light-lagoon.json +91 -0
- package/src/modes/theme/defaults/light-lavender.json +95 -0
- package/src/modes/theme/defaults/light-meadow.json +91 -0
- package/src/modes/theme/defaults/light-mint.json +95 -0
- package/src/modes/theme/defaults/light-monochrome.json +101 -0
- package/src/modes/theme/defaults/light-ocean.json +99 -0
- package/src/modes/theme/defaults/light-one.json +99 -0
- package/src/modes/theme/defaults/light-opal.json +91 -0
- package/src/modes/theme/defaults/light-orchard.json +91 -0
- package/src/modes/theme/defaults/light-paper.json +95 -0
- package/src/modes/theme/defaults/light-poimandres.json +143 -0
- package/src/modes/theme/defaults/light-prism.json +90 -0
- package/src/modes/theme/defaults/light-retro.json +98 -0
- package/src/modes/theme/defaults/light-sand.json +95 -0
- package/src/modes/theme/defaults/light-savanna.json +91 -0
- package/src/modes/theme/defaults/light-solarized.json +102 -0
- package/src/modes/theme/defaults/light-soleil.json +90 -0
- package/src/modes/theme/defaults/light-sunset.json +99 -0
- package/src/modes/theme/defaults/light-synthwave.json +98 -0
- package/src/modes/theme/defaults/light-tokyo-night.json +111 -0
- package/src/modes/theme/defaults/light-wetland.json +91 -0
- package/src/modes/theme/defaults/light-zenith.json +89 -0
- package/src/modes/theme/defaults/limestone.json +94 -0
- package/src/modes/theme/defaults/mahogany.json +97 -0
- package/src/modes/theme/defaults/marble.json +93 -0
- package/src/modes/theme/defaults/obsidian.json +91 -0
- package/src/modes/theme/defaults/onyx.json +91 -0
- package/src/modes/theme/defaults/pearl.json +93 -0
- package/src/modes/theme/defaults/porcelain.json +91 -0
- package/src/modes/theme/defaults/quartz.json +96 -0
- package/src/modes/theme/defaults/sandstone.json +95 -0
- package/src/modes/theme/defaults/titanium.json +90 -0
- package/src/modes/theme/light.json +93 -0
- package/src/modes/theme/mermaid-cache.ts +92 -0
- package/src/modes/theme/shimmer.ts +305 -0
- package/src/modes/theme/theme-schema.json +463 -0
- package/src/modes/theme/theme.ts +3171 -0
- package/src/modes/turn-budget.ts +31 -0
- package/src/modes/types.ts +494 -0
- package/src/modes/ultrathink.ts +42 -0
- package/src/modes/utils/context-usage.ts +518 -0
- package/src/modes/utils/copy-targets.ts +378 -0
- package/src/modes/utils/hotkeys-markdown.ts +65 -0
- package/src/modes/utils/interactive-context-helpers.ts +31 -0
- package/src/modes/utils/keybinding-matchers.ts +86 -0
- package/src/modes/utils/tools-markdown.ts +31 -0
- package/src/modes/utils/transcript-render-helpers.ts +253 -0
- package/src/modes/utils/ui-helpers.ts +976 -0
- package/src/modes/warp-events.ts +232 -0
- package/src/modes/workflow.ts +55 -0
- package/src/plan-mode/approved-plan.ts +194 -0
- package/src/plan-mode/model-transition.ts +51 -0
- package/src/plan-mode/plan-files.ts +40 -0
- package/src/plan-mode/plan-handoff.ts +37 -0
- package/src/plan-mode/plan-protection.ts +31 -0
- package/src/plan-mode/state.ts +6 -0
- package/src/priority.json +60 -0
- package/src/prompts/advisor/active-repo-watchdog.md +6 -0
- package/src/prompts/advisor/advise-tool.md +3 -0
- package/src/prompts/advisor/context-files.md +8 -0
- package/src/prompts/advisor/system.md +98 -0
- package/src/prompts/agents/designer.md +74 -0
- package/src/prompts/agents/frontmatter.md +12 -0
- package/src/prompts/agents/init.md +33 -0
- package/src/prompts/agents/librarian.md +119 -0
- package/src/prompts/agents/reviewer.md +139 -0
- package/src/prompts/agents/scout.md +58 -0
- package/src/prompts/agents/security-reviewer.md +75 -0
- package/src/prompts/agents/task.md +17 -0
- package/src/prompts/bench/cache-prefix-chunk.md +1 -0
- package/src/prompts/bench/cache-prefix.md +3 -0
- package/src/prompts/bench/cache-suffix.md +1 -0
- package/src/prompts/bench.md +6 -0
- package/src/prompts/ci-green-request.md +36 -0
- package/src/prompts/dry-balance-bench.md +8 -0
- package/src/prompts/goals/goal-budget-limit.md +16 -0
- package/src/prompts/goals/goal-continuation.md +28 -0
- package/src/prompts/goals/goal-mode-active.md +23 -0
- package/src/prompts/goals/goal-mode-context.md +4 -0
- package/src/prompts/goals/goal-todo-context.md +12 -0
- package/src/prompts/goals/guided-goal-interview.md +43 -0
- package/src/prompts/memories/consolidation.md +30 -0
- package/src/prompts/memories/consolidation_system.md +4 -0
- package/src/prompts/memories/read-path.md +17 -0
- package/src/prompts/memories/stage_one_input.md +6 -0
- package/src/prompts/memories/stage_one_system.md +21 -0
- package/src/prompts/review-custom-request.md +21 -0
- package/src/prompts/review-headless-request.md +16 -0
- package/src/prompts/review-request.md +68 -0
- package/src/prompts/security/scan-coordinator.md +7 -0
- package/src/prompts/security/scan-request.md +21 -0
- package/src/prompts/security/validate-request.md +8 -0
- package/src/prompts/session/launch-completion.md +1 -0
- package/src/prompts/skills/autoload.md +8 -0
- package/src/prompts/skills/user-invocation.md +11 -0
- package/src/prompts/steering/parent-irc.md +5 -0
- package/src/prompts/steering/user-interjection.md +6 -0
- package/src/prompts/system/active-repo-context.md +4 -0
- package/src/prompts/system/agent-creation-architect.md +50 -0
- package/src/prompts/system/agent-creation-user.md +6 -0
- package/src/prompts/system/auto-continue.md +1 -0
- package/src/prompts/system/auto-thinking-difficulty-local.md +14 -0
- package/src/prompts/system/auto-thinking-difficulty.md +14 -0
- package/src/prompts/system/autolearn-guidance-learn.md +1 -0
- package/src/prompts/system/autolearn-guidance.md +7 -0
- package/src/prompts/system/autolearn-nudge-autocontinue.md +5 -0
- package/src/prompts/system/background-tan-dispatch.md +8 -0
- package/src/prompts/system/btw-user.md +8 -0
- package/src/prompts/system/commit-message-system.md +14 -0
- package/src/prompts/system/computer-safety.md +14 -0
- package/src/prompts/system/custom-system-prompt.md +64 -0
- package/src/prompts/system/eager-task.md +7 -0
- package/src/prompts/system/eager-todo.md +18 -0
- package/src/prompts/system/empty-stop-retry.md +4 -0
- package/src/prompts/system/gemini-tool-call-reminder.md +9 -0
- package/src/prompts/system/interrupted-thinking.md +7 -0
- package/src/prompts/system/irc-autoreply.md +6 -0
- package/src/prompts/system/irc-incoming.md +9 -0
- package/src/prompts/system/manual-continue.md +7 -0
- package/src/prompts/system/mcp-xdev-guidance.md +11 -0
- package/src/prompts/system/memory-consolidation-system.md +8 -0
- package/src/prompts/system/memory-extraction-system.md +26 -0
- package/src/prompts/system/mid-run-todo-nudge.md +3 -0
- package/src/prompts/system/omfg-user.md +50 -0
- package/src/prompts/system/orchestrate-notice.md +40 -0
- package/src/prompts/system/personalities/default.md +18 -0
- package/src/prompts/system/personalities/friendly.md +17 -0
- package/src/prompts/system/personalities/pragmatic.md +15 -0
- package/src/prompts/system/plan-mode-active.md +125 -0
- package/src/prompts/system/plan-mode-approved.md +22 -0
- package/src/prompts/system/plan-mode-compact-instructions.md +17 -0
- package/src/prompts/system/plan-mode-reference.md +10 -0
- package/src/prompts/system/plan-mode-subagent.md +33 -0
- package/src/prompts/system/plan-mode-tool-decision-reminder.md +9 -0
- package/src/prompts/system/plan-yolo-handoff.md +5 -0
- package/src/prompts/system/prewalk-checklist.md +7 -0
- package/src/prompts/system/prewalk-continue.md +1 -0
- package/src/prompts/system/prewalk-plan.md +13 -0
- package/src/prompts/system/project-prompt.md +61 -0
- package/src/prompts/system/recap-user.md +9 -0
- package/src/prompts/system/resolve-device-reminder.md +3 -0
- package/src/prompts/system/rewind-report.md +6 -0
- package/src/prompts/system/side-channel-no-tools.md +3 -0
- package/src/prompts/system/snapcompact-context-frames-note.md +1 -0
- package/src/prompts/system/snapcompact-context-stub.md +1 -0
- package/src/prompts/system/snapcompact-system-frames-note.md +1 -0
- package/src/prompts/system/snapcompact-system-stub.md +1 -0
- package/src/prompts/system/snapcompact-toolresult-note.md +1 -0
- package/src/prompts/system/speech-rewrite.md +15 -0
- package/src/prompts/system/subagent-async-pending.md +6 -0
- package/src/prompts/system/subagent-system-prompt.md +73 -0
- package/src/prompts/system/subagent-user-prompt.md +3 -0
- package/src/prompts/system/subagent-yield-reminder.md +23 -0
- package/src/prompts/system/system-prompt.md +263 -0
- package/src/prompts/system/tan-context-switch.md +17 -0
- package/src/prompts/system/task-label.md +23 -0
- package/src/prompts/system/thinking-loop-redirect.md +10 -0
- package/src/prompts/system/title-marker-instruction.md +1 -0
- package/src/prompts/system/title-system.md +16 -0
- package/src/prompts/system/tool-call-loop-redirect.md +8 -0
- package/src/prompts/system/ttsr-interrupt.md +7 -0
- package/src/prompts/system/ttsr-tool-reminder.md +5 -0
- package/src/prompts/system/ultrathink-notice.md +3 -0
- package/src/prompts/system/unexpected-stop-classifier.md +17 -0
- package/src/prompts/system/unexpected-stop-retry.md +4 -0
- package/src/prompts/system/vibe-mode-active.md +26 -0
- package/src/prompts/system/web-search.md +25 -0
- package/src/prompts/system/workflow-notice.md +112 -0
- package/src/prompts/system/xdev-mount-notice.md +20 -0
- package/src/prompts/tools/apply-patch.md +65 -0
- package/src/prompts/tools/ask.md +22 -0
- package/src/prompts/tools/ast-edit.md +11 -0
- package/src/prompts/tools/ast-grep.md +19 -0
- package/src/prompts/tools/async-result.md +8 -0
- package/src/prompts/tools/bash.md +23 -0
- package/src/prompts/tools/browser.md +29 -0
- package/src/prompts/tools/checkpoint.md +15 -0
- package/src/prompts/tools/computer.md +26 -0
- package/src/prompts/tools/debug.md +3 -0
- package/src/prompts/tools/eval.md +45 -0
- package/src/prompts/tools/github.md +22 -0
- package/src/prompts/tools/glob.md +16 -0
- package/src/prompts/tools/goal.md +11 -0
- package/src/prompts/tools/grep.md +13 -0
- package/src/prompts/tools/hub.md +34 -0
- package/src/prompts/tools/image-attachment-describe-system.md +8 -0
- package/src/prompts/tools/image-attachment-describe.md +10 -0
- package/src/prompts/tools/image-gen.md +7 -0
- package/src/prompts/tools/inspect-image-system.md +20 -0
- package/src/prompts/tools/inspect-image.md +22 -0
- package/src/prompts/tools/learn.md +7 -0
- package/src/prompts/tools/lsp-late-diagnostic.md +8 -0
- package/src/prompts/tools/lsp.md +19 -0
- package/src/prompts/tools/manage-skill.md +9 -0
- package/src/prompts/tools/memory-edit.md +12 -0
- package/src/prompts/tools/patch.md +57 -0
- package/src/prompts/tools/read.md +27 -0
- package/src/prompts/tools/recall.md +7 -0
- package/src/prompts/tools/reflect.md +5 -0
- package/src/prompts/tools/replace.md +30 -0
- package/src/prompts/tools/retain.md +6 -0
- package/src/prompts/tools/rewind.md +14 -0
- package/src/prompts/tools/security-publish.md +1 -0
- package/src/prompts/tools/security-scan.md +1 -0
- package/src/prompts/tools/task-async-contract.md +1 -0
- package/src/prompts/tools/task-summary.md +20 -0
- package/src/prompts/tools/task.md +83 -0
- package/src/prompts/tools/todo.md +42 -0
- package/src/prompts/tools/vibe-kill.md +3 -0
- package/src/prompts/tools/vibe-list.md +3 -0
- package/src/prompts/tools/vibe-send.md +9 -0
- package/src/prompts/tools/vibe-spawn.md +10 -0
- package/src/prompts/tools/vibe-turn-result.md +19 -0
- package/src/prompts/tools/vibe-wait.md +8 -0
- package/src/prompts/tools/web-search.md +8 -0
- package/src/prompts/tools/write.md +14 -0
- package/src/registry/agent-lifecycle.ts +505 -0
- package/src/registry/agent-registry.ts +287 -0
- package/src/registry/persisted-agents.ts +423 -0
- package/src/sdk.ts +3820 -0
- package/src/secrets/index.ts +375 -0
- package/src/secrets/obfuscator.ts +2629 -0
- package/src/secrets/regex.ts +21 -0
- package/src/security/auth.ts +98 -0
- package/src/security/cloud.ts +686 -0
- package/src/security/comparison.ts +255 -0
- package/src/security/contracts/ids.ts +111 -0
- package/src/security/contracts/index.ts +4 -0
- package/src/security/contracts/schemas.ts +219 -0
- package/src/security/contracts/types.ts +254 -0
- package/src/security/contracts/validation.ts +69 -0
- package/src/security/coordinator.ts +708 -0
- package/src/security/importers/codex-security.ts +387 -0
- package/src/security/importers/index.ts +2 -0
- package/src/security/importers/sarif.ts +357 -0
- package/src/security/index.ts +13 -0
- package/src/security/preflight.ts +405 -0
- package/src/security/provenance.ts +106 -0
- package/src/security/publication.ts +326 -0
- package/src/security/remediation.ts +93 -0
- package/src/security/resource-output.ts +50 -0
- package/src/security/sarif.ts +78 -0
- package/src/security/store.ts +430 -0
- package/src/session/acp-permission-gate.ts +165 -0
- package/src/session/agent-session-events.ts +67 -0
- package/src/session/agent-session-types.ts +407 -0
- package/src/session/agent-session.ts +9000 -0
- package/src/session/agent-storage.ts +807 -0
- package/src/session/artifacts.ts +154 -0
- package/src/session/async-job-delivery.ts +82 -0
- package/src/session/auth-broker-config.ts +92 -0
- package/src/session/auth-storage.ts +25 -0
- package/src/session/bash-runner.ts +326 -0
- package/src/session/blob-store.ts +295 -0
- package/src/session/checkpoint-entries.ts +81 -0
- package/src/session/claude-session-store.ts +426 -0
- package/src/session/client-bridge.ts +85 -0
- package/src/session/codex-auto-reset.ts +673 -0
- package/src/session/codex-session-store.ts +673 -0
- package/src/session/compact-modes.ts +105 -0
- package/src/session/credential-pin.ts +93 -0
- package/src/session/eval-runner.ts +219 -0
- package/src/session/exit-diagnostics.ts +310 -0
- package/src/session/foreign-session-import.ts +52 -0
- package/src/session/foreign-session-jsonl.ts +29 -0
- package/src/session/foreign-session-store.ts +26 -0
- package/src/session/history-storage.ts +329 -0
- package/src/session/indexed-session-storage.ts +553 -0
- package/src/session/irc-bridge.ts +203 -0
- package/src/session/launch-completion.ts +37 -0
- package/src/session/messages.ts +1304 -0
- package/src/session/model-controls.ts +757 -0
- package/src/session/prewalk.ts +279 -0
- package/src/session/provider-image-budget.ts +86 -0
- package/src/session/queued-messages.ts +99 -0
- package/src/session/redis-session-storage.ts +257 -0
- package/src/session/retry-fallback-chains.ts +455 -0
- package/src/session/role-models.ts +85 -0
- package/src/session/session-advisors.ts +1896 -0
- package/src/session/session-context.ts +584 -0
- package/src/session/session-dump-format.ts +216 -0
- package/src/session/session-entries.ts +306 -0
- package/src/session/session-handoff.ts +325 -0
- package/src/session/session-history-format.ts +459 -0
- package/src/session/session-listing.ts +715 -0
- package/src/session/session-loader.ts +362 -0
- package/src/session/session-maintenance.ts +3115 -0
- package/src/session/session-manager.ts +2747 -0
- package/src/session/session-memory.ts +222 -0
- package/src/session/session-metadata.ts +53 -0
- package/src/session/session-migrations.ts +78 -0
- package/src/session/session-paths.ts +280 -0
- package/src/session/session-persistence.ts +293 -0
- package/src/session/session-provider-boundary.ts +306 -0
- package/src/session/session-stats.ts +349 -0
- package/src/session/session-storage.ts +774 -0
- package/src/session/session-title-slot.ts +141 -0
- package/src/session/session-tools.ts +1385 -0
- package/src/session/session-workspace.ts +53 -0
- package/src/session/settings-stream-fn.ts +79 -0
- package/src/session/shake-types.ts +43 -0
- package/src/session/snapcompact-inline.ts +545 -0
- package/src/session/snapcompact-savings-journal.ts +113 -0
- package/src/session/sql-session-storage.ts +374 -0
- package/src/session/stream-guards.ts +417 -0
- package/src/session/streaming-output.ts +1459 -0
- package/src/session/todo-tracker.ts +380 -0
- package/src/session/tool-choice-queue.ts +305 -0
- package/src/session/ttsr-coordinator.ts +496 -0
- package/src/session/turn-persistence.ts +142 -0
- package/src/session/turn-recovery.ts +2005 -0
- package/src/session/unexpected-stop-classifier.ts +141 -0
- package/src/session/yield-queue.ts +288 -0
- package/src/slash-commands/acp-builtins.ts +70 -0
- package/src/slash-commands/available-commands.ts +105 -0
- package/src/slash-commands/builtin-registry.ts +3149 -0
- package/src/slash-commands/helpers/active-oauth-account.ts +80 -0
- package/src/slash-commands/helpers/collab-qrcode.ts +28 -0
- package/src/slash-commands/helpers/context-report.ts +66 -0
- package/src/slash-commands/helpers/format.ts +46 -0
- package/src/slash-commands/helpers/logout.ts +108 -0
- package/src/slash-commands/helpers/marketplace-manager.ts +25 -0
- package/src/slash-commands/helpers/mcp.ts +533 -0
- package/src/slash-commands/helpers/parse.ts +85 -0
- package/src/slash-commands/helpers/reset-usage.ts +68 -0
- package/src/slash-commands/helpers/security.ts +451 -0
- package/src/slash-commands/helpers/session-pin.ts +44 -0
- package/src/slash-commands/helpers/ssh.ts +196 -0
- package/src/slash-commands/helpers/stats-dashboard.ts +86 -0
- package/src/slash-commands/helpers/todo.ts +285 -0
- package/src/slash-commands/helpers/usage-report.ts +198 -0
- package/src/slash-commands/marketplace-install-parser.ts +99 -0
- package/src/slash-commands/types.ts +139 -0
- package/src/ssh/config-writer.ts +183 -0
- package/src/ssh/connection-manager.ts +667 -0
- package/src/ssh/file-transfer.ts +214 -0
- package/src/ssh/sshfs-mount.ts +163 -0
- package/src/ssh/utils.ts +51 -0
- package/src/startup-splash.ts +19 -0
- package/src/stt/asr-client.ts +401 -0
- package/src/stt/asr-protocol.ts +65 -0
- package/src/stt/asr-worker.ts +603 -0
- package/src/stt/downloader.ts +142 -0
- package/src/stt/endpointer.ts +259 -0
- package/src/stt/index.ts +6 -0
- package/src/stt/models.ts +150 -0
- package/src/stt/sherpa-runtime.ts +71 -0
- package/src/stt/stt-controller.ts +320 -0
- package/src/stt/submit-trigger.ts +74 -0
- package/src/subprocess/worker-client.ts +463 -0
- package/src/subprocess/worker-runtime.ts +494 -0
- package/src/system-prompt.ts +921 -0
- package/src/task/agents.ts +170 -0
- package/src/task/commands.ts +132 -0
- package/src/task/discovery.ts +145 -0
- package/src/task/executor.ts +3431 -0
- package/src/task/index.ts +1515 -0
- package/src/task/isolation-ownership.ts +106 -0
- package/src/task/isolation-runner.ts +444 -0
- package/src/task/label.ts +40 -0
- package/src/task/name-generator.ts +1577 -0
- package/src/task/omp-command.ts +26 -0
- package/src/task/output-manager.ts +115 -0
- package/src/task/parallel.ts +221 -0
- package/src/task/persisted-revive.ts +173 -0
- package/src/task/prewalk.ts +6 -0
- package/src/task/prompt-policy.ts +8 -0
- package/src/task/provider-concurrency.ts +100 -0
- package/src/task/read-only-policy.ts +27 -0
- package/src/task/render.ts +1830 -0
- package/src/task/renderer.ts +14 -0
- package/src/task/repair-args.ts +118 -0
- package/src/task/spawn-policy.ts +72 -0
- package/src/task/structured-subagent.ts +676 -0
- package/src/task/subprocess-tool-registry.ts +88 -0
- package/src/task/types.ts +555 -0
- package/src/task/worktree.ts +967 -0
- package/src/task/yield-assembly.ts +198 -0
- package/src/telemetry-export.ts +504 -0
- package/src/thinking.ts +377 -0
- package/src/tiny/device.ts +111 -0
- package/src/tiny/dtype.ts +101 -0
- package/src/tiny/message-preproc.ts +155 -0
- package/src/tiny/models.ts +268 -0
- package/src/tiny/text.ts +290 -0
- package/src/tiny/title-client.ts +460 -0
- package/src/tiny/title-protocol.ts +56 -0
- package/src/tiny/worker.ts +354 -0
- package/src/tools/acp-bridge.ts +125 -0
- package/src/tools/approval.ts +245 -0
- package/src/tools/ask.ts +1459 -0
- package/src/tools/ast-edit.ts +718 -0
- package/src/tools/ast-grep.ts +526 -0
- package/src/tools/auto-generated-guard.ts +335 -0
- package/src/tools/bash-interactive.ts +435 -0
- package/src/tools/bash-interceptor.ts +148 -0
- package/src/tools/bash-pty-selection.ts +14 -0
- package/src/tools/bash-skill-urls.ts +350 -0
- package/src/tools/bash.ts +1826 -0
- package/src/tools/browser/aria/aria-snapshot.bundle.txt +7 -0
- package/src/tools/browser/aria/aria-snapshot.ts +131 -0
- package/src/tools/browser/attach.ts +219 -0
- package/src/tools/browser/cmux/cmux-tab.ts +1531 -0
- package/src/tools/browser/cmux/rpc.ts +200 -0
- package/src/tools/browser/cmux/socket-client.ts +445 -0
- package/src/tools/browser/launch.ts +939 -0
- package/src/tools/browser/readable.ts +112 -0
- package/src/tools/browser/registry.ts +447 -0
- package/src/tools/browser/relay/bridge.ts +945 -0
- package/src/tools/browser/relay/daemon.ts +117 -0
- package/src/tools/browser/relay/extension-assets/background.js.txt +242 -0
- package/src/tools/browser/relay/extension-assets/manifest.json.txt +14 -0
- package/src/tools/browser/relay/extension-assets/options.html.txt +53 -0
- package/src/tools/browser/relay/extension-assets/options.js.txt +23 -0
- package/src/tools/browser/relay/kind.ts +41 -0
- package/src/tools/browser/relay/protocol.ts +54 -0
- package/src/tools/browser/relay/server.ts +141 -0
- package/src/tools/browser/render.ts +229 -0
- package/src/tools/browser/run-output.ts +76 -0
- package/src/tools/browser/shared-daemon.ts +139 -0
- package/src/tools/browser/tab-protocol.ts +123 -0
- package/src/tools/browser/tab-supervisor.ts +1077 -0
- package/src/tools/browser/tab-worker-entry.ts +29 -0
- package/src/tools/browser/tab-worker.ts +1982 -0
- package/src/tools/browser.ts +487 -0
- package/src/tools/builtin-names.ts +67 -0
- package/src/tools/checkpoint.ts +137 -0
- package/src/tools/computer/exposure.ts +14 -0
- package/src/tools/computer/protocol.ts +69 -0
- package/src/tools/computer/supervisor.ts +409 -0
- package/src/tools/computer/worker-entry.ts +39 -0
- package/src/tools/computer/worker.ts +745 -0
- package/src/tools/computer-renderer.ts +147 -0
- package/src/tools/computer.ts +222 -0
- package/src/tools/conflict-detect.ts +815 -0
- package/src/tools/context.ts +49 -0
- package/src/tools/debug.ts +1121 -0
- package/src/tools/default-renderer.ts +154 -0
- package/src/tools/essential-tools.ts +46 -0
- package/src/tools/eval-backends.ts +34 -0
- package/src/tools/eval-format/index.ts +24 -0
- package/src/tools/eval-format/javascript.ts +952 -0
- package/src/tools/eval-format/julia.ts +446 -0
- package/src/tools/eval-format/python.ts +544 -0
- package/src/tools/eval-format/ruby.ts +380 -0
- package/src/tools/eval-render.ts +784 -0
- package/src/tools/eval.ts +774 -0
- package/src/tools/fetch.ts +1889 -0
- package/src/tools/file-recorder.ts +35 -0
- package/src/tools/fs-cache-invalidation.ts +28 -0
- package/src/tools/gh-cache-invalidation.ts +175 -0
- package/src/tools/gh-format.ts +12 -0
- package/src/tools/gh-renderer.ts +484 -0
- package/src/tools/gh.ts +3958 -0
- package/src/tools/github-cache.ts +663 -0
- package/src/tools/glob.ts +691 -0
- package/src/tools/grep.ts +1920 -0
- package/src/tools/grouped-file-output.ts +210 -0
- package/src/tools/hub/index.ts +579 -0
- package/src/tools/hub/jobs.ts +714 -0
- package/src/tools/hub/launch.ts +690 -0
- package/src/tools/hub/messaging.ts +735 -0
- package/src/tools/hub/types.ts +117 -0
- package/src/tools/image-gen.ts +1689 -0
- package/src/tools/image-providers.ts +50 -0
- package/src/tools/index.ts +736 -0
- package/src/tools/inspect-image-renderer.ts +133 -0
- package/src/tools/inspect-image.ts +316 -0
- package/src/tools/json-tree.ts +260 -0
- package/src/tools/jtd-to-json-schema.ts +219 -0
- package/src/tools/jtd-to-typescript.ts +136 -0
- package/src/tools/jtd-utils.ts +102 -0
- package/src/tools/learn.ts +141 -0
- package/src/tools/list-limit.ts +40 -0
- package/src/tools/manage-skill.ts +102 -0
- package/src/tools/match-line-format.ts +20 -0
- package/src/tools/memory-edit.ts +61 -0
- package/src/tools/memory-recall.ts +102 -0
- package/src/tools/memory-reflect.ts +88 -0
- package/src/tools/memory-render.ts +211 -0
- package/src/tools/memory-retain.ts +89 -0
- package/src/tools/output-meta.ts +860 -0
- package/src/tools/output-schema-validator.ts +307 -0
- package/src/tools/path-utils.ts +1489 -0
- package/src/tools/plan-mode-guard.ts +155 -0
- package/src/tools/puppeteer/00_stealth_tampering.txt +44 -0
- package/src/tools/puppeteer/01_stealth_activity.txt +80 -0
- package/src/tools/puppeteer/02_stealth_hairline.txt +57 -0
- package/src/tools/puppeteer/03_stealth_botd.txt +380 -0
- package/src/tools/puppeteer/04_stealth_iframe.txt +174 -0
- package/src/tools/puppeteer/05_stealth_webgl.txt +233 -0
- package/src/tools/puppeteer/06_stealth_screen.txt +260 -0
- package/src/tools/puppeteer/07_stealth_fonts.txt +99 -0
- package/src/tools/puppeteer/08_stealth_audio.txt +63 -0
- package/src/tools/puppeteer/09_stealth_locale.txt +51 -0
- package/src/tools/puppeteer/10_stealth_plugins.txt +212 -0
- package/src/tools/puppeteer/11_stealth_hardware.txt +59 -0
- package/src/tools/puppeteer/12_stealth_codecs.txt +42 -0
- package/src/tools/puppeteer/13_stealth_worker.txt +235 -0
- package/src/tools/read.ts +3762 -0
- package/src/tools/render-utils.ts +926 -0
- package/src/tools/renderers.ts +133 -0
- package/src/tools/report-tool-issue.ts +568 -0
- package/src/tools/resolve.ts +423 -0
- package/src/tools/review.ts +103 -0
- package/src/tools/run-scope.ts +417 -0
- package/src/tools/security-scan.ts +287 -0
- package/src/tools/shell-tokenize.ts +213 -0
- package/src/tools/sqlite-reader.ts +884 -0
- package/src/tools/terminal-output.ts +141 -0
- package/src/tools/todo.ts +1226 -0
- package/src/tools/tool-errors.ts +62 -0
- package/src/tools/tool-result.ts +102 -0
- package/src/tools/tool-timeouts.ts +38 -0
- package/src/tools/tts.ts +266 -0
- package/src/tools/vibe.ts +608 -0
- package/src/tools/write.ts +1646 -0
- package/src/tools/xdev.ts +560 -0
- package/src/tools/yield.ts +486 -0
- package/src/tts/downloader.ts +64 -0
- package/src/tts/index.ts +10 -0
- package/src/tts/models.ts +137 -0
- package/src/tts/runtime.ts +21 -0
- package/src/tts/speakable.ts +392 -0
- package/src/tts/speech-enhancer.ts +206 -0
- package/src/tts/streaming-player.ts +120 -0
- package/src/tts/tts-client.ts +475 -0
- package/src/tts/tts-protocol.ts +69 -0
- package/src/tts/tts-worker.ts +434 -0
- package/src/tts/vocalizer.ts +419 -0
- package/src/tts/wav.ts +58 -0
- package/src/tui/code-cell.ts +268 -0
- package/src/tui/file-list.ts +55 -0
- package/src/tui/hyperlink.ts +178 -0
- package/src/tui/index.ts +13 -0
- package/src/tui/output-block.ts +268 -0
- package/src/tui/status-line.ts +54 -0
- package/src/tui/tree-list.ts +172 -0
- package/src/tui/types.ts +15 -0
- package/src/tui/utils.ts +103 -0
- package/src/tui/width-aware-text.ts +58 -0
- package/src/utils/active-repo-context.ts +143 -0
- package/src/utils/block-context.ts +312 -0
- package/src/utils/changelog.ts +373 -0
- package/src/utils/clipboard.ts +361 -0
- package/src/utils/command-args.ts +74 -0
- package/src/utils/commit-message-generator.ts +148 -0
- package/src/utils/cpuprofile.ts +235 -0
- package/src/utils/edit-mode.ts +61 -0
- package/src/utils/enhanced-paste.ts +230 -0
- package/src/utils/event-bus.ts +33 -0
- package/src/utils/external-editor.ts +80 -0
- package/src/utils/fetch-timeout.ts +10 -0
- package/src/utils/file-display-mode.ts +44 -0
- package/src/utils/file-mentions.ts +293 -0
- package/src/utils/git.ts +2472 -0
- package/src/utils/image-loading.ts +236 -0
- package/src/utils/image-resize.ts +420 -0
- package/src/utils/image-vision-fallback.ts +196 -0
- package/src/utils/inspect-image-mode.ts +39 -0
- package/src/utils/ipc.ts +38 -0
- package/src/utils/jj.ts +422 -0
- package/src/utils/lang-from-path.ts +251 -0
- package/src/utils/late-cleanup.ts +17 -0
- package/src/utils/local-date.ts +7 -0
- package/src/utils/mac-file-urls.applescript +37 -0
- package/src/utils/markit-cache.ts +166 -0
- package/src/utils/markit.ts +223 -0
- package/src/utils/mupdf-wasm-embed.ts +12 -0
- package/src/utils/open.ts +126 -0
- package/src/utils/profile-tree.ts +111 -0
- package/src/utils/prompt-path.ts +3 -0
- package/src/utils/qrcode.ts +535 -0
- package/src/utils/sample-profile.ts +437 -0
- package/src/utils/session-color.ts +142 -0
- package/src/utils/shell-snapshot-fn-env.sh +63 -0
- package/src/utils/shell-snapshot.ts +326 -0
- package/src/utils/sixel.ts +69 -0
- package/src/utils/thinking-display.ts +163 -0
- package/src/utils/title-generator.ts +597 -0
- package/src/utils/token-rate.ts +72 -0
- package/src/utils/tool-choice.ts +50 -0
- package/src/utils/tools-manager.ts +411 -0
- package/src/utils/turndown.ts +82 -0
- package/src/utils/zip.ts +1106 -0
- package/src/vibe/runtime.ts +1684 -0
- package/src/vibe/state.ts +4 -0
- package/src/web/kagi.ts +305 -0
- package/src/web/parallel.ts +354 -0
- package/src/web/scrapers/artifacthub.ts +207 -0
- package/src/web/scrapers/arxiv.ts +83 -0
- package/src/web/scrapers/aur.ts +162 -0
- package/src/web/scrapers/biorxiv.ts +133 -0
- package/src/web/scrapers/bluesky.ts +262 -0
- package/src/web/scrapers/brew.ts +172 -0
- package/src/web/scrapers/cheatsh.ts +68 -0
- package/src/web/scrapers/chocolatey.ts +196 -0
- package/src/web/scrapers/choosealicense.ts +95 -0
- package/src/web/scrapers/cisa-kev.ts +87 -0
- package/src/web/scrapers/clojars.ts +154 -0
- package/src/web/scrapers/coingecko.ts +177 -0
- package/src/web/scrapers/crates-io.ts +97 -0
- package/src/web/scrapers/crossref.ts +136 -0
- package/src/web/scrapers/devto.ts +147 -0
- package/src/web/scrapers/discogs.ts +306 -0
- package/src/web/scrapers/discourse.ts +197 -0
- package/src/web/scrapers/dockerhub.ts +138 -0
- package/src/web/scrapers/docs-rs.ts +663 -0
- package/src/web/scrapers/fdroid.ts +134 -0
- package/src/web/scrapers/firefox-addons.ts +191 -0
- package/src/web/scrapers/flathub.ts +223 -0
- package/src/web/scrapers/github-gist.ts +58 -0
- package/src/web/scrapers/github.ts +800 -0
- package/src/web/scrapers/gitlab.ts +401 -0
- package/src/web/scrapers/go-pkg.ts +266 -0
- package/src/web/scrapers/hackage.ts +129 -0
- package/src/web/scrapers/hackernews.ts +189 -0
- package/src/web/scrapers/hex.ts +105 -0
- package/src/web/scrapers/huggingface.ts +321 -0
- package/src/web/scrapers/iacr.ts +89 -0
- package/src/web/scrapers/index.ts +252 -0
- package/src/web/scrapers/jetbrains-marketplace.ts +159 -0
- package/src/web/scrapers/lemmy.ts +203 -0
- package/src/web/scrapers/lobsters.ts +175 -0
- package/src/web/scrapers/mastodon.ts +292 -0
- package/src/web/scrapers/maven.ts +138 -0
- package/src/web/scrapers/mdn.ts +173 -0
- package/src/web/scrapers/metacpan.ts +222 -0
- package/src/web/scrapers/musicbrainz.ts +250 -0
- package/src/web/scrapers/npm.ts +98 -0
- package/src/web/scrapers/nuget.ts +183 -0
- package/src/web/scrapers/nvd.ts +222 -0
- package/src/web/scrapers/ollama.ts +239 -0
- package/src/web/scrapers/open-vsx.ts +106 -0
- package/src/web/scrapers/opencorporates.ts +292 -0
- package/src/web/scrapers/openlibrary.ts +336 -0
- package/src/web/scrapers/orcid.ts +286 -0
- package/src/web/scrapers/osv.ts +176 -0
- package/src/web/scrapers/packagist.ts +160 -0
- package/src/web/scrapers/pub-dev.ts +143 -0
- package/src/web/scrapers/pubmed.ts +211 -0
- package/src/web/scrapers/pypi.ts +112 -0
- package/src/web/scrapers/rawg.ts +110 -0
- package/src/web/scrapers/readthedocs.ts +121 -0
- package/src/web/scrapers/reddit.ts +95 -0
- package/src/web/scrapers/repology.ts +251 -0
- package/src/web/scrapers/rfc.ts +201 -0
- package/src/web/scrapers/rubygems.ts +103 -0
- package/src/web/scrapers/searchcode.ts +189 -0
- package/src/web/scrapers/sec-edgar.ts +261 -0
- package/src/web/scrapers/semantic-scholar.ts +171 -0
- package/src/web/scrapers/snapcraft.ts +187 -0
- package/src/web/scrapers/sourcegraph.ts +336 -0
- package/src/web/scrapers/spdx.ts +108 -0
- package/src/web/scrapers/spotify.ts +198 -0
- package/src/web/scrapers/stackoverflow.ts +120 -0
- package/src/web/scrapers/terraform.ts +277 -0
- package/src/web/scrapers/tldr.ts +47 -0
- package/src/web/scrapers/twitter.ts +94 -0
- package/src/web/scrapers/types.ts +354 -0
- package/src/web/scrapers/utils.ts +109 -0
- package/src/web/scrapers/vimeo.ts +133 -0
- package/src/web/scrapers/vscode-marketplace.ts +187 -0
- package/src/web/scrapers/w3c.ts +156 -0
- package/src/web/scrapers/wikidata.ts +344 -0
- package/src/web/scrapers/wikipedia.ts +84 -0
- package/src/web/scrapers/youtube.ts +325 -0
- package/src/web/search/index.ts +393 -0
- package/src/web/search/provider.ts +272 -0
- package/src/web/search/providers/anthropic.ts +406 -0
- package/src/web/search/providers/base.ts +112 -0
- package/src/web/search/providers/brave.ts +181 -0
- package/src/web/search/providers/browser-headers.ts +82 -0
- package/src/web/search/providers/browser-page.ts +125 -0
- package/src/web/search/providers/codex.ts +788 -0
- package/src/web/search/providers/duckduckgo.ts +382 -0
- package/src/web/search/providers/ecosia.ts +183 -0
- package/src/web/search/providers/exa.ts +513 -0
- package/src/web/search/providers/firecrawl.ts +213 -0
- package/src/web/search/providers/gemini.ts +634 -0
- package/src/web/search/providers/google.ts +195 -0
- package/src/web/search/providers/jina.ts +144 -0
- package/src/web/search/providers/kagi.ts +98 -0
- package/src/web/search/providers/kimi.ts +221 -0
- package/src/web/search/providers/mojeek.ts +220 -0
- package/src/web/search/providers/parallel.ts +186 -0
- package/src/web/search/providers/perplexity-auth.ts +142 -0
- package/src/web/search/providers/perplexity.ts +997 -0
- package/src/web/search/providers/public.ts +199 -0
- package/src/web/search/providers/searxng.ts +467 -0
- package/src/web/search/providers/startpage.ts +225 -0
- package/src/web/search/providers/synthetic.ts +126 -0
- package/src/web/search/providers/tavily.ts +244 -0
- package/src/web/search/providers/tinyfish.ts +166 -0
- package/src/web/search/providers/utils.ts +130 -0
- package/src/web/search/providers/xai.ts +372 -0
- package/src/web/search/providers/zai.ts +452 -0
- package/src/web/search/query.ts +850 -0
- package/src/web/search/render.ts +262 -0
- package/src/web/search/types.ts +518 -0
- package/src/web/search/utils.ts +17 -0
- package/src/workspace-tree.ts +326 -0
|
@@ -0,0 +1,736 @@
|
|
|
1
|
+
import type { Clipboard, InMemorySnapshotStore } from "@oh-my-pi/hashline";
|
|
2
|
+
import type { AgentOptions, AgentTelemetryConfig, AgentTool } from "@oh-my-pi/pi-agent-core";
|
|
3
|
+
import type { FetchImpl, ImageContent, Model, ServiceTierByFamily, ToolChoice } from "@oh-my-pi/pi-ai";
|
|
4
|
+
import { logger } from "@oh-my-pi/pi-utils";
|
|
5
|
+
import type { AsyncJobManager } from "../async/job-manager";
|
|
6
|
+
import type { Rule } from "../capability/rule";
|
|
7
|
+
import type { PromptTemplate } from "../config/prompt-templates";
|
|
8
|
+
import type { Settings } from "../config/settings";
|
|
9
|
+
import { EditTool } from "../edit";
|
|
10
|
+
import { checkJuliaKernelAvailability } from "../eval/jl/kernel";
|
|
11
|
+
import { checkPythonKernelAvailability } from "../eval/py/kernel";
|
|
12
|
+
import { checkRubyKernelAvailability } from "../eval/rb/kernel";
|
|
13
|
+
import type { ToolPathWithSource } from "../extensibility/custom-tools";
|
|
14
|
+
import type { Skill } from "../extensibility/skills";
|
|
15
|
+
import type { GoalModeState, GoalRuntime } from "../goals";
|
|
16
|
+
import { GoalTool } from "../goals/tools/goal-tool";
|
|
17
|
+
import type { HindsightSessionState } from "../hindsight/state";
|
|
18
|
+
import type { LocalProtocolOptions } from "../internal-urls";
|
|
19
|
+
import type { DaemonCompletionNotification } from "../launch/protocol";
|
|
20
|
+
import { LspTool } from "../lsp";
|
|
21
|
+
import type { MCPManager } from "../mcp";
|
|
22
|
+
import type { MnemopiSessionState } from "../mnemopi/state";
|
|
23
|
+
import type { PlanModeState } from "../plan-mode/state";
|
|
24
|
+
import type { AgentLifecycleManager } from "../registry/agent-lifecycle";
|
|
25
|
+
import type { AgentRegistry } from "../registry/agent-registry";
|
|
26
|
+
import type { ArtifactManager } from "../session/artifacts";
|
|
27
|
+
import type { ClientBridge } from "../session/client-bridge";
|
|
28
|
+
import type { CustomMessage } from "../session/messages";
|
|
29
|
+
import type { UsageStatistics } from "../session/session-entries";
|
|
30
|
+
import type { SessionManager } from "../session/session-manager";
|
|
31
|
+
import type { ToolChoiceQueue } from "../session/tool-choice-queue";
|
|
32
|
+
import { TaskTool } from "../task";
|
|
33
|
+
import type { AgentOutputManager } from "../task/output-manager";
|
|
34
|
+
import { canSpawnAtDepth, type StructuredSubagentSchemaMode } from "../task/types";
|
|
35
|
+
import type { EventBus } from "../utils/event-bus";
|
|
36
|
+
import { type InspectImageMode, isInspectImageToolActive } from "../utils/inspect-image-mode";
|
|
37
|
+
import { WebSearchTool } from "../web/search";
|
|
38
|
+
import type { WorkspaceTree } from "../workspace-tree";
|
|
39
|
+
import { AskTool } from "./ask";
|
|
40
|
+
import { AstEditTool } from "./ast-edit";
|
|
41
|
+
import { AstGrepTool } from "./ast-grep";
|
|
42
|
+
import { BashTool } from "./bash";
|
|
43
|
+
import { BrowserTool } from "./browser";
|
|
44
|
+
import { type BuiltinToolName, type HiddenToolName, normalizeToolNames } from "./builtin-names";
|
|
45
|
+
import { type CheckpointState, CheckpointTool, type CompletedRewindState, RewindTool } from "./checkpoint";
|
|
46
|
+
import { ComputerTool } from "./computer";
|
|
47
|
+
import { DebugTool } from "./debug";
|
|
48
|
+
import { EvalTool } from "./eval";
|
|
49
|
+
import { resolveEvalBackends } from "./eval-backends";
|
|
50
|
+
import { GithubTool } from "./gh";
|
|
51
|
+
import { GlobTool } from "./glob";
|
|
52
|
+
import { GrepTool } from "./grep";
|
|
53
|
+
import { HubTool, isIrcEnabled } from "./hub";
|
|
54
|
+
import { InspectImageTool } from "./inspect-image";
|
|
55
|
+
import { LearnTool } from "./learn";
|
|
56
|
+
import { ManageSkillTool } from "./manage-skill";
|
|
57
|
+
import { MemoryEditTool } from "./memory-edit";
|
|
58
|
+
import { MemoryRecallTool } from "./memory-recall";
|
|
59
|
+
import { MemoryReflectTool } from "./memory-reflect";
|
|
60
|
+
import { MemoryRetainTool } from "./memory-retain";
|
|
61
|
+
import { wrapToolWithMetaNotice } from "./output-meta";
|
|
62
|
+
import { ReadTool } from "./read";
|
|
63
|
+
import type { PlanProposalHandler } from "./resolve";
|
|
64
|
+
import { SecurityScanTool } from "./security-scan";
|
|
65
|
+
import { type TodoPhase, TodoTool } from "./todo";
|
|
66
|
+
import { WriteTool } from "./write";
|
|
67
|
+
import { isMountableUnderXdev, type XdevState } from "./xdev";
|
|
68
|
+
import { YieldTool } from "./yield";
|
|
69
|
+
|
|
70
|
+
export * from "../edit";
|
|
71
|
+
export * from "../goals";
|
|
72
|
+
export * from "../lsp";
|
|
73
|
+
export * from "../session/streaming-output";
|
|
74
|
+
export * from "../task";
|
|
75
|
+
export * from "../web/search";
|
|
76
|
+
export * from "./ask";
|
|
77
|
+
export * from "./ast-edit";
|
|
78
|
+
export * from "./ast-grep";
|
|
79
|
+
export * from "./bash";
|
|
80
|
+
export * from "./browser";
|
|
81
|
+
export * from "./checkpoint";
|
|
82
|
+
export * from "./computer";
|
|
83
|
+
export * from "./computer/supervisor";
|
|
84
|
+
export * from "./debug";
|
|
85
|
+
export * from "./essential-tools";
|
|
86
|
+
export * from "./eval";
|
|
87
|
+
export * from "./eval-backends";
|
|
88
|
+
export * from "./gh";
|
|
89
|
+
export * from "./glob";
|
|
90
|
+
export * from "./grep";
|
|
91
|
+
export * from "./hub";
|
|
92
|
+
export * from "./image-gen";
|
|
93
|
+
export * from "./inspect-image";
|
|
94
|
+
export * from "./learn";
|
|
95
|
+
export * from "./manage-skill";
|
|
96
|
+
export * from "./memory-edit";
|
|
97
|
+
export * from "./memory-recall";
|
|
98
|
+
export * from "./memory-reflect";
|
|
99
|
+
export * from "./memory-retain";
|
|
100
|
+
export * from "./read";
|
|
101
|
+
export * from "./report-tool-issue";
|
|
102
|
+
export * from "./resolve";
|
|
103
|
+
export * from "./review";
|
|
104
|
+
export * from "./security-scan";
|
|
105
|
+
export * from "./todo";
|
|
106
|
+
export * from "./tts";
|
|
107
|
+
export * from "./vibe";
|
|
108
|
+
export * from "./write";
|
|
109
|
+
export * from "./xdev";
|
|
110
|
+
export * from "./yield";
|
|
111
|
+
|
|
112
|
+
/** Tool type (AgentTool from pi-ai) */
|
|
113
|
+
export type Tool = AgentTool<any, any, any>;
|
|
114
|
+
|
|
115
|
+
export type ContextFileEntry = {
|
|
116
|
+
path: string;
|
|
117
|
+
content: string;
|
|
118
|
+
depth?: number;
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
/** Image attachment handle exposed to tools for user-facing labels such as `Image #1`. */
|
|
122
|
+
export type ImageAttachmentEntry = {
|
|
123
|
+
label: string;
|
|
124
|
+
uri: string;
|
|
125
|
+
image: ImageContent;
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* A late LSP diagnostics result that arrived after the edit/write tool already
|
|
130
|
+
* returned. Surfaced to the model and the transcript via
|
|
131
|
+
* {@link ToolSession.queueDeferredDiagnostics}, batched through the session
|
|
132
|
+
* yield queue like background-job results.
|
|
133
|
+
*/
|
|
134
|
+
export interface DeferredDiagnosticsEntry {
|
|
135
|
+
/** Absolute path the diagnostics belong to (the renderer shortens it). */
|
|
136
|
+
path: string;
|
|
137
|
+
/** One-line severity summary, e.g. "2 errors". */
|
|
138
|
+
summary: string;
|
|
139
|
+
/** Formatted, ready-to-display diagnostic lines. */
|
|
140
|
+
messages: string[];
|
|
141
|
+
/** True when any message is error severity. */
|
|
142
|
+
errored: boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Evaluated at injection time (in the dispatcher's stale check): drop the entry
|
|
145
|
+
* when a newer mutation to the same file has superseded it, so the model never
|
|
146
|
+
* sees diagnostics for stale content.
|
|
147
|
+
*/
|
|
148
|
+
isStale(): boolean;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/** Session context for tool factories */
|
|
152
|
+
export interface ToolSession {
|
|
153
|
+
/** Current working directory */
|
|
154
|
+
cwd: string;
|
|
155
|
+
/** Additional workspace directories beyond cwd (multi-root), forwarded to subagents. */
|
|
156
|
+
additionalDirectories?: string[];
|
|
157
|
+
/** Whether UI is available */
|
|
158
|
+
hasUI: boolean;
|
|
159
|
+
/** Whether this session has begun disposal. */
|
|
160
|
+
isDisposed?: () => boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Suppress the spawn specialization/coordination advisory appended to `task`
|
|
163
|
+
* results. Set by internal/programmatic callers (e.g. the commit agent's
|
|
164
|
+
* file-analysis fan-out) whose results are consumed by code — not by a model
|
|
165
|
+
* orchestrating further spawns — so the nudge would only be noise.
|
|
166
|
+
*/
|
|
167
|
+
suppressSpawnAdvisory?: boolean;
|
|
168
|
+
/** Optional fetch implementation injected into the URL read pipeline (tests, proxies). Defaults to global fetch. */
|
|
169
|
+
fetch?: FetchImpl;
|
|
170
|
+
/** Provider credential resolver forwarded unchanged to restricted child sessions. */
|
|
171
|
+
getApiKey?: AgentOptions["getApiKey"];
|
|
172
|
+
/** Skip subprocess-kernel availability checks and warmup */
|
|
173
|
+
skipPythonPreflight?: boolean;
|
|
174
|
+
/** Pre-loaded context files (AGENTS.md, etc) */
|
|
175
|
+
contextFiles?: ContextFileEntry[];
|
|
176
|
+
/** Pre-loaded workspace tree (forwarded to subagents to skip re-scanning) */
|
|
177
|
+
workspaceTree?: WorkspaceTree;
|
|
178
|
+
/** Pre-loaded skills */
|
|
179
|
+
skills?: readonly Skill[];
|
|
180
|
+
/** Rediscover live session skills after a tool mutates their backing files. */
|
|
181
|
+
refreshSkills?: () => Promise<void>;
|
|
182
|
+
/** Pre-loaded prompt templates */
|
|
183
|
+
promptTemplates?: PromptTemplate[];
|
|
184
|
+
/** Pre-loaded rules (forwarded to subagents to skip re-discovery). */
|
|
185
|
+
rules?: Rule[];
|
|
186
|
+
/**
|
|
187
|
+
* Pre-discovered extension source paths. Forwarded to subagents so they
|
|
188
|
+
* skip the FS scan but still re-bind extensions to their own session-scoped
|
|
189
|
+
* `ExtensionAPI` (cwd, eventBus, runtime). Inline extension factories
|
|
190
|
+
* (`<inline-N>`) are NOT included — those are session-local.
|
|
191
|
+
*/
|
|
192
|
+
extensionPaths?: string[];
|
|
193
|
+
/**
|
|
194
|
+
* Pre-discovered custom-tool source paths from `.omp/tools/`, `.claude/tools/`,
|
|
195
|
+
* plugins, etc. Forwarded to subagents so they skip the FS scan but still
|
|
196
|
+
* re-bind tools to their own session-scoped `CustomToolAPI`.
|
|
197
|
+
*/
|
|
198
|
+
customToolPaths?: ToolPathWithSource[];
|
|
199
|
+
/** Whether LSP integrations are enabled */
|
|
200
|
+
enableLsp?: boolean;
|
|
201
|
+
/** Whether LSP is limited to navigation and diagnostics. */
|
|
202
|
+
lspReadOnly?: boolean;
|
|
203
|
+
/** Whether this invocation may expose IRC. `false` removes it even for subagents. */
|
|
204
|
+
enableIrc?: boolean;
|
|
205
|
+
/**
|
|
206
|
+
* Whether MCP capabilities may be forwarded to child sessions. `false`
|
|
207
|
+
* prohibits inherited-manager and process-global MCP fallback.
|
|
208
|
+
*/
|
|
209
|
+
enableMCP?: boolean;
|
|
210
|
+
/** Whether an edit-capable tool is available in this session (controls hashline output) */
|
|
211
|
+
hasEditTool?: boolean;
|
|
212
|
+
/** Event bus for tool/extension communication */
|
|
213
|
+
eventBus?: EventBus;
|
|
214
|
+
/** Output schema for structured completion (subagents). */
|
|
215
|
+
outputSchema?: unknown;
|
|
216
|
+
/** Enforcement policy for {@link outputSchema}; defaults to legacy permissive behavior. */
|
|
217
|
+
outputSchemaMode?: StructuredSubagentSchemaMode;
|
|
218
|
+
/** Whether to include the yield tool by default */
|
|
219
|
+
requireYieldTool?: boolean;
|
|
220
|
+
/** Session starts with a prewalk hand-off armed. Keeps `todo` in yield-gated
|
|
221
|
+
* (subagent) registries: the prewalk plan nudge + todo gate need it. */
|
|
222
|
+
prewalkArmed?: boolean;
|
|
223
|
+
/**
|
|
224
|
+
* Constrain the active set to the caller's explicit built-in names (plus a
|
|
225
|
+
* required yield tool). Suppresses automatic tool-set expansion.
|
|
226
|
+
*/
|
|
227
|
+
restrictToolNames?: boolean;
|
|
228
|
+
/** Task recursion depth (0 = top-level, 1 = first child, etc.) */
|
|
229
|
+
taskDepth?: number;
|
|
230
|
+
/** Get shared eval executor session ID. Subagents inherit this to share JS/Python/Ruby/Julia state. */
|
|
231
|
+
getEvalSessionId?: () => string | null;
|
|
232
|
+
/** Get session file */
|
|
233
|
+
getSessionFile: () => string | null;
|
|
234
|
+
/** Parent session journal used by tools that persist runtime lifecycle state. */
|
|
235
|
+
sessionManager?: Pick<SessionManager, "appendCustomEntry" | "ensureOnDisk" | "flush" | "getBranch" | "getEntries">;
|
|
236
|
+
/** Get eval kernel owner ID for session-scoped retained-kernel cleanup. */
|
|
237
|
+
getEvalKernelOwnerId?: () => string | null;
|
|
238
|
+
/** Reject new eval work once session disposal has started. */
|
|
239
|
+
assertEvalExecutionAllowed?: () => void;
|
|
240
|
+
/** Track tool-owned eval work so session disposal can await/abort it like direct session eval runs. */
|
|
241
|
+
trackEvalExecution?<T>(execution: Promise<T>, abortController: AbortController): Promise<T>;
|
|
242
|
+
/** Get session ID */
|
|
243
|
+
getSessionId?: () => string | null;
|
|
244
|
+
/** Get Hindsight runtime state for this agent session. */
|
|
245
|
+
getHindsightSessionState?: () => HindsightSessionState | undefined;
|
|
246
|
+
/** Get Mnemopi runtime state for this agent session. */
|
|
247
|
+
getMnemopiSessionState?: () => MnemopiSessionState | undefined;
|
|
248
|
+
/** Agent identity used for IRC routing. Returns the registry id (e.g. "Main", "AuthLoader"). */
|
|
249
|
+
getAgentId?: () => string | null;
|
|
250
|
+
/** Look up a registered tool by name (used by the eval js backend's tool bridge). */
|
|
251
|
+
getToolByName?: (name: string) => AgentTool | undefined;
|
|
252
|
+
/** Return whether a built-in tool is active in this turn's tool set. */
|
|
253
|
+
isToolActive?: (name: string) => boolean;
|
|
254
|
+
/** Update the active built-in tool predicate when a session changes tools mid-run. */
|
|
255
|
+
setActiveToolNames?: (names: Iterable<string>) => void;
|
|
256
|
+
/** Canonical map containing every registered tool exactly once. */
|
|
257
|
+
toolRegistry?: Map<string, Tool>;
|
|
258
|
+
/** `xd://` presentation state backed by {@link toolRegistry}. */
|
|
259
|
+
xdev?: XdevState;
|
|
260
|
+
/** Agent registry for IRC routing across live sessions. */
|
|
261
|
+
agentRegistry?: AgentRegistry;
|
|
262
|
+
/** Idle→parked→revive lifecycle owner; lets the hub kill a non-job-backed agent registration. Default: AgentLifecycleManager.global(). */
|
|
263
|
+
agentLifecycle?: () => AgentLifecycleManager;
|
|
264
|
+
/** Get artifacts directory for artifact:// URLs */
|
|
265
|
+
getArtifactsDir?: () => string | null;
|
|
266
|
+
/** Get the ArtifactManager backing this session (shared across parent + subagents). */
|
|
267
|
+
getArtifactManager?: () => ArtifactManager | null;
|
|
268
|
+
/** Allocate a new artifact path and ID for session-scoped truncated output. */
|
|
269
|
+
allocateOutputArtifact?: (toolType: string) => Promise<{ id?: string; path?: string }>;
|
|
270
|
+
/** Get session spawns */
|
|
271
|
+
getSessionSpawns: () => string | null;
|
|
272
|
+
/** Get resolved model string if explicitly set for this session */
|
|
273
|
+
getModelString?: () => string | undefined;
|
|
274
|
+
/** Get the current session model string, regardless of how it was chosen */
|
|
275
|
+
getActiveModelString?: () => string | undefined;
|
|
276
|
+
/** Get the current session model object (provider/api capabilities), regardless of how it was chosen. */
|
|
277
|
+
getActiveModel?: () => Model | undefined;
|
|
278
|
+
/** Session-scoped inspect_image mode override set by `/vision`; wins over the persisted setting. */
|
|
279
|
+
getInspectImageModeOverride?: () => InspectImageMode | undefined;
|
|
280
|
+
/** Get the session's live per-family service tiers (undefined = none). Source of truth for subagent `tier.subagent: inherit`. */
|
|
281
|
+
getServiceTierByFamily?: () => ServiceTierByFamily | undefined;
|
|
282
|
+
/** Auth storage for passing to subagents (avoids re-discovery) */
|
|
283
|
+
authStorage?: import("../session/auth-storage").AuthStorage;
|
|
284
|
+
/** Model registry for passing to subagents (avoids re-discovery) */
|
|
285
|
+
modelRegistry?: import("../config/model-registry").ModelRegistry;
|
|
286
|
+
/** Agent output manager for unique agent:// IDs across task invocations */
|
|
287
|
+
agentOutputManager?: AgentOutputManager;
|
|
288
|
+
/**
|
|
289
|
+
* Async job manager scoped to this session.
|
|
290
|
+
*
|
|
291
|
+
* - Top-level session that constructed one: its own manager.
|
|
292
|
+
* - Subagent (`parentTaskPrefix` set): the parent's manager, so background
|
|
293
|
+
* bash/task work and `onJobComplete` deliveries flow into the conversation
|
|
294
|
+
* that spawned it.
|
|
295
|
+
* - Secondary in-process top-level session that found a singleton already
|
|
296
|
+
* installed (issue #1923): `undefined`. Tools refuse async work rather
|
|
297
|
+
* than silently route completions into the owning session's `yieldQueue`.
|
|
298
|
+
*
|
|
299
|
+
* Tools MUST use this instead of `AsyncJobManager.instance()` so a secondary
|
|
300
|
+
* session never borrows the owning session's manager by accident.
|
|
301
|
+
*/
|
|
302
|
+
asyncJobManager?: AsyncJobManager;
|
|
303
|
+
/** MCP manager visible to subagents without relying on the process-global singleton. */
|
|
304
|
+
mcpManager?: MCPManager;
|
|
305
|
+
/** Local protocol root to propagate to nested subagents and eval-created agents. */
|
|
306
|
+
localProtocolOptions?: LocalProtocolOptions;
|
|
307
|
+
/** Settings instance for passing to subagents */
|
|
308
|
+
settings: Settings;
|
|
309
|
+
/** Plan mode state (if active) */
|
|
310
|
+
getPlanModeState?: () => PlanModeState | undefined;
|
|
311
|
+
/** Path of the session's active plan reference (e.g. `local://<title>.md`); defaults to `local://PLAN.md`. */
|
|
312
|
+
getPlanReferencePath?: () => string;
|
|
313
|
+
/** Goal mode state (if active or paused) */
|
|
314
|
+
getGoalModeState?: () => GoalModeState | undefined;
|
|
315
|
+
/** Goal runtime for the active agent session. */
|
|
316
|
+
getGoalRuntime?: () => GoalRuntime | undefined;
|
|
317
|
+
/** Get cumulative session usage statistics (input/output tokens, cost). */
|
|
318
|
+
getUsageStatistics?: () => UsageStatistics;
|
|
319
|
+
/** Current per-turn token budget {total, spent, hard} for the eval `budget` helper. */
|
|
320
|
+
getTurnBudget?: () => { total: number | null; spent: number; hard: boolean };
|
|
321
|
+
/** Record output tokens consumed by an eval-spawned subagent toward the current turn budget. */
|
|
322
|
+
recordEvalSubagentUsage?: (output: number) => void;
|
|
323
|
+
/** Bridge to the connected client (e.g. ACP editor host). Tools should route fs/terminal/permission requests through this when available. */
|
|
324
|
+
getClientBridge?: () => ClientBridge | undefined;
|
|
325
|
+
/** Get cached todo phases for this session. */
|
|
326
|
+
getTodoPhases?: () => TodoPhase[];
|
|
327
|
+
/** Replace cached todo phases for this session. */
|
|
328
|
+
setTodoPhases?: (phases: TodoPhase[]) => void;
|
|
329
|
+
/** The tool-choice queue used to force forthcoming tool invocations and carry invocation handlers. */
|
|
330
|
+
getToolChoiceQueue?(): ToolChoiceQueue;
|
|
331
|
+
/** Build a model-provider-specific ToolChoice that targets the named tool, or undefined if unsupported. */
|
|
332
|
+
buildToolChoice?(toolName: string): ToolChoice | undefined;
|
|
333
|
+
/** Steer a hidden custom message into the conversation (e.g. a preview reminder). */
|
|
334
|
+
steer?(message: { customType: string; content: string; details?: unknown }): void;
|
|
335
|
+
/** Peek the currently in-flight tool-choice queue directive's invocation handler. Used by
|
|
336
|
+
* the `xd://resolve` and `xd://reject` dispatch to reach the pending action. */
|
|
337
|
+
peekQueueInvoker?(): ((input: unknown) => Promise<unknown> | unknown) | undefined;
|
|
338
|
+
/** Peek the most-recently registered non-forcing pending preview invoker. A `write` to
|
|
339
|
+
* `xd://resolve` or `xd://reject` dispatches to it so a staged preview resolves
|
|
340
|
+
* WITHOUT forcing tool_choice — the agent-loop's SoftToolRequirement lifecycle owns
|
|
341
|
+
* reminder injection and escalation. */
|
|
342
|
+
peekPendingInvoker?(): ((input: unknown) => Promise<unknown> | unknown) | undefined;
|
|
343
|
+
/** Clear stale pending preview markers when a resolution dispatch cannot run them. */
|
|
344
|
+
clearPendingInvokers?(): void;
|
|
345
|
+
/** Peek the plan-proposal handler installed by plan mode. `xd://propose` dispatches the
|
|
346
|
+
* written plan title to it. */
|
|
347
|
+
peekPlanProposalHandler?(): PlanProposalHandler | undefined;
|
|
348
|
+
/** Register or clear the plan-proposal handler. Passing `null` clears it. */
|
|
349
|
+
setPlanProposalHandler?(handler: PlanProposalHandler | null): void;
|
|
350
|
+
/** Get active checkpoint state if any. */
|
|
351
|
+
getCheckpointState?: () => CheckpointState | undefined;
|
|
352
|
+
/** Set or clear active checkpoint state. */
|
|
353
|
+
setCheckpointState?: (state: CheckpointState | null) => void;
|
|
354
|
+
/** Get the most recent completed rewind, if this session just rewound a checkpoint. */
|
|
355
|
+
getLastCompletedRewind?: () => CompletedRewindState | undefined;
|
|
356
|
+
|
|
357
|
+
/** Per-session snapshot store of file contents as last shown to the model
|
|
358
|
+
* by `read`/`search`. Used by hashline anchor-stale recovery to
|
|
359
|
+
* reconstruct the version the model authored anchors against when the
|
|
360
|
+
* file changed out-of-band. Lazily initialized by `getFileSnapshotStore`. */
|
|
361
|
+
fileSnapshotStore?: InMemorySnapshotStore;
|
|
362
|
+
|
|
363
|
+
/** Per-session `CUT`/`PASTE` clipboard register shared across edit
|
|
364
|
+
* calls. Lazily initialized by `getEditClipboard`. */
|
|
365
|
+
editClipboard?: Clipboard;
|
|
366
|
+
|
|
367
|
+
/** Per-session log of unresolved git merge conflict regions surfaced by
|
|
368
|
+
* `read`. Each entry gets a stable id N referenced by `write conflict://N`
|
|
369
|
+
* to splice the recorded region with replacement content. Lazily initialized
|
|
370
|
+
* by `getConflictHistory`. */
|
|
371
|
+
conflictHistory?: import("./conflict-detect").ConflictHistory;
|
|
372
|
+
|
|
373
|
+
/** Per-session ledger of post-edit LSP diagnostics already surfaced to the
|
|
374
|
+
* model for each file. Lazily initialized by `getDiagnosticsLedger`. */
|
|
375
|
+
diagnosticsLedger?: import("../lsp/diagnostics-ledger").DiagnosticsLedger;
|
|
376
|
+
|
|
377
|
+
/** Per-session ledger of consecutive byte-identical no-op edits, keyed by
|
|
378
|
+
* canonical file path. The hashline executor escalates a soft no-op hint
|
|
379
|
+
* to a thrown error once the same payload no-ops `NOOP_HARD_LIMIT` times,
|
|
380
|
+
* breaking subagent loops that ignore the textual hint (issue #2081).
|
|
381
|
+
* Lazily initialized by `getNoopLoopGuard`. */
|
|
382
|
+
noopLoopGuard?: import("../edit/hashline/noop-loop-guard").NoopLoopGuard;
|
|
383
|
+
|
|
384
|
+
/** Queue a hidden message to be injected at the next agent turn. */
|
|
385
|
+
queueDeferredMessage?(message: CustomMessage): void;
|
|
386
|
+
/** Queue a broker supervised-process completion for the owning session. */
|
|
387
|
+
queueLaunchCompletion?(notification: DaemonCompletionNotification): Promise<void>;
|
|
388
|
+
/** Register cleanup that runs when this session is disposed; returns a handle that removes the cleanup. */
|
|
389
|
+
registerDisposeCallback?(callback: () => void): (() => void) | void;
|
|
390
|
+
/** Register cleanup that runs when this ToolSession adopts a different session ID. */
|
|
391
|
+
registerSessionChangeCallback?(callback: () => void): (() => void) | void;
|
|
392
|
+
/** Queue late LSP diagnostics (arrived after an edit/write returned) to be shown
|
|
393
|
+
* in the transcript and delivered to the model at the next yield, like background
|
|
394
|
+
* job results. */
|
|
395
|
+
queueDeferredDiagnostics?(entry: DeferredDiagnosticsEntry): void;
|
|
396
|
+
/** Bump and return the session-global mutation counter for `path`. Edit/write
|
|
397
|
+
* tools call this on every file mutation so stale late-diagnostics can be dropped. */
|
|
398
|
+
bumpFileMutationVersion?(path: string): number;
|
|
399
|
+
/** Read the current session-global mutation counter for `path` (0 if never mutated). */
|
|
400
|
+
getFileMutationVersion?(path: string): number;
|
|
401
|
+
/** Get the active OpenTelemetry config so subagent dispatch can forward
|
|
402
|
+
* the parent's tracer/hooks with the subagent's own identity stamped. */
|
|
403
|
+
getTelemetry?: () => AgentTelemetryConfig | undefined;
|
|
404
|
+
/** Return image attachments visible to tools for resolving labels such as `Image #1`. */
|
|
405
|
+
getImageAttachments?: () => ImageAttachmentEntry[];
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
export type ToolFactory = (session: ToolSession) => Tool | null | Promise<Tool | null>;
|
|
409
|
+
|
|
410
|
+
/**
|
|
411
|
+
* Public callable factory map. External callers may invoke `BUILTIN_TOOLS.read(session)` or
|
|
412
|
+
* `BUILTIN_TOOLS[name](session)` to construct a tool directly.
|
|
413
|
+
*/
|
|
414
|
+
export const BUILTIN_TOOLS: Record<BuiltinToolName, ToolFactory> = {
|
|
415
|
+
read: s => new ReadTool(s),
|
|
416
|
+
security_scan: s => new SecurityScanTool(s),
|
|
417
|
+
bash: s => new BashTool(s),
|
|
418
|
+
edit: s => new EditTool(s),
|
|
419
|
+
ast_grep: s => new AstGrepTool(s),
|
|
420
|
+
ast_edit: s => new AstEditTool(s),
|
|
421
|
+
ask: AskTool.createIf,
|
|
422
|
+
debug: DebugTool.createIf,
|
|
423
|
+
eval: s => new EvalTool(s),
|
|
424
|
+
github: GithubTool.createIf,
|
|
425
|
+
glob: s => new GlobTool(s, { rootPathAlias: true }),
|
|
426
|
+
grep: s => new GrepTool(s),
|
|
427
|
+
lsp: LspTool.createIf,
|
|
428
|
+
inspect_image: s => new InspectImageTool(s),
|
|
429
|
+
browser: s => new BrowserTool(s),
|
|
430
|
+
computer: s => new ComputerTool(s),
|
|
431
|
+
checkpoint: CheckpointTool.createIf,
|
|
432
|
+
rewind: RewindTool.createIf,
|
|
433
|
+
task: s => TaskTool.create(s),
|
|
434
|
+
hub: s => new HubTool(s),
|
|
435
|
+
todo: s => new TodoTool(s),
|
|
436
|
+
web_search: s => new WebSearchTool(s),
|
|
437
|
+
write: s => new WriteTool(s),
|
|
438
|
+
memory_edit: MemoryEditTool.createIf,
|
|
439
|
+
retain: MemoryRetainTool.createIf,
|
|
440
|
+
recall: MemoryRecallTool.createIf,
|
|
441
|
+
reflect: MemoryReflectTool.createIf,
|
|
442
|
+
learn: LearnTool.createIf,
|
|
443
|
+
manage_skill: ManageSkillTool.createIf,
|
|
444
|
+
};
|
|
445
|
+
|
|
446
|
+
export const HIDDEN_TOOLS: Record<HiddenToolName, ToolFactory> = {
|
|
447
|
+
yield: s => new YieldTool(s),
|
|
448
|
+
goal: s => new GoalTool(s),
|
|
449
|
+
};
|
|
450
|
+
|
|
451
|
+
export type ToolName = BuiltinToolName;
|
|
452
|
+
|
|
453
|
+
/**
|
|
454
|
+
* Create tools from BUILTIN_TOOLS registry.
|
|
455
|
+
*/
|
|
456
|
+
export async function createTools(session: ToolSession, toolNames?: string[]): Promise<Tool[]> {
|
|
457
|
+
const restrictToolNames = session.restrictToolNames === true;
|
|
458
|
+
const includeYield = session.requireYieldTool === true;
|
|
459
|
+
const enableLsp = session.enableLsp ?? true;
|
|
460
|
+
const requestedTools = restrictToolNames
|
|
461
|
+
? normalizeToolNames(toolNames ?? [])
|
|
462
|
+
: toolNames && toolNames.length > 0
|
|
463
|
+
? normalizeToolNames(toolNames)
|
|
464
|
+
: undefined;
|
|
465
|
+
const goalEnabled = session.settings.get("goal.enabled");
|
|
466
|
+
const goalModeActive = !restrictToolNames && goalEnabled && session.getGoalModeState?.()?.enabled === true;
|
|
467
|
+
if (goalModeActive && requestedTools && !requestedTools.includes("goal")) {
|
|
468
|
+
requestedTools.push("goal");
|
|
469
|
+
}
|
|
470
|
+
const backends = resolveEvalBackends(session);
|
|
471
|
+
const allowPython = backends.python;
|
|
472
|
+
const allowJs = backends.js;
|
|
473
|
+
const allowRuby = backends.ruby;
|
|
474
|
+
const allowJulia = backends.julia;
|
|
475
|
+
const skipEvalPreflight = session.skipPythonPreflight === true;
|
|
476
|
+
// Eval tool is enabled if ANY backend is reachable. JS needs no preflight, so
|
|
477
|
+
// we only probe Python/Ruby/Julia when JS is disabled — otherwise allowEval is
|
|
478
|
+
// already true and per-backend availability is checked at first invocation.
|
|
479
|
+
let pythonAvailable = true;
|
|
480
|
+
let rubyAvailable = true;
|
|
481
|
+
let juliaAvailable = true;
|
|
482
|
+
const evalRequested = requestedTools === undefined || requestedTools.includes("eval");
|
|
483
|
+
if (!skipEvalPreflight && !allowJs && evalRequested) {
|
|
484
|
+
if (allowPython) {
|
|
485
|
+
const availability = await logger.time(
|
|
486
|
+
"createTools:pythonCheck",
|
|
487
|
+
checkPythonKernelAvailability,
|
|
488
|
+
session.cwd,
|
|
489
|
+
session.settings.get("python.interpreter")?.trim() || undefined,
|
|
490
|
+
);
|
|
491
|
+
pythonAvailable = availability.ok;
|
|
492
|
+
if (!availability.ok) {
|
|
493
|
+
logger.warn("Python kernel unavailable and JS backend disabled", { reason: availability.reason });
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
if (allowRuby) {
|
|
497
|
+
const availability = await checkRubyKernelAvailability(
|
|
498
|
+
session.cwd,
|
|
499
|
+
session.settings.get("ruby.interpreter")?.trim() || undefined,
|
|
500
|
+
);
|
|
501
|
+
rubyAvailable = availability.ok;
|
|
502
|
+
if (!availability.ok) {
|
|
503
|
+
logger.warn("Ruby kernel unavailable and JS backend disabled", { reason: availability.reason });
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
if (allowJulia) {
|
|
507
|
+
const availability = await checkJuliaKernelAvailability(
|
|
508
|
+
session.cwd,
|
|
509
|
+
session.settings.get("julia.interpreter")?.trim() || undefined,
|
|
510
|
+
);
|
|
511
|
+
juliaAvailable = availability.ok;
|
|
512
|
+
if (!availability.ok) {
|
|
513
|
+
logger.warn("Julia kernel unavailable and JS backend disabled", { reason: availability.reason });
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
const effectivePythonAllowed = allowPython && pythonAvailable;
|
|
519
|
+
const effectiveRubyAllowed = allowRuby && rubyAvailable;
|
|
520
|
+
const effectiveJuliaAllowed = allowJulia && juliaAvailable;
|
|
521
|
+
// Eval is exposed whenever any backend is reachable. A backend may be
|
|
522
|
+
// unreachable, in which case eval dispatches exclusively to the others.
|
|
523
|
+
const allowEval = effectivePythonAllowed || allowJs || effectiveRubyAllowed || effectiveJuliaAllowed;
|
|
524
|
+
|
|
525
|
+
// Checkpoint and rewind are a pair: listing one without the other strands
|
|
526
|
+
// the agent (it can checkpoint but not rewind, or vice versa). Auto-include
|
|
527
|
+
// the sister tool so a one-sided frontmatter `tools:` entry still works.
|
|
528
|
+
// Unlike the AST/auto-learn convenience auto-includes below, this is a
|
|
529
|
+
// safety pairing — it applies to restricted sessions too.
|
|
530
|
+
if (requestedTools && session.settings.get("checkpoint.enabled")) {
|
|
531
|
+
if (requestedTools.includes("checkpoint") && !requestedTools.includes("rewind")) {
|
|
532
|
+
requestedTools.push("rewind");
|
|
533
|
+
} else if (requestedTools.includes("rewind") && !requestedTools.includes("checkpoint")) {
|
|
534
|
+
requestedTools.push("checkpoint");
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
// Auto-include AST counterparts when their text-based sibling is present.
|
|
538
|
+
// Restricted callers own the active list and must not have it widened.
|
|
539
|
+
if (requestedTools && !restrictToolNames) {
|
|
540
|
+
if (goalModeActive && !requestedTools.includes("goal")) {
|
|
541
|
+
requestedTools.push("goal");
|
|
542
|
+
}
|
|
543
|
+
if (
|
|
544
|
+
requestedTools.includes("grep") &&
|
|
545
|
+
!requestedTools.includes("ast_grep") &&
|
|
546
|
+
session.settings.get("astGrep.enabled")
|
|
547
|
+
) {
|
|
548
|
+
requestedTools.push("ast_grep");
|
|
549
|
+
}
|
|
550
|
+
if (
|
|
551
|
+
requestedTools.includes("edit") &&
|
|
552
|
+
!requestedTools.includes("ast_edit") &&
|
|
553
|
+
session.settings.get("astEdit.enabled")
|
|
554
|
+
) {
|
|
555
|
+
requestedTools.push("ast_edit");
|
|
556
|
+
}
|
|
557
|
+
if (["hindsight", "mnemopi"].includes(session.settings.get("memory.backend") ?? "")) {
|
|
558
|
+
for (const name of ["recall", "retain", "reflect"]) {
|
|
559
|
+
if (!requestedTools.includes(name)) requestedTools.push(name);
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
if (session.settings.get("memory.backend") === "mnemopi" && !requestedTools.includes("memory_edit")) {
|
|
563
|
+
requestedTools.push("memory_edit");
|
|
564
|
+
}
|
|
565
|
+
// Auto-learn tools are gated by `autolearn.enabled` but, like the memory
|
|
566
|
+
// tools above, must also be force-included into an explicit requestedTools
|
|
567
|
+
// list so a restricted top-level session whose controller/guidance is
|
|
568
|
+
// active still exposes the tools the nudge points at. Gated to top-level
|
|
569
|
+
// (taskDepth 0): the controller only runs there, so a subagent's explicit
|
|
570
|
+
// tool whitelist must never be silently widened with write-capable tools.
|
|
571
|
+
if (session.settings.get("autolearn.enabled") && (session.taskDepth ?? 0) === 0) {
|
|
572
|
+
if (!requestedTools.includes("manage_skill")) requestedTools.push("manage_skill");
|
|
573
|
+
if (
|
|
574
|
+
["hindsight", "mnemopi", "local"].includes(session.settings.get("memory.backend") ?? "") &&
|
|
575
|
+
!requestedTools.includes("learn")
|
|
576
|
+
) {
|
|
577
|
+
requestedTools.push("learn");
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
const allTools: Record<string, ToolFactory> = { ...BUILTIN_TOOLS, ...HIDDEN_TOOLS };
|
|
582
|
+
const isToolAllowed = (name: string) => {
|
|
583
|
+
// Never in the default set. Explicitly activatable while goal.enabled and
|
|
584
|
+
// no goal record exists yet — /guided-goal enables it so the agent can
|
|
585
|
+
// finish the interview with `goal create`, which turns goal mode on. Once
|
|
586
|
+
// a goal record exists, only an enabled goal keeps the tool: a completed
|
|
587
|
+
// (exiting) or paused goal must stop advertising it on the next rebuild.
|
|
588
|
+
if (name === "goal") {
|
|
589
|
+
if (!goalEnabled || restrictToolNames) return false;
|
|
590
|
+
const goalState = session.getGoalModeState?.();
|
|
591
|
+
return goalState === undefined || goalState.enabled === true || goalState.goal.status === "dropped";
|
|
592
|
+
}
|
|
593
|
+
if (name === "lsp") return enableLsp && session.settings.get("lsp.enabled");
|
|
594
|
+
if (name === "bash") return session.settings.get("bash.enabled");
|
|
595
|
+
if (name === "eval") return allowEval;
|
|
596
|
+
if (name === "debug") return session.settings.get("debug.enabled");
|
|
597
|
+
if (name === "todo")
|
|
598
|
+
return (!includeYield || session.prewalkArmed === true) && session.settings.get("todo.enabled");
|
|
599
|
+
if (name === "glob") return session.settings.get("glob.enabled");
|
|
600
|
+
if (name === "grep") return session.settings.get("grep.enabled");
|
|
601
|
+
if (name === "github") return session.settings.get("github.enabled");
|
|
602
|
+
if (name === "ast_grep") return session.settings.get("astGrep.enabled");
|
|
603
|
+
if (name === "ast_edit") return session.settings.get("astEdit.enabled");
|
|
604
|
+
if (name === "inspect_image") return isInspectImageToolActive(session);
|
|
605
|
+
if (name === "web_search") return session.settings.get("web_search.enabled");
|
|
606
|
+
if (name === "security_scan") return session.settings.get("security.enabled");
|
|
607
|
+
if (name === "ask") return session.settings.get("ask.enabled");
|
|
608
|
+
if (name === "browser") return session.settings.get("browser.enabled");
|
|
609
|
+
if (name === "computer") return session.settings.get("computer.enabled");
|
|
610
|
+
if (name === "checkpoint" || name === "rewind")
|
|
611
|
+
return (
|
|
612
|
+
session.settings.get("checkpoint.enabled") &&
|
|
613
|
+
((session.taskDepth ?? 0) === 0 || requestedTools !== undefined)
|
|
614
|
+
);
|
|
615
|
+
if (name === "hub") {
|
|
616
|
+
return (
|
|
617
|
+
!restrictToolNames && session.enableIrc !== false && isIrcEnabled(session.settings, session.taskDepth ?? 0)
|
|
618
|
+
);
|
|
619
|
+
}
|
|
620
|
+
if (name === "retain" || name === "recall" || name === "reflect") {
|
|
621
|
+
return ["hindsight", "mnemopi"].includes(session.settings.get("memory.backend") ?? "");
|
|
622
|
+
}
|
|
623
|
+
if (name === "memory_edit") return session.settings.get("memory.backend") === "mnemopi";
|
|
624
|
+
if (name === "manage_skill")
|
|
625
|
+
return (
|
|
626
|
+
session.settings.get("autolearn.enabled") &&
|
|
627
|
+
((session.taskDepth ?? 0) === 0 || requestedTools !== undefined)
|
|
628
|
+
);
|
|
629
|
+
if (name === "learn") {
|
|
630
|
+
return (
|
|
631
|
+
session.settings.get("autolearn.enabled") &&
|
|
632
|
+
((session.taskDepth ?? 0) === 0 || requestedTools !== undefined) &&
|
|
633
|
+
["hindsight", "mnemopi", "local"].includes(session.settings.get("memory.backend") ?? "")
|
|
634
|
+
);
|
|
635
|
+
}
|
|
636
|
+
if (name === "task") {
|
|
637
|
+
return canSpawnAtDepth(session.settings.get("task.maxRecursionDepth") ?? 2, session.taskDepth ?? 0);
|
|
638
|
+
}
|
|
639
|
+
return true;
|
|
640
|
+
};
|
|
641
|
+
if (includeYield && requestedTools && !requestedTools.includes("yield")) {
|
|
642
|
+
requestedTools.push("yield");
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
const filteredRequestedTools = requestedTools?.filter(name => name in allTools && isToolAllowed(name));
|
|
646
|
+
const baseEntries =
|
|
647
|
+
filteredRequestedTools !== undefined
|
|
648
|
+
? filteredRequestedTools.map(name => [name, allTools[name]] as const)
|
|
649
|
+
: [
|
|
650
|
+
...Object.entries(BUILTIN_TOOLS)
|
|
651
|
+
.filter(([name]) => isToolAllowed(name))
|
|
652
|
+
.map(([name, factory]) => [name, factory] as const),
|
|
653
|
+
...(includeYield ? ([["yield", HIDDEN_TOOLS.yield]] as const) : []),
|
|
654
|
+
...(goalModeActive ? ([["goal", HIDDEN_TOOLS.goal]] as const) : []),
|
|
655
|
+
];
|
|
656
|
+
|
|
657
|
+
const activeToolNames = new Set(baseEntries.map(([name]) => name));
|
|
658
|
+
if (session.setActiveToolNames) {
|
|
659
|
+
session.setActiveToolNames(activeToolNames);
|
|
660
|
+
} else {
|
|
661
|
+
session.isToolActive = name => activeToolNames.has(name);
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
const baseResults = await Promise.all(
|
|
665
|
+
baseEntries.map(async ([name, factory]) => {
|
|
666
|
+
const tool = await logger.time(`createTools:${name}`, factory as ToolFactory, session);
|
|
667
|
+
return tool ? wrapToolWithMetaNotice(tool) : null;
|
|
668
|
+
}),
|
|
669
|
+
);
|
|
670
|
+
let tools = baseResults.filter((r): r is Tool => r !== null);
|
|
671
|
+
const toolRegistry = session.toolRegistry ?? new Map<string, Tool>();
|
|
672
|
+
session.toolRegistry = toolRegistry;
|
|
673
|
+
const builtInNames = new Set(tools.map(tool => tool.name));
|
|
674
|
+
for (const tool of tools) toolRegistry.set(tool.name, tool);
|
|
675
|
+
|
|
676
|
+
// Ordinary sessions use xd:// for discoverable built-ins, custom tools, and
|
|
677
|
+
// MCP tools. Structured children must expose only their host-provided names,
|
|
678
|
+
// so never allocate a registry that later SDK assembly could populate.
|
|
679
|
+
// The transport rides read/write, so a session granted no write tool never
|
|
680
|
+
// allocates xd:// state — its tools are exposed top-level directly instead
|
|
681
|
+
// of auto-granting a write transport the session was denied.
|
|
682
|
+
// Explicitly requested built-ins retain their top-level presentation.
|
|
683
|
+
const xdevEnabled =
|
|
684
|
+
!restrictToolNames && session.settings.get("tools.xdev") && tools.some(tool => tool.name === "write");
|
|
685
|
+
const mountBuiltinTools = requestedTools === undefined;
|
|
686
|
+
if (xdevEnabled) {
|
|
687
|
+
const mountedNames = new Set<string>();
|
|
688
|
+
const kept: Tool[] = [];
|
|
689
|
+
for (const tool of tools) {
|
|
690
|
+
const mountable = mountBuiltinTools && isMountableUnderXdev(tool) && tool.name in BUILTIN_TOOLS;
|
|
691
|
+
if (mountable) mountedNames.add(tool.name);
|
|
692
|
+
else kept.push(tool);
|
|
693
|
+
}
|
|
694
|
+
session.xdev = {
|
|
695
|
+
tools: toolRegistry,
|
|
696
|
+
mountedNames,
|
|
697
|
+
builtInNames,
|
|
698
|
+
isActive: name => session.isToolActive?.(name) === true,
|
|
699
|
+
};
|
|
700
|
+
tools = kept;
|
|
701
|
+
}
|
|
702
|
+
// Staged previews from deferrable tools (e.g. ast_edit) resolve through a
|
|
703
|
+
// `write` to xd://resolve/reject, so retain write whenever one can stage.
|
|
704
|
+
// xd:// mounting itself never registers write: sessions without a granted
|
|
705
|
+
// write tool skip mounting entirely (see xdevEnabled above).
|
|
706
|
+
const xdevMounted = (session.xdev?.mountedNames.size ?? 0) > 0;
|
|
707
|
+
if (
|
|
708
|
+
!restrictToolNames &&
|
|
709
|
+
tools.some(tool => tool.deferrable === true) &&
|
|
710
|
+
!tools.some(tool => tool.name === "write")
|
|
711
|
+
) {
|
|
712
|
+
const writeTool = await logger.time("createTools:write", BUILTIN_TOOLS.write, session);
|
|
713
|
+
if (writeTool) {
|
|
714
|
+
const wrapped = wrapToolWithMetaNotice(writeTool);
|
|
715
|
+
tools.push(wrapped);
|
|
716
|
+
toolRegistry.set(wrapped.name, wrapped);
|
|
717
|
+
builtInNames.add(wrapped.name);
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
if (!restrictToolNames && xdevMounted && !tools.some(tool => tool.name === "read")) {
|
|
721
|
+
const readTool = await logger.time("createTools:read", BUILTIN_TOOLS.read, session);
|
|
722
|
+
if (readTool) {
|
|
723
|
+
const wrapped = wrapToolWithMetaNotice(readTool);
|
|
724
|
+
tools.push(wrapped);
|
|
725
|
+
toolRegistry.set(wrapped.name, wrapped);
|
|
726
|
+
builtInNames.add(wrapped.name);
|
|
727
|
+
}
|
|
728
|
+
}
|
|
729
|
+
if (xdevEnabled) {
|
|
730
|
+
const finalActiveNames = new Set(tools.map(tool => tool.name));
|
|
731
|
+
if (session.setActiveToolNames) session.setActiveToolNames(finalActiveNames);
|
|
732
|
+
else session.isToolActive = name => finalActiveNames.has(name);
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
return tools;
|
|
736
|
+
}
|