@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.
Files changed (2269) hide show
  1. package/CHANGELOG.md +5042 -0
  2. package/README.md +691 -0
  3. package/dist/builtin-extensions/ashxj-spinners.d.ts +3 -0
  4. package/dist/builtin-extensions/ashxj-spinners.d.ts.map +1 -0
  5. package/dist/builtin-extensions/ashxj-spinners.js +271 -0
  6. package/dist/builtin-extensions/ashxj-spinners.js.map +1 -0
  7. package/dist/builtin-extensions/ashxj-thinking.d.ts +65 -0
  8. package/dist/builtin-extensions/ashxj-thinking.d.ts.map +1 -0
  9. package/dist/builtin-extensions/ashxj-thinking.js +308 -0
  10. package/dist/builtin-extensions/ashxj-thinking.js.map +1 -0
  11. package/dist/builtin-extensions/ashxj-tui.d.ts +137 -0
  12. package/dist/builtin-extensions/ashxj-tui.d.ts.map +1 -0
  13. package/dist/builtin-extensions/ashxj-tui.js +579 -0
  14. package/dist/builtin-extensions/ashxj-tui.js.map +1 -0
  15. package/dist/builtin-extensions/index.d.ts +11 -0
  16. package/dist/builtin-extensions/index.d.ts.map +1 -0
  17. package/dist/builtin-extensions/index.js +62 -0
  18. package/dist/builtin-extensions/index.js.map +1 -0
  19. package/dist/builtin-extensions/lunr-behavior.d.ts +43 -0
  20. package/dist/builtin-extensions/lunr-behavior.d.ts.map +1 -0
  21. package/dist/builtin-extensions/lunr-behavior.js +201 -0
  22. package/dist/builtin-extensions/lunr-behavior.js.map +1 -0
  23. package/dist/builtin-extensions/lunr-cron.d.ts +26 -0
  24. package/dist/builtin-extensions/lunr-cron.d.ts.map +1 -0
  25. package/dist/builtin-extensions/lunr-cron.js +346 -0
  26. package/dist/builtin-extensions/lunr-cron.js.map +1 -0
  27. package/dist/builtin-extensions/lunr-local-providers/index.d.ts +20 -0
  28. package/dist/builtin-extensions/lunr-local-providers/index.d.ts.map +1 -0
  29. package/dist/builtin-extensions/lunr-local-providers/index.js +108 -0
  30. package/dist/builtin-extensions/lunr-local-providers/index.js.map +1 -0
  31. package/dist/builtin-extensions/lunr-local-providers/local-servers.d.ts +51 -0
  32. package/dist/builtin-extensions/lunr-local-providers/local-servers.d.ts.map +1 -0
  33. package/dist/builtin-extensions/lunr-local-providers/local-servers.js +128 -0
  34. package/dist/builtin-extensions/lunr-local-providers/local-servers.js.map +1 -0
  35. package/dist/builtin-extensions/lunr-plan-tools.d.ts +25 -0
  36. package/dist/builtin-extensions/lunr-plan-tools.d.ts.map +1 -0
  37. package/dist/builtin-extensions/lunr-plan-tools.js +59 -0
  38. package/dist/builtin-extensions/lunr-plan-tools.js.map +1 -0
  39. package/dist/builtin-extensions/lunr-skill-creator/index.d.ts +12 -0
  40. package/dist/builtin-extensions/lunr-skill-creator/index.d.ts.map +1 -0
  41. package/dist/builtin-extensions/lunr-skill-creator/index.js +18 -0
  42. package/dist/builtin-extensions/lunr-skill-creator/index.js.map +1 -0
  43. package/dist/builtin-extensions/lunr-skill-creator/skills/skill-creator/SKILL.md +68 -0
  44. package/dist/builtin-extensions/lunr-todos.d.ts +52 -0
  45. package/dist/builtin-extensions/lunr-todos.d.ts.map +1 -0
  46. package/dist/builtin-extensions/lunr-todos.js +189 -0
  47. package/dist/builtin-extensions/lunr-todos.js.map +1 -0
  48. package/dist/builtin-extensions/narumiruna-pi-goal/src/accounting.d.ts +23 -0
  49. package/dist/builtin-extensions/narumiruna-pi-goal/src/accounting.d.ts.map +1 -0
  50. package/dist/builtin-extensions/narumiruna-pi-goal/src/accounting.js +77 -0
  51. package/dist/builtin-extensions/narumiruna-pi-goal/src/accounting.js.map +1 -0
  52. package/dist/builtin-extensions/narumiruna-pi-goal/src/command.d.ts +18 -0
  53. package/dist/builtin-extensions/narumiruna-pi-goal/src/command.d.ts.map +1 -0
  54. package/dist/builtin-extensions/narumiruna-pi-goal/src/command.js +165 -0
  55. package/dist/builtin-extensions/narumiruna-pi-goal/src/command.js.map +1 -0
  56. package/dist/builtin-extensions/narumiruna-pi-goal/src/commands.d.ts +19 -0
  57. package/dist/builtin-extensions/narumiruna-pi-goal/src/commands.d.ts.map +1 -0
  58. package/dist/builtin-extensions/narumiruna-pi-goal/src/commands.js +495 -0
  59. package/dist/builtin-extensions/narumiruna-pi-goal/src/commands.js.map +1 -0
  60. package/dist/builtin-extensions/narumiruna-pi-goal/src/goal.d.ts +10 -0
  61. package/dist/builtin-extensions/narumiruna-pi-goal/src/goal.d.ts.map +1 -0
  62. package/dist/builtin-extensions/narumiruna-pi-goal/src/goal.js +857 -0
  63. package/dist/builtin-extensions/narumiruna-pi-goal/src/goal.js.map +1 -0
  64. package/dist/builtin-extensions/narumiruna-pi-goal/src/persistence.d.ts +57 -0
  65. package/dist/builtin-extensions/narumiruna-pi-goal/src/persistence.d.ts.map +1 -0
  66. package/dist/builtin-extensions/narumiruna-pi-goal/src/persistence.js +225 -0
  67. package/dist/builtin-extensions/narumiruna-pi-goal/src/persistence.js.map +1 -0
  68. package/dist/builtin-extensions/narumiruna-pi-goal/src/prompts.d.ts +20 -0
  69. package/dist/builtin-extensions/narumiruna-pi-goal/src/prompts.d.ts.map +1 -0
  70. package/dist/builtin-extensions/narumiruna-pi-goal/src/prompts.js +75 -0
  71. package/dist/builtin-extensions/narumiruna-pi-goal/src/prompts.js.map +1 -0
  72. package/dist/builtin-extensions/narumiruna-pi-goal/src/queue.d.ts +16 -0
  73. package/dist/builtin-extensions/narumiruna-pi-goal/src/queue.d.ts.map +1 -0
  74. package/dist/builtin-extensions/narumiruna-pi-goal/src/queue.js +67 -0
  75. package/dist/builtin-extensions/narumiruna-pi-goal/src/queue.js.map +1 -0
  76. package/dist/builtin-extensions/narumiruna-pi-goal/src/runtime.d.ts +157 -0
  77. package/dist/builtin-extensions/narumiruna-pi-goal/src/runtime.d.ts.map +1 -0
  78. package/dist/builtin-extensions/narumiruna-pi-goal/src/runtime.js +825 -0
  79. package/dist/builtin-extensions/narumiruna-pi-goal/src/runtime.js.map +1 -0
  80. package/dist/builtin-extensions/narumiruna-pi-goal/src/settings.d.ts +22 -0
  81. package/dist/builtin-extensions/narumiruna-pi-goal/src/settings.d.ts.map +1 -0
  82. package/dist/builtin-extensions/narumiruna-pi-goal/src/settings.js +64 -0
  83. package/dist/builtin-extensions/narumiruna-pi-goal/src/settings.js.map +1 -0
  84. package/dist/builtin-extensions/pi-intercom/broker/broker.d.ts +2 -0
  85. package/dist/builtin-extensions/pi-intercom/broker/broker.d.ts.map +1 -0
  86. package/dist/builtin-extensions/pi-intercom/broker/broker.js +541 -0
  87. package/dist/builtin-extensions/pi-intercom/broker/broker.js.map +1 -0
  88. package/dist/builtin-extensions/pi-intercom/broker/client.d.ts +39 -0
  89. package/dist/builtin-extensions/pi-intercom/broker/client.d.ts.map +1 -0
  90. package/dist/builtin-extensions/pi-intercom/broker/client.js +484 -0
  91. package/dist/builtin-extensions/pi-intercom/broker/client.js.map +1 -0
  92. package/dist/builtin-extensions/pi-intercom/broker/framing.d.ts +14 -0
  93. package/dist/builtin-extensions/pi-intercom/broker/framing.d.ts.map +1 -0
  94. package/dist/builtin-extensions/pi-intercom/broker/framing.js +74 -0
  95. package/dist/builtin-extensions/pi-intercom/broker/framing.js.map +1 -0
  96. package/dist/builtin-extensions/pi-intercom/broker/paths.d.ts +22 -0
  97. package/dist/builtin-extensions/pi-intercom/broker/paths.d.ts.map +1 -0
  98. package/dist/builtin-extensions/pi-intercom/broker/paths.js +88 -0
  99. package/dist/builtin-extensions/pi-intercom/broker/paths.js.map +1 -0
  100. package/dist/builtin-extensions/pi-intercom/broker/spawn.d.ts +27 -0
  101. package/dist/builtin-extensions/pi-intercom/broker/spawn.d.ts.map +1 -0
  102. package/dist/builtin-extensions/pi-intercom/broker/spawn.js +313 -0
  103. package/dist/builtin-extensions/pi-intercom/broker/spawn.js.map +1 -0
  104. package/dist/builtin-extensions/pi-intercom/config.d.ts +22 -0
  105. package/dist/builtin-extensions/pi-intercom/config.d.ts.map +1 -0
  106. package/dist/builtin-extensions/pi-intercom/config.js +103 -0
  107. package/dist/builtin-extensions/pi-intercom/config.js.map +1 -0
  108. package/dist/builtin-extensions/pi-intercom/index.d.ts +3 -0
  109. package/dist/builtin-extensions/pi-intercom/index.d.ts.map +1 -0
  110. package/dist/builtin-extensions/pi-intercom/index.js +1800 -0
  111. package/dist/builtin-extensions/pi-intercom/index.js.map +1 -0
  112. package/dist/builtin-extensions/pi-intercom/reply-tracker.d.ts +27 -0
  113. package/dist/builtin-extensions/pi-intercom/reply-tracker.d.ts.map +1 -0
  114. package/dist/builtin-extensions/pi-intercom/reply-tracker.js +101 -0
  115. package/dist/builtin-extensions/pi-intercom/reply-tracker.js.map +1 -0
  116. package/dist/builtin-extensions/pi-intercom/types.d.ts +84 -0
  117. package/dist/builtin-extensions/pi-intercom/types.d.ts.map +1 -0
  118. package/dist/builtin-extensions/pi-intercom/types.js +2 -0
  119. package/dist/builtin-extensions/pi-intercom/types.js.map +1 -0
  120. package/dist/builtin-extensions/pi-intercom/ui/compose.d.ts +27 -0
  121. package/dist/builtin-extensions/pi-intercom/ui/compose.d.ts.map +1 -0
  122. package/dist/builtin-extensions/pi-intercom/ui/compose.js +112 -0
  123. package/dist/builtin-extensions/pi-intercom/ui/compose.js.map +1 -0
  124. package/dist/builtin-extensions/pi-intercom/ui/inline-message.d.ts +15 -0
  125. package/dist/builtin-extensions/pi-intercom/ui/inline-message.d.ts.map +1 -0
  126. package/dist/builtin-extensions/pi-intercom/ui/inline-message.js +86 -0
  127. package/dist/builtin-extensions/pi-intercom/ui/inline-message.js.map +1 -0
  128. package/dist/builtin-extensions/pi-intercom/ui/session-list.d.ts +18 -0
  129. package/dist/builtin-extensions/pi-intercom/ui/session-list.d.ts.map +1 -0
  130. package/dist/builtin-extensions/pi-intercom/ui/session-list.js +134 -0
  131. package/dist/builtin-extensions/pi-intercom/ui/session-list.js.map +1 -0
  132. package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/bemol.d.ts +81 -0
  133. package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/bemol.d.ts.map +1 -0
  134. package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/bemol.js +273 -0
  135. package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/bemol.js.map +1 -0
  136. package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/index.d.ts +13 -0
  137. package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/index.d.ts.map +1 -0
  138. package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/index.js +163 -0
  139. package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/index.js.map +1 -0
  140. package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/locks.d.ts +34 -0
  141. package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/locks.d.ts.map +1 -0
  142. package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/locks.js +148 -0
  143. package/dist/builtin-extensions/pi-lsp-extension/bemol-extension/locks.js.map +1 -0
  144. package/dist/builtin-extensions/pi-lsp-extension/src/file-sync.d.ts +59 -0
  145. package/dist/builtin-extensions/pi-lsp-extension/src/file-sync.d.ts.map +1 -0
  146. package/dist/builtin-extensions/pi-lsp-extension/src/file-sync.js +172 -0
  147. package/dist/builtin-extensions/pi-lsp-extension/src/file-sync.js.map +1 -0
  148. package/dist/builtin-extensions/pi-lsp-extension/src/index.d.ts +25 -0
  149. package/dist/builtin-extensions/pi-lsp-extension/src/index.d.ts.map +1 -0
  150. package/dist/builtin-extensions/pi-lsp-extension/src/index.js +521 -0
  151. package/dist/builtin-extensions/pi-lsp-extension/src/index.js.map +1 -0
  152. package/dist/builtin-extensions/pi-lsp-extension/src/lsp-client.d.ts +80 -0
  153. package/dist/builtin-extensions/pi-lsp-extension/src/lsp-client.d.ts.map +1 -0
  154. package/dist/builtin-extensions/pi-lsp-extension/src/lsp-client.js +366 -0
  155. package/dist/builtin-extensions/pi-lsp-extension/src/lsp-client.js.map +1 -0
  156. package/dist/builtin-extensions/pi-lsp-extension/src/lsp-daemon.d.ts +22 -0
  157. package/dist/builtin-extensions/pi-lsp-extension/src/lsp-daemon.d.ts.map +1 -0
  158. package/dist/builtin-extensions/pi-lsp-extension/src/lsp-daemon.js +476 -0
  159. package/dist/builtin-extensions/pi-lsp-extension/src/lsp-daemon.js.map +1 -0
  160. package/dist/builtin-extensions/pi-lsp-extension/src/lsp-manager.d.ts +141 -0
  161. package/dist/builtin-extensions/pi-lsp-extension/src/lsp-manager.d.ts.map +1 -0
  162. package/dist/builtin-extensions/pi-lsp-extension/src/lsp-manager.js +633 -0
  163. package/dist/builtin-extensions/pi-lsp-extension/src/lsp-manager.js.map +1 -0
  164. package/dist/builtin-extensions/pi-lsp-extension/src/resolve-provider.d.ts +30 -0
  165. package/dist/builtin-extensions/pi-lsp-extension/src/resolve-provider.d.ts.map +1 -0
  166. package/dist/builtin-extensions/pi-lsp-extension/src/resolve-provider.js +52 -0
  167. package/dist/builtin-extensions/pi-lsp-extension/src/resolve-provider.js.map +1 -0
  168. package/dist/builtin-extensions/pi-lsp-extension/src/shared/constants.d.ts +12 -0
  169. package/dist/builtin-extensions/pi-lsp-extension/src/shared/constants.d.ts.map +1 -0
  170. package/dist/builtin-extensions/pi-lsp-extension/src/shared/constants.js +18 -0
  171. package/dist/builtin-extensions/pi-lsp-extension/src/shared/constants.js.map +1 -0
  172. package/dist/builtin-extensions/pi-lsp-extension/src/shared/debug.d.ts +10 -0
  173. package/dist/builtin-extensions/pi-lsp-extension/src/shared/debug.d.ts.map +1 -0
  174. package/dist/builtin-extensions/pi-lsp-extension/src/shared/debug.js +18 -0
  175. package/dist/builtin-extensions/pi-lsp-extension/src/shared/debug.js.map +1 -0
  176. package/dist/builtin-extensions/pi-lsp-extension/src/shared/format.d.ts +9 -0
  177. package/dist/builtin-extensions/pi-lsp-extension/src/shared/format.d.ts.map +1 -0
  178. package/dist/builtin-extensions/pi-lsp-extension/src/shared/format.js +29 -0
  179. package/dist/builtin-extensions/pi-lsp-extension/src/shared/format.js.map +1 -0
  180. package/dist/builtin-extensions/pi-lsp-extension/src/shared/language-map.d.ts +10 -0
  181. package/dist/builtin-extensions/pi-lsp-extension/src/shared/language-map.d.ts.map +1 -0
  182. package/dist/builtin-extensions/pi-lsp-extension/src/shared/language-map.js +51 -0
  183. package/dist/builtin-extensions/pi-lsp-extension/src/shared/language-map.js.map +1 -0
  184. package/dist/builtin-extensions/pi-lsp-extension/src/shared/resolve-position.d.ts +33 -0
  185. package/dist/builtin-extensions/pi-lsp-extension/src/shared/resolve-position.d.ts.map +1 -0
  186. package/dist/builtin-extensions/pi-lsp-extension/src/shared/resolve-position.js +191 -0
  187. package/dist/builtin-extensions/pi-lsp-extension/src/shared/resolve-position.js.map +1 -0
  188. package/dist/builtin-extensions/pi-lsp-extension/src/shared/timing.d.ts +14 -0
  189. package/dist/builtin-extensions/pi-lsp-extension/src/shared/timing.d.ts.map +1 -0
  190. package/dist/builtin-extensions/pi-lsp-extension/src/shared/timing.js +15 -0
  191. package/dist/builtin-extensions/pi-lsp-extension/src/shared/timing.js.map +1 -0
  192. package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-actions.d.ts +23 -0
  193. package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-actions.d.ts.map +1 -0
  194. package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-actions.js +259 -0
  195. package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-actions.js.map +1 -0
  196. package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-overview.d.ts +23 -0
  197. package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-overview.d.ts.map +1 -0
  198. package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-overview.js +197 -0
  199. package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-overview.js.map +1 -0
  200. package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-rewrite.d.ts +23 -0
  201. package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-rewrite.d.ts.map +1 -0
  202. package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-rewrite.js +131 -0
  203. package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-rewrite.js.map +1 -0
  204. package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-search.d.ts +18 -0
  205. package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-search.d.ts.map +1 -0
  206. package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-search.js +87 -0
  207. package/dist/builtin-extensions/pi-lsp-extension/src/tools/code-search.js.map +1 -0
  208. package/dist/builtin-extensions/pi-lsp-extension/src/tools/completions.d.ts +34 -0
  209. package/dist/builtin-extensions/pi-lsp-extension/src/tools/completions.d.ts.map +1 -0
  210. package/dist/builtin-extensions/pi-lsp-extension/src/tools/completions.js +347 -0
  211. package/dist/builtin-extensions/pi-lsp-extension/src/tools/completions.js.map +1 -0
  212. package/dist/builtin-extensions/pi-lsp-extension/src/tools/definition.d.ts +20 -0
  213. package/dist/builtin-extensions/pi-lsp-extension/src/tools/definition.d.ts.map +1 -0
  214. package/dist/builtin-extensions/pi-lsp-extension/src/tools/definition.js +166 -0
  215. package/dist/builtin-extensions/pi-lsp-extension/src/tools/definition.js.map +1 -0
  216. package/dist/builtin-extensions/pi-lsp-extension/src/tools/diagnostics.d.ts +22 -0
  217. package/dist/builtin-extensions/pi-lsp-extension/src/tools/diagnostics.d.ts.map +1 -0
  218. package/dist/builtin-extensions/pi-lsp-extension/src/tools/diagnostics.js +228 -0
  219. package/dist/builtin-extensions/pi-lsp-extension/src/tools/diagnostics.js.map +1 -0
  220. package/dist/builtin-extensions/pi-lsp-extension/src/tools/hover.d.ts +19 -0
  221. package/dist/builtin-extensions/pi-lsp-extension/src/tools/hover.d.ts.map +1 -0
  222. package/dist/builtin-extensions/pi-lsp-extension/src/tools/hover.js +143 -0
  223. package/dist/builtin-extensions/pi-lsp-extension/src/tools/hover.js.map +1 -0
  224. package/dist/builtin-extensions/pi-lsp-extension/src/tools/references.d.ts +20 -0
  225. package/dist/builtin-extensions/pi-lsp-extension/src/tools/references.d.ts.map +1 -0
  226. package/dist/builtin-extensions/pi-lsp-extension/src/tools/references.js +98 -0
  227. package/dist/builtin-extensions/pi-lsp-extension/src/tools/references.js.map +1 -0
  228. package/dist/builtin-extensions/pi-lsp-extension/src/tools/rename.d.ts +22 -0
  229. package/dist/builtin-extensions/pi-lsp-extension/src/tools/rename.d.ts.map +1 -0
  230. package/dist/builtin-extensions/pi-lsp-extension/src/tools/rename.js +150 -0
  231. package/dist/builtin-extensions/pi-lsp-extension/src/tools/rename.js.map +1 -0
  232. package/dist/builtin-extensions/pi-lsp-extension/src/tools/symbols.d.ts +18 -0
  233. package/dist/builtin-extensions/pi-lsp-extension/src/tools/symbols.d.ts.map +1 -0
  234. package/dist/builtin-extensions/pi-lsp-extension/src/tools/symbols.js +211 -0
  235. package/dist/builtin-extensions/pi-lsp-extension/src/tools/symbols.js.map +1 -0
  236. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/parser-manager.d.ts +44 -0
  237. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/parser-manager.d.ts.map +1 -0
  238. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/parser-manager.js +188 -0
  239. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/parser-manager.js.map +1 -0
  240. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/pattern-compiler.d.ts +58 -0
  241. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/pattern-compiler.d.ts.map +1 -0
  242. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/pattern-compiler.js +260 -0
  243. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/pattern-compiler.js.map +1 -0
  244. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/rewrite-engine.d.ts +33 -0
  245. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/rewrite-engine.d.ts.map +1 -0
  246. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/rewrite-engine.js +102 -0
  247. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/rewrite-engine.js.map +1 -0
  248. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/search-engine.d.ts +38 -0
  249. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/search-engine.d.ts.map +1 -0
  250. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/search-engine.js +276 -0
  251. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/search-engine.js.map +1 -0
  252. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/symbol-extractor.d.ts +77 -0
  253. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/symbol-extractor.d.ts.map +1 -0
  254. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/symbol-extractor.js +339 -0
  255. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/symbol-extractor.js.map +1 -0
  256. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/workspace-index.d.ts +51 -0
  257. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/workspace-index.d.ts.map +1 -0
  258. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/workspace-index.js +219 -0
  259. package/dist/builtin-extensions/pi-lsp-extension/src/tree-sitter/workspace-index.js.map +1 -0
  260. package/dist/builtin-extensions/pi-lsp-extension/src/workspace-provider.d.ts +45 -0
  261. package/dist/builtin-extensions/pi-lsp-extension/src/workspace-provider.d.ts.map +1 -0
  262. package/dist/builtin-extensions/pi-lsp-extension/src/workspace-provider.js +30 -0
  263. package/dist/builtin-extensions/pi-lsp-extension/src/workspace-provider.js.map +1 -0
  264. package/dist/builtin-extensions/pi-mcp-adapter/abort.d.ts +3 -0
  265. package/dist/builtin-extensions/pi-mcp-adapter/abort.d.ts.map +1 -0
  266. package/dist/builtin-extensions/pi-mcp-adapter/abort.js +37 -0
  267. package/dist/builtin-extensions/pi-mcp-adapter/abort.js.map +1 -0
  268. package/dist/builtin-extensions/pi-mcp-adapter/agent-dir.d.ts +3 -0
  269. package/dist/builtin-extensions/pi-mcp-adapter/agent-dir.d.ts.map +1 -0
  270. package/dist/builtin-extensions/pi-mcp-adapter/agent-dir.js +22 -0
  271. package/dist/builtin-extensions/pi-mcp-adapter/agent-dir.js.map +1 -0
  272. package/dist/builtin-extensions/pi-mcp-adapter/commands.d.ts +18 -0
  273. package/dist/builtin-extensions/pi-mcp-adapter/commands.d.ts.map +1 -0
  274. package/dist/builtin-extensions/pi-mcp-adapter/commands.js +327 -0
  275. package/dist/builtin-extensions/pi-mcp-adapter/commands.js.map +1 -0
  276. package/dist/builtin-extensions/pi-mcp-adapter/config.d.ts +79 -0
  277. package/dist/builtin-extensions/pi-mcp-adapter/config.d.ts.map +1 -0
  278. package/dist/builtin-extensions/pi-mcp-adapter/config.js +557 -0
  279. package/dist/builtin-extensions/pi-mcp-adapter/config.js.map +1 -0
  280. package/dist/builtin-extensions/pi-mcp-adapter/consent-manager.d.ts +14 -0
  281. package/dist/builtin-extensions/pi-mcp-adapter/consent-manager.d.ts.map +1 -0
  282. package/dist/builtin-extensions/pi-mcp-adapter/consent-manager.js +61 -0
  283. package/dist/builtin-extensions/pi-mcp-adapter/consent-manager.js.map +1 -0
  284. package/dist/builtin-extensions/pi-mcp-adapter/direct-tools.d.ts +11 -0
  285. package/dist/builtin-extensions/pi-mcp-adapter/direct-tools.d.ts.map +1 -0
  286. package/dist/builtin-extensions/pi-mcp-adapter/direct-tools.js +374 -0
  287. package/dist/builtin-extensions/pi-mcp-adapter/direct-tools.js.map +1 -0
  288. package/dist/builtin-extensions/pi-mcp-adapter/elicitation-handler.d.ts +18 -0
  289. package/dist/builtin-extensions/pi-mcp-adapter/elicitation-handler.d.ts.map +1 -0
  290. package/dist/builtin-extensions/pi-mcp-adapter/elicitation-handler.js +309 -0
  291. package/dist/builtin-extensions/pi-mcp-adapter/elicitation-handler.js.map +1 -0
  292. package/dist/builtin-extensions/pi-mcp-adapter/error-signal.d.ts +16 -0
  293. package/dist/builtin-extensions/pi-mcp-adapter/error-signal.d.ts.map +1 -0
  294. package/dist/builtin-extensions/pi-mcp-adapter/error-signal.js +23 -0
  295. package/dist/builtin-extensions/pi-mcp-adapter/error-signal.js.map +1 -0
  296. package/dist/builtin-extensions/pi-mcp-adapter/errors.d.ts +100 -0
  297. package/dist/builtin-extensions/pi-mcp-adapter/errors.d.ts.map +1 -0
  298. package/dist/builtin-extensions/pi-mcp-adapter/errors.js +167 -0
  299. package/dist/builtin-extensions/pi-mcp-adapter/errors.js.map +1 -0
  300. package/dist/builtin-extensions/pi-mcp-adapter/glimpse-ui.d.ts +10 -0
  301. package/dist/builtin-extensions/pi-mcp-adapter/glimpse-ui.d.ts.map +1 -0
  302. package/dist/builtin-extensions/pi-mcp-adapter/glimpse-ui.js +77 -0
  303. package/dist/builtin-extensions/pi-mcp-adapter/glimpse-ui.js.map +1 -0
  304. package/dist/builtin-extensions/pi-mcp-adapter/host-html-template.d.ts +17 -0
  305. package/dist/builtin-extensions/pi-mcp-adapter/host-html-template.d.ts.map +1 -0
  306. package/dist/builtin-extensions/pi-mcp-adapter/host-html-template.js +413 -0
  307. package/dist/builtin-extensions/pi-mcp-adapter/host-html-template.js.map +1 -0
  308. package/dist/builtin-extensions/pi-mcp-adapter/index.d.ts +3 -0
  309. package/dist/builtin-extensions/pi-mcp-adapter/index.d.ts.map +1 -0
  310. package/dist/builtin-extensions/pi-mcp-adapter/index.js +334 -0
  311. package/dist/builtin-extensions/pi-mcp-adapter/index.js.map +1 -0
  312. package/dist/builtin-extensions/pi-mcp-adapter/init.d.ts +11 -0
  313. package/dist/builtin-extensions/pi-mcp-adapter/init.d.ts.map +1 -0
  314. package/dist/builtin-extensions/pi-mcp-adapter/init.js +296 -0
  315. package/dist/builtin-extensions/pi-mcp-adapter/init.js.map +1 -0
  316. package/dist/builtin-extensions/pi-mcp-adapter/lifecycle.d.ts +30 -0
  317. package/dist/builtin-extensions/pi-mcp-adapter/lifecycle.d.ts.map +1 -0
  318. package/dist/builtin-extensions/pi-mcp-adapter/lifecycle.js +80 -0
  319. package/dist/builtin-extensions/pi-mcp-adapter/lifecycle.js.map +1 -0
  320. package/dist/builtin-extensions/pi-mcp-adapter/logger.d.ts +52 -0
  321. package/dist/builtin-extensions/pi-mcp-adapter/logger.d.ts.map +1 -0
  322. package/dist/builtin-extensions/pi-mcp-adapter/logger.js +132 -0
  323. package/dist/builtin-extensions/pi-mcp-adapter/logger.js.map +1 -0
  324. package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth-flow.d.ts +86 -0
  325. package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth-flow.d.ts.map +1 -0
  326. package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth-flow.js +482 -0
  327. package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth-flow.js.map +1 -0
  328. package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth.d.ts +104 -0
  329. package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth.d.ts.map +1 -0
  330. package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth.js +252 -0
  331. package/dist/builtin-extensions/pi-mcp-adapter/mcp-auth.js.map +1 -0
  332. package/dist/builtin-extensions/pi-mcp-adapter/mcp-callback-server.d.ts +45 -0
  333. package/dist/builtin-extensions/pi-mcp-adapter/mcp-callback-server.d.ts.map +1 -0
  334. package/dist/builtin-extensions/pi-mcp-adapter/mcp-callback-server.js +305 -0
  335. package/dist/builtin-extensions/pi-mcp-adapter/mcp-callback-server.js.map +1 -0
  336. package/dist/builtin-extensions/pi-mcp-adapter/mcp-oauth-provider.d.ts +111 -0
  337. package/dist/builtin-extensions/pi-mcp-adapter/mcp-oauth-provider.d.ts.map +1 -0
  338. package/dist/builtin-extensions/pi-mcp-adapter/mcp-oauth-provider.js +302 -0
  339. package/dist/builtin-extensions/pi-mcp-adapter/mcp-oauth-provider.js.map +1 -0
  340. package/dist/builtin-extensions/pi-mcp-adapter/mcp-output-guard.d.ts +59 -0
  341. package/dist/builtin-extensions/pi-mcp-adapter/mcp-output-guard.d.ts.map +1 -0
  342. package/dist/builtin-extensions/pi-mcp-adapter/mcp-output-guard.js +325 -0
  343. package/dist/builtin-extensions/pi-mcp-adapter/mcp-output-guard.js.map +1 -0
  344. package/dist/builtin-extensions/pi-mcp-adapter/mcp-panel.d.ts +64 -0
  345. package/dist/builtin-extensions/pi-mcp-adapter/mcp-panel.d.ts.map +1 -0
  346. package/dist/builtin-extensions/pi-mcp-adapter/mcp-panel.js +777 -0
  347. package/dist/builtin-extensions/pi-mcp-adapter/mcp-panel.js.map +1 -0
  348. package/dist/builtin-extensions/pi-mcp-adapter/mcp-setup-panel.d.ts +77 -0
  349. package/dist/builtin-extensions/pi-mcp-adapter/mcp-setup-panel.d.ts.map +1 -0
  350. package/dist/builtin-extensions/pi-mcp-adapter/mcp-setup-panel.js +490 -0
  351. package/dist/builtin-extensions/pi-mcp-adapter/mcp-setup-panel.js.map +1 -0
  352. package/dist/builtin-extensions/pi-mcp-adapter/metadata-cache.d.ts +32 -0
  353. package/dist/builtin-extensions/pi-mcp-adapter/metadata-cache.d.ts.map +1 -0
  354. package/dist/builtin-extensions/pi-mcp-adapter/metadata-cache.js +160 -0
  355. package/dist/builtin-extensions/pi-mcp-adapter/metadata-cache.js.map +1 -0
  356. package/dist/builtin-extensions/pi-mcp-adapter/npx-resolver.d.ts +7 -0
  357. package/dist/builtin-extensions/pi-mcp-adapter/npx-resolver.d.ts.map +1 -0
  358. package/dist/builtin-extensions/pi-mcp-adapter/npx-resolver.js +388 -0
  359. package/dist/builtin-extensions/pi-mcp-adapter/npx-resolver.js.map +1 -0
  360. package/dist/builtin-extensions/pi-mcp-adapter/oauth-handler.d.ts +19 -0
  361. package/dist/builtin-extensions/pi-mcp-adapter/oauth-handler.d.ts.map +1 -0
  362. package/dist/builtin-extensions/pi-mcp-adapter/oauth-handler.js +53 -0
  363. package/dist/builtin-extensions/pi-mcp-adapter/oauth-handler.js.map +1 -0
  364. package/dist/builtin-extensions/pi-mcp-adapter/onboarding-state.d.ts +13 -0
  365. package/dist/builtin-extensions/pi-mcp-adapter/onboarding-state.d.ts.map +1 -0
  366. package/dist/builtin-extensions/pi-mcp-adapter/onboarding-state.js +58 -0
  367. package/dist/builtin-extensions/pi-mcp-adapter/onboarding-state.js.map +1 -0
  368. package/dist/builtin-extensions/pi-mcp-adapter/panel-keys.d.ts +17 -0
  369. package/dist/builtin-extensions/pi-mcp-adapter/panel-keys.d.ts.map +1 -0
  370. package/dist/builtin-extensions/pi-mcp-adapter/panel-keys.js +17 -0
  371. package/dist/builtin-extensions/pi-mcp-adapter/panel-keys.js.map +1 -0
  372. package/dist/builtin-extensions/pi-mcp-adapter/proxy-modes.d.ts +14 -0
  373. package/dist/builtin-extensions/pi-mcp-adapter/proxy-modes.d.ts.map +1 -0
  374. package/dist/builtin-extensions/pi-mcp-adapter/proxy-modes.js +853 -0
  375. package/dist/builtin-extensions/pi-mcp-adapter/proxy-modes.js.map +1 -0
  376. package/dist/builtin-extensions/pi-mcp-adapter/resource-tools.d.ts +2 -0
  377. package/dist/builtin-extensions/pi-mcp-adapter/resource-tools.d.ts.map +1 -0
  378. package/dist/builtin-extensions/pi-mcp-adapter/resource-tools.js +16 -0
  379. package/dist/builtin-extensions/pi-mcp-adapter/resource-tools.js.map +1 -0
  380. package/dist/builtin-extensions/pi-mcp-adapter/sampling-handler.d.ts +16 -0
  381. package/dist/builtin-extensions/pi-mcp-adapter/sampling-handler.d.ts.map +1 -0
  382. package/dist/builtin-extensions/pi-mcp-adapter/sampling-handler.js +209 -0
  383. package/dist/builtin-extensions/pi-mcp-adapter/sampling-handler.js.map +1 -0
  384. package/dist/builtin-extensions/pi-mcp-adapter/server-manager.d.ts +58 -0
  385. package/dist/builtin-extensions/pi-mcp-adapter/server-manager.d.ts.map +1 -0
  386. package/dist/builtin-extensions/pi-mcp-adapter/server-manager.js +403 -0
  387. package/dist/builtin-extensions/pi-mcp-adapter/server-manager.js.map +1 -0
  388. package/dist/builtin-extensions/pi-mcp-adapter/state.d.ts +41 -0
  389. package/dist/builtin-extensions/pi-mcp-adapter/state.d.ts.map +1 -0
  390. package/dist/builtin-extensions/pi-mcp-adapter/state.js +2 -0
  391. package/dist/builtin-extensions/pi-mcp-adapter/state.js.map +1 -0
  392. package/dist/builtin-extensions/pi-mcp-adapter/tool-metadata.d.ts +11 -0
  393. package/dist/builtin-extensions/pi-mcp-adapter/tool-metadata.d.ts.map +1 -0
  394. package/dist/builtin-extensions/pi-mcp-adapter/tool-metadata.js +178 -0
  395. package/dist/builtin-extensions/pi-mcp-adapter/tool-metadata.js.map +1 -0
  396. package/dist/builtin-extensions/pi-mcp-adapter/tool-registrar.d.ts +11 -0
  397. package/dist/builtin-extensions/pi-mcp-adapter/tool-registrar.d.ts.map +1 -0
  398. package/dist/builtin-extensions/pi-mcp-adapter/tool-registrar.js +66 -0
  399. package/dist/builtin-extensions/pi-mcp-adapter/tool-registrar.js.map +1 -0
  400. package/dist/builtin-extensions/pi-mcp-adapter/tool-result-renderer.d.ts +35 -0
  401. package/dist/builtin-extensions/pi-mcp-adapter/tool-result-renderer.d.ts.map +1 -0
  402. package/dist/builtin-extensions/pi-mcp-adapter/tool-result-renderer.js +107 -0
  403. package/dist/builtin-extensions/pi-mcp-adapter/tool-result-renderer.js.map +1 -0
  404. package/dist/builtin-extensions/pi-mcp-adapter/types.d.ts +286 -0
  405. package/dist/builtin-extensions/pi-mcp-adapter/types.d.ts.map +1 -0
  406. package/dist/builtin-extensions/pi-mcp-adapter/types.js +94 -0
  407. package/dist/builtin-extensions/pi-mcp-adapter/types.js.map +1 -0
  408. package/dist/builtin-extensions/pi-mcp-adapter/ui-resource-handler.d.ts +10 -0
  409. package/dist/builtin-extensions/pi-mcp-adapter/ui-resource-handler.d.ts.map +1 -0
  410. package/dist/builtin-extensions/pi-mcp-adapter/ui-resource-handler.js +118 -0
  411. package/dist/builtin-extensions/pi-mcp-adapter/ui-resource-handler.js.map +1 -0
  412. package/dist/builtin-extensions/pi-mcp-adapter/ui-server.d.ts +37 -0
  413. package/dist/builtin-extensions/pi-mcp-adapter/ui-server.d.ts.map +1 -0
  414. package/dist/builtin-extensions/pi-mcp-adapter/ui-server.js +524 -0
  415. package/dist/builtin-extensions/pi-mcp-adapter/ui-server.js.map +1 -0
  416. package/dist/builtin-extensions/pi-mcp-adapter/ui-session.d.ts +27 -0
  417. package/dist/builtin-extensions/pi-mcp-adapter/ui-session.d.ts.map +1 -0
  418. package/dist/builtin-extensions/pi-mcp-adapter/ui-session.js +311 -0
  419. package/dist/builtin-extensions/pi-mcp-adapter/ui-session.js.map +1 -0
  420. package/dist/builtin-extensions/pi-mcp-adapter/ui-stream-types.d.ts +105 -0
  421. package/dist/builtin-extensions/pi-mcp-adapter/ui-stream-types.d.ts.map +1 -0
  422. package/dist/builtin-extensions/pi-mcp-adapter/ui-stream-types.js +60 -0
  423. package/dist/builtin-extensions/pi-mcp-adapter/ui-stream-types.js.map +1 -0
  424. package/dist/builtin-extensions/pi-mcp-adapter/utils.d.ts +18 -0
  425. package/dist/builtin-extensions/pi-mcp-adapter/utils.d.ts.map +1 -0
  426. package/dist/builtin-extensions/pi-mcp-adapter/utils.js +112 -0
  427. package/dist/builtin-extensions/pi-mcp-adapter/utils.js.map +1 -0
  428. package/dist/builtin-extensions/pi-mcp-adapter/vitest.config.d.ts +3 -0
  429. package/dist/builtin-extensions/pi-mcp-adapter/vitest.config.d.ts.map +1 -0
  430. package/dist/builtin-extensions/pi-mcp-adapter/vitest.config.js +15 -0
  431. package/dist/builtin-extensions/pi-mcp-adapter/vitest.config.js.map +1 -0
  432. package/dist/builtin-extensions/pi-ollama-cloud/index.d.ts +31 -0
  433. package/dist/builtin-extensions/pi-ollama-cloud/index.d.ts.map +1 -0
  434. package/dist/builtin-extensions/pi-ollama-cloud/index.js +120 -0
  435. package/dist/builtin-extensions/pi-ollama-cloud/index.js.map +1 -0
  436. package/dist/builtin-extensions/pi-ollama-cloud/models.d.ts +49 -0
  437. package/dist/builtin-extensions/pi-ollama-cloud/models.d.ts.map +1 -0
  438. package/dist/builtin-extensions/pi-ollama-cloud/models.generated.d.ts +3 -0
  439. package/dist/builtin-extensions/pi-ollama-cloud/models.generated.d.ts.map +1 -0
  440. package/dist/builtin-extensions/pi-ollama-cloud/models.generated.js +1135 -0
  441. package/dist/builtin-extensions/pi-ollama-cloud/models.generated.js.map +1 -0
  442. package/dist/builtin-extensions/pi-ollama-cloud/models.js +239 -0
  443. package/dist/builtin-extensions/pi-ollama-cloud/models.js.map +1 -0
  444. package/dist/builtin-extensions/pi-ollama-cloud/thinking-levels.d.ts +40 -0
  445. package/dist/builtin-extensions/pi-ollama-cloud/thinking-levels.d.ts.map +1 -0
  446. package/dist/builtin-extensions/pi-ollama-cloud/thinking-levels.js +80 -0
  447. package/dist/builtin-extensions/pi-ollama-cloud/thinking-levels.js.map +1 -0
  448. package/dist/builtin-extensions/pi-ollama-cloud/utils.d.ts +9 -0
  449. package/dist/builtin-extensions/pi-ollama-cloud/utils.d.ts.map +1 -0
  450. package/dist/builtin-extensions/pi-ollama-cloud/utils.js +52 -0
  451. package/dist/builtin-extensions/pi-ollama-cloud/utils.js.map +1 -0
  452. package/dist/builtin-extensions/pi-prompt-template-model/args.d.ts +56 -0
  453. package/dist/builtin-extensions/pi-prompt-template-model/args.d.ts.map +1 -0
  454. package/dist/builtin-extensions/pi-prompt-template-model/args.js +555 -0
  455. package/dist/builtin-extensions/pi-prompt-template-model/args.js.map +1 -0
  456. package/dist/builtin-extensions/pi-prompt-template-model/chain-parser.d.ts +22 -0
  457. package/dist/builtin-extensions/pi-prompt-template-model/chain-parser.d.ts.map +1 -0
  458. package/dist/builtin-extensions/pi-prompt-template-model/chain-parser.js +249 -0
  459. package/dist/builtin-extensions/pi-prompt-template-model/chain-parser.js.map +1 -0
  460. package/dist/builtin-extensions/pi-prompt-template-model/deterministic-renderer.d.ts +20 -0
  461. package/dist/builtin-extensions/pi-prompt-template-model/deterministic-renderer.d.ts.map +1 -0
  462. package/dist/builtin-extensions/pi-prompt-template-model/deterministic-renderer.js +102 -0
  463. package/dist/builtin-extensions/pi-prompt-template-model/deterministic-renderer.js.map +1 -0
  464. package/dist/builtin-extensions/pi-prompt-template-model/deterministic-step.d.ts +30 -0
  465. package/dist/builtin-extensions/pi-prompt-template-model/deterministic-step.d.ts.map +1 -0
  466. package/dist/builtin-extensions/pi-prompt-template-model/deterministic-step.js +260 -0
  467. package/dist/builtin-extensions/pi-prompt-template-model/deterministic-step.js.map +1 -0
  468. package/dist/builtin-extensions/pi-prompt-template-model/index.d.ts +3 -0
  469. package/dist/builtin-extensions/pi-prompt-template-model/index.d.ts.map +1 -0
  470. package/dist/builtin-extensions/pi-prompt-template-model/index.js +1403 -0
  471. package/dist/builtin-extensions/pi-prompt-template-model/index.js.map +1 -0
  472. package/dist/builtin-extensions/pi-prompt-template-model/loop-utils.d.ts +8 -0
  473. package/dist/builtin-extensions/pi-prompt-template-model/loop-utils.d.ts.map +1 -0
  474. package/dist/builtin-extensions/pi-prompt-template-model/loop-utils.js +164 -0
  475. package/dist/builtin-extensions/pi-prompt-template-model/loop-utils.js.map +1 -0
  476. package/dist/builtin-extensions/pi-prompt-template-model/model-selection.d.ts +22 -0
  477. package/dist/builtin-extensions/pi-prompt-template-model/model-selection.d.ts.map +1 -0
  478. package/dist/builtin-extensions/pi-prompt-template-model/model-selection.js +82 -0
  479. package/dist/builtin-extensions/pi-prompt-template-model/model-selection.js.map +1 -0
  480. package/dist/builtin-extensions/pi-prompt-template-model/notifications.d.ts +6 -0
  481. package/dist/builtin-extensions/pi-prompt-template-model/notifications.d.ts.map +1 -0
  482. package/dist/builtin-extensions/pi-prompt-template-model/notifications.js +21 -0
  483. package/dist/builtin-extensions/pi-prompt-template-model/notifications.js.map +1 -0
  484. package/dist/builtin-extensions/pi-prompt-template-model/prompt-execution.d.ts +24 -0
  485. package/dist/builtin-extensions/pi-prompt-template-model/prompt-execution.d.ts.map +1 -0
  486. package/dist/builtin-extensions/pi-prompt-template-model/prompt-execution.js +56 -0
  487. package/dist/builtin-extensions/pi-prompt-template-model/prompt-execution.js.map +1 -0
  488. package/dist/builtin-extensions/pi-prompt-template-model/prompt-loader.d.ts +80 -0
  489. package/dist/builtin-extensions/pi-prompt-template-model/prompt-loader.d.ts.map +1 -0
  490. package/dist/builtin-extensions/pi-prompt-template-model/prompt-loader.js +1234 -0
  491. package/dist/builtin-extensions/pi-prompt-template-model/prompt-loader.js.map +1 -0
  492. package/dist/builtin-extensions/pi-prompt-template-model/skill-loaded-renderer.d.ts +11 -0
  493. package/dist/builtin-extensions/pi-prompt-template-model/skill-loaded-renderer.d.ts.map +1 -0
  494. package/dist/builtin-extensions/pi-prompt-template-model/skill-loaded-renderer.js +31 -0
  495. package/dist/builtin-extensions/pi-prompt-template-model/skill-loaded-renderer.js.map +1 -0
  496. package/dist/builtin-extensions/pi-prompt-template-model/subagent-renderer.d.ts +43 -0
  497. package/dist/builtin-extensions/pi-prompt-template-model/subagent-renderer.d.ts.map +1 -0
  498. package/dist/builtin-extensions/pi-prompt-template-model/subagent-renderer.js +177 -0
  499. package/dist/builtin-extensions/pi-prompt-template-model/subagent-renderer.js.map +1 -0
  500. package/dist/builtin-extensions/pi-prompt-template-model/subagent-runtime.d.ts +97 -0
  501. package/dist/builtin-extensions/pi-prompt-template-model/subagent-runtime.d.ts.map +1 -0
  502. package/dist/builtin-extensions/pi-prompt-template-model/subagent-runtime.js +64 -0
  503. package/dist/builtin-extensions/pi-prompt-template-model/subagent-runtime.js.map +1 -0
  504. package/dist/builtin-extensions/pi-prompt-template-model/subagent-step.d.ts +48 -0
  505. package/dist/builtin-extensions/pi-prompt-template-model/subagent-step.d.ts.map +1 -0
  506. package/dist/builtin-extensions/pi-prompt-template-model/subagent-step.js +550 -0
  507. package/dist/builtin-extensions/pi-prompt-template-model/subagent-step.js.map +1 -0
  508. package/dist/builtin-extensions/pi-prompt-template-model/subagent-widget.d.ts +8 -0
  509. package/dist/builtin-extensions/pi-prompt-template-model/subagent-widget.d.ts.map +1 -0
  510. package/dist/builtin-extensions/pi-prompt-template-model/subagent-widget.js +230 -0
  511. package/dist/builtin-extensions/pi-prompt-template-model/subagent-widget.js.map +1 -0
  512. package/dist/builtin-extensions/pi-prompt-template-model/template-conditionals.d.ts +10 -0
  513. package/dist/builtin-extensions/pi-prompt-template-model/template-conditionals.d.ts.map +1 -0
  514. package/dist/builtin-extensions/pi-prompt-template-model/template-conditionals.js +226 -0
  515. package/dist/builtin-extensions/pi-prompt-template-model/template-conditionals.js.map +1 -0
  516. package/dist/builtin-extensions/pi-prompt-template-model/tool-manager.d.ts +17 -0
  517. package/dist/builtin-extensions/pi-prompt-template-model/tool-manager.d.ts.map +1 -0
  518. package/dist/builtin-extensions/pi-prompt-template-model/tool-manager.js +201 -0
  519. package/dist/builtin-extensions/pi-prompt-template-model/tool-manager.js.map +1 -0
  520. package/dist/builtin-extensions/pi-subagents/agents/context-builder.md +46 -0
  521. package/dist/builtin-extensions/pi-subagents/agents/deep-researcher.md +36 -0
  522. package/dist/builtin-extensions/pi-subagents/agents/delegate.md +12 -0
  523. package/dist/builtin-extensions/pi-subagents/agents/oracle.md +73 -0
  524. package/dist/builtin-extensions/pi-subagents/agents/planner.md +55 -0
  525. package/dist/builtin-extensions/pi-subagents/agents/research-writer.md +37 -0
  526. package/dist/builtin-extensions/pi-subagents/agents/researcher.md +52 -0
  527. package/dist/builtin-extensions/pi-subagents/agents/reviewer.md +79 -0
  528. package/dist/builtin-extensions/pi-subagents/agents/scout.md +50 -0
  529. package/dist/builtin-extensions/pi-subagents/agents/worker.md +55 -0
  530. package/dist/builtin-extensions/pi-subagents/index.d.ts +2 -0
  531. package/dist/builtin-extensions/pi-subagents/index.d.ts.map +1 -0
  532. package/dist/builtin-extensions/pi-subagents/index.js +3 -0
  533. package/dist/builtin-extensions/pi-subagents/index.js.map +1 -0
  534. package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.d.ts +20 -0
  535. package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.d.ts.map +1 -0
  536. package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.js +1273 -0
  537. package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.js.map +1 -0
  538. package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.d.ts +49 -0
  539. package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.d.ts.map +1 -0
  540. package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.js +252 -0
  541. package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.js.map +1 -0
  542. package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.d.ts +3 -0
  543. package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.d.ts.map +1 -0
  544. package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.js +6 -0
  545. package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.js.map +1 -0
  546. package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.d.ts +3 -0
  547. package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.d.ts.map +1 -0
  548. package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.js +23 -0
  549. package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.js.map +1 -0
  550. package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.d.ts +8 -0
  551. package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.d.ts.map +1 -0
  552. package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.js +143 -0
  553. package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.js.map +1 -0
  554. package/dist/builtin-extensions/pi-subagents/src/agents/agents.d.ts +176 -0
  555. package/dist/builtin-extensions/pi-subagents/src/agents/agents.d.ts.map +1 -0
  556. package/dist/builtin-extensions/pi-subagents/src/agents/agents.js +1326 -0
  557. package/dist/builtin-extensions/pi-subagents/src/agents/agents.js.map +1 -0
  558. package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.d.ts +7 -0
  559. package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.d.ts.map +1 -0
  560. package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.js +307 -0
  561. package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.js.map +1 -0
  562. package/dist/builtin-extensions/pi-subagents/src/agents/frontmatter.d.ts +11 -0
  563. package/dist/builtin-extensions/pi-subagents/src/agents/frontmatter.d.ts.map +1 -0
  564. package/dist/builtin-extensions/pi-subagents/src/agents/frontmatter.js +84 -0
  565. package/dist/builtin-extensions/pi-subagents/src/agents/frontmatter.js.map +1 -0
  566. package/dist/builtin-extensions/pi-subagents/src/agents/identity.d.ts +8 -0
  567. package/dist/builtin-extensions/pi-subagents/src/agents/identity.d.ts.map +1 -0
  568. package/dist/builtin-extensions/pi-subagents/src/agents/identity.js +30 -0
  569. package/dist/builtin-extensions/pi-subagents/src/agents/identity.js.map +1 -0
  570. package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.d.ts +35 -0
  571. package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.d.ts.map +1 -0
  572. package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.js +151 -0
  573. package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.js.map +1 -0
  574. package/dist/builtin-extensions/pi-subagents/src/agents/skills.d.ts +33 -0
  575. package/dist/builtin-extensions/pi-subagents/src/agents/skills.d.ts.map +1 -0
  576. package/dist/builtin-extensions/pi-subagents/src/agents/skills.js +674 -0
  577. package/dist/builtin-extensions/pi-subagents/src/agents/skills.js.map +1 -0
  578. package/dist/builtin-extensions/pi-subagents/src/api/background-work.d.ts +35 -0
  579. package/dist/builtin-extensions/pi-subagents/src/api/background-work.d.ts.map +1 -0
  580. package/dist/builtin-extensions/pi-subagents/src/api/background-work.js +162 -0
  581. package/dist/builtin-extensions/pi-subagents/src/api/background-work.js.map +1 -0
  582. package/dist/builtin-extensions/pi-subagents/src/api/delegation.d.ts +113 -0
  583. package/dist/builtin-extensions/pi-subagents/src/api/delegation.d.ts.map +1 -0
  584. package/dist/builtin-extensions/pi-subagents/src/api/delegation.js +10 -0
  585. package/dist/builtin-extensions/pi-subagents/src/api/delegation.js.map +1 -0
  586. package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.d.ts +34 -0
  587. package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.d.ts.map +1 -0
  588. package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.js +125 -0
  589. package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.js.map +1 -0
  590. package/dist/builtin-extensions/pi-subagents/src/extension/config.d.ts +6 -0
  591. package/dist/builtin-extensions/pi-subagents/src/extension/config.d.ts.map +1 -0
  592. package/dist/builtin-extensions/pi-subagents/src/extension/config.js +37 -0
  593. package/dist/builtin-extensions/pi-subagents/src/extension/config.js.map +1 -0
  594. package/dist/builtin-extensions/pi-subagents/src/extension/control-notices.d.ts +21 -0
  595. package/dist/builtin-extensions/pi-subagents/src/extension/control-notices.d.ts.map +1 -0
  596. package/dist/builtin-extensions/pi-subagents/src/extension/control-notices.js +70 -0
  597. package/dist/builtin-extensions/pi-subagents/src/extension/control-notices.js.map +1 -0
  598. package/dist/builtin-extensions/pi-subagents/src/extension/doctor.d.ts +33 -0
  599. package/dist/builtin-extensions/pi-subagents/src/extension/doctor.d.ts.map +1 -0
  600. package/dist/builtin-extensions/pi-subagents/src/extension/doctor.js +174 -0
  601. package/dist/builtin-extensions/pi-subagents/src/extension/doctor.js.map +1 -0
  602. package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.d.ts +3 -0
  603. package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.d.ts.map +1 -0
  604. package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.js +175 -0
  605. package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.js.map +1 -0
  606. package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts +17 -0
  607. package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts.map +1 -0
  608. package/dist/builtin-extensions/pi-subagents/src/extension/index.js +577 -0
  609. package/dist/builtin-extensions/pi-subagents/src/extension/index.js.map +1 -0
  610. package/dist/builtin-extensions/pi-subagents/src/extension/rpc.d.ts +57 -0
  611. package/dist/builtin-extensions/pi-subagents/src/extension/rpc.d.ts.map +1 -0
  612. package/dist/builtin-extensions/pi-subagents/src/extension/rpc.js +291 -0
  613. package/dist/builtin-extensions/pi-subagents/src/extension/rpc.js.map +1 -0
  614. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts +225 -0
  615. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts.map +1 -0
  616. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js +301 -0
  617. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js.map +1 -0
  618. package/dist/builtin-extensions/pi-subagents/src/extension/steering-notices.d.ts +15 -0
  619. package/dist/builtin-extensions/pi-subagents/src/extension/steering-notices.d.ts.map +1 -0
  620. package/dist/builtin-extensions/pi-subagents/src/extension/steering-notices.js +23 -0
  621. package/dist/builtin-extensions/pi-subagents/src/extension/steering-notices.js.map +1 -0
  622. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts +12 -0
  623. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts.map +1 -0
  624. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js +225 -0
  625. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js.map +1 -0
  626. package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.d.ts +35 -0
  627. package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.d.ts.map +1 -0
  628. package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.js +144 -0
  629. package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.js.map +1 -0
  630. package/dist/builtin-extensions/pi-subagents/src/intercom/native-supervisor-channel.d.ts +36 -0
  631. package/dist/builtin-extensions/pi-subagents/src/intercom/native-supervisor-channel.d.ts.map +1 -0
  632. package/dist/builtin-extensions/pi-subagents/src/intercom/native-supervisor-channel.js +626 -0
  633. package/dist/builtin-extensions/pi-subagents/src/intercom/native-supervisor-channel.js.map +1 -0
  634. package/dist/builtin-extensions/pi-subagents/src/intercom/result-intercom.d.ts +31 -0
  635. package/dist/builtin-extensions/pi-subagents/src/intercom/result-intercom.d.ts.map +1 -0
  636. package/dist/builtin-extensions/pi-subagents/src/intercom/result-intercom.js +331 -0
  637. package/dist/builtin-extensions/pi-subagents/src/intercom/result-intercom.js.map +1 -0
  638. package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.d.ts +131 -0
  639. package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.d.ts.map +1 -0
  640. package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.js +491 -0
  641. package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.js.map +1 -0
  642. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.d.ts +169 -0
  643. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.d.ts.map +1 -0
  644. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js +1065 -0
  645. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js.map +1 -0
  646. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-job-tracker.d.ts +20 -0
  647. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-job-tracker.d.ts.map +1 -0
  648. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-job-tracker.js +500 -0
  649. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-job-tracker.js.map +1 -0
  650. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.d.ts +64 -0
  651. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.d.ts.map +1 -0
  652. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js +525 -0
  653. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js.map +1 -0
  654. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.d.ts +96 -0
  655. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.d.ts.map +1 -0
  656. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.js +336 -0
  657. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.js.map +1 -0
  658. package/dist/builtin-extensions/pi-subagents/src/runs/background/auto-drain.d.ts +15 -0
  659. package/dist/builtin-extensions/pi-subagents/src/runs/background/auto-drain.d.ts.map +1 -0
  660. package/dist/builtin-extensions/pi-subagents/src/runs/background/auto-drain.js +47 -0
  661. package/dist/builtin-extensions/pi-subagents/src/runs/background/auto-drain.js.map +1 -0
  662. package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-append.d.ts +31 -0
  663. package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-append.d.ts.map +1 -0
  664. package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-append.js +260 -0
  665. package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-append.js.map +1 -0
  666. package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-root-attachment.d.ts +35 -0
  667. package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-root-attachment.d.ts.map +1 -0
  668. package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-root-attachment.js +146 -0
  669. package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-root-attachment.js.map +1 -0
  670. package/dist/builtin-extensions/pi-subagents/src/runs/background/completion-batcher.d.ts +52 -0
  671. package/dist/builtin-extensions/pi-subagents/src/runs/background/completion-batcher.d.ts.map +1 -0
  672. package/dist/builtin-extensions/pi-subagents/src/runs/background/completion-batcher.js +119 -0
  673. package/dist/builtin-extensions/pi-subagents/src/runs/background/completion-batcher.js.map +1 -0
  674. package/dist/builtin-extensions/pi-subagents/src/runs/background/completion-dedupe.d.ts +14 -0
  675. package/dist/builtin-extensions/pi-subagents/src/runs/background/completion-dedupe.d.ts.map +1 -0
  676. package/dist/builtin-extensions/pi-subagents/src/runs/background/completion-dedupe.js +55 -0
  677. package/dist/builtin-extensions/pi-subagents/src/runs/background/completion-dedupe.js.map +1 -0
  678. package/dist/builtin-extensions/pi-subagents/src/runs/background/control-channel.d.ts +182 -0
  679. package/dist/builtin-extensions/pi-subagents/src/runs/background/control-channel.d.ts.map +1 -0
  680. package/dist/builtin-extensions/pi-subagents/src/runs/background/control-channel.js +487 -0
  681. package/dist/builtin-extensions/pi-subagents/src/runs/background/control-channel.js.map +1 -0
  682. package/dist/builtin-extensions/pi-subagents/src/runs/background/fleet-view.d.ts +43 -0
  683. package/dist/builtin-extensions/pi-subagents/src/runs/background/fleet-view.d.ts.map +1 -0
  684. package/dist/builtin-extensions/pi-subagents/src/runs/background/fleet-view.js +518 -0
  685. package/dist/builtin-extensions/pi-subagents/src/runs/background/fleet-view.js.map +1 -0
  686. package/dist/builtin-extensions/pi-subagents/src/runs/background/notify.d.ts +63 -0
  687. package/dist/builtin-extensions/pi-subagents/src/runs/background/notify.d.ts.map +1 -0
  688. package/dist/builtin-extensions/pi-subagents/src/runs/background/notify.js +202 -0
  689. package/dist/builtin-extensions/pi-subagents/src/runs/background/notify.js.map +1 -0
  690. package/dist/builtin-extensions/pi-subagents/src/runs/background/parallel-groups.d.ts +4 -0
  691. package/dist/builtin-extensions/pi-subagents/src/runs/background/parallel-groups.d.ts.map +1 -0
  692. package/dist/builtin-extensions/pi-subagents/src/runs/background/parallel-groups.js +47 -0
  693. package/dist/builtin-extensions/pi-subagents/src/runs/background/parallel-groups.js.map +1 -0
  694. package/dist/builtin-extensions/pi-subagents/src/runs/background/result-watcher.d.ts +22 -0
  695. package/dist/builtin-extensions/pi-subagents/src/runs/background/result-watcher.d.ts.map +1 -0
  696. package/dist/builtin-extensions/pi-subagents/src/runs/background/result-watcher.js +247 -0
  697. package/dist/builtin-extensions/pi-subagents/src/runs/background/result-watcher.js.map +1 -0
  698. package/dist/builtin-extensions/pi-subagents/src/runs/background/run-id-resolver.d.ts +23 -0
  699. package/dist/builtin-extensions/pi-subagents/src/runs/background/run-id-resolver.d.ts.map +1 -0
  700. package/dist/builtin-extensions/pi-subagents/src/runs/background/run-id-resolver.js +91 -0
  701. package/dist/builtin-extensions/pi-subagents/src/runs/background/run-id-resolver.js.map +1 -0
  702. package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.d.ts +24 -0
  703. package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.d.ts.map +1 -0
  704. package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.js +453 -0
  705. package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.js.map +1 -0
  706. package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.d.ts +48 -0
  707. package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.d.ts.map +1 -0
  708. package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.js +473 -0
  709. package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.js.map +1 -0
  710. package/dist/builtin-extensions/pi-subagents/src/runs/background/stale-run-reconciler.d.ts +34 -0
  711. package/dist/builtin-extensions/pi-subagents/src/runs/background/stale-run-reconciler.d.ts.map +1 -0
  712. package/dist/builtin-extensions/pi-subagents/src/runs/background/stale-run-reconciler.js +351 -0
  713. package/dist/builtin-extensions/pi-subagents/src/runs/background/stale-run-reconciler.js.map +1 -0
  714. package/dist/builtin-extensions/pi-subagents/src/runs/background/steering.d.ts +44 -0
  715. package/dist/builtin-extensions/pi-subagents/src/runs/background/steering.d.ts.map +1 -0
  716. package/dist/builtin-extensions/pi-subagents/src/runs/background/steering.js +228 -0
  717. package/dist/builtin-extensions/pi-subagents/src/runs/background/steering.js.map +1 -0
  718. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.d.ts +2 -0
  719. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.d.ts.map +1 -0
  720. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js +3513 -0
  721. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js.map +1 -0
  722. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.d.ts +95 -0
  723. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.d.ts.map +1 -0
  724. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.js +387 -0
  725. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.js.map +1 -0
  726. package/dist/builtin-extensions/pi-subagents/src/runs/background/top-level-async.d.ts +8 -0
  727. package/dist/builtin-extensions/pi-subagents/src/runs/background/top-level-async.d.ts.map +1 -0
  728. package/dist/builtin-extensions/pi-subagents/src/runs/background/top-level-async.js +6 -0
  729. package/dist/builtin-extensions/pi-subagents/src/runs/background/top-level-async.js.map +1 -0
  730. package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-config.d.ts +7 -0
  731. package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-config.d.ts.map +1 -0
  732. package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-config.js +34 -0
  733. package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-config.js.map +1 -0
  734. package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.d.ts +4 -0
  735. package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.d.ts.map +1 -0
  736. package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.js +24 -0
  737. package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.js.map +1 -0
  738. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/async-steering-action.d.ts +23 -0
  739. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/async-steering-action.d.ts.map +1 -0
  740. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/async-steering-action.js +230 -0
  741. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/async-steering-action.js.map +1 -0
  742. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.d.ts +127 -0
  743. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.d.ts.map +1 -0
  744. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.js +1161 -0
  745. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.js.map +1 -0
  746. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.d.ts +81 -0
  747. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.d.ts.map +1 -0
  748. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js +1014 -0
  749. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js.map +1 -0
  750. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.d.ts +10 -0
  751. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.d.ts.map +1 -0
  752. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js +1374 -0
  753. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js.map +1 -0
  754. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts +87 -0
  755. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts.map +1 -0
  756. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js +3358 -0
  757. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js.map +1 -0
  758. package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.d.ts +64 -0
  759. package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.d.ts.map +1 -0
  760. package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.js +1122 -0
  761. package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.js.map +1 -0
  762. package/dist/builtin-extensions/pi-subagents/src/runs/shared/chain-outputs.d.ts +19 -0
  763. package/dist/builtin-extensions/pi-subagents/src/runs/shared/chain-outputs.d.ts.map +1 -0
  764. package/dist/builtin-extensions/pi-subagents/src/runs/shared/chain-outputs.js +106 -0
  765. package/dist/builtin-extensions/pi-subagents/src/runs/shared/chain-outputs.js.map +1 -0
  766. package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-protocol.d.ts +27 -0
  767. package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-protocol.d.ts.map +1 -0
  768. package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-protocol.js +108 -0
  769. package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-protocol.js.map +1 -0
  770. package/dist/builtin-extensions/pi-subagents/src/runs/shared/completion-guard.d.ts +19 -0
  771. package/dist/builtin-extensions/pi-subagents/src/runs/shared/completion-guard.d.ts.map +1 -0
  772. package/dist/builtin-extensions/pi-subagents/src/runs/shared/completion-guard.js +51 -0
  773. package/dist/builtin-extensions/pi-subagents/src/runs/shared/completion-guard.js.map +1 -0
  774. package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.d.ts +49 -0
  775. package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.d.ts.map +1 -0
  776. package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.js +274 -0
  777. package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.js.map +1 -0
  778. package/dist/builtin-extensions/pi-subagents/src/runs/shared/long-running-guard.d.ts +33 -0
  779. package/dist/builtin-extensions/pi-subagents/src/runs/shared/long-running-guard.d.ts.map +1 -0
  780. package/dist/builtin-extensions/pi-subagents/src/runs/shared/long-running-guard.js +152 -0
  781. package/dist/builtin-extensions/pi-subagents/src/runs/shared/long-running-guard.js.map +1 -0
  782. package/dist/builtin-extensions/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.d.ts +18 -0
  783. package/dist/builtin-extensions/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.d.ts.map +1 -0
  784. package/dist/builtin-extensions/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.js +326 -0
  785. package/dist/builtin-extensions/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.js.map +1 -0
  786. package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.d.ts +83 -0
  787. package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.d.ts.map +1 -0
  788. package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.js +291 -0
  789. package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.js.map +1 -0
  790. package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-scope.d.ts +49 -0
  791. package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-scope.d.ts.map +1 -0
  792. package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-scope.js +98 -0
  793. package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-scope.js.map +1 -0
  794. package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-events.d.ts +121 -0
  795. package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-events.d.ts.map +1 -0
  796. package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-events.js +881 -0
  797. package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-events.js.map +1 -0
  798. package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-path.d.ts +11 -0
  799. package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-path.d.ts.map +1 -0
  800. package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-path.js +50 -0
  801. package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-path.js.map +1 -0
  802. package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-render.d.ts +19 -0
  803. package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-render.d.ts.map +1 -0
  804. package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-render.js +109 -0
  805. package/dist/builtin-extensions/pi-subagents/src/runs/shared/nested-render.js.map +1 -0
  806. package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts +101 -0
  807. package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts.map +1 -0
  808. package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.js +112 -0
  809. package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.js.map +1 -0
  810. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.d.ts +80 -0
  811. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.d.ts.map +1 -0
  812. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.js +252 -0
  813. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.js.map +1 -0
  814. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-spawn.d.ts +25 -0
  815. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-spawn.d.ts.map +1 -0
  816. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-spawn.js +111 -0
  817. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-spawn.js.map +1 -0
  818. package/dist/builtin-extensions/pi-subagents/src/runs/shared/run-history.d.ts +11 -0
  819. package/dist/builtin-extensions/pi-subagents/src/runs/shared/run-history.d.ts.map +1 -0
  820. package/dist/builtin-extensions/pi-subagents/src/runs/shared/run-history.js +57 -0
  821. package/dist/builtin-extensions/pi-subagents/src/runs/shared/run-history.js.map +1 -0
  822. package/dist/builtin-extensions/pi-subagents/src/runs/shared/session-lease.d.ts +54 -0
  823. package/dist/builtin-extensions/pi-subagents/src/runs/shared/session-lease.d.ts.map +1 -0
  824. package/dist/builtin-extensions/pi-subagents/src/runs/shared/session-lease.js +244 -0
  825. package/dist/builtin-extensions/pi-subagents/src/runs/shared/session-lease.js.map +1 -0
  826. package/dist/builtin-extensions/pi-subagents/src/runs/shared/single-output.d.ts +50 -0
  827. package/dist/builtin-extensions/pi-subagents/src/runs/shared/single-output.d.ts.map +1 -0
  828. package/dist/builtin-extensions/pi-subagents/src/runs/shared/single-output.js +202 -0
  829. package/dist/builtin-extensions/pi-subagents/src/runs/shared/single-output.js.map +1 -0
  830. package/dist/builtin-extensions/pi-subagents/src/runs/shared/structured-output.d.ts +22 -0
  831. package/dist/builtin-extensions/pi-subagents/src/runs/shared/structured-output.d.ts.map +1 -0
  832. package/dist/builtin-extensions/pi-subagents/src/runs/shared/structured-output.js +67 -0
  833. package/dist/builtin-extensions/pi-subagents/src/runs/shared/structured-output.js.map +1 -0
  834. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-control.d.ts +35 -0
  835. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-control.d.ts.map +1 -0
  836. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-control.js +187 -0
  837. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-control.js.map +1 -0
  838. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.d.ts +22 -0
  839. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.d.ts.map +1 -0
  840. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.js +438 -0
  841. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.js.map +1 -0
  842. package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.d.ts +35 -0
  843. package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.d.ts.map +1 -0
  844. package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.js +154 -0
  845. package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.js.map +1 -0
  846. package/dist/builtin-extensions/pi-subagents/src/runs/shared/tool-availability.d.ts +13 -0
  847. package/dist/builtin-extensions/pi-subagents/src/runs/shared/tool-availability.d.ts.map +1 -0
  848. package/dist/builtin-extensions/pi-subagents/src/runs/shared/tool-availability.js +51 -0
  849. package/dist/builtin-extensions/pi-subagents/src/runs/shared/tool-availability.js.map +1 -0
  850. package/dist/builtin-extensions/pi-subagents/src/runs/shared/tool-budget.d.ts +16 -0
  851. package/dist/builtin-extensions/pi-subagents/src/runs/shared/tool-budget.d.ts.map +1 -0
  852. package/dist/builtin-extensions/pi-subagents/src/runs/shared/tool-budget.js +74 -0
  853. package/dist/builtin-extensions/pi-subagents/src/runs/shared/tool-budget.js.map +1 -0
  854. package/dist/builtin-extensions/pi-subagents/src/runs/shared/turn-budget.d.ts +14 -0
  855. package/dist/builtin-extensions/pi-subagents/src/runs/shared/turn-budget.d.ts.map +1 -0
  856. package/dist/builtin-extensions/pi-subagents/src/runs/shared/turn-budget.js +66 -0
  857. package/dist/builtin-extensions/pi-subagents/src/runs/shared/turn-budget.js.map +1 -0
  858. package/dist/builtin-extensions/pi-subagents/src/runs/shared/workflow-graph.d.ts +30 -0
  859. package/dist/builtin-extensions/pi-subagents/src/runs/shared/workflow-graph.d.ts.map +1 -0
  860. package/dist/builtin-extensions/pi-subagents/src/runs/shared/workflow-graph.js +200 -0
  861. package/dist/builtin-extensions/pi-subagents/src/runs/shared/workflow-graph.js.map +1 -0
  862. package/dist/builtin-extensions/pi-subagents/src/runs/shared/worktree.d.ts +49 -0
  863. package/dist/builtin-extensions/pi-subagents/src/runs/shared/worktree.d.ts.map +1 -0
  864. package/dist/builtin-extensions/pi-subagents/src/runs/shared/worktree.js +473 -0
  865. package/dist/builtin-extensions/pi-subagents/src/runs/shared/worktree.js.map +1 -0
  866. package/dist/builtin-extensions/pi-subagents/src/shared/artifacts.d.ts +13 -0
  867. package/dist/builtin-extensions/pi-subagents/src/shared/artifacts.d.ts.map +1 -0
  868. package/dist/builtin-extensions/pi-subagents/src/shared/artifacts.js +104 -0
  869. package/dist/builtin-extensions/pi-subagents/src/shared/artifacts.js.map +1 -0
  870. package/dist/builtin-extensions/pi-subagents/src/shared/atomic-json.d.ts +17 -0
  871. package/dist/builtin-extensions/pi-subagents/src/shared/atomic-json.d.ts.map +1 -0
  872. package/dist/builtin-extensions/pi-subagents/src/shared/atomic-json.js +68 -0
  873. package/dist/builtin-extensions/pi-subagents/src/shared/atomic-json.js.map +1 -0
  874. package/dist/builtin-extensions/pi-subagents/src/shared/child-transcript.d.ts +36 -0
  875. package/dist/builtin-extensions/pi-subagents/src/shared/child-transcript.d.ts.map +1 -0
  876. package/dist/builtin-extensions/pi-subagents/src/shared/child-transcript.js +173 -0
  877. package/dist/builtin-extensions/pi-subagents/src/shared/child-transcript.js.map +1 -0
  878. package/dist/builtin-extensions/pi-subagents/src/shared/file-coalescer.d.ts +11 -0
  879. package/dist/builtin-extensions/pi-subagents/src/shared/file-coalescer.d.ts.map +1 -0
  880. package/dist/builtin-extensions/pi-subagents/src/shared/file-coalescer.js +26 -0
  881. package/dist/builtin-extensions/pi-subagents/src/shared/file-coalescer.js.map +1 -0
  882. package/dist/builtin-extensions/pi-subagents/src/shared/fork-context.d.ts +44 -0
  883. package/dist/builtin-extensions/pi-subagents/src/shared/fork-context.d.ts.map +1 -0
  884. package/dist/builtin-extensions/pi-subagents/src/shared/fork-context.js +158 -0
  885. package/dist/builtin-extensions/pi-subagents/src/shared/fork-context.js.map +1 -0
  886. package/dist/builtin-extensions/pi-subagents/src/shared/formatters.d.ts +34 -0
  887. package/dist/builtin-extensions/pi-subagents/src/shared/formatters.d.ts.map +1 -0
  888. package/dist/builtin-extensions/pi-subagents/src/shared/formatters.js +128 -0
  889. package/dist/builtin-extensions/pi-subagents/src/shared/formatters.js.map +1 -0
  890. package/dist/builtin-extensions/pi-subagents/src/shared/jsonl-writer.d.ts +20 -0
  891. package/dist/builtin-extensions/pi-subagents/src/shared/jsonl-writer.d.ts.map +1 -0
  892. package/dist/builtin-extensions/pi-subagents/src/shared/jsonl-writer.js +59 -0
  893. package/dist/builtin-extensions/pi-subagents/src/shared/jsonl-writer.js.map +1 -0
  894. package/dist/builtin-extensions/pi-subagents/src/shared/model-info.d.ts +31 -0
  895. package/dist/builtin-extensions/pi-subagents/src/shared/model-info.d.ts.map +1 -0
  896. package/dist/builtin-extensions/pi-subagents/src/shared/model-info.js +68 -0
  897. package/dist/builtin-extensions/pi-subagents/src/shared/model-info.js.map +1 -0
  898. package/dist/builtin-extensions/pi-subagents/src/shared/post-exit-stdio-guard.d.ts +17 -0
  899. package/dist/builtin-extensions/pi-subagents/src/shared/post-exit-stdio-guard.d.ts.map +1 -0
  900. package/dist/builtin-extensions/pi-subagents/src/shared/post-exit-stdio-guard.js +72 -0
  901. package/dist/builtin-extensions/pi-subagents/src/shared/post-exit-stdio-guard.js.map +1 -0
  902. package/dist/builtin-extensions/pi-subagents/src/shared/session-identity.d.ts +7 -0
  903. package/dist/builtin-extensions/pi-subagents/src/shared/session-identity.d.ts.map +1 -0
  904. package/dist/builtin-extensions/pi-subagents/src/shared/session-identity.js +7 -0
  905. package/dist/builtin-extensions/pi-subagents/src/shared/session-identity.js.map +1 -0
  906. package/dist/builtin-extensions/pi-subagents/src/shared/session-tokens.d.ts +3 -0
  907. package/dist/builtin-extensions/pi-subagents/src/shared/session-tokens.d.ts.map +1 -0
  908. package/dist/builtin-extensions/pi-subagents/src/shared/session-tokens.js +49 -0
  909. package/dist/builtin-extensions/pi-subagents/src/shared/session-tokens.js.map +1 -0
  910. package/dist/builtin-extensions/pi-subagents/src/shared/settings.d.ts +136 -0
  911. package/dist/builtin-extensions/pi-subagents/src/shared/settings.d.ts.map +1 -0
  912. package/dist/builtin-extensions/pi-subagents/src/shared/settings.js +285 -0
  913. package/dist/builtin-extensions/pi-subagents/src/shared/settings.js.map +1 -0
  914. package/dist/builtin-extensions/pi-subagents/src/shared/status-format.d.ts +10 -0
  915. package/dist/builtin-extensions/pi-subagents/src/shared/status-format.d.ts.map +1 -0
  916. package/dist/builtin-extensions/pi-subagents/src/shared/status-format.js +61 -0
  917. package/dist/builtin-extensions/pi-subagents/src/shared/status-format.js.map +1 -0
  918. package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts +1101 -0
  919. package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts.map +1 -0
  920. package/dist/builtin-extensions/pi-subagents/src/shared/types.js +221 -0
  921. package/dist/builtin-extensions/pi-subagents/src/shared/types.js.map +1 -0
  922. package/dist/builtin-extensions/pi-subagents/src/shared/utils.d.ts +52 -0
  923. package/dist/builtin-extensions/pi-subagents/src/shared/utils.d.ts.map +1 -0
  924. package/dist/builtin-extensions/pi-subagents/src/shared/utils.js +562 -0
  925. package/dist/builtin-extensions/pi-subagents/src/shared/utils.js.map +1 -0
  926. package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.d.ts +149 -0
  927. package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.d.ts.map +1 -0
  928. package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.js +321 -0
  929. package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.js.map +1 -0
  930. package/dist/builtin-extensions/pi-subagents/src/slash/delegation-request.d.ts +11 -0
  931. package/dist/builtin-extensions/pi-subagents/src/slash/delegation-request.d.ts.map +1 -0
  932. package/dist/builtin-extensions/pi-subagents/src/slash/delegation-request.js +102 -0
  933. package/dist/builtin-extensions/pi-subagents/src/slash/delegation-request.js.map +1 -0
  934. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-template-bridge.d.ts +25 -0
  935. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-template-bridge.d.ts.map +1 -0
  936. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-template-bridge.js +200 -0
  937. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-template-bridge.js.map +1 -0
  938. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts +23 -0
  939. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts.map +1 -0
  940. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js +305 -0
  941. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js.map +1 -0
  942. package/dist/builtin-extensions/pi-subagents/src/slash/slash-bridge.d.ts +31 -0
  943. package/dist/builtin-extensions/pi-subagents/src/slash/slash-bridge.d.ts.map +1 -0
  944. package/dist/builtin-extensions/pi-subagents/src/slash/slash-bridge.js +117 -0
  945. package/dist/builtin-extensions/pi-subagents/src/slash/slash-bridge.js.map +1 -0
  946. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts +51 -0
  947. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts.map +1 -0
  948. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js +1531 -0
  949. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js.map +1 -0
  950. package/dist/builtin-extensions/pi-subagents/src/slash/slash-live-state.d.ts +22 -0
  951. package/dist/builtin-extensions/pi-subagents/src/slash/slash-live-state.d.ts.map +1 -0
  952. package/dist/builtin-extensions/pi-subagents/src/slash/slash-live-state.js +246 -0
  953. package/dist/builtin-extensions/pi-subagents/src/slash/slash-live-state.js.map +1 -0
  954. package/dist/builtin-extensions/pi-subagents/src/tui/fleet.d.ts +78 -0
  955. package/dist/builtin-extensions/pi-subagents/src/tui/fleet.d.ts.map +1 -0
  956. package/dist/builtin-extensions/pi-subagents/src/tui/fleet.js +401 -0
  957. package/dist/builtin-extensions/pi-subagents/src/tui/fleet.js.map +1 -0
  958. package/dist/builtin-extensions/pi-subagents/src/tui/render-helpers.d.ts +13 -0
  959. package/dist/builtin-extensions/pi-subagents/src/tui/render-helpers.d.ts.map +1 -0
  960. package/dist/builtin-extensions/pi-subagents/src/tui/render-helpers.js +74 -0
  961. package/dist/builtin-extensions/pi-subagents/src/tui/render-helpers.js.map +1 -0
  962. package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts +35 -0
  963. package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts.map +1 -0
  964. package/dist/builtin-extensions/pi-subagents/src/tui/render.js +1687 -0
  965. package/dist/builtin-extensions/pi-subagents/src/tui/render.js.map +1 -0
  966. package/dist/builtin-extensions/pi-subagents/src/watchdog/change-signature.d.ts +8 -0
  967. package/dist/builtin-extensions/pi-subagents/src/watchdog/change-signature.d.ts.map +1 -0
  968. package/dist/builtin-extensions/pi-subagents/src/watchdog/change-signature.js +123 -0
  969. package/dist/builtin-extensions/pi-subagents/src/watchdog/change-signature.js.map +1 -0
  970. package/dist/builtin-extensions/pi-subagents/src/watchdog/child-status.d.ts +58 -0
  971. package/dist/builtin-extensions/pi-subagents/src/watchdog/child-status.d.ts.map +1 -0
  972. package/dist/builtin-extensions/pi-subagents/src/watchdog/child-status.js +160 -0
  973. package/dist/builtin-extensions/pi-subagents/src/watchdog/child-status.js.map +1 -0
  974. package/dist/builtin-extensions/pi-subagents/src/watchdog/emission-guard.d.ts +34 -0
  975. package/dist/builtin-extensions/pi-subagents/src/watchdog/emission-guard.d.ts.map +1 -0
  976. package/dist/builtin-extensions/pi-subagents/src/watchdog/emission-guard.js +96 -0
  977. package/dist/builtin-extensions/pi-subagents/src/watchdog/emission-guard.js.map +1 -0
  978. package/dist/builtin-extensions/pi-subagents/src/watchdog/lsp-diagnostics.d.ts +18 -0
  979. package/dist/builtin-extensions/pi-subagents/src/watchdog/lsp-diagnostics.d.ts.map +1 -0
  980. package/dist/builtin-extensions/pi-subagents/src/watchdog/lsp-diagnostics.js +485 -0
  981. package/dist/builtin-extensions/pi-subagents/src/watchdog/lsp-diagnostics.js.map +1 -0
  982. package/dist/builtin-extensions/pi-subagents/src/watchdog/model-selection.d.ts +21 -0
  983. package/dist/builtin-extensions/pi-subagents/src/watchdog/model-selection.d.ts.map +1 -0
  984. package/dist/builtin-extensions/pi-subagents/src/watchdog/model-selection.js +151 -0
  985. package/dist/builtin-extensions/pi-subagents/src/watchdog/model-selection.js.map +1 -0
  986. package/dist/builtin-extensions/pi-subagents/src/watchdog/register-child.d.ts +4 -0
  987. package/dist/builtin-extensions/pi-subagents/src/watchdog/register-child.d.ts.map +1 -0
  988. package/dist/builtin-extensions/pi-subagents/src/watchdog/register-child.js +111 -0
  989. package/dist/builtin-extensions/pi-subagents/src/watchdog/register-child.js.map +1 -0
  990. package/dist/builtin-extensions/pi-subagents/src/watchdog/register-main.d.ts +10 -0
  991. package/dist/builtin-extensions/pi-subagents/src/watchdog/register-main.d.ts.map +1 -0
  992. package/dist/builtin-extensions/pi-subagents/src/watchdog/register-main.js +407 -0
  993. package/dist/builtin-extensions/pi-subagents/src/watchdog/register-main.js.map +1 -0
  994. package/dist/builtin-extensions/pi-subagents/src/watchdog/render.d.ts +12 -0
  995. package/dist/builtin-extensions/pi-subagents/src/watchdog/render.d.ts.map +1 -0
  996. package/dist/builtin-extensions/pi-subagents/src/watchdog/render.js +55 -0
  997. package/dist/builtin-extensions/pi-subagents/src/watchdog/render.js.map +1 -0
  998. package/dist/builtin-extensions/pi-subagents/src/watchdog/review.d.ts +29 -0
  999. package/dist/builtin-extensions/pi-subagents/src/watchdog/review.d.ts.map +1 -0
  1000. package/dist/builtin-extensions/pi-subagents/src/watchdog/review.js +245 -0
  1001. package/dist/builtin-extensions/pi-subagents/src/watchdog/review.js.map +1 -0
  1002. package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.d.ts +141 -0
  1003. package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.d.ts.map +1 -0
  1004. package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.js +647 -0
  1005. package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.js.map +1 -0
  1006. package/dist/builtin-extensions/pi-subagents/src/watchdog/settings.d.ts +30 -0
  1007. package/dist/builtin-extensions/pi-subagents/src/watchdog/settings.d.ts.map +1 -0
  1008. package/dist/builtin-extensions/pi-subagents/src/watchdog/settings.js +486 -0
  1009. package/dist/builtin-extensions/pi-subagents/src/watchdog/settings.js.map +1 -0
  1010. package/dist/builtin-extensions/pi-subagents/src/watchdog/tool-actions.d.ts +18 -0
  1011. package/dist/builtin-extensions/pi-subagents/src/watchdog/tool-actions.d.ts.map +1 -0
  1012. package/dist/builtin-extensions/pi-subagents/src/watchdog/tool-actions.js +150 -0
  1013. package/dist/builtin-extensions/pi-subagents/src/watchdog/tool-actions.js.map +1 -0
  1014. package/dist/builtin-extensions/pi-subagents/src/watchdog/turn-delta.d.ts +10 -0
  1015. package/dist/builtin-extensions/pi-subagents/src/watchdog/turn-delta.d.ts.map +1 -0
  1016. package/dist/builtin-extensions/pi-subagents/src/watchdog/turn-delta.js +159 -0
  1017. package/dist/builtin-extensions/pi-subagents/src/watchdog/turn-delta.js.map +1 -0
  1018. package/dist/builtin-extensions/pi-subagents/src/watchdog/types.d.ts +143 -0
  1019. package/dist/builtin-extensions/pi-subagents/src/watchdog/types.d.ts.map +1 -0
  1020. package/dist/builtin-extensions/pi-subagents/src/watchdog/types.js +31 -0
  1021. package/dist/builtin-extensions/pi-subagents/src/watchdog/types.js.map +1 -0
  1022. package/dist/builtin-extensions/pi-subagents/src/watchdog/warning-format.d.ts +8 -0
  1023. package/dist/builtin-extensions/pi-subagents/src/watchdog/warning-format.d.ts.map +1 -0
  1024. package/dist/builtin-extensions/pi-subagents/src/watchdog/warning-format.js +62 -0
  1025. package/dist/builtin-extensions/pi-subagents/src/watchdog/warning-format.js.map +1 -0
  1026. package/dist/builtin-extensions/pi-tps.d.ts +3 -0
  1027. package/dist/builtin-extensions/pi-tps.d.ts.map +1 -0
  1028. package/dist/builtin-extensions/pi-tps.js +89 -0
  1029. package/dist/builtin-extensions/pi-tps.js.map +1 -0
  1030. package/dist/builtin-extensions/pi-web-access/activity.d.ts +34 -0
  1031. package/dist/builtin-extensions/pi-web-access/activity.d.ts.map +1 -0
  1032. package/dist/builtin-extensions/pi-web-access/activity.js +68 -0
  1033. package/dist/builtin-extensions/pi-web-access/activity.js.map +1 -0
  1034. package/dist/builtin-extensions/pi-web-access/brave.d.ts +4 -0
  1035. package/dist/builtin-extensions/pi-web-access/brave.d.ts.map +1 -0
  1036. package/dist/builtin-extensions/pi-web-access/brave.js +185 -0
  1037. package/dist/builtin-extensions/pi-web-access/brave.js.map +1 -0
  1038. package/dist/builtin-extensions/pi-web-access/chrome-cookies.d.ts +9 -0
  1039. package/dist/builtin-extensions/pi-web-access/chrome-cookies.d.ts.map +1 -0
  1040. package/dist/builtin-extensions/pi-web-access/chrome-cookies.js +299 -0
  1041. package/dist/builtin-extensions/pi-web-access/chrome-cookies.js.map +1 -0
  1042. package/dist/builtin-extensions/pi-web-access/curator-page.d.ts +13 -0
  1043. package/dist/builtin-extensions/pi-web-access/curator-page.d.ts.map +1 -0
  1044. package/dist/builtin-extensions/pi-web-access/curator-page.js +3382 -0
  1045. package/dist/builtin-extensions/pi-web-access/curator-page.js.map +1 -0
  1046. package/dist/builtin-extensions/pi-web-access/curator-server.d.ts +71 -0
  1047. package/dist/builtin-extensions/pi-web-access/curator-server.d.ts.map +1 -0
  1048. package/dist/builtin-extensions/pi-web-access/curator-server.js +604 -0
  1049. package/dist/builtin-extensions/pi-web-access/curator-server.js.map +1 -0
  1050. package/dist/builtin-extensions/pi-web-access/exa.d.ts +10 -0
  1051. package/dist/builtin-extensions/pi-web-access/exa.d.ts.map +1 -0
  1052. package/dist/builtin-extensions/pi-web-access/exa.js +391 -0
  1053. package/dist/builtin-extensions/pi-web-access/exa.js.map +1 -0
  1054. package/dist/builtin-extensions/pi-web-access/extract.d.ts +48 -0
  1055. package/dist/builtin-extensions/pi-web-access/extract.d.ts.map +1 -0
  1056. package/dist/builtin-extensions/pi-web-access/extract.js +619 -0
  1057. package/dist/builtin-extensions/pi-web-access/extract.js.map +1 -0
  1058. package/dist/builtin-extensions/pi-web-access/fetch-params.d.ts +21 -0
  1059. package/dist/builtin-extensions/pi-web-access/fetch-params.d.ts.map +1 -0
  1060. package/dist/builtin-extensions/pi-web-access/fetch-params.js +44 -0
  1061. package/dist/builtin-extensions/pi-web-access/fetch-params.js.map +1 -0
  1062. package/dist/builtin-extensions/pi-web-access/gemini-api.d.ts +18 -0
  1063. package/dist/builtin-extensions/pi-web-access/gemini-api.d.ts.map +1 -0
  1064. package/dist/builtin-extensions/pi-web-access/gemini-api.js +120 -0
  1065. package/dist/builtin-extensions/pi-web-access/gemini-api.js.map +1 -0
  1066. package/dist/builtin-extensions/pi-web-access/gemini-search.d.ts +14 -0
  1067. package/dist/builtin-extensions/pi-web-access/gemini-search.d.ts.map +1 -0
  1068. package/dist/builtin-extensions/pi-web-access/gemini-search.js +371 -0
  1069. package/dist/builtin-extensions/pi-web-access/gemini-search.js.map +1 -0
  1070. package/dist/builtin-extensions/pi-web-access/gemini-url-context.d.ts +4 -0
  1071. package/dist/builtin-extensions/pi-web-access/gemini-url-context.d.ts.map +1 -0
  1072. package/dist/builtin-extensions/pi-web-access/gemini-url-context.js +101 -0
  1073. package/dist/builtin-extensions/pi-web-access/gemini-url-context.js.map +1 -0
  1074. package/dist/builtin-extensions/pi-web-access/gemini-web-config.d.ts +4 -0
  1075. package/dist/builtin-extensions/pi-web-access/gemini-web-config.d.ts.map +1 -0
  1076. package/dist/builtin-extensions/pi-web-access/gemini-web-config.js +43 -0
  1077. package/dist/builtin-extensions/pi-web-access/gemini-web-config.js.map +1 -0
  1078. package/dist/builtin-extensions/pi-web-access/gemini-web.d.ts +12 -0
  1079. package/dist/builtin-extensions/pi-web-access/gemini-web.d.ts.map +1 -0
  1080. package/dist/builtin-extensions/pi-web-access/gemini-web.js +331 -0
  1081. package/dist/builtin-extensions/pi-web-access/gemini-web.js.map +1 -0
  1082. package/dist/builtin-extensions/pi-web-access/github-api.d.ts +7 -0
  1083. package/dist/builtin-extensions/pi-web-access/github-api.d.ts.map +1 -0
  1084. package/dist/builtin-extensions/pi-web-access/github-api.js +161 -0
  1085. package/dist/builtin-extensions/pi-web-access/github-api.js.map +1 -0
  1086. package/dist/builtin-extensions/pi-web-access/github-extract.d.ts +13 -0
  1087. package/dist/builtin-extensions/pi-web-access/github-extract.d.ts.map +1 -0
  1088. package/dist/builtin-extensions/pi-web-access/github-extract.js +558 -0
  1089. package/dist/builtin-extensions/pi-web-access/github-extract.js.map +1 -0
  1090. package/dist/builtin-extensions/pi-web-access/index.d.ts +3 -0
  1091. package/dist/builtin-extensions/pi-web-access/index.d.ts.map +1 -0
  1092. package/dist/builtin-extensions/pi-web-access/index.js +2347 -0
  1093. package/dist/builtin-extensions/pi-web-access/index.js.map +1 -0
  1094. package/dist/builtin-extensions/pi-web-access/openai-search.d.ts +13 -0
  1095. package/dist/builtin-extensions/pi-web-access/openai-search.d.ts.map +1 -0
  1096. package/dist/builtin-extensions/pi-web-access/openai-search.js +374 -0
  1097. package/dist/builtin-extensions/pi-web-access/openai-search.js.map +1 -0
  1098. package/dist/builtin-extensions/pi-web-access/parallel.d.ts +12 -0
  1099. package/dist/builtin-extensions/pi-web-access/parallel.d.ts.map +1 -0
  1100. package/dist/builtin-extensions/pi-web-access/parallel.js +316 -0
  1101. package/dist/builtin-extensions/pi-web-access/parallel.js.map +1 -0
  1102. package/dist/builtin-extensions/pi-web-access/pdf-extract.d.ts +26 -0
  1103. package/dist/builtin-extensions/pi-web-access/pdf-extract.d.ts.map +1 -0
  1104. package/dist/builtin-extensions/pi-web-access/pdf-extract.js +150 -0
  1105. package/dist/builtin-extensions/pi-web-access/pdf-extract.js.map +1 -0
  1106. package/dist/builtin-extensions/pi-web-access/perplexity.d.ts +20 -0
  1107. package/dist/builtin-extensions/pi-web-access/perplexity.d.ts.map +1 -0
  1108. package/dist/builtin-extensions/pi-web-access/perplexity.js +150 -0
  1109. package/dist/builtin-extensions/pi-web-access/perplexity.js.map +1 -0
  1110. package/dist/builtin-extensions/pi-web-access/render-search-error.d.ts +57 -0
  1111. package/dist/builtin-extensions/pi-web-access/render-search-error.d.ts.map +1 -0
  1112. package/dist/builtin-extensions/pi-web-access/render-search-error.js +131 -0
  1113. package/dist/builtin-extensions/pi-web-access/render-search-error.js.map +1 -0
  1114. package/dist/builtin-extensions/pi-web-access/rsc-extract.d.ts +12 -0
  1115. package/dist/builtin-extensions/pi-web-access/rsc-extract.d.ts.map +1 -0
  1116. package/dist/builtin-extensions/pi-web-access/rsc-extract.js +330 -0
  1117. package/dist/builtin-extensions/pi-web-access/rsc-extract.js.map +1 -0
  1118. package/dist/builtin-extensions/pi-web-access/ssrf-protection.d.ts +24 -0
  1119. package/dist/builtin-extensions/pi-web-access/ssrf-protection.d.ts.map +1 -0
  1120. package/dist/builtin-extensions/pi-web-access/ssrf-protection.js +255 -0
  1121. package/dist/builtin-extensions/pi-web-access/ssrf-protection.js.map +1 -0
  1122. package/dist/builtin-extensions/pi-web-access/storage.d.ts +25 -0
  1123. package/dist/builtin-extensions/pi-web-access/storage.d.ts.map +1 -0
  1124. package/dist/builtin-extensions/pi-web-access/storage.js +49 -0
  1125. package/dist/builtin-extensions/pi-web-access/storage.js.map +1 -0
  1126. package/dist/builtin-extensions/pi-web-access/summary-model-scope.d.ts +13 -0
  1127. package/dist/builtin-extensions/pi-web-access/summary-model-scope.d.ts.map +1 -0
  1128. package/dist/builtin-extensions/pi-web-access/summary-model-scope.js +86 -0
  1129. package/dist/builtin-extensions/pi-web-access/summary-model-scope.js.map +1 -0
  1130. package/dist/builtin-extensions/pi-web-access/summary-review.d.ts +21 -0
  1131. package/dist/builtin-extensions/pi-web-access/summary-review.d.ts.map +1 -0
  1132. package/dist/builtin-extensions/pi-web-access/summary-review.js +278 -0
  1133. package/dist/builtin-extensions/pi-web-access/summary-review.js.map +1 -0
  1134. package/dist/builtin-extensions/pi-web-access/tavily.d.ts +8 -0
  1135. package/dist/builtin-extensions/pi-web-access/tavily.d.ts.map +1 -0
  1136. package/dist/builtin-extensions/pi-web-access/tavily.js +184 -0
  1137. package/dist/builtin-extensions/pi-web-access/tavily.js.map +1 -0
  1138. package/dist/builtin-extensions/pi-web-access/utils.d.ts +12 -0
  1139. package/dist/builtin-extensions/pi-web-access/utils.d.ts.map +1 -0
  1140. package/dist/builtin-extensions/pi-web-access/utils.js +61 -0
  1141. package/dist/builtin-extensions/pi-web-access/utils.js.map +1 -0
  1142. package/dist/builtin-extensions/pi-web-access/video-extract.d.ts +14 -0
  1143. package/dist/builtin-extensions/pi-web-access/video-extract.d.ts.map +1 -0
  1144. package/dist/builtin-extensions/pi-web-access/video-extract.js +324 -0
  1145. package/dist/builtin-extensions/pi-web-access/video-extract.js.map +1 -0
  1146. package/dist/builtin-extensions/pi-web-access/youtube-extract.d.ts +27 -0
  1147. package/dist/builtin-extensions/pi-web-access/youtube-extract.d.ts.map +1 -0
  1148. package/dist/builtin-extensions/pi-web-access/youtube-extract.js +282 -0
  1149. package/dist/builtin-extensions/pi-web-access/youtube-extract.js.map +1 -0
  1150. package/dist/builtin-extensions/simple-pi-memory.d.ts +55 -0
  1151. package/dist/builtin-extensions/simple-pi-memory.d.ts.map +1 -0
  1152. package/dist/builtin-extensions/simple-pi-memory.js +239 -0
  1153. package/dist/builtin-extensions/simple-pi-memory.js.map +1 -0
  1154. package/dist/bun/cli.d.ts +3 -0
  1155. package/dist/bun/cli.d.ts.map +1 -0
  1156. package/dist/bun/cli.js +11 -0
  1157. package/dist/bun/cli.js.map +1 -0
  1158. package/dist/bun/register-bedrock.d.ts +2 -0
  1159. package/dist/bun/register-bedrock.d.ts.map +1 -0
  1160. package/dist/bun/register-bedrock.js +4 -0
  1161. package/dist/bun/register-bedrock.js.map +1 -0
  1162. package/dist/bun/restore-sandbox-env.d.ts +17 -0
  1163. package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
  1164. package/dist/bun/restore-sandbox-env.js +36 -0
  1165. package/dist/bun/restore-sandbox-env.js.map +1 -0
  1166. package/dist/catalog/models.json +1 -0
  1167. package/dist/catalog/providers/amazon-bedrock.json +1 -0
  1168. package/dist/catalog/providers/ant-ling.json +1 -0
  1169. package/dist/catalog/providers/anthropic.json +1 -0
  1170. package/dist/catalog/providers/azure-openai-responses.json +1 -0
  1171. package/dist/catalog/providers/cerebras.json +1 -0
  1172. package/dist/catalog/providers/cloudflare-ai-gateway.json +1 -0
  1173. package/dist/catalog/providers/cloudflare-workers-ai.json +1 -0
  1174. package/dist/catalog/providers/deepseek.json +1 -0
  1175. package/dist/catalog/providers/fireworks.json +1 -0
  1176. package/dist/catalog/providers/github-copilot.json +1 -0
  1177. package/dist/catalog/providers/google-vertex.json +1 -0
  1178. package/dist/catalog/providers/google.json +1 -0
  1179. package/dist/catalog/providers/groq.json +1 -0
  1180. package/dist/catalog/providers/huggingface.json +1 -0
  1181. package/dist/catalog/providers/kimi-coding.json +1 -0
  1182. package/dist/catalog/providers/minimax-cn.json +1 -0
  1183. package/dist/catalog/providers/minimax.json +1 -0
  1184. package/dist/catalog/providers/mistral.json +1 -0
  1185. package/dist/catalog/providers/moonshotai-cn.json +1 -0
  1186. package/dist/catalog/providers/moonshotai.json +1 -0
  1187. package/dist/catalog/providers/nvidia.json +1 -0
  1188. package/dist/catalog/providers/openai-codex.json +1 -0
  1189. package/dist/catalog/providers/openai.json +1 -0
  1190. package/dist/catalog/providers/opencode-go.json +1 -0
  1191. package/dist/catalog/providers/opencode.json +1 -0
  1192. package/dist/catalog/providers/openrouter.json +1 -0
  1193. package/dist/catalog/providers/qwen-cloud-cn.json +1 -0
  1194. package/dist/catalog/providers/qwen-cloud.json +1 -0
  1195. package/dist/catalog/providers/qwen-token-plan-cn.json +1 -0
  1196. package/dist/catalog/providers/qwen-token-plan.json +1 -0
  1197. package/dist/catalog/providers/together.json +1 -0
  1198. package/dist/catalog/providers/vercel-ai-gateway.json +1 -0
  1199. package/dist/catalog/providers/xai.json +1 -0
  1200. package/dist/catalog/providers/xiaomi-token-plan-ams.json +1 -0
  1201. package/dist/catalog/providers/xiaomi-token-plan-cn.json +1 -0
  1202. package/dist/catalog/providers/xiaomi-token-plan-sgp.json +1 -0
  1203. package/dist/catalog/providers/xiaomi.json +1 -0
  1204. package/dist/catalog/providers/zai-coding-cn.json +1 -0
  1205. package/dist/catalog/providers/zai.json +1 -0
  1206. package/dist/catalog/providers.json +1 -0
  1207. package/dist/catalog/publication.json +6 -0
  1208. package/dist/cli/args.d.ts +57 -0
  1209. package/dist/cli/args.d.ts.map +1 -0
  1210. package/dist/cli/args.js +381 -0
  1211. package/dist/cli/args.js.map +1 -0
  1212. package/dist/cli/config-selector.d.ts +16 -0
  1213. package/dist/cli/config-selector.d.ts.map +1 -0
  1214. package/dist/cli/config-selector.js +31 -0
  1215. package/dist/cli/config-selector.js.map +1 -0
  1216. package/dist/cli/file-processor.d.ts +15 -0
  1217. package/dist/cli/file-processor.d.ts.map +1 -0
  1218. package/dist/cli/file-processor.js +70 -0
  1219. package/dist/cli/file-processor.js.map +1 -0
  1220. package/dist/cli/initial-message.d.ts +18 -0
  1221. package/dist/cli/initial-message.d.ts.map +1 -0
  1222. package/dist/cli/initial-message.js +22 -0
  1223. package/dist/cli/initial-message.js.map +1 -0
  1224. package/dist/cli/install-cli.d.ts +13 -0
  1225. package/dist/cli/install-cli.d.ts.map +1 -0
  1226. package/dist/cli/install-cli.js +352 -0
  1227. package/dist/cli/install-cli.js.map +1 -0
  1228. package/dist/cli/list-models.d.ts +9 -0
  1229. package/dist/cli/list-models.d.ts.map +1 -0
  1230. package/dist/cli/list-models.js +98 -0
  1231. package/dist/cli/list-models.js.map +1 -0
  1232. package/dist/cli/project-trust.d.ts +10 -0
  1233. package/dist/cli/project-trust.d.ts.map +1 -0
  1234. package/dist/cli/project-trust.js +48 -0
  1235. package/dist/cli/project-trust.js.map +1 -0
  1236. package/dist/cli/read-secret.d.ts +6 -0
  1237. package/dist/cli/read-secret.d.ts.map +1 -0
  1238. package/dist/cli/read-secret.js +62 -0
  1239. package/dist/cli/read-secret.js.map +1 -0
  1240. package/dist/cli/session-picker.d.ts +10 -0
  1241. package/dist/cli/session-picker.d.ts.map +1 -0
  1242. package/dist/cli/session-picker.js +36 -0
  1243. package/dist/cli/session-picker.js.map +1 -0
  1244. package/dist/cli/startup-ui.d.ts +20 -0
  1245. package/dist/cli/startup-ui.d.ts.map +1 -0
  1246. package/dist/cli/startup-ui.js +190 -0
  1247. package/dist/cli/startup-ui.js.map +1 -0
  1248. package/dist/cli.d.ts +3 -0
  1249. package/dist/cli.d.ts.map +1 -0
  1250. package/dist/cli.js +18 -0
  1251. package/dist/cli.js.map +1 -0
  1252. package/dist/config.d.ts +84 -0
  1253. package/dist/config.d.ts.map +1 -0
  1254. package/dist/config.js +211 -0
  1255. package/dist/config.js.map +1 -0
  1256. package/dist/core/agent-session-runtime.d.ts +119 -0
  1257. package/dist/core/agent-session-runtime.d.ts.map +1 -0
  1258. package/dist/core/agent-session-runtime.js +306 -0
  1259. package/dist/core/agent-session-runtime.js.map +1 -0
  1260. package/dist/core/agent-session-services.d.ts +85 -0
  1261. package/dist/core/agent-session-services.d.ts.map +1 -0
  1262. package/dist/core/agent-session-services.js +120 -0
  1263. package/dist/core/agent-session-services.js.map +1 -0
  1264. package/dist/core/agent-session.d.ts +650 -0
  1265. package/dist/core/agent-session.d.ts.map +1 -0
  1266. package/dist/core/agent-session.js +2797 -0
  1267. package/dist/core/agent-session.js.map +1 -0
  1268. package/dist/core/auth-guidance.d.ts +5 -0
  1269. package/dist/core/auth-guidance.d.ts.map +1 -0
  1270. package/dist/core/auth-guidance.js +21 -0
  1271. package/dist/core/auth-guidance.js.map +1 -0
  1272. package/dist/core/auth-storage.d.ts +56 -0
  1273. package/dist/core/auth-storage.d.ts.map +1 -0
  1274. package/dist/core/auth-storage.js +229 -0
  1275. package/dist/core/auth-storage.js.map +1 -0
  1276. package/dist/core/bash-executor.d.ts +32 -0
  1277. package/dist/core/bash-executor.d.ts.map +1 -0
  1278. package/dist/core/bash-executor.js +111 -0
  1279. package/dist/core/bash-executor.js.map +1 -0
  1280. package/dist/core/cache-stats.d.ts +49 -0
  1281. package/dist/core/cache-stats.d.ts.map +1 -0
  1282. package/dist/core/cache-stats.js +101 -0
  1283. package/dist/core/cache-stats.js.map +1 -0
  1284. package/dist/core/catalog-merge.d.ts +46 -0
  1285. package/dist/core/catalog-merge.d.ts.map +1 -0
  1286. package/dist/core/catalog-merge.js +128 -0
  1287. package/dist/core/catalog-merge.js.map +1 -0
  1288. package/dist/core/compaction/branch-summarization.d.ts +92 -0
  1289. package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
  1290. package/dist/core/compaction/branch-summarization.js +249 -0
  1291. package/dist/core/compaction/branch-summarization.js.map +1 -0
  1292. package/dist/core/compaction/compaction.d.ts +121 -0
  1293. package/dist/core/compaction/compaction.d.ts.map +1 -0
  1294. package/dist/core/compaction/compaction.js +600 -0
  1295. package/dist/core/compaction/compaction.js.map +1 -0
  1296. package/dist/core/compaction/index.d.ts +7 -0
  1297. package/dist/core/compaction/index.d.ts.map +1 -0
  1298. package/dist/core/compaction/index.js +7 -0
  1299. package/dist/core/compaction/index.js.map +1 -0
  1300. package/dist/core/compaction/utils.d.ts +38 -0
  1301. package/dist/core/compaction/utils.d.ts.map +1 -0
  1302. package/dist/core/compaction/utils.js +153 -0
  1303. package/dist/core/compaction/utils.js.map +1 -0
  1304. package/dist/core/context-breakdown.d.ts +67 -0
  1305. package/dist/core/context-breakdown.d.ts.map +1 -0
  1306. package/dist/core/context-breakdown.js +116 -0
  1307. package/dist/core/context-breakdown.js.map +1 -0
  1308. package/dist/core/cron/fire-guard.d.ts +16 -0
  1309. package/dist/core/cron/fire-guard.d.ts.map +1 -0
  1310. package/dist/core/cron/fire-guard.js +24 -0
  1311. package/dist/core/cron/fire-guard.js.map +1 -0
  1312. package/dist/core/cron/jobs.d.ts +162 -0
  1313. package/dist/core/cron/jobs.d.ts.map +1 -0
  1314. package/dist/core/cron/jobs.js +545 -0
  1315. package/dist/core/cron/jobs.js.map +1 -0
  1316. package/dist/core/cron/origin-context.d.ts +22 -0
  1317. package/dist/core/cron/origin-context.d.ts.map +1 -0
  1318. package/dist/core/cron/origin-context.js +22 -0
  1319. package/dist/core/cron/origin-context.js.map +1 -0
  1320. package/dist/core/cron/scheduler.d.ts +51 -0
  1321. package/dist/core/cron/scheduler.d.ts.map +1 -0
  1322. package/dist/core/cron/scheduler.js +165 -0
  1323. package/dist/core/cron/scheduler.js.map +1 -0
  1324. package/dist/core/customize.d.ts +31 -0
  1325. package/dist/core/customize.d.ts.map +1 -0
  1326. package/dist/core/customize.js +54 -0
  1327. package/dist/core/customize.js.map +1 -0
  1328. package/dist/core/defaults.d.ts +3 -0
  1329. package/dist/core/defaults.d.ts.map +1 -0
  1330. package/dist/core/defaults.js +2 -0
  1331. package/dist/core/defaults.js.map +1 -0
  1332. package/dist/core/diagnostics.d.ts +15 -0
  1333. package/dist/core/diagnostics.d.ts.map +1 -0
  1334. package/dist/core/diagnostics.js +2 -0
  1335. package/dist/core/diagnostics.js.map +1 -0
  1336. package/dist/core/event-bus.d.ts +9 -0
  1337. package/dist/core/event-bus.d.ts.map +1 -0
  1338. package/dist/core/event-bus.js +25 -0
  1339. package/dist/core/event-bus.js.map +1 -0
  1340. package/dist/core/exec.d.ts +29 -0
  1341. package/dist/core/exec.d.ts.map +1 -0
  1342. package/dist/core/exec.js +75 -0
  1343. package/dist/core/exec.js.map +1 -0
  1344. package/dist/core/experimental.d.ts +2 -0
  1345. package/dist/core/experimental.d.ts.map +1 -0
  1346. package/dist/core/experimental.js +4 -0
  1347. package/dist/core/experimental.js.map +1 -0
  1348. package/dist/core/export-html/ansi-to-html.d.ts +22 -0
  1349. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
  1350. package/dist/core/export-html/ansi-to-html.js +249 -0
  1351. package/dist/core/export-html/ansi-to-html.js.map +1 -0
  1352. package/dist/core/export-html/index.d.ts +37 -0
  1353. package/dist/core/export-html/index.d.ts.map +1 -0
  1354. package/dist/core/export-html/index.js +226 -0
  1355. package/dist/core/export-html/index.js.map +1 -0
  1356. package/dist/core/export-html/template.css +1066 -0
  1357. package/dist/core/export-html/template.html +55 -0
  1358. package/dist/core/export-html/template.js +1864 -0
  1359. package/dist/core/export-html/tool-renderer.d.ts +34 -0
  1360. package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
  1361. package/dist/core/export-html/tool-renderer.js +108 -0
  1362. package/dist/core/export-html/tool-renderer.js.map +1 -0
  1363. package/dist/core/export-html/vendor/highlight.min.js +1213 -0
  1364. package/dist/core/export-html/vendor/marked.min.js +78 -0
  1365. package/dist/core/extensions/index.d.ts +12 -0
  1366. package/dist/core/extensions/index.d.ts.map +1 -0
  1367. package/dist/core/extensions/index.js +9 -0
  1368. package/dist/core/extensions/index.js.map +1 -0
  1369. package/dist/core/extensions/loader.d.ts +23 -0
  1370. package/dist/core/extensions/loader.d.ts.map +1 -0
  1371. package/dist/core/extensions/loader.js +547 -0
  1372. package/dist/core/extensions/loader.js.map +1 -0
  1373. package/dist/core/extensions/runner.d.ts +170 -0
  1374. package/dist/core/extensions/runner.d.ts.map +1 -0
  1375. package/dist/core/extensions/runner.js +923 -0
  1376. package/dist/core/extensions/runner.js.map +1 -0
  1377. package/dist/core/extensions/types.d.ts +1247 -0
  1378. package/dist/core/extensions/types.d.ts.map +1 -0
  1379. package/dist/core/extensions/types.js +45 -0
  1380. package/dist/core/extensions/types.js.map +1 -0
  1381. package/dist/core/extensions/wrapper.d.ts +20 -0
  1382. package/dist/core/extensions/wrapper.d.ts.map +1 -0
  1383. package/dist/core/extensions/wrapper.js +41 -0
  1384. package/dist/core/extensions/wrapper.js.map +1 -0
  1385. package/dist/core/footer-data-provider.d.ts +54 -0
  1386. package/dist/core/footer-data-provider.d.ts.map +1 -0
  1387. package/dist/core/footer-data-provider.js +338 -0
  1388. package/dist/core/footer-data-provider.js.map +1 -0
  1389. package/dist/core/http-dispatcher.d.ts +22 -0
  1390. package/dist/core/http-dispatcher.d.ts.map +1 -0
  1391. package/dist/core/http-dispatcher.js +91 -0
  1392. package/dist/core/http-dispatcher.js.map +1 -0
  1393. package/dist/core/index.d.ts +13 -0
  1394. package/dist/core/index.d.ts.map +1 -0
  1395. package/dist/core/index.js +13 -0
  1396. package/dist/core/index.js.map +1 -0
  1397. package/dist/core/injected-prompt.d.ts +20 -0
  1398. package/dist/core/injected-prompt.d.ts.map +1 -0
  1399. package/dist/core/injected-prompt.js +64 -0
  1400. package/dist/core/injected-prompt.js.map +1 -0
  1401. package/dist/core/install-features.d.ts +106 -0
  1402. package/dist/core/install-features.d.ts.map +1 -0
  1403. package/dist/core/install-features.js +392 -0
  1404. package/dist/core/install-features.js.map +1 -0
  1405. package/dist/core/install-layout.d.ts +18 -0
  1406. package/dist/core/install-layout.d.ts.map +1 -0
  1407. package/dist/core/install-layout.js +54 -0
  1408. package/dist/core/install-layout.js.map +1 -0
  1409. package/dist/core/keybindings.d.ts +373 -0
  1410. package/dist/core/keybindings.d.ts.map +1 -0
  1411. package/dist/core/keybindings.js +309 -0
  1412. package/dist/core/keybindings.js.map +1 -0
  1413. package/dist/core/live-catalog.d.ts +74 -0
  1414. package/dist/core/live-catalog.d.ts.map +1 -0
  1415. package/dist/core/live-catalog.js +351 -0
  1416. package/dist/core/live-catalog.js.map +1 -0
  1417. package/dist/core/memory-cap.d.ts +27 -0
  1418. package/dist/core/memory-cap.d.ts.map +1 -0
  1419. package/dist/core/memory-cap.js +32 -0
  1420. package/dist/core/memory-cap.js.map +1 -0
  1421. package/dist/core/messages.d.ts +77 -0
  1422. package/dist/core/messages.d.ts.map +1 -0
  1423. package/dist/core/messages.js +123 -0
  1424. package/dist/core/messages.js.map +1 -0
  1425. package/dist/core/model-config-writer.d.ts +24 -0
  1426. package/dist/core/model-config-writer.d.ts.map +1 -0
  1427. package/dist/core/model-config-writer.js +84 -0
  1428. package/dist/core/model-config-writer.js.map +1 -0
  1429. package/dist/core/model-config.d.ts +512 -0
  1430. package/dist/core/model-config.d.ts.map +1 -0
  1431. package/dist/core/model-config.js +243 -0
  1432. package/dist/core/model-config.js.map +1 -0
  1433. package/dist/core/model-registry.d.ts +39 -0
  1434. package/dist/core/model-registry.d.ts.map +1 -0
  1435. package/dist/core/model-registry.js +89 -0
  1436. package/dist/core/model-registry.js.map +1 -0
  1437. package/dist/core/model-resolver.d.ts +121 -0
  1438. package/dist/core/model-resolver.d.ts.map +1 -0
  1439. package/dist/core/model-resolver.js +536 -0
  1440. package/dist/core/model-resolver.js.map +1 -0
  1441. package/dist/core/model-runtime.d.ts +115 -0
  1442. package/dist/core/model-runtime.d.ts.map +1 -0
  1443. package/dist/core/model-runtime.js +640 -0
  1444. package/dist/core/model-runtime.js.map +1 -0
  1445. package/dist/core/model-tiers.d.ts +34 -0
  1446. package/dist/core/model-tiers.d.ts.map +1 -0
  1447. package/dist/core/model-tiers.js +53 -0
  1448. package/dist/core/model-tiers.js.map +1 -0
  1449. package/dist/core/models-store.d.ts +17 -0
  1450. package/dist/core/models-store.d.ts.map +1 -0
  1451. package/dist/core/models-store.js +45 -0
  1452. package/dist/core/models-store.js.map +1 -0
  1453. package/dist/core/official-catalog.d.ts +72 -0
  1454. package/dist/core/official-catalog.d.ts.map +1 -0
  1455. package/dist/core/official-catalog.js +370 -0
  1456. package/dist/core/official-catalog.js.map +1 -0
  1457. package/dist/core/output-guard.d.ts +7 -0
  1458. package/dist/core/output-guard.d.ts.map +1 -0
  1459. package/dist/core/output-guard.js +89 -0
  1460. package/dist/core/output-guard.js.map +1 -0
  1461. package/dist/core/package-manager.d.ts +198 -0
  1462. package/dist/core/package-manager.d.ts.map +1 -0
  1463. package/dist/core/package-manager.js +2005 -0
  1464. package/dist/core/package-manager.js.map +1 -0
  1465. package/dist/core/permission-mode.d.ts +19 -0
  1466. package/dist/core/permission-mode.d.ts.map +1 -0
  1467. package/dist/core/permission-mode.js +26 -0
  1468. package/dist/core/permission-mode.js.map +1 -0
  1469. package/dist/core/permissions.d.ts +99 -0
  1470. package/dist/core/permissions.d.ts.map +1 -0
  1471. package/dist/core/permissions.js +323 -0
  1472. package/dist/core/permissions.js.map +1 -0
  1473. package/dist/core/plan-mode.d.ts +37 -0
  1474. package/dist/core/plan-mode.d.ts.map +1 -0
  1475. package/dist/core/plan-mode.js +388 -0
  1476. package/dist/core/plan-mode.js.map +1 -0
  1477. package/dist/core/process-registry.d.ts +40 -0
  1478. package/dist/core/process-registry.d.ts.map +1 -0
  1479. package/dist/core/process-registry.js +190 -0
  1480. package/dist/core/process-registry.js.map +1 -0
  1481. package/dist/core/project-trust.d.ts +15 -0
  1482. package/dist/core/project-trust.d.ts.map +1 -0
  1483. package/dist/core/project-trust.js +59 -0
  1484. package/dist/core/project-trust.js.map +1 -0
  1485. package/dist/core/prompt-templates.d.ts +53 -0
  1486. package/dist/core/prompt-templates.d.ts.map +1 -0
  1487. package/dist/core/prompt-templates.js +236 -0
  1488. package/dist/core/prompt-templates.js.map +1 -0
  1489. package/dist/core/provider-attribution.d.ts +4 -0
  1490. package/dist/core/provider-attribution.d.ts.map +1 -0
  1491. package/dist/core/provider-attribution.js +31 -0
  1492. package/dist/core/provider-attribution.js.map +1 -0
  1493. package/dist/core/provider-composer.d.ts +55 -0
  1494. package/dist/core/provider-composer.d.ts.map +1 -0
  1495. package/dist/core/provider-composer.js +375 -0
  1496. package/dist/core/provider-composer.js.map +1 -0
  1497. package/dist/core/radius.d.ts +2 -0
  1498. package/dist/core/radius.d.ts.map +1 -0
  1499. package/dist/core/radius.js +2 -0
  1500. package/dist/core/radius.js.map +1 -0
  1501. package/dist/core/resolve-config-value.d.ts +30 -0
  1502. package/dist/core/resolve-config-value.d.ts.map +1 -0
  1503. package/dist/core/resolve-config-value.js +247 -0
  1504. package/dist/core/resolve-config-value.js.map +1 -0
  1505. package/dist/core/resource-loader.d.ts +206 -0
  1506. package/dist/core/resource-loader.d.ts.map +1 -0
  1507. package/dist/core/resource-loader.js +816 -0
  1508. package/dist/core/resource-loader.js.map +1 -0
  1509. package/dist/core/rollback.d.ts +80 -0
  1510. package/dist/core/rollback.d.ts.map +1 -0
  1511. package/dist/core/rollback.js +582 -0
  1512. package/dist/core/rollback.js.map +1 -0
  1513. package/dist/core/runtime-credentials.d.ts +15 -0
  1514. package/dist/core/runtime-credentials.d.ts.map +1 -0
  1515. package/dist/core/runtime-credentials.js +36 -0
  1516. package/dist/core/runtime-credentials.js.map +1 -0
  1517. package/dist/core/sdk.d.ts +106 -0
  1518. package/dist/core/sdk.d.ts.map +1 -0
  1519. package/dist/core/sdk.js +264 -0
  1520. package/dist/core/sdk.js.map +1 -0
  1521. package/dist/core/search-curator.d.ts +23 -0
  1522. package/dist/core/search-curator.d.ts.map +1 -0
  1523. package/dist/core/search-curator.js +34 -0
  1524. package/dist/core/search-curator.js.map +1 -0
  1525. package/dist/core/session-cwd.d.ts +19 -0
  1526. package/dist/core/session-cwd.d.ts.map +1 -0
  1527. package/dist/core/session-cwd.js +38 -0
  1528. package/dist/core/session-cwd.js.map +1 -0
  1529. package/dist/core/session-manager.d.ts +351 -0
  1530. package/dist/core/session-manager.d.ts.map +1 -0
  1531. package/dist/core/session-manager.js +1262 -0
  1532. package/dist/core/session-manager.js.map +1 -0
  1533. package/dist/core/session-retention.d.ts +17 -0
  1534. package/dist/core/session-retention.d.ts.map +1 -0
  1535. package/dist/core/session-retention.js +69 -0
  1536. package/dist/core/session-retention.js.map +1 -0
  1537. package/dist/core/settings-manager.d.ts +355 -0
  1538. package/dist/core/settings-manager.d.ts.map +1 -0
  1539. package/dist/core/settings-manager.js +1064 -0
  1540. package/dist/core/settings-manager.js.map +1 -0
  1541. package/dist/core/skills.d.ts +60 -0
  1542. package/dist/core/skills.d.ts.map +1 -0
  1543. package/dist/core/skills.js +387 -0
  1544. package/dist/core/skills.js.map +1 -0
  1545. package/dist/core/slash-commands.d.ts +15 -0
  1546. package/dist/core/slash-commands.d.ts.map +1 -0
  1547. package/dist/core/slash-commands.js +58 -0
  1548. package/dist/core/slash-commands.js.map +1 -0
  1549. package/dist/core/source-info.d.ts +18 -0
  1550. package/dist/core/source-info.d.ts.map +1 -0
  1551. package/dist/core/source-info.js +19 -0
  1552. package/dist/core/source-info.js.map +1 -0
  1553. package/dist/core/subscriptions.d.ts +64 -0
  1554. package/dist/core/subscriptions.d.ts.map +1 -0
  1555. package/dist/core/subscriptions.js +259 -0
  1556. package/dist/core/subscriptions.js.map +1 -0
  1557. package/dist/core/swarm.d.ts +41 -0
  1558. package/dist/core/swarm.d.ts.map +1 -0
  1559. package/dist/core/swarm.js +81 -0
  1560. package/dist/core/swarm.js.map +1 -0
  1561. package/dist/core/system-prompt.d.ts +28 -0
  1562. package/dist/core/system-prompt.d.ts.map +1 -0
  1563. package/dist/core/system-prompt.js +107 -0
  1564. package/dist/core/system-prompt.js.map +1 -0
  1565. package/dist/core/timings.d.ts +10 -0
  1566. package/dist/core/timings.d.ts.map +1 -0
  1567. package/dist/core/timings.js +41 -0
  1568. package/dist/core/timings.js.map +1 -0
  1569. package/dist/core/tools/bash.d.ts +69 -0
  1570. package/dist/core/tools/bash.d.ts.map +1 -0
  1571. package/dist/core/tools/bash.js +395 -0
  1572. package/dist/core/tools/bash.js.map +1 -0
  1573. package/dist/core/tools/edit-diff.d.ts +106 -0
  1574. package/dist/core/tools/edit-diff.d.ts.map +1 -0
  1575. package/dist/core/tools/edit-diff.js +424 -0
  1576. package/dist/core/tools/edit-diff.js.map +1 -0
  1577. package/dist/core/tools/edit.d.ts +51 -0
  1578. package/dist/core/tools/edit.d.ts.map +1 -0
  1579. package/dist/core/tools/edit.js +293 -0
  1580. package/dist/core/tools/edit.js.map +1 -0
  1581. package/dist/core/tools/file-mutation-queue.d.ts +6 -0
  1582. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
  1583. package/dist/core/tools/file-mutation-queue.js +52 -0
  1584. package/dist/core/tools/file-mutation-queue.js.map +1 -0
  1585. package/dist/core/tools/find.d.ts +35 -0
  1586. package/dist/core/tools/find.d.ts.map +1 -0
  1587. package/dist/core/tools/find.js +313 -0
  1588. package/dist/core/tools/find.js.map +1 -0
  1589. package/dist/core/tools/grep.d.ts +37 -0
  1590. package/dist/core/tools/grep.d.ts.map +1 -0
  1591. package/dist/core/tools/grep.js +312 -0
  1592. package/dist/core/tools/grep.js.map +1 -0
  1593. package/dist/core/tools/index.d.ts +40 -0
  1594. package/dist/core/tools/index.d.ts.map +1 -0
  1595. package/dist/core/tools/index.js +112 -0
  1596. package/dist/core/tools/index.js.map +1 -0
  1597. package/dist/core/tools/ls.d.ts +37 -0
  1598. package/dist/core/tools/ls.d.ts.map +1 -0
  1599. package/dist/core/tools/ls.js +175 -0
  1600. package/dist/core/tools/ls.js.map +1 -0
  1601. package/dist/core/tools/output-accumulator.d.ts +52 -0
  1602. package/dist/core/tools/output-accumulator.d.ts.map +1 -0
  1603. package/dist/core/tools/output-accumulator.js +184 -0
  1604. package/dist/core/tools/output-accumulator.js.map +1 -0
  1605. package/dist/core/tools/path-utils.d.ts +10 -0
  1606. package/dist/core/tools/path-utils.d.ts.map +1 -0
  1607. package/dist/core/tools/path-utils.js +99 -0
  1608. package/dist/core/tools/path-utils.js.map +1 -0
  1609. package/dist/core/tools/read.d.ts +35 -0
  1610. package/dist/core/tools/read.d.ts.map +1 -0
  1611. package/dist/core/tools/read.js +285 -0
  1612. package/dist/core/tools/read.js.map +1 -0
  1613. package/dist/core/tools/render-utils.d.ts +36 -0
  1614. package/dist/core/tools/render-utils.d.ts.map +1 -0
  1615. package/dist/core/tools/render-utils.js +88 -0
  1616. package/dist/core/tools/render-utils.js.map +1 -0
  1617. package/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
  1618. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
  1619. package/dist/core/tools/tool-definition-wrapper.js +34 -0
  1620. package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
  1621. package/dist/core/tools/truncate.d.ts +70 -0
  1622. package/dist/core/tools/truncate.d.ts.map +1 -0
  1623. package/dist/core/tools/truncate.js +215 -0
  1624. package/dist/core/tools/truncate.js.map +1 -0
  1625. package/dist/core/tools/write.d.ts +26 -0
  1626. package/dist/core/tools/write.d.ts.map +1 -0
  1627. package/dist/core/tools/write.js +202 -0
  1628. package/dist/core/tools/write.js.map +1 -0
  1629. package/dist/core/trust-manager.d.ts +36 -0
  1630. package/dist/core/trust-manager.d.ts.map +1 -0
  1631. package/dist/core/trust-manager.js +202 -0
  1632. package/dist/core/trust-manager.js.map +1 -0
  1633. package/dist/core/usage-adapters/kimi-coding.d.ts +11 -0
  1634. package/dist/core/usage-adapters/kimi-coding.d.ts.map +1 -0
  1635. package/dist/core/usage-adapters/kimi-coding.js +78 -0
  1636. package/dist/core/usage-adapters/kimi-coding.js.map +1 -0
  1637. package/dist/core/usage-adapters/openai-codex.d.ts +4 -0
  1638. package/dist/core/usage-adapters/openai-codex.d.ts.map +1 -0
  1639. package/dist/core/usage-adapters/openai-codex.js +180 -0
  1640. package/dist/core/usage-adapters/openai-codex.js.map +1 -0
  1641. package/dist/core/usage-adapters/shared.d.ts +20 -0
  1642. package/dist/core/usage-adapters/shared.d.ts.map +1 -0
  1643. package/dist/core/usage-adapters/shared.js +75 -0
  1644. package/dist/core/usage-adapters/shared.js.map +1 -0
  1645. package/dist/core/usage-adapters/xai.d.ts +21 -0
  1646. package/dist/core/usage-adapters/xai.d.ts.map +1 -0
  1647. package/dist/core/usage-adapters/xai.js +77 -0
  1648. package/dist/core/usage-adapters/xai.js.map +1 -0
  1649. package/dist/core/usage-adapters/zai.d.ts +14 -0
  1650. package/dist/core/usage-adapters/zai.d.ts.map +1 -0
  1651. package/dist/core/usage-adapters/zai.js +67 -0
  1652. package/dist/core/usage-adapters/zai.js.map +1 -0
  1653. package/dist/core/usage-history.d.ts +63 -0
  1654. package/dist/core/usage-history.d.ts.map +1 -0
  1655. package/dist/core/usage-history.js +239 -0
  1656. package/dist/core/usage-history.js.map +1 -0
  1657. package/dist/core/usage-limit.d.ts +17 -0
  1658. package/dist/core/usage-limit.d.ts.map +1 -0
  1659. package/dist/core/usage-limit.js +79 -0
  1660. package/dist/core/usage-limit.js.map +1 -0
  1661. package/dist/core/usage-service.d.ts +33 -0
  1662. package/dist/core/usage-service.d.ts.map +1 -0
  1663. package/dist/core/usage-service.js +56 -0
  1664. package/dist/core/usage-service.js.map +1 -0
  1665. package/dist/core/user-models.d.ts +50 -0
  1666. package/dist/core/user-models.d.ts.map +1 -0
  1667. package/dist/core/user-models.js +192 -0
  1668. package/dist/core/user-models.js.map +1 -0
  1669. package/dist/gateway/adapters/discord.d.ts +251 -0
  1670. package/dist/gateway/adapters/discord.d.ts.map +1 -0
  1671. package/dist/gateway/adapters/discord.js +693 -0
  1672. package/dist/gateway/adapters/discord.js.map +1 -0
  1673. package/dist/gateway/adapters/telegram.d.ts +187 -0
  1674. package/dist/gateway/adapters/telegram.d.ts.map +1 -0
  1675. package/dist/gateway/adapters/telegram.js +581 -0
  1676. package/dist/gateway/adapters/telegram.js.map +1 -0
  1677. package/dist/gateway/agent-bridge.d.ts +143 -0
  1678. package/dist/gateway/agent-bridge.d.ts.map +1 -0
  1679. package/dist/gateway/agent-bridge.js +466 -0
  1680. package/dist/gateway/agent-bridge.js.map +1 -0
  1681. package/dist/gateway/approval.d.ts +34 -0
  1682. package/dist/gateway/approval.d.ts.map +1 -0
  1683. package/dist/gateway/approval.js +152 -0
  1684. package/dist/gateway/approval.js.map +1 -0
  1685. package/dist/gateway/authz.d.ts +21 -0
  1686. package/dist/gateway/authz.d.ts.map +1 -0
  1687. package/dist/gateway/authz.js +61 -0
  1688. package/dist/gateway/authz.js.map +1 -0
  1689. package/dist/gateway/buttons.d.ts +58 -0
  1690. package/dist/gateway/buttons.d.ts.map +1 -0
  1691. package/dist/gateway/buttons.js +269 -0
  1692. package/dist/gateway/buttons.js.map +1 -0
  1693. package/dist/gateway/command.d.ts +8 -0
  1694. package/dist/gateway/command.d.ts.map +1 -0
  1695. package/dist/gateway/command.js +16 -0
  1696. package/dist/gateway/command.js.map +1 -0
  1697. package/dist/gateway/commands.d.ts +43 -0
  1698. package/dist/gateway/commands.d.ts.map +1 -0
  1699. package/dist/gateway/commands.js +642 -0
  1700. package/dist/gateway/commands.js.map +1 -0
  1701. package/dist/gateway/config.d.ts +53 -0
  1702. package/dist/gateway/config.d.ts.map +1 -0
  1703. package/dist/gateway/config.js +136 -0
  1704. package/dist/gateway/config.js.map +1 -0
  1705. package/dist/gateway/cron.d.ts +69 -0
  1706. package/dist/gateway/cron.d.ts.map +1 -0
  1707. package/dist/gateway/cron.js +321 -0
  1708. package/dist/gateway/cron.js.map +1 -0
  1709. package/dist/gateway/index.d.ts +31 -0
  1710. package/dist/gateway/index.d.ts.map +1 -0
  1711. package/dist/gateway/index.js +233 -0
  1712. package/dist/gateway/index.js.map +1 -0
  1713. package/dist/gateway/pairing.d.ts +44 -0
  1714. package/dist/gateway/pairing.d.ts.map +1 -0
  1715. package/dist/gateway/pairing.js +171 -0
  1716. package/dist/gateway/pairing.js.map +1 -0
  1717. package/dist/gateway/router.d.ts +48 -0
  1718. package/dist/gateway/router.d.ts.map +1 -0
  1719. package/dist/gateway/router.js +215 -0
  1720. package/dist/gateway/router.js.map +1 -0
  1721. package/dist/gateway/session-keys.d.ts +18 -0
  1722. package/dist/gateway/session-keys.d.ts.map +1 -0
  1723. package/dist/gateway/session-keys.js +26 -0
  1724. package/dist/gateway/session-keys.js.map +1 -0
  1725. package/dist/gateway/store.d.ts +28 -0
  1726. package/dist/gateway/store.d.ts.map +1 -0
  1727. package/dist/gateway/store.js +93 -0
  1728. package/dist/gateway/store.js.map +1 -0
  1729. package/dist/gateway/stream.d.ts +55 -0
  1730. package/dist/gateway/stream.d.ts.map +1 -0
  1731. package/dist/gateway/stream.js +107 -0
  1732. package/dist/gateway/stream.js.map +1 -0
  1733. package/dist/gateway/text.d.ts +18 -0
  1734. package/dist/gateway/text.d.ts.map +1 -0
  1735. package/dist/gateway/text.js +136 -0
  1736. package/dist/gateway/text.js.map +1 -0
  1737. package/dist/gateway/types.d.ts +95 -0
  1738. package/dist/gateway/types.d.ts.map +1 -0
  1739. package/dist/gateway/types.js +9 -0
  1740. package/dist/gateway/types.js.map +1 -0
  1741. package/dist/index.d.ts +35 -0
  1742. package/dist/index.d.ts.map +1 -0
  1743. package/dist/index.js +47 -0
  1744. package/dist/index.js.map +1 -0
  1745. package/dist/main.d.ts +12 -0
  1746. package/dist/main.d.ts.map +1 -0
  1747. package/dist/main.js +742 -0
  1748. package/dist/main.js.map +1 -0
  1749. package/dist/migrations.d.ts +46 -0
  1750. package/dist/migrations.d.ts.map +1 -0
  1751. package/dist/migrations.js +351 -0
  1752. package/dist/migrations.js.map +1 -0
  1753. package/dist/modes/index.d.ts +9 -0
  1754. package/dist/modes/index.d.ts.map +1 -0
  1755. package/dist/modes/index.js +8 -0
  1756. package/dist/modes/index.js.map +1 -0
  1757. package/dist/modes/interactive/assets/clankolas.png +0 -0
  1758. package/dist/modes/interactive/components/armin.d.ts +34 -0
  1759. package/dist/modes/interactive/components/armin.d.ts.map +1 -0
  1760. package/dist/modes/interactive/components/armin.js +333 -0
  1761. package/dist/modes/interactive/components/armin.js.map +1 -0
  1762. package/dist/modes/interactive/components/assistant-message.d.ts +31 -0
  1763. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
  1764. package/dist/modes/interactive/components/assistant-message.js +246 -0
  1765. package/dist/modes/interactive/components/assistant-message.js.map +1 -0
  1766. package/dist/modes/interactive/components/bash-execution.d.ts +32 -0
  1767. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
  1768. package/dist/modes/interactive/components/bash-execution.js +171 -0
  1769. package/dist/modes/interactive/components/bash-execution.js.map +1 -0
  1770. package/dist/modes/interactive/components/boot-ascii.d.ts +6 -0
  1771. package/dist/modes/interactive/components/boot-ascii.d.ts.map +1 -0
  1772. package/dist/modes/interactive/components/boot-ascii.js +6 -0
  1773. package/dist/modes/interactive/components/boot-ascii.js.map +1 -0
  1774. package/dist/modes/interactive/components/boot-screen.d.ts +22 -0
  1775. package/dist/modes/interactive/components/boot-screen.d.ts.map +1 -0
  1776. package/dist/modes/interactive/components/boot-screen.js +53 -0
  1777. package/dist/modes/interactive/components/boot-screen.js.map +1 -0
  1778. package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
  1779. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
  1780. package/dist/modes/interactive/components/bordered-loader.js +54 -0
  1781. package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
  1782. package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
  1783. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
  1784. package/dist/modes/interactive/components/branch-summary-message.js +44 -0
  1785. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
  1786. package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
  1787. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
  1788. package/dist/modes/interactive/components/compaction-summary-message.js +45 -0
  1789. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
  1790. package/dist/modes/interactive/components/config-selector.d.ts +102 -0
  1791. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
  1792. package/dist/modes/interactive/components/config-selector.js +761 -0
  1793. package/dist/modes/interactive/components/config-selector.js.map +1 -0
  1794. package/dist/modes/interactive/components/context-view.d.ts +13 -0
  1795. package/dist/modes/interactive/components/context-view.d.ts.map +1 -0
  1796. package/dist/modes/interactive/components/context-view.js +42 -0
  1797. package/dist/modes/interactive/components/context-view.js.map +1 -0
  1798. package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  1799. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
  1800. package/dist/modes/interactive/components/countdown-timer.js +33 -0
  1801. package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
  1802. package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
  1803. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
  1804. package/dist/modes/interactive/components/custom-editor.js +70 -0
  1805. package/dist/modes/interactive/components/custom-editor.js.map +1 -0
  1806. package/dist/modes/interactive/components/custom-entry.d.ts +19 -0
  1807. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
  1808. package/dist/modes/interactive/components/custom-entry.js +52 -0
  1809. package/dist/modes/interactive/components/custom-entry.js.map +1 -0
  1810. package/dist/modes/interactive/components/custom-message.d.ts +20 -0
  1811. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
  1812. package/dist/modes/interactive/components/custom-message.js +79 -0
  1813. package/dist/modes/interactive/components/custom-message.js.map +1 -0
  1814. package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
  1815. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
  1816. package/dist/modes/interactive/components/daxnuts.js +140 -0
  1817. package/dist/modes/interactive/components/daxnuts.js.map +1 -0
  1818. package/dist/modes/interactive/components/diff.d.ts +12 -0
  1819. package/dist/modes/interactive/components/diff.d.ts.map +1 -0
  1820. package/dist/modes/interactive/components/diff.js +133 -0
  1821. package/dist/modes/interactive/components/diff.js.map +1 -0
  1822. package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  1823. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
  1824. package/dist/modes/interactive/components/dynamic-border.js +21 -0
  1825. package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
  1826. package/dist/modes/interactive/components/earendil-announcement.d.ts +5 -0
  1827. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -0
  1828. package/dist/modes/interactive/components/earendil-announcement.js +40 -0
  1829. package/dist/modes/interactive/components/earendil-announcement.js.map +1 -0
  1830. package/dist/modes/interactive/components/exit-card.d.ts +22 -0
  1831. package/dist/modes/interactive/components/exit-card.d.ts.map +1 -0
  1832. package/dist/modes/interactive/components/exit-card.js +69 -0
  1833. package/dist/modes/interactive/components/exit-card.js.map +1 -0
  1834. package/dist/modes/interactive/components/extension-editor.d.ts +22 -0
  1835. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
  1836. package/dist/modes/interactive/components/extension-editor.js +128 -0
  1837. package/dist/modes/interactive/components/extension-editor.js.map +1 -0
  1838. package/dist/modes/interactive/components/extension-input.d.ts +23 -0
  1839. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
  1840. package/dist/modes/interactive/components/extension-input.js +61 -0
  1841. package/dist/modes/interactive/components/extension-input.js.map +1 -0
  1842. package/dist/modes/interactive/components/extension-selector.d.ts +30 -0
  1843. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
  1844. package/dist/modes/interactive/components/extension-selector.js +106 -0
  1845. package/dist/modes/interactive/components/extension-selector.js.map +1 -0
  1846. package/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
  1847. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
  1848. package/dist/modes/interactive/components/first-time-setup.js +99 -0
  1849. package/dist/modes/interactive/components/first-time-setup.js.map +1 -0
  1850. package/dist/modes/interactive/components/footer.d.ts +32 -0
  1851. package/dist/modes/interactive/components/footer.d.ts.map +1 -0
  1852. package/dist/modes/interactive/components/footer.js +221 -0
  1853. package/dist/modes/interactive/components/footer.js.map +1 -0
  1854. package/dist/modes/interactive/components/index.d.ts +34 -0
  1855. package/dist/modes/interactive/components/index.d.ts.map +1 -0
  1856. package/dist/modes/interactive/components/index.js +35 -0
  1857. package/dist/modes/interactive/components/index.js.map +1 -0
  1858. package/dist/modes/interactive/components/injected-prompt-message.d.ts +21 -0
  1859. package/dist/modes/interactive/components/injected-prompt-message.d.ts.map +1 -0
  1860. package/dist/modes/interactive/components/injected-prompt-message.js +51 -0
  1861. package/dist/modes/interactive/components/injected-prompt-message.js.map +1 -0
  1862. package/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
  1863. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
  1864. package/dist/modes/interactive/components/keybinding-hints.js +36 -0
  1865. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
  1866. package/dist/modes/interactive/components/login-dialog.d.ts +52 -0
  1867. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
  1868. package/dist/modes/interactive/components/login-dialog.js +188 -0
  1869. package/dist/modes/interactive/components/login-dialog.js.map +1 -0
  1870. package/dist/modes/interactive/components/model-selector.d.ts +61 -0
  1871. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
  1872. package/dist/modes/interactive/components/model-selector.js +320 -0
  1873. package/dist/modes/interactive/components/model-selector.js.map +1 -0
  1874. package/dist/modes/interactive/components/oauth-selector.d.ts +33 -0
  1875. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
  1876. package/dist/modes/interactive/components/oauth-selector.js +163 -0
  1877. package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
  1878. package/dist/modes/interactive/components/processes-selector.d.ts +19 -0
  1879. package/dist/modes/interactive/components/processes-selector.d.ts.map +1 -0
  1880. package/dist/modes/interactive/components/processes-selector.js +170 -0
  1881. package/dist/modes/interactive/components/processes-selector.js.map +1 -0
  1882. package/dist/modes/interactive/components/scoped-models-selector.d.ts +42 -0
  1883. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
  1884. package/dist/modes/interactive/components/scoped-models-selector.js +293 -0
  1885. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
  1886. package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
  1887. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
  1888. package/dist/modes/interactive/components/session-selector-search.js +155 -0
  1889. package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
  1890. package/dist/modes/interactive/components/session-selector.d.ts +95 -0
  1891. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
  1892. package/dist/modes/interactive/components/session-selector.js +857 -0
  1893. package/dist/modes/interactive/components/session-selector.js.map +1 -0
  1894. package/dist/modes/interactive/components/settings-selector.d.ts +139 -0
  1895. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
  1896. package/dist/modes/interactive/components/settings-selector.js +1156 -0
  1897. package/dist/modes/interactive/components/settings-selector.js.map +1 -0
  1898. package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  1899. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
  1900. package/dist/modes/interactive/components/show-images-selector.js +39 -0
  1901. package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
  1902. package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
  1903. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
  1904. package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
  1905. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
  1906. package/dist/modes/interactive/components/status-indicator.d.ts +28 -0
  1907. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -0
  1908. package/dist/modes/interactive/components/status-indicator.js +60 -0
  1909. package/dist/modes/interactive/components/status-indicator.js.map +1 -0
  1910. package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  1911. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
  1912. package/dist/modes/interactive/components/theme-selector.js +50 -0
  1913. package/dist/modes/interactive/components/theme-selector.js.map +1 -0
  1914. package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
  1915. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
  1916. package/dist/modes/interactive/components/thinking-selector.js +52 -0
  1917. package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
  1918. package/dist/modes/interactive/components/thinking-summary.d.ts +36 -0
  1919. package/dist/modes/interactive/components/thinking-summary.d.ts.map +1 -0
  1920. package/dist/modes/interactive/components/thinking-summary.js +94 -0
  1921. package/dist/modes/interactive/components/thinking-summary.js.map +1 -0
  1922. package/dist/modes/interactive/components/thinking-tail.d.ts +21 -0
  1923. package/dist/modes/interactive/components/thinking-tail.d.ts.map +1 -0
  1924. package/dist/modes/interactive/components/thinking-tail.js +29 -0
  1925. package/dist/modes/interactive/components/thinking-tail.js.map +1 -0
  1926. package/dist/modes/interactive/components/tool-execution.d.ts +67 -0
  1927. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
  1928. package/dist/modes/interactive/components/tool-execution.js +340 -0
  1929. package/dist/modes/interactive/components/tool-execution.js.map +1 -0
  1930. package/dist/modes/interactive/components/tree-selector.d.ts +94 -0
  1931. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
  1932. package/dist/modes/interactive/components/tree-selector.js +1245 -0
  1933. package/dist/modes/interactive/components/tree-selector.js.map +1 -0
  1934. package/dist/modes/interactive/components/trust-selector.d.ts +23 -0
  1935. package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -0
  1936. package/dist/modes/interactive/components/trust-selector.js +91 -0
  1937. package/dist/modes/interactive/components/trust-selector.js.map +1 -0
  1938. package/dist/modes/interactive/components/usage-view.d.ts +63 -0
  1939. package/dist/modes/interactive/components/usage-view.d.ts.map +1 -0
  1940. package/dist/modes/interactive/components/usage-view.js +189 -0
  1941. package/dist/modes/interactive/components/usage-view.js.map +1 -0
  1942. package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  1943. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
  1944. package/dist/modes/interactive/components/user-message-selector.js +114 -0
  1945. package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
  1946. package/dist/modes/interactive/components/user-message.d.ts +16 -0
  1947. package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
  1948. package/dist/modes/interactive/components/user-message.js +62 -0
  1949. package/dist/modes/interactive/components/user-message.js.map +1 -0
  1950. package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  1951. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
  1952. package/dist/modes/interactive/components/visual-truncate.js +33 -0
  1953. package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
  1954. package/dist/modes/interactive/interactive-mode.d.ts +448 -0
  1955. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
  1956. package/dist/modes/interactive/interactive-mode.js +6487 -0
  1957. package/dist/modes/interactive/interactive-mode.js.map +1 -0
  1958. package/dist/modes/interactive/model-search.d.ts +12 -0
  1959. package/dist/modes/interactive/model-search.d.ts.map +1 -0
  1960. package/dist/modes/interactive/model-search.js +15 -0
  1961. package/dist/modes/interactive/model-search.js.map +1 -0
  1962. package/dist/modes/interactive/smooth-streaming.d.ts +10 -0
  1963. package/dist/modes/interactive/smooth-streaming.d.ts.map +1 -0
  1964. package/dist/modes/interactive/smooth-streaming.js +95 -0
  1965. package/dist/modes/interactive/smooth-streaming.js.map +1 -0
  1966. package/dist/modes/interactive/theme/moon.json +83 -0
  1967. package/dist/modes/interactive/theme/theme-controller.d.ts +29 -0
  1968. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -0
  1969. package/dist/modes/interactive/theme/theme-controller.js +97 -0
  1970. package/dist/modes/interactive/theme/theme-controller.js.map +1 -0
  1971. package/dist/modes/interactive/theme/theme-schema.json +363 -0
  1972. package/dist/modes/interactive/theme/theme.d.ts +128 -0
  1973. package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
  1974. package/dist/modes/interactive/theme/theme.js +1092 -0
  1975. package/dist/modes/interactive/theme/theme.js.map +1 -0
  1976. package/dist/modes/print-mode.d.ts +28 -0
  1977. package/dist/modes/print-mode.d.ts.map +1 -0
  1978. package/dist/modes/print-mode.js +132 -0
  1979. package/dist/modes/print-mode.js.map +1 -0
  1980. package/dist/modes/rpc/jsonl.d.ts +17 -0
  1981. package/dist/modes/rpc/jsonl.d.ts.map +1 -0
  1982. package/dist/modes/rpc/jsonl.js +49 -0
  1983. package/dist/modes/rpc/jsonl.js.map +1 -0
  1984. package/dist/modes/rpc/rpc-client.d.ts +242 -0
  1985. package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
  1986. package/dist/modes/rpc/rpc-client.js +481 -0
  1987. package/dist/modes/rpc/rpc-client.js.map +1 -0
  1988. package/dist/modes/rpc/rpc-mode.d.ts +20 -0
  1989. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
  1990. package/dist/modes/rpc/rpc-mode.js +635 -0
  1991. package/dist/modes/rpc/rpc-mode.js.map +1 -0
  1992. package/dist/modes/rpc/rpc-types.d.ts +446 -0
  1993. package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
  1994. package/dist/modes/rpc/rpc-types.js +8 -0
  1995. package/dist/modes/rpc/rpc-types.js.map +1 -0
  1996. package/dist/package-manager-cli.d.ts +8 -0
  1997. package/dist/package-manager-cli.d.ts.map +1 -0
  1998. package/dist/package-manager-cli.js +378 -0
  1999. package/dist/package-manager-cli.js.map +1 -0
  2000. package/dist/rpc-entry.d.ts +3 -0
  2001. package/dist/rpc-entry.d.ts.map +1 -0
  2002. package/dist/rpc-entry.js +10 -0
  2003. package/dist/rpc-entry.js.map +1 -0
  2004. package/dist/utils/ansi.d.ts +2 -0
  2005. package/dist/utils/ansi.d.ts.map +1 -0
  2006. package/dist/utils/ansi.js +52 -0
  2007. package/dist/utils/ansi.js.map +1 -0
  2008. package/dist/utils/child-process.d.ts +18 -0
  2009. package/dist/utils/child-process.d.ts.map +1 -0
  2010. package/dist/utils/child-process.js +106 -0
  2011. package/dist/utils/child-process.js.map +1 -0
  2012. package/dist/utils/clipboard-image.d.ts +11 -0
  2013. package/dist/utils/clipboard-image.d.ts.map +1 -0
  2014. package/dist/utils/clipboard-image.js +300 -0
  2015. package/dist/utils/clipboard-image.js.map +1 -0
  2016. package/dist/utils/clipboard-native.d.ts +11 -0
  2017. package/dist/utils/clipboard-native.d.ts.map +1 -0
  2018. package/dist/utils/clipboard-native.js +20 -0
  2019. package/dist/utils/clipboard-native.js.map +1 -0
  2020. package/dist/utils/clipboard.d.ts +4 -0
  2021. package/dist/utils/clipboard.d.ts.map +1 -0
  2022. package/dist/utils/clipboard.js +130 -0
  2023. package/dist/utils/clipboard.js.map +1 -0
  2024. package/dist/utils/deprecation.d.ts +4 -0
  2025. package/dist/utils/deprecation.d.ts.map +1 -0
  2026. package/dist/utils/deprecation.js +13 -0
  2027. package/dist/utils/deprecation.js.map +1 -0
  2028. package/dist/utils/exif-orientation.d.ts +5 -0
  2029. package/dist/utils/exif-orientation.d.ts.map +1 -0
  2030. package/dist/utils/exif-orientation.js +158 -0
  2031. package/dist/utils/exif-orientation.js.map +1 -0
  2032. package/dist/utils/frontmatter.d.ts +8 -0
  2033. package/dist/utils/frontmatter.d.ts.map +1 -0
  2034. package/dist/utils/frontmatter.js +26 -0
  2035. package/dist/utils/frontmatter.js.map +1 -0
  2036. package/dist/utils/fs-watch.d.ts +5 -0
  2037. package/dist/utils/fs-watch.d.ts.map +1 -0
  2038. package/dist/utils/fs-watch.js +25 -0
  2039. package/dist/utils/fs-watch.js.map +1 -0
  2040. package/dist/utils/git.d.ts +26 -0
  2041. package/dist/utils/git.d.ts.map +1 -0
  2042. package/dist/utils/git.js +195 -0
  2043. package/dist/utils/git.js.map +1 -0
  2044. package/dist/utils/html.d.ts +7 -0
  2045. package/dist/utils/html.d.ts.map +1 -0
  2046. package/dist/utils/html.js +40 -0
  2047. package/dist/utils/html.js.map +1 -0
  2048. package/dist/utils/image-convert.d.ts +10 -0
  2049. package/dist/utils/image-convert.d.ts.map +1 -0
  2050. package/dist/utils/image-convert.js +45 -0
  2051. package/dist/utils/image-convert.js.map +1 -0
  2052. package/dist/utils/image-process.d.ts +18 -0
  2053. package/dist/utils/image-process.d.ts.map +1 -0
  2054. package/dist/utils/image-process.js +83 -0
  2055. package/dist/utils/image-process.js.map +1 -0
  2056. package/dist/utils/image-resize-core.d.ts +30 -0
  2057. package/dist/utils/image-resize-core.d.ts.map +1 -0
  2058. package/dist/utils/image-resize-core.js +124 -0
  2059. package/dist/utils/image-resize-core.js.map +1 -0
  2060. package/dist/utils/image-resize-worker.d.ts +2 -0
  2061. package/dist/utils/image-resize-worker.d.ts.map +1 -0
  2062. package/dist/utils/image-resize-worker.js +31 -0
  2063. package/dist/utils/image-resize-worker.js.map +1 -0
  2064. package/dist/utils/image-resize.d.ts +16 -0
  2065. package/dist/utils/image-resize.d.ts.map +1 -0
  2066. package/dist/utils/image-resize.js +97 -0
  2067. package/dist/utils/image-resize.js.map +1 -0
  2068. package/dist/utils/json.d.ts +3 -0
  2069. package/dist/utils/json.d.ts.map +1 -0
  2070. package/dist/utils/json.js +7 -0
  2071. package/dist/utils/json.js.map +1 -0
  2072. package/dist/utils/mime.d.ts +3 -0
  2073. package/dist/utils/mime.d.ts.map +1 -0
  2074. package/dist/utils/mime.js +110 -0
  2075. package/dist/utils/mime.js.map +1 -0
  2076. package/dist/utils/open-browser.d.ts +9 -0
  2077. package/dist/utils/open-browser.d.ts.map +1 -0
  2078. package/dist/utils/open-browser.js +22 -0
  2079. package/dist/utils/open-browser.js.map +1 -0
  2080. package/dist/utils/paths.d.ts +31 -0
  2081. package/dist/utils/paths.d.ts.map +1 -0
  2082. package/dist/utils/paths.js +92 -0
  2083. package/dist/utils/paths.js.map +1 -0
  2084. package/dist/utils/photon.d.ts +21 -0
  2085. package/dist/utils/photon.d.ts.map +1 -0
  2086. package/dist/utils/photon.js +121 -0
  2087. package/dist/utils/photon.js.map +1 -0
  2088. package/dist/utils/pi-user-agent.d.ts +2 -0
  2089. package/dist/utils/pi-user-agent.d.ts.map +1 -0
  2090. package/dist/utils/pi-user-agent.js +5 -0
  2091. package/dist/utils/pi-user-agent.js.map +1 -0
  2092. package/dist/utils/shell.d.ts +31 -0
  2093. package/dist/utils/shell.d.ts.map +1 -0
  2094. package/dist/utils/shell.js +202 -0
  2095. package/dist/utils/shell.js.map +1 -0
  2096. package/dist/utils/sleep.d.ts +5 -0
  2097. package/dist/utils/sleep.d.ts.map +1 -0
  2098. package/dist/utils/sleep.js +17 -0
  2099. package/dist/utils/sleep.js.map +1 -0
  2100. package/dist/utils/syntax-highlight.d.ts +12 -0
  2101. package/dist/utils/syntax-highlight.d.ts.map +1 -0
  2102. package/dist/utils/syntax-highlight.js +118 -0
  2103. package/dist/utils/syntax-highlight.js.map +1 -0
  2104. package/dist/utils/tools-manager.d.ts +3 -0
  2105. package/dist/utils/tools-manager.d.ts.map +1 -0
  2106. package/dist/utils/tools-manager.js +328 -0
  2107. package/dist/utils/tools-manager.js.map +1 -0
  2108. package/docs/compaction.md +396 -0
  2109. package/docs/containerization.md +111 -0
  2110. package/docs/custom-provider.md +735 -0
  2111. package/docs/development.md +71 -0
  2112. package/docs/docs.json +156 -0
  2113. package/docs/extensions.md +2911 -0
  2114. package/docs/images/doom-extension.png +0 -0
  2115. package/docs/images/exy.png +0 -0
  2116. package/docs/images/interactive-mode.png +0 -0
  2117. package/docs/images/tree-view.png +0 -0
  2118. package/docs/index.md +82 -0
  2119. package/docs/json.md +82 -0
  2120. package/docs/keybindings.md +201 -0
  2121. package/docs/models.md +540 -0
  2122. package/docs/packages.md +228 -0
  2123. package/docs/prompt-templates.md +95 -0
  2124. package/docs/providers.md +294 -0
  2125. package/docs/quickstart.md +165 -0
  2126. package/docs/rpc.md +1480 -0
  2127. package/docs/sdk.md +1183 -0
  2128. package/docs/security.md +59 -0
  2129. package/docs/session-format.md +422 -0
  2130. package/docs/sessions.md +145 -0
  2131. package/docs/settings.md +302 -0
  2132. package/docs/shell-aliases.md +13 -0
  2133. package/docs/skills.md +231 -0
  2134. package/docs/terminal-setup.md +142 -0
  2135. package/docs/termux.md +127 -0
  2136. package/docs/themes.md +297 -0
  2137. package/docs/tmux.md +63 -0
  2138. package/docs/tui.md +927 -0
  2139. package/docs/usage.md +312 -0
  2140. package/docs/windows.md +17 -0
  2141. package/examples/README.md +25 -0
  2142. package/examples/extensions/README.md +213 -0
  2143. package/examples/extensions/auto-commit-on-exit.ts +49 -0
  2144. package/examples/extensions/bash-spawn-hook.ts +30 -0
  2145. package/examples/extensions/bookmark.ts +50 -0
  2146. package/examples/extensions/border-status-editor.ts +150 -0
  2147. package/examples/extensions/built-in-tool-renderer.ts +249 -0
  2148. package/examples/extensions/claude-rules.ts +86 -0
  2149. package/examples/extensions/commands.ts +72 -0
  2150. package/examples/extensions/confirm-destructive.ts +59 -0
  2151. package/examples/extensions/custom-compaction.ts +128 -0
  2152. package/examples/extensions/custom-footer.ts +64 -0
  2153. package/examples/extensions/custom-header.ts +73 -0
  2154. package/examples/extensions/custom-provider-anthropic/index.ts +604 -0
  2155. package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -0
  2156. package/examples/extensions/custom-provider-anthropic/package.json +19 -0
  2157. package/examples/extensions/custom-provider-gitlab-duo/index.ts +404 -0
  2158. package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -0
  2159. package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -0
  2160. package/examples/extensions/dirty-repo-guard.ts +56 -0
  2161. package/examples/extensions/doom-overlay/README.md +46 -0
  2162. package/examples/extensions/doom-overlay/doom/build/doom.js +21 -0
  2163. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  2164. package/examples/extensions/doom-overlay/doom/build.sh +152 -0
  2165. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -0
  2166. package/examples/extensions/doom-overlay/doom-component.ts +132 -0
  2167. package/examples/extensions/doom-overlay/doom-engine.ts +173 -0
  2168. package/examples/extensions/doom-overlay/doom-keys.ts +104 -0
  2169. package/examples/extensions/doom-overlay/index.ts +74 -0
  2170. package/examples/extensions/doom-overlay/wad-finder.ts +51 -0
  2171. package/examples/extensions/dynamic-resources/SKILL.md +8 -0
  2172. package/examples/extensions/dynamic-resources/dynamic.json +79 -0
  2173. package/examples/extensions/dynamic-resources/dynamic.md +5 -0
  2174. package/examples/extensions/dynamic-resources/index.ts +15 -0
  2175. package/examples/extensions/dynamic-tools.ts +74 -0
  2176. package/examples/extensions/entry-renderer.ts +41 -0
  2177. package/examples/extensions/event-bus.ts +43 -0
  2178. package/examples/extensions/file-trigger.ts +41 -0
  2179. package/examples/extensions/git-checkpoint.ts +53 -0
  2180. package/examples/extensions/git-merge-and-resolve.ts +115 -0
  2181. package/examples/extensions/github-issue-autocomplete.ts +185 -0
  2182. package/examples/extensions/gondolin/index.ts +531 -0
  2183. package/examples/extensions/gondolin/package-lock.json +185 -0
  2184. package/examples/extensions/gondolin/package.json +19 -0
  2185. package/examples/extensions/handoff.ts +191 -0
  2186. package/examples/extensions/hello.ts +26 -0
  2187. package/examples/extensions/hidden-thinking-label.ts +53 -0
  2188. package/examples/extensions/inline-bash.ts +94 -0
  2189. package/examples/extensions/input-transform-streaming.ts +39 -0
  2190. package/examples/extensions/input-transform.ts +43 -0
  2191. package/examples/extensions/interactive-shell.ts +196 -0
  2192. package/examples/extensions/kimi-deferred-tools.ts +61 -0
  2193. package/examples/extensions/mac-system-theme.ts +47 -0
  2194. package/examples/extensions/message-renderer.ts +59 -0
  2195. package/examples/extensions/minimal-mode.ts +426 -0
  2196. package/examples/extensions/modal-editor.ts +85 -0
  2197. package/examples/extensions/model-status.ts +31 -0
  2198. package/examples/extensions/notify.ts +55 -0
  2199. package/examples/extensions/overlay-qa-tests.ts +1450 -0
  2200. package/examples/extensions/overlay-test.ts +153 -0
  2201. package/examples/extensions/permission-gate.ts +34 -0
  2202. package/examples/extensions/pirate.ts +47 -0
  2203. package/examples/extensions/plan-mode/README.md +66 -0
  2204. package/examples/extensions/plan-mode/index.ts +390 -0
  2205. package/examples/extensions/plan-mode/utils.ts +168 -0
  2206. package/examples/extensions/preset.ts +436 -0
  2207. package/examples/extensions/project-trust.ts +64 -0
  2208. package/examples/extensions/prompt-customizer.ts +97 -0
  2209. package/examples/extensions/protected-paths.ts +30 -0
  2210. package/examples/extensions/provider-payload.ts +18 -0
  2211. package/examples/extensions/qna.ts +122 -0
  2212. package/examples/extensions/question.ts +286 -0
  2213. package/examples/extensions/questionnaire.ts +448 -0
  2214. package/examples/extensions/rainbow-editor.ts +88 -0
  2215. package/examples/extensions/reload-runtime.ts +37 -0
  2216. package/examples/extensions/rpc-demo.ts +118 -0
  2217. package/examples/extensions/sandbox/index.ts +321 -0
  2218. package/examples/extensions/sandbox/package-lock.json +92 -0
  2219. package/examples/extensions/sandbox/package.json +19 -0
  2220. package/examples/extensions/send-user-message.ts +97 -0
  2221. package/examples/extensions/session-name.ts +27 -0
  2222. package/examples/extensions/shutdown-command.ts +63 -0
  2223. package/examples/extensions/snake.ts +343 -0
  2224. package/examples/extensions/space-invaders.ts +560 -0
  2225. package/examples/extensions/ssh.ts +220 -0
  2226. package/examples/extensions/status-line.ts +32 -0
  2227. package/examples/extensions/structured-output.ts +65 -0
  2228. package/examples/extensions/subagent/README.md +175 -0
  2229. package/examples/extensions/subagent/agents/planner.md +37 -0
  2230. package/examples/extensions/subagent/agents/reviewer.md +35 -0
  2231. package/examples/extensions/subagent/agents/scout.md +50 -0
  2232. package/examples/extensions/subagent/agents/worker.md +24 -0
  2233. package/examples/extensions/subagent/agents.ts +126 -0
  2234. package/examples/extensions/subagent/index.ts +1015 -0
  2235. package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
  2236. package/examples/extensions/subagent/prompts/implement.md +10 -0
  2237. package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
  2238. package/examples/extensions/summarize.ts +207 -0
  2239. package/examples/extensions/system-prompt-header.ts +17 -0
  2240. package/examples/extensions/tic-tac-toe.ts +1008 -0
  2241. package/examples/extensions/timed-confirm.ts +70 -0
  2242. package/examples/extensions/titlebar-spinner.ts +58 -0
  2243. package/examples/extensions/todo.ts +297 -0
  2244. package/examples/extensions/tool-override.ts +144 -0
  2245. package/examples/extensions/tools.ts +146 -0
  2246. package/examples/extensions/trigger-compact.ts +50 -0
  2247. package/examples/extensions/truncated-tool.ts +195 -0
  2248. package/examples/extensions/widget-placement.ts +9 -0
  2249. package/examples/extensions/with-deps/index.ts +32 -0
  2250. package/examples/extensions/with-deps/package-lock.json +31 -0
  2251. package/examples/extensions/with-deps/package.json +22 -0
  2252. package/examples/extensions/working-indicator.ts +123 -0
  2253. package/examples/extensions/working-message-test.ts +25 -0
  2254. package/examples/rpc-extension-ui.ts +632 -0
  2255. package/examples/sdk/01-minimal.ts +26 -0
  2256. package/examples/sdk/02-custom-model.ts +50 -0
  2257. package/examples/sdk/03-custom-prompt.ts +75 -0
  2258. package/examples/sdk/04-skills.ts +55 -0
  2259. package/examples/sdk/05-tools.ts +48 -0
  2260. package/examples/sdk/06-extensions.ts +99 -0
  2261. package/examples/sdk/07-context-files.ts +47 -0
  2262. package/examples/sdk/08-prompt-templates.ts +51 -0
  2263. package/examples/sdk/09-api-keys-and-oauth.ts +34 -0
  2264. package/examples/sdk/10-settings.ts +53 -0
  2265. package/examples/sdk/11-sessions.ts +52 -0
  2266. package/examples/sdk/12-full-control.ts +72 -0
  2267. package/examples/sdk/13-session-runtime.ts +67 -0
  2268. package/examples/sdk/README.md +140 -0
  2269. 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,3 @@
1
+ import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
+ export default function piIntercomExtension(pi: ExtensionAPI): void;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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"]}