@ashx-j/lunr 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5042 -0
- package/README.md +691 -0
- package/dist/builtin-extensions/ashxj-spinners.d.ts +3 -0
- package/dist/builtin-extensions/ashxj-spinners.d.ts.map +1 -0
- package/dist/builtin-extensions/ashxj-spinners.js +271 -0
- package/dist/builtin-extensions/ashxj-spinners.js.map +1 -0
- package/dist/builtin-extensions/ashxj-thinking.d.ts +65 -0
- package/dist/builtin-extensions/ashxj-thinking.d.ts.map +1 -0
- package/dist/builtin-extensions/ashxj-thinking.js +308 -0
- package/dist/builtin-extensions/ashxj-thinking.js.map +1 -0
- package/dist/builtin-extensions/ashxj-tui.d.ts +137 -0
- package/dist/builtin-extensions/ashxj-tui.d.ts.map +1 -0
- package/dist/builtin-extensions/ashxj-tui.js +579 -0
- package/dist/builtin-extensions/ashxj-tui.js.map +1 -0
- package/dist/builtin-extensions/index.d.ts +11 -0
- package/dist/builtin-extensions/index.d.ts.map +1 -0
- package/dist/builtin-extensions/index.js +62 -0
- package/dist/builtin-extensions/index.js.map +1 -0
- package/dist/builtin-extensions/lunr-behavior.d.ts +43 -0
- package/dist/builtin-extensions/lunr-behavior.d.ts.map +1 -0
- package/dist/builtin-extensions/lunr-behavior.js +201 -0
- package/dist/builtin-extensions/lunr-behavior.js.map +1 -0
- package/dist/builtin-extensions/lunr-cron.d.ts +26 -0
- package/dist/builtin-extensions/lunr-cron.d.ts.map +1 -0
- package/dist/builtin-extensions/lunr-cron.js +346 -0
- package/dist/builtin-extensions/lunr-cron.js.map +1 -0
- package/dist/builtin-extensions/lunr-local-providers/index.d.ts +20 -0
- package/dist/builtin-extensions/lunr-local-providers/index.d.ts.map +1 -0
- package/dist/builtin-extensions/lunr-local-providers/index.js +108 -0
- package/dist/builtin-extensions/lunr-local-providers/index.js.map +1 -0
- package/dist/builtin-extensions/lunr-local-providers/local-servers.d.ts +51 -0
- package/dist/builtin-extensions/lunr-local-providers/local-servers.d.ts.map +1 -0
- package/dist/builtin-extensions/lunr-local-providers/local-servers.js +128 -0
- package/dist/builtin-extensions/lunr-local-providers/local-servers.js.map +1 -0
- package/dist/builtin-extensions/lunr-plan-tools.d.ts +25 -0
- package/dist/builtin-extensions/lunr-plan-tools.d.ts.map +1 -0
- package/dist/builtin-extensions/lunr-plan-tools.js +59 -0
- package/dist/builtin-extensions/lunr-plan-tools.js.map +1 -0
- package/dist/builtin-extensions/lunr-skill-creator/index.d.ts +12 -0
- package/dist/builtin-extensions/lunr-skill-creator/index.d.ts.map +1 -0
- package/dist/builtin-extensions/lunr-skill-creator/index.js +18 -0
- package/dist/builtin-extensions/lunr-skill-creator/index.js.map +1 -0
- package/dist/builtin-extensions/lunr-skill-creator/skills/skill-creator/SKILL.md +68 -0
- package/dist/builtin-extensions/lunr-todos.d.ts +52 -0
- package/dist/builtin-extensions/lunr-todos.d.ts.map +1 -0
- package/dist/builtin-extensions/lunr-todos.js +189 -0
- package/dist/builtin-extensions/lunr-todos.js.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/accounting.d.ts +23 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/accounting.d.ts.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/accounting.js +77 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/accounting.js.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/command.d.ts +18 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/command.d.ts.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/command.js +165 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/command.js.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/commands.d.ts +19 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/commands.d.ts.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/commands.js +495 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/commands.js.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/goal.d.ts +10 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/goal.d.ts.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/goal.js +857 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/goal.js.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/persistence.d.ts +57 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/persistence.d.ts.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/persistence.js +225 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/persistence.js.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/prompts.d.ts +20 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/prompts.d.ts.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/prompts.js +75 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/prompts.js.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/queue.d.ts +16 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/queue.d.ts.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/queue.js +67 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/queue.js.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/runtime.d.ts +157 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/runtime.d.ts.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/runtime.js +825 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/runtime.js.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/settings.d.ts +22 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/settings.d.ts.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/settings.js +64 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/settings.js.map +1 -0
- package/dist/builtin-extensions/pi-intercom/broker/broker.d.ts +2 -0
- package/dist/builtin-extensions/pi-intercom/broker/broker.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-intercom/broker/broker.js +541 -0
- package/dist/builtin-extensions/pi-intercom/broker/broker.js.map +1 -0
- package/dist/builtin-extensions/pi-intercom/broker/client.d.ts +39 -0
- package/dist/builtin-extensions/pi-intercom/broker/client.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-intercom/broker/client.js +484 -0
- package/dist/builtin-extensions/pi-intercom/broker/client.js.map +1 -0
- package/dist/builtin-extensions/pi-intercom/broker/framing.d.ts +14 -0
- package/dist/builtin-extensions/pi-intercom/broker/framing.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-intercom/broker/framing.js +74 -0
- package/dist/builtin-extensions/pi-intercom/broker/framing.js.map +1 -0
- package/dist/builtin-extensions/pi-intercom/broker/paths.d.ts +22 -0
- package/dist/builtin-extensions/pi-intercom/broker/paths.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-intercom/broker/paths.js +88 -0
- package/dist/builtin-extensions/pi-intercom/broker/paths.js.map +1 -0
- package/dist/builtin-extensions/pi-intercom/broker/spawn.d.ts +27 -0
- package/dist/builtin-extensions/pi-intercom/broker/spawn.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-intercom/broker/spawn.js +313 -0
- package/dist/builtin-extensions/pi-intercom/broker/spawn.js.map +1 -0
- package/dist/builtin-extensions/pi-intercom/config.d.ts +22 -0
- package/dist/builtin-extensions/pi-intercom/config.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-intercom/config.js +103 -0
- package/dist/builtin-extensions/pi-intercom/config.js.map +1 -0
- package/dist/builtin-extensions/pi-intercom/index.d.ts +3 -0
- package/dist/builtin-extensions/pi-intercom/index.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-intercom/index.js +1800 -0
- package/dist/builtin-extensions/pi-intercom/index.js.map +1 -0
- package/dist/builtin-extensions/pi-intercom/reply-tracker.d.ts +27 -0
- package/dist/builtin-extensions/pi-intercom/reply-tracker.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-intercom/reply-tracker.js +101 -0
- package/dist/builtin-extensions/pi-intercom/reply-tracker.js.map +1 -0
- package/dist/builtin-extensions/pi-intercom/types.d.ts +84 -0
- package/dist/builtin-extensions/pi-intercom/types.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-intercom/types.js +2 -0
- package/dist/builtin-extensions/pi-intercom/types.js.map +1 -0
- package/dist/builtin-extensions/pi-intercom/ui/compose.d.ts +27 -0
- package/dist/builtin-extensions/pi-intercom/ui/compose.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-intercom/ui/compose.js +112 -0
- package/dist/builtin-extensions/pi-intercom/ui/compose.js.map +1 -0
- package/dist/builtin-extensions/pi-intercom/ui/inline-message.d.ts +15 -0
- package/dist/builtin-extensions/pi-intercom/ui/inline-message.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-intercom/ui/inline-message.js +86 -0
- package/dist/builtin-extensions/pi-intercom/ui/inline-message.js.map +1 -0
- package/dist/builtin-extensions/pi-intercom/ui/session-list.d.ts +18 -0
- package/dist/builtin-extensions/pi-intercom/ui/session-list.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-intercom/ui/session-list.js +134 -0
- package/dist/builtin-extensions/pi-intercom/ui/session-list.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/bemol.d.ts +81 -0
- package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/bemol.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/bemol.js +273 -0
- package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/bemol.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/index.d.ts +13 -0
- package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/index.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/index.js +163 -0
- package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/index.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/locks.d.ts +34 -0
- package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/locks.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/locks.js +148 -0
- package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/locks.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/file-sync.d.ts +59 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/file-sync.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/file-sync.js +172 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/file-sync.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/index.d.ts +25 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/index.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/index.js +521 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/index.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-client.d.ts +80 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-client.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-client.js +366 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-client.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-daemon.d.ts +22 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-daemon.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-daemon.js +476 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-daemon.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-manager.d.ts +141 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-manager.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-manager.js +633 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/lsp-manager.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/resolve-provider.d.ts +30 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/resolve-provider.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/resolve-provider.js +52 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/resolve-provider.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/constants.d.ts +12 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/constants.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/constants.js +18 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/constants.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/debug.d.ts +10 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/debug.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/debug.js +18 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/debug.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/format.d.ts +9 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/format.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/format.js +29 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/format.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/language-map.d.ts +10 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/language-map.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/language-map.js +51 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/language-map.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/resolve-position.d.ts +33 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/resolve-position.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/resolve-position.js +191 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/resolve-position.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/timing.d.ts +14 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/timing.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/timing.js +15 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/shared/timing.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-actions.d.ts +23 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-actions.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-actions.js +259 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-actions.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-overview.d.ts +23 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-overview.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-overview.js +197 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-overview.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-rewrite.d.ts +23 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-rewrite.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-rewrite.js +131 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-rewrite.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-search.d.ts +18 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-search.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-search.js +87 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-search.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/completions.d.ts +34 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/completions.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/completions.js +347 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/completions.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/definition.d.ts +20 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/definition.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/definition.js +166 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/definition.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/diagnostics.d.ts +22 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/diagnostics.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/diagnostics.js +228 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/diagnostics.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/hover.d.ts +19 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/hover.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/hover.js +143 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/hover.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/references.d.ts +20 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/references.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/references.js +98 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/references.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/rename.d.ts +22 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/rename.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/rename.js +150 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/rename.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/symbols.d.ts +18 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/symbols.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/symbols.js +211 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tools/symbols.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/parser-manager.d.ts +44 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/parser-manager.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/parser-manager.js +188 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/parser-manager.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/pattern-compiler.d.ts +58 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/pattern-compiler.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/pattern-compiler.js +260 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/pattern-compiler.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/rewrite-engine.d.ts +33 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/rewrite-engine.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/rewrite-engine.js +102 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/rewrite-engine.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/search-engine.d.ts +38 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/search-engine.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/search-engine.js +276 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/search-engine.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/symbol-extractor.d.ts +77 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/symbol-extractor.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/symbol-extractor.js +339 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/symbol-extractor.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/workspace-index.d.ts +51 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/workspace-index.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/workspace-index.js +219 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/workspace-index.js.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/workspace-provider.d.ts +45 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/workspace-provider.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/workspace-provider.js +30 -0
- package/dist/builtin-extensions/pi-lsp-extension/src/workspace-provider.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/abort.d.ts +3 -0
- package/dist/builtin-extensions/pi-mcp-adapter/abort.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/abort.js +37 -0
- package/dist/builtin-extensions/pi-mcp-adapter/abort.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/agent-dir.d.ts +3 -0
- package/dist/builtin-extensions/pi-mcp-adapter/agent-dir.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/agent-dir.js +22 -0
- package/dist/builtin-extensions/pi-mcp-adapter/agent-dir.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/commands.d.ts +18 -0
- package/dist/builtin-extensions/pi-mcp-adapter/commands.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/commands.js +327 -0
- package/dist/builtin-extensions/pi-mcp-adapter/commands.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/config.d.ts +79 -0
- package/dist/builtin-extensions/pi-mcp-adapter/config.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/config.js +557 -0
- package/dist/builtin-extensions/pi-mcp-adapter/config.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/consent-manager.d.ts +14 -0
- package/dist/builtin-extensions/pi-mcp-adapter/consent-manager.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/consent-manager.js +61 -0
- package/dist/builtin-extensions/pi-mcp-adapter/consent-manager.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/direct-tools.d.ts +11 -0
- package/dist/builtin-extensions/pi-mcp-adapter/direct-tools.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/direct-tools.js +374 -0
- package/dist/builtin-extensions/pi-mcp-adapter/direct-tools.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/elicitation-handler.d.ts +18 -0
- package/dist/builtin-extensions/pi-mcp-adapter/elicitation-handler.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/elicitation-handler.js +309 -0
- package/dist/builtin-extensions/pi-mcp-adapter/elicitation-handler.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/error-signal.d.ts +16 -0
- package/dist/builtin-extensions/pi-mcp-adapter/error-signal.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/error-signal.js +23 -0
- package/dist/builtin-extensions/pi-mcp-adapter/error-signal.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/errors.d.ts +100 -0
- package/dist/builtin-extensions/pi-mcp-adapter/errors.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/errors.js +167 -0
- package/dist/builtin-extensions/pi-mcp-adapter/errors.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/glimpse-ui.d.ts +10 -0
- package/dist/builtin-extensions/pi-mcp-adapter/glimpse-ui.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/glimpse-ui.js +77 -0
- package/dist/builtin-extensions/pi-mcp-adapter/glimpse-ui.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/host-html-template.d.ts +17 -0
- package/dist/builtin-extensions/pi-mcp-adapter/host-html-template.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/host-html-template.js +413 -0
- package/dist/builtin-extensions/pi-mcp-adapter/host-html-template.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/index.d.ts +3 -0
- package/dist/builtin-extensions/pi-mcp-adapter/index.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/index.js +334 -0
- package/dist/builtin-extensions/pi-mcp-adapter/index.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/init.d.ts +11 -0
- package/dist/builtin-extensions/pi-mcp-adapter/init.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/init.js +296 -0
- package/dist/builtin-extensions/pi-mcp-adapter/init.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/lifecycle.d.ts +30 -0
- package/dist/builtin-extensions/pi-mcp-adapter/lifecycle.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/lifecycle.js +80 -0
- package/dist/builtin-extensions/pi-mcp-adapter/lifecycle.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/logger.d.ts +52 -0
- package/dist/builtin-extensions/pi-mcp-adapter/logger.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/logger.js +132 -0
- package/dist/builtin-extensions/pi-mcp-adapter/logger.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth-flow.d.ts +86 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth-flow.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth-flow.js +482 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth-flow.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth.d.ts +104 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth.js +252 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-callback-server.d.ts +45 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-callback-server.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-callback-server.js +305 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-callback-server.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-oauth-provider.d.ts +111 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-oauth-provider.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-oauth-provider.js +302 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-oauth-provider.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-output-guard.d.ts +59 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-output-guard.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-output-guard.js +325 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-output-guard.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-panel.d.ts +64 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-panel.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-panel.js +777 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-panel.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-setup-panel.d.ts +77 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-setup-panel.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-setup-panel.js +490 -0
- package/dist/builtin-extensions/pi-mcp-adapter/mcp-setup-panel.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/metadata-cache.d.ts +32 -0
- package/dist/builtin-extensions/pi-mcp-adapter/metadata-cache.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/metadata-cache.js +160 -0
- package/dist/builtin-extensions/pi-mcp-adapter/metadata-cache.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/npx-resolver.d.ts +7 -0
- package/dist/builtin-extensions/pi-mcp-adapter/npx-resolver.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/npx-resolver.js +388 -0
- package/dist/builtin-extensions/pi-mcp-adapter/npx-resolver.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/oauth-handler.d.ts +19 -0
- package/dist/builtin-extensions/pi-mcp-adapter/oauth-handler.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/oauth-handler.js +53 -0
- package/dist/builtin-extensions/pi-mcp-adapter/oauth-handler.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/onboarding-state.d.ts +13 -0
- package/dist/builtin-extensions/pi-mcp-adapter/onboarding-state.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/onboarding-state.js +58 -0
- package/dist/builtin-extensions/pi-mcp-adapter/onboarding-state.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/panel-keys.d.ts +17 -0
- package/dist/builtin-extensions/pi-mcp-adapter/panel-keys.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/panel-keys.js +17 -0
- package/dist/builtin-extensions/pi-mcp-adapter/panel-keys.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/proxy-modes.d.ts +14 -0
- package/dist/builtin-extensions/pi-mcp-adapter/proxy-modes.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/proxy-modes.js +853 -0
- package/dist/builtin-extensions/pi-mcp-adapter/proxy-modes.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/resource-tools.d.ts +2 -0
- package/dist/builtin-extensions/pi-mcp-adapter/resource-tools.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/resource-tools.js +16 -0
- package/dist/builtin-extensions/pi-mcp-adapter/resource-tools.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/sampling-handler.d.ts +16 -0
- package/dist/builtin-extensions/pi-mcp-adapter/sampling-handler.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/sampling-handler.js +209 -0
- package/dist/builtin-extensions/pi-mcp-adapter/sampling-handler.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/server-manager.d.ts +58 -0
- package/dist/builtin-extensions/pi-mcp-adapter/server-manager.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/server-manager.js +403 -0
- package/dist/builtin-extensions/pi-mcp-adapter/server-manager.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/state.d.ts +41 -0
- package/dist/builtin-extensions/pi-mcp-adapter/state.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/state.js +2 -0
- package/dist/builtin-extensions/pi-mcp-adapter/state.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/tool-metadata.d.ts +11 -0
- package/dist/builtin-extensions/pi-mcp-adapter/tool-metadata.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/tool-metadata.js +178 -0
- package/dist/builtin-extensions/pi-mcp-adapter/tool-metadata.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/tool-registrar.d.ts +11 -0
- package/dist/builtin-extensions/pi-mcp-adapter/tool-registrar.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/tool-registrar.js +66 -0
- package/dist/builtin-extensions/pi-mcp-adapter/tool-registrar.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/tool-result-renderer.d.ts +35 -0
- package/dist/builtin-extensions/pi-mcp-adapter/tool-result-renderer.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/tool-result-renderer.js +107 -0
- package/dist/builtin-extensions/pi-mcp-adapter/tool-result-renderer.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/types.d.ts +286 -0
- package/dist/builtin-extensions/pi-mcp-adapter/types.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/types.js +94 -0
- package/dist/builtin-extensions/pi-mcp-adapter/types.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/ui-resource-handler.d.ts +10 -0
- package/dist/builtin-extensions/pi-mcp-adapter/ui-resource-handler.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/ui-resource-handler.js +118 -0
- package/dist/builtin-extensions/pi-mcp-adapter/ui-resource-handler.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/ui-server.d.ts +37 -0
- package/dist/builtin-extensions/pi-mcp-adapter/ui-server.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/ui-server.js +524 -0
- package/dist/builtin-extensions/pi-mcp-adapter/ui-server.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/ui-session.d.ts +27 -0
- package/dist/builtin-extensions/pi-mcp-adapter/ui-session.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/ui-session.js +311 -0
- package/dist/builtin-extensions/pi-mcp-adapter/ui-session.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/ui-stream-types.d.ts +105 -0
- package/dist/builtin-extensions/pi-mcp-adapter/ui-stream-types.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/ui-stream-types.js +60 -0
- package/dist/builtin-extensions/pi-mcp-adapter/ui-stream-types.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/utils.d.ts +18 -0
- package/dist/builtin-extensions/pi-mcp-adapter/utils.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/utils.js +112 -0
- package/dist/builtin-extensions/pi-mcp-adapter/utils.js.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/vitest.config.d.ts +3 -0
- package/dist/builtin-extensions/pi-mcp-adapter/vitest.config.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-mcp-adapter/vitest.config.js +15 -0
- package/dist/builtin-extensions/pi-mcp-adapter/vitest.config.js.map +1 -0
- package/dist/builtin-extensions/pi-ollama-cloud/index.d.ts +31 -0
- package/dist/builtin-extensions/pi-ollama-cloud/index.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-ollama-cloud/index.js +120 -0
- package/dist/builtin-extensions/pi-ollama-cloud/index.js.map +1 -0
- package/dist/builtin-extensions/pi-ollama-cloud/models.d.ts +49 -0
- package/dist/builtin-extensions/pi-ollama-cloud/models.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-ollama-cloud/models.generated.d.ts +3 -0
- package/dist/builtin-extensions/pi-ollama-cloud/models.generated.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-ollama-cloud/models.generated.js +1135 -0
- package/dist/builtin-extensions/pi-ollama-cloud/models.generated.js.map +1 -0
- package/dist/builtin-extensions/pi-ollama-cloud/models.js +239 -0
- package/dist/builtin-extensions/pi-ollama-cloud/models.js.map +1 -0
- package/dist/builtin-extensions/pi-ollama-cloud/thinking-levels.d.ts +40 -0
- package/dist/builtin-extensions/pi-ollama-cloud/thinking-levels.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-ollama-cloud/thinking-levels.js +80 -0
- package/dist/builtin-extensions/pi-ollama-cloud/thinking-levels.js.map +1 -0
- package/dist/builtin-extensions/pi-ollama-cloud/utils.d.ts +9 -0
- package/dist/builtin-extensions/pi-ollama-cloud/utils.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-ollama-cloud/utils.js +52 -0
- package/dist/builtin-extensions/pi-ollama-cloud/utils.js.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/args.d.ts +56 -0
- package/dist/builtin-extensions/pi-prompt-template-model/args.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/args.js +555 -0
- package/dist/builtin-extensions/pi-prompt-template-model/args.js.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/chain-parser.d.ts +22 -0
- package/dist/builtin-extensions/pi-prompt-template-model/chain-parser.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/chain-parser.js +249 -0
- package/dist/builtin-extensions/pi-prompt-template-model/chain-parser.js.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/deterministic-renderer.d.ts +20 -0
- package/dist/builtin-extensions/pi-prompt-template-model/deterministic-renderer.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/deterministic-renderer.js +102 -0
- package/dist/builtin-extensions/pi-prompt-template-model/deterministic-renderer.js.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/deterministic-step.d.ts +30 -0
- package/dist/builtin-extensions/pi-prompt-template-model/deterministic-step.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/deterministic-step.js +260 -0
- package/dist/builtin-extensions/pi-prompt-template-model/deterministic-step.js.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/index.d.ts +3 -0
- package/dist/builtin-extensions/pi-prompt-template-model/index.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/index.js +1403 -0
- package/dist/builtin-extensions/pi-prompt-template-model/index.js.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/loop-utils.d.ts +8 -0
- package/dist/builtin-extensions/pi-prompt-template-model/loop-utils.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/loop-utils.js +164 -0
- package/dist/builtin-extensions/pi-prompt-template-model/loop-utils.js.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/model-selection.d.ts +22 -0
- package/dist/builtin-extensions/pi-prompt-template-model/model-selection.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/model-selection.js +82 -0
- package/dist/builtin-extensions/pi-prompt-template-model/model-selection.js.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/notifications.d.ts +6 -0
- package/dist/builtin-extensions/pi-prompt-template-model/notifications.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/notifications.js +21 -0
- package/dist/builtin-extensions/pi-prompt-template-model/notifications.js.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/prompt-execution.d.ts +24 -0
- package/dist/builtin-extensions/pi-prompt-template-model/prompt-execution.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/prompt-execution.js +56 -0
- package/dist/builtin-extensions/pi-prompt-template-model/prompt-execution.js.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/prompt-loader.d.ts +80 -0
- package/dist/builtin-extensions/pi-prompt-template-model/prompt-loader.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/prompt-loader.js +1234 -0
- package/dist/builtin-extensions/pi-prompt-template-model/prompt-loader.js.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/skill-loaded-renderer.d.ts +11 -0
- package/dist/builtin-extensions/pi-prompt-template-model/skill-loaded-renderer.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/skill-loaded-renderer.js +31 -0
- package/dist/builtin-extensions/pi-prompt-template-model/skill-loaded-renderer.js.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-renderer.d.ts +43 -0
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-renderer.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-renderer.js +177 -0
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-renderer.js.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-runtime.d.ts +97 -0
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-runtime.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-runtime.js +64 -0
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-runtime.js.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-step.d.ts +48 -0
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-step.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-step.js +550 -0
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-step.js.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-widget.d.ts +8 -0
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-widget.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-widget.js +230 -0
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-widget.js.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/template-conditionals.d.ts +10 -0
- package/dist/builtin-extensions/pi-prompt-template-model/template-conditionals.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/template-conditionals.js +226 -0
- package/dist/builtin-extensions/pi-prompt-template-model/template-conditionals.js.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/tool-manager.d.ts +17 -0
- package/dist/builtin-extensions/pi-prompt-template-model/tool-manager.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-prompt-template-model/tool-manager.js +201 -0
- package/dist/builtin-extensions/pi-prompt-template-model/tool-manager.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/agents/context-builder.md +46 -0
- package/dist/builtin-extensions/pi-subagents/agents/deep-researcher.md +36 -0
- package/dist/builtin-extensions/pi-subagents/agents/delegate.md +12 -0
- package/dist/builtin-extensions/pi-subagents/agents/oracle.md +73 -0
- package/dist/builtin-extensions/pi-subagents/agents/planner.md +55 -0
- package/dist/builtin-extensions/pi-subagents/agents/research-writer.md +37 -0
- package/dist/builtin-extensions/pi-subagents/agents/researcher.md +52 -0
- package/dist/builtin-extensions/pi-subagents/agents/reviewer.md +79 -0
- package/dist/builtin-extensions/pi-subagents/agents/scout.md +50 -0
- package/dist/builtin-extensions/pi-subagents/agents/worker.md +55 -0
- package/dist/builtin-extensions/pi-subagents/index.d.ts +2 -0
- package/dist/builtin-extensions/pi-subagents/index.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/index.js +3 -0
- package/dist/builtin-extensions/pi-subagents/index.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.d.ts +20 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.js +1273 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.d.ts +49 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.js +252 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.d.ts +3 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.js +6 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.d.ts +3 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.js +23 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.d.ts +8 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.js +143 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agents.d.ts +176 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agents.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agents.js +1326 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/agents.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.d.ts +7 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.js +307 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/frontmatter.d.ts +11 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/frontmatter.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/frontmatter.js +84 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/frontmatter.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/identity.d.ts +8 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/identity.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/identity.js +30 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/identity.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.d.ts +35 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.js +151 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/skills.d.ts +33 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/skills.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/skills.js +674 -0
- package/dist/builtin-extensions/pi-subagents/src/agents/skills.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/api/background-work.d.ts +35 -0
- package/dist/builtin-extensions/pi-subagents/src/api/background-work.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/api/background-work.js +162 -0
- package/dist/builtin-extensions/pi-subagents/src/api/background-work.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/api/delegation.d.ts +113 -0
- package/dist/builtin-extensions/pi-subagents/src/api/delegation.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/api/delegation.js +10 -0
- package/dist/builtin-extensions/pi-subagents/src/api/delegation.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.d.ts +34 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.js +125 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/config.d.ts +6 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/config.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/config.js +37 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/config.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/control-notices.d.ts +21 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/control-notices.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/control-notices.js +70 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/control-notices.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/doctor.d.ts +33 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/doctor.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/doctor.js +174 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/doctor.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.d.ts +3 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.js +175 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts +17 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/index.js +577 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/index.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/rpc.d.ts +57 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/rpc.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/rpc.js +291 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/rpc.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts +225 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js +301 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/steering-notices.d.ts +15 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/steering-notices.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/steering-notices.js +23 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/steering-notices.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts +12 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js +225 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.d.ts +35 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.js +144 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/native-supervisor-channel.d.ts +36 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/native-supervisor-channel.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/native-supervisor-channel.js +626 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/native-supervisor-channel.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/result-intercom.d.ts +31 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/result-intercom.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/result-intercom.js +331 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/result-intercom.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.d.ts +131 -0
- package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.js +491 -0
- package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.d.ts +169 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js +1065 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-job-tracker.d.ts +20 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-job-tracker.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-job-tracker.js +500 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-job-tracker.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.d.ts +64 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js +525 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.d.ts +96 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.js +336 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/auto-drain.d.ts +15 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/auto-drain.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/auto-drain.js +47 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/auto-drain.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-append.d.ts +31 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-append.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-append.js +260 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-append.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-root-attachment.d.ts +35 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-root-attachment.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-root-attachment.js +146 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-root-attachment.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/completion-batcher.d.ts +52 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/completion-batcher.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/completion-batcher.js +119 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/completion-batcher.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/completion-dedupe.d.ts +14 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/completion-dedupe.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/completion-dedupe.js +55 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/completion-dedupe.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/control-channel.d.ts +182 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/control-channel.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/control-channel.js +487 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/control-channel.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/fleet-view.d.ts +43 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/fleet-view.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/fleet-view.js +518 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/fleet-view.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/notify.d.ts +63 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/notify.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/notify.js +202 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/notify.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/parallel-groups.d.ts +4 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/parallel-groups.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/parallel-groups.js +47 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/parallel-groups.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/result-watcher.d.ts +22 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/result-watcher.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/result-watcher.js +247 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/result-watcher.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/run-id-resolver.d.ts +23 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/run-id-resolver.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/run-id-resolver.js +91 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/run-id-resolver.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.d.ts +24 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.js +453 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.d.ts +48 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.js +473 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/stale-run-reconciler.d.ts +34 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/stale-run-reconciler.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/stale-run-reconciler.js +351 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/stale-run-reconciler.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/steering.d.ts +44 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/steering.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/steering.js +228 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/steering.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.d.ts +2 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js +3513 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.d.ts +95 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.js +387 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/top-level-async.d.ts +8 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/top-level-async.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/top-level-async.js +6 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/top-level-async.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-config.d.ts +7 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-config.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-config.js +34 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-config.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.d.ts +4 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.js +24 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/async-steering-action.d.ts +23 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/async-steering-action.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/async-steering-action.js +230 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/async-steering-action.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.d.ts +127 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.js +1161 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.d.ts +81 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js +1014 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.d.ts +10 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js +1374 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts +87 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js +3358 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.d.ts +64 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.js +1122 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/chain-outputs.d.ts +19 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/chain-outputs.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/chain-outputs.js +106 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/chain-outputs.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-protocol.d.ts +27 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-protocol.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-protocol.js +108 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-protocol.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/completion-guard.d.ts +19 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/completion-guard.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/completion-guard.js +51 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/completion-guard.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.d.ts +49 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.js +274 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/long-running-guard.d.ts +33 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/long-running-guard.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/long-running-guard.js +152 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/long-running-guard.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.d.ts +18 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.js +326 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.d.ts +83 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.js +291 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-scope.d.ts +49 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-scope.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-scope.js +98 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-scope.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-events.d.ts +121 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-events.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-events.js +881 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-events.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-path.d.ts +11 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-path.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-path.js +50 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-path.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-render.d.ts +19 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-render.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-render.js +109 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-render.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts +101 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.js +112 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.d.ts +80 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.js +252 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-spawn.d.ts +25 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-spawn.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-spawn.js +111 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-spawn.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/run-history.d.ts +11 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/run-history.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/run-history.js +57 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/run-history.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/session-lease.d.ts +54 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/session-lease.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/session-lease.js +244 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/session-lease.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/single-output.d.ts +50 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/single-output.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/single-output.js +202 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/single-output.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/structured-output.d.ts +22 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/structured-output.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/structured-output.js +67 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/structured-output.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-control.d.ts +35 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-control.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-control.js +187 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-control.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.d.ts +22 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.js +438 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.d.ts +35 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.js +154 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/tool-availability.d.ts +13 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/tool-availability.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/tool-availability.js +51 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/tool-availability.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/tool-budget.d.ts +16 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/tool-budget.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/tool-budget.js +74 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/tool-budget.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/turn-budget.d.ts +14 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/turn-budget.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/turn-budget.js +66 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/turn-budget.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/workflow-graph.d.ts +30 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/workflow-graph.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/workflow-graph.js +200 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/workflow-graph.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/worktree.d.ts +49 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/worktree.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/worktree.js +473 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/worktree.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/artifacts.d.ts +13 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/artifacts.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/artifacts.js +104 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/artifacts.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/atomic-json.d.ts +17 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/atomic-json.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/atomic-json.js +68 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/atomic-json.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/child-transcript.d.ts +36 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/child-transcript.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/child-transcript.js +173 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/child-transcript.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/file-coalescer.d.ts +11 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/file-coalescer.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/file-coalescer.js +26 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/file-coalescer.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/fork-context.d.ts +44 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/fork-context.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/fork-context.js +158 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/fork-context.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/formatters.d.ts +34 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/formatters.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/formatters.js +128 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/formatters.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/jsonl-writer.d.ts +20 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/jsonl-writer.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/jsonl-writer.js +59 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/jsonl-writer.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/model-info.d.ts +31 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/model-info.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/model-info.js +68 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/model-info.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/post-exit-stdio-guard.d.ts +17 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/post-exit-stdio-guard.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/post-exit-stdio-guard.js +72 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/post-exit-stdio-guard.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/session-identity.d.ts +7 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/session-identity.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/session-identity.js +7 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/session-identity.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/session-tokens.d.ts +3 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/session-tokens.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/session-tokens.js +49 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/session-tokens.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/settings.d.ts +136 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/settings.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/settings.js +285 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/settings.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/status-format.d.ts +10 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/status-format.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/status-format.js +61 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/status-format.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts +1101 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/types.js +221 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/types.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/utils.d.ts +52 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/utils.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/utils.js +562 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/utils.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.d.ts +149 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.js +321 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/delegation-request.d.ts +11 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/delegation-request.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/delegation-request.js +102 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/delegation-request.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-template-bridge.d.ts +25 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-template-bridge.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-template-bridge.js +200 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-template-bridge.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts +23 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js +305 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-bridge.d.ts +31 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-bridge.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-bridge.js +117 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-bridge.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts +51 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js +1531 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-live-state.d.ts +22 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-live-state.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-live-state.js +246 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-live-state.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/tui/fleet.d.ts +78 -0
- package/dist/builtin-extensions/pi-subagents/src/tui/fleet.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/tui/fleet.js +401 -0
- package/dist/builtin-extensions/pi-subagents/src/tui/fleet.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/tui/render-helpers.d.ts +13 -0
- package/dist/builtin-extensions/pi-subagents/src/tui/render-helpers.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/tui/render-helpers.js +74 -0
- package/dist/builtin-extensions/pi-subagents/src/tui/render-helpers.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts +35 -0
- package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/tui/render.js +1687 -0
- package/dist/builtin-extensions/pi-subagents/src/tui/render.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/change-signature.d.ts +8 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/change-signature.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/change-signature.js +123 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/change-signature.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/child-status.d.ts +58 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/child-status.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/child-status.js +160 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/child-status.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/emission-guard.d.ts +34 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/emission-guard.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/emission-guard.js +96 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/emission-guard.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/lsp-diagnostics.d.ts +18 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/lsp-diagnostics.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/lsp-diagnostics.js +485 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/lsp-diagnostics.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/model-selection.d.ts +21 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/model-selection.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/model-selection.js +151 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/model-selection.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/register-child.d.ts +4 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/register-child.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/register-child.js +111 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/register-child.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/register-main.d.ts +10 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/register-main.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/register-main.js +407 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/register-main.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/render.d.ts +12 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/render.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/render.js +55 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/render.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/review.d.ts +29 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/review.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/review.js +245 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/review.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.d.ts +141 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.js +647 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/settings.d.ts +30 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/settings.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/settings.js +486 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/settings.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/tool-actions.d.ts +18 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/tool-actions.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/tool-actions.js +150 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/tool-actions.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/turn-delta.d.ts +10 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/turn-delta.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/turn-delta.js +159 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/turn-delta.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/types.d.ts +143 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/types.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/types.js +31 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/types.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/warning-format.d.ts +8 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/warning-format.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/warning-format.js +62 -0
- package/dist/builtin-extensions/pi-subagents/src/watchdog/warning-format.js.map +1 -0
- package/dist/builtin-extensions/pi-tps.d.ts +3 -0
- package/dist/builtin-extensions/pi-tps.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-tps.js +89 -0
- package/dist/builtin-extensions/pi-tps.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/activity.d.ts +34 -0
- package/dist/builtin-extensions/pi-web-access/activity.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/activity.js +68 -0
- package/dist/builtin-extensions/pi-web-access/activity.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/brave.d.ts +4 -0
- package/dist/builtin-extensions/pi-web-access/brave.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/brave.js +185 -0
- package/dist/builtin-extensions/pi-web-access/brave.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/chrome-cookies.d.ts +9 -0
- package/dist/builtin-extensions/pi-web-access/chrome-cookies.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/chrome-cookies.js +299 -0
- package/dist/builtin-extensions/pi-web-access/chrome-cookies.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/curator-page.d.ts +13 -0
- package/dist/builtin-extensions/pi-web-access/curator-page.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/curator-page.js +3382 -0
- package/dist/builtin-extensions/pi-web-access/curator-page.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/curator-server.d.ts +71 -0
- package/dist/builtin-extensions/pi-web-access/curator-server.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/curator-server.js +604 -0
- package/dist/builtin-extensions/pi-web-access/curator-server.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/exa.d.ts +10 -0
- package/dist/builtin-extensions/pi-web-access/exa.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/exa.js +391 -0
- package/dist/builtin-extensions/pi-web-access/exa.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/extract.d.ts +48 -0
- package/dist/builtin-extensions/pi-web-access/extract.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/extract.js +619 -0
- package/dist/builtin-extensions/pi-web-access/extract.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/fetch-params.d.ts +21 -0
- package/dist/builtin-extensions/pi-web-access/fetch-params.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/fetch-params.js +44 -0
- package/dist/builtin-extensions/pi-web-access/fetch-params.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/gemini-api.d.ts +18 -0
- package/dist/builtin-extensions/pi-web-access/gemini-api.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/gemini-api.js +120 -0
- package/dist/builtin-extensions/pi-web-access/gemini-api.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/gemini-search.d.ts +14 -0
- package/dist/builtin-extensions/pi-web-access/gemini-search.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/gemini-search.js +371 -0
- package/dist/builtin-extensions/pi-web-access/gemini-search.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/gemini-url-context.d.ts +4 -0
- package/dist/builtin-extensions/pi-web-access/gemini-url-context.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/gemini-url-context.js +101 -0
- package/dist/builtin-extensions/pi-web-access/gemini-url-context.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/gemini-web-config.d.ts +4 -0
- package/dist/builtin-extensions/pi-web-access/gemini-web-config.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/gemini-web-config.js +43 -0
- package/dist/builtin-extensions/pi-web-access/gemini-web-config.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/gemini-web.d.ts +12 -0
- package/dist/builtin-extensions/pi-web-access/gemini-web.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/gemini-web.js +331 -0
- package/dist/builtin-extensions/pi-web-access/gemini-web.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/github-api.d.ts +7 -0
- package/dist/builtin-extensions/pi-web-access/github-api.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/github-api.js +161 -0
- package/dist/builtin-extensions/pi-web-access/github-api.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/github-extract.d.ts +13 -0
- package/dist/builtin-extensions/pi-web-access/github-extract.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/github-extract.js +558 -0
- package/dist/builtin-extensions/pi-web-access/github-extract.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/index.d.ts +3 -0
- package/dist/builtin-extensions/pi-web-access/index.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/index.js +2347 -0
- package/dist/builtin-extensions/pi-web-access/index.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/openai-search.d.ts +13 -0
- package/dist/builtin-extensions/pi-web-access/openai-search.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/openai-search.js +374 -0
- package/dist/builtin-extensions/pi-web-access/openai-search.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/parallel.d.ts +12 -0
- package/dist/builtin-extensions/pi-web-access/parallel.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/parallel.js +316 -0
- package/dist/builtin-extensions/pi-web-access/parallel.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/pdf-extract.d.ts +26 -0
- package/dist/builtin-extensions/pi-web-access/pdf-extract.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/pdf-extract.js +150 -0
- package/dist/builtin-extensions/pi-web-access/pdf-extract.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/perplexity.d.ts +20 -0
- package/dist/builtin-extensions/pi-web-access/perplexity.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/perplexity.js +150 -0
- package/dist/builtin-extensions/pi-web-access/perplexity.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/render-search-error.d.ts +57 -0
- package/dist/builtin-extensions/pi-web-access/render-search-error.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/render-search-error.js +131 -0
- package/dist/builtin-extensions/pi-web-access/render-search-error.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/rsc-extract.d.ts +12 -0
- package/dist/builtin-extensions/pi-web-access/rsc-extract.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/rsc-extract.js +330 -0
- package/dist/builtin-extensions/pi-web-access/rsc-extract.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/ssrf-protection.d.ts +24 -0
- package/dist/builtin-extensions/pi-web-access/ssrf-protection.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/ssrf-protection.js +255 -0
- package/dist/builtin-extensions/pi-web-access/ssrf-protection.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/storage.d.ts +25 -0
- package/dist/builtin-extensions/pi-web-access/storage.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/storage.js +49 -0
- package/dist/builtin-extensions/pi-web-access/storage.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/summary-model-scope.d.ts +13 -0
- package/dist/builtin-extensions/pi-web-access/summary-model-scope.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/summary-model-scope.js +86 -0
- package/dist/builtin-extensions/pi-web-access/summary-model-scope.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/summary-review.d.ts +21 -0
- package/dist/builtin-extensions/pi-web-access/summary-review.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/summary-review.js +278 -0
- package/dist/builtin-extensions/pi-web-access/summary-review.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/tavily.d.ts +8 -0
- package/dist/builtin-extensions/pi-web-access/tavily.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/tavily.js +184 -0
- package/dist/builtin-extensions/pi-web-access/tavily.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/utils.d.ts +12 -0
- package/dist/builtin-extensions/pi-web-access/utils.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/utils.js +61 -0
- package/dist/builtin-extensions/pi-web-access/utils.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/video-extract.d.ts +14 -0
- package/dist/builtin-extensions/pi-web-access/video-extract.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/video-extract.js +324 -0
- package/dist/builtin-extensions/pi-web-access/video-extract.js.map +1 -0
- package/dist/builtin-extensions/pi-web-access/youtube-extract.d.ts +27 -0
- package/dist/builtin-extensions/pi-web-access/youtube-extract.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-web-access/youtube-extract.js +282 -0
- package/dist/builtin-extensions/pi-web-access/youtube-extract.js.map +1 -0
- package/dist/builtin-extensions/simple-pi-memory.d.ts +55 -0
- package/dist/builtin-extensions/simple-pi-memory.d.ts.map +1 -0
- package/dist/builtin-extensions/simple-pi-memory.js +239 -0
- package/dist/builtin-extensions/simple-pi-memory.js.map +1 -0
- package/dist/bun/cli.d.ts +3 -0
- package/dist/bun/cli.d.ts.map +1 -0
- package/dist/bun/cli.js +11 -0
- package/dist/bun/cli.js.map +1 -0
- package/dist/bun/register-bedrock.d.ts +2 -0
- package/dist/bun/register-bedrock.d.ts.map +1 -0
- package/dist/bun/register-bedrock.js +4 -0
- package/dist/bun/register-bedrock.js.map +1 -0
- package/dist/bun/restore-sandbox-env.d.ts +17 -0
- package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
- package/dist/bun/restore-sandbox-env.js +36 -0
- package/dist/bun/restore-sandbox-env.js.map +1 -0
- package/dist/catalog/models.json +1 -0
- package/dist/catalog/providers/amazon-bedrock.json +1 -0
- package/dist/catalog/providers/ant-ling.json +1 -0
- package/dist/catalog/providers/anthropic.json +1 -0
- package/dist/catalog/providers/azure-openai-responses.json +1 -0
- package/dist/catalog/providers/cerebras.json +1 -0
- package/dist/catalog/providers/cloudflare-ai-gateway.json +1 -0
- package/dist/catalog/providers/cloudflare-workers-ai.json +1 -0
- package/dist/catalog/providers/deepseek.json +1 -0
- package/dist/catalog/providers/fireworks.json +1 -0
- package/dist/catalog/providers/github-copilot.json +1 -0
- package/dist/catalog/providers/google-vertex.json +1 -0
- package/dist/catalog/providers/google.json +1 -0
- package/dist/catalog/providers/groq.json +1 -0
- package/dist/catalog/providers/huggingface.json +1 -0
- package/dist/catalog/providers/kimi-coding.json +1 -0
- package/dist/catalog/providers/minimax-cn.json +1 -0
- package/dist/catalog/providers/minimax.json +1 -0
- package/dist/catalog/providers/mistral.json +1 -0
- package/dist/catalog/providers/moonshotai-cn.json +1 -0
- package/dist/catalog/providers/moonshotai.json +1 -0
- package/dist/catalog/providers/nvidia.json +1 -0
- package/dist/catalog/providers/openai-codex.json +1 -0
- package/dist/catalog/providers/openai.json +1 -0
- package/dist/catalog/providers/opencode-go.json +1 -0
- package/dist/catalog/providers/opencode.json +1 -0
- package/dist/catalog/providers/openrouter.json +1 -0
- package/dist/catalog/providers/qwen-cloud-cn.json +1 -0
- package/dist/catalog/providers/qwen-cloud.json +1 -0
- package/dist/catalog/providers/qwen-token-plan-cn.json +1 -0
- package/dist/catalog/providers/qwen-token-plan.json +1 -0
- package/dist/catalog/providers/together.json +1 -0
- package/dist/catalog/providers/vercel-ai-gateway.json +1 -0
- package/dist/catalog/providers/xai.json +1 -0
- package/dist/catalog/providers/xiaomi-token-plan-ams.json +1 -0
- package/dist/catalog/providers/xiaomi-token-plan-cn.json +1 -0
- package/dist/catalog/providers/xiaomi-token-plan-sgp.json +1 -0
- package/dist/catalog/providers/xiaomi.json +1 -0
- package/dist/catalog/providers/zai-coding-cn.json +1 -0
- package/dist/catalog/providers/zai.json +1 -0
- package/dist/catalog/providers.json +1 -0
- package/dist/catalog/publication.json +6 -0
- package/dist/cli/args.d.ts +57 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +381 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/config-selector.d.ts +16 -0
- package/dist/cli/config-selector.d.ts.map +1 -0
- package/dist/cli/config-selector.js +31 -0
- package/dist/cli/config-selector.js.map +1 -0
- package/dist/cli/file-processor.d.ts +15 -0
- package/dist/cli/file-processor.d.ts.map +1 -0
- package/dist/cli/file-processor.js +70 -0
- package/dist/cli/file-processor.js.map +1 -0
- package/dist/cli/initial-message.d.ts +18 -0
- package/dist/cli/initial-message.d.ts.map +1 -0
- package/dist/cli/initial-message.js +22 -0
- package/dist/cli/initial-message.js.map +1 -0
- package/dist/cli/install-cli.d.ts +13 -0
- package/dist/cli/install-cli.d.ts.map +1 -0
- package/dist/cli/install-cli.js +352 -0
- package/dist/cli/install-cli.js.map +1 -0
- package/dist/cli/list-models.d.ts +9 -0
- package/dist/cli/list-models.d.ts.map +1 -0
- package/dist/cli/list-models.js +98 -0
- package/dist/cli/list-models.js.map +1 -0
- package/dist/cli/project-trust.d.ts +10 -0
- package/dist/cli/project-trust.d.ts.map +1 -0
- package/dist/cli/project-trust.js +48 -0
- package/dist/cli/project-trust.js.map +1 -0
- package/dist/cli/read-secret.d.ts +6 -0
- package/dist/cli/read-secret.d.ts.map +1 -0
- package/dist/cli/read-secret.js +62 -0
- package/dist/cli/read-secret.js.map +1 -0
- package/dist/cli/session-picker.d.ts +10 -0
- package/dist/cli/session-picker.d.ts.map +1 -0
- package/dist/cli/session-picker.js +36 -0
- package/dist/cli/session-picker.js.map +1 -0
- package/dist/cli/startup-ui.d.ts +20 -0
- package/dist/cli/startup-ui.d.ts.map +1 -0
- package/dist/cli/startup-ui.js +190 -0
- package/dist/cli/startup-ui.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +18 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +84 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +211 -0
- package/dist/config.js.map +1 -0
- package/dist/core/agent-session-runtime.d.ts +119 -0
- package/dist/core/agent-session-runtime.d.ts.map +1 -0
- package/dist/core/agent-session-runtime.js +306 -0
- package/dist/core/agent-session-runtime.js.map +1 -0
- package/dist/core/agent-session-services.d.ts +85 -0
- package/dist/core/agent-session-services.d.ts.map +1 -0
- package/dist/core/agent-session-services.js +120 -0
- package/dist/core/agent-session-services.js.map +1 -0
- package/dist/core/agent-session.d.ts +650 -0
- package/dist/core/agent-session.d.ts.map +1 -0
- package/dist/core/agent-session.js +2797 -0
- package/dist/core/agent-session.js.map +1 -0
- package/dist/core/auth-guidance.d.ts +5 -0
- package/dist/core/auth-guidance.d.ts.map +1 -0
- package/dist/core/auth-guidance.js +21 -0
- package/dist/core/auth-guidance.js.map +1 -0
- package/dist/core/auth-storage.d.ts +56 -0
- package/dist/core/auth-storage.d.ts.map +1 -0
- package/dist/core/auth-storage.js +229 -0
- package/dist/core/auth-storage.js.map +1 -0
- package/dist/core/bash-executor.d.ts +32 -0
- package/dist/core/bash-executor.d.ts.map +1 -0
- package/dist/core/bash-executor.js +111 -0
- package/dist/core/bash-executor.js.map +1 -0
- package/dist/core/cache-stats.d.ts +49 -0
- package/dist/core/cache-stats.d.ts.map +1 -0
- package/dist/core/cache-stats.js +101 -0
- package/dist/core/cache-stats.js.map +1 -0
- package/dist/core/catalog-merge.d.ts +46 -0
- package/dist/core/catalog-merge.d.ts.map +1 -0
- package/dist/core/catalog-merge.js +128 -0
- package/dist/core/catalog-merge.js.map +1 -0
- package/dist/core/compaction/branch-summarization.d.ts +92 -0
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
- package/dist/core/compaction/branch-summarization.js +249 -0
- package/dist/core/compaction/branch-summarization.js.map +1 -0
- package/dist/core/compaction/compaction.d.ts +121 -0
- package/dist/core/compaction/compaction.d.ts.map +1 -0
- package/dist/core/compaction/compaction.js +600 -0
- package/dist/core/compaction/compaction.js.map +1 -0
- package/dist/core/compaction/index.d.ts +7 -0
- package/dist/core/compaction/index.d.ts.map +1 -0
- package/dist/core/compaction/index.js +7 -0
- package/dist/core/compaction/index.js.map +1 -0
- package/dist/core/compaction/utils.d.ts +38 -0
- package/dist/core/compaction/utils.d.ts.map +1 -0
- package/dist/core/compaction/utils.js +153 -0
- package/dist/core/compaction/utils.js.map +1 -0
- package/dist/core/context-breakdown.d.ts +67 -0
- package/dist/core/context-breakdown.d.ts.map +1 -0
- package/dist/core/context-breakdown.js +116 -0
- package/dist/core/context-breakdown.js.map +1 -0
- package/dist/core/cron/fire-guard.d.ts +16 -0
- package/dist/core/cron/fire-guard.d.ts.map +1 -0
- package/dist/core/cron/fire-guard.js +24 -0
- package/dist/core/cron/fire-guard.js.map +1 -0
- package/dist/core/cron/jobs.d.ts +162 -0
- package/dist/core/cron/jobs.d.ts.map +1 -0
- package/dist/core/cron/jobs.js +545 -0
- package/dist/core/cron/jobs.js.map +1 -0
- package/dist/core/cron/origin-context.d.ts +22 -0
- package/dist/core/cron/origin-context.d.ts.map +1 -0
- package/dist/core/cron/origin-context.js +22 -0
- package/dist/core/cron/origin-context.js.map +1 -0
- package/dist/core/cron/scheduler.d.ts +51 -0
- package/dist/core/cron/scheduler.d.ts.map +1 -0
- package/dist/core/cron/scheduler.js +165 -0
- package/dist/core/cron/scheduler.js.map +1 -0
- package/dist/core/customize.d.ts +31 -0
- package/dist/core/customize.d.ts.map +1 -0
- package/dist/core/customize.js +54 -0
- package/dist/core/customize.js.map +1 -0
- package/dist/core/defaults.d.ts +3 -0
- package/dist/core/defaults.d.ts.map +1 -0
- package/dist/core/defaults.js +2 -0
- package/dist/core/defaults.js.map +1 -0
- package/dist/core/diagnostics.d.ts +15 -0
- package/dist/core/diagnostics.d.ts.map +1 -0
- package/dist/core/diagnostics.js +2 -0
- package/dist/core/diagnostics.js.map +1 -0
- package/dist/core/event-bus.d.ts +9 -0
- package/dist/core/event-bus.d.ts.map +1 -0
- package/dist/core/event-bus.js +25 -0
- package/dist/core/event-bus.js.map +1 -0
- package/dist/core/exec.d.ts +29 -0
- package/dist/core/exec.d.ts.map +1 -0
- package/dist/core/exec.js +75 -0
- package/dist/core/exec.js.map +1 -0
- package/dist/core/experimental.d.ts +2 -0
- package/dist/core/experimental.d.ts.map +1 -0
- package/dist/core/experimental.js +4 -0
- package/dist/core/experimental.js.map +1 -0
- package/dist/core/export-html/ansi-to-html.d.ts +22 -0
- package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
- package/dist/core/export-html/ansi-to-html.js +249 -0
- package/dist/core/export-html/ansi-to-html.js.map +1 -0
- package/dist/core/export-html/index.d.ts +37 -0
- package/dist/core/export-html/index.d.ts.map +1 -0
- package/dist/core/export-html/index.js +226 -0
- package/dist/core/export-html/index.js.map +1 -0
- package/dist/core/export-html/template.css +1066 -0
- package/dist/core/export-html/template.html +55 -0
- package/dist/core/export-html/template.js +1864 -0
- package/dist/core/export-html/tool-renderer.d.ts +34 -0
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
- package/dist/core/export-html/tool-renderer.js +108 -0
- package/dist/core/export-html/tool-renderer.js.map +1 -0
- package/dist/core/export-html/vendor/highlight.min.js +1213 -0
- package/dist/core/export-html/vendor/marked.min.js +78 -0
- package/dist/core/extensions/index.d.ts +12 -0
- package/dist/core/extensions/index.d.ts.map +1 -0
- package/dist/core/extensions/index.js +9 -0
- package/dist/core/extensions/index.js.map +1 -0
- package/dist/core/extensions/loader.d.ts +23 -0
- package/dist/core/extensions/loader.d.ts.map +1 -0
- package/dist/core/extensions/loader.js +547 -0
- package/dist/core/extensions/loader.js.map +1 -0
- package/dist/core/extensions/runner.d.ts +170 -0
- package/dist/core/extensions/runner.d.ts.map +1 -0
- package/dist/core/extensions/runner.js +923 -0
- package/dist/core/extensions/runner.js.map +1 -0
- package/dist/core/extensions/types.d.ts +1247 -0
- package/dist/core/extensions/types.d.ts.map +1 -0
- package/dist/core/extensions/types.js +45 -0
- package/dist/core/extensions/types.js.map +1 -0
- package/dist/core/extensions/wrapper.d.ts +20 -0
- package/dist/core/extensions/wrapper.d.ts.map +1 -0
- package/dist/core/extensions/wrapper.js +41 -0
- package/dist/core/extensions/wrapper.js.map +1 -0
- package/dist/core/footer-data-provider.d.ts +54 -0
- package/dist/core/footer-data-provider.d.ts.map +1 -0
- package/dist/core/footer-data-provider.js +338 -0
- package/dist/core/footer-data-provider.js.map +1 -0
- package/dist/core/http-dispatcher.d.ts +22 -0
- package/dist/core/http-dispatcher.d.ts.map +1 -0
- package/dist/core/http-dispatcher.js +91 -0
- package/dist/core/http-dispatcher.js.map +1 -0
- package/dist/core/index.d.ts +13 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +13 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/injected-prompt.d.ts +20 -0
- package/dist/core/injected-prompt.d.ts.map +1 -0
- package/dist/core/injected-prompt.js +64 -0
- package/dist/core/injected-prompt.js.map +1 -0
- package/dist/core/install-features.d.ts +106 -0
- package/dist/core/install-features.d.ts.map +1 -0
- package/dist/core/install-features.js +392 -0
- package/dist/core/install-features.js.map +1 -0
- package/dist/core/install-layout.d.ts +18 -0
- package/dist/core/install-layout.d.ts.map +1 -0
- package/dist/core/install-layout.js +54 -0
- package/dist/core/install-layout.js.map +1 -0
- package/dist/core/keybindings.d.ts +373 -0
- package/dist/core/keybindings.d.ts.map +1 -0
- package/dist/core/keybindings.js +309 -0
- package/dist/core/keybindings.js.map +1 -0
- package/dist/core/live-catalog.d.ts +74 -0
- package/dist/core/live-catalog.d.ts.map +1 -0
- package/dist/core/live-catalog.js +351 -0
- package/dist/core/live-catalog.js.map +1 -0
- package/dist/core/memory-cap.d.ts +27 -0
- package/dist/core/memory-cap.d.ts.map +1 -0
- package/dist/core/memory-cap.js +32 -0
- package/dist/core/memory-cap.js.map +1 -0
- package/dist/core/messages.d.ts +77 -0
- package/dist/core/messages.d.ts.map +1 -0
- package/dist/core/messages.js +123 -0
- package/dist/core/messages.js.map +1 -0
- package/dist/core/model-config-writer.d.ts +24 -0
- package/dist/core/model-config-writer.d.ts.map +1 -0
- package/dist/core/model-config-writer.js +84 -0
- package/dist/core/model-config-writer.js.map +1 -0
- package/dist/core/model-config.d.ts +512 -0
- package/dist/core/model-config.d.ts.map +1 -0
- package/dist/core/model-config.js +243 -0
- package/dist/core/model-config.js.map +1 -0
- package/dist/core/model-registry.d.ts +39 -0
- package/dist/core/model-registry.d.ts.map +1 -0
- package/dist/core/model-registry.js +89 -0
- package/dist/core/model-registry.js.map +1 -0
- package/dist/core/model-resolver.d.ts +121 -0
- package/dist/core/model-resolver.d.ts.map +1 -0
- package/dist/core/model-resolver.js +536 -0
- package/dist/core/model-resolver.js.map +1 -0
- package/dist/core/model-runtime.d.ts +115 -0
- package/dist/core/model-runtime.d.ts.map +1 -0
- package/dist/core/model-runtime.js +640 -0
- package/dist/core/model-runtime.js.map +1 -0
- package/dist/core/model-tiers.d.ts +34 -0
- package/dist/core/model-tiers.d.ts.map +1 -0
- package/dist/core/model-tiers.js +53 -0
- package/dist/core/model-tiers.js.map +1 -0
- package/dist/core/models-store.d.ts +17 -0
- package/dist/core/models-store.d.ts.map +1 -0
- package/dist/core/models-store.js +45 -0
- package/dist/core/models-store.js.map +1 -0
- package/dist/core/official-catalog.d.ts +72 -0
- package/dist/core/official-catalog.d.ts.map +1 -0
- package/dist/core/official-catalog.js +370 -0
- package/dist/core/official-catalog.js.map +1 -0
- package/dist/core/output-guard.d.ts +7 -0
- package/dist/core/output-guard.d.ts.map +1 -0
- package/dist/core/output-guard.js +89 -0
- package/dist/core/output-guard.js.map +1 -0
- package/dist/core/package-manager.d.ts +198 -0
- package/dist/core/package-manager.d.ts.map +1 -0
- package/dist/core/package-manager.js +2005 -0
- package/dist/core/package-manager.js.map +1 -0
- package/dist/core/permission-mode.d.ts +19 -0
- package/dist/core/permission-mode.d.ts.map +1 -0
- package/dist/core/permission-mode.js +26 -0
- package/dist/core/permission-mode.js.map +1 -0
- package/dist/core/permissions.d.ts +99 -0
- package/dist/core/permissions.d.ts.map +1 -0
- package/dist/core/permissions.js +323 -0
- package/dist/core/permissions.js.map +1 -0
- package/dist/core/plan-mode.d.ts +37 -0
- package/dist/core/plan-mode.d.ts.map +1 -0
- package/dist/core/plan-mode.js +388 -0
- package/dist/core/plan-mode.js.map +1 -0
- package/dist/core/process-registry.d.ts +40 -0
- package/dist/core/process-registry.d.ts.map +1 -0
- package/dist/core/process-registry.js +190 -0
- package/dist/core/process-registry.js.map +1 -0
- package/dist/core/project-trust.d.ts +15 -0
- package/dist/core/project-trust.d.ts.map +1 -0
- package/dist/core/project-trust.js +59 -0
- package/dist/core/project-trust.js.map +1 -0
- package/dist/core/prompt-templates.d.ts +53 -0
- package/dist/core/prompt-templates.d.ts.map +1 -0
- package/dist/core/prompt-templates.js +236 -0
- package/dist/core/prompt-templates.js.map +1 -0
- package/dist/core/provider-attribution.d.ts +4 -0
- package/dist/core/provider-attribution.d.ts.map +1 -0
- package/dist/core/provider-attribution.js +31 -0
- package/dist/core/provider-attribution.js.map +1 -0
- package/dist/core/provider-composer.d.ts +55 -0
- package/dist/core/provider-composer.d.ts.map +1 -0
- package/dist/core/provider-composer.js +375 -0
- package/dist/core/provider-composer.js.map +1 -0
- package/dist/core/radius.d.ts +2 -0
- package/dist/core/radius.d.ts.map +1 -0
- package/dist/core/radius.js +2 -0
- package/dist/core/radius.js.map +1 -0
- package/dist/core/resolve-config-value.d.ts +30 -0
- package/dist/core/resolve-config-value.d.ts.map +1 -0
- package/dist/core/resolve-config-value.js +247 -0
- package/dist/core/resolve-config-value.js.map +1 -0
- package/dist/core/resource-loader.d.ts +206 -0
- package/dist/core/resource-loader.d.ts.map +1 -0
- package/dist/core/resource-loader.js +816 -0
- package/dist/core/resource-loader.js.map +1 -0
- package/dist/core/rollback.d.ts +80 -0
- package/dist/core/rollback.d.ts.map +1 -0
- package/dist/core/rollback.js +582 -0
- package/dist/core/rollback.js.map +1 -0
- package/dist/core/runtime-credentials.d.ts +15 -0
- package/dist/core/runtime-credentials.d.ts.map +1 -0
- package/dist/core/runtime-credentials.js +36 -0
- package/dist/core/runtime-credentials.js.map +1 -0
- package/dist/core/sdk.d.ts +106 -0
- package/dist/core/sdk.d.ts.map +1 -0
- package/dist/core/sdk.js +264 -0
- package/dist/core/sdk.js.map +1 -0
- package/dist/core/search-curator.d.ts +23 -0
- package/dist/core/search-curator.d.ts.map +1 -0
- package/dist/core/search-curator.js +34 -0
- package/dist/core/search-curator.js.map +1 -0
- package/dist/core/session-cwd.d.ts +19 -0
- package/dist/core/session-cwd.d.ts.map +1 -0
- package/dist/core/session-cwd.js +38 -0
- package/dist/core/session-cwd.js.map +1 -0
- package/dist/core/session-manager.d.ts +351 -0
- package/dist/core/session-manager.d.ts.map +1 -0
- package/dist/core/session-manager.js +1262 -0
- package/dist/core/session-manager.js.map +1 -0
- package/dist/core/session-retention.d.ts +17 -0
- package/dist/core/session-retention.d.ts.map +1 -0
- package/dist/core/session-retention.js +69 -0
- package/dist/core/session-retention.js.map +1 -0
- package/dist/core/settings-manager.d.ts +355 -0
- package/dist/core/settings-manager.d.ts.map +1 -0
- package/dist/core/settings-manager.js +1064 -0
- package/dist/core/settings-manager.js.map +1 -0
- package/dist/core/skills.d.ts +60 -0
- package/dist/core/skills.d.ts.map +1 -0
- package/dist/core/skills.js +387 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/slash-commands.d.ts +15 -0
- package/dist/core/slash-commands.d.ts.map +1 -0
- package/dist/core/slash-commands.js +58 -0
- package/dist/core/slash-commands.js.map +1 -0
- package/dist/core/source-info.d.ts +18 -0
- package/dist/core/source-info.d.ts.map +1 -0
- package/dist/core/source-info.js +19 -0
- package/dist/core/source-info.js.map +1 -0
- package/dist/core/subscriptions.d.ts +64 -0
- package/dist/core/subscriptions.d.ts.map +1 -0
- package/dist/core/subscriptions.js +259 -0
- package/dist/core/subscriptions.js.map +1 -0
- package/dist/core/swarm.d.ts +41 -0
- package/dist/core/swarm.d.ts.map +1 -0
- package/dist/core/swarm.js +81 -0
- package/dist/core/swarm.js.map +1 -0
- package/dist/core/system-prompt.d.ts +28 -0
- package/dist/core/system-prompt.d.ts.map +1 -0
- package/dist/core/system-prompt.js +107 -0
- package/dist/core/system-prompt.js.map +1 -0
- package/dist/core/timings.d.ts +10 -0
- package/dist/core/timings.d.ts.map +1 -0
- package/dist/core/timings.js +41 -0
- package/dist/core/timings.js.map +1 -0
- package/dist/core/tools/bash.d.ts +69 -0
- package/dist/core/tools/bash.d.ts.map +1 -0
- package/dist/core/tools/bash.js +395 -0
- package/dist/core/tools/bash.js.map +1 -0
- package/dist/core/tools/edit-diff.d.ts +106 -0
- package/dist/core/tools/edit-diff.d.ts.map +1 -0
- package/dist/core/tools/edit-diff.js +424 -0
- package/dist/core/tools/edit-diff.js.map +1 -0
- package/dist/core/tools/edit.d.ts +51 -0
- package/dist/core/tools/edit.d.ts.map +1 -0
- package/dist/core/tools/edit.js +293 -0
- package/dist/core/tools/edit.js.map +1 -0
- package/dist/core/tools/file-mutation-queue.d.ts +6 -0
- package/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
- package/dist/core/tools/file-mutation-queue.js +52 -0
- package/dist/core/tools/file-mutation-queue.js.map +1 -0
- package/dist/core/tools/find.d.ts +35 -0
- package/dist/core/tools/find.d.ts.map +1 -0
- package/dist/core/tools/find.js +313 -0
- package/dist/core/tools/find.js.map +1 -0
- package/dist/core/tools/grep.d.ts +37 -0
- package/dist/core/tools/grep.d.ts.map +1 -0
- package/dist/core/tools/grep.js +312 -0
- package/dist/core/tools/grep.js.map +1 -0
- package/dist/core/tools/index.d.ts +40 -0
- package/dist/core/tools/index.d.ts.map +1 -0
- package/dist/core/tools/index.js +112 -0
- package/dist/core/tools/index.js.map +1 -0
- package/dist/core/tools/ls.d.ts +37 -0
- package/dist/core/tools/ls.d.ts.map +1 -0
- package/dist/core/tools/ls.js +175 -0
- package/dist/core/tools/ls.js.map +1 -0
- package/dist/core/tools/output-accumulator.d.ts +52 -0
- package/dist/core/tools/output-accumulator.d.ts.map +1 -0
- package/dist/core/tools/output-accumulator.js +184 -0
- package/dist/core/tools/output-accumulator.js.map +1 -0
- package/dist/core/tools/path-utils.d.ts +10 -0
- package/dist/core/tools/path-utils.d.ts.map +1 -0
- package/dist/core/tools/path-utils.js +99 -0
- package/dist/core/tools/path-utils.js.map +1 -0
- package/dist/core/tools/read.d.ts +35 -0
- package/dist/core/tools/read.d.ts.map +1 -0
- package/dist/core/tools/read.js +285 -0
- package/dist/core/tools/read.js.map +1 -0
- package/dist/core/tools/render-utils.d.ts +36 -0
- package/dist/core/tools/render-utils.d.ts.map +1 -0
- package/dist/core/tools/render-utils.js +88 -0
- package/dist/core/tools/render-utils.js.map +1 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
- package/dist/core/tools/tool-definition-wrapper.js +34 -0
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
- package/dist/core/tools/truncate.d.ts +70 -0
- package/dist/core/tools/truncate.d.ts.map +1 -0
- package/dist/core/tools/truncate.js +215 -0
- package/dist/core/tools/truncate.js.map +1 -0
- package/dist/core/tools/write.d.ts +26 -0
- package/dist/core/tools/write.d.ts.map +1 -0
- package/dist/core/tools/write.js +202 -0
- package/dist/core/tools/write.js.map +1 -0
- package/dist/core/trust-manager.d.ts +36 -0
- package/dist/core/trust-manager.d.ts.map +1 -0
- package/dist/core/trust-manager.js +202 -0
- package/dist/core/trust-manager.js.map +1 -0
- package/dist/core/usage-adapters/kimi-coding.d.ts +11 -0
- package/dist/core/usage-adapters/kimi-coding.d.ts.map +1 -0
- package/dist/core/usage-adapters/kimi-coding.js +78 -0
- package/dist/core/usage-adapters/kimi-coding.js.map +1 -0
- package/dist/core/usage-adapters/openai-codex.d.ts +4 -0
- package/dist/core/usage-adapters/openai-codex.d.ts.map +1 -0
- package/dist/core/usage-adapters/openai-codex.js +180 -0
- package/dist/core/usage-adapters/openai-codex.js.map +1 -0
- package/dist/core/usage-adapters/shared.d.ts +20 -0
- package/dist/core/usage-adapters/shared.d.ts.map +1 -0
- package/dist/core/usage-adapters/shared.js +75 -0
- package/dist/core/usage-adapters/shared.js.map +1 -0
- package/dist/core/usage-adapters/xai.d.ts +21 -0
- package/dist/core/usage-adapters/xai.d.ts.map +1 -0
- package/dist/core/usage-adapters/xai.js +77 -0
- package/dist/core/usage-adapters/xai.js.map +1 -0
- package/dist/core/usage-adapters/zai.d.ts +14 -0
- package/dist/core/usage-adapters/zai.d.ts.map +1 -0
- package/dist/core/usage-adapters/zai.js +67 -0
- package/dist/core/usage-adapters/zai.js.map +1 -0
- package/dist/core/usage-history.d.ts +63 -0
- package/dist/core/usage-history.d.ts.map +1 -0
- package/dist/core/usage-history.js +239 -0
- package/dist/core/usage-history.js.map +1 -0
- package/dist/core/usage-limit.d.ts +17 -0
- package/dist/core/usage-limit.d.ts.map +1 -0
- package/dist/core/usage-limit.js +79 -0
- package/dist/core/usage-limit.js.map +1 -0
- package/dist/core/usage-service.d.ts +33 -0
- package/dist/core/usage-service.d.ts.map +1 -0
- package/dist/core/usage-service.js +56 -0
- package/dist/core/usage-service.js.map +1 -0
- package/dist/core/user-models.d.ts +50 -0
- package/dist/core/user-models.d.ts.map +1 -0
- package/dist/core/user-models.js +192 -0
- package/dist/core/user-models.js.map +1 -0
- package/dist/gateway/adapters/discord.d.ts +251 -0
- package/dist/gateway/adapters/discord.d.ts.map +1 -0
- package/dist/gateway/adapters/discord.js +693 -0
- package/dist/gateway/adapters/discord.js.map +1 -0
- package/dist/gateway/adapters/telegram.d.ts +187 -0
- package/dist/gateway/adapters/telegram.d.ts.map +1 -0
- package/dist/gateway/adapters/telegram.js +581 -0
- package/dist/gateway/adapters/telegram.js.map +1 -0
- package/dist/gateway/agent-bridge.d.ts +143 -0
- package/dist/gateway/agent-bridge.d.ts.map +1 -0
- package/dist/gateway/agent-bridge.js +466 -0
- package/dist/gateway/agent-bridge.js.map +1 -0
- package/dist/gateway/approval.d.ts +34 -0
- package/dist/gateway/approval.d.ts.map +1 -0
- package/dist/gateway/approval.js +152 -0
- package/dist/gateway/approval.js.map +1 -0
- package/dist/gateway/authz.d.ts +21 -0
- package/dist/gateway/authz.d.ts.map +1 -0
- package/dist/gateway/authz.js +61 -0
- package/dist/gateway/authz.js.map +1 -0
- package/dist/gateway/buttons.d.ts +58 -0
- package/dist/gateway/buttons.d.ts.map +1 -0
- package/dist/gateway/buttons.js +269 -0
- package/dist/gateway/buttons.js.map +1 -0
- package/dist/gateway/command.d.ts +8 -0
- package/dist/gateway/command.d.ts.map +1 -0
- package/dist/gateway/command.js +16 -0
- package/dist/gateway/command.js.map +1 -0
- package/dist/gateway/commands.d.ts +43 -0
- package/dist/gateway/commands.d.ts.map +1 -0
- package/dist/gateway/commands.js +642 -0
- package/dist/gateway/commands.js.map +1 -0
- package/dist/gateway/config.d.ts +53 -0
- package/dist/gateway/config.d.ts.map +1 -0
- package/dist/gateway/config.js +136 -0
- package/dist/gateway/config.js.map +1 -0
- package/dist/gateway/cron.d.ts +69 -0
- package/dist/gateway/cron.d.ts.map +1 -0
- package/dist/gateway/cron.js +321 -0
- package/dist/gateway/cron.js.map +1 -0
- package/dist/gateway/index.d.ts +31 -0
- package/dist/gateway/index.d.ts.map +1 -0
- package/dist/gateway/index.js +233 -0
- package/dist/gateway/index.js.map +1 -0
- package/dist/gateway/pairing.d.ts +44 -0
- package/dist/gateway/pairing.d.ts.map +1 -0
- package/dist/gateway/pairing.js +171 -0
- package/dist/gateway/pairing.js.map +1 -0
- package/dist/gateway/router.d.ts +48 -0
- package/dist/gateway/router.d.ts.map +1 -0
- package/dist/gateway/router.js +215 -0
- package/dist/gateway/router.js.map +1 -0
- package/dist/gateway/session-keys.d.ts +18 -0
- package/dist/gateway/session-keys.d.ts.map +1 -0
- package/dist/gateway/session-keys.js +26 -0
- package/dist/gateway/session-keys.js.map +1 -0
- package/dist/gateway/store.d.ts +28 -0
- package/dist/gateway/store.d.ts.map +1 -0
- package/dist/gateway/store.js +93 -0
- package/dist/gateway/store.js.map +1 -0
- package/dist/gateway/stream.d.ts +55 -0
- package/dist/gateway/stream.d.ts.map +1 -0
- package/dist/gateway/stream.js +107 -0
- package/dist/gateway/stream.js.map +1 -0
- package/dist/gateway/text.d.ts +18 -0
- package/dist/gateway/text.d.ts.map +1 -0
- package/dist/gateway/text.js +136 -0
- package/dist/gateway/text.js.map +1 -0
- package/dist/gateway/types.d.ts +95 -0
- package/dist/gateway/types.d.ts.map +1 -0
- package/dist/gateway/types.js +9 -0
- package/dist/gateway/types.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +12 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +742 -0
- package/dist/main.js.map +1 -0
- package/dist/migrations.d.ts +46 -0
- package/dist/migrations.d.ts.map +1 -0
- package/dist/migrations.js +351 -0
- package/dist/migrations.js.map +1 -0
- package/dist/modes/index.d.ts +9 -0
- package/dist/modes/index.d.ts.map +1 -0
- package/dist/modes/index.js +8 -0
- package/dist/modes/index.js.map +1 -0
- package/dist/modes/interactive/assets/clankolas.png +0 -0
- package/dist/modes/interactive/components/armin.d.ts +34 -0
- package/dist/modes/interactive/components/armin.d.ts.map +1 -0
- package/dist/modes/interactive/components/armin.js +333 -0
- package/dist/modes/interactive/components/armin.js.map +1 -0
- package/dist/modes/interactive/components/assistant-message.d.ts +31 -0
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/assistant-message.js +246 -0
- package/dist/modes/interactive/components/assistant-message.js.map +1 -0
- package/dist/modes/interactive/components/bash-execution.d.ts +32 -0
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/bash-execution.js +171 -0
- package/dist/modes/interactive/components/bash-execution.js.map +1 -0
- package/dist/modes/interactive/components/boot-ascii.d.ts +6 -0
- package/dist/modes/interactive/components/boot-ascii.d.ts.map +1 -0
- package/dist/modes/interactive/components/boot-ascii.js +6 -0
- package/dist/modes/interactive/components/boot-ascii.js.map +1 -0
- package/dist/modes/interactive/components/boot-screen.d.ts +22 -0
- package/dist/modes/interactive/components/boot-screen.d.ts.map +1 -0
- package/dist/modes/interactive/components/boot-screen.js +53 -0
- package/dist/modes/interactive/components/boot-screen.js.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.js +54 -0
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.js +44 -0
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.js +45 -0
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/config-selector.d.ts +102 -0
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/config-selector.js +761 -0
- package/dist/modes/interactive/components/config-selector.js.map +1 -0
- package/dist/modes/interactive/components/context-view.d.ts +13 -0
- package/dist/modes/interactive/components/context-view.d.ts.map +1 -0
- package/dist/modes/interactive/components/context-view.js +42 -0
- package/dist/modes/interactive/components/context-view.js.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.js +33 -0
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
- package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-editor.js +70 -0
- package/dist/modes/interactive/components/custom-editor.js.map +1 -0
- package/dist/modes/interactive/components/custom-entry.d.ts +19 -0
- package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-entry.js +52 -0
- package/dist/modes/interactive/components/custom-entry.js.map +1 -0
- package/dist/modes/interactive/components/custom-message.d.ts +20 -0
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-message.js +79 -0
- package/dist/modes/interactive/components/custom-message.js.map +1 -0
- package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
- package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
- package/dist/modes/interactive/components/daxnuts.js +140 -0
- package/dist/modes/interactive/components/daxnuts.js.map +1 -0
- package/dist/modes/interactive/components/diff.d.ts +12 -0
- package/dist/modes/interactive/components/diff.d.ts.map +1 -0
- package/dist/modes/interactive/components/diff.js +133 -0
- package/dist/modes/interactive/components/diff.js.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.js +21 -0
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
- package/dist/modes/interactive/components/earendil-announcement.d.ts +5 -0
- package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -0
- package/dist/modes/interactive/components/earendil-announcement.js +40 -0
- package/dist/modes/interactive/components/earendil-announcement.js.map +1 -0
- package/dist/modes/interactive/components/exit-card.d.ts +22 -0
- package/dist/modes/interactive/components/exit-card.d.ts.map +1 -0
- package/dist/modes/interactive/components/exit-card.js +69 -0
- package/dist/modes/interactive/components/exit-card.js.map +1 -0
- package/dist/modes/interactive/components/extension-editor.d.ts +22 -0
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-editor.js +128 -0
- package/dist/modes/interactive/components/extension-editor.js.map +1 -0
- package/dist/modes/interactive/components/extension-input.d.ts +23 -0
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-input.js +61 -0
- package/dist/modes/interactive/components/extension-input.js.map +1 -0
- package/dist/modes/interactive/components/extension-selector.d.ts +30 -0
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-selector.js +106 -0
- package/dist/modes/interactive/components/extension-selector.js.map +1 -0
- package/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
- package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
- package/dist/modes/interactive/components/first-time-setup.js +99 -0
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -0
- package/dist/modes/interactive/components/footer.d.ts +32 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -0
- package/dist/modes/interactive/components/footer.js +221 -0
- package/dist/modes/interactive/components/footer.js.map +1 -0
- package/dist/modes/interactive/components/index.d.ts +34 -0
- package/dist/modes/interactive/components/index.d.ts.map +1 -0
- package/dist/modes/interactive/components/index.js +35 -0
- package/dist/modes/interactive/components/index.js.map +1 -0
- package/dist/modes/interactive/components/injected-prompt-message.d.ts +21 -0
- package/dist/modes/interactive/components/injected-prompt-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/injected-prompt-message.js +51 -0
- package/dist/modes/interactive/components/injected-prompt-message.js.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.js +36 -0
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
- package/dist/modes/interactive/components/login-dialog.d.ts +52 -0
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
- package/dist/modes/interactive/components/login-dialog.js +188 -0
- package/dist/modes/interactive/components/login-dialog.js.map +1 -0
- package/dist/modes/interactive/components/model-selector.d.ts +61 -0
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/model-selector.js +320 -0
- package/dist/modes/interactive/components/model-selector.js.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts +33 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.js +163 -0
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
- package/dist/modes/interactive/components/processes-selector.d.ts +19 -0
- package/dist/modes/interactive/components/processes-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/processes-selector.js +170 -0
- package/dist/modes/interactive/components/processes-selector.js.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +42 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.js +293 -0
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.js +155 -0
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
- package/dist/modes/interactive/components/session-selector.d.ts +95 -0
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector.js +857 -0
- package/dist/modes/interactive/components/session-selector.js.map +1 -0
- package/dist/modes/interactive/components/settings-selector.d.ts +139 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/settings-selector.js +1156 -0
- package/dist/modes/interactive/components/settings-selector.js.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.js +39 -0
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
- package/dist/modes/interactive/components/status-indicator.d.ts +28 -0
- package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -0
- package/dist/modes/interactive/components/status-indicator.js +60 -0
- package/dist/modes/interactive/components/status-indicator.js.map +1 -0
- package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/theme-selector.js +50 -0
- package/dist/modes/interactive/components/theme-selector.js.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.js +52 -0
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
- package/dist/modes/interactive/components/thinking-summary.d.ts +36 -0
- package/dist/modes/interactive/components/thinking-summary.d.ts.map +1 -0
- package/dist/modes/interactive/components/thinking-summary.js +94 -0
- package/dist/modes/interactive/components/thinking-summary.js.map +1 -0
- package/dist/modes/interactive/components/thinking-tail.d.ts +21 -0
- package/dist/modes/interactive/components/thinking-tail.d.ts.map +1 -0
- package/dist/modes/interactive/components/thinking-tail.js +29 -0
- package/dist/modes/interactive/components/thinking-tail.js.map +1 -0
- package/dist/modes/interactive/components/tool-execution.d.ts +67 -0
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/tool-execution.js +340 -0
- package/dist/modes/interactive/components/tool-execution.js.map +1 -0
- package/dist/modes/interactive/components/tree-selector.d.ts +94 -0
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/tree-selector.js +1245 -0
- package/dist/modes/interactive/components/tree-selector.js.map +1 -0
- package/dist/modes/interactive/components/trust-selector.d.ts +23 -0
- package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/trust-selector.js +91 -0
- package/dist/modes/interactive/components/trust-selector.js.map +1 -0
- package/dist/modes/interactive/components/usage-view.d.ts +63 -0
- package/dist/modes/interactive/components/usage-view.d.ts.map +1 -0
- package/dist/modes/interactive/components/usage-view.js +189 -0
- package/dist/modes/interactive/components/usage-view.js.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.js +114 -0
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
- package/dist/modes/interactive/components/user-message.d.ts +16 -0
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message.js +62 -0
- package/dist/modes/interactive/components/user-message.js.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.js +33 -0
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +448 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-mode.js +6487 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -0
- package/dist/modes/interactive/model-search.d.ts +12 -0
- package/dist/modes/interactive/model-search.d.ts.map +1 -0
- package/dist/modes/interactive/model-search.js +15 -0
- package/dist/modes/interactive/model-search.js.map +1 -0
- package/dist/modes/interactive/smooth-streaming.d.ts +10 -0
- package/dist/modes/interactive/smooth-streaming.d.ts.map +1 -0
- package/dist/modes/interactive/smooth-streaming.js +95 -0
- package/dist/modes/interactive/smooth-streaming.js.map +1 -0
- package/dist/modes/interactive/theme/moon.json +83 -0
- package/dist/modes/interactive/theme/theme-controller.d.ts +29 -0
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -0
- package/dist/modes/interactive/theme/theme-controller.js +97 -0
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -0
- package/dist/modes/interactive/theme/theme-schema.json +363 -0
- package/dist/modes/interactive/theme/theme.d.ts +128 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
- package/dist/modes/interactive/theme/theme.js +1092 -0
- package/dist/modes/interactive/theme/theme.js.map +1 -0
- package/dist/modes/print-mode.d.ts +28 -0
- package/dist/modes/print-mode.d.ts.map +1 -0
- package/dist/modes/print-mode.js +132 -0
- package/dist/modes/print-mode.js.map +1 -0
- package/dist/modes/rpc/jsonl.d.ts +17 -0
- package/dist/modes/rpc/jsonl.d.ts.map +1 -0
- package/dist/modes/rpc/jsonl.js +49 -0
- package/dist/modes/rpc/jsonl.js.map +1 -0
- package/dist/modes/rpc/rpc-client.d.ts +242 -0
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-client.js +481 -0
- package/dist/modes/rpc/rpc-client.js.map +1 -0
- package/dist/modes/rpc/rpc-mode.d.ts +20 -0
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-mode.js +635 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -0
- package/dist/modes/rpc/rpc-types.d.ts +446 -0
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-types.js +8 -0
- package/dist/modes/rpc/rpc-types.js.map +1 -0
- package/dist/package-manager-cli.d.ts +8 -0
- package/dist/package-manager-cli.d.ts.map +1 -0
- package/dist/package-manager-cli.js +378 -0
- package/dist/package-manager-cli.js.map +1 -0
- package/dist/rpc-entry.d.ts +3 -0
- package/dist/rpc-entry.d.ts.map +1 -0
- package/dist/rpc-entry.js +10 -0
- package/dist/rpc-entry.js.map +1 -0
- package/dist/utils/ansi.d.ts +2 -0
- package/dist/utils/ansi.d.ts.map +1 -0
- package/dist/utils/ansi.js +52 -0
- package/dist/utils/ansi.js.map +1 -0
- package/dist/utils/child-process.d.ts +18 -0
- package/dist/utils/child-process.d.ts.map +1 -0
- package/dist/utils/child-process.js +106 -0
- package/dist/utils/child-process.js.map +1 -0
- package/dist/utils/clipboard-image.d.ts +11 -0
- package/dist/utils/clipboard-image.d.ts.map +1 -0
- package/dist/utils/clipboard-image.js +300 -0
- package/dist/utils/clipboard-image.js.map +1 -0
- package/dist/utils/clipboard-native.d.ts +11 -0
- package/dist/utils/clipboard-native.d.ts.map +1 -0
- package/dist/utils/clipboard-native.js +20 -0
- package/dist/utils/clipboard-native.js.map +1 -0
- package/dist/utils/clipboard.d.ts +4 -0
- package/dist/utils/clipboard.d.ts.map +1 -0
- package/dist/utils/clipboard.js +130 -0
- package/dist/utils/clipboard.js.map +1 -0
- package/dist/utils/deprecation.d.ts +4 -0
- package/dist/utils/deprecation.d.ts.map +1 -0
- package/dist/utils/deprecation.js +13 -0
- package/dist/utils/deprecation.js.map +1 -0
- package/dist/utils/exif-orientation.d.ts +5 -0
- package/dist/utils/exif-orientation.d.ts.map +1 -0
- package/dist/utils/exif-orientation.js +158 -0
- package/dist/utils/exif-orientation.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +8 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +26 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/fs-watch.d.ts +5 -0
- package/dist/utils/fs-watch.d.ts.map +1 -0
- package/dist/utils/fs-watch.js +25 -0
- package/dist/utils/fs-watch.js.map +1 -0
- package/dist/utils/git.d.ts +26 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +195 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/html.d.ts +7 -0
- package/dist/utils/html.d.ts.map +1 -0
- package/dist/utils/html.js +40 -0
- package/dist/utils/html.js.map +1 -0
- package/dist/utils/image-convert.d.ts +10 -0
- package/dist/utils/image-convert.d.ts.map +1 -0
- package/dist/utils/image-convert.js +45 -0
- package/dist/utils/image-convert.js.map +1 -0
- package/dist/utils/image-process.d.ts +18 -0
- package/dist/utils/image-process.d.ts.map +1 -0
- package/dist/utils/image-process.js +83 -0
- package/dist/utils/image-process.js.map +1 -0
- package/dist/utils/image-resize-core.d.ts +30 -0
- package/dist/utils/image-resize-core.d.ts.map +1 -0
- package/dist/utils/image-resize-core.js +124 -0
- package/dist/utils/image-resize-core.js.map +1 -0
- package/dist/utils/image-resize-worker.d.ts +2 -0
- package/dist/utils/image-resize-worker.d.ts.map +1 -0
- package/dist/utils/image-resize-worker.js +31 -0
- package/dist/utils/image-resize-worker.js.map +1 -0
- package/dist/utils/image-resize.d.ts +16 -0
- package/dist/utils/image-resize.d.ts.map +1 -0
- package/dist/utils/image-resize.js +97 -0
- package/dist/utils/image-resize.js.map +1 -0
- package/dist/utils/json.d.ts +3 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/json.js +7 -0
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/mime.d.ts +3 -0
- package/dist/utils/mime.d.ts.map +1 -0
- package/dist/utils/mime.js +110 -0
- package/dist/utils/mime.js.map +1 -0
- package/dist/utils/open-browser.d.ts +9 -0
- package/dist/utils/open-browser.d.ts.map +1 -0
- package/dist/utils/open-browser.js +22 -0
- package/dist/utils/open-browser.js.map +1 -0
- package/dist/utils/paths.d.ts +31 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +92 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/photon.d.ts +21 -0
- package/dist/utils/photon.d.ts.map +1 -0
- package/dist/utils/photon.js +121 -0
- package/dist/utils/photon.js.map +1 -0
- package/dist/utils/pi-user-agent.d.ts +2 -0
- package/dist/utils/pi-user-agent.d.ts.map +1 -0
- package/dist/utils/pi-user-agent.js +5 -0
- package/dist/utils/pi-user-agent.js.map +1 -0
- package/dist/utils/shell.d.ts +31 -0
- package/dist/utils/shell.d.ts.map +1 -0
- package/dist/utils/shell.js +202 -0
- package/dist/utils/shell.js.map +1 -0
- package/dist/utils/sleep.d.ts +5 -0
- package/dist/utils/sleep.d.ts.map +1 -0
- package/dist/utils/sleep.js +17 -0
- package/dist/utils/sleep.js.map +1 -0
- package/dist/utils/syntax-highlight.d.ts +12 -0
- package/dist/utils/syntax-highlight.d.ts.map +1 -0
- package/dist/utils/syntax-highlight.js +118 -0
- package/dist/utils/syntax-highlight.js.map +1 -0
- package/dist/utils/tools-manager.d.ts +3 -0
- package/dist/utils/tools-manager.d.ts.map +1 -0
- package/dist/utils/tools-manager.js +328 -0
- package/dist/utils/tools-manager.js.map +1 -0
- package/docs/compaction.md +396 -0
- package/docs/containerization.md +111 -0
- package/docs/custom-provider.md +735 -0
- package/docs/development.md +71 -0
- package/docs/docs.json +156 -0
- package/docs/extensions.md +2911 -0
- package/docs/images/doom-extension.png +0 -0
- package/docs/images/exy.png +0 -0
- package/docs/images/interactive-mode.png +0 -0
- package/docs/images/tree-view.png +0 -0
- package/docs/index.md +82 -0
- package/docs/json.md +82 -0
- package/docs/keybindings.md +201 -0
- package/docs/models.md +540 -0
- package/docs/packages.md +228 -0
- package/docs/prompt-templates.md +95 -0
- package/docs/providers.md +294 -0
- package/docs/quickstart.md +165 -0
- package/docs/rpc.md +1480 -0
- package/docs/sdk.md +1183 -0
- package/docs/security.md +59 -0
- package/docs/session-format.md +422 -0
- package/docs/sessions.md +145 -0
- package/docs/settings.md +302 -0
- package/docs/shell-aliases.md +13 -0
- package/docs/skills.md +231 -0
- package/docs/terminal-setup.md +142 -0
- package/docs/termux.md +127 -0
- package/docs/themes.md +297 -0
- package/docs/tmux.md +63 -0
- package/docs/tui.md +927 -0
- package/docs/usage.md +312 -0
- package/docs/windows.md +17 -0
- package/examples/README.md +25 -0
- package/examples/extensions/README.md +213 -0
- package/examples/extensions/auto-commit-on-exit.ts +49 -0
- package/examples/extensions/bash-spawn-hook.ts +30 -0
- package/examples/extensions/bookmark.ts +50 -0
- package/examples/extensions/border-status-editor.ts +150 -0
- package/examples/extensions/built-in-tool-renderer.ts +249 -0
- package/examples/extensions/claude-rules.ts +86 -0
- package/examples/extensions/commands.ts +72 -0
- package/examples/extensions/confirm-destructive.ts +59 -0
- package/examples/extensions/custom-compaction.ts +128 -0
- package/examples/extensions/custom-footer.ts +64 -0
- package/examples/extensions/custom-header.ts +73 -0
- package/examples/extensions/custom-provider-anthropic/index.ts +604 -0
- package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -0
- package/examples/extensions/custom-provider-anthropic/package.json +19 -0
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +404 -0
- package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -0
- package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -0
- package/examples/extensions/dirty-repo-guard.ts +56 -0
- package/examples/extensions/doom-overlay/README.md +46 -0
- package/examples/extensions/doom-overlay/doom/build/doom.js +21 -0
- package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
- package/examples/extensions/doom-overlay/doom/build.sh +152 -0
- package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -0
- package/examples/extensions/doom-overlay/doom-component.ts +132 -0
- package/examples/extensions/doom-overlay/doom-engine.ts +173 -0
- package/examples/extensions/doom-overlay/doom-keys.ts +104 -0
- package/examples/extensions/doom-overlay/index.ts +74 -0
- package/examples/extensions/doom-overlay/wad-finder.ts +51 -0
- package/examples/extensions/dynamic-resources/SKILL.md +8 -0
- package/examples/extensions/dynamic-resources/dynamic.json +79 -0
- package/examples/extensions/dynamic-resources/dynamic.md +5 -0
- package/examples/extensions/dynamic-resources/index.ts +15 -0
- package/examples/extensions/dynamic-tools.ts +74 -0
- package/examples/extensions/entry-renderer.ts +41 -0
- package/examples/extensions/event-bus.ts +43 -0
- package/examples/extensions/file-trigger.ts +41 -0
- package/examples/extensions/git-checkpoint.ts +53 -0
- package/examples/extensions/git-merge-and-resolve.ts +115 -0
- package/examples/extensions/github-issue-autocomplete.ts +185 -0
- package/examples/extensions/gondolin/index.ts +531 -0
- package/examples/extensions/gondolin/package-lock.json +185 -0
- package/examples/extensions/gondolin/package.json +19 -0
- package/examples/extensions/handoff.ts +191 -0
- package/examples/extensions/hello.ts +26 -0
- package/examples/extensions/hidden-thinking-label.ts +53 -0
- package/examples/extensions/inline-bash.ts +94 -0
- package/examples/extensions/input-transform-streaming.ts +39 -0
- package/examples/extensions/input-transform.ts +43 -0
- package/examples/extensions/interactive-shell.ts +196 -0
- package/examples/extensions/kimi-deferred-tools.ts +61 -0
- package/examples/extensions/mac-system-theme.ts +47 -0
- package/examples/extensions/message-renderer.ts +59 -0
- package/examples/extensions/minimal-mode.ts +426 -0
- package/examples/extensions/modal-editor.ts +85 -0
- package/examples/extensions/model-status.ts +31 -0
- package/examples/extensions/notify.ts +55 -0
- package/examples/extensions/overlay-qa-tests.ts +1450 -0
- package/examples/extensions/overlay-test.ts +153 -0
- package/examples/extensions/permission-gate.ts +34 -0
- package/examples/extensions/pirate.ts +47 -0
- package/examples/extensions/plan-mode/README.md +66 -0
- package/examples/extensions/plan-mode/index.ts +390 -0
- package/examples/extensions/plan-mode/utils.ts +168 -0
- package/examples/extensions/preset.ts +436 -0
- package/examples/extensions/project-trust.ts +64 -0
- package/examples/extensions/prompt-customizer.ts +97 -0
- package/examples/extensions/protected-paths.ts +30 -0
- package/examples/extensions/provider-payload.ts +18 -0
- package/examples/extensions/qna.ts +122 -0
- package/examples/extensions/question.ts +286 -0
- package/examples/extensions/questionnaire.ts +448 -0
- package/examples/extensions/rainbow-editor.ts +88 -0
- package/examples/extensions/reload-runtime.ts +37 -0
- package/examples/extensions/rpc-demo.ts +118 -0
- package/examples/extensions/sandbox/index.ts +321 -0
- package/examples/extensions/sandbox/package-lock.json +92 -0
- package/examples/extensions/sandbox/package.json +19 -0
- package/examples/extensions/send-user-message.ts +97 -0
- package/examples/extensions/session-name.ts +27 -0
- package/examples/extensions/shutdown-command.ts +63 -0
- package/examples/extensions/snake.ts +343 -0
- package/examples/extensions/space-invaders.ts +560 -0
- package/examples/extensions/ssh.ts +220 -0
- package/examples/extensions/status-line.ts +32 -0
- package/examples/extensions/structured-output.ts +65 -0
- package/examples/extensions/subagent/README.md +175 -0
- package/examples/extensions/subagent/agents/planner.md +37 -0
- package/examples/extensions/subagent/agents/reviewer.md +35 -0
- package/examples/extensions/subagent/agents/scout.md +50 -0
- package/examples/extensions/subagent/agents/worker.md +24 -0
- package/examples/extensions/subagent/agents.ts +126 -0
- package/examples/extensions/subagent/index.ts +1015 -0
- package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
- package/examples/extensions/subagent/prompts/implement.md +10 -0
- package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
- package/examples/extensions/summarize.ts +207 -0
- package/examples/extensions/system-prompt-header.ts +17 -0
- package/examples/extensions/tic-tac-toe.ts +1008 -0
- package/examples/extensions/timed-confirm.ts +70 -0
- package/examples/extensions/titlebar-spinner.ts +58 -0
- package/examples/extensions/todo.ts +297 -0
- package/examples/extensions/tool-override.ts +144 -0
- package/examples/extensions/tools.ts +146 -0
- package/examples/extensions/trigger-compact.ts +50 -0
- package/examples/extensions/truncated-tool.ts +195 -0
- package/examples/extensions/widget-placement.ts +9 -0
- package/examples/extensions/with-deps/index.ts +32 -0
- package/examples/extensions/with-deps/package-lock.json +31 -0
- package/examples/extensions/with-deps/package.json +22 -0
- package/examples/extensions/working-indicator.ts +123 -0
- package/examples/extensions/working-message-test.ts +25 -0
- package/examples/rpc-extension-ui.ts +632 -0
- package/examples/sdk/01-minimal.ts +26 -0
- package/examples/sdk/02-custom-model.ts +50 -0
- package/examples/sdk/03-custom-prompt.ts +75 -0
- package/examples/sdk/04-skills.ts +55 -0
- package/examples/sdk/05-tools.ts +48 -0
- package/examples/sdk/06-extensions.ts +99 -0
- package/examples/sdk/07-context-files.ts +47 -0
- package/examples/sdk/08-prompt-templates.ts +51 -0
- package/examples/sdk/09-api-keys-and-oauth.ts +34 -0
- package/examples/sdk/10-settings.ts +53 -0
- package/examples/sdk/11-sessions.ts +52 -0
- package/examples/sdk/12-full-control.ts +72 -0
- package/examples/sdk/13-session-runtime.ts +67 -0
- package/examples/sdk/README.md +140 -0
- package/package.json +116 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-clarify.js","sourceRoot":"","sources":["../../../../../../src/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.ts"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\n/**\n * Chain Clarification TUI Component\n *\n * Shows templates and resolved behaviors for each step in a chain.\n * Supports runtime editing of templates, output paths, reads lists, and progress toggle.\n */\n\nimport type { Theme } from \"@earendil-works/pi-coding-agent\";\nimport type { Component, TUI } from \"@earendil-works/pi-tui\";\nimport { matchesKey, visibleWidth, truncateToWidth } from \"@earendil-works/pi-tui\";\nimport type { AgentConfig } from \"../../agents/agents.ts\";\nimport type { ResolvedStepBehavior } from \"../../shared/settings.ts\";\nimport { resolveModelCandidate, splitThinkingSuffix } from \"../shared/model-fallback.ts\";\nimport { findModelInfo, getSupportedThinkingLevels, type ModelInfo, type ThinkingLevel } from \"../../shared/model-info.ts\";\n\ntype ClarifyMode = 'single' | 'parallel' | 'chain';\n\nexport interface BehaviorOverride {\n\toutput?: string | false;\n\treads?: string[] | false;\n\tprogress?: boolean;\n\tmodel?: string;\n\tskills?: string[] | false;\n}\n\nexport interface ChainClarifyResult {\n\tconfirmed: boolean;\n\ttemplates: string[];\n\tbehaviorOverrides: (BehaviorOverride | undefined)[];\n\trunInBackground?: boolean;\n}\n\ntype EditMode = \"template\" | \"output\" | \"reads\" | \"model\" | \"thinking\" | \"skills\";\n\n\ninterface TextEditorState {\n\tbuffer: string;\n\tcursor: number;\n\tviewportOffset: number;\n}\n\nfunction createEditorState(initial = \"\"): TextEditorState {\n\treturn { buffer: initial, cursor: 0, viewportOffset: 0 };\n}\n\nfunction wrapText(text: string, width: number): { lines: string[]; starts: number[] } {\n\tif (width <= 0) return { lines: [text], starts: [0] };\n\tif (text.length === 0) return { lines: [\"\"], starts: [0] };\n\n\tconst lines: string[] = [];\n\tconst starts: number[] = [];\n\tlet offset = 0;\n\tconst segments = text.split(\"\\n\");\n\tfor (const [index, segment] of segments.entries()) {\n\t\tif (segment.length === 0) {\n\t\t\tstarts.push(offset);\n\t\t\tlines.push(\"\");\n\t\t} else {\n\t\t\tlet lineStart = 0;\n\t\t\tlet pos = 0;\n\t\t\tlet lineWidth = 0;\n\t\t\twhile (pos < segment.length) {\n\t\t\t\tconst char = String.fromCodePoint(segment.codePointAt(pos)!);\n\t\t\t\tconst charWidth = visibleWidth(char);\n\t\t\t\tif (lineWidth > 0 && lineWidth + charWidth > width) {\n\t\t\t\t\tstarts.push(offset + lineStart);\n\t\t\t\t\tlines.push(segment.slice(lineStart, pos));\n\t\t\t\t\tlineStart = pos;\n\t\t\t\t\tlineWidth = 0;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tpos += char.length;\n\t\t\t\tlineWidth += charWidth;\n\t\t\t}\n\t\t\tstarts.push(offset + lineStart);\n\t\t\tlines.push(segment.slice(lineStart));\n\t\t}\n\t\toffset += segment.length + (index < segments.length - 1 ? 1 : 0);\n\t}\n\tif (!text.endsWith(\"\\n\") && text.length > 0 && visibleWidth(lines[lines.length - 1] ?? \"\") === width) {\n\t\tstarts.push(text.length);\n\t\tlines.push(\"\");\n\t}\n\treturn { lines, starts };\n}\n\nfunction getCursorDisplayPos(cursor: number, starts: number[]): { line: number; col: number } {\n\tfor (let i = starts.length - 1; i >= 0; i--) {\n\t\tif (cursor >= starts[i]!) return { line: i, col: cursor - starts[i]! };\n\t}\n\treturn { line: 0, col: 0 };\n}\n\nfunction ensureCursorVisible(cursorLine: number, viewportHeight: number, currentOffset: number): number {\n\tif (cursorLine < currentOffset) return Math.max(0, cursorLine);\n\tif (cursorLine >= currentOffset + viewportHeight) return Math.max(0, cursorLine - viewportHeight + 1);\n\treturn Math.max(0, currentOffset);\n}\n\nfunction isWordChar(ch: string): boolean {\n\tconst code = ch.charCodeAt(0);\n\treturn (code >= 48 && code <= 57) || (code >= 65 && code <= 90) || (code >= 97 && code <= 122) || code === 95;\n}\n\nfunction wordBackward(buffer: string, cursor: number): number {\n\tlet pos = cursor;\n\twhile (pos > 0 && !isWordChar(buffer[pos - 1]!)) pos--;\n\twhile (pos > 0 && isWordChar(buffer[pos - 1]!)) pos--;\n\treturn pos;\n}\n\nfunction wordForward(buffer: string, cursor: number): number {\n\tlet pos = cursor;\n\twhile (pos < buffer.length && isWordChar(buffer[pos]!)) pos++;\n\twhile (pos < buffer.length && !isWordChar(buffer[pos]!)) pos++;\n\treturn pos;\n}\n\nfunction normalizeInsertText(data: string): string | null {\n\tlet text = data.split(\"\\x1b[200~\").join(\"\").split(\"\\x1b[201~\").join(\"\");\n\ttext = text.replace(/\\r\\n/g, \"\\n\").replace(/\\r/g, \"\\n\");\n\tconst newline = text.indexOf(\"\\n\");\n\tif (newline !== -1) text = text.slice(0, newline);\n\ttext = text.replace(/\\t/g, \" \");\n\tif (text.length === 0) return null;\n\tfor (let i = 0; i < text.length; i++) {\n\t\tif (text.charCodeAt(i) < 32) return null;\n\t}\n\treturn text;\n}\n\nfunction handleEditorInput(state: TextEditorState, data: string, textWidth: number): TextEditorState | null {\n\tif (matchesKey(data, \"escape\") || matchesKey(data, \"ctrl+c\") || matchesKey(data, \"return\")) return null;\n\n\tconst { lines: wrapped, starts } = wrapText(state.buffer, textWidth);\n\tconst cursorPos = getCursorDisplayPos(state.cursor, starts);\n\n\tif (matchesKey(data, \"alt+left\") || matchesKey(data, \"ctrl+left\")) return { ...state, cursor: wordBackward(state.buffer, state.cursor) };\n\tif (matchesKey(data, \"alt+right\") || matchesKey(data, \"ctrl+right\")) return { ...state, cursor: wordForward(state.buffer, state.cursor) };\n\tif (matchesKey(data, \"left\")) return state.cursor > 0 ? { ...state, cursor: state.cursor - 1 } : state;\n\tif (matchesKey(data, \"right\")) return state.cursor < state.buffer.length ? { ...state, cursor: state.cursor + 1 } : state;\n\tif (matchesKey(data, \"up\") && cursorPos.line > 0) {\n\t\tconst targetLine = cursorPos.line - 1;\n\t\treturn { ...state, cursor: starts[targetLine]! + Math.min(cursorPos.col, wrapped[targetLine]?.length ?? 0) };\n\t}\n\tif (matchesKey(data, \"down\") && cursorPos.line < wrapped.length - 1) {\n\t\tconst targetLine = cursorPos.line + 1;\n\t\treturn { ...state, cursor: starts[targetLine]! + Math.min(cursorPos.col, wrapped[targetLine]?.length ?? 0) };\n\t}\n\tif (matchesKey(data, \"home\")) return { ...state, cursor: starts[cursorPos.line]! };\n\tif (matchesKey(data, \"end\")) return { ...state, cursor: starts[cursorPos.line]! + (wrapped[cursorPos.line]?.length ?? 0) };\n\tif (matchesKey(data, \"ctrl+home\")) return { ...state, cursor: 0 };\n\tif (matchesKey(data, \"ctrl+end\")) return { ...state, cursor: state.buffer.length };\n\tif (matchesKey(data, \"alt+backspace\")) {\n\t\tconst target = wordBackward(state.buffer, state.cursor);\n\t\treturn target === state.cursor ? state : { ...state, buffer: state.buffer.slice(0, target) + state.buffer.slice(state.cursor), cursor: target };\n\t}\n\tif (matchesKey(data, \"backspace\")) {\n\t\treturn state.cursor > 0\n\t\t\t? { ...state, buffer: state.buffer.slice(0, state.cursor - 1) + state.buffer.slice(state.cursor), cursor: state.cursor - 1 }\n\t\t\t: state;\n\t}\n\tif (matchesKey(data, \"delete\")) {\n\t\treturn state.cursor < state.buffer.length\n\t\t\t? { ...state, buffer: state.buffer.slice(0, state.cursor) + state.buffer.slice(state.cursor + 1) }\n\t\t\t: state;\n\t}\n\n\tconst insert = normalizeInsertText(data);\n\treturn insert\n\t\t? { ...state, buffer: state.buffer.slice(0, state.cursor) + insert + state.buffer.slice(state.cursor), cursor: state.cursor + insert.length }\n\t\t: null;\n}\n\nfunction renderWithCursor(text: string, cursorPos: number): string {\n\tconst before = text.slice(0, cursorPos);\n\tconst cursorChar = text[cursorPos] ?? \" \";\n\tconst after = text.slice(cursorPos + 1);\n\treturn `${before}\\x1b[7m${cursorChar}\\x1b[27m${after}`;\n}\n\nfunction renderEditor(state: TextEditorState, width: number, viewportHeight: number): string[] {\n\tconst { lines: wrapped, starts } = wrapText(state.buffer, width);\n\tconst cursorPos = getCursorDisplayPos(state.cursor, starts);\n\tconst lines: string[] = [];\n\tfor (let i = 0; i < viewportHeight; i++) {\n\t\tconst lineIdx = state.viewportOffset + i;\n\t\tlet content = lineIdx < wrapped.length ? wrapped[lineIdx] ?? \"\" : \"\";\n\t\tif (lineIdx === cursorPos.line) content = renderWithCursor(content, cursorPos.col);\n\t\tlines.push(content);\n\t}\n\treturn lines;\n}\n\n/**\n * TUI component for chain clarification.\n * Factory signature matches ctx.ui.custom: (tui, theme, kb, done) => Component\n */\nexport class ChainClarifyComponent implements Component {\n\treadonly width = 84;\n\n\tprivate selectedStep = 0;\n\tprivate editingStep: number | null = null;\n\tprivate editMode: EditMode = \"template\";\n\tprivate editState: TextEditorState = createEditorState();\n\n\tprivate readonly EDIT_VIEWPORT_HEIGHT = 12;\n\tprivate behaviorOverrides: Map<number, BehaviorOverride> = new Map();\n\tprivate modelSearchQuery: string = \"\";\n\tprivate modelSelectedIndex: number = 0;\n\tprivate filteredModels: ModelInfo[] = [];\n\tprivate readonly MODEL_SELECTOR_HEIGHT = 10;\n\tprivate thinkingSelectedIndex: number = 0;\n\tprivate skillSearchQuery: string = \"\";\n\tprivate skillSelectedNames: Set<string> = new Set();\n\tprivate skillCursorIndex: number = 0;\n\tprivate filteredSkills: Array<{ name: string; source: string; description?: string }> = [];\n\tprivate noticeMessage: { text: string; type: \"info\" | \"error\" } | null = null;\n\tprivate noticeMessageTimer: ReturnType<typeof setTimeout> | null = null;\n\t/** Run in background (async) mode */\n\tprivate runInBackground = false;\n\tprivate tui: TUI;\n\tprivate theme: Theme;\n\tprivate agentConfigs: AgentConfig[];\n\tprivate templates: string[];\n\tprivate originalTask: string;\n\tprivate chainDir: string | undefined;\n\tprivate resolvedBehaviors: ResolvedStepBehavior[];\n\tprivate availableModels: ModelInfo[];\n\tprivate preferredProvider: string | undefined;\n\tprivate availableSkills: Array<{ name: string; source: string; description?: string }>;\n\tprivate done: (result: ChainClarifyResult) => void;\n\tprivate mode: ClarifyMode;\n\n\tconstructor(\n\t\ttui: TUI,\n\t\ttheme: Theme,\n\t\tagentConfigs: AgentConfig[],\n\t\ttemplates: string[],\n\t\toriginalTask: string,\n\t\tchainDir: string | undefined,\n\t\tresolvedBehaviors: ResolvedStepBehavior[],\n\t\tavailableModels: ModelInfo[],\n\t\tpreferredProvider: string | undefined,\n\t\tavailableSkills: Array<{ name: string; source: string; description?: string }>,\n\t\tdone: (result: ChainClarifyResult) => void,\n\t\tmode: ClarifyMode = 'chain',\n\t) {\n\t\tthis.tui = tui;\n\t\tthis.theme = theme;\n\t\tthis.agentConfigs = agentConfigs;\n\t\tthis.templates = templates;\n\t\tthis.originalTask = originalTask;\n\t\tthis.chainDir = chainDir;\n\t\tthis.resolvedBehaviors = resolvedBehaviors;\n\t\tthis.availableModels = availableModels;\n\t\tthis.preferredProvider = preferredProvider;\n\t\tthis.availableSkills = availableSkills;\n\t\tthis.done = done;\n\t\tthis.mode = mode;\n\t\tthis.filteredModels = [...availableModels];\n\t\tthis.filteredSkills = [...availableSkills];\n\t}\n\n\t// ─────────────────────────────────────────────────────────────────────────────\n\t// Helper methods for rendering\n\t// ─────────────────────────────────────────────────────────────────────────────\n\n\t/** Pad string to specified visible width */\n\tprivate pad(s: string, len: number): string {\n\t\tconst vis = visibleWidth(s);\n\t\treturn s + \" \".repeat(Math.max(0, len - vis));\n\t}\n\n\t/** Create a row with border characters */\n\tprivate row(content: string): string {\n\t\tconst innerW = this.width - 2;\n\t\treturn this.theme.fg(\"border\", \"│\") + this.pad(content, innerW) + this.theme.fg(\"border\", \"│\");\n\t}\n\n\t/** Render centered header line with border */\n\tprivate renderHeader(text: string): string {\n\t\tconst innerW = this.width - 2;\n\t\tconst padLen = Math.max(0, innerW - visibleWidth(text));\n\t\tconst padLeft = Math.floor(padLen / 2);\n\t\tconst padRight = padLen - padLeft;\n\t\treturn (\n\t\t\tthis.theme.fg(\"border\", \"╭\" + \"─\".repeat(padLeft)) +\n\t\t\tthis.theme.fg(\"accent\", text) +\n\t\t\tthis.theme.fg(\"border\", \"─\".repeat(padRight) + \"╮\")\n\t\t);\n\t}\n\n\t/** Render centered footer line with border */\n\tprivate renderFooter(text: string): string {\n\t\tconst innerW = this.width - 2;\n\t\tconst padLen = Math.max(0, innerW - visibleWidth(text));\n\t\tconst padLeft = Math.floor(padLen / 2);\n\t\tconst padRight = padLen - padLeft;\n\t\treturn (\n\t\t\tthis.theme.fg(\"border\", \"╰\" + \"─\".repeat(padLeft)) +\n\t\t\tthis.theme.fg(\"dim\", text) +\n\t\t\tthis.theme.fg(\"border\", \"─\".repeat(padRight) + \"╯\")\n\t\t);\n\t}\n\n\t/** Exit edit mode and reset state */\n\tprivate exitEditMode(): void {\n\t\tthis.editingStep = null;\n\t\tthis.editState = createEditorState();\n\t\tthis.tui.requestRender();\n\t}\n\n\t// ─────────────────────────────────────────────────────────────────────────────\n\t// Full edit mode methods\n\t// ─────────────────────────────────────────────────────────────────────────────\n\n\t/** Render the full-edit takeover view */\n\tprivate renderFullEditMode(): string[] {\n\t\tconst innerW = this.width - 2;\n\t\tconst textWidth = innerW - 2; // 1 char padding on each side\n\t\tconst lines: string[] = [];\n\n\t\tconst { lines: wrapped, starts } = wrapText(this.editState.buffer, textWidth);\n\t\tconst cursorPos = getCursorDisplayPos(this.editState.cursor, starts);\n\t\tthis.editState = {\n\t\t\t...this.editState,\n\t\t\tviewportOffset: ensureCursorVisible(\n\t\t\t\tcursorPos.line,\n\t\t\t\tthis.EDIT_VIEWPORT_HEIGHT,\n\t\t\t\tthis.editState.viewportOffset,\n\t\t\t),\n\t\t};\n\n\t\t// Header (truncate agent name to prevent overflow)\n\t\tconst fieldName = this.editMode === \"template\" ? \"task\" : this.editMode;\n\t\tconst rawAgentName = this.agentConfigs[this.editingStep!]?.name ?? \"unknown\";\n\t\tconst maxAgentLen = innerW - 30; // Reserve space for \" Editing X (Step/Task N: ) \"\n\t\tconst agentName = rawAgentName.length > maxAgentLen\n\t\t\t? rawAgentName.slice(0, maxAgentLen - 1) + \"…\"\n\t\t\t: rawAgentName;\n\t\t// Use mode-appropriate terminology\n\t\tconst stepLabel = this.mode === 'single' \n\t\t\t? agentName \n\t\t\t: this.mode === 'parallel' \n\t\t\t\t? `Task ${this.editingStep! + 1}: ${agentName}` \n\t\t\t\t: `Step ${this.editingStep! + 1}: ${agentName}`;\n\t\tconst headerText = ` Editing ${fieldName} (${stepLabel}) `;\n\t\tlines.push(this.renderHeader(headerText));\n\t\tlines.push(this.row(\"\"));\n\n\t\tconst editorLines = renderEditor(this.editState, textWidth, this.EDIT_VIEWPORT_HEIGHT);\n\t\tfor (const line of editorLines) {\n\t\t\tlines.push(this.row(` ${line}`));\n\t\t}\n\n\t\tconst linesBelow = wrapped.length - this.editState.viewportOffset - this.EDIT_VIEWPORT_HEIGHT;\n\t\tconst hasMore = linesBelow > 0;\n\t\tconst hasLess = this.editState.viewportOffset > 0;\n\t\tlet scrollInfo = \"\";\n\t\tif (hasLess) scrollInfo += \"↑\";\n\t\tif (hasMore) scrollInfo += `↓ ${linesBelow}+`;\n\n\t\tlines.push(this.row(\"\"));\n\n\t\tconst footerText = scrollInfo\n\t\t\t? ` [Esc] Done • [Ctrl+C] Discard • ${scrollInfo} `\n\t\t\t: \" [Esc] Done • [Ctrl+C] Discard \";\n\t\tlines.push(this.renderFooter(footerText));\n\n\t\treturn lines;\n\t}\n\n\t// ─────────────────────────────────────────────────────────────────────────────\n\t// Behavior helpers\n\t// ─────────────────────────────────────────────────────────────────────────────\n\n\t/** Get effective behavior for a step (with user overrides applied) */\n\tprivate getEffectiveBehavior(stepIndex: number): ResolvedStepBehavior {\n\t\tconst base = this.resolvedBehaviors[stepIndex]!;\n\t\tconst override = this.behaviorOverrides.get(stepIndex);\n\t\tif (!override) return base;\n\n\t\treturn {\n\t\t\toutput: override.output !== undefined ? override.output : base.output,\n\t\t\toutputMode: base.outputMode,\n\t\t\treads: override.reads !== undefined ? override.reads : base.reads,\n\t\t\tprogress: override.progress !== undefined ? override.progress : base.progress,\n\t\t\tskills: override.skills !== undefined ? override.skills : base.skills,\n\t\t\tmodel: override.model !== undefined ? override.model : base.model,\n\t\t};\n\t}\n\n\t/** Get the effective model for a step (override or agent default) */\n\tprivate getEffectiveModel(stepIndex: number): string {\n\t\tconst override = this.behaviorOverrides.get(stepIndex);\n\t\tif (override?.model) return this.resolveModelFullId(override.model);\n\n\t\tconst baseModel = this.resolvedBehaviors[stepIndex]?.model;\n\t\tif (baseModel) return this.resolveModelFullId(baseModel);\n\t\treturn \"default\";\n\t}\n\n\t/** Resolve a model name to its full provider/model format */\n\tprivate resolveModelFullId(modelName: string): string {\n\t\treturn resolveModelCandidate(modelName, this.availableModels, this.preferredProvider) ?? modelName;\n\t}\n\n\t/** Update a behavior override for a step */\n\tprivate updateBehavior(stepIndex: number, field: keyof BehaviorOverride, value: string | boolean | string[] | false): void {\n\t\tconst existing = this.behaviorOverrides.get(stepIndex) ?? {};\n\t\tthis.behaviorOverrides.set(stepIndex, { ...existing, [field]: value });\n\t}\n\n\tprivate showNotice(text: string, type: \"info\" | \"error\"): void {\n\t\tthis.noticeMessage = { text, type };\n\t\tif (this.noticeMessageTimer) clearTimeout(this.noticeMessageTimer);\n\t\tthis.noticeMessageTimer = setTimeout(() => {\n\t\t\tthis.noticeMessage = null;\n\t\t\tthis.noticeMessageTimer = null;\n\t\t\tthis.tui.requestRender();\n\t\t}, 2000);\n\t\tthis.tui.requestRender();\n\t}\n\n\thandleInput(data: string): void {\n\t\tif (this.editingStep !== null) {\n\t\t\tif (this.editMode === \"model\") {\n\t\t\t\tthis.handleModelSelectorInput(data);\n\t\t\t} else if (this.editMode === \"thinking\") {\n\t\t\t\tthis.handleThinkingSelectorInput(data);\n\t\t\t} else if (this.editMode === \"skills\") {\n\t\t\t\tthis.handleSkillSelectorInput(data);\n\t\t\t} else {\n\t\t\t\tthis.handleEditInput(data);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"escape\") || matchesKey(data, \"ctrl+c\")) {\n\t\t\tthis.done({ confirmed: false, templates: [], behaviorOverrides: [] });\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"return\")) {\n\t\t\tconst overrides: (BehaviorOverride | undefined)[] = [];\n\t\t\tfor (let i = 0; i < this.agentConfigs.length; i++) {\n\t\t\t\toverrides.push(this.behaviorOverrides.get(i));\n\t\t\t}\n\t\t\tthis.done({ confirmed: true, templates: this.templates, behaviorOverrides: overrides, runInBackground: this.runInBackground });\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"up\")) {\n\t\t\tthis.selectedStep = Math.max(0, this.selectedStep - 1);\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"down\")) {\n\t\t\tconst maxStep = Math.max(0, this.agentConfigs.length - 1);\n\t\t\tthis.selectedStep = Math.min(maxStep, this.selectedStep + 1);\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t\tif (data === \"e\") {\n\t\t\tthis.enterEditMode(\"template\");\n\t\t\treturn;\n\t\t}\n\n\t\tif (data === \"m\") {\n\t\t\tthis.enterModelSelector();\n\t\t\treturn;\n\t\t}\n\n\t\tif (data === \"t\") {\n\t\t\tthis.enterThinkingSelector();\n\t\t\treturn;\n\t\t}\n\n\t\tif (data === \"s\") {\n\t\t\tthis.editingStep = this.selectedStep;\n\t\t\tthis.editMode = \"skills\";\n\t\t\tthis.skillSearchQuery = \"\";\n\t\t\tthis.skillCursorIndex = 0;\n\t\t\tthis.filteredSkills = [...this.availableSkills];\n\t\t\tconst current = this.getEffectiveBehavior(this.selectedStep).skills;\n\t\t\tthis.skillSelectedNames.clear();\n\t\t\tif (current !== false && current.length > 0) {\n\t\t\t\tcurrent.forEach((skillName) => this.skillSelectedNames.add(skillName));\n\t\t\t}\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t\tif (data === \"w\" && this.mode !== 'parallel') {\n\t\t\tthis.enterEditMode(\"output\");\n\t\t\treturn;\n\t\t}\n\n\t\tif (data === \"r\" && this.mode === 'chain') {\n\t\t\tthis.enterEditMode(\"reads\");\n\t\t\treturn;\n\t\t}\n\n\t\tif (data === \"p\" && this.mode === 'chain') {\n\t\t\tconst anyEnabled = this.agentConfigs.some((_, i) => this.getEffectiveBehavior(i).progress);\n\t\t\tconst newState = !anyEnabled;\n\t\t\tfor (let i = 0; i < this.agentConfigs.length; i++) {\n\t\t\t\tthis.updateBehavior(i, \"progress\", newState);\n\t\t\t}\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t\tif (data === \"b\") {\n\t\t\tthis.runInBackground = !this.runInBackground;\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t}\n\n\tprivate enterEditMode(mode: EditMode): void {\n\t\tthis.editingStep = this.selectedStep;\n\t\tthis.editMode = mode;\n\t\tlet buffer = \"\";\n\n\t\tif (mode === \"template\") {\n\t\t\tconst template = this.templates[this.selectedStep] ?? \"\";\n\t\t\tbuffer = template.split(\"\\n\")[0] ?? \"\";\n\t\t} else if (mode === \"output\") {\n\t\t\tconst behavior = this.getEffectiveBehavior(this.selectedStep);\n\t\t\tbuffer = behavior.output === false ? \"\" : (behavior.output || \"\");\n\t\t} else if (mode === \"reads\") {\n\t\t\tconst behavior = this.getEffectiveBehavior(this.selectedStep);\n\t\t\tbuffer = behavior.reads === false ? \"\" : (behavior.reads?.join(\", \") || \"\");\n\t\t}\n\n\t\tthis.editState = createEditorState(buffer);\n\t\tthis.tui.requestRender();\n\t}\n\n\t/** Enter model selector mode */\n\tprivate enterModelSelector(): void {\n\t\tthis.editingStep = this.selectedStep;\n\t\tthis.editMode = \"model\";\n\t\tthis.modelSearchQuery = \"\";\n\t\tthis.modelSelectedIndex = 0;\n\t\tthis.filteredModels = [...this.availableModels];\n\t\tconst currentModel = splitThinkingSuffix(this.getEffectiveModel(this.selectedStep)).baseModel;\n\t\tconst currentIndex = this.filteredModels.findIndex((m) => m.fullId === currentModel || m.id === currentModel);\n\t\tif (currentIndex >= 0) {\n\t\t\tthis.modelSelectedIndex = currentIndex;\n\t\t}\n\n\t\tthis.tui.requestRender();\n\t}\n\n\t/** Filter models based on search query */\n\tprivate filterModels(): void {\n\t\tconst query = this.modelSearchQuery.toLowerCase();\n\t\tif (!query) {\n\t\t\tthis.filteredModels = [...this.availableModels];\n\t\t} else {\n\t\t\tthis.filteredModels = this.availableModels.filter((m) =>\n\t\t\t\tm.fullId.toLowerCase().includes(query) ||\n\t\t\t\tm.id.toLowerCase().includes(query) ||\n\t\t\t\tm.provider.toLowerCase().includes(query)\n\t\t\t);\n\t\t}\n\t\tthis.modelSelectedIndex = Math.min(this.modelSelectedIndex, Math.max(0, this.filteredModels.length - 1));\n\t}\n\n\tprivate handleModelSelectorInput(data: string): void {\n\t\tif (matchesKey(data, \"escape\") || matchesKey(data, \"ctrl+c\")) {\n\t\t\tthis.exitEditMode();\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"return\")) {\n\t\t\tconst selected = this.filteredModels[this.modelSelectedIndex];\n\t\t\tif (selected) {\n\t\t\t\tconst { thinkingSuffix } = splitThinkingSuffix(this.getEffectiveModel(this.editingStep!));\n\t\t\t\tconst requestedLevel = thinkingSuffix.slice(1);\n\t\t\t\tconst selectedModel = findModelInfo(selected.fullId, this.availableModels, this.preferredProvider);\n\t\t\t\tconst suffix = getSupportedThinkingLevels(selectedModel).some((level) => level === requestedLevel) ? thinkingSuffix : \"\";\n\t\t\t\tthis.updateBehavior(this.editingStep!, \"model\", `${selected.fullId}${suffix}`);\n\t\t\t}\n\t\t\tthis.exitEditMode();\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"up\")) {\n\t\t\tif (this.filteredModels.length > 0) {\n\t\t\t\tthis.modelSelectedIndex = this.modelSelectedIndex === 0\n\t\t\t\t\t? this.filteredModels.length - 1\n\t\t\t\t\t: this.modelSelectedIndex - 1;\n\t\t\t}\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"down\")) {\n\t\t\tif (this.filteredModels.length > 0) {\n\t\t\t\tthis.modelSelectedIndex = this.modelSelectedIndex === this.filteredModels.length - 1\n\t\t\t\t\t? 0\n\t\t\t\t\t: this.modelSelectedIndex + 1;\n\t\t\t}\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"backspace\")) {\n\t\t\tif (this.modelSearchQuery.length > 0) {\n\t\t\t\tthis.modelSearchQuery = this.modelSearchQuery.slice(0, -1);\n\t\t\t\tthis.filterModels();\n\t\t\t}\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t\tif (data.length === 1 && data.charCodeAt(0) >= 32) {\n\t\t\tthis.modelSearchQuery += data;\n\t\t\tthis.filterModels();\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\t}\n\n\tprivate getAvailableThinkingLevels(stepIndex: number): ThinkingLevel[] {\n\t\treturn getSupportedThinkingLevels(findModelInfo(this.getEffectiveModel(stepIndex), this.availableModels, this.preferredProvider));\n\t}\n\n\t/** Enter thinking level selector mode */\n\tprivate enterThinkingSelector(): void {\n\t\tif (!this.getEffectiveBehavior(this.selectedStep).model) {\n\t\t\tthis.showNotice(\"Select a model first\", \"error\");\n\t\t\treturn;\n\t\t}\n\t\tthis.editingStep = this.selectedStep;\n\t\tthis.editMode = \"thinking\";\n\n\t\tconst levels = this.getAvailableThinkingLevels(this.selectedStep);\n\t\tconst { thinkingSuffix } = splitThinkingSuffix(this.getEffectiveModel(this.selectedStep));\n\t\tconst suffix = thinkingSuffix.slice(1);\n\t\tconst levelIdx = levels.findIndex((level) => level === suffix);\n\t\tthis.thinkingSelectedIndex = levelIdx >= 0 ? levelIdx : Math.max(0, levels.indexOf(\"off\"));\n\n\t\tthis.tui.requestRender();\n\t}\n\n\tprivate handleThinkingSelectorInput(data: string): void {\n\t\tif (matchesKey(data, \"escape\") || matchesKey(data, \"ctrl+c\")) {\n\t\t\tthis.exitEditMode();\n\t\t\treturn;\n\t\t}\n\n\t\tconst levels = this.getAvailableThinkingLevels(this.editingStep!);\n\t\tif (levels.length === 0) return;\n\n\t\tif (matchesKey(data, \"return\")) {\n\t\t\tconst selectedLevel = levels[this.thinkingSelectedIndex] ?? \"off\";\n\t\t\tthis.applyThinkingLevel(selectedLevel);\n\t\t\tthis.exitEditMode();\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"up\")) {\n\t\t\tthis.thinkingSelectedIndex = this.thinkingSelectedIndex === 0\n\t\t\t\t? levels.length - 1\n\t\t\t\t: this.thinkingSelectedIndex - 1;\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"down\")) {\n\t\t\tthis.thinkingSelectedIndex = this.thinkingSelectedIndex === levels.length - 1\n\t\t\t\t? 0\n\t\t\t\t: this.thinkingSelectedIndex + 1;\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\t}\n\n\t/** Apply thinking level to the current step's model */\n\tprivate applyThinkingLevel(level: ThinkingLevel): void {\n\t\tconst stepIndex = this.editingStep!;\n\t\tconst currentModel = this.getEffectiveBehavior(stepIndex).model;\n\t\tif (!currentModel) return;\n\n\t\tconst { baseModel } = splitThinkingSuffix(currentModel);\n\t\tconst newModel = level === \"off\" ? baseModel : `${baseModel}:${level}`;\n\t\tthis.updateBehavior(stepIndex, \"model\", newModel);\n\t}\n\n\tprivate filterSkills(): void {\n\t\tconst query = this.skillSearchQuery.toLowerCase();\n\t\tif (!query) {\n\t\t\tthis.filteredSkills = [...this.availableSkills];\n\t\t} else {\n\t\t\tthis.filteredSkills = this.availableSkills.filter((s) =>\n\t\t\t\ts.name.toLowerCase().includes(query) ||\n\t\t\t\t(s.description?.toLowerCase().includes(query) ?? false),\n\t\t\t);\n\t\t}\n\t\tthis.skillCursorIndex = Math.min(this.skillCursorIndex, Math.max(0, this.filteredSkills.length - 1));\n\t}\n\n\tprivate handleSkillSelectorInput(data: string): void {\n\t\tif (matchesKey(data, \"escape\") || matchesKey(data, \"ctrl+c\")) {\n\t\t\tthis.exitEditMode();\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"return\")) {\n\t\t\tconst selected = [...this.skillSelectedNames];\n\t\t\tthis.updateBehavior(this.editingStep!, \"skills\", selected);\n\t\t\tthis.exitEditMode();\n\t\t\treturn;\n\t\t}\n\n\t\tif (data === \" \") {\n\t\t\tif (this.filteredSkills.length > 0) {\n\t\t\t\tconst skill = this.filteredSkills[this.skillCursorIndex];\n\t\t\t\tif (skill) {\n\t\t\t\t\tif (this.skillSelectedNames.has(skill.name)) {\n\t\t\t\t\t\tthis.skillSelectedNames.delete(skill.name);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.skillSelectedNames.add(skill.name);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"up\")) {\n\t\t\tif (this.filteredSkills.length > 0) {\n\t\t\t\tthis.skillCursorIndex = this.skillCursorIndex === 0\n\t\t\t\t\t? this.filteredSkills.length - 1\n\t\t\t\t\t: this.skillCursorIndex - 1;\n\t\t\t}\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"down\")) {\n\t\t\tif (this.filteredSkills.length > 0) {\n\t\t\t\tthis.skillCursorIndex = this.skillCursorIndex === this.filteredSkills.length - 1\n\t\t\t\t\t? 0\n\t\t\t\t\t: this.skillCursorIndex + 1;\n\t\t\t}\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"backspace\")) {\n\t\t\tif (this.skillSearchQuery.length > 0) {\n\t\t\t\tthis.skillSearchQuery = this.skillSearchQuery.slice(0, -1);\n\t\t\t\tthis.filterSkills();\n\t\t\t}\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t\tif (data.length === 1 && data.charCodeAt(0) >= 32) {\n\t\t\tthis.skillSearchQuery += data;\n\t\t\tthis.filterSkills();\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\t}\n\n\tprivate handleEditInput(data: string): void {\n\t\tconst textWidth = this.width - 4; // Must match render: innerW - 2 = (width - 2) - 2\n\t\tif (matchesKey(data, \"shift+up\") || matchesKey(data, \"pageup\")) {\n\t\t\tconst { lines: wrapped, starts } = wrapText(this.editState.buffer, textWidth);\n\t\t\tconst cursorPos = getCursorDisplayPos(this.editState.cursor, starts);\n\t\t\tconst targetLine = Math.max(0, cursorPos.line - this.EDIT_VIEWPORT_HEIGHT);\n\t\t\tconst targetCol = Math.min(cursorPos.col, wrapped[targetLine]?.length ?? 0);\n\t\t\tthis.editState = { ...this.editState, cursor: starts[targetLine] + targetCol };\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"shift+down\") || matchesKey(data, \"pagedown\")) {\n\t\t\tconst { lines: wrapped, starts } = wrapText(this.editState.buffer, textWidth);\n\t\t\tconst cursorPos = getCursorDisplayPos(this.editState.cursor, starts);\n\t\t\tconst targetLine = Math.min(wrapped.length - 1, cursorPos.line + this.EDIT_VIEWPORT_HEIGHT);\n\t\t\tconst targetCol = Math.min(cursorPos.col, wrapped[targetLine]?.length ?? 0);\n\t\t\tthis.editState = { ...this.editState, cursor: starts[targetLine] + targetCol };\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"tab\")) return;\n\n\t\tconst nextState = handleEditorInput(this.editState, data, textWidth);\n\t\tif (nextState) {\n\t\t\tthis.editState = nextState;\n\t\t\tthis.tui.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"escape\")) {\n\t\t\tthis.saveEdit();\n\t\t\tthis.exitEditMode();\n\t\t\treturn;\n\t\t}\n\n\t\tif (matchesKey(data, \"ctrl+c\")) {\n\t\t\tthis.exitEditMode();\n\t\t\treturn;\n\t\t}\n\t}\n\n\tprivate saveEdit(): void {\n\t\tconst stepIndex = this.editingStep!;\n\n\t\tif (this.editMode === \"template\") {\n\t\t\t// For template, preserve other lines if they existed\n\t\t\tconst original = this.templates[stepIndex] ?? \"\";\n\t\t\tconst originalLines = original.split(\"\\n\");\n\t\t\toriginalLines[0] = this.editState.buffer;\n\t\t\tthis.templates[stepIndex] = originalLines.join(\"\\n\");\n\t\t} else if (this.editMode === \"output\") {\n\t\t\t// Capture OLD output before updating (for downstream propagation)\n\t\t\tconst oldBehavior = this.getEffectiveBehavior(stepIndex);\n\t\t\tconst oldOutput = typeof oldBehavior.output === \"string\" ? oldBehavior.output : null;\n\n\t\t\t// Empty string or whitespace means disable output\n\t\t\tconst trimmed = this.editState.buffer.trim();\n\t\t\tconst newOutput = trimmed === \"\" ? false : trimmed;\n\t\t\tthis.updateBehavior(stepIndex, \"output\", newOutput);\n\n\t\t\t// Propagate output filename change to downstream steps' reads\n\t\t\tif (oldOutput && typeof newOutput === \"string\" && oldOutput !== newOutput) {\n\t\t\t\tthis.propagateOutputChange(stepIndex, oldOutput, newOutput);\n\t\t\t}\n\t\t} else if (this.editMode === \"reads\") {\n\t\t\t// Parse comma-separated list, empty means disable reads\n\t\t\tconst trimmed = this.editState.buffer.trim();\n\t\t\tif (trimmed === \"\") {\n\t\t\t\tthis.updateBehavior(stepIndex, \"reads\", false);\n\t\t\t} else {\n\t\t\t\tconst files = trimmed.split(\",\").map(f => f.trim()).filter(f => f !== \"\");\n\t\t\t\tthis.updateBehavior(stepIndex, \"reads\", files.length > 0 ? files : false);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * When a step's output filename changes, update downstream steps that read from it.\n\t * This maintains the chain dependency automatically.\n\t */\n\tprivate propagateOutputChange(changedStepIndex: number, oldOutput: string, newOutput: string): void {\n\t\t// Check all downstream steps (steps that come after the changed step)\n\t\tfor (let i = changedStepIndex + 1; i < this.agentConfigs.length; i++) {\n\t\t\tconst behavior = this.getEffectiveBehavior(i);\n\t\t\t\n\t\t\t// Skip if reads is disabled or empty\n\t\t\tif (behavior.reads === false || !behavior.reads || behavior.reads.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check if this step reads the old output file\n\t\t\tconst readsArray = behavior.reads;\n\t\t\tconst oldIndex = readsArray.indexOf(oldOutput);\n\t\t\t\n\t\t\tif (oldIndex !== -1) {\n\t\t\t\t// Replace old filename with new filename in reads\n\t\t\t\tconst newReads = [...readsArray];\n\t\t\t\tnewReads[oldIndex] = newOutput;\n\t\t\t\tthis.updateBehavior(i, \"reads\", newReads);\n\t\t\t}\n\t\t}\n\t}\n\n\trender(_width: number): string[] {\n\t\tif (this.editingStep !== null) {\n\t\t\tif (this.editMode === \"model\") {\n\t\t\t\treturn this.renderModelSelector();\n\t\t\t}\n\t\t\tif (this.editMode === \"thinking\") {\n\t\t\t\treturn this.renderThinkingSelector();\n\t\t\t}\n\t\t\tif (this.editMode === \"skills\") {\n\t\t\t\treturn this.renderSkillSelector();\n\t\t\t}\n\t\t\treturn this.renderFullEditMode();\n\t\t}\n\t\t// Mode-based navigation rendering\n\t\tswitch (this.mode) {\n\t\t\tcase 'single': return this.renderSingleMode();\n\t\t\tcase 'parallel': return this.renderParallelMode();\n\t\t\tcase 'chain': return this.renderChainMode();\n\t\t}\n\t}\n\n\t/** Render the model selector view */\n\tprivate renderModelSelector(): string[] {\n\t\tconst th = this.theme;\n\t\tconst lines: string[] = [];\n\n\t\t// Header (mode-aware terminology)\n\t\tconst agentName = this.agentConfigs[this.editingStep!]?.name ?? \"unknown\";\n\t\tconst stepLabel = this.mode === 'single' \n\t\t\t? agentName \n\t\t\t: this.mode === 'parallel' \n\t\t\t\t? `Task ${this.editingStep! + 1}: ${agentName}` \n\t\t\t\t: `Step ${this.editingStep! + 1}: ${agentName}`;\n\t\tconst headerText = ` Select Model (${stepLabel}) `;\n\t\tlines.push(this.renderHeader(headerText));\n\t\tlines.push(this.row(\"\"));\n\n\t\tconst searchPrefix = th.fg(\"dim\", \"Search: \");\n\t\tconst cursor = \"\\x1b[7m \\x1b[27m\"; // Reverse video space for cursor\n\t\tconst searchDisplay = this.modelSearchQuery + cursor;\n\t\tlines.push(this.row(` ${searchPrefix}${searchDisplay}`));\n\t\tlines.push(this.row(\"\"));\n\n\t\tconst currentModel = this.getEffectiveModel(this.editingStep!);\n\t\tconst currentModelBase = splitThinkingSuffix(currentModel).baseModel;\n\t\tconst currentLabel = th.fg(\"dim\", \"Current: \");\n\t\tlines.push(this.row(` ${currentLabel}${th.fg(\"warning\", currentModel)}`));\n\t\tlines.push(this.row(\"\"));\n\n\t\tif (this.filteredModels.length === 0) {\n\t\t\tlines.push(this.row(` ${th.fg(\"dim\", \"No matching models\")}`));\n\t\t} else {\n\t\t\tconst maxVisible = this.MODEL_SELECTOR_HEIGHT;\n\t\t\tlet startIdx = 0;\n\n\t\t\tif (this.filteredModels.length > maxVisible) {\n\t\t\t\tstartIdx = Math.max(0, this.modelSelectedIndex - Math.floor(maxVisible / 2));\n\t\t\t\tstartIdx = Math.min(startIdx, this.filteredModels.length - maxVisible);\n\t\t\t}\n\n\t\t\tconst endIdx = Math.min(startIdx + maxVisible, this.filteredModels.length);\n\n\t\t\tif (startIdx > 0) {\n\t\t\t\tlines.push(this.row(` ${th.fg(\"dim\", ` ↑ ${startIdx} more`)}`));\n\t\t\t}\n\n\t\t\tfor (let i = startIdx; i < endIdx; i++) {\n\t\t\t\tconst model = this.filteredModels[i]!;\n\t\t\t\tconst isSelected = i === this.modelSelectedIndex;\n\t\t\t\tconst isCurrent = model.fullId === currentModelBase || model.id === currentModelBase;\n\t\t\t\tconst prefix = isSelected ? th.fg(\"accent\", \"→ \") : \" \";\n\t\t\t\tconst modelText = isSelected ? th.fg(\"accent\", model.id) : model.id;\n\t\t\t\tconst providerBadge = th.fg(\"dim\", ` [${model.provider}]`);\n\t\t\t\tconst currentBadge = isCurrent ? th.fg(\"success\", \" current\") : \"\";\n\n\t\t\t\tlines.push(this.row(` ${prefix}${modelText}${providerBadge}${currentBadge}`));\n\t\t\t}\n\n\t\t\tconst remaining = this.filteredModels.length - endIdx;\n\t\t\tif (remaining > 0) {\n\t\t\t\tlines.push(this.row(` ${th.fg(\"dim\", ` ↓ ${remaining} more`)}`));\n\t\t\t}\n\t\t}\n\n\t\tconst contentLines = lines.length;\n\t\tconst targetHeight = 18;\n\t\tfor (let i = contentLines; i < targetHeight; i++) {\n\t\t\tlines.push(this.row(\"\"));\n\t\t}\n\n\t\tconst footerText = \" [Enter] Select • [Esc] Cancel • Type to search \";\n\t\tlines.push(this.renderFooter(footerText));\n\n\t\treturn lines;\n\t}\n\n\t/** Render the thinking level selector view */\n\tprivate renderThinkingSelector(): string[] {\n\t\tconst th = this.theme;\n\t\tconst lines: string[] = [];\n\n\t\tconst agentName = this.agentConfigs[this.editingStep!]?.name ?? \"unknown\";\n\t\tconst stepLabel = this.mode === 'single' \n\t\t\t? agentName \n\t\t\t: this.mode === 'parallel' \n\t\t\t\t? `Task ${this.editingStep! + 1}: ${agentName}` \n\t\t\t\t: `Step ${this.editingStep! + 1}: ${agentName}`;\n\t\tconst headerText = ` Thinking Level (${stepLabel}) `;\n\t\tlines.push(this.renderHeader(headerText));\n\t\tlines.push(this.row(\"\"));\n\n\t\tconst currentModel = this.getEffectiveModel(this.editingStep!);\n\t\tconst currentLabel = th.fg(\"dim\", \"Model: \");\n\t\tlines.push(this.row(` ${currentLabel}${th.fg(\"accent\", currentModel)}`));\n\t\tlines.push(this.row(\"\"));\n\n\t\tlines.push(this.row(` ${th.fg(\"dim\", \"Select thinking level (extended thinking budget):\")}`));\n\t\tlines.push(this.row(\"\"));\n\n\t\tconst levelDescriptions: Record<ThinkingLevel, string> = {\n\t\t\t\"off\": \"No extended thinking\",\n\t\t\t\"minimal\": \"Brief reasoning\",\n\t\t\t\"low\": \"Light reasoning\",\n\t\t\t\"medium\": \"Moderate reasoning\",\n\t\t\t\"high\": \"Deep reasoning\",\n\t\t\t\"xhigh\": \"Maximum reasoning (ultrathink)\",\n\t\t\t\"max\": \"Maximum available reasoning\",\n\t\t};\n\n\t\tconst levels = this.getAvailableThinkingLevels(this.editingStep!);\n\t\tif (levels.length === 0) {\n\t\t\tlines.push(this.row(` ${th.fg(\"dim\", \"No supported thinking levels\")}`));\n\t\t} else {\n\t\t\tfor (let i = 0; i < levels.length; i++) {\n\t\t\t\tconst level = levels[i]!;\n\t\t\t\tconst isSelected = i === this.thinkingSelectedIndex;\n\t\t\t\tconst prefix = isSelected ? th.fg(\"accent\", \"→ \") : \" \";\n\t\t\t\tconst levelText = isSelected ? th.fg(\"accent\", level) : level;\n\t\t\t\tconst desc = th.fg(\"dim\", ` - ${levelDescriptions[level]}`);\n\t\t\t\tlines.push(this.row(` ${prefix}${levelText}${desc}`));\n\t\t\t}\n\t\t}\n\n\t\tconst contentLines = lines.length;\n\t\tconst targetHeight = 16;\n\t\tfor (let i = contentLines; i < targetHeight; i++) {\n\t\t\tlines.push(this.row(\"\"));\n\t\t}\n\n\t\tconst footerText = levels.length === 0\n\t\t\t? \" [Esc] Cancel \"\n\t\t\t: \" [Enter] Select • [Esc] Cancel • ↑↓ Navigate \";\n\t\tlines.push(this.renderFooter(footerText));\n\n\t\treturn lines;\n\t}\n\n\tprivate renderSkillSelector(): string[] {\n\t\tconst innerW = this.width - 2;\n\t\tconst th = this.theme;\n\t\tconst lines: string[] = [];\n\n\t\tconst agentName = this.agentConfigs[this.editingStep!]?.name ?? \"unknown\";\n\t\tconst stepLabel = this.mode === 'single'\n\t\t\t? agentName\n\t\t\t: this.mode === 'parallel'\n\t\t\t\t? `Task ${this.editingStep! + 1}: ${agentName}`\n\t\t\t\t: `Step ${this.editingStep! + 1}: ${agentName}`;\n\t\tlines.push(this.renderHeader(` Select Skills (${stepLabel}) `));\n\t\tlines.push(this.row(\"\"));\n\n\t\tconst cursor = \"\\x1b[7m \\x1b[27m\";\n\t\tlines.push(this.row(` ${th.fg(\"dim\", \"Search: \")}${this.skillSearchQuery}${cursor}`));\n\t\tlines.push(this.row(\"\"));\n\n\t\tconst selected = [...this.skillSelectedNames].join(\", \") || th.fg(\"dim\", \"(none)\");\n\t\tlines.push(this.row(` ${th.fg(\"dim\", \"Selected: \")}${truncateToWidth(selected, innerW - 12)}`));\n\t\tlines.push(this.row(\"\"));\n\n\t\tconst selectorHeight = 10;\n\t\tif (this.filteredSkills.length === 0) {\n\t\t\tlines.push(this.row(` ${th.fg(\"dim\", \"No matching skills\")}`));\n\t\t} else {\n\t\t\tlet startIdx = 0;\n\t\t\tif (this.filteredSkills.length > selectorHeight) {\n\t\t\t\tstartIdx = Math.max(0, this.skillCursorIndex - Math.floor(selectorHeight / 2));\n\t\t\t\tstartIdx = Math.min(startIdx, this.filteredSkills.length - selectorHeight);\n\t\t\t}\n\t\t\tconst endIdx = Math.min(startIdx + selectorHeight, this.filteredSkills.length);\n\n\t\t\tif (startIdx > 0) {\n\t\t\t\tlines.push(this.row(` ${th.fg(\"dim\", ` ↑ ${startIdx} more`)}`));\n\t\t\t}\n\n\t\t\tfor (let i = startIdx; i < endIdx; i++) {\n\t\t\t\tconst skill = this.filteredSkills[i]!;\n\t\t\t\tconst isCursor = i === this.skillCursorIndex;\n\t\t\t\tconst isSelected = this.skillSelectedNames.has(skill.name);\n\n\t\t\t\tconst prefix = isCursor ? th.fg(\"accent\", \"→ \") : \" \";\n\t\t\t\tconst checkbox = isSelected ? th.fg(\"success\", \"[x]\") : \"[ ]\";\n\t\t\t\tconst nameText = isCursor ? th.fg(\"accent\", skill.name) : skill.name;\n\t\t\t\tconst sourceBadge = th.fg(\"dim\", ` [${skill.source}]`);\n\t\t\t\tconst desc = skill.description\n\t\t\t\t\t? th.fg(\"dim\", ` - ${truncateToWidth(skill.description, 25)}`)\n\t\t\t\t\t: \"\";\n\n\t\t\t\tlines.push(this.row(` ${prefix}${checkbox} ${nameText}${sourceBadge}${desc}`));\n\t\t\t}\n\n\t\t\tconst remaining = this.filteredSkills.length - endIdx;\n\t\t\tif (remaining > 0) {\n\t\t\t\tlines.push(this.row(` ${th.fg(\"dim\", ` ↓ ${remaining} more`)}`));\n\t\t\t}\n\t\t}\n\n\t\tconst targetHeight = 18;\n\t\tfor (let i = lines.length; i < targetHeight; i++) {\n\t\t\tlines.push(this.row(\"\"));\n\t\t}\n\n\t\tlines.push(this.renderFooter(\" [Enter] Confirm • [Space] Toggle • [Esc] Cancel \"));\n\t\treturn lines;\n\t}\n\n\tprivate getShortcutHelpText(): string {\n\t\tconst th = this.theme;\n\t\tconst shortcut = (key: string, label: string) =>\n\t\t\tth.fg(\"accent\", `[${key}]`) + th.fg(\"dim\", label);\n\t\tconst backgroundState = this.runInBackground ? \"ON\" : \"OFF\";\n\t\tconst background = shortcut(\"b\", `Background:${backgroundState}`);\n\n\t\tswitch (this.mode) {\n\t\t\tcase 'single':\n\t\t\t\treturn ` ${shortcut(\"e\", \"Task\")} ${shortcut(\"m\", \"Model\")} ${shortcut(\"t\", \"Think\")} ${shortcut(\"w\", \"Output\")} ${shortcut(\"s\", \"Skills\")} ${background}`;\n\t\t\tcase 'parallel':\n\t\t\t\treturn ` ${shortcut(\"e\", \"Task\")} ${shortcut(\"m\", \"Model\")} ${shortcut(\"t\", \"Think\")} ${shortcut(\"s\", \"Skills\")} ${background}`;\n\t\t\tcase 'chain':\n\t\t\t\treturn ` ${shortcut(\"e\", \"Task\")} ${shortcut(\"m\", \"Model\")} ${shortcut(\"t\", \"Think\")} ${shortcut(\"w\", \"Output\")} ${shortcut(\"r\", \"Reads\")} ${shortcut(\"p\", \"Prog\")} ${shortcut(\"s\", \"Skills\")} ${background}`;\n\t\t}\n\t}\n\n\tprivate getFooterText(): string {\n\t\treturn this.mode === 'single'\n\t\t\t? \" [Enter] Run • [Esc] Cancel \"\n\t\t\t: \" [Enter] Run • [Esc] Cancel • [↑↓] Navigate \";\n\t}\n\n\tprivate appendNotice(lines: string[]): void {\n\t\tif (!this.noticeMessage) return;\n\t\tconst color = this.noticeMessage.type === \"error\" ? \"error\" : \"success\";\n\t\tlines.push(this.row(` ${this.theme.fg(color, this.noticeMessage.text)}`));\n\t}\n\n\tprivate renderSingleMode(): string[] {\n\t\tconst innerW = this.width - 2;\n\t\tconst th = this.theme;\n\t\tconst lines: string[] = [];\n\n\t\tconst agentName = this.agentConfigs[0]?.name ?? \"unknown\";\n\t\tconst maxHeaderLen = innerW - 4;\n\t\tconst headerText = ` Agent: ${truncateToWidth(agentName, maxHeaderLen - 9)} `;\n\t\tlines.push(this.renderHeader(headerText));\n\t\tlines.push(this.row(\"\"));\n\n\t\tconst config = this.agentConfigs[0]!;\n\t\tconst behavior = this.getEffectiveBehavior(0);\n\n\t\tconst stepLabel = config.name;\n\t\tlines.push(this.row(` ${th.fg(\"accent\", \"▶ \" + stepLabel)}`));\n\n\t\tconst template = (this.templates[0] ?? \"\").split(\"\\n\")[0] ?? \"\";\n\t\tconst taskLabel = th.fg(\"dim\", \"task: \");\n\t\tlines.push(this.row(` ${taskLabel}${truncateToWidth(template, innerW - 12)}`));\n\n\t\tconst effectiveModel = this.getEffectiveModel(0);\n\t\tconst override = this.behaviorOverrides.get(0);\n\t\tconst isOverridden = override?.model !== undefined;\n\t\tconst modelValue = isOverridden\n\t\t\t? th.fg(\"warning\", effectiveModel) + th.fg(\"dim\", \" ✎\")\n\t\t\t: effectiveModel;\n\t\tconst modelLabel = th.fg(\"dim\", \"model: \");\n\t\tlines.push(this.row(` ${modelLabel}${truncateToWidth(modelValue, innerW - 13)}`));\n\n\t\tconst writesValue = behavior.output === false\n\t\t\t? th.fg(\"dim\", \"(disabled)\")\n\t\t\t: (behavior.output || th.fg(\"dim\", \"(none)\"));\n\t\tconst writesLabel = th.fg(\"dim\", \"writes: \");\n\t\tlines.push(this.row(` ${writesLabel}${truncateToWidth(writesValue, innerW - 14)}`));\n\n\t\tconst skillsValue = behavior.skills === false\n\t\t\t? th.fg(\"dim\", \"(disabled)\")\n\t\t\t: (behavior.skills?.length ? behavior.skills.join(\", \") : th.fg(\"dim\", \"(none)\"));\n\t\tconst skillsLabel = th.fg(\"dim\", \"skills: \");\n\t\tlines.push(this.row(` ${skillsLabel}${truncateToWidth(skillsValue, innerW - 14)}`));\n\n\t\tlines.push(this.row(this.getShortcutHelpText()));\n\n\t\tthis.appendNotice(lines);\n\t\tlines.push(this.renderFooter(this.getFooterText()));\n\n\t\treturn lines;\n\t}\n\n\tprivate renderParallelMode(): string[] {\n\t\tconst innerW = this.width - 2;\n\t\tconst th = this.theme;\n\t\tconst lines: string[] = [];\n\n\t\tconst headerText = ` Parallel Tasks (${this.agentConfigs.length}) `;\n\t\tlines.push(this.renderHeader(headerText));\n\t\tlines.push(this.row(\"\"));\n\n\t\tfor (let i = 0; i < this.agentConfigs.length; i++) {\n\t\t\tconst config = this.agentConfigs[i]!;\n\t\t\tconst isSelected = i === this.selectedStep;\n\n\t\t\tconst color = isSelected ? \"accent\" : \"dim\";\n\t\t\tconst prefix = isSelected ? \"▶ \" : \" \";\n\t\t\tconst taskPrefix = `Task ${i + 1}: `;\n\t\t\tconst maxNameLen = innerW - 4 - prefix.length - taskPrefix.length;\n\t\t\tconst agentName = config.name.length > maxNameLen\n\t\t\t\t? config.name.slice(0, maxNameLen - 1) + \"…\"\n\t\t\t\t: config.name;\n\t\t\tconst taskLabel = `${taskPrefix}${agentName}`;\n\t\t\tlines.push(this.row(` ${th.fg(color, prefix + taskLabel)}`));\n\n\t\t\tconst template = (this.templates[i] ?? \"\").split(\"\\n\")[0] ?? \"\";\n\t\t\tconst taskTextLabel = th.fg(\"dim\", \"task: \");\n\t\t\tlines.push(this.row(` ${taskTextLabel}${truncateToWidth(template, innerW - 12)}`));\n\n\t\t\tconst effectiveModel = this.getEffectiveModel(i);\n\t\t\tconst override = this.behaviorOverrides.get(i);\n\t\t\tconst isOverridden = override?.model !== undefined;\n\t\t\tconst modelValue = isOverridden\n\t\t\t\t? th.fg(\"warning\", effectiveModel) + th.fg(\"dim\", \" ✎\")\n\t\t\t\t: effectiveModel;\n\t\t\tconst modelLabel = th.fg(\"dim\", \"model: \");\n\t\t\tlines.push(this.row(` ${modelLabel}${truncateToWidth(modelValue, innerW - 13)}`));\n\n\t\t\tconst behavior = this.getEffectiveBehavior(i);\n\t\t\tconst skillsValue = behavior.skills === false\n\t\t\t\t? th.fg(\"dim\", \"(disabled)\")\n\t\t\t\t: (behavior.skills?.length ? behavior.skills.join(\", \") : th.fg(\"dim\", \"(none)\"));\n\t\t\tconst skillsLabel = th.fg(\"dim\", \"skills: \");\n\t\t\tlines.push(this.row(` ${skillsLabel}${truncateToWidth(skillsValue, innerW - 14)}`));\n\n\t\t\tlines.push(this.row(\"\"));\n\t\t}\n\n\t\tif (this.agentConfigs.length > 0) lines.pop();\n\t\tlines.push(this.row(this.getShortcutHelpText()));\n\t\tthis.appendNotice(lines);\n\t\tlines.push(this.renderFooter(this.getFooterText()));\n\n\t\treturn lines;\n\t}\n\n\tprivate renderChainMode(): string[] {\n\t\tconst innerW = this.width - 2;\n\t\tconst th = this.theme;\n\t\tconst lines: string[] = [];\n\n\t\tconst chainLabel = this.agentConfigs.map((c) => c.name).join(\" → \");\n\t\tconst maxHeaderLen = innerW - 4;\n\t\tconst headerText = ` Chain: ${truncateToWidth(chainLabel, maxHeaderLen - 9)} `;\n\t\tlines.push(this.renderHeader(headerText));\n\n\t\tlines.push(this.row(\"\"));\n\n\t\tconst taskPreview = truncateToWidth(this.originalTask, innerW - 16);\n\t\tlines.push(this.row(` Original Task: ${taskPreview}`));\n\t\tconst chainDirPreview = truncateToWidth(this.chainDir ?? \"\", innerW - 12);\n\t\tlines.push(this.row(` Chain Dir: ${th.fg(\"dim\", chainDirPreview)}`));\n\n\t\tconst progressEnabled = this.agentConfigs.some((_, i) => this.getEffectiveBehavior(i).progress);\n\t\tconst progressValue = progressEnabled ? th.fg(\"success\", \"enabled\") : th.fg(\"dim\", \"disabled\");\n\t\tlines.push(this.row(` Progress: ${progressValue} ${th.fg(\"dim\", \"(press [p] to toggle)\")}`));\n\t\tlines.push(this.row(\"\"));\n\n\t\tfor (let i = 0; i < this.agentConfigs.length; i++) {\n\t\t\tconst config = this.agentConfigs[i]!;\n\t\t\tconst isSelected = i === this.selectedStep;\n\t\t\tconst behavior = this.getEffectiveBehavior(i);\n\n\t\t\tconst color = isSelected ? \"accent\" : \"dim\";\n\t\t\tconst prefix = isSelected ? \"▶ \" : \" \";\n\t\t\tconst stepPrefix = `Step ${i + 1}: `;\n\t\t\tconst maxNameLen = innerW - 4 - prefix.length - stepPrefix.length;\n\t\t\tconst agentName = config.name.length > maxNameLen\n\t\t\t\t? config.name.slice(0, maxNameLen - 1) + \"…\"\n\t\t\t\t: config.name;\n\t\t\tconst stepLabel = `${stepPrefix}${agentName}`;\n\t\t\tlines.push(\n\t\t\t\tthis.row(` ${th.fg(color, prefix + stepLabel)}`),\n\t\t\t);\n\n\t\t\tconst template = (this.templates[i] ?? \"\").split(\"\\n\")[0] ?? \"\";\n\t\t\tconst highlighted = template\n\t\t\t\t.replace(/\\{task\\}/g, th.fg(\"success\", \"{task}\"))\n\t\t\t\t.replace(/\\{previous\\}/g, th.fg(\"warning\", \"{previous}\"))\n\t\t\t\t.replace(/\\{chain_dir\\}/g, th.fg(\"accent\", \"{chain_dir}\"));\n\n\t\t\tconst templateLabel = th.fg(\"dim\", \"task: \");\n\t\t\tlines.push(this.row(` ${templateLabel}${truncateToWidth(highlighted, innerW - 12)}`));\n\n\t\t\tconst effectiveModel = this.getEffectiveModel(i);\n\t\t\tconst override = this.behaviorOverrides.get(i);\n\t\t\tconst isOverridden = override?.model !== undefined;\n\t\t\tconst modelValue = isOverridden\n\t\t\t\t? th.fg(\"warning\", effectiveModel) + th.fg(\"dim\", \" ✎\")\n\t\t\t\t: effectiveModel;\n\t\t\tconst modelLabel = th.fg(\"dim\", \"model: \");\n\t\t\tlines.push(this.row(` ${modelLabel}${truncateToWidth(modelValue, innerW - 13)}`));\n\n\t\t\tconst writesValue = behavior.output === false\n\t\t\t\t? th.fg(\"dim\", \"(disabled)\")\n\t\t\t\t: (behavior.output || th.fg(\"dim\", \"(none)\"));\n\t\t\tconst writesLabel = th.fg(\"dim\", \"writes: \");\n\t\t\tlines.push(this.row(` ${writesLabel}${truncateToWidth(writesValue, innerW - 14)}`));\n\n\t\t\tconst readsValue = behavior.reads === false\n\t\t\t\t? th.fg(\"dim\", \"(disabled)\")\n\t\t\t\t: (behavior.reads && behavior.reads.length > 0\n\t\t\t\t\t? behavior.reads.join(\", \")\n\t\t\t\t\t: th.fg(\"dim\", \"(none)\"));\n\t\t\tconst readsLabel = th.fg(\"dim\", \"reads: \");\n\t\t\tlines.push(this.row(` ${readsLabel}${truncateToWidth(readsValue, innerW - 13)}`));\n\n\t\t\tconst skillsValue = behavior.skills === false\n\t\t\t\t? th.fg(\"dim\", \"(disabled)\")\n\t\t\t\t: (behavior.skills?.length ? behavior.skills.join(\", \") : th.fg(\"dim\", \"(none)\"));\n\t\t\tconst skillsLabel = th.fg(\"dim\", \"skills: \");\n\t\t\tlines.push(this.row(` ${skillsLabel}${truncateToWidth(skillsValue, innerW - 14)}`));\n\n\t\t\tif (progressEnabled) {\n\t\t\t\tconst isFirstStep = i === 0;\n\t\t\t\tconst progressAction = isFirstStep \n\t\t\t\t\t? th.fg(\"success\", \"writes progress.md\")\n\t\t\t\t\t: th.fg(\"accent\", \"reads progress.md\");\n\t\t\t\tconst progressLabel = th.fg(\"dim\", \"progress: \");\n\t\t\t\tlines.push(this.row(` ${progressLabel}${progressAction}`));\n\t\t\t}\n\n\t\t\tif (i < this.agentConfigs.length - 1) {\n\t\t\t\tconst nextStepUsePrevious = (this.templates[i + 1] ?? \"\").includes(\"{previous}\");\n\t\t\t\tif (nextStepUsePrevious) {\n\t\t\t\t\tconst indicator = th.fg(\"dim\", \" ↳ response → \") + th.fg(\"warning\", \"{previous}\");\n\t\t\t\t\tlines.push(this.row(indicator));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlines.push(this.row(\"\"));\n\t\t}\n\n\t\tif (this.agentConfigs.length > 0) lines.pop();\n\t\tlines.push(this.row(this.getShortcutHelpText()));\n\t\tthis.appendNotice(lines);\n\t\tlines.push(this.renderFooter(this.getFooterText()));\n\n\t\treturn lines;\n\t}\n\n\tinvalidate(): void {}\n\tdispose(): void {\n\t\tif (this.noticeMessageTimer) clearTimeout(this.noticeMessageTimer);\n\t\tthis.noticeMessageTimer = null;\n\t}\n}\n"]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chain execution logic for subagent tool
|
|
3
|
+
*/
|
|
4
|
+
import type { AgentToolResult } from "@earendil-works/pi-agent-core";
|
|
5
|
+
import type { ExtensionContext } from "@earendil-works/pi-coding-agent";
|
|
6
|
+
import type { AgentConfig } from "../../agents/agents.ts";
|
|
7
|
+
import { type ChainStep } from "../../shared/settings.ts";
|
|
8
|
+
import { type ActivityState, type ArtifactConfig, type ControlEvent, type Details, type IntercomEventBus, type NestedRouteInfo, type ResolvedControlConfig, type ResolvedTurnBudget, type ResolvedToolBudget, type SingleResult, type ToolBudgetConfig } from "../../shared/types.ts";
|
|
9
|
+
interface ChainExecutionParams {
|
|
10
|
+
chain: ChainStep[];
|
|
11
|
+
task?: string;
|
|
12
|
+
agents: AgentConfig[];
|
|
13
|
+
ctx: ExtensionContext;
|
|
14
|
+
intercomEvents?: IntercomEventBus;
|
|
15
|
+
signal?: AbortSignal;
|
|
16
|
+
runId: string;
|
|
17
|
+
cwd?: string;
|
|
18
|
+
shareEnabled: boolean;
|
|
19
|
+
sessionDirForIndex: (idx?: number) => string | undefined;
|
|
20
|
+
sessionFileForIndex?: (idx?: number) => string | undefined;
|
|
21
|
+
sessionFileForTask?: (agentName: string, idx?: number, modelOverride?: string) => string | undefined;
|
|
22
|
+
thinkingOverrideForTask?: (agentName: string, idx?: number, modelOverride?: string) => AgentConfig["thinking"] | undefined;
|
|
23
|
+
artifactsDir: string;
|
|
24
|
+
artifactConfig: ArtifactConfig;
|
|
25
|
+
includeProgress?: boolean;
|
|
26
|
+
clarify?: boolean;
|
|
27
|
+
onUpdate?: (r: AgentToolResult<Details>) => void;
|
|
28
|
+
onControlEvent?: (event: ControlEvent) => void;
|
|
29
|
+
controlConfig: ResolvedControlConfig;
|
|
30
|
+
childIntercomTarget?: (agent: string, index: number) => string | undefined;
|
|
31
|
+
orchestratorIntercomTarget?: string;
|
|
32
|
+
foregroundControl?: {
|
|
33
|
+
updatedAt: number;
|
|
34
|
+
currentAgent?: string;
|
|
35
|
+
currentIndex?: number;
|
|
36
|
+
currentActivityState?: ActivityState;
|
|
37
|
+
lastActivityAt?: number;
|
|
38
|
+
currentTool?: string;
|
|
39
|
+
currentToolStartedAt?: number;
|
|
40
|
+
currentPath?: string;
|
|
41
|
+
turnCount?: number;
|
|
42
|
+
tokens?: number;
|
|
43
|
+
toolCount?: number;
|
|
44
|
+
interrupt?: () => boolean;
|
|
45
|
+
};
|
|
46
|
+
chainSkills?: string[];
|
|
47
|
+
chainDir?: string;
|
|
48
|
+
dynamicFanoutMaxItems?: number;
|
|
49
|
+
maxSubagentDepth: number;
|
|
50
|
+
nestedRoute?: NestedRouteInfo;
|
|
51
|
+
worktreeSetupHook?: string;
|
|
52
|
+
worktreeSetupHookTimeoutMs?: number;
|
|
53
|
+
worktreeBaseDir?: string;
|
|
54
|
+
timeoutMs?: number;
|
|
55
|
+
deadlineAt?: number;
|
|
56
|
+
turnBudget?: ResolvedTurnBudget;
|
|
57
|
+
onDetachedExit?: (index: number, result: SingleResult) => void;
|
|
58
|
+
toolBudget?: ResolvedToolBudget;
|
|
59
|
+
configToolBudget?: ToolBudgetConfig;
|
|
60
|
+
/** Global cap on simultaneously-running tasks within this chain. Defaults to DEFAULT_GLOBAL_CONCURRENCY_LIMIT. */
|
|
61
|
+
globalConcurrencyLimit?: number;
|
|
62
|
+
}
|
|
63
|
+
interface ChainExecutionResult {
|
|
64
|
+
content: Array<{
|
|
65
|
+
type: "text";
|
|
66
|
+
text: string;
|
|
67
|
+
}>;
|
|
68
|
+
details: Details;
|
|
69
|
+
isError?: boolean;
|
|
70
|
+
/** User requested async execution via TUI - caller should dispatch to executeAsyncChain */
|
|
71
|
+
requestedAsync?: {
|
|
72
|
+
chain: ChainStep[];
|
|
73
|
+
chainSkills: string[];
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Execute a chain of subagent steps
|
|
78
|
+
*/
|
|
79
|
+
export declare function executeChain(params: ChainExecutionParams): Promise<ChainExecutionResult>;
|
|
80
|
+
export {};
|
|
81
|
+
//# sourceMappingURL=chain-execution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-execution.d.ts","sourceRoot":"","sources":["../../../../../../src/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.ts"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\n/**\n * Chain execution logic for subagent tool\n */\n\nimport * as fs from \"node:fs\";\nimport * as path from \"node:path\";\nimport type { AgentToolResult } from \"@earendil-works/pi-agent-core\";\nimport type { ExtensionContext } from \"@earendil-works/pi-coding-agent\";\nimport type { AgentConfig } from \"../../agents/agents.ts\";\nimport { ChainClarifyComponent, type ChainClarifyResult, type BehaviorOverride } from \"./chain-clarify.ts\";\nimport { toModelInfo, type ModelInfo } from \"../../shared/model-info.ts\";\nimport {\n\tresolveChainTemplates,\n\tcreateChainDir,\n\tremoveChainDir,\n\tresolveStepBehavior,\n\tresolveParallelBehaviors,\n\tbuildChainInstructions,\n\twriteInitialProgressFile,\n\tcreateParallelDirs,\n\tsuppressProgressForReadOnlyTask,\n\taggregateParallelOutputs,\n\tisDynamicParallelStep,\n\tisParallelStep,\n\ttype StepOverrides,\n\ttype ChainStep,\n\ttype ParallelStep,\n\ttype SequentialStep,\n\ttype ParallelTaskResult,\n\ttype ResolvedStepBehavior,\n\ttype ResolvedTemplates,\n} from \"../../shared/settings.ts\";\nimport { discoverAvailableSkills, normalizeSkillInput } from \"../../agents/skills.ts\";\nimport { INTERCOM_BRIDGE_MARKER } from \"../../intercom/intercom-bridge.ts\";\nimport { runSync } from \"./execution.ts\";\nimport { buildChainSummary } from \"../../shared/formatters.ts\";\nimport { compactForegroundDetails, getSingleResultOutput, mapConcurrent, resolveChildCwd, sumResultsCost, sumResultsUsage } from \"../../shared/utils.ts\";\nimport { DEFAULT_GLOBAL_CONCURRENCY_LIMIT, Semaphore } from \"../shared/parallel-utils.ts\";\nimport { recordRun } from \"../shared/run-history.ts\";\nimport {\n\tcleanupWorktrees,\n\tcreateWorktrees,\n\tdiffWorktrees,\n\tfindWorktreeTaskCwdConflict,\n\tformatWorktreeDiffSummary,\n\tformatWorktreeTaskCwdConflict,\n\ttype WorktreeSetup,\n} from \"../shared/worktree.ts\";\nimport {\n\ttype ActivityState,\n\ttype AgentProgress,\n\ttype ArtifactConfig,\n\ttype ArtifactPaths,\n\ttype ControlEvent,\n\ttype Details,\n\ttype IntercomEventBus,\n\ttype NestedRouteInfo,\n\ttype ResolvedControlConfig,\n\ttype ResolvedTurnBudget,\n\ttype ResolvedToolBudget,\n\ttype SingleResult,\n\ttype ToolBudgetConfig,\n\tMAX_CONCURRENCY,\n\tresolveChildMaxSubagentDepth,\n} from \"../../shared/types.ts\";\nimport { resolveEffectiveSubagentModel, resolveTierModelOverride } from \"../shared/model-fallback.ts\";\nimport type { ModelScopeConfig } from \"../shared/model-scope.ts\";\nimport { injectSingleOutputInstruction, validateFileOnlyOutputMode } from \"../shared/single-output.ts\";\nimport { buildWorkflowGraphSnapshot } from \"../shared/workflow-graph.ts\";\nimport { ChainOutputValidationError, outputEntryFromResult, resolveOutputReferences, validateChainOutputBindings } from \"../shared/chain-outputs.ts\";\nimport { createStructuredOutputRuntime } from \"../shared/structured-output.ts\";\nimport { collectDynamicResults, DynamicFanoutError, materializeDynamicParallelStep, validateDynamicCollection, type DynamicCollectedResult } from \"../shared/dynamic-fanout.ts\";\nimport { acceptanceFailureMessage, aggregateAcceptanceReport, evaluateAcceptance, resolveEffectiveAcceptance } from \"../shared/acceptance.ts\";\nimport type { ChainOutputMap } from \"../../shared/types.ts\";\nimport { validateToolBudgetConfig } from \"../shared/tool-budget.ts\";\n\ninterface ChainExecutionDetailsInput {\n\tresults: SingleResult[];\n\tincludeProgress?: boolean;\n\tallProgress: AgentProgress[];\n\tallArtifactPaths: ArtifactPaths[];\n\tartifactsDir: string;\n\tchainAgents: string[];\n\tchainSteps: ChainStep[];\n\ttotalSteps: number;\n\tcurrentStepIndex?: number;\n\trunId: string;\n\toutputs?: ChainOutputMap;\n\tcurrentFlatIndex?: number;\n\tdynamicChildren?: Record<number, Array<{ agent: string; label?: string; flatIndex: number; itemKey: string; outputName?: string; structured?: boolean; error?: string }>>;\n\tdynamicGroupStatuses?: Record<number, { status: \"pending\" | \"running\" | \"completed\" | \"failed\" | \"paused\" | \"stopped\" | \"detached\"; error?: string; acceptance?: SingleResult[\"acceptance\"] }>;\n}\n\ninterface ParallelChainRunInput {\n\tstep: ParallelStep;\n\tparallelTemplates: string[];\n\tparallelBehaviors: ResolvedStepBehavior[];\n\tagents: AgentConfig[];\n\tstepIndex: number;\n\tavailableModels: ModelInfo[];\n\tmodelScope?: ModelScopeConfig;\n\tchainDir: string;\n\tprev: string;\n\toriginalTask: string;\n\tctx: ExtensionContext;\n\tintercomEvents?: IntercomEventBus;\n\tcwd?: string;\n\trunId: string;\n\tglobalTaskIndex: number;\n\tsessionDirForIndex: (idx?: number) => string | undefined;\n\tsessionFileForIndex?: (idx?: number) => string | undefined;\n\tsessionFileForTask?: (agentName: string, idx?: number, modelOverride?: string) => string | undefined;\n\tthinkingOverrideForTask?: (agentName: string, idx?: number, modelOverride?: string) => AgentConfig[\"thinking\"] | undefined;\n\tshareEnabled: boolean;\n\tartifactConfig: ArtifactConfig;\n\tartifactsDir: string;\n\tsignal?: AbortSignal;\n\tonUpdate?: (r: AgentToolResult<Details>) => void;\n\tonControlEvent?: (event: ControlEvent) => void;\n\tcontrolConfig: ResolvedControlConfig;\n\tchildIntercomTarget?: (agent: string, index: number) => string | undefined;\n\torchestratorIntercomTarget?: string;\n\tforegroundControl?: {\n\t\tupdatedAt: number;\n\t\tcurrentAgent?: string;\n\t\tcurrentIndex?: number;\n\t\tcurrentActivityState?: ActivityState;\n\t\tlastActivityAt?: number;\n\t\tcurrentTool?: string;\n\t\tcurrentToolStartedAt?: number;\n\t\tcurrentPath?: string;\n\t\tturnCount?: number;\n\t\ttokens?: number;\n\t\ttoolCount?: number;\n\t\tinterrupt?: () => boolean;\n\t};\n\tresults: SingleResult[];\n\tallProgress: AgentProgress[];\n\toutputs: ChainOutputMap;\n\tchainAgents: string[];\n\tchainSteps: ChainStep[];\n\ttotalSteps: number;\n\tdynamicChildren?: ChainExecutionDetailsInput[\"dynamicChildren\"];\n\tdynamicGroupStatuses?: ChainExecutionDetailsInput[\"dynamicGroupStatuses\"];\n\tworktreeSetup?: WorktreeSetup;\n\tmaxSubagentDepth: number;\n\tnestedRoute?: NestedRouteInfo;\n\ttimeoutMs?: number;\n\tdeadlineAt?: number;\n\tturnBudget?: ResolvedTurnBudget;\n\tonDetachedExit?: (index: number, result: SingleResult) => void;\n\ttoolBudget?: ResolvedToolBudget;\n\tconfigToolBudget?: ToolBudgetConfig;\n\tglobalSemaphore?: Semaphore;\n\tdynamic?: boolean;\n}\n\nfunction buildChainExecutionDetails(input: ChainExecutionDetailsInput): Details {\n\treturn compactForegroundDetails({\n\t\tmode: \"chain\",\n\t\tresults: input.results,\n\t\tprogress: input.includeProgress ? input.allProgress : undefined,\n\t\tartifacts: input.allArtifactPaths.length ? { dir: input.artifactsDir, files: input.allArtifactPaths } : undefined,\n\t\tchainAgents: input.chainAgents,\n\t\ttotalSteps: input.totalSteps,\n\t\tcurrentStepIndex: input.currentStepIndex,\n\t\toutputs: input.outputs,\n\t\ttotalChildUsage: sumResultsUsage(input.results),\n\t\ttotalCost: sumResultsCost(input.results),\n\t\tworkflowGraph: buildWorkflowGraphSnapshot({\n\t\t\trunId: input.runId,\n\t\t\tmode: \"chain\",\n\t\t\tsteps: input.chainSteps,\n\t\t\tresults: input.results,\n\t\t\tcurrentStepIndex: input.currentStepIndex,\n\t\t\tcurrentFlatIndex: input.currentFlatIndex,\n\t\t\tdynamicChildren: input.dynamicChildren,\n\t\t\tdynamicGroupStatuses: input.dynamicGroupStatuses,\n\t\t}),\n\t});\n}\n\nfunction buildChainExecutionErrorResult(message: string, input: ChainExecutionDetailsInput): ChainExecutionResult {\n\treturn {\n\t\tcontent: [{ type: \"text\", text: message }],\n\t\tisError: true,\n\t\tdetails: buildChainExecutionDetails(input),\n\t};\n}\n\nfunction ensureParallelProgressFile(\n\tchainDir: string,\n\tprogressCreated: boolean,\n\tparallelBehaviors: ResolvedStepBehavior[],\n): boolean {\n\tif (progressCreated || !parallelBehaviors.some((behavior) => behavior.progress)) {\n\t\treturn progressCreated;\n\t}\n\twriteInitialProgressFile(chainDir);\n\treturn true;\n}\n\nfunction appendParallelWorktreeSummary(\n\toutput: string,\n\tworktreeSetup: WorktreeSetup | undefined,\n\tdiffsDir: string,\n\tagents: string[],\n): string {\n\tif (!worktreeSetup) return output;\n\tconst diffs = diffWorktrees(worktreeSetup, agents, diffsDir);\n\tconst diffSummary = formatWorktreeDiffSummary(diffs);\n\tif (!diffSummary) return output;\n\treturn `${output}\\n\\n${diffSummary}`;\n}\n\nfunction resolveChainToolBudget(input: { stepBudget?: ToolBudgetConfig; runBudget?: ResolvedToolBudget; agentBudget?: ToolBudgetConfig; configBudget?: ToolBudgetConfig }): { toolBudget?: ResolvedToolBudget; error?: string } {\n\tif (input.stepBudget !== undefined) {\n\t\tconst resolved = validateToolBudgetConfig(input.stepBudget, \"toolBudget\");\n\t\treturn { toolBudget: resolved.budget, error: resolved.error };\n\t}\n\tif (input.runBudget !== undefined) return { toolBudget: input.runBudget };\n\tif (input.agentBudget !== undefined) {\n\t\tconst resolved = validateToolBudgetConfig(input.agentBudget, \"agent.toolBudget\");\n\t\treturn { toolBudget: resolved.budget, error: resolved.error };\n\t}\n\tconst resolved = validateToolBudgetConfig(input.configBudget, \"config.toolBudget\");\n\treturn { toolBudget: resolved.budget, error: resolved.error };\n}\n\nasync function runParallelChainTasks(input: ParallelChainRunInput): Promise<SingleResult[]> {\n\tconst concurrency = input.step.concurrency ?? MAX_CONCURRENCY;\n\tconst failFast = input.step.failFast ?? false;\n\tlet aborted = false;\n\tconst effectiveModels = input.step.parallel.map((task) => {\n\t\tconst taskAgentConfig = input.agents.find((agent) => agent.name === task.agent);\n\t\treturn resolveEffectiveSubagentModel(\n\t\t\t// lunr: model tiers — explicit per-task model wins; otherwise resolve task.tier via the tier bridge.\n\t\t\ttask.model ?? resolveTierModelOverride(task.tier),\n\t\t\ttaskAgentConfig?.model,\n\t\t\tinput.ctx.model,\n\t\t\tinput.availableModels,\n\t\t\tinput.ctx.model?.provider,\n\t\t\t{ scope: input.modelScope },\n\t\t);\n\t});\n\tfor (let taskIndex = 0; taskIndex < input.step.parallel.length; taskIndex++) {\n\t\tconst task = input.step.parallel[taskIndex]!;\n\t\tinput.sessionFileForTask?.(task.agent, input.globalTaskIndex + taskIndex, effectiveModels[taskIndex]);\n\t}\n\n\tconst parallelResults = await mapConcurrent(\n\t\tinput.step.parallel,\n\t\tconcurrency,\n\t\tasync (task, taskIndex) => {\n\t\t\tif (aborted && failFast) {\n\t\t\t\treturn {\n\t\t\t\t\tagent: task.agent,\n\t\t\t\t\ttask: \"(skipped)\",\n\t\t\t\t\texitCode: -1,\n\t\t\t\t\tmessages: [],\n\t\t\t\t\tusage: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, cost: 0, turns: 0 },\n\t\t\t\t\terror: \"Skipped due to fail-fast\",\n\t\t\t\t} as SingleResult;\n\t\t\t}\n\n\t\t\tconst taskTemplate = input.parallelTemplates[taskIndex] ?? \"{previous}\";\n\t\t\tconst behavior = suppressProgressForReadOnlyTask(input.parallelBehaviors[taskIndex]!, taskTemplate, input.originalTask);\n\t\t\tconst taskAgentConfig = input.agents.find((agent) => agent.name === task.agent);\n\t\t\tconst templateHasPrevious = taskTemplate.includes(\"{previous}\");\n\t\t\tconst { prefix, suffix } = buildChainInstructions(\n\t\t\t\t{ ...behavior, output: false },\n\t\t\t\tinput.chainDir,\n\t\t\t\tfalse,\n\t\t\t\ttemplateHasPrevious ? undefined : input.prev,\n\t\t\t);\n\n\t\t\tlet taskStr = resolveOutputReferences(taskTemplate, input.outputs);\n\t\t\ttaskStr = taskStr.replace(/\\{task\\}/g, input.originalTask);\n\t\t\ttaskStr = taskStr.replace(/\\{previous\\}/g, input.prev);\n\t\t\ttaskStr = taskStr.replace(/\\{chain_dir\\}/g, input.chainDir);\n\t\t\tconst cleanTask = taskStr;\n\t\t\ttaskStr = prefix + taskStr + suffix;\n\n\t\t\tconst effectiveModel = effectiveModels[taskIndex];\n\t\t\tconst maxSubagentDepth = resolveChildMaxSubagentDepth(input.maxSubagentDepth, taskAgentConfig?.maxSubagentDepth);\n\t\t\tconst toolBudget = resolveChainToolBudget({ stepBudget: task.toolBudget, runBudget: input.toolBudget, agentBudget: taskAgentConfig?.toolBudget, configBudget: input.configToolBudget });\n\t\t\tif (toolBudget.error) throw new Error(toolBudget.error);\n\n\t\t\tconst taskCwd = input.worktreeSetup\n\t\t\t\t? input.worktreeSetup.worktrees[taskIndex]!.agentCwd\n\t\t\t\t: resolveChildCwd(input.cwd ?? input.ctx.cwd, task.cwd);\n\n\t\t\tconst outputPath = typeof behavior.output === \"string\"\n\t\t\t\t? (path.isAbsolute(behavior.output) ? behavior.output : path.join(input.chainDir, behavior.output))\n\t\t\t\t: undefined;\n\t\t\ttaskStr = injectSingleOutputInstruction(taskStr, outputPath, taskAgentConfig);\n\t\t\tconst interruptController = new AbortController();\n\t\t\tif (input.foregroundControl) {\n\t\t\t\tinput.foregroundControl.currentAgent = task.agent;\n\t\t\t\tinput.foregroundControl.currentIndex = input.globalTaskIndex + taskIndex;\n\t\t\t\tinput.foregroundControl.currentActivityState = undefined;\n\t\t\t\tinput.foregroundControl.updatedAt = Date.now();\n\t\t\t\tinput.foregroundControl.interrupt = () => {\n\t\t\t\t\tif (interruptController.signal.aborted) return false;\n\t\t\t\t\tinterruptController.abort();\n\t\t\t\t\tinput.foregroundControl!.currentActivityState = undefined;\n\t\t\t\t\tinput.foregroundControl!.updatedAt = Date.now();\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst structuredRuntime = task.outputSchema\n\t\t\t\t? createStructuredOutputRuntime(task.outputSchema, path.join(input.chainDir, \"structured-output\"))\n\t\t\t\t: undefined;\n\t\t\tconst result = await runSync(input.ctx.cwd, input.agents, task.agent, taskStr, {\n\t\t\t\tparentSessionId: input.ctx.sessionManager.getSessionId() ?? undefined,\n\t\t\t\tcwd: taskCwd,\n\t\t\t\tsignal: input.signal,\n\t\t\t\tinterruptSignal: interruptController.signal,\n\t\t\t\tallowIntercomDetach: taskAgentConfig?.systemPrompt?.includes(INTERCOM_BRIDGE_MARKER) === true,\n\t\t\t\tintercomEvents: input.intercomEvents,\n\t\t\t\trunId: input.runId,\n\t\t\t\tindex: input.globalTaskIndex + taskIndex,\n\t\t\t\tsessionDir: input.sessionDirForIndex(input.globalTaskIndex + taskIndex),\n\t\t\t\tsessionFile: input.sessionFileForTask?.(task.agent, input.globalTaskIndex + taskIndex, effectiveModel)\n\t\t\t\t\t?? input.sessionFileForIndex?.(input.globalTaskIndex + taskIndex),\n\t\t\t\tthinkingOverride: input.thinkingOverrideForTask?.(task.agent, input.globalTaskIndex + taskIndex, effectiveModel),\n\t\t\t\tshare: input.shareEnabled,\n\t\t\t\tartifactsDir: input.artifactConfig.enabled ? input.artifactsDir : undefined,\n\t\t\t\tartifactConfig: input.artifactConfig,\n\t\t\t\toutputPath,\n\t\t\t\toutputMode: behavior.outputMode,\n\t\t\t\tmaxSubagentDepth,\n\t\t\t\tcontrolConfig: input.controlConfig,\n\t\t\t\tonControlEvent: input.onControlEvent,\n\t\t\t\tintercomSessionName: input.childIntercomTarget?.(task.agent, input.globalTaskIndex + taskIndex),\n\t\t\t\torchestratorIntercomTarget: input.orchestratorIntercomTarget,\n\t\t\t\tnestedRoute: input.nestedRoute,\n\t\t\t\tmodelOverride: effectiveModel,\n\t\t\t\tavailableModels: input.availableModels,\n\t\t\t\tpreferredModelProvider: input.ctx.model?.provider,\n\t\t\t\tmodelScope: input.modelScope,\n\t\t\t\tskills: behavior.skills === false ? [] : behavior.skills,\n\t\t\t\tstructuredOutput: structuredRuntime,\n\t\t\t\tacceptance: task.acceptance,\n\t\t\t\tacceptanceContext: { mode: \"chain\", dynamic: input.dynamic && task.acceptance === undefined },\n\t\t\t\ttimeoutMs: input.timeoutMs,\n\t\t\t\tdeadlineAt: input.deadlineAt,\n\t\t\t\tturnBudget: input.turnBudget,\n\t\t\t\tonDetachedExit: input.onDetachedExit\n\t\t\t\t\t? (result) => input.onDetachedExit?.(input.globalTaskIndex + taskIndex, result)\n\t\t\t\t\t: undefined,\n\t\t\t\ttoolBudget: toolBudget.toolBudget,\n\t\t\t\tonUpdate: input.onUpdate\n\t\t\t\t\t? (progressUpdate) => {\n\t\t\t\t\t\tconst stepResults = progressUpdate.details?.results || [];\n\t\t\t\t\t\tconst stepProgress = progressUpdate.details?.progress || [];\n\t\t\t\t\t\tif (input.foregroundControl && stepProgress.length > 0) {\n\t\t\t\t\t\t\tconst current = stepProgress[0];\n\t\t\t\t\t\t\tinput.foregroundControl.currentAgent = task.agent;\n\t\t\t\t\t\t\tinput.foregroundControl.currentIndex = input.globalTaskIndex + taskIndex;\n\t\t\t\t\t\t\tinput.foregroundControl.currentActivityState = current?.activityState;\n\t\t\t\t\t\t\tinput.foregroundControl.lastActivityAt = current?.lastActivityAt;\n\t\t\t\t\t\t\tinput.foregroundControl.currentTool = current?.currentTool;\n\t\t\t\t\t\t\tinput.foregroundControl.currentToolStartedAt = current?.currentToolStartedAt;\n\t\t\t\t\t\t\tinput.foregroundControl.currentPath = current?.currentPath;\n\t\t\t\t\t\t\tinput.foregroundControl.turnCount = current?.turnCount;\n\t\t\t\t\t\t\tinput.foregroundControl.tokens = current?.tokens;\n\t\t\t\t\t\t\tinput.foregroundControl.toolCount = current?.toolCount;\n\t\t\t\t\t\t\tinput.foregroundControl.updatedAt = Date.now();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinput.onUpdate?.({\n\t\t\t\t\t\t\t...progressUpdate,\n\t\t\t\t\t\t\tdetails: {\n\t\t\t\t\t\t\t\tmode: \"chain\",\n\t\t\t\t\t\t\t\tresults: input.results.concat(stepResults),\n\t\t\t\t\t\t\t\tprogress: input.allProgress.concat(stepProgress),\n\t\t\t\t\t\t\t\tcontrolEvents: progressUpdate.details?.controlEvents,\n\t\t\t\t\t\t\t\tchainAgents: input.chainAgents,\n\t\t\t\t\t\t\t\ttotalSteps: input.totalSteps,\n\t\t\t\t\t\t\t\tcurrentStepIndex: input.stepIndex,\n\t\t\t\t\t\t\t\toutputs: input.outputs,\n\t\t\t\t\t\t\t\tworkflowGraph: buildWorkflowGraphSnapshot({\n\t\t\t\t\t\t\t\t\trunId: input.runId,\n\t\t\t\t\t\t\t\t\tmode: \"chain\",\n\t\t\t\t\t\t\t\t\tsteps: input.chainSteps,\n\t\t\t\t\t\t\t\t\tresults: input.results.concat(stepResults),\n\t\t\t\t\t\t\t\t\tcurrentStepIndex: input.stepIndex,\n\t\t\t\t\t\t\t\t\tcurrentFlatIndex: input.globalTaskIndex + taskIndex,\n\t\t\t\t\t\t\t\t\tdynamicChildren: input.dynamicChildren,\n\t\t\t\t\t\t\t\t\tdynamicGroupStatuses: input.dynamicGroupStatuses,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t: undefined,\n\t\t\t});\n\t\t\tif (input.foregroundControl?.currentIndex === input.globalTaskIndex + taskIndex) {\n\t\t\t\tinput.foregroundControl.interrupt = undefined;\n\t\t\t\tinput.foregroundControl.updatedAt = Date.now();\n\t\t\t}\n\n\t\t\tif (result.exitCode !== 0 && failFast) {\n\t\t\t\taborted = true;\n\t\t\t}\n\t\t\trecordRun(task.agent, cleanTask, result.exitCode, result.progressSummary?.durationMs ?? 0);\n\t\t\treturn result;\n\t\t},\n\t\tinput.globalSemaphore,\n\t);\n\n\treturn parallelResults;\n}\n\ninterface ChainExecutionParams {\n\tchain: ChainStep[];\n\ttask?: string;\n\tagents: AgentConfig[];\n\tctx: ExtensionContext;\n\tintercomEvents?: IntercomEventBus;\n\tsignal?: AbortSignal;\n\trunId: string;\n\tcwd?: string;\n\tshareEnabled: boolean;\n\tsessionDirForIndex: (idx?: number) => string | undefined;\n\tsessionFileForIndex?: (idx?: number) => string | undefined;\n\tsessionFileForTask?: (agentName: string, idx?: number, modelOverride?: string) => string | undefined;\n\tthinkingOverrideForTask?: (agentName: string, idx?: number, modelOverride?: string) => AgentConfig[\"thinking\"] | undefined;\n\tartifactsDir: string;\n\tartifactConfig: ArtifactConfig;\n\tincludeProgress?: boolean;\n\tclarify?: boolean;\n\tonUpdate?: (r: AgentToolResult<Details>) => void;\n\tonControlEvent?: (event: ControlEvent) => void;\n\tcontrolConfig: ResolvedControlConfig;\n\tchildIntercomTarget?: (agent: string, index: number) => string | undefined;\n\torchestratorIntercomTarget?: string;\n\tforegroundControl?: {\n\t\tupdatedAt: number;\n\t\tcurrentAgent?: string;\n\t\tcurrentIndex?: number;\n\t\tcurrentActivityState?: ActivityState;\n\t\tlastActivityAt?: number;\n\t\tcurrentTool?: string;\n\t\tcurrentToolStartedAt?: number;\n\t\tcurrentPath?: string;\n\t\tturnCount?: number;\n\t\ttokens?: number;\n\t\ttoolCount?: number;\n\t\tinterrupt?: () => boolean;\n\t};\n\tchainSkills?: string[];\n\tchainDir?: string;\n\tdynamicFanoutMaxItems?: number;\n\tmaxSubagentDepth: number;\n\tnestedRoute?: NestedRouteInfo;\n\tworktreeSetupHook?: string;\n\tworktreeSetupHookTimeoutMs?: number;\n\tworktreeBaseDir?: string;\n\ttimeoutMs?: number;\n\tdeadlineAt?: number;\n\tturnBudget?: ResolvedTurnBudget;\n\tonDetachedExit?: (index: number, result: SingleResult) => void;\n\ttoolBudget?: ResolvedToolBudget;\n\tconfigToolBudget?: ToolBudgetConfig;\n\t/** Global cap on simultaneously-running tasks within this chain. Defaults to DEFAULT_GLOBAL_CONCURRENCY_LIMIT. */\n\tglobalConcurrencyLimit?: number;\n}\n\ninterface ChainExecutionResult {\n\tcontent: Array<{ type: \"text\"; text: string }>;\n\tdetails: Details;\n\tisError?: boolean;\n\t/** User requested async execution via TUI - caller should dispatch to executeAsyncChain */\n\trequestedAsync?: {\n\t\tchain: ChainStep[];\n\t\tchainSkills: string[];\n\t};\n}\n\n/**\n * Execute a chain of subagent steps\n */\nexport async function executeChain(params: ChainExecutionParams): Promise<ChainExecutionResult> {\n\tconst {\n\t\tchain: chainSteps,\n\t\tagents,\n\t\tctx,\n\t\tsignal,\n\t\trunId,\n\t\tcwd,\n\t\tshareEnabled,\n\t\tsessionDirForIndex,\n\t\tsessionFileForIndex,\n\t\tsessionFileForTask,\n\t\tthinkingOverrideForTask,\n\t\tartifactsDir,\n\t\tartifactConfig,\n\t\tincludeProgress,\n\t\tclarify,\n\t\tonUpdate,\n\t\tonControlEvent,\n\t\tcontrolConfig,\n\t\tonDetachedExit,\n\t\tchildIntercomTarget,\n\t\torchestratorIntercomTarget,\n\t\tforegroundControl,\n\t\tintercomEvents,\n\t\tchainSkills: chainSkillsParam,\n\t\tchainDir: chainDirBase,\n\t\tmodelScope,\n\t} = params;\n\tconst chainSkills = chainSkillsParam ?? [];\n\n\tconst results: SingleResult[] = [];\n\tconst outputs: ChainOutputMap = {};\n\tconst dynamicChildren: ChainExecutionDetailsInput[\"dynamicChildren\"] = {};\n\tconst dynamicGroupStatuses: ChainExecutionDetailsInput[\"dynamicGroupStatuses\"] = {};\n\tconst allProgress: AgentProgress[] = [];\n\tconst allArtifactPaths: ArtifactPaths[] = [];\n\n\tconst chainAgents: string[] = chainSteps.map((step) =>\n\t\tisParallelStep(step)\n\t\t\t? `[${step.parallel.map((t) => t.agent).join(\"+\")}]`\n\t\t\t: isDynamicParallelStep(step)\n\t\t\t\t? `expand:${step.parallel.agent}`\n\t\t\t: (step as SequentialStep).agent,\n\t);\n\tconst totalSteps = chainSteps.length;\n\n\tconst makeDetailsInput = (overrides: Pick<Partial<ChainExecutionDetailsInput>, \"currentStepIndex\" | \"currentFlatIndex\"> = {}): ChainExecutionDetailsInput => ({\n\t\tresults,\n\t\t...(includeProgress !== undefined ? { includeProgress } : {}),\n\t\tallProgress,\n\t\tallArtifactPaths,\n\t\tartifactsDir,\n\t\tchainAgents,\n\t\tchainSteps,\n\t\ttotalSteps,\n\t\trunId,\n\t\toutputs,\n\t\tdynamicChildren,\n\t\tdynamicGroupStatuses,\n\t\t...overrides,\n\t});\n\n\tconst firstStep = chainSteps[0]!;\n\tconst originalTask = params.task\n\t\t?? (isParallelStep(firstStep)\n\t\t\t? firstStep.parallel[0]!.task!\n\t\t\t: isDynamicParallelStep(firstStep)\n\t\t\t\t? firstStep.parallel.task!\n\t\t\t\t: (firstStep as SequentialStep).task!);\n\ttry {\n\t\tvalidateChainOutputBindings(chainSteps, { maxItems: params.dynamicFanoutMaxItems });\n\t} catch (error) {\n\t\tif (error instanceof ChainOutputValidationError) {\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: error.message }],\n\t\t\t\tisError: true,\n\t\t\t\tdetails: buildChainExecutionDetails(makeDetailsInput()),\n\t\t\t};\n\t\t}\n\t\tthrow error;\n\t}\n\n\tconst chainDir = createChainDir(runId, chainDirBase);\n\tconst hasParallelSteps = chainSteps.some((step) => isParallelStep(step) || isDynamicParallelStep(step));\n\tlet templates: ResolvedTemplates = resolveChainTemplates(chainSteps);\n\tconst shouldClarify = clarify === true && ctx.hasUI && !hasParallelSteps;\n\tlet tuiBehaviorOverrides: (BehaviorOverride | undefined)[] | undefined;\n\tconst availableModels: ModelInfo[] = ctx.modelRegistry.getAvailable().map(toModelInfo);\n\tconst availableSkills = discoverAvailableSkills(cwd ?? ctx.cwd);\n\n\tif (shouldClarify) {\n\t\tconst seqSteps = chainSteps as SequentialStep[];\n\t\tconst agentConfigs: AgentConfig[] = [];\n\t\tfor (const step of seqSteps) {\n\t\t\tconst config = agents.find((a) => a.name === step.agent);\n\t\t\tif (!config) {\n\t\t\t\tremoveChainDir(chainDir);\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: `Unknown agent: ${step.agent}` }],\n\t\t\t\t\tisError: true,\n\t\t\t\t\tdetails: buildChainExecutionDetails(makeDetailsInput({ currentStepIndex: seqSteps.indexOf(step) })),\n\t\t\t\t};\n\t\t\t}\n\t\t\tagentConfigs.push(config);\n\t\t}\n\n\t\tconst stepOverrides: StepOverrides[] = seqSteps.map((step) => ({\n\t\t\toutput: step.output,\n\t\t\toutputMode: step.outputMode,\n\t\t\treads: step.reads,\n\t\t\tprogress: step.progress,\n\t\t\tskills: normalizeSkillInput(step.skill),\n\t\t\tmodel: step.model,\n\t\t}));\n\n\t\tconst resolvedBehaviors = agentConfigs.map((config, i) =>\n\t\t\tresolveStepBehavior(config, stepOverrides[i]!, chainSkills),\n\t\t);\n\t\tconst flatTemplates = templates as string[];\n\n\t\tconst result = await ctx.ui.custom<ChainClarifyResult>(\n\t\t\t(tui, theme, _kb, done) =>\n\t\t\t\tnew ChainClarifyComponent(\n\t\t\t\t\ttui,\n\t\t\t\t\ttheme,\n\t\t\t\t\tagentConfigs,\n\t\t\t\t\tflatTemplates,\n\t\t\t\t\toriginalTask,\n\t\t\t\t\tchainDir,\n\t\t\t\t\tresolvedBehaviors,\n\t\t\t\t\tavailableModels,\n\t\t\t\t\tctx.model?.provider,\n\t\t\t\t\tavailableSkills,\n\t\t\t\t\tdone,\n\t\t\t\t),\n\t\t\t{\n\t\t\t\toverlay: true,\n\t\t\t\toverlayOptions: { anchor: \"center\", width: 84, maxHeight: \"80%\" },\n\t\t\t},\n\t\t);\n\n\t\tif (!result || !result.confirmed) {\n\t\t\tremoveChainDir(chainDir);\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: \"Chain cancelled\" }],\n\t\t\t\tdetails: buildChainExecutionDetails(makeDetailsInput()),\n\t\t\t};\n\t\t}\n\n\t\tif (result.runInBackground) {\n\t\t\tremoveChainDir(chainDir);\n\t\t\tconst updatedChain: ChainStep[] = chainSteps.map((step, i) => {\n\t\t\t\tif (isParallelStep(step)) return step;\n\t\t\t\tconst override = result.behaviorOverrides[i];\n\t\t\t\treturn {\n\t\t\t\t\t...step,\n\t\t\t\t\ttask: result.templates[i]!,\n\t\t\t\t\t...(override?.model !== undefined ? { model: override.model } : {}),\n\t\t\t\t\t...(override?.output !== undefined ? { output: override.output } : {}),\n\t\t\t\t\t...(\"outputMode\" in step && step.outputMode !== undefined ? { outputMode: step.outputMode } : {}),\n\t\t\t\t\t...(override?.reads !== undefined ? { reads: override.reads } : {}),\n\t\t\t\t\t...(override?.progress !== undefined ? { progress: override.progress } : {}),\n\t\t\t\t\t...(override?.skills !== undefined ? { skill: override.skills } : {}),\n\t\t\t\t};\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: \"Launching in background...\" }],\n\t\t\t\tdetails: buildChainExecutionDetails(makeDetailsInput()),\n\t\t\t\trequestedAsync: { chain: updatedChain, chainSkills },\n\t\t\t};\n\t\t}\n\n\t\ttemplates = result.templates;\n\t\ttuiBehaviorOverrides = result.behaviorOverrides;\n\t}\n\n\tconst deadlineAt = params.deadlineAt ?? (params.timeoutMs !== undefined ? Date.now() + params.timeoutMs : undefined);\n\tconst globalSemaphore = new Semaphore(params.globalConcurrencyLimit ?? DEFAULT_GLOBAL_CONCURRENCY_LIMIT);\n\tlet prev = \"\";\n\tlet globalTaskIndex = 0;\n\tlet progressCreated = false;\n\n\tfor (let stepIndex = 0; stepIndex < chainSteps.length; stepIndex++) {\n\t\tconst step = chainSteps[stepIndex]!;\n\t\tconst stepTemplates = templates[stepIndex]!;\n\n\t\tif (isParallelStep(step)) {\n\t\t\tconst parallelTemplates = stepTemplates as string[];\n\t\t\tconst parallelCwd = resolveChildCwd(cwd ?? ctx.cwd, step.cwd);\n\t\t\tlet worktreeSetup: WorktreeSetup | undefined;\n\t\t\tif (step.worktree) {\n\t\t\t\tconst worktreeTaskCwdConflict = findWorktreeTaskCwdConflict(step.parallel, parallelCwd);\n\t\t\t\tif (worktreeTaskCwdConflict) {\n\t\t\t\t\treturn buildChainExecutionErrorResult(\n\t\t\t\t\t\t`parallel chain step ${stepIndex + 1}: ${formatWorktreeTaskCwdConflict(worktreeTaskCwdConflict, parallelCwd)}`,\n\t\t\t\t\t\tmakeDetailsInput({ currentStepIndex: stepIndex, currentFlatIndex: globalTaskIndex }),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tworktreeSetup = createWorktrees(parallelCwd, `${runId}-s${stepIndex}`, step.parallel.length, {\n\t\t\t\t\t\tagents: step.parallel.map((task) => task.agent),\n\t\t\t\t\t\tsetupHook: params.worktreeSetupHook\n\t\t\t\t\t\t\t? { hookPath: params.worktreeSetupHook, timeoutMs: params.worktreeSetupHookTimeoutMs }\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\tbaseDir: params.worktreeBaseDir,\n\t\t\t\t\t});\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\t\t\treturn buildChainExecutionErrorResult(message, makeDetailsInput({ currentStepIndex: stepIndex, currentFlatIndex: globalTaskIndex }));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst agentNames = step.parallel.map((task) => task.agent);\n\t\t\t\tconst parallelBehaviors = resolveParallelBehaviors(step.parallel, agents, stepIndex, chainSkills)\n\t\t\t\t\t.map((behavior, taskIndex) => suppressProgressForReadOnlyTask(behavior, parallelTemplates[taskIndex] ?? step.parallel[taskIndex]?.task, originalTask));\n\t\t\t\tfor (let taskIndex = 0; taskIndex < step.parallel.length; taskIndex++) {\n\t\t\t\t\tconst behavior = parallelBehaviors[taskIndex]!;\n\t\t\t\t\tconst outputPath = typeof behavior.output === \"string\"\n\t\t\t\t\t\t? (path.isAbsolute(behavior.output) ? behavior.output : path.join(chainDir, behavior.output))\n\t\t\t\t\t\t: undefined;\n\t\t\t\t\tconst validationError = validateFileOnlyOutputMode(behavior.outputMode, outputPath, `Parallel chain step ${stepIndex + 1} task ${taskIndex + 1} (${step.parallel[taskIndex]!.agent})`);\n\t\t\t\t\tif (validationError) return buildChainExecutionErrorResult(validationError, makeDetailsInput({ currentStepIndex: stepIndex, currentFlatIndex: globalTaskIndex + taskIndex }));\n\t\t\t\t}\n\t\t\t\tprogressCreated = ensureParallelProgressFile(chainDir, progressCreated, parallelBehaviors);\n\t\t\t\tcreateParallelDirs(chainDir, stepIndex, step.parallel.length, agentNames);\n\n\t\t\t\tconst parallelResults = await runParallelChainTasks({\n\t\t\t\t\tstep,\n\t\t\t\t\tparallelTemplates,\n\t\t\t\t\tparallelBehaviors,\n\t\t\t\t\tagents,\n\t\t\t\t\tstepIndex,\n\t\t\t\t\tavailableModels,\n\t\t\t\t\tmodelScope,\n\t\t\t\t\tchainDir,\n\t\t\t\t\tprev,\n\t\t\t\t\toriginalTask,\n\t\t\t\t\tctx,\n\t\t\t\t\tintercomEvents,\n\t\t\t\t\tcwd,\n\t\t\t\t\trunId,\n\t\t\t\t\tglobalTaskIndex,\n\t\t\t\t\tsessionDirForIndex,\n\t\t\t\t\tsessionFileForIndex,\n\t\t\t\t\tsessionFileForTask,\n\t\t\t\t\tthinkingOverrideForTask,\n\t\t\t\t\tshareEnabled,\n\t\t\t\t\tartifactConfig,\n\t\t\t\t\tartifactsDir,\n\t\t\t\t\tsignal,\n\t\t\t\t\tonUpdate,\n\t\t\t\t\tresults,\n\t\t\t\t\tallProgress,\n\t\t\t\t\toutputs,\n\t\t\t\t\tchainAgents,\n\t\t\t\t\tchainSteps,\n\t\t\t\t\ttotalSteps,\n\t\t\t\t\tdynamicChildren,\n\t\t\t\t\tdynamicGroupStatuses,\n\t\t\t\t\tcontrolConfig,\n\t\t\t\t\tonControlEvent,\n\t\t\t\t\tchildIntercomTarget,\n\t\t\t\t\torchestratorIntercomTarget,\n\t\t\t\t\tforegroundControl,\n\t\t\t\t\tnestedRoute: params.nestedRoute,\n\t\t\t\t\tworktreeSetup,\n\t\t\t\t\tmaxSubagentDepth: params.maxSubagentDepth,\n\t\t\t\t\ttimeoutMs: params.timeoutMs,\n\t\t\t\t\tdeadlineAt,\n\t\t\t\t\tturnBudget: params.turnBudget,\n\t\t\t\t\tonDetachedExit,\n\t\t\t\t\ttoolBudget: params.toolBudget,\n\t\t\t\t\tconfigToolBudget: params.configToolBudget,\n\t\t\t\t\tglobalSemaphore,\n\t\t\t\t});\n\t\t\t\tglobalTaskIndex += step.parallel.length;\n\n\t\t\t\tfor (const result of parallelResults) {\n\t\t\t\t\tresults.push(result);\n\t\t\t\t\tif (result.progress) allProgress.push(result.progress);\n\t\t\t\t\tif (result.artifactPaths) allArtifactPaths.push(result.artifactPaths);\n\t\t\t\t}\n\t\t\t\tconst interruptedIndexInStep = parallelResults.findIndex((result) => result.interrupted);\n\t\t\t\tconst interrupted = interruptedIndexInStep >= 0 ? parallelResults[interruptedIndexInStep] : undefined;\n\t\t\t\tif (interrupted) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcontent: [{ type: \"text\", text: `Chain paused after interrupt at step ${stepIndex + 1} (${interrupted.agent}). Waiting for explicit next action.` }],\n\t\t\t\t\t\tdetails: buildChainExecutionDetails(makeDetailsInput({\n\t\t\t\t\t\t\tcurrentStepIndex: stepIndex,\n\t\t\t\t\t\t\tcurrentFlatIndex: globalTaskIndex - step.parallel.length + interruptedIndexInStep,\n\t\t\t\t\t\t})),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tconst detachedIndexInStep = parallelResults.findIndex((result) => result.detached);\n\t\t\t\tconst detached = detachedIndexInStep >= 0 ? parallelResults[detachedIndexInStep] : undefined;\n\t\t\t\tif (detached) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcontent: [{ type: \"text\", text: `Chain detached for intercom coordination at step ${stepIndex + 1} (${detached.agent}). Reply to the supervisor request first, then wait with subagent_wait({ id: \"${runId}\" }). Use subagent({ action: \"status\", id: \"${runId}\" }) to recover the result; do not resume or launch a replacement while it remains detached.` }],\n\t\t\t\t\t\tdetails: buildChainExecutionDetails(makeDetailsInput({\n\t\t\t\t\t\t\tcurrentStepIndex: stepIndex,\n\t\t\t\t\t\t\tcurrentFlatIndex: globalTaskIndex - step.parallel.length + detachedIndexInStep,\n\t\t\t\t\t\t})),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst failures = parallelResults\n\t\t\t\t\t.map((result, originalIndex) => ({ ...result, originalIndex }))\n\t\t\t\t\t.filter((result) => result.exitCode !== 0 && result.exitCode !== -1);\n\t\t\t\tif (failures.length > 0) {\n\t\t\t\t\tconst failureSummary = failures\n\t\t\t\t\t\t.map((failure) => `- Task ${failure.originalIndex + 1} (${failure.agent}): ${failure.error || \"failed\"}`)\n\t\t\t\t\t\t.join(\"\\n\");\n\t\t\t\t\tconst errorMsg = `Parallel step ${stepIndex + 1} failed:\\n${failureSummary}`;\n\t\t\t\t\tconst summary = buildChainSummary(chainSteps, results, chainDir, \"failed\", {\n\t\t\t\t\t\tindex: stepIndex,\n\t\t\t\t\t\terror: errorMsg,\n\t\t\t\t\t});\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcontent: [{ type: \"text\", text: summary }],\n\t\t\t\t\t\tisError: true,\n\t\t\t\t\t\tdetails: buildChainExecutionDetails(makeDetailsInput({\n\t\t\t\t\t\t\tcurrentStepIndex: stepIndex,\n\t\t\t\t\t\t\tcurrentFlatIndex: globalTaskIndex - step.parallel.length + failures[0]!.originalIndex,\n\t\t\t\t\t\t})),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tfor (let taskIndex = 0; taskIndex < parallelResults.length; taskIndex++) {\n\t\t\t\t\tconst outputName = step.parallel[taskIndex]?.as;\n\t\t\t\t\tif (outputName) outputs[outputName] = outputEntryFromResult(parallelResults[taskIndex]!, stepIndex);\n\t\t\t\t}\n\n\t\t\t\tconst taskResults: ParallelTaskResult[] = parallelResults.map((result, i) => {\n\t\t\t\t\tconst outputTarget = parallelBehaviors[i]?.output;\n\t\t\t\t\tconst outputTargetPath = typeof outputTarget === \"string\"\n\t\t\t\t\t\t? (path.isAbsolute(outputTarget) ? outputTarget : path.join(chainDir, outputTarget))\n\t\t\t\t\t\t: undefined;\n\t\t\t\t\treturn {\n\t\t\t\t\t\tagent: result.agent,\n\t\t\t\t\t\ttaskIndex: i,\n\t\t\t\t\t\toutput: getSingleResultOutput(result),\n\t\t\t\t\t\texitCode: result.exitCode,\n\t\t\t\t\t\terror: result.error,\n\t\t\t\t\t\ttimedOut: result.timedOut,\n\t\t\t\t\t\toutputTargetPath,\n\t\t\t\t\t\toutputTargetExists: outputTargetPath ? fs.existsSync(outputTargetPath) : undefined,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\tprev = aggregateParallelOutputs(taskResults);\n\t\t\t\tprev = appendParallelWorktreeSummary(\n\t\t\t\t\tprev,\n\t\t\t\t\tworktreeSetup,\n\t\t\t\t\tpath.join(chainDir, \"worktree-diffs\", `step-${stepIndex}`),\n\t\t\t\t\tagentNames,\n\t\t\t\t);\n\t\t\t} finally {\n\t\t\t\tif (worktreeSetup) cleanupWorktrees(worktreeSetup);\n\t\t\t}\n\t\t} else if (isDynamicParallelStep(step)) {\n\t\t\tconst dynamicStartIndex = globalTaskIndex;\n\t\t\tconst reservedDynamicItems = step.expand.maxItems ?? params.dynamicFanoutMaxItems ?? 0;\n\t\t\tlet materialized: ReturnType<typeof materializeDynamicParallelStep>;\n\t\t\ttry {\n\t\t\t\tmaterialized = materializeDynamicParallelStep(step, outputs, stepIndex, { maxItems: params.dynamicFanoutMaxItems });\n\t\t\t} catch (error) {\n\t\t\t\tconst message = error instanceof DynamicFanoutError ? error.message : error instanceof Error ? error.message : String(error);\n\t\t\t\tdynamicGroupStatuses[stepIndex] = { status: \"failed\", error: message };\n\t\t\t\treturn buildChainExecutionErrorResult(message, makeDetailsInput({ currentStepIndex: stepIndex, currentFlatIndex: globalTaskIndex }));\n\t\t\t}\n\n\t\t\tdynamicChildren[stepIndex] = materialized.items.map((item, itemIndex) => ({\n\t\t\t\tagent: step.parallel.agent,\n\t\t\t\tlabel: materialized.parallel[itemIndex]?.label,\n\t\t\t\tflatIndex: globalTaskIndex + itemIndex,\n\t\t\t\titemKey: item.key,\n\t\t\t\tstructured: Boolean(step.parallel.outputSchema),\n\t\t\t}));\n\n\t\t\tif (materialized.parallel.length === 0) {\n\t\t\t\tconst collection: DynamicCollectedResult[] = [];\n\t\t\t\ttry {\n\t\t\t\t\tvalidateDynamicCollection(step.collect.outputSchema, collection);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconst message = error instanceof DynamicFanoutError ? error.message : error instanceof Error ? error.message : String(error);\n\t\t\t\t\tdynamicGroupStatuses[stepIndex] = { status: \"failed\", error: message };\n\t\t\t\t\treturn buildChainExecutionErrorResult(message, makeDetailsInput({ currentStepIndex: stepIndex, currentFlatIndex: globalTaskIndex }));\n\t\t\t\t}\n\t\t\t\toutputs[step.collect.as] = {\n\t\t\t\t\ttext: JSON.stringify(collection),\n\t\t\t\t\tstructured: collection,\n\t\t\t\t\tagent: step.parallel.agent,\n\t\t\t\t\tstepIndex,\n\t\t\t\t};\n\t\t\t\tdynamicGroupStatuses[stepIndex] = { status: \"completed\" };\n\t\t\t\tif (step.acceptance !== undefined) {\n\t\t\t\t\tconst effectiveGroupAcceptance = resolveEffectiveAcceptance({\n\t\t\t\t\t\texplicit: step.acceptance,\n\t\t\t\t\t\tagentName: step.parallel.agent,\n\t\t\t\t\t\tacceptanceRole: agents.find((agent) => agent.name === step.parallel.agent)?.acceptanceRole,\n\t\t\t\t\t\ttask: (step.parallel.task ?? originalTask ?? \"\").replace(/\\{task\\}/g, originalTask ?? \"\"),\n\t\t\t\t\t\tmode: \"chain\",\n\t\t\t\t\t\tdynamicGroup: true,\n\t\t\t\t\t});\n\t\t\t\t\tconst groupAcceptance = await evaluateAcceptance({\n\t\t\t\t\t\tacceptance: effectiveGroupAcceptance,\n\t\t\t\t\t\toutput: \"\",\n\t\t\t\t\t\treport: aggregateAcceptanceReport({\n\t\t\t\t\t\t\tresults: [],\n\t\t\t\t\t\t\tnotes: \"Dynamic fanout produced 0 results.\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tcwd: cwd ?? ctx.cwd,\n\t\t\t\t\t});\n\t\t\t\t\tdynamicGroupStatuses[stepIndex].acceptance = groupAcceptance;\n\t\t\t\t\tconst groupAcceptanceFailure = acceptanceFailureMessage(groupAcceptance);\n\t\t\t\t\tif (groupAcceptanceFailure) {\n\t\t\t\t\t\tdynamicGroupStatuses[stepIndex] = { status: \"failed\", error: groupAcceptanceFailure, acceptance: groupAcceptance };\n\t\t\t\t\t\treturn buildChainExecutionErrorResult(groupAcceptanceFailure, makeDetailsInput({ currentStepIndex: stepIndex, currentFlatIndex: globalTaskIndex }));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tprev = \"Dynamic fanout produced 0 results.\";\n\t\t\t\tglobalTaskIndex = dynamicStartIndex + reservedDynamicItems;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst dynamicParallelStep: ParallelStep = {\n\t\t\t\tparallel: materialized.parallel,\n\t\t\t\tconcurrency: step.concurrency,\n\t\t\t\tfailFast: step.failFast,\n\t\t\t};\n\t\t\tconst parallelTemplates = materialized.parallel.map((task) => task.task ?? \"{previous}\");\n\t\t\tconst parallelBehaviors = resolveParallelBehaviors(dynamicParallelStep.parallel, agents, stepIndex, chainSkills)\n\t\t\t\t.map((behavior, taskIndex) => suppressProgressForReadOnlyTask(behavior, parallelTemplates[taskIndex] ?? dynamicParallelStep.parallel[taskIndex]?.task, originalTask));\n\n\t\t\tfor (let taskIndex = 0; taskIndex < dynamicParallelStep.parallel.length; taskIndex++) {\n\t\t\t\tconst behavior = parallelBehaviors[taskIndex]!;\n\t\t\t\tconst outputPath = typeof behavior.output === \"string\"\n\t\t\t\t\t? (path.isAbsolute(behavior.output) ? behavior.output : path.join(chainDir, behavior.output))\n\t\t\t\t\t: undefined;\n\t\t\t\tconst validationError = validateFileOnlyOutputMode(behavior.outputMode, outputPath, `Dynamic chain step ${stepIndex + 1} item ${taskIndex + 1} (${dynamicParallelStep.parallel[taskIndex]!.agent})`);\n\t\t\t\tif (validationError) {\n\t\t\t\t\tdynamicGroupStatuses[stepIndex] = { status: \"failed\", error: validationError };\n\t\t\t\t\treturn buildChainExecutionErrorResult(validationError, makeDetailsInput({ currentStepIndex: stepIndex, currentFlatIndex: globalTaskIndex + taskIndex }));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tprogressCreated = ensureParallelProgressFile(chainDir, progressCreated, parallelBehaviors);\n\t\t\tcreateParallelDirs(chainDir, stepIndex, dynamicParallelStep.parallel.length, dynamicParallelStep.parallel.map((task) => task.agent));\n\t\t\tconst parallelResults = await runParallelChainTasks({\n\t\t\t\tstep: dynamicParallelStep,\n\t\t\t\tparallelTemplates,\n\t\t\t\tparallelBehaviors,\n\t\t\t\tagents,\n\t\t\t\tstepIndex,\n\t\t\t\tavailableModels,\n\t\t\t\tmodelScope,\n\t\t\t\tchainDir,\n\t\t\t\tprev,\n\t\t\t\toriginalTask,\n\t\t\t\tctx,\n\t\t\t\tintercomEvents,\n\t\t\t\tcwd,\n\t\t\t\trunId,\n\t\t\t\tglobalTaskIndex,\n\t\t\t\tsessionDirForIndex,\n\t\t\t\tsessionFileForIndex,\n\t\t\t\tsessionFileForTask,\n\t\t\t\tthinkingOverrideForTask,\n\t\t\t\tshareEnabled,\n\t\t\t\tartifactConfig,\n\t\t\t\tartifactsDir,\n\t\t\t\tsignal,\n\t\t\t\tonUpdate,\n\t\t\t\tresults,\n\t\t\t\tallProgress,\n\t\t\t\toutputs,\n\t\t\t\tchainAgents,\n\t\t\t\tchainSteps,\n\t\t\t\ttotalSteps,\n\t\t\t\tdynamicChildren,\n\t\t\t\tdynamicGroupStatuses,\n\t\t\t\tcontrolConfig,\n\t\t\t\tonControlEvent,\n\t\t\t\tchildIntercomTarget,\n\t\t\t\torchestratorIntercomTarget,\n\t\t\t\tforegroundControl,\n\t\t\t\tnestedRoute: params.nestedRoute,\n\t\t\t\tmaxSubagentDepth: params.maxSubagentDepth,\n\t\t\t\ttimeoutMs: params.timeoutMs,\n\t\t\t\tdeadlineAt,\n\t\t\t\tturnBudget: params.turnBudget,\n\t\t\t\tonDetachedExit,\n\t\t\t\ttoolBudget: params.toolBudget,\n\t\t\t\tconfigToolBudget: params.configToolBudget,\n\t\t\t\tglobalSemaphore,\n\t\t\t\tdynamic: true,\n\t\t\t});\n\t\t\tglobalTaskIndex = dynamicStartIndex + reservedDynamicItems;\n\n\t\t\tfor (const result of parallelResults) {\n\t\t\t\tresults.push(result);\n\t\t\t\tif (result.progress) allProgress.push(result.progress);\n\t\t\t\tif (result.artifactPaths) allArtifactPaths.push(result.artifactPaths);\n\t\t\t}\n\t\t\tconst collected = collectDynamicResults(step, materialized.items, parallelResults);\n\t\t\tconst interruptedIndexInStep = parallelResults.findIndex((result) => result.interrupted);\n\t\t\tconst interrupted = interruptedIndexInStep >= 0 ? parallelResults[interruptedIndexInStep] : undefined;\n\t\t\tif (interrupted) {\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: `Chain paused after interrupt at step ${stepIndex + 1} (${interrupted.agent}). Waiting for explicit next action.` }],\n\t\t\t\t\tdetails: buildChainExecutionDetails(makeDetailsInput({\n\t\t\t\t\t\tcurrentStepIndex: stepIndex,\n\t\t\t\t\t\tcurrentFlatIndex: dynamicStartIndex + interruptedIndexInStep,\n\t\t\t\t\t})),\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst detachedIndexInStep = parallelResults.findIndex((result) => result.detached);\n\t\t\tconst detached = detachedIndexInStep >= 0 ? parallelResults[detachedIndexInStep] : undefined;\n\t\t\tif (detached) {\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: `Chain detached for intercom coordination at step ${stepIndex + 1} (${detached.agent}). Reply to the supervisor request first, then wait with subagent_wait({ id: \"${runId}\" }). Use subagent({ action: \"status\", id: \"${runId}\" }) to recover the result; do not resume or launch a replacement while it remains detached.` }],\n\t\t\t\t\tdetails: buildChainExecutionDetails(makeDetailsInput({\n\t\t\t\t\t\tcurrentStepIndex: stepIndex,\n\t\t\t\t\t\tcurrentFlatIndex: dynamicStartIndex + detachedIndexInStep,\n\t\t\t\t\t})),\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst failures = parallelResults\n\t\t\t\t.map((result, originalIndex) => ({ ...result, originalIndex }))\n\t\t\t\t.filter((result) => result.exitCode !== 0 && result.exitCode !== -1);\n\t\t\tif (failures.length > 0) {\n\t\t\t\tconst failureSummary = failures\n\t\t\t\t\t.map((failure) => `- Item ${failure.originalIndex + 1} (${failure.agent}, key ${materialized.items[failure.originalIndex]?.key ?? failure.originalIndex}): ${failure.error || \"failed\"}`)\n\t\t\t\t\t.join(\"\\n\");\n\t\t\t\tconst errorMsg = `Dynamic step ${stepIndex + 1} failed:\\n${failureSummary}`;\n\t\t\t\tdynamicGroupStatuses[stepIndex] = { status: \"failed\", error: errorMsg };\n\t\t\t\tconst summary = buildChainSummary(chainSteps, results, chainDir, \"failed\", {\n\t\t\t\t\tindex: stepIndex,\n\t\t\t\t\terror: errorMsg,\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: summary }],\n\t\t\t\t\tisError: true,\n\t\t\t\t\tdetails: buildChainExecutionDetails(makeDetailsInput({\n\t\t\t\t\t\tcurrentStepIndex: stepIndex,\n\t\t\t\t\t\tcurrentFlatIndex: dynamicStartIndex + failures[0]!.originalIndex,\n\t\t\t\t\t})),\n\t\t\t\t};\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tvalidateDynamicCollection(step.collect.outputSchema, collected);\n\t\t\t} catch (error) {\n\t\t\t\tconst message = error instanceof DynamicFanoutError ? error.message : error instanceof Error ? error.message : String(error);\n\t\t\t\tdynamicGroupStatuses[stepIndex] = { status: \"failed\", error: message };\n\t\t\t\treturn buildChainExecutionErrorResult(message, makeDetailsInput({ currentStepIndex: stepIndex, currentFlatIndex: dynamicStartIndex }));\n\t\t\t}\n\t\t\toutputs[step.collect.as] = {\n\t\t\t\ttext: JSON.stringify(collected),\n\t\t\t\tstructured: collected,\n\t\t\t\tagent: step.parallel.agent,\n\t\t\t\tstepIndex,\n\t\t\t};\n\t\t\tdynamicGroupStatuses[stepIndex] = { status: \"completed\" };\n\t\t\tconst effectiveGroupAcceptance = resolveEffectiveAcceptance({\n\t\t\t\texplicit: step.acceptance,\n\t\t\t\tagentName: step.parallel.agent,\n\t\t\t\tacceptanceRole: agents.find((agent) => agent.name === step.parallel.agent)?.acceptanceRole,\n\t\t\t\ttask: materialized.parallel\n\t\t\t\t\t.map((task) => (task.task ?? originalTask ?? \"\").replace(/\\{task\\}/g, originalTask ?? \"\"))\n\t\t\t\t\t.join(\"\\n\"),\n\t\t\t\tmode: \"chain\",\n\t\t\t\tdynamicGroup: true,\n\t\t\t});\n\t\t\tconst groupAcceptance = await evaluateAcceptance({\n\t\t\t\tacceptance: effectiveGroupAcceptance,\n\t\t\t\toutput: \"\",\n\t\t\t\treport: aggregateAcceptanceReport({\n\t\t\t\t\tresults: parallelResults,\n\t\t\t\t\tnotes: `Dynamic fanout collected ${collected.length} result(s) into ${step.collect.as}.`,\n\t\t\t\t}),\n\t\t\t\tcwd: cwd ?? ctx.cwd,\n\t\t\t});\n\t\t\tdynamicGroupStatuses[stepIndex].acceptance = groupAcceptance;\n\t\t\tconst groupAcceptanceFailure = effectiveGroupAcceptance.explicit ? acceptanceFailureMessage(groupAcceptance) : undefined;\n\t\t\tif (groupAcceptanceFailure) {\n\t\t\t\tdynamicGroupStatuses[stepIndex] = { status: \"failed\", error: groupAcceptanceFailure, acceptance: groupAcceptance };\n\t\t\t\treturn buildChainExecutionErrorResult(groupAcceptanceFailure, makeDetailsInput({ currentStepIndex: stepIndex, currentFlatIndex: globalTaskIndex - dynamicParallelStep.parallel.length }));\n\t\t\t}\n\t\t\tconst taskResults: ParallelTaskResult[] = parallelResults.map((result, i) => ({\n\t\t\t\tagent: result.agent,\n\t\t\t\ttaskIndex: i,\n\t\t\t\toutput: getSingleResultOutput(result),\n\t\t\t\texitCode: result.exitCode,\n\t\t\t\terror: result.error,\n\t\t\t\ttimedOut: result.timedOut,\n\t\t\t}));\n\t\t\tprev = aggregateParallelOutputs(taskResults, (i, agent) => `=== Dynamic Item ${i + 1} (${agent}, key ${materialized.items[i]?.key ?? i}) ===`);\n\t\t} else {\n\t\t\tconst seqStep = step as SequentialStep;\n\t\t\tconst stepTemplate = stepTemplates as string;\n\n\t\t\tconst agentConfig = agents.find((a) => a.name === seqStep.agent);\n\t\t\tif (!agentConfig) {\n\t\t\t\tremoveChainDir(chainDir);\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: `Unknown agent: ${seqStep.agent}` }],\n\t\t\t\t\tisError: true,\n\t\t\t\t\tdetails: buildChainExecutionDetails(makeDetailsInput({ currentStepIndex: stepIndex, currentFlatIndex: globalTaskIndex })),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst tuiOverride = tuiBehaviorOverrides?.[stepIndex];\n\t\t\tconst stepOverride: StepOverrides = {\n\t\t\t\toutput: tuiOverride?.output !== undefined ? tuiOverride.output : seqStep.output,\n\t\t\t\toutputMode: seqStep.outputMode,\n\t\t\t\treads: tuiOverride?.reads !== undefined ? tuiOverride.reads : seqStep.reads,\n\t\t\t\tprogress: tuiOverride?.progress !== undefined ? tuiOverride.progress : seqStep.progress,\n\t\t\t\tskills:\n\t\t\t\t\ttuiOverride?.skills !== undefined\n\t\t\t\t\t\t? tuiOverride.skills\n\t\t\t\t\t\t: normalizeSkillInput(seqStep.skill),\n\t\t\t};\n\t\t\tconst behavior = suppressProgressForReadOnlyTask(resolveStepBehavior(agentConfig, stepOverride, chainSkills), stepTemplate, originalTask);\n\n\t\t\tconst isFirstProgress = behavior.progress && !progressCreated;\n\t\t\tif (isFirstProgress) {\n\t\t\t\tprogressCreated = true;\n\t\t\t}\n\n\t\t\tconst templateHasPrevious = stepTemplate.includes(\"{previous}\");\n\t\t\tconst { prefix, suffix } = buildChainInstructions(\n\t\t\t\t{ ...behavior, output: false },\n\t\t\t\tchainDir,\n\t\t\t\tisFirstProgress,\n\t\t\t\ttemplateHasPrevious ? undefined : prev,\n\t\t\t);\n\n\t\t\tlet stepTask = resolveOutputReferences(stepTemplate, outputs);\n\t\t\tstepTask = stepTask.replace(/\\{task\\}/g, originalTask);\n\t\t\tstepTask = stepTask.replace(/\\{previous\\}/g, prev);\n\t\t\tstepTask = stepTask.replace(/\\{chain_dir\\}/g, chainDir);\n\t\t\tconst cleanTask = stepTask;\n\t\t\tstepTask = prefix + stepTask + suffix;\n\n\t\t\t// lunr: model tiers — explicit step model wins; otherwise resolve seqStep.tier via the tier bridge.\n\t\t\tconst explicitStepModel = tuiOverride?.model ?? seqStep.model ?? resolveTierModelOverride(seqStep.tier);\n\t\t\tconst effectiveModel = resolveEffectiveSubagentModel(\n\t\t\t\texplicitStepModel,\n\t\t\t\tagentConfig.model,\n\t\t\t\tctx.model,\n\t\t\t\tavailableModels,\n\t\t\t\tctx.model?.provider,\n\t\t\t\t{ scope: modelScope },\n\t\t\t);\n\n\t\t\tconst outputPath = typeof behavior.output === \"string\"\n\t\t\t\t? (path.isAbsolute(behavior.output) ? behavior.output : path.join(chainDir, behavior.output))\n\t\t\t\t: undefined;\n\t\t\tstepTask = injectSingleOutputInstruction(stepTask, outputPath, agentConfig);\n\t\t\tconst validationError = validateFileOnlyOutputMode(behavior.outputMode, outputPath, `Chain step ${stepIndex + 1} (${seqStep.agent})`);\n\t\t\tif (validationError) {\n\t\t\t\treturn buildChainExecutionErrorResult(validationError, makeDetailsInput({ currentStepIndex: stepIndex, currentFlatIndex: globalTaskIndex }));\n\t\t\t}\n\t\t\tconst maxSubagentDepth = resolveChildMaxSubagentDepth(params.maxSubagentDepth, agentConfig.maxSubagentDepth);\n\t\t\tconst childIndex = globalTaskIndex;\n\t\t\tconst interruptController = new AbortController();\n\t\t\tif (foregroundControl) {\n\t\t\t\tforegroundControl.currentAgent = seqStep.agent;\n\t\t\t\tforegroundControl.currentIndex = childIndex;\n\t\t\t\tforegroundControl.currentActivityState = undefined;\n\t\t\t\tforegroundControl.updatedAt = Date.now();\n\t\t\t\tforegroundControl.interrupt = () => {\n\t\t\t\t\tif (interruptController.signal.aborted) return false;\n\t\t\t\t\tinterruptController.abort();\n\t\t\t\t\tforegroundControl.currentActivityState = undefined;\n\t\t\t\t\tforegroundControl.updatedAt = Date.now();\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst structuredRuntime = seqStep.outputSchema\n\t\t\t\t? createStructuredOutputRuntime(seqStep.outputSchema, path.join(chainDir, \"structured-output\"))\n\t\t\t\t: undefined;\n\t\t\tconst toolBudget = resolveChainToolBudget({ stepBudget: seqStep.toolBudget, runBudget: params.toolBudget, agentBudget: agentConfig?.toolBudget, configBudget: params.configToolBudget });\n\t\t\tif (toolBudget.error) return buildChainExecutionErrorResult(toolBudget.error, {\n\t\t\t\tresults,\n\t\t\t\tincludeProgress,\n\t\t\t\tallProgress,\n\t\t\t\tallArtifactPaths,\n\t\t\t\tartifactsDir: params.artifactsDir,\n\t\t\t\tchainAgents,\n\t\t\t\tchainSteps,\n\t\t\t\ttotalSteps,\n\t\t\t\tcurrentStepIndex: stepIndex,\n\t\t\t\trunId: params.runId,\n\t\t\t\toutputs,\n\t\t\t\tcurrentFlatIndex: globalTaskIndex,\n\t\t\t\tdynamicChildren,\n\t\t\t\tdynamicGroupStatuses,\n\t\t\t});\n\t\t\tconst r = await runSync(ctx.cwd, agents, seqStep.agent, stepTask, {\n\t\t\t\tparentSessionId: ctx.sessionManager.getSessionId() ?? undefined,\n\t\t\t\tcwd: resolveChildCwd(cwd ?? ctx.cwd, seqStep.cwd),\n\t\t\t\tsignal,\n\t\t\t\tinterruptSignal: interruptController.signal,\n\t\t\t\tallowIntercomDetach: agentConfig.systemPrompt?.includes(INTERCOM_BRIDGE_MARKER) === true,\n\t\t\t\tintercomEvents,\n\t\t\t\trunId,\n\t\t\t\tindex: childIndex,\n\t\t\t\tsessionDir: sessionDirForIndex(childIndex),\n\t\t\t\tsessionFile: sessionFileForTask?.(seqStep.agent, childIndex, effectiveModel)\n\t\t\t\t\t?? sessionFileForIndex?.(childIndex),\n\t\t\t\tthinkingOverride: thinkingOverrideForTask?.(seqStep.agent, childIndex, effectiveModel),\n\t\t\t\tshare: shareEnabled,\n\t\t\t\tartifactsDir: artifactConfig.enabled ? artifactsDir : undefined,\n\t\t\t\tartifactConfig,\n\t\t\t\toutputPath,\n\t\t\t\toutputMode: behavior.outputMode,\n\t\t\t\tmaxSubagentDepth,\n\t\t\t\tcontrolConfig,\n\t\t\t\tonControlEvent,\n\t\t\t\tintercomSessionName: childIntercomTarget?.(seqStep.agent, childIndex),\n\t\t\t\torchestratorIntercomTarget,\n\t\t\t\tnestedRoute: params.nestedRoute,\n\t\t\t\tmodelOverride: effectiveModel,\n\t\t\t\tavailableModels,\n\t\t\t\tpreferredModelProvider: ctx.model?.provider,\n\t\t\t\tmodelScope,\n\t\t\t\tskills: behavior.skills === false ? [] : behavior.skills,\n\t\t\t\tstructuredOutput: structuredRuntime,\n\t\t\t\tacceptance: seqStep.acceptance,\n\t\t\t\tacceptanceContext: { mode: \"chain\" },\n\t\t\t\ttimeoutMs: params.timeoutMs,\n\t\t\t\tdeadlineAt,\n\t\t\t\tturnBudget: params.turnBudget,\n\t\t\t\tonDetachedExit: onDetachedExit\n\t\t\t\t\t? (result) => onDetachedExit(childIndex, result)\n\t\t\t\t\t: undefined,\n\t\t\t\ttoolBudget: toolBudget.toolBudget,\n\t\t\t\tonUpdate: onUpdate\n\t\t\t\t\t? (p) => {\n\t\t\t\t\t\tconst stepResults = p.details?.results || [];\n\t\t\t\t\t\tconst stepProgress = p.details?.progress || [];\n\t\t\t\t\t\tif (foregroundControl && stepProgress.length > 0) {\n\t\t\t\t\t\t\tconst current = stepProgress[0];\n\t\t\t\t\t\t\tforegroundControl.currentAgent = seqStep.agent;\n\t\t\t\t\t\t\tforegroundControl.currentIndex = childIndex;\n\t\t\t\t\t\t\tforegroundControl.currentActivityState = current?.activityState;\n\t\t\t\t\t\t\tforegroundControl.lastActivityAt = current?.lastActivityAt;\n\t\t\t\t\t\t\tforegroundControl.currentTool = current?.currentTool;\n\t\t\t\t\t\t\tforegroundControl.currentToolStartedAt = current?.currentToolStartedAt;\n\t\t\t\t\t\t\tforegroundControl.currentPath = current?.currentPath;\n\t\t\t\t\t\t\tforegroundControl.turnCount = current?.turnCount;\n\t\t\t\t\t\t\tforegroundControl.tokens = current?.tokens;\n\t\t\t\t\t\t\tforegroundControl.toolCount = current?.toolCount;\n\t\t\t\t\t\t\tforegroundControl.updatedAt = Date.now();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUpdate({\n\t\t\t\t\t\t\t...p,\n\t\t\t\t\t\t\tdetails: {\n\t\t\t\t\t\t\t\tmode: \"chain\",\n\t\t\t\t\t\t\t\tresults: results.concat(stepResults),\n\t\t\t\t\t\t\t\tprogress: allProgress.concat(stepProgress),\n\t\t\t\t\t\t\t\tcontrolEvents: p.details?.controlEvents,\n\t\t\t\t\t\t\t\tchainAgents,\n\t\t\t\t\t\t\t\ttotalSteps,\n\t\t\t\t\t\t\t\tcurrentStepIndex: stepIndex,\n\t\t\t\t\t\t\t\toutputs,\n\t\t\t\t\t\t\t\tworkflowGraph: buildWorkflowGraphSnapshot({\n\t\t\t\t\t\t\t\t\trunId,\n\t\t\t\t\t\t\t\t\tmode: \"chain\",\n\t\t\t\t\t\t\t\t\tsteps: chainSteps,\n\t\t\t\t\t\t\t\t\tresults: results.concat(stepResults),\n\t\t\t\t\t\t\t\t\tcurrentStepIndex: stepIndex,\n\t\t\t\t\t\t\t\t\tcurrentFlatIndex: childIndex,\n\t\t\t\t\t\t\t\t\tdynamicChildren,\n\t\t\t\t\t\t\t\t\tdynamicGroupStatuses,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t: undefined,\n\t\t\t});\n\t\t\tif (foregroundControl?.currentIndex === childIndex) {\n\t\t\t\tforegroundControl.interrupt = undefined;\n\t\t\t\tforegroundControl.updatedAt = Date.now();\n\t\t\t}\n\t\t\trecordRun(seqStep.agent, cleanTask, r.exitCode, r.progressSummary?.durationMs ?? 0);\n\n\t\t\tglobalTaskIndex++;\n\t\t\tresults.push(r);\n\t\t\tif (r.progress) allProgress.push(r.progress);\n\t\t\tif (r.artifactPaths) allArtifactPaths.push(r.artifactPaths);\n\n\t\t\tif (r.interrupted) {\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: `Chain paused after interrupt at step ${stepIndex + 1} (${r.agent}). Waiting for explicit next action.` }],\n\t\t\t\t\tdetails: buildChainExecutionDetails(makeDetailsInput({ currentStepIndex: stepIndex, currentFlatIndex: childIndex })),\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (r.detached) {\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: `Chain detached for intercom coordination at step ${stepIndex + 1} (${r.agent}). Reply to the supervisor request first, then wait with subagent_wait({ id: \"${runId}\" }). Use subagent({ action: \"status\", id: \"${runId}\" }) to recover the result; do not resume or launch a replacement while it remains detached.` }],\n\t\t\t\t\tdetails: buildChainExecutionDetails(makeDetailsInput({ currentStepIndex: stepIndex, currentFlatIndex: childIndex })),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (r.exitCode !== 0) {\n\t\t\t\tconst summary = buildChainSummary(chainSteps, results, chainDir, \"failed\", {\n\t\t\t\t\tindex: stepIndex,\n\t\t\t\t\terror: r.error || \"Chain failed\",\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: summary }],\n\t\t\t\t\tdetails: buildChainExecutionDetails(makeDetailsInput({ currentStepIndex: stepIndex, currentFlatIndex: childIndex })),\n\t\t\t\t\tisError: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (behavior.output) {\n\t\t\t\ttry {\n\t\t\t\t\tconst expectedPath = path.isAbsolute(behavior.output)\n\t\t\t\t\t\t? behavior.output\n\t\t\t\t\t\t: path.join(chainDir, behavior.output);\n\t\t\t\t\tif (!fs.existsSync(expectedPath)) {\n\t\t\t\t\t\tconst dirFiles = fs.readdirSync(chainDir);\n\t\t\t\t\t\tconst mdFiles = dirFiles.filter((file) => file.endsWith(\".md\") && file !== \"progress.md\");\n\t\t\t\t\t\tconst warning = mdFiles.length > 0\n\t\t\t\t\t\t\t? `Agent wrote to different file(s): ${mdFiles.join(\", \")} instead of ${behavior.output}`\n\t\t\t\t\t\t\t: `Agent did not create expected output file: ${behavior.output}`;\n\t\t\t\t\t\tr.error = r.error ? `${r.error}\\n${warning}` : warning;\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\t// Ignore validation errors; this diagnostic should not mask successful chain output.\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (seqStep.as) outputs[seqStep.as] = outputEntryFromResult(r, stepIndex);\n\t\t\tprev = getSingleResultOutput(r);\n\t\t}\n\t}\n\n\tconst summary = buildChainSummary(chainSteps, results, chainDir, \"completed\");\n\n\treturn {\n\t\tcontent: [{ type: \"text\", text: summary }],\n\t\tdetails: buildChainExecutionDetails(makeDetailsInput()),\n\t};\n}\n"]}
|