@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":"spawn.js","sourceRoot":"","sources":["../../../../src/builtin-extensions/pi-intercom/broker/spawn.ts"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport { spawn } from \"child_process\";\nimport { existsSync, readFileSync, unlinkSync, writeFileSync } from \"fs\";\nimport { join, dirname } from \"path\";\nimport { fileURLToPath } from \"url\";\nimport { createRequire } from \"module\";\nimport net from \"net\";\nimport { randomUUID } from \"crypto\";\nimport { createMessageReader, writeMessage } from \"./framing.ts\";\nimport {\n ensureIntercomRuntimeDir,\n getAgentDirPath,\n getBrokerConnectTarget,\n getIntercomDirPath,\n INTERCOM_PROTOCOL_NAME,\n INTERCOM_PROTOCOL_VERSION,\n INTERCOM_RUNTIME_FILE_MODE,\n restrictIntercomRuntimeFile,\n type BrokerConnectTarget,\n} from \"./paths.ts\";\n\nconst INTERCOM_DIR = getIntercomDirPath();\nconst EXTENSION_DIR = join(dirname(fileURLToPath(import.meta.url)), \"..\");\nconst BROKER_PID = join(INTERCOM_DIR, \"broker.pid\");\nconst BROKER_SPAWN_LOCK = join(INTERCOM_DIR, \"broker.spawn.lock\");\n\ntype BrokerLaunchSpec =\n | {\n kind: \"direct\";\n command: string;\n args: string[];\n }\n | {\n kind: \"windows-launcher\";\n command: string;\n args: string[];\n launcherPath: string;\n launcherCommandLine: string;\n };\n\nfunction sleep(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n\nexport function getTsxCliPath(extensionDir: string = EXTENSION_DIR): string {\n // Resolve tsx via Node's module resolution so it works regardless of whether\n // tsx is bundled under extensionDir/node_modules or hoisted to a workspace\n // root by npm. We resolve the tsx package main entry (its \"exports\" field\n // does not expose ./dist/cli.mjs as a subpath) and then locate cli.mjs next\n // to it. Falls back to the legacy relative path if resolution fails.\n try {\n const requireFromExtension = createRequire(import.meta.url);\n const tsxMain = requireFromExtension.resolve(\"tsx\");\n return join(dirname(tsxMain), \"cli.mjs\");\n } catch {\n return join(extensionDir, \"node_modules\", \"tsx\", \"dist\", \"cli.mjs\");\n }\n}\n\nfunction quoteWindowsArg(value: string): string {\n return `\"${value.replace(/\"/g, '\"\"')}\"`;\n}\n\nexport function getWindowsHiddenLauncherPath(intercomDir: string = INTERCOM_DIR): string {\n return join(intercomDir, \"broker-launch.vbs\");\n}\n\nfunction usesDefaultBrokerCommand(brokerCommand: string, brokerArgs: string[]): boolean {\n return brokerCommand === \"npx\"\n && brokerArgs.length === 2\n && brokerArgs[0] === \"--no-install\"\n && brokerArgs[1] === \"tsx\";\n}\n\nexport function getWindowsBrokerCommandLine(\n brokerPath: string,\n extensionDir: string = EXTENSION_DIR,\n nodePath: string = process.execPath,\n brokerCommand = \"npx\",\n brokerArgs: string[] = [\"--no-install\", \"tsx\"],\n): string {\n if (usesDefaultBrokerCommand(brokerCommand, brokerArgs)) {\n return [quoteWindowsArg(nodePath), quoteWindowsArg(getTsxCliPath(extensionDir)), quoteWindowsArg(brokerPath)].join(\" \");\n }\n\n return [quoteWindowsArg(brokerCommand), ...brokerArgs.map(quoteWindowsArg), quoteWindowsArg(brokerPath)].join(\" \");\n}\n\nexport function getWindowsHiddenLauncherScript(commandLine: string): string {\n return [\n 'Set WshShell = CreateObject(\"WScript.Shell\")',\n `WshShell.Run \"${commandLine.replace(/\"/g, '\"\"')}\", 0, False`,\n 'Set WshShell = Nothing',\n '',\n ].join(\"\\r\\n\");\n}\n\nexport function isBrokerHealthOkMessage(message: unknown, requestId: string): boolean {\n if (typeof message !== \"object\" || message === null || !(\"type\" in message)) {\n return false;\n }\n const response = message as Record<string, unknown>;\n return response.type === \"health_ok\"\n && response.requestId === requestId\n && response.protocol === INTERCOM_PROTOCOL_NAME\n && response.version === INTERCOM_PROTOCOL_VERSION;\n}\n\nfunction writeWindowsHiddenLauncher(\n commandLine: string,\n launcherPath: string = getWindowsHiddenLauncherPath(),\n): string {\n ensureIntercomRuntimeDir(dirname(launcherPath));\n writeFileSync(launcherPath, getWindowsHiddenLauncherScript(commandLine), {\n encoding: \"utf-8\",\n mode: INTERCOM_RUNTIME_FILE_MODE,\n });\n restrictIntercomRuntimeFile(launcherPath);\n return launcherPath;\n}\n\nexport function getBrokerLaunchSpec(\n brokerPath: string,\n brokerCommand: string,\n brokerArgs: string[],\n extensionDir: string = EXTENSION_DIR,\n platform: NodeJS.Platform = process.platform,\n intercomDir: string = INTERCOM_DIR,\n nodePath: string = process.execPath,\n): BrokerLaunchSpec {\n if (platform === \"win32\") {\n const launcherPath = getWindowsHiddenLauncherPath(intercomDir);\n return {\n kind: \"windows-launcher\",\n command: \"wscript.exe\",\n args: [launcherPath],\n launcherPath,\n launcherCommandLine: getWindowsBrokerCommandLine(brokerPath, extensionDir, nodePath, brokerCommand, brokerArgs),\n };\n }\n\n if (usesDefaultBrokerCommand(brokerCommand, brokerArgs)) {\n return {\n kind: \"direct\",\n command: nodePath,\n args: [getTsxCliPath(extensionDir), brokerPath],\n };\n }\n\n return {\n kind: \"direct\",\n command: brokerCommand,\n args: [...brokerArgs, brokerPath],\n };\n}\n\nexport function getBrokerSpawnOptions(\n extensionDir: string = EXTENSION_DIR,\n env: NodeJS.ProcessEnv = process.env,\n): {\n detached: true;\n stdio: \"ignore\";\n cwd: string;\n env: NodeJS.ProcessEnv;\n windowsHide: true;\n} {\n return {\n detached: true,\n stdio: \"ignore\",\n cwd: extensionDir,\n env: { ...env, PI_CODING_AGENT_DIR: getAgentDirPath(env), NODE_NO_WARNINGS: \"1\" },\n windowsHide: true,\n };\n}\n\nfunction toError(error: unknown): Error {\n return error instanceof Error ? error : new Error(String(error));\n}\n\nexport async function spawnBrokerIfNeeded(brokerCommand: string, brokerArgs: string[]): Promise<void> {\n ensureIntercomRuntimeDir(INTERCOM_DIR);\n\n if (await isBrokerRunning()) {\n return;\n }\n\n const ownsLock = acquireSpawnLock();\n if (!ownsLock) {\n await waitForBroker();\n return;\n }\n\n try {\n if (await isBrokerRunning()) {\n return;\n }\n\n const brokerPath = join(dirname(fileURLToPath(import.meta.url)), \"broker.ts\");\n const launch = getBrokerLaunchSpec(brokerPath, brokerCommand, brokerArgs);\n if (launch.kind === \"windows-launcher\") {\n writeWindowsHiddenLauncher(launch.launcherCommandLine, launch.launcherPath);\n }\n const child = spawn(launch.command, launch.args, getBrokerSpawnOptions());\n child.unref();\n\n await new Promise<void>((resolve, reject) => {\n const cleanup = () => {\n child.off(\"error\", onError);\n child.off(\"exit\", onExit);\n };\n\n const onError = (error: Error) => {\n cleanup();\n reject(new Error(`Failed to spawn intercom broker: ${error.message}`, { cause: error }));\n };\n\n const onExit = (code: number | null, signal: NodeJS.Signals | null) => {\n if (launch.kind === \"windows-launcher\" && code === 0 && signal === null) {\n return;\n }\n cleanup();\n if (signal) {\n reject(new Error(`Intercom broker exited before startup with signal ${signal}`));\n return;\n }\n reject(new Error(`Intercom broker exited before startup with code ${code ?? \"unknown\"}`));\n };\n\n child.once(\"error\", onError);\n child.once(\"exit\", onExit);\n waitForBroker().then(() => {\n cleanup();\n resolve();\n }, (error) => {\n cleanup();\n reject(toError(error));\n });\n });\n } finally {\n releaseSpawnLock();\n }\n}\n\nasync function isBrokerRunning(): Promise<boolean> {\n if (await checkSocketConnectable()) {\n return true;\n }\n\n if (!existsSync(BROKER_PID)) return false;\n\n try {\n const pid = parseInt(readFileSync(BROKER_PID, \"utf-8\").trim(), 10);\n if (!Number.isFinite(pid)) return false;\n process.kill(pid, 0);\n return checkSocketConnectable();\n } catch {\n // Missing or unreadable PID state means there is no live broker to reuse.\n return false;\n }\n}\n\nfunction connectToBrokerTarget(target: BrokerConnectTarget): net.Socket {\n return typeof target === \"string\"\n ? net.connect(target)\n : net.connect({ host: target.host, port: target.port });\n}\n\nfunction checkSocketConnectable(): Promise<boolean> {\n return new Promise((resolve) => {\n let target: BrokerConnectTarget;\n try {\n target = getBrokerConnectTarget();\n } catch {\n resolve(false);\n return;\n }\n\n const socket = connectToBrokerTarget(target);\n const requestId = randomUUID();\n const expectedStateId = typeof target === \"string\" ? undefined : target.stateId;\n let settled = false;\n const finish = (isConnected: boolean) => {\n if (settled) {\n return;\n }\n settled = true;\n clearTimeout(timeout);\n socket.off(\"connect\", onConnect);\n socket.off(\"error\", onError);\n socket.off(\"data\", reader);\n socket.destroy();\n resolve(isConnected);\n };\n const onConnect = () => {\n try {\n writeMessage(socket, {\n type: \"health\",\n requestId,\n ...(expectedStateId ? { stateId: expectedStateId } : {}),\n });\n } catch {\n finish(false);\n }\n };\n const onError = () => finish(false);\n const reader = createMessageReader((message) => {\n finish(isBrokerHealthOkMessage(message, requestId));\n }, () => finish(false));\n socket.on(\"connect\", onConnect);\n socket.on(\"error\", onError);\n socket.on(\"data\", reader);\n const timeout = setTimeout(() => finish(false), 1000);\n });\n}\n\nfunction acquireSpawnLock(): boolean {\n const maxRetries = 5;\n for (let attempt = 0; attempt < maxRetries; attempt++) {\n try {\n writeFileSync(BROKER_SPAWN_LOCK, `${process.pid}\\n${Date.now()}\\n`, {\n flag: \"wx\",\n mode: INTERCOM_RUNTIME_FILE_MODE,\n });\n restrictIntercomRuntimeFile(BROKER_SPAWN_LOCK);\n return true;\n } catch (error) {\n if (!(error instanceof Error) || (error as NodeJS.ErrnoException).code !== \"EEXIST\") {\n throw error;\n }\n if (isSpawnLockStale()) {\n try {\n unlinkSync(BROKER_SPAWN_LOCK);\n } catch {\n // If we can't delete the stale lock, retry a few times before giving up\n }\n continue;\n }\n return false;\n }\n }\n return false;\n}\n\nfunction isSpawnLockStale(): boolean {\n if (!existsSync(BROKER_SPAWN_LOCK)) {\n return false;\n }\n\n try {\n const [pidLine = \"\", createdAtLine = \"0\"] = readFileSync(BROKER_SPAWN_LOCK, \"utf-8\").trim().split(\"\\n\");\n const pid = Number.parseInt(pidLine, 10);\n const createdAt = Number.parseInt(createdAtLine, 10);\n const ageMs = Date.now() - createdAt;\n\n if (Number.isFinite(pid)) {\n try {\n process.kill(pid, 0);\n } catch {\n // The process that created the lock is gone.\n return true;\n }\n }\n\n return !Number.isFinite(createdAt) || ageMs > 10_000;\n } catch {\n // Unreadable lock contents are treated as stale so a new broker can start.\n return true;\n }\n}\n\nfunction releaseSpawnLock(): void {\n try {\n unlinkSync(BROKER_SPAWN_LOCK);\n } catch {\n // Another cleanup path may already have removed the lock.\n }\n}\n\nasync function waitForBroker(timeoutMs = 5000): Promise<void> {\n const start = Date.now();\n while (Date.now() - start < timeoutMs) {\n if (await checkSocketConnectable()) {\n return;\n }\n await sleep(100);\n }\n throw new Error(\"Broker failed to start within timeout\");\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare const DEFAULT_ASK_TIMEOUT_MS: number;
|
|
2
|
+
export declare function getAskTimeoutMs(): number;
|
|
3
|
+
export type InboundTriggerPolicy = "always" | "replies" | "never";
|
|
4
|
+
export interface IntercomConfig {
|
|
5
|
+
/** Broker command used to spawn the broker process (e.g. "npx" or "bun") */
|
|
6
|
+
brokerCommand: string;
|
|
7
|
+
/** Arguments passed to the broker command before the broker script path */
|
|
8
|
+
brokerArgs: string[];
|
|
9
|
+
/** Require confirmation before non-reply sends from interactive sessions */
|
|
10
|
+
confirmSend: boolean;
|
|
11
|
+
/** Controls whether inbound broker messages may automatically trigger a model turn */
|
|
12
|
+
inboundTrigger: InboundTriggerPolicy;
|
|
13
|
+
/** Optional custom status suffix shown after automatic lifecycle status */
|
|
14
|
+
status?: string;
|
|
15
|
+
/** Enable/disable intercom (default: true) */
|
|
16
|
+
enabled: boolean;
|
|
17
|
+
/** Show reply hint in incoming messages (default: true) */
|
|
18
|
+
replyHint: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare function getConfigPath(intercomDir?: string): string;
|
|
21
|
+
export declare function loadConfig(): IntercomConfig;
|
|
22
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/builtin-extensions/pi-intercom/config.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AAErD,wBAAgB,eAAe,IAAI,MAAM,CAWxC;AAED,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAElE,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAC;IAEtB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,4EAA4E;IAC5E,WAAW,EAAE,OAAO,CAAC;IAErB,sFAAsF;IACtF,cAAc,EAAE,oBAAoB,CAAC;IAErC,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IAEjB,2DAA2D;IAC3D,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,WAAW,GAAE,MAA6B,GAAG,MAAM,CAEhF;AAWD,wBAAgB,UAAU,IAAI,cAAc,CAqF3C","sourcesContent":["// @ts-nocheck\nimport { existsSync, readFileSync } from \"fs\";\nimport { join } from \"path\";\nimport { getIntercomDirPath } from \"./broker/paths.ts\";\n\nexport const DEFAULT_ASK_TIMEOUT_MS = 10 * 60 * 1000;\n\nexport function getAskTimeoutMs(): number {\n const raw = process.env.PI_INTERCOM_ASK_TIMEOUT_MS;\n if (raw === undefined || raw.trim() === \"\") {\n return DEFAULT_ASK_TIMEOUT_MS;\n }\n\n const value = Number(raw);\n if (!Number.isSafeInteger(value) || value <= 0) {\n throw new Error(\"PI_INTERCOM_ASK_TIMEOUT_MS must be a positive integer number of milliseconds\");\n }\n return value;\n}\n\nexport type InboundTriggerPolicy = \"always\" | \"replies\" | \"never\";\n\nexport interface IntercomConfig {\n /** Broker command used to spawn the broker process (e.g. \"npx\" or \"bun\") */\n brokerCommand: string;\n\n /** Arguments passed to the broker command before the broker script path */\n brokerArgs: string[];\n\n /** Require confirmation before non-reply sends from interactive sessions */\n confirmSend: boolean;\n\n /** Controls whether inbound broker messages may automatically trigger a model turn */\n inboundTrigger: InboundTriggerPolicy;\n\n /** Optional custom status suffix shown after automatic lifecycle status */\n status?: string;\n \n /** Enable/disable intercom (default: true) */\n enabled: boolean;\n \n /** Show reply hint in incoming messages (default: true) */\n replyHint: boolean;\n}\n\nexport function getConfigPath(intercomDir: string = getIntercomDirPath()): string {\n return join(intercomDir, \"config.json\");\n}\n\nconst defaults: IntercomConfig = {\n brokerCommand: \"npx\",\n brokerArgs: [\"--no-install\", \"tsx\"],\n confirmSend: false,\n inboundTrigger: \"always\",\n enabled: true,\n replyHint: true,\n};\n\nexport function loadConfig(): IntercomConfig {\n const configPath = getConfigPath();\n if (!existsSync(configPath)) {\n return { ...defaults };\n }\n \n try {\n const raw = readFileSync(configPath, \"utf-8\");\n const parsed: unknown = JSON.parse(raw);\n if (typeof parsed !== \"object\" || parsed === null || Array.isArray(parsed)) {\n throw new Error(\"Config must be a JSON object\");\n }\n\n const parsedConfig = parsed as Record<string, unknown>;\n const config: IntercomConfig = { ...defaults };\n\n if (Object.hasOwn(parsedConfig, \"brokerCommand\")) {\n if (typeof parsedConfig.brokerCommand !== \"string\") {\n throw new Error(`\"brokerCommand\" must be a string`);\n }\n const brokerCommand = parsedConfig.brokerCommand.trim();\n if (!brokerCommand) {\n throw new Error(`\"brokerCommand\" must not be empty`);\n }\n config.brokerCommand = brokerCommand;\n }\n\n if (Object.hasOwn(parsedConfig, \"brokerArgs\")) {\n if (!Array.isArray(parsedConfig.brokerArgs)) {\n throw new Error(`\"brokerArgs\" must be an array`);\n }\n const brokerArgs: string[] = [];\n for (const arg of parsedConfig.brokerArgs) {\n if (typeof arg !== \"string\") {\n throw new Error(`\"brokerArgs\" items must be strings`);\n }\n brokerArgs.push(arg);\n }\n config.brokerArgs = brokerArgs;\n }\n\n if (Object.hasOwn(parsedConfig, \"confirmSend\")) {\n if (typeof parsedConfig.confirmSend !== \"boolean\") {\n throw new Error(`\"confirmSend\" must be a boolean`);\n }\n config.confirmSend = parsedConfig.confirmSend;\n }\n\n if (Object.hasOwn(parsedConfig, \"enabled\")) {\n if (typeof parsedConfig.enabled !== \"boolean\") {\n throw new Error(`\"enabled\" must be a boolean`);\n }\n config.enabled = parsedConfig.enabled;\n }\n\n if (Object.hasOwn(parsedConfig, \"inboundTrigger\")) {\n if (\n parsedConfig.inboundTrigger !== \"always\"\n && parsedConfig.inboundTrigger !== \"replies\"\n && parsedConfig.inboundTrigger !== \"never\"\n ) {\n throw new Error(`\"inboundTrigger\" must be \"always\", \"replies\", or \"never\"`);\n }\n config.inboundTrigger = parsedConfig.inboundTrigger;\n }\n\n if (Object.hasOwn(parsedConfig, \"replyHint\")) {\n if (typeof parsedConfig.replyHint !== \"boolean\") {\n throw new Error(`\"replyHint\" must be a boolean`);\n }\n config.replyHint = parsedConfig.replyHint;\n }\n\n if (Object.hasOwn(parsedConfig, \"status\")) {\n if (typeof parsedConfig.status !== \"string\") {\n throw new Error(`\"status\" must be a string`);\n }\n config.status = parsedConfig.status;\n }\n\n return config;\n } catch (error) {\n console.error(`Failed to load intercom config at ${configPath}:`, error);\n return { ...defaults, inboundTrigger: \"never\" };\n }\n}\n"]}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { existsSync, readFileSync } from "fs";
|
|
3
|
+
import { join } from "path";
|
|
4
|
+
import { getIntercomDirPath } from "./broker/paths.js";
|
|
5
|
+
export const DEFAULT_ASK_TIMEOUT_MS = 10 * 60 * 1000;
|
|
6
|
+
export function getAskTimeoutMs() {
|
|
7
|
+
const raw = process.env.PI_INTERCOM_ASK_TIMEOUT_MS;
|
|
8
|
+
if (raw === undefined || raw.trim() === "") {
|
|
9
|
+
return DEFAULT_ASK_TIMEOUT_MS;
|
|
10
|
+
}
|
|
11
|
+
const value = Number(raw);
|
|
12
|
+
if (!Number.isSafeInteger(value) || value <= 0) {
|
|
13
|
+
throw new Error("PI_INTERCOM_ASK_TIMEOUT_MS must be a positive integer number of milliseconds");
|
|
14
|
+
}
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
export function getConfigPath(intercomDir = getIntercomDirPath()) {
|
|
18
|
+
return join(intercomDir, "config.json");
|
|
19
|
+
}
|
|
20
|
+
const defaults = {
|
|
21
|
+
brokerCommand: "npx",
|
|
22
|
+
brokerArgs: ["--no-install", "tsx"],
|
|
23
|
+
confirmSend: false,
|
|
24
|
+
inboundTrigger: "always",
|
|
25
|
+
enabled: true,
|
|
26
|
+
replyHint: true,
|
|
27
|
+
};
|
|
28
|
+
export function loadConfig() {
|
|
29
|
+
const configPath = getConfigPath();
|
|
30
|
+
if (!existsSync(configPath)) {
|
|
31
|
+
return { ...defaults };
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
const raw = readFileSync(configPath, "utf-8");
|
|
35
|
+
const parsed = JSON.parse(raw);
|
|
36
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
37
|
+
throw new Error("Config must be a JSON object");
|
|
38
|
+
}
|
|
39
|
+
const parsedConfig = parsed;
|
|
40
|
+
const config = { ...defaults };
|
|
41
|
+
if (Object.hasOwn(parsedConfig, "brokerCommand")) {
|
|
42
|
+
if (typeof parsedConfig.brokerCommand !== "string") {
|
|
43
|
+
throw new Error(`"brokerCommand" must be a string`);
|
|
44
|
+
}
|
|
45
|
+
const brokerCommand = parsedConfig.brokerCommand.trim();
|
|
46
|
+
if (!brokerCommand) {
|
|
47
|
+
throw new Error(`"brokerCommand" must not be empty`);
|
|
48
|
+
}
|
|
49
|
+
config.brokerCommand = brokerCommand;
|
|
50
|
+
}
|
|
51
|
+
if (Object.hasOwn(parsedConfig, "brokerArgs")) {
|
|
52
|
+
if (!Array.isArray(parsedConfig.brokerArgs)) {
|
|
53
|
+
throw new Error(`"brokerArgs" must be an array`);
|
|
54
|
+
}
|
|
55
|
+
const brokerArgs = [];
|
|
56
|
+
for (const arg of parsedConfig.brokerArgs) {
|
|
57
|
+
if (typeof arg !== "string") {
|
|
58
|
+
throw new Error(`"brokerArgs" items must be strings`);
|
|
59
|
+
}
|
|
60
|
+
brokerArgs.push(arg);
|
|
61
|
+
}
|
|
62
|
+
config.brokerArgs = brokerArgs;
|
|
63
|
+
}
|
|
64
|
+
if (Object.hasOwn(parsedConfig, "confirmSend")) {
|
|
65
|
+
if (typeof parsedConfig.confirmSend !== "boolean") {
|
|
66
|
+
throw new Error(`"confirmSend" must be a boolean`);
|
|
67
|
+
}
|
|
68
|
+
config.confirmSend = parsedConfig.confirmSend;
|
|
69
|
+
}
|
|
70
|
+
if (Object.hasOwn(parsedConfig, "enabled")) {
|
|
71
|
+
if (typeof parsedConfig.enabled !== "boolean") {
|
|
72
|
+
throw new Error(`"enabled" must be a boolean`);
|
|
73
|
+
}
|
|
74
|
+
config.enabled = parsedConfig.enabled;
|
|
75
|
+
}
|
|
76
|
+
if (Object.hasOwn(parsedConfig, "inboundTrigger")) {
|
|
77
|
+
if (parsedConfig.inboundTrigger !== "always"
|
|
78
|
+
&& parsedConfig.inboundTrigger !== "replies"
|
|
79
|
+
&& parsedConfig.inboundTrigger !== "never") {
|
|
80
|
+
throw new Error(`"inboundTrigger" must be "always", "replies", or "never"`);
|
|
81
|
+
}
|
|
82
|
+
config.inboundTrigger = parsedConfig.inboundTrigger;
|
|
83
|
+
}
|
|
84
|
+
if (Object.hasOwn(parsedConfig, "replyHint")) {
|
|
85
|
+
if (typeof parsedConfig.replyHint !== "boolean") {
|
|
86
|
+
throw new Error(`"replyHint" must be a boolean`);
|
|
87
|
+
}
|
|
88
|
+
config.replyHint = parsedConfig.replyHint;
|
|
89
|
+
}
|
|
90
|
+
if (Object.hasOwn(parsedConfig, "status")) {
|
|
91
|
+
if (typeof parsedConfig.status !== "string") {
|
|
92
|
+
throw new Error(`"status" must be a string`);
|
|
93
|
+
}
|
|
94
|
+
config.status = parsedConfig.status;
|
|
95
|
+
}
|
|
96
|
+
return config;
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
console.error(`Failed to load intercom config at ${configPath}:`, error);
|
|
100
|
+
return { ...defaults, inboundTrigger: "never" };
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/builtin-extensions/pi-intercom/config.ts"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport { existsSync, readFileSync } from \"fs\";\nimport { join } from \"path\";\nimport { getIntercomDirPath } from \"./broker/paths.ts\";\n\nexport const DEFAULT_ASK_TIMEOUT_MS = 10 * 60 * 1000;\n\nexport function getAskTimeoutMs(): number {\n const raw = process.env.PI_INTERCOM_ASK_TIMEOUT_MS;\n if (raw === undefined || raw.trim() === \"\") {\n return DEFAULT_ASK_TIMEOUT_MS;\n }\n\n const value = Number(raw);\n if (!Number.isSafeInteger(value) || value <= 0) {\n throw new Error(\"PI_INTERCOM_ASK_TIMEOUT_MS must be a positive integer number of milliseconds\");\n }\n return value;\n}\n\nexport type InboundTriggerPolicy = \"always\" | \"replies\" | \"never\";\n\nexport interface IntercomConfig {\n /** Broker command used to spawn the broker process (e.g. \"npx\" or \"bun\") */\n brokerCommand: string;\n\n /** Arguments passed to the broker command before the broker script path */\n brokerArgs: string[];\n\n /** Require confirmation before non-reply sends from interactive sessions */\n confirmSend: boolean;\n\n /** Controls whether inbound broker messages may automatically trigger a model turn */\n inboundTrigger: InboundTriggerPolicy;\n\n /** Optional custom status suffix shown after automatic lifecycle status */\n status?: string;\n \n /** Enable/disable intercom (default: true) */\n enabled: boolean;\n \n /** Show reply hint in incoming messages (default: true) */\n replyHint: boolean;\n}\n\nexport function getConfigPath(intercomDir: string = getIntercomDirPath()): string {\n return join(intercomDir, \"config.json\");\n}\n\nconst defaults: IntercomConfig = {\n brokerCommand: \"npx\",\n brokerArgs: [\"--no-install\", \"tsx\"],\n confirmSend: false,\n inboundTrigger: \"always\",\n enabled: true,\n replyHint: true,\n};\n\nexport function loadConfig(): IntercomConfig {\n const configPath = getConfigPath();\n if (!existsSync(configPath)) {\n return { ...defaults };\n }\n \n try {\n const raw = readFileSync(configPath, \"utf-8\");\n const parsed: unknown = JSON.parse(raw);\n if (typeof parsed !== \"object\" || parsed === null || Array.isArray(parsed)) {\n throw new Error(\"Config must be a JSON object\");\n }\n\n const parsedConfig = parsed as Record<string, unknown>;\n const config: IntercomConfig = { ...defaults };\n\n if (Object.hasOwn(parsedConfig, \"brokerCommand\")) {\n if (typeof parsedConfig.brokerCommand !== \"string\") {\n throw new Error(`\"brokerCommand\" must be a string`);\n }\n const brokerCommand = parsedConfig.brokerCommand.trim();\n if (!brokerCommand) {\n throw new Error(`\"brokerCommand\" must not be empty`);\n }\n config.brokerCommand = brokerCommand;\n }\n\n if (Object.hasOwn(parsedConfig, \"brokerArgs\")) {\n if (!Array.isArray(parsedConfig.brokerArgs)) {\n throw new Error(`\"brokerArgs\" must be an array`);\n }\n const brokerArgs: string[] = [];\n for (const arg of parsedConfig.brokerArgs) {\n if (typeof arg !== \"string\") {\n throw new Error(`\"brokerArgs\" items must be strings`);\n }\n brokerArgs.push(arg);\n }\n config.brokerArgs = brokerArgs;\n }\n\n if (Object.hasOwn(parsedConfig, \"confirmSend\")) {\n if (typeof parsedConfig.confirmSend !== \"boolean\") {\n throw new Error(`\"confirmSend\" must be a boolean`);\n }\n config.confirmSend = parsedConfig.confirmSend;\n }\n\n if (Object.hasOwn(parsedConfig, \"enabled\")) {\n if (typeof parsedConfig.enabled !== \"boolean\") {\n throw new Error(`\"enabled\" must be a boolean`);\n }\n config.enabled = parsedConfig.enabled;\n }\n\n if (Object.hasOwn(parsedConfig, \"inboundTrigger\")) {\n if (\n parsedConfig.inboundTrigger !== \"always\"\n && parsedConfig.inboundTrigger !== \"replies\"\n && parsedConfig.inboundTrigger !== \"never\"\n ) {\n throw new Error(`\"inboundTrigger\" must be \"always\", \"replies\", or \"never\"`);\n }\n config.inboundTrigger = parsedConfig.inboundTrigger;\n }\n\n if (Object.hasOwn(parsedConfig, \"replyHint\")) {\n if (typeof parsedConfig.replyHint !== \"boolean\") {\n throw new Error(`\"replyHint\" must be a boolean`);\n }\n config.replyHint = parsedConfig.replyHint;\n }\n\n if (Object.hasOwn(parsedConfig, \"status\")) {\n if (typeof parsedConfig.status !== \"string\") {\n throw new Error(`\"status\" must be a string`);\n }\n config.status = parsedConfig.status;\n }\n\n return config;\n } catch (error) {\n console.error(`Failed to load intercom config at ${configPath}:`, error);\n return { ...defaults, inboundTrigger: \"never\" };\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builtin-extensions/pi-intercom/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,iCAAiC,CAAC;AA6atF,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAE,EAAE,YAAY,QAw7C3D","sourcesContent":["// @ts-nocheck\nimport type { ExtensionAPI, ExtensionContext } from \"@earendil-works/pi-coding-agent\";\nimport { StringEnum } from \"@earendil-works/pi-ai\";\nimport { randomUUID } from \"crypto\";\nimport { Type } from \"typebox\";\nimport { Text } from \"@earendil-works/pi-tui\";\nimport { IntercomClient } from \"./broker/client.ts\";\nimport { spawnBrokerIfNeeded } from \"./broker/spawn.ts\";\nimport { SessionListOverlay } from \"./ui/session-list.ts\";\nimport { ComposeOverlay, type ComposeResult } from \"./ui/compose.ts\";\nimport { InlineMessageComponent } from \"./ui/inline-message.ts\";\nimport { getAskTimeoutMs, loadConfig, type IntercomConfig } from \"./config.ts\";\nimport type { SessionInfo, Message, Attachment } from \"./types.ts\";\nimport { ReplyTracker } from \"./reply-tracker.ts\";\n\nconst SUBAGENT_CONTROL_INTERCOM_EVENT = \"subagent:control-intercom\";\nconst SUBAGENT_RESULT_INTERCOM_EVENT = \"subagent:result-intercom\";\nconst SUBAGENT_RESULT_INTERCOM_DELIVERY_EVENT = \"subagent:result-intercom-delivery\";\nconst INBOUND_FLUSH_DELAY_MS = 200;\nconst INBOUND_IDLE_RETRY_MS = 500;\nconst DEFAULT_UNNAMED_SESSION_ALIAS_PREFIX = \"subagent-chat\";\nconst SUBAGENT_ORCHESTRATOR_TARGET_ENV = \"PI_SUBAGENT_ORCHESTRATOR_TARGET\";\nconst SUBAGENT_ORCHESTRATOR_SESSION_ID_ENV = \"PI_SUBAGENT_ORCHESTRATOR_SESSION_ID\";\nconst INTERCOM_SESSION_ID_ENV = \"PI_INTERCOM_SESSION_ID\";\nconst NAME_POLL_MS_ENV = \"PI_INTERCOM_NAME_POLL_MS\";\nconst SUBAGENT_RUN_ID_ENV = \"PI_SUBAGENT_RUN_ID\";\nconst SUBAGENT_CHILD_AGENT_ENV = \"PI_SUBAGENT_CHILD_AGENT\";\nconst SUBAGENT_CHILD_INDEX_ENV = \"PI_SUBAGENT_CHILD_INDEX\";\nconst SUBAGENT_INTERCOM_SESSION_NAME_ENV = \"PI_SUBAGENT_INTERCOM_SESSION_NAME\";\n\ninterface ChildOrchestratorMetadata {\n orchestratorTarget: string;\n orchestratorSessionId?: string;\n runId: string;\n agent: string;\n index: string;\n sessionName?: string;\n}\n\ninterface InboundMessageEntry {\n from: SessionInfo;\n message: Message;\n replyCommand?: string;\n bodyText: string;\n}\n\ntype ContactSupervisorReason = \"need_decision\" | \"progress_update\" | \"interview_request\";\n\ninterface SupervisorInterviewQuestion extends Record<string, unknown> {\n id: string;\n type: \"single\" | \"multi\" | \"text\" | \"image\" | \"info\";\n question: string;\n options?: unknown[];\n}\n\ninterface SupervisorInterviewRequest extends Record<string, unknown> {\n title?: string;\n description?: string;\n questions: SupervisorInterviewQuestion[];\n}\n\ninterface SupervisorInterviewReply {\n responses: Array<{ id: string; value: unknown }>;\n}\n\nfunction getErrorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\nfunction toError(error: unknown): Error {\n return error instanceof Error ? error : new Error(String(error));\n}\n\nfunction formatAttachments(attachments: Attachment[]): string {\n let text = \"\";\n for (const att of attachments) {\n if (att.language) {\n text += `\\n\\n---\\n๐ ${att.name}\\n~~~${att.language}\\n${att.content}\\n~~~`;\n } else {\n text += `\\n\\n---\\n๐ ${att.name}\\n${att.content}`;\n }\n }\n return text;\n}\nfunction readChildOrchestratorMetadata(): ChildOrchestratorMetadata | null {\n const orchestratorTarget = process.env[SUBAGENT_ORCHESTRATOR_TARGET_ENV]?.trim();\n const orchestratorSessionId = process.env[SUBAGENT_ORCHESTRATOR_SESSION_ID_ENV]?.trim()\n || process.env[INTERCOM_SESSION_ID_ENV]?.trim();\n const runId = process.env[SUBAGENT_RUN_ID_ENV]?.trim();\n const agent = process.env[SUBAGENT_CHILD_AGENT_ENV]?.trim();\n const index = process.env[SUBAGENT_CHILD_INDEX_ENV]?.trim();\n if (!orchestratorTarget || !runId || !agent || !index) {\n return null;\n }\n const sessionName = process.env[SUBAGENT_INTERCOM_SESSION_NAME_ENV]?.trim();\n return {\n orchestratorTarget,\n ...(orchestratorSessionId ? { orchestratorSessionId } : {}),\n runId,\n agent,\n index,\n ...(sessionName ? { sessionName } : {}),\n };\n}\nfunction formatChildOrchestratorMessage(kind: \"ask\" | \"update\" | \"interview\", metadata: ChildOrchestratorMetadata, message: string): string {\n const heading = kind === \"ask\"\n ? \"Subagent needs a supervisor decision.\"\n : kind === \"interview\"\n ? \"Subagent requests a structured supervisor interview.\"\n : \"Subagent progress update.\";\n return [\n heading,\n `Run: ${metadata.runId}`,\n `Agent: ${metadata.agent}`,\n `Child index: ${metadata.index}`,\n metadata.sessionName ? `Child intercom target: ${metadata.sessionName}` : undefined,\n \"\",\n message,\n ].filter((line): line is string => line !== undefined).join(\"\\n\");\n}\n\nfunction validateSupervisorInterviewRequest(input: unknown): { ok: true; interview: SupervisorInterviewRequest } | { ok: false; error: string } {\n if (!input || typeof input !== \"object\" || Array.isArray(input)) {\n return { ok: false, error: \"interview must be an object with a questions array\" };\n }\n\n const raw = input as Record<string, unknown>;\n if (raw.title !== undefined && typeof raw.title !== \"string\") {\n return { ok: false, error: \"interview.title must be a string when provided\" };\n }\n if (raw.description !== undefined && typeof raw.description !== \"string\") {\n return { ok: false, error: \"interview.description must be a string when provided\" };\n }\n if (!Array.isArray(raw.questions) || raw.questions.length === 0) {\n return { ok: false, error: \"interview.questions must be a non-empty array\" };\n }\n\n const validTypes = new Set([\"single\", \"multi\", \"text\", \"image\", \"info\"]);\n const ids = new Set<string>();\n const questions: SupervisorInterviewQuestion[] = [];\n\n for (let index = 0; index < raw.questions.length; index++) {\n const questionInput = raw.questions[index];\n if (!questionInput || typeof questionInput !== \"object\" || Array.isArray(questionInput)) {\n return { ok: false, error: `interview.questions[${index}] must be an object` };\n }\n const question = questionInput as Record<string, unknown>;\n if (typeof question.id !== \"string\" || question.id.trim() === \"\") {\n return { ok: false, error: `interview.questions[${index}].id must be a non-empty string` };\n }\n const id = question.id.trim();\n if (ids.has(id)) {\n return { ok: false, error: `interview question id must be unique: ${id}` };\n }\n ids.add(id);\n\n if (typeof question.type !== \"string\" || !validTypes.has(question.type)) {\n return { ok: false, error: `interview.questions[${index}].type must be one of: single, multi, text, image, info` };\n }\n if (typeof question.question !== \"string\" || question.question.trim() === \"\") {\n return { ok: false, error: `interview.questions[${index}].question must be a non-empty string` };\n }\n if (question.context !== undefined && typeof question.context !== \"string\") {\n return { ok: false, error: `interview.questions[${index}].context must be a string when provided` };\n }\n let options: unknown[] | undefined;\n if (question.options !== undefined) {\n if (!Array.isArray(question.options)) {\n return { ok: false, error: `interview.questions[${index}].options must be an array when provided` };\n }\n options = [];\n for (let optionIndex = 0; optionIndex < question.options.length; optionIndex++) {\n const option = question.options[optionIndex];\n if (typeof option === \"string\") {\n const label = option.trim();\n if (!label) {\n return { ok: false, error: `interview.questions[${index}].options[${optionIndex}] must not be empty` };\n }\n options.push(label);\n } else if (!option || typeof option !== \"object\" || Array.isArray(option) || typeof (option as { label?: unknown }).label !== \"string\" || (option as { label: string }).label.trim() === \"\") {\n return { ok: false, error: `interview.questions[${index}].options[${optionIndex}] must be a non-empty string or an object with a non-empty label` };\n } else {\n options.push({ ...option, label: (option as { label: string }).label.trim() });\n }\n }\n }\n if ((question.type === \"single\" || question.type === \"multi\") && (!options || options.length === 0)) {\n return { ok: false, error: `interview.questions[${index}].options must be a non-empty array for ${question.type} questions` };\n }\n if (question.type !== \"single\" && question.type !== \"multi\" && options) {\n return { ok: false, error: `interview.questions[${index}].options is only valid for single and multi questions` };\n }\n\n questions.push({\n ...question,\n id,\n type: question.type as SupervisorInterviewQuestion[\"type\"],\n question: question.question.trim(),\n ...(options ? { options } : {}),\n });\n }\n\n return {\n ok: true,\n interview: {\n ...raw,\n ...(typeof raw.title === \"string\" ? { title: raw.title.trim() } : {}),\n ...(typeof raw.description === \"string\" ? { description: raw.description.trim() } : {}),\n questions,\n },\n };\n}\n\nfunction interviewOptionLabel(option: unknown): string {\n return typeof option === \"string\" ? option : (option as { label: string }).label;\n}\n\nfunction interviewExampleValue(question: SupervisorInterviewQuestion): unknown {\n if (question.type === \"multi\") {\n return question.options?.slice(0, 2).map(interviewOptionLabel) ?? [];\n }\n if (question.type === \"single\") {\n return question.options?.[0] !== undefined ? interviewOptionLabel(question.options[0]) : \"option label\";\n }\n if (question.type === \"image\") {\n return \"image/file reference or description\";\n }\n return \"answer text\";\n}\n\nfunction formatSupervisorInterviewRequest(interview: SupervisorInterviewRequest, message?: string): string {\n const lines: string[] = [];\n const title = interview.title?.trim();\n if (title) lines.push(`Interview: ${title}`);\n const description = interview.description?.trim();\n if (description) lines.push(description);\n const note = message?.trim();\n if (note) lines.push(`Child note: ${note}`);\n if (lines.length > 0) lines.push(\"\");\n\n lines.push(\"Questions:\");\n interview.questions.forEach((question, index) => {\n lines.push(`${index + 1}. [${question.id}] (${question.type}) ${question.question}`);\n if (typeof question.context === \"string\" && question.context.trim()) {\n lines.push(` Context: ${question.context.trim()}`);\n }\n if (question.options?.length) {\n lines.push(\" Options:\");\n for (const option of question.options) {\n lines.push(` - ${interviewOptionLabel(option)}`);\n }\n }\n });\n\n const responseExample = {\n responses: interview.questions\n .filter((question) => question.type !== \"info\")\n .map((question) => ({\n id: question.id,\n value: interviewExampleValue(question),\n })),\n };\n\n lines.push(\n \"\",\n \"Supervisor reply instructions:\",\n \"Reply with plain JSON or a fenced ```json block using this stable shape. Use the question ids exactly. Info questions are context-only and do not need responses. For single questions, value is one option label. For multi questions, value is an array of option labels. For text/image questions, value is a string unless the question asks otherwise.\",\n \"\",\n \"```json\",\n JSON.stringify(responseExample, null, 2),\n \"```\",\n );\n\n return lines.join(\"\\n\");\n}\n\nfunction validateSupervisorInterviewReply(value: unknown, interview: SupervisorInterviewRequest): SupervisorInterviewReply {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) {\n throw new Error(\"reply JSON must be an object with a responses array\");\n }\n\n const responsesInput = (value as Record<string, unknown>).responses;\n if (!Array.isArray(responsesInput)) {\n throw new Error(\"reply JSON must include a responses array\");\n }\n\n const questionById = new Map(interview.questions\n .filter((question) => question.type !== \"info\")\n .map((question) => [question.id, question]));\n const seenIds = new Set<string>();\n const responses: SupervisorInterviewReply[\"responses\"] = [];\n\n for (let index = 0; index < responsesInput.length; index++) {\n const response = responsesInput[index];\n if (!response || typeof response !== \"object\" || Array.isArray(response)) {\n throw new Error(`responses[${index}] must be an object`);\n }\n\n const raw = response as Record<string, unknown>;\n if (typeof raw.id !== \"string\" || raw.id.trim() === \"\") {\n throw new Error(`responses[${index}].id must be a non-empty string`);\n }\n const id = raw.id.trim();\n const question = questionById.get(id);\n if (!question) {\n throw new Error(`responses[${index}].id must match a non-info interview question id`);\n }\n if (seenIds.has(id)) {\n throw new Error(`responses[${index}].id is duplicated: ${id}`);\n }\n seenIds.add(id);\n if (!Object.hasOwn(raw, \"value\")) {\n throw new Error(`responses[${index}].value is required`);\n }\n\n const value = raw.value;\n if (question.type === \"single\") {\n if (typeof value !== \"string\") throw new Error(`responses[${index}].value must be a string for single questions`);\n const optionLabels = new Set(question.options?.map(interviewOptionLabel));\n if (!optionLabels.has(value.trim())) throw new Error(`responses[${index}].value must match one of the question options`);\n responses.push({ id, value: value.trim() });\n continue;\n }\n\n if (question.type === \"multi\") {\n if (!Array.isArray(value) || value.some((item) => typeof item !== \"string\")) {\n throw new Error(`responses[${index}].value must be an array of strings for multi questions`);\n }\n const optionLabels = new Set(question.options?.map(interviewOptionLabel));\n const selected = value.map((item) => item.trim());\n const invalid = selected.find((item) => !optionLabels.has(item));\n if (invalid) throw new Error(`responses[${index}].value contains an option that is not in the question options: ${invalid}`);\n responses.push({ id, value: selected });\n continue;\n }\n\n if (typeof value !== \"string\") {\n throw new Error(`responses[${index}].value must be a string for ${question.type} questions`);\n }\n responses.push({ id, value });\n }\n\n return { responses };\n}\n\nfunction parseStructuredSupervisorReply(text: string, interview: SupervisorInterviewRequest): { value?: SupervisorInterviewReply; error?: string } | undefined {\n const fencedMatch = text.match(/```(?:json)?\\s*([\\s\\S]*?)```/i);\n const candidate = (fencedMatch?.[1] ?? text).trim();\n if (!candidate.startsWith(\"{\") && !candidate.startsWith(\"[\")) {\n return undefined;\n }\n try {\n return { value: validateSupervisorInterviewReply(JSON.parse(candidate), interview) };\n } catch (error) {\n return { error: getErrorMessage(error) };\n }\n}\nfunction duplicateSessionNames(sessions: SessionInfo[]): Set<string> {\n return new Set(\n sessions\n .map(s => s.name?.toLowerCase())\n .filter((name): name is string => Boolean(name))\n .filter((name, index, names) => names.indexOf(name) !== index)\n );\n}\nfunction shortSessionId(sessionId: string): string {\n return sessionId.slice(0, 8);\n}\nfunction parseSubagentIntercomPayload(payload: unknown): { to: string; message: string; requestId?: string } | null {\n if (typeof payload !== \"object\" || payload === null) {\n return null;\n }\n const record = payload as Record<string, unknown>;\n if (typeof record.to !== \"string\" || typeof record.message !== \"string\") {\n return null;\n }\n const requestId = typeof record.requestId === \"string\" ? record.requestId : undefined;\n return { to: record.to, message: record.message, ...(requestId ? { requestId } : {}) };\n}\nfunction resolveIntercomPresenceName(sessionName: string | undefined, sessionId: string): string {\n const trimmedName = sessionName?.trim();\n if (trimmedName) {\n return trimmedName;\n }\n const normalizedSessionId = sessionId.startsWith(\"session-\") ? sessionId.slice(\"session-\".length) : sessionId;\n return `${DEFAULT_UNNAMED_SESSION_ALIAS_PREFIX}-${normalizedSessionId.slice(0, 8)}`;\n}\nfunction buildPresenceIdentity(pi: ExtensionAPI, sessionId: string): { name: string } {\n return {\n name: resolveIntercomPresenceName(pi.getSessionName(), sessionId),\n };\n}\nfunction formatSessionLabel(session: SessionInfo, duplicates: Set<string>): string {\n if (!session.name) {\n return session.id;\n }\n return duplicates.has(session.name.toLowerCase())\n ? `${session.name} (${shortSessionId(session.id)})`\n : session.name;\n}\nfunction formatSessionListRow(session: SessionInfo, currentCwd: string, isSelf: boolean): string {\n const name = session.name || \"Unnamed session\";\n const tags = [isSelf ? \"self\" : session.cwd === currentCwd ? \"same cwd\" : undefined, session.status]\n .filter((tag): tag is string => Boolean(tag));\n const suffix = tags.length ? ` [${tags.join(\", \")}]` : \"\";\n return `โข ${name} (${shortSessionId(session.id)}) โ ${session.cwd} (${session.model})${suffix}`;\n}\nfunction previewText(value: unknown, maxLength = 72): string | undefined {\n if (typeof value !== \"string\") {\n return undefined;\n }\n const normalized = value.replace(/\\s+/g, \" \").trim();\n if (!normalized) {\n return undefined;\n }\n return normalized.length > maxLength ? `${normalized.slice(0, maxLength - 1)}โฆ` : normalized;\n}\nfunction firstTextContent(result: { content?: Array<{ type: string; text?: string }> }): string {\n return result.content?.find((item) => item.type === \"text\" && typeof item.text === \"string\")?.text?.replace(/\\*\\*/g, \"\") ?? \"\";\n}\nfunction getNamePollMs(): number {\n const configured = process.env[NAME_POLL_MS_ENV];\n if (configured !== undefined) {\n const value = Number(configured);\n if (Number.isFinite(value) && value > 0) {\n return value;\n }\n }\n return 1000;\n}\nexport default function piIntercomExtension(pi: ExtensionAPI) {\n let client: IntercomClient | null = null;\n const config: IntercomConfig = loadConfig();\n const askTimeoutMs = getAskTimeoutMs();\n let runtimeContext: ExtensionContext | null = null;\n let currentSessionId: string | null = null;\n let currentModel = \"unknown\";\n let sessionStartedAt: number | null = null;\n let reconnectTimer: NodeJS.Timeout | null = null;\n let namePollTimer: NodeJS.Timeout | null = null;\n let lastPresenceName: string | null = null;\n const previousIntercomSessionId = process.env[INTERCOM_SESSION_ID_ENV];\n let reconnectPromise: Promise<IntercomClient> | null = null;\n let reconnectPromiseGeneration: number | null = null;\n let startupConnectTimer: NodeJS.Timeout | null = null;\n let reconnectAttempt = 0;\n let shuttingDown = false;\n let disposed = true;\n let runtimeStarted = false;\n let runtimeGeneration = 0;\n let agentRunning = false;\n const activeTools = new Map<string, string>();\n const replyTracker = new ReplyTracker();\n const pendingIdleMessages: InboundMessageEntry[] = [];\n let inboundFlushTimer: NodeJS.Timeout | null = null;\n let replyWaiter: {\n from: string;\n replyTo: string;\n resolve: (message: Message) => void;\n reject: (error: Error) => void;\n } | null = null;\n function waitForReply(from: string, replyTo: string, signal?: AbortSignal, onCancel?: () => void): Promise<Message> {\n if (replyWaiter) {\n return Promise.reject(new Error(\"Already waiting for a reply\"));\n }\n if (signal?.aborted) {\n return Promise.reject(new Error(\"Cancelled\"));\n }\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(() => {\n onCancel?.();\n const timeoutDescription = askTimeoutMs % 60000 === 0 ? `${askTimeoutMs / 60000} minutes` : `${askTimeoutMs}ms`;\n rejectReplyWaiter(new Error(`No reply from \"${from}\" within ${timeoutDescription}`));\n }, askTimeoutMs);\n const cleanup = () => {\n clearTimeout(timeout);\n signal?.removeEventListener(\"abort\", onAbort);\n if (replyWaiter?.replyTo === replyTo) {\n replyWaiter = null;\n }\n };\n const onAbort = () => {\n onCancel?.();\n cleanup();\n reject(new Error(\"Cancelled\"));\n };\n signal?.addEventListener(\"abort\", onAbort, { once: true });\n replyWaiter = {\n from,\n replyTo,\n resolve: (message) => {\n cleanup();\n resolve(message);\n },\n reject: (error) => {\n cleanup();\n reject(error);\n },\n };\n });\n }\n function rejectReplyWaiter(error: Error): void {\n replyWaiter?.reject(error);\n }\n function clearReconnectTimer(): void {\n if (!reconnectTimer) {\n return;\n }\n clearTimeout(reconnectTimer);\n reconnectTimer = null;\n }\n function clearStartupConnectTimer(): void {\n if (!startupConnectTimer) {\n return;\n }\n clearTimeout(startupConnectTimer);\n startupConnectTimer = null;\n }\n function clearNamePollTimer(): void {\n if (!namePollTimer) {\n return;\n }\n clearInterval(namePollTimer);\n namePollTimer = null;\n }\n function clearInboundFlushTimer(): void {\n if (!inboundFlushTimer) {\n return;\n }\n clearTimeout(inboundFlushTimer);\n inboundFlushTimer = null;\n }\n function getLiveContext(ctx: ExtensionContext | null = runtimeContext, generation = runtimeGeneration): ExtensionContext | null {\n if (disposed || shuttingDown || generation !== runtimeGeneration || !ctx) {\n return null;\n }\n try {\n if (currentSessionId && ctx.sessionManager.getSessionId() !== currentSessionId) {\n return null;\n }\n void ctx.hasUI;\n return ctx;\n } catch {\n // A context that throws while reading session/UI state is no longer usable.\n return null;\n }\n }\n function notifyIfLive(ctx: ExtensionContext, message: string, level: \"info\" | \"warning\" | \"error\", generation = runtimeGeneration): void {\n const liveContext = getLiveContext(ctx, generation);\n if (!liveContext?.hasUI) {\n return;\n }\n try {\n liveContext.ui.notify(message, level);\n } catch {\n // The UI can disappear during session shutdown/reload while async overlay work is settling.\n }\n }\n function getReconnectDelayMs(): number {\n const backoffMs = [1000, 2000, 5000, 10000, 30000];\n return backoffMs[Math.min(reconnectAttempt, backoffMs.length - 1)]!;\n }\n function currentStatus(): string {\n const activeToolName = activeTools.values().next().value;\n const lifecycleStatus = activeToolName ? `tool:${activeToolName}` : agentRunning ? \"thinking\" : \"idle\";\n return config.status ? `${lifecycleStatus} ยท ${config.status}` : lifecycleStatus;\n }\n function buildRegistration(): Omit<SessionInfo, \"id\"> {\n const liveContext = getLiveContext();\n if (!liveContext || !currentSessionId || sessionStartedAt === null) {\n throw new Error(\"Intercom runtime not initialized\");\n }\n\n const identity = buildPresenceIdentity(pi, currentSessionId);\n return {\n name: identity.name,\n cwd: liveContext.cwd,\n model: currentModel,\n pid: process.pid,\n startedAt: sessionStartedAt,\n lastActivity: Date.now(),\n status: currentStatus(),\n };\n }\n function syncPresenceIdentity(sessionId: string): void {\n if (!client || !getLiveContext()) {\n return;\n }\n const identity = buildPresenceIdentity(pi, sessionId);\n lastPresenceName = identity.name;\n client.updatePresence({ ...identity, status: currentStatus() });\n }\n function startNamePoll(): void {\n clearNamePollTimer();\n lastPresenceName = currentSessionId ? buildPresenceIdentity(pi, currentSessionId).name : null;\n namePollTimer = setInterval(() => {\n if (!currentSessionId || !getLiveContext()) {\n return;\n }\n const identity = buildPresenceIdentity(pi, currentSessionId);\n if (identity.name !== lastPresenceName) {\n syncPresenceIdentity(currentSessionId);\n }\n }, getNamePollMs());\n namePollTimer.unref?.();\n }\n function publishIntercomSessionId(sessionId: string): void {\n process.env[INTERCOM_SESSION_ID_ENV] = sessionId;\n }\n function restoreIntercomSessionId(): void {\n if (previousIntercomSessionId === undefined) {\n delete process.env[INTERCOM_SESSION_ID_ENV];\n return;\n }\n process.env[INTERCOM_SESSION_ID_ENV] = previousIntercomSessionId;\n }\n function syncPresenceStatus(): void {\n if (!client || !currentSessionId || !getLiveContext()) {\n return;\n }\n client.updatePresence({ status: currentStatus() });\n }\n function currentSessionTargetMatches(to: string, resolvedTo?: string | null, activeClient?: IntercomClient): boolean {\n const targets = new Set<string>();\n const addTarget = (target: string | undefined | null) => {\n const trimmed = target?.trim();\n if (trimmed) targets.add(trimmed.toLowerCase());\n };\n addTarget(currentSessionId);\n addTarget(activeClient?.sessionId);\n addTarget(pi.getSessionName());\n if (currentSessionId) addTarget(buildPresenceIdentity(pi, currentSessionId).name);\n return Boolean(resolvedTo && activeClient?.sessionId && resolvedTo === activeClient.sessionId)\n || targets.has(to.trim().toLowerCase());\n }\n function shouldTriggerInboundMessage(entry: InboundMessageEntry, forceTrigger = false): boolean {\n if (forceTrigger) {\n return true;\n }\n if (config.inboundTrigger === \"always\") {\n return true;\n }\n if (config.inboundTrigger === \"replies\") {\n return Boolean(entry.message.replyTo);\n }\n return false;\n }\n function sendIncomingMessage(entry: InboundMessageEntry, delivery: \"trigger\" | \"followUp\", generation = runtimeGeneration, forceTrigger = false): void {\n if (runtimeStarted && !getLiveContext(runtimeContext, generation)) {\n return;\n }\n if (delivery !== \"followUp\") {\n replyTracker.queueTurnContext({ from: entry.from, message: entry.message, receivedAt: Date.now() });\n }\n const senderDisplay = entry.from.name || entry.from.id.slice(0, 8);\n const replyInstruction = entry.replyCommand ? `\\n\\nTo reply, use the intercom tool: ${entry.replyCommand}` : \"\";\n pi.sendMessage(\n {\n customType: \"intercom_message\",\n content: `**๐จ From ${senderDisplay}** (${entry.from.cwd})${replyInstruction}\\n\\n${entry.bodyText}`,\n display: true,\n details: entry,\n },\n delivery === \"trigger\" && shouldTriggerInboundMessage(entry, forceTrigger)\n ? { triggerTurn: true }\n : { deliverAs: \"followUp\" }\n );\n }\n function scheduleInboundFlush(delayMs = INBOUND_FLUSH_DELAY_MS): void {\n if (!getLiveContext()) {\n return;\n }\n const scheduledGeneration = runtimeGeneration;\n clearInboundFlushTimer();\n inboundFlushTimer = setTimeout(() => {\n inboundFlushTimer = null;\n flushIdleMessages(scheduledGeneration);\n }, delayMs);\n }\n function flushIdleMessages(generation = runtimeGeneration): void {\n if (pendingIdleMessages.length === 0) {\n return;\n }\n const ctx = getLiveContext(runtimeContext, generation);\n if (!ctx) {\n return;\n }\n\n let isIdle: boolean;\n try {\n isIdle = ctx.isIdle();\n } catch {\n // Stale contexts are cleaned up by shutdown/reload; do not deliver queued messages through them.\n return;\n }\n if (!isIdle) {\n scheduleInboundFlush(INBOUND_IDLE_RETRY_MS);\n return;\n }\n\n const entries = pendingIdleMessages.splice(0, pendingIdleMessages.length);\n entries.forEach((entry, index) => {\n sendIncomingMessage(entry, index === 0 ? \"trigger\" : \"followUp\");\n });\n }\n function queueIdleMessage(entry: InboundMessageEntry): void {\n pendingIdleMessages.push(entry);\n scheduleInboundFlush();\n }\n function handleIncomingMessage(ctx: ExtensionContext, from: SessionInfo, message: Message): void {\n const messageGeneration = runtimeGeneration;\n const liveContext = getLiveContext(ctx, messageGeneration);\n if (!liveContext) {\n return;\n }\n if (replyWaiter) {\n const senderTarget = from.name || from.id;\n const fromMatches = senderTarget.toLowerCase() === replyWaiter.from.toLowerCase()\n || from.id === replyWaiter.from;\n const replyMatches = message.replyTo === replyWaiter.replyTo;\n if (fromMatches && replyMatches) {\n replyWaiter.resolve(message);\n return;\n }\n }\n const attachmentText = message.content.attachments?.length\n ? formatAttachments(message.content.attachments)\n : \"\";\n const bodyText = `${message.content.text}${attachmentText}`;\n const replyCommand = config.replyHint && message.expectsReply\n ? `intercom({ action: \"reply\", message: \"...\" })`\n : undefined;\n replyTracker.recordIncomingMessage(from, message);\n const entry = { from, message, replyCommand, bodyText };\n void (async () => {\n const activeContext = getLiveContext(liveContext, messageGeneration);\n if (!activeContext) {\n return;\n }\n if (!activeContext.isIdle()) {\n if (!activeContext.hasUI) {\n const activeClient = client;\n if (!message.replyTo && activeClient?.isConnected()) {\n try {\n const result = await activeClient.send(from.id, {\n text: \"This agent is running in non-interactive mode and cannot respond to intercom messages while it is working. It will continue its current task and exit when done.\",\n replyTo: message.id,\n });\n if (result.delivered && getLiveContext(liveContext, messageGeneration)) {\n replyTracker.markReplied(message.id);\n }\n } catch {\n // Best-effort reply; keep the busy non-interactive session running either way.\n }\n }\n return;\n }\n queueIdleMessage(entry);\n return;\n }\n if (getLiveContext(liveContext, messageGeneration)) {\n sendIncomingMessage(entry, \"trigger\", messageGeneration);\n }\n })();\n }\n function attachClientHandlers(nextClient: IntercomClient): void {\n nextClient.on(\"message\", (from, message) => {\n const liveContext = getLiveContext();\n if (client !== nextClient || !liveContext) {\n return;\n }\n handleIncomingMessage(liveContext, from, message);\n });\n nextClient.on(\"disconnected\", (error: Error) => {\n if (client !== nextClient) {\n return;\n }\n rejectReplyWaiter(new Error(`Disconnected while waiting for reply: ${error.message}`, { cause: error }));\n client = null;\n if (!shuttingDown && !disposed) {\n clearReconnectTimer();\n scheduleReconnect();\n }\n });\n nextClient.on(\"error\", () => {\n // Keep broker/socket noise out of the TUI. Reconnect logic runs from the disconnect path.\n });\n }\n function scheduleReconnect(): void {\n if (disposed || shuttingDown || reconnectTimer || reconnectPromise || !getLiveContext()) {\n return;\n }\n const scheduledGeneration = runtimeGeneration;\n reconnectTimer = setTimeout(() => {\n reconnectTimer = null;\n if (scheduledGeneration !== runtimeGeneration || !getLiveContext()) {\n return;\n }\n reconnectAttempt += 1;\n void ensureConnected(\"background\").catch(() => {\n // ensureConnected(\"background\") already queued the next retry.\n });\n }, getReconnectDelayMs());\n }\n async function ensureConnected(reason: \"startup\" | \"background\" | \"tool\" | \"overlay\"): Promise<IntercomClient> {\n if (!config.enabled) {\n throw new Error(\"Intercom disabled\");\n }\n if (disposed || shuttingDown) {\n throw new Error(\"Intercom shutting down\");\n }\n if (client && client.isConnected()) {\n return client;\n }\n const contextAtStart = getLiveContext();\n const generationAtStart = runtimeGeneration;\n if (!contextAtStart || !currentSessionId || sessionStartedAt === null) {\n throw new Error(\"Intercom runtime not initialized\");\n }\n clearReconnectTimer();\n if (reconnectPromise && reconnectPromiseGeneration === generationAtStart) {\n return reconnectPromise;\n }\n const nextReconnectPromise = (async () => {\n const nextClient = new IntercomClient();\n client = nextClient;\n attachClientHandlers(nextClient);\n try {\n await spawnBrokerIfNeeded(config.brokerCommand, config.brokerArgs);\n await nextClient.connect(buildRegistration(), currentSessionId);\n if (!getLiveContext(contextAtStart, generationAtStart)) {\n await nextClient.disconnect();\n throw new Error(\"Intercom runtime no longer active\");\n }\n client = nextClient;\n reconnectAttempt = 0;\n return nextClient;\n } catch (error) {\n if (client === nextClient) {\n client = null;\n }\n if (reason === \"background\" && getLiveContext(contextAtStart, generationAtStart)) {\n scheduleReconnect();\n }\n throw toError(error);\n } finally {\n if (reconnectPromise === nextReconnectPromise) {\n reconnectPromise = null;\n reconnectPromiseGeneration = null;\n }\n }\n })();\n reconnectPromise = nextReconnectPromise;\n reconnectPromiseGeneration = generationAtStart;\n return nextReconnectPromise;\n }\n async function resolveSessionTarget(activeClient: IntercomClient, nameOrId: string): Promise<string | null> {\n const sessions = await activeClient.listSessions();\n const byId = sessions.find(s => s.id === nameOrId);\n if (byId) {\n return byId.id;\n }\n const lowerName = nameOrId.toLowerCase();\n const byName = sessions.filter(s => s.name?.toLowerCase() === lowerName);\n if (byName.length > 1) {\n throw new Error(`Multiple sessions named \"${nameOrId}\" are connected. Use the session ID instead.`);\n }\n if (byName.length === 1) {\n return byName[0]!.id;\n }\n\n const byIdPrefix = sessions.filter(s => s.id.startsWith(nameOrId));\n if (byIdPrefix.length === 1) {\n return byIdPrefix[0]!.id;\n }\n if (byIdPrefix.length > 1) {\n throw new Error(`Multiple sessions match ID prefix \"${nameOrId}\". Use a longer session ID prefix.`);\n }\n return null;\n }\n async function resolveSupervisorTarget(activeClient: IntercomClient, metadata: ChildOrchestratorMetadata): Promise<string> {\n if (metadata.orchestratorSessionId) {\n const bySessionId = await resolveSessionTarget(activeClient, metadata.orchestratorSessionId);\n if (bySessionId) {\n return bySessionId;\n }\n }\n return await resolveSessionTarget(activeClient, metadata.orchestratorTarget) ?? metadata.orchestratorTarget;\n }\n function deliverLocalSubagentRelayMessage(sender: \"subagent-control\" | \"subagent-result\", status: string, messageText: string): void {\n const liveContext = getLiveContext();\n const now = Date.now();\n sendIncomingMessage({\n from: {\n id: sender,\n name: sender,\n cwd: liveContext?.cwd ?? \"\",\n model: sender,\n pid: process.pid,\n startedAt: now,\n lastActivity: now,\n status,\n },\n message: {\n id: randomUUID(),\n timestamp: now,\n content: { text: messageText },\n },\n bodyText: messageText,\n }, \"trigger\", runtimeGeneration, true);\n }\n function recordSubagentDeliveryError(entryType: string, to: string, message: string, error: unknown): void {\n pi.appendEntry(entryType, {\n to,\n message,\n error: getErrorMessage(error),\n timestamp: Date.now(),\n });\n }\n function startSessionRuntime(ctx: ExtensionContext): void {\n const previousClient = client;\n if (previousClient) {\n client = null;\n void previousClient.disconnect().catch(() => undefined);\n }\n shuttingDown = false;\n disposed = false;\n runtimeStarted = true;\n runtimeGeneration += 1;\n reconnectAttempt = 0;\n clearReconnectTimer();\n clearStartupConnectTimer();\n clearNamePollTimer();\n clearInboundFlushTimer();\n rejectReplyWaiter(new Error(\"Session replaced\"));\n replyTracker.reset();\n pendingIdleMessages.length = 0;\n runtimeContext = ctx;\n currentSessionId = ctx.sessionManager.getSessionId();\n publishIntercomSessionId(currentSessionId);\n currentModel = ctx.model?.id ?? \"unknown\";\n sessionStartedAt = Date.now();\n lastPresenceName = buildPresenceIdentity(pi, currentSessionId).name;\n agentRunning = false;\n activeTools.clear();\n startNamePoll();\n const startupGeneration = runtimeGeneration;\n startupConnectTimer = setTimeout(() => {\n startupConnectTimer = null;\n if (!getLiveContext(ctx, startupGeneration)) {\n return;\n }\n void ensureConnected(\"startup\").catch(() => {\n if (!getLiveContext(ctx, startupGeneration)) {\n return;\n }\n client = null;\n scheduleReconnect();\n });\n }, 0);\n }\n function emitResultDelivery(requestId: string | undefined, delivered: boolean, error?: unknown): void {\n if (!requestId) return;\n pi.events.emit(SUBAGENT_RESULT_INTERCOM_DELIVERY_EVENT, {\n requestId,\n delivered,\n ...(error ? { error: getErrorMessage(error) } : {}),\n });\n }\n function relaySubagentIntercomPayload(payload: unknown, options: {\n sender: \"subagent-control\" | \"subagent-result\";\n status: string;\n errorEntryType: string;\n acknowledge?: boolean;\n }): void {\n const parsed = parseSubagentIntercomPayload(payload);\n if (!parsed) return;\n\n const relayGeneration = runtimeGeneration;\n void (async () => {\n const relayStillLive = () => !runtimeStarted || Boolean(getLiveContext(runtimeContext, relayGeneration));\n if (!relayStillLive()) {\n return;\n }\n if (currentSessionTargetMatches(parsed.to)) {\n deliverLocalSubagentRelayMessage(options.sender, options.status, parsed.message);\n if (options.acknowledge) emitResultDelivery(parsed.requestId, true);\n return;\n }\n\n let activeClient: IntercomClient;\n let target: string;\n try {\n activeClient = await ensureConnected(\"background\");\n target = await resolveSessionTarget(activeClient, parsed.to) ?? parsed.to;\n } catch (error) {\n if (!relayStillLive()) return;\n recordSubagentDeliveryError(options.errorEntryType, parsed.to, parsed.message, error);\n if (options.acknowledge) emitResultDelivery(parsed.requestId, false, error);\n return;\n }\n\n if (!relayStillLive()) {\n return;\n }\n if (currentSessionTargetMatches(parsed.to, target, activeClient)) {\n deliverLocalSubagentRelayMessage(options.sender, options.status, parsed.message);\n if (options.acknowledge) emitResultDelivery(parsed.requestId, true);\n return;\n }\n\n try {\n const result = await activeClient.send(target, { text: parsed.message });\n if (!relayStillLive()) return;\n if (!result.delivered) {\n const error = new Error(result.reason ?? \"Session may not exist or has disconnected.\");\n recordSubagentDeliveryError(options.errorEntryType, parsed.to, parsed.message, error);\n if (options.acknowledge) emitResultDelivery(parsed.requestId, false, error);\n return;\n }\n if (options.acknowledge) emitResultDelivery(parsed.requestId, true);\n } catch (error) {\n if (!relayStillLive()) return;\n recordSubagentDeliveryError(options.errorEntryType, parsed.to, parsed.message, error);\n if (options.acknowledge) emitResultDelivery(parsed.requestId, false, error);\n }\n })();\n }\n const unsubscribeSubagentControlIntercom = pi.events.on(SUBAGENT_CONTROL_INTERCOM_EVENT, (payload) => {\n relaySubagentIntercomPayload(payload, {\n sender: \"subagent-control\",\n status: \"needs_attention\",\n errorEntryType: \"intercom_control_error\",\n });\n });\n const unsubscribeSubagentResultIntercom = pi.events.on(SUBAGENT_RESULT_INTERCOM_EVENT, (payload) => {\n relaySubagentIntercomPayload(payload, {\n sender: \"subagent-result\",\n status: \"result\",\n errorEntryType: \"intercom_result_error\",\n acknowledge: true,\n });\n });\n pi.on(\"session_start\", (_event, ctx) => {\n if (!config.enabled) {\n return;\n }\n startSessionRuntime(ctx);\n });\n \n pi.on(\"session_shutdown\", async () => {\n unsubscribeSubagentControlIntercom();\n unsubscribeSubagentResultIntercom();\n shuttingDown = true;\n disposed = true;\n runtimeGeneration += 1;\n clearStartupConnectTimer();\n clearReconnectTimer();\n clearNamePollTimer();\n restoreIntercomSessionId();\n rejectReplyWaiter(new Error(\"Session shutting down\"));\n replyTracker.reset();\n pendingIdleMessages.length = 0;\n clearInboundFlushTimer();\n agentRunning = false;\n activeTools.clear();\n if (client) {\n await client.disconnect();\n client = null;\n }\n runtimeContext = null;\n currentSessionId = null;\n sessionStartedAt = null;\n });\n pi.on(\"turn_end\", () => {\n if (!getLiveContext()) {\n return;\n }\n replyTracker.endTurn();\n scheduleInboundFlush(0);\n });\n pi.on(\"agent_start\", () => {\n if (!getLiveContext()) {\n return;\n }\n agentRunning = true;\n activeTools.clear();\n syncPresenceStatus();\n });\n pi.on(\"tool_execution_start\", (event) => {\n if (!getLiveContext()) {\n return;\n }\n activeTools.set(event.toolCallId, event.toolName);\n syncPresenceStatus();\n });\n pi.on(\"tool_execution_end\", (event) => {\n if (!getLiveContext()) {\n return;\n }\n activeTools.delete(event.toolCallId);\n syncPresenceStatus();\n });\n pi.on(\"agent_end\", () => {\n if (!getLiveContext()) {\n return;\n }\n agentRunning = false;\n activeTools.clear();\n syncPresenceStatus();\n scheduleInboundFlush(0);\n });\n pi.on(\"turn_start\", (_event, ctx) => {\n const sessionId = ctx.sessionManager.getSessionId();\n if (!currentSessionId || sessionId !== currentSessionId) {\n if (!config.enabled) {\n return;\n }\n startSessionRuntime(ctx);\n replyTracker.beginTurn();\n return;\n }\n if (!getLiveContext(ctx)) {\n return;\n }\n syncPresenceIdentity(sessionId);\n replyTracker.beginTurn();\n });\n pi.on(\"model_select\", (event, ctx) => {\n if (!getLiveContext(ctx)) {\n return;\n }\n currentModel = event.model.id;\n if (client) {\n client.updatePresence({\n ...buildPresenceIdentity(pi, ctx.sessionManager.getSessionId()),\n model: event.model.id,\n status: currentStatus(),\n });\n }\n });\n\n pi.registerMessageRenderer(\"intercom_message\", (message, options, theme) => {\n const details = message.details as { from: SessionInfo; message: Message; replyCommand?: string; bodyText?: string } | undefined;\n if (!details) return undefined;\n // lunr: hide subagent relay messages (subagent-result, subagent-control) from the chat โ the subagent tool result view\n // already shows the outcome (โ/stats); the message stays in the transcript for\n // the model. Returning undefined would fall back to the default boxed renderer,\n // so return a zero-line component instead.\n const sender = details.from?.name || details.from?.id;\n if (sender === \"subagent-result\" || sender === \"subagent-control\") {\n return { render: () => [], invalidate() {} };\n }\n return new InlineMessageComponent(details.from, details.message, theme, details.replyCommand, details.bodyText, !options.expanded);\n });\n\n pi.on(\"tool_result\", (event) => {\n if (event.toolName !== \"intercom\" && event.toolName !== \"contact_supervisor\") {\n return;\n }\n if (!event.details || typeof event.details !== \"object\") {\n return;\n }\n\n const details = event.details as { error?: unknown; delivered?: unknown };\n if (details.error === true || details.delivered === false) {\n return { isError: true };\n }\n });\n\n const childOrchestratorMetadata = readChildOrchestratorMetadata();\n if (childOrchestratorMetadata) {\n pi.registerTool({\n name: \"contact_supervisor\",\n label: \"Contact Supervisor\",\n description: \"Subagent-only tool for contacting the supervisor agent that delegated this task. Use need_decision when blocked, uncertain, needing approval, or facing a product/API/scope decision before continuing; this waits for the supervisor's reply. Use interview_request when multiple structured questions need supervisor answers; this also waits for a reply. Use progress_update only for meaningful progress or unexpected discoveries that change the plan; this does not wait for a reply. Do not use for routine completion handoffs.\",\n promptSnippet: \"Subagent-only: contact the supervisor for decisions, structured interviews, or meaningful plan-changing updates. Do not use for routine completion handoffs.\",\n promptGuidelines: [\n \"Use contact_supervisor with reason='need_decision' when a subagent is blocked, uncertain, needs approval, or faces a product/API/scope decision before continuing.\",\n \"Use contact_supervisor with reason='interview_request' when the child needs multiple structured answers from the supervisor in one blocking exchange.\",\n \"Use contact_supervisor with reason='progress_update' only for meaningful progress or unexpected discoveries that change the plan.\",\n \"Do not use contact_supervisor for routine completion handoffs; return the final subagent result normally.\",\n ],\n parameters: Type.Object({\n reason: StringEnum([\"need_decision\", \"progress_update\", \"interview_request\"] as const, {\n description: \"Contact reason: 'need_decision' waits for a reply; 'interview_request' sends structured questions and waits for a reply; 'progress_update' sends a non-blocking update\",\n }),\n message: Type.Optional(Type.String({\n description: \"Decision request, optional interview note, or meaningful progress update for the supervisor\",\n })),\n interview: Type.Optional(Type.Object({\n title: Type.Optional(Type.String()),\n description: Type.Optional(Type.String()),\n questions: Type.Array(Type.Object({\n id: Type.String(),\n type: StringEnum([\"single\", \"multi\", \"text\", \"image\", \"info\"] as const, {\n description: \"Question type: single, multi, text, image, or info\",\n }),\n question: Type.String(),\n options: Type.Optional(Type.Array(Type.Any())),\n context: Type.Optional(Type.String()),\n })),\n }, { description: \"Structured interview request for reason='interview_request'\" })),\n }),\n async execute(_toolCallId, params, signal, _onUpdate, ctx) {\n const reason = params.reason as ContactSupervisorReason;\n if (reason !== \"need_decision\" && reason !== \"progress_update\" && reason !== \"interview_request\") {\n return {\n content: [{ type: \"text\", text: \"Invalid reason. Use 'need_decision', 'interview_request', or 'progress_update'.\" }],\n details: { error: true },\n };\n }\n if ((reason === \"need_decision\" || reason === \"progress_update\") && typeof params.message !== \"string\") {\n return {\n content: [{ type: \"text\", text: `Missing 'message' parameter for reason '${reason}'.` }],\n details: { error: true },\n };\n }\n const interviewValidation = reason === \"interview_request\"\n ? validateSupervisorInterviewRequest(params.interview)\n : undefined;\n if (interviewValidation?.ok === false) {\n return {\n content: [{ type: \"text\", text: `Invalid interview request: ${interviewValidation.error}` }],\n details: { error: true },\n };\n }\n const supervisorInterview = interviewValidation?.ok === true ? interviewValidation.interview : undefined;\n\n let connectedClient: IntercomClient;\n try {\n connectedClient = await ensureConnected(\"tool\");\n } catch (error) {\n return {\n content: [{ type: \"text\", text: `Intercom not connected: ${getErrorMessage(error)}` }],\n details: { error: true },\n };\n }\n\n syncPresenceIdentity(ctx.sessionManager.getSessionId());\n\n if (signal?.aborted) {\n return {\n content: [{ type: \"text\", text: \"Cancelled\" }],\n details: { error: true },\n };\n }\n\n const metadata = childOrchestratorMetadata;\n let sendTo: string;\n try {\n sendTo = await resolveSupervisorTarget(connectedClient, metadata);\n } catch (error) {\n return {\n content: [{ type: \"text\", text: `Failed to resolve supervisor target: ${getErrorMessage(error)}` }],\n details: { error: true },\n };\n }\n if (signal?.aborted) {\n return {\n content: [{ type: \"text\", text: \"Cancelled\" }],\n details: { error: true },\n };\n }\n if (sendTo === connectedClient.sessionId) {\n return {\n content: [{ type: \"text\", text: \"Cannot message the current session\" }],\n details: { error: true },\n };\n }\n\n if (reason === \"progress_update\") {\n const message = params.message as string;\n try {\n const result = await connectedClient.send(sendTo, {\n text: formatChildOrchestratorMessage(\"update\", metadata, message),\n });\n if (!result.delivered) {\n const errorText = result.reason ?? \"Session may not exist or has disconnected.\";\n return {\n content: [{ type: \"text\", text: `Message to \"${metadata.orchestratorTarget}\" was not delivered: ${errorText}` }],\n details: { messageId: result.id, delivered: false, reason: result.reason },\n };\n }\n pi.appendEntry(\"intercom_sent\", {\n to: metadata.orchestratorTarget,\n message: { text: message, reason },\n messageId: result.id,\n timestamp: Date.now(),\n subagent: { runId: metadata.runId, agent: metadata.agent, index: metadata.index },\n });\n return {\n content: [{ type: \"text\", text: `Progress update sent to supervisor ${metadata.orchestratorTarget}` }],\n details: { messageId: result.id, delivered: true },\n };\n } catch (error) {\n return {\n content: [{ type: \"text\", text: `Failed to send progress update: ${getErrorMessage(error)}` }],\n details: { error: true },\n };\n }\n }\n\n if (replyWaiter) {\n return {\n content: [{ type: \"text\", text: \"Already waiting for a reply\" }],\n details: { error: true },\n };\n }\n\n let replyPromise: Promise<Message> | null = null;\n try {\n const questionId = randomUUID();\n replyPromise = waitForReply(sendTo, questionId, signal, () => connectedClient.cancelAsk(questionId));\n replyPromise.catch(() => undefined);\n if (signal?.aborted) {\n rejectReplyWaiter(new Error(\"Cancelled\"));\n try {\n await replyPromise;\n } catch {\n // The waiter was intentionally rejected above; the tool result reports cancellation.\n }\n return {\n content: [{ type: \"text\", text: \"Cancelled\" }],\n details: { error: true },\n };\n }\n const requestText = reason === \"interview_request\"\n ? formatChildOrchestratorMessage(\"interview\", metadata, formatSupervisorInterviewRequest(supervisorInterview!, typeof params.message === \"string\" ? params.message : undefined))\n : formatChildOrchestratorMessage(\"ask\", metadata, params.message as string);\n const sendResult = await connectedClient.send(sendTo, {\n messageId: questionId,\n text: requestText,\n expectsReply: true,\n });\n if (!sendResult.delivered) {\n const errorText = sendResult.reason ?? \"Session may not exist or has disconnected.\";\n rejectReplyWaiter(new Error(`Message to \"${metadata.orchestratorTarget}\" was not delivered: ${errorText}`));\n if (replyPromise) {\n try {\n await replyPromise;\n } catch {\n // The waiter was already rejected above. Keep the delivery failure as the only error here.\n }\n }\n return {\n content: [{ type: \"text\", text: `Message to \"${metadata.orchestratorTarget}\" was not delivered: ${errorText}` }],\n details: { error: true },\n };\n }\n pi.appendEntry(\"intercom_sent\", {\n to: metadata.orchestratorTarget,\n message: {\n text: reason === \"interview_request\" ? requestText : params.message,\n reason,\n ...(reason === \"interview_request\" ? { interview: supervisorInterview } : {}),\n },\n messageId: sendResult.id,\n timestamp: Date.now(),\n subagent: { runId: metadata.runId, agent: metadata.agent, index: metadata.index },\n });\n const replyMessage = await replyPromise;\n const replyText = replyMessage.content.text;\n const replyAttachments = replyMessage.content.attachments?.length\n ? formatAttachments(replyMessage.content.attachments)\n : \"\";\n const structuredReply = reason === \"interview_request\" ? parseStructuredSupervisorReply(replyText, supervisorInterview!) : undefined;\n pi.appendEntry(\"intercom_received\", {\n from: metadata.orchestratorTarget,\n message: { text: replyText, attachments: replyMessage.content.attachments },\n messageId: replyMessage.id,\n timestamp: replyMessage.timestamp,\n subagent: { runId: metadata.runId, agent: metadata.agent, index: metadata.index },\n });\n return {\n content: [{ type: \"text\", text: `**Reply from supervisor:**\\n${replyText}${replyAttachments}` }],\n details: structuredReply\n ? structuredReply.value !== undefined\n ? { structuredReply: structuredReply.value }\n : { structuredReplyParseError: structuredReply.error }\n : {},\n };\n } catch (error) {\n rejectReplyWaiter(toError(error));\n if (replyPromise) {\n try {\n await replyPromise;\n } catch {\n // The waiter is cleanup-only on this path. The real failure is the one from the outer catch.\n }\n }\n return {\n content: [{ type: \"text\", text: `Failed: ${getErrorMessage(error)}` }],\n details: { error: true },\n };\n }\n },\n renderCall(args, theme) {\n const reason = typeof args.reason === \"string\" ? args.reason : \"contact\";\n const messagePreview = previewText(args.message, 96);\n const interview = args.interview && typeof args.interview === \"object\" ? args.interview as { title?: unknown } : undefined;\n let text = theme.fg(\"toolTitle\", theme.bold(\"contact_supervisor \"));\n text += theme.fg(reason === \"need_decision\" ? \"warning\" : reason === \"progress_update\" ? \"muted\" : \"accent\", reason);\n if (typeof interview?.title === \"string\" && interview.title.trim()) {\n text += \" \" + theme.fg(\"accent\", interview.title.trim());\n }\n if (messagePreview) {\n text += \"\\n \" + theme.fg(\"dim\", messagePreview);\n }\n return new Text(text, 0, 0);\n },\n renderResult(result, { isPartial }, theme, context) {\n if (isPartial) {\n return new Text(theme.fg(\"warning\", \"Waiting for supervisor...\"), 0, 0);\n }\n const details = result.details as { delivered?: boolean; error?: boolean; messageId?: string; reason?: string; structuredReplyParseError?: string } | undefined;\n const textContent = firstTextContent(result);\n const failed = Boolean(context.isError || details?.error === true || details?.delivered === false);\n const parseWarning = typeof details?.structuredReplyParseError === \"string\";\n let text = failed\n ? theme.fg(\"error\", \"โ \")\n : parseWarning\n ? theme.fg(\"warning\", \"โ \")\n : theme.fg(\"success\", \"โ \");\n text += theme.fg(failed ? \"error\" : \"text\", textContent);\n if (parseWarning) {\n text += \"\\n\" + theme.fg(\"warning\", `Structured reply parse issue: ${details.structuredReplyParseError}`);\n }\n return new Text(text, 0, 0);\n },\n } as any);\n }\n\n pi.registerTool({\n name: \"intercom\",\n label: \"Intercom\",\n description: `Send a message to another pi session running on this machine.\nUse this to communicate findings, request help, or coordinate work with other sessions.\n\nUsage:\n intercom({ action: \"list\" }) โ List active sessions\n intercom({ action: \"send\", to: \"session-name\", message: \"...\" }) โ Send message\n intercom({ action: \"ask\", to: \"session-name\", message: \"...\" }) โ Ask and wait for reply\n intercom({ action: \"reply\", message: \"...\" }) โ Reply to the active/single pending ask\n intercom({ action: \"pending\" }) โ List unresolved inbound asks\n intercom({ action: \"status\" }) โ Show connection status`,\n promptSnippet:\n \"Use to coordinate with other local pi sessions: list peers, send updates, ask for help, or check intercom connectivity.\",\n\n parameters: Type.Object({\n action: StringEnum([\"list\", \"send\", \"ask\", \"reply\", \"pending\", \"status\"] as const, {\n description: \"Action: 'list', 'send', 'ask', 'reply', 'pending', or 'status'\",\n }),\n to: Type.Optional(Type.String({\n description: \"Target session name or ID (for 'send', 'ask', or disambiguating 'reply')\",\n })),\n message: Type.Optional(Type.String({\n description: \"Message to send (for 'send', 'ask', or 'reply' action)\",\n })),\n attachments: Type.Optional(Type.Array(Type.Object({\n type: StringEnum([\"file\", \"snippet\", \"context\"] as const),\n name: Type.String(),\n content: Type.String(),\n language: Type.Optional(Type.String()),\n }))),\n replyTo: Type.Optional(Type.String({\n description: \"Message ID to reply to (for threading or responding to an 'ask')\",\n })),\n }),\n\n async execute(_toolCallId, params, _signal, _onUpdate, ctx) {\n let connectedClient: IntercomClient;\n try {\n connectedClient = await ensureConnected(\"tool\");\n } catch (error) {\n return {\n content: [{ type: \"text\", text: `Intercom not connected: ${getErrorMessage(error)}` }],\n details: { error: true },\n };\n }\n\n syncPresenceIdentity(ctx.sessionManager.getSessionId());\n\n const { action, to, message, attachments, replyTo } = params;\n\n switch (action) {\n case \"list\": {\n try {\n const mySessionId = connectedClient.sessionId;\n const sessions = await connectedClient.listSessions();\n const currentSession = sessions.find(s => s.id === mySessionId);\n const otherSessions = sessions.filter(s => s.id !== mySessionId);\n\n if (!currentSession) {\n return {\n content: [{ type: \"text\", text: \"Current session is missing from intercom session list.\" }],\n details: { error: true },\n };\n }\n\n const currentSection = `**Current session:**\\n${formatSessionListRow(currentSession, currentSession.cwd, true)}`;\n const otherSection = otherSessions.length === 0\n ? \"**Other sessions:**\\nNo other sessions connected.\"\n : `**Other sessions:**\\n${otherSessions.map(s => formatSessionListRow(s, currentSession.cwd, false)).join(\"\\n\")}`;\n\n return {\n content: [{ type: \"text\", text: `${currentSection}\\n\\n${otherSection}` }],\n details: {},\n };\n } catch (error) {\n return {\n content: [{ type: \"text\", text: `Failed to list sessions: ${getErrorMessage(error)}` }],\n details: { error: true },\n };\n }\n }\n\n case \"send\": {\n if (!to || !message) {\n return {\n content: [{ type: \"text\", text: \"Missing 'to' or 'message' parameter\" }],\n details: { error: true },\n };\n }\n try {\n const sendTo = await resolveSessionTarget(connectedClient, to) ?? to;\n if (sendTo === connectedClient.sessionId) {\n return {\n content: [{ type: \"text\", text: \"Cannot message the current session\" }],\n details: { error: true },\n };\n }\n if (!replyTo && config.confirmSend && ctx.hasUI) {\n const attachmentText = attachments?.length ? formatAttachments(attachments) : \"\";\n const confirmed = await ctx.ui.confirm(\n \"Send Message\",\n `Send to \"${to}\":\\n\\n${message}${attachmentText}`,\n );\n if (!confirmed) {\n return {\n content: [{ type: \"text\", text: \"Message cancelled by user\" }],\n details: {},\n };\n }\n }\n const result = await connectedClient.send(sendTo, {\n text: message,\n attachments,\n replyTo,\n });\n if (!result.delivered) {\n const errorText = result.reason ?? \"Session may not exist or has disconnected.\";\n return {\n content: [{ type: \"text\", text: `Message to \"${to}\" was not delivered: ${errorText}` }],\n details: { messageId: result.id, delivered: false, reason: result.reason },\n };\n }\n pi.appendEntry(\"intercom_sent\", {\n to,\n message: { text: message, attachments, replyTo },\n messageId: result.id,\n timestamp: Date.now(),\n });\n if (replyTo) {\n replyTracker.markReplied(replyTo);\n }\n return {\n content: [{ type: \"text\", text: `Message sent to ${to}` }],\n details: { messageId: result.id, delivered: true },\n };\n } catch (error) {\n return {\n content: [{ type: \"text\", text: `Failed to send: ${getErrorMessage(error)}` }],\n details: { error: true },\n };\n }\n }\n\n case \"ask\": {\n if (!to || !message) {\n return {\n content: [{ type: \"text\", text: \"Missing 'to' or 'message' parameter\" }],\n details: { error: true },\n };\n }\n\n if (replyWaiter) {\n return {\n content: [{ type: \"text\", text: \"Already waiting for a reply\" }],\n details: { error: true },\n };\n }\n\n if (_signal?.aborted) {\n return {\n content: [{ type: \"text\", text: \"Cancelled\" }],\n details: { error: true },\n };\n }\n let replyPromise: Promise<Message> | null = null;\n\n try {\n const sendTo = await resolveSessionTarget(connectedClient, to) ?? to;\n if (_signal?.aborted) {\n return {\n content: [{ type: \"text\", text: \"Cancelled\" }],\n details: { error: true },\n };\n }\n if (sendTo === connectedClient.sessionId) {\n return {\n content: [{ type: \"text\", text: \"Cannot message the current session\" }],\n details: { error: true },\n };\n }\n if (replyWaiter) {\n return {\n content: [{ type: \"text\", text: \"Already waiting for a reply\" }],\n details: { error: true },\n };\n }\n const questionId = randomUUID();\n replyPromise = waitForReply(sendTo, questionId, _signal, () => connectedClient.cancelAsk(questionId));\n replyPromise.catch(() => undefined);\n const sendResult = await connectedClient.send(sendTo, {\n messageId: questionId,\n text: message,\n attachments,\n replyTo,\n expectsReply: true,\n });\n\n if (!sendResult.delivered) {\n const errorText = sendResult.reason ?? \"Session may not exist or has disconnected.\";\n rejectReplyWaiter(new Error(`Message to \"${to}\" was not delivered: ${errorText}`));\n if (replyPromise) {\n try {\n await replyPromise;\n } catch {\n // The waiter was already rejected above. Keep the delivery failure as the only error here.\n }\n }\n return {\n content: [{ type: \"text\", text: `Message to \"${to}\" was not delivered: ${errorText}` }],\n details: { error: true },\n };\n }\n pi.appendEntry(\"intercom_sent\", {\n to,\n message: { text: message, attachments, replyTo },\n messageId: sendResult.id,\n timestamp: Date.now(),\n });\n const replyMessage = await replyPromise;\n const replyText = replyMessage.content.text;\n const replyAttachments = replyMessage.content.attachments?.length\n ? formatAttachments(replyMessage.content.attachments)\n : \"\";\n pi.appendEntry(\"intercom_received\", {\n from: to,\n message: { text: replyText, attachments: replyMessage.content.attachments },\n messageId: replyMessage.id,\n timestamp: replyMessage.timestamp,\n });\n return {\n content: [{ type: \"text\", text: `**Reply from ${to}:**\\n${replyText}${replyAttachments}` }],\n details: {},\n };\n } catch (error) {\n rejectReplyWaiter(toError(error));\n if (replyPromise) {\n try {\n await replyPromise;\n } catch {\n // The waiter is cleanup-only on this path. The real failure is the one from the outer catch.\n }\n }\n return {\n content: [{ type: \"text\", text: `Failed: ${getErrorMessage(error)}` }],\n details: { error: true },\n };\n }\n }\n\n case \"reply\": {\n if (!message) {\n return {\n content: [{ type: \"text\", text: \"Missing 'message' parameter\" }],\n details: { error: true },\n };\n }\n\n try {\n const target = replyTracker.resolveReplyTarget({ to, replyTo });\n if (target.from.id === connectedClient.sessionId) {\n return {\n content: [{ type: \"text\", text: \"Cannot message the current session\" }],\n details: { error: true },\n };\n }\n const result = await connectedClient.send(target.from.id, {\n text: message,\n replyTo: target.message.id,\n });\n if (!result.delivered) {\n const errorText = result.reason ?? \"Session may not exist or has disconnected.\";\n if (result.reason === \"Session not found\") {\n replyTracker.dismissPendingAsk(target.message.id);\n }\n return {\n content: [{ type: \"text\", text: `Reply to \"${target.from.name || target.from.id}\" was not delivered: ${errorText}` }],\n details: { messageId: result.id, delivered: false, reason: result.reason },\n };\n }\n replyTracker.markReplied(target.message.id);\n pi.appendEntry(\"intercom_sent\", {\n to: target.from.name || target.from.id,\n message: { text: message, replyTo: target.message.id },\n messageId: result.id,\n timestamp: Date.now(),\n });\n return {\n content: [{ type: \"text\", text: `Reply sent to ${target.from.name || target.from.id}` }],\n details: { messageId: result.id, delivered: true, replyTo: target.message.id },\n };\n } catch (error) {\n return {\n content: [{ type: \"text\", text: `Failed to reply: ${getErrorMessage(error)}` }],\n details: { error: true },\n };\n }\n }\n\n case \"pending\": {\n const pendingAsks = replyTracker.listPending();\n if (pendingAsks.length === 0) {\n return {\n content: [{ type: \"text\", text: \"No unresolved inbound asks.\" }],\n details: {},\n };\n }\n\n const now = Date.now();\n const lines = pendingAsks.map(({ from, message, receivedAt }) => {\n const preview = message.content.text.replace(/\\s+/g, \" \").slice(0, 80);\n const elapsedSeconds = Math.max(0, Math.floor((now - receivedAt) / 1000));\n return `- ${from.name || from.id} ยท ${message.id} ยท ${elapsedSeconds}s ago ยท ${preview}`;\n });\n return {\n content: [{ type: \"text\", text: `**Pending asks:**\\n${lines.join(\"\\n\")}` }],\n details: {},\n };\n }\n\n case \"status\": {\n try {\n const mySessionId = connectedClient.sessionId;\n const sessions = await connectedClient.listSessions();\n return {\n content: [{\n type: \"text\",\n text: `**Intercom Status:**\\nConnected: Yes\\nSession ID: ${mySessionId}\\nActive sessions: ${sessions.length}`,\n }],\n details: {},\n };\n } catch (error) {\n return {\n content: [{ type: \"text\", text: `Failed to get status: ${getErrorMessage(error)}` }],\n details: { error: true },\n };\n }\n }\n\n default:\n return {\n content: [{ type: \"text\", text: `Unknown action: ${action}` }],\n details: { error: true },\n };\n }\n },\n renderCall(args, theme) {\n const action = typeof args.action === \"string\" ? args.action : \"intercom\";\n const target = typeof args.to === \"string\" && args.to.trim() ? args.to.trim() : undefined;\n const messagePreview = previewText(args.message, 96);\n const attachmentCount = Array.isArray(args.attachments) ? args.attachments.length : 0;\n let text = theme.fg(\"toolTitle\", theme.bold(\"intercom \"));\n text += theme.fg(action === \"ask\" ? \"warning\" : action === \"reply\" ? \"success\" : \"accent\", action);\n if (target) {\n text += \" \" + theme.fg(\"muted\", \"โ\") + \" \" + theme.fg(\"accent\", target);\n }\n if (attachmentCount > 0) {\n text += \" \" + theme.fg(\"dim\", `(${attachmentCount} attachment${attachmentCount === 1 ? \"\" : \"s\"})`);\n }\n if (messagePreview) {\n text += \"\\n \" + theme.fg(\"dim\", messagePreview);\n }\n return new Text(text, 0, 0);\n },\n renderResult(result, { isPartial }, theme, context) {\n if (isPartial) {\n return new Text(theme.fg(\"warning\", \"Intercom working...\"), 0, 0);\n }\n const details = result.details as { delivered?: boolean; error?: boolean; messageId?: string; reason?: string } | undefined;\n const failed = Boolean(context.isError || details?.error === true || details?.delivered === false);\n let text = failed ? theme.fg(\"error\", \"โ \") : theme.fg(\"success\", \"โ \");\n text += theme.fg(failed ? \"error\" : \"text\", firstTextContent(result));\n if (details?.messageId && !context.expanded) {\n text += theme.fg(\"dim\", ` (${details.messageId.slice(0, 8)})`);\n }\n if (details?.reason && context.expanded) {\n text += \"\\n\" + theme.fg(\"dim\", `Reason: ${details.reason}`);\n }\n return new Text(text, 0, 0);\n },\n } as any);\n\n async function openIntercomOverlay(ctx: ExtensionContext): Promise<void> {\n const overlayGeneration = runtimeGeneration;\n const liveContext = getLiveContext(ctx, overlayGeneration);\n if (!liveContext?.hasUI || (liveContext as ExtensionContext & { mode?: string }).mode !== \"tui\") return;\n\n let overlayClient: IntercomClient;\n try {\n overlayClient = await ensureConnected(\"overlay\");\n } catch (error) {\n notifyIfLive(ctx, `Intercom unavailable: ${getErrorMessage(error)}`, \"error\", overlayGeneration);\n return;\n }\n if (!getLiveContext(ctx, overlayGeneration)) return;\n\n syncPresenceIdentity(ctx.sessionManager.getSessionId());\n\n let currentSession: SessionInfo;\n let sessions: SessionInfo[];\n let duplicates: Set<string>;\n try {\n const mySessionId = overlayClient.sessionId;\n const allSessions = await overlayClient.listSessions();\n if (!getLiveContext(ctx, overlayGeneration)) return;\n const foundCurrentSession = allSessions.find(s => s.id === mySessionId);\n if (!foundCurrentSession) {\n notifyIfLive(ctx, \"Current session is missing from intercom session list\", \"error\", overlayGeneration);\n return;\n }\n currentSession = foundCurrentSession;\n duplicates = duplicateSessionNames(allSessions);\n sessions = allSessions.filter(s => s.id !== mySessionId);\n } catch (error) {\n notifyIfLive(ctx, `Failed to list sessions: ${getErrorMessage(error)}`, \"error\", overlayGeneration);\n return;\n }\n\n const selectedSession = await ctx.ui.custom<SessionInfo | undefined>(\n (_tui, theme, keybindings, done) => new SessionListOverlay(theme, keybindings, currentSession, sessions, done),\n { overlay: true, overlayOptions: { width: 88 } }\n ).catch(() => undefined);\n\n if (!selectedSession || !getLiveContext(ctx, overlayGeneration)) return;\n\n try {\n overlayClient = await ensureConnected(\"overlay\");\n } catch (error) {\n notifyIfLive(ctx, `Intercom unavailable: ${getErrorMessage(error)}`, \"error\", overlayGeneration);\n return;\n }\n if (!getLiveContext(ctx, overlayGeneration)) return;\n\n const targetLabel = formatSessionLabel(selectedSession, duplicates);\n\n const result = await ctx.ui.custom<ComposeResult>(\n (tui, theme, keybindings, done) => new ComposeOverlay(tui, theme, keybindings, selectedSession, targetLabel, overlayClient, done),\n { overlay: true, overlayOptions: { width: 72 } }\n ).catch(() => undefined);\n\n if (result?.sent && result.messageId && result.text && getLiveContext(ctx, overlayGeneration)) {\n pi.appendEntry(\"intercom_sent\", {\n to: selectedSession.name || selectedSession.id,\n message: { text: result.text },\n messageId: result.messageId,\n timestamp: Date.now(),\n });\n notifyIfLive(ctx, `Message sent to ${targetLabel}`, \"info\", overlayGeneration);\n }\n }\n\n pi.registerCommand(\"intercom\", {\n description: \"Open session intercom overlay\",\n handler: async (_args, ctx) => openIntercomOverlay(ctx),\n });\n\n pi.registerShortcut(\"alt+m\", {\n description: \"Open session intercom\",\n handler: async (ctx) => openIntercomOverlay(ctx),\n });\n}\n"]}
|