@ashx-j/lunr 0.2.16 → 0.2.18

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 (349) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/README.md +2 -1
  3. package/dist/builtin-extensions/ashxj-thinking.d.ts +1 -0
  4. package/dist/builtin-extensions/ashxj-thinking.d.ts.map +1 -1
  5. package/dist/builtin-extensions/ashxj-thinking.js +44 -19
  6. package/dist/builtin-extensions/ashxj-thinking.js.map +1 -1
  7. package/dist/builtin-extensions/ashxj-tui.d.ts +2 -2
  8. package/dist/builtin-extensions/ashxj-tui.d.ts.map +1 -1
  9. package/dist/builtin-extensions/ashxj-tui.js +8 -11
  10. package/dist/builtin-extensions/ashxj-tui.js.map +1 -1
  11. package/dist/builtin-extensions/index.d.ts.map +1 -1
  12. package/dist/builtin-extensions/index.js +2 -1
  13. package/dist/builtin-extensions/index.js.map +1 -1
  14. package/dist/builtin-extensions/pi-lsp-extension/src/index.d.ts +4 -0
  15. package/dist/builtin-extensions/pi-lsp-extension/src/index.d.ts.map +1 -1
  16. package/dist/builtin-extensions/pi-lsp-extension/src/index.js +172 -171
  17. package/dist/builtin-extensions/pi-lsp-extension/src/index.js.map +1 -1
  18. package/dist/builtin-extensions/pi-lsp-extension/src/runtime.d.ts +50 -0
  19. package/dist/builtin-extensions/pi-lsp-extension/src/runtime.d.ts.map +1 -0
  20. package/dist/builtin-extensions/pi-lsp-extension/src/runtime.js +131 -0
  21. package/dist/builtin-extensions/pi-lsp-extension/src/runtime.js.map +1 -0
  22. package/dist/builtin-extensions/pi-mcp-adapter/direct-tool-executor.d.ts +7 -0
  23. package/dist/builtin-extensions/pi-mcp-adapter/direct-tool-executor.d.ts.map +1 -0
  24. package/dist/builtin-extensions/pi-mcp-adapter/direct-tool-executor.js +211 -0
  25. package/dist/builtin-extensions/pi-mcp-adapter/direct-tool-executor.js.map +1 -0
  26. package/dist/builtin-extensions/pi-mcp-adapter/direct-tools.d.ts +0 -5
  27. package/dist/builtin-extensions/pi-mcp-adapter/direct-tools.d.ts.map +1 -1
  28. package/dist/builtin-extensions/pi-mcp-adapter/direct-tools.js +0 -202
  29. package/dist/builtin-extensions/pi-mcp-adapter/direct-tools.js.map +1 -1
  30. package/dist/builtin-extensions/pi-mcp-adapter/index.d.ts.map +1 -1
  31. package/dist/builtin-extensions/pi-mcp-adapter/index.js +276 -109
  32. package/dist/builtin-extensions/pi-mcp-adapter/index.js.map +1 -1
  33. package/dist/builtin-extensions/pi-mcp-adapter/init.d.ts +4 -1
  34. package/dist/builtin-extensions/pi-mcp-adapter/init.d.ts.map +1 -1
  35. package/dist/builtin-extensions/pi-mcp-adapter/init.js +10 -3
  36. package/dist/builtin-extensions/pi-mcp-adapter/init.js.map +1 -1
  37. package/dist/builtin-extensions/pi-mcp-adapter/metadata-cache.d.ts.map +1 -1
  38. package/dist/builtin-extensions/pi-mcp-adapter/metadata-cache.js +6 -1
  39. package/dist/builtin-extensions/pi-mcp-adapter/metadata-cache.js.map +1 -1
  40. package/dist/builtin-extensions/pi-mcp-adapter/server-manager.d.ts +6 -1
  41. package/dist/builtin-extensions/pi-mcp-adapter/server-manager.d.ts.map +1 -1
  42. package/dist/builtin-extensions/pi-mcp-adapter/server-manager.js +33 -8
  43. package/dist/builtin-extensions/pi-mcp-adapter/server-manager.js.map +1 -1
  44. package/dist/builtin-extensions/pi-prompt-template-model/prompt-loader.d.ts.map +1 -1
  45. package/dist/builtin-extensions/pi-prompt-template-model/prompt-loader.js +2 -1
  46. package/dist/builtin-extensions/pi-prompt-template-model/prompt-loader.js.map +1 -1
  47. package/dist/builtin-extensions/pi-prompt-template-model/tool-manager.d.ts +1 -1
  48. package/dist/builtin-extensions/pi-prompt-template-model/tool-manager.d.ts.map +1 -1
  49. package/dist/builtin-extensions/pi-prompt-template-model/tool-manager.js +1 -1
  50. package/dist/builtin-extensions/pi-prompt-template-model/tool-manager.js.map +1 -1
  51. package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts +1 -1
  52. package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts.map +1 -1
  53. package/dist/builtin-extensions/pi-subagents/src/extension/index.js +68 -15
  54. package/dist/builtin-extensions/pi-subagents/src/extension/index.js.map +1 -1
  55. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts.map +1 -1
  56. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js +6 -2
  57. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js.map +1 -1
  58. package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.d.ts +1 -1
  59. package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.d.ts.map +1 -1
  60. package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.js +5 -2
  61. package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.js.map +1 -1
  62. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/request-params.d.ts +10 -0
  63. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/request-params.d.ts.map +1 -0
  64. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/request-params.js +38 -0
  65. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/request-params.js.map +1 -0
  66. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts.map +1 -1
  67. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js +3 -16
  68. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js.map +1 -1
  69. package/dist/builtin-extensions/pi-subagents/src/shared/fork-context.d.ts.map +1 -1
  70. package/dist/builtin-extensions/pi-subagents/src/shared/fork-context.js +1 -1
  71. package/dist/builtin-extensions/pi-subagents/src/shared/fork-context.js.map +1 -1
  72. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts +1 -1
  73. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts.map +1 -1
  74. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js +1 -1
  75. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js.map +1 -1
  76. package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts +2 -1
  77. package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts.map +1 -1
  78. package/dist/builtin-extensions/pi-subagents/src/tui/render.js +72 -31
  79. package/dist/builtin-extensions/pi-subagents/src/tui/render.js.map +1 -1
  80. package/dist/builtin-extensions/pi-subagents/src/watchdog/review.d.ts +1 -1
  81. package/dist/builtin-extensions/pi-subagents/src/watchdog/review.d.ts.map +1 -1
  82. package/dist/builtin-extensions/pi-subagents/src/watchdog/review.js +2 -1
  83. package/dist/builtin-extensions/pi-subagents/src/watchdog/review.js.map +1 -1
  84. package/dist/builtin-extensions/pi-web-access/extract.d.ts.map +1 -1
  85. package/dist/builtin-extensions/pi-web-access/extract.js +105 -54
  86. package/dist/builtin-extensions/pi-web-access/extract.js.map +1 -1
  87. package/dist/builtin-extensions/pi-web-access/gemini-search.d.ts +1 -1
  88. package/dist/builtin-extensions/pi-web-access/gemini-search.d.ts.map +1 -1
  89. package/dist/builtin-extensions/pi-web-access/gemini-search.js +82 -65
  90. package/dist/builtin-extensions/pi-web-access/gemini-search.js.map +1 -1
  91. package/dist/builtin-extensions/pi-web-access/github-extract.d.ts.map +1 -1
  92. package/dist/builtin-extensions/pi-web-access/github-extract.js +2 -0
  93. package/dist/builtin-extensions/pi-web-access/github-extract.js.map +1 -1
  94. package/dist/builtin-extensions/pi-web-access/index.d.ts.map +1 -1
  95. package/dist/builtin-extensions/pi-web-access/index.js +259 -168
  96. package/dist/builtin-extensions/pi-web-access/index.js.map +1 -1
  97. package/dist/builtin-extensions/pi-web-access/lazy.d.ts +18 -0
  98. package/dist/builtin-extensions/pi-web-access/lazy.d.ts.map +1 -0
  99. package/dist/builtin-extensions/pi-web-access/lazy.js +19 -0
  100. package/dist/builtin-extensions/pi-web-access/lazy.js.map +1 -0
  101. package/dist/builtin-extensions/pi-web-access/session-cleanup.d.ts +6 -0
  102. package/dist/builtin-extensions/pi-web-access/session-cleanup.d.ts.map +1 -0
  103. package/dist/builtin-extensions/pi-web-access/session-cleanup.js +17 -0
  104. package/dist/builtin-extensions/pi-web-access/session-cleanup.js.map +1 -0
  105. package/dist/cli-runtime.d.ts +3 -0
  106. package/dist/cli-runtime.d.ts.map +1 -0
  107. package/dist/cli-runtime.js +72 -0
  108. package/dist/cli-runtime.js.map +1 -0
  109. package/dist/cli.d.ts.map +1 -1
  110. package/dist/cli.js +11 -60
  111. package/dist/cli.js.map +1 -1
  112. package/dist/config.d.ts +1 -0
  113. package/dist/config.d.ts.map +1 -1
  114. package/dist/config.js +1 -0
  115. package/dist/config.js.map +1 -1
  116. package/dist/core/agent-session.d.ts.map +1 -1
  117. package/dist/core/agent-session.js +6 -3
  118. package/dist/core/agent-session.js.map +1 -1
  119. package/dist/core/extensions/host-static.d.ts.map +1 -1
  120. package/dist/core/extensions/host-static.js +34 -12
  121. package/dist/core/extensions/host-static.js.map +1 -1
  122. package/dist/core/extensions/loader.d.ts +1 -2
  123. package/dist/core/extensions/loader.d.ts.map +1 -1
  124. package/dist/core/extensions/loader.js +10 -64
  125. package/dist/core/extensions/loader.js.map +1 -1
  126. package/dist/core/keybindings.d.ts +2 -2
  127. package/dist/core/keybindings.d.ts.map +1 -1
  128. package/dist/core/keybindings.js +2 -2
  129. package/dist/core/keybindings.js.map +1 -1
  130. package/dist/core/package-manager.d.ts.map +1 -1
  131. package/dist/core/package-manager.js +1 -1
  132. package/dist/core/package-manager.js.map +1 -1
  133. package/dist/core/sdk.d.ts +1 -1
  134. package/dist/core/sdk.d.ts.map +1 -1
  135. package/dist/core/sdk.js +1 -1
  136. package/dist/core/sdk.js.map +1 -1
  137. package/dist/core/timings.d.ts +2 -1
  138. package/dist/core/timings.d.ts.map +1 -1
  139. package/dist/core/timings.js +17 -2
  140. package/dist/core/timings.js.map +1 -1
  141. package/dist/gateway/agent-bridge.d.ts +6 -1
  142. package/dist/gateway/agent-bridge.d.ts.map +1 -1
  143. package/dist/gateway/agent-bridge.js +23 -6
  144. package/dist/gateway/agent-bridge.js.map +1 -1
  145. package/dist/gateway/cron.d.ts +1 -1
  146. package/dist/gateway/cron.d.ts.map +1 -1
  147. package/dist/gateway/cron.js +3 -1
  148. package/dist/gateway/cron.js.map +1 -1
  149. package/dist/main.d.ts.map +1 -1
  150. package/dist/main.js +20 -14
  151. package/dist/main.js.map +1 -1
  152. package/dist/modes/interactive/injected-context.d.ts +2 -0
  153. package/dist/modes/interactive/injected-context.d.ts.map +1 -0
  154. package/dist/modes/interactive/injected-context.js +7 -0
  155. package/dist/modes/interactive/injected-context.js.map +1 -0
  156. package/dist/modes/interactive/interactive-mode.d.ts +2 -0
  157. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  158. package/dist/modes/interactive/interactive-mode.js +32 -8
  159. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  160. package/dist/modes/interactive/thinking-level-slash.d.ts +4 -0
  161. package/dist/modes/interactive/thinking-level-slash.d.ts.map +1 -0
  162. package/dist/modes/interactive/thinking-level-slash.js +23 -0
  163. package/dist/modes/interactive/thinking-level-slash.js.map +1 -0
  164. package/dist/node-runtime/agent-session-services-35WNVGMR.js +36 -0
  165. package/dist/node-runtime/benchmark-request-UC7PD3V3.js +57 -0
  166. package/dist/node-runtime/brave-UWDA3I22.js +143 -0
  167. package/dist/node-runtime/builtin-extensions-QATGXENO.js +28 -0
  168. package/dist/node-runtime/chunk-2SJB2AWP.js +47 -0
  169. package/dist/node-runtime/chunk-3NMWLTPV.js +64 -0
  170. package/dist/node-runtime/chunk-3WFAEVKS.js +115 -0
  171. package/dist/node-runtime/chunk-3X3KZKMI.js +49 -0
  172. package/dist/node-runtime/chunk-4CSFRBCN.js +7558 -0
  173. package/dist/node-runtime/chunk-4DJ6HEGH.js +296 -0
  174. package/dist/node-runtime/chunk-4HXHDDCF.js +16 -0
  175. package/dist/node-runtime/chunk-4I23VTC4.js +429 -0
  176. package/dist/node-runtime/chunk-4TLO4PO2.js +3427 -0
  177. package/dist/node-runtime/chunk-4ZWGEEAS.js +69 -0
  178. package/dist/node-runtime/chunk-53YJI7JU.js +137 -0
  179. package/dist/node-runtime/chunk-5EFIU3OM.js +295 -0
  180. package/dist/node-runtime/chunk-6BEIBLQ3.js +53 -0
  181. package/dist/node-runtime/chunk-6KDIOJL3.js +72 -0
  182. package/dist/node-runtime/chunk-7N3YHTYF.js +26 -0
  183. package/dist/node-runtime/chunk-7NBZ5P7I.js +24 -0
  184. package/dist/node-runtime/chunk-AD6VXAO7.js +342 -0
  185. package/dist/node-runtime/chunk-ARC4KOTI.js +11178 -0
  186. package/dist/node-runtime/chunk-AROOY4BB.js +173 -0
  187. package/dist/node-runtime/chunk-ATGA2WLC.js +5646 -0
  188. package/dist/node-runtime/chunk-AUXVGBO4.js +19 -0
  189. package/dist/node-runtime/chunk-AY6CAJSL.js +30 -0
  190. package/dist/node-runtime/chunk-BHO7O6E5.js +296 -0
  191. package/dist/node-runtime/chunk-BI3DHYCN.js +8845 -0
  192. package/dist/node-runtime/chunk-BOHIDQT4.js +21 -0
  193. package/dist/node-runtime/chunk-BRJX2PRC.js +53 -0
  194. package/dist/node-runtime/chunk-CBGB57XT.js +20211 -0
  195. package/dist/node-runtime/chunk-CCZJ3PYY.js +17 -0
  196. package/dist/node-runtime/chunk-CGBXPL3E.js +1171 -0
  197. package/dist/node-runtime/chunk-CJECDQKP.js +19 -0
  198. package/dist/node-runtime/chunk-CSFI6YXL.js +130 -0
  199. package/dist/node-runtime/chunk-DAPBPCBP.js +53 -0
  200. package/dist/node-runtime/chunk-DDWHZ633.js +37 -0
  201. package/dist/node-runtime/chunk-DMMTJQMQ.js +43 -0
  202. package/dist/node-runtime/chunk-DVGWF6A2.js +1180 -0
  203. package/dist/node-runtime/chunk-EBF6COVM.js +1734 -0
  204. package/dist/node-runtime/chunk-FQMM2EZ2.js +248 -0
  205. package/dist/node-runtime/chunk-FVDOXRUD.js +96 -0
  206. package/dist/node-runtime/chunk-G4P75AIS.js +9471 -0
  207. package/dist/node-runtime/chunk-G6LRAP36.js +105 -0
  208. package/dist/node-runtime/chunk-GKLEQ3I4.js +860 -0
  209. package/dist/node-runtime/chunk-H2EOZYMP.js +57 -0
  210. package/dist/node-runtime/chunk-HQCKFM2O.js +56 -0
  211. package/dist/node-runtime/chunk-HYHJIRDW.js +19 -0
  212. package/dist/node-runtime/chunk-I6R76AG7.js +22 -0
  213. package/dist/node-runtime/chunk-IRPJXI6U.js +1269 -0
  214. package/dist/node-runtime/chunk-J26TSGDL.js +633 -0
  215. package/dist/node-runtime/chunk-JZQ7F36T.js +610 -0
  216. package/dist/node-runtime/chunk-KBKMCJDU.js +126 -0
  217. package/dist/node-runtime/chunk-KWA4OC2J.js +100 -0
  218. package/dist/node-runtime/chunk-M3LZLQW2.js +98 -0
  219. package/dist/node-runtime/chunk-MCUNIRD5.js +8388 -0
  220. package/dist/node-runtime/chunk-NI6OTSBH.js +966 -0
  221. package/dist/node-runtime/chunk-NUIFPZWX.js +209 -0
  222. package/dist/node-runtime/chunk-OBMWP3I5.js +68 -0
  223. package/dist/node-runtime/chunk-OCVIXVTZ.js +88 -0
  224. package/dist/node-runtime/chunk-OPEK5RRY.js +466 -0
  225. package/dist/node-runtime/chunk-OR4L3IB2.js +42 -0
  226. package/dist/node-runtime/chunk-PL6JKXWI.js +3622 -0
  227. package/dist/node-runtime/chunk-PNJSG3IZ.js +807 -0
  228. package/dist/node-runtime/chunk-PVCDKGR6.js +55 -0
  229. package/dist/node-runtime/chunk-Q4Q6D4IY.js +364 -0
  230. package/dist/node-runtime/chunk-Q5ZU2VRT.js +83 -0
  231. package/dist/node-runtime/chunk-QFWG2RVL.js +5477 -0
  232. package/dist/node-runtime/chunk-QZMODZQ2.js +305 -0
  233. package/dist/node-runtime/chunk-R5EDISSV.js +375 -0
  234. package/dist/node-runtime/chunk-RNBHABBA.js +986 -0
  235. package/dist/node-runtime/chunk-RQ2Q5IYR.js +72 -0
  236. package/dist/node-runtime/chunk-RRIZE6QQ.js +17 -0
  237. package/dist/node-runtime/chunk-SN6G4OU6.js +4753 -0
  238. package/dist/node-runtime/chunk-STERBGUB.js +949 -0
  239. package/dist/node-runtime/chunk-UWQYRSYQ.js +8973 -0
  240. package/dist/node-runtime/chunk-VRB2IYGG.js +53 -0
  241. package/dist/node-runtime/chunk-VSELYKWU.js +772 -0
  242. package/dist/node-runtime/chunk-W3CVH5RX.js +62 -0
  243. package/dist/node-runtime/chunk-WJVFOIB5.js +24921 -0
  244. package/dist/node-runtime/chunk-WKDK4C5P.js +2834 -0
  245. package/dist/node-runtime/chunk-XATUM2HK.js +46 -0
  246. package/dist/node-runtime/chunk-XBWPBZBN.js +125 -0
  247. package/dist/node-runtime/chunk-XTHQ7XR7.js +509 -0
  248. package/dist/node-runtime/chunk-ZBV7FAHG.js +1345 -0
  249. package/dist/node-runtime/cli-runtime.js +80 -0
  250. package/dist/node-runtime/clipboard-OZ63BBC6.js +12 -0
  251. package/dist/node-runtime/clipboard-image-7QR6GXVA.js +13 -0
  252. package/dist/node-runtime/command-AAV3YRR5.js +13 -0
  253. package/dist/node-runtime/commands-MV5KOZ64.js +291 -0
  254. package/dist/node-runtime/config-QDD5PUE2.js +73 -0
  255. package/dist/node-runtime/curator-server-XCM43VEF.js +3816 -0
  256. package/dist/node-runtime/customize-XEXL2DGQ.js +12 -0
  257. package/dist/node-runtime/direct-tool-executor-BK7CLEBX.js +188 -0
  258. package/dist/node-runtime/exa-LL64QZR2.js +329 -0
  259. package/dist/node-runtime/export-html-TEXVV5RP.js +150 -0
  260. package/dist/node-runtime/extension-input-O4HSAEM4.js +14 -0
  261. package/dist/node-runtime/extension-selector-X5FCX43D.js +14 -0
  262. package/dist/node-runtime/extract-XLQSJN4V.js +17 -0
  263. package/dist/node-runtime/file-sync-HCOP2QVF.js +117 -0
  264. package/dist/node-runtime/gateway-OAC4OBBL.js +2137 -0
  265. package/dist/node-runtime/gemini-api-QE7ANVDZ.js +29 -0
  266. package/dist/node-runtime/gemini-search-U7SUMPQA.js +330 -0
  267. package/dist/node-runtime/gemini-url-context-PXWCBQHK.js +103 -0
  268. package/dist/node-runtime/gemini-web-MM446SEH.js +14 -0
  269. package/dist/node-runtime/github-extract-F64RZOEA.js +619 -0
  270. package/dist/node-runtime/goal-NJEE5CTU.js +1831 -0
  271. package/dist/node-runtime/index.js +859 -0
  272. package/dist/node-runtime/init-3C7Z24OI.js +28 -0
  273. package/dist/node-runtime/install-cli-EXMJQESX.js +308 -0
  274. package/dist/node-runtime/interactive-mode-2SZUO53H.js +56 -0
  275. package/dist/node-runtime/interactive-view-S6J3QHEF.js +247 -0
  276. package/dist/node-runtime/lsp-manager-3ASUSO4T.js +1104 -0
  277. package/dist/node-runtime/lunr-cron-AUUYP4N4.js +272 -0
  278. package/dist/node-runtime/main.js +54 -0
  279. package/dist/node-runtime/mcp-auth-flow-QIXHW6QN.js +32 -0
  280. package/dist/node-runtime/mcp-panel-IIGMXQGP.js +501 -0
  281. package/dist/node-runtime/mcp-setup-panel-FEK7663I.js +355 -0
  282. package/dist/node-runtime/memory-cap-3S4XRLNP.js +20 -0
  283. package/dist/node-runtime/model-tiers-NJLHUEGK.js +20 -0
  284. package/dist/node-runtime/openai-search-B3MSNCQA.js +288 -0
  285. package/dist/node-runtime/package-manager-cli-7RKSZGEN.js +749 -0
  286. package/dist/node-runtime/parallel-AI2MNSCU.js +265 -0
  287. package/dist/node-runtime/parser-manager-TQHWYDH7.js +152 -0
  288. package/dist/node-runtime/pdf-extract-IPE6H4HP.js +57 -0
  289. package/dist/node-runtime/perplexity-QVJW3I35.js +12 -0
  290. package/dist/node-runtime/pi-intercom-EEMBGQID.js +2215 -0
  291. package/dist/node-runtime/pi-mcp-adapter-GUFZWW54.js +428 -0
  292. package/dist/node-runtime/pi-ollama-cloud-2F3Y2QNM.js +1440 -0
  293. package/dist/node-runtime/pi-prompt-template-model-QWTCGLJU.js +3946 -0
  294. package/dist/node-runtime/pi-subagents-7YJ3I4VE.js +6048 -0
  295. package/dist/node-runtime/pi-web-access-2CQGFLT2.js +1867 -0
  296. package/dist/node-runtime/print-mode-XSFM26EL.js +12 -0
  297. package/dist/node-runtime/proxy-modes-V6YVFH3C.js +685 -0
  298. package/dist/node-runtime/rpc-entry.js +62 -0
  299. package/dist/node-runtime/rpc-mode-W5ZTLTMZ.js +13 -0
  300. package/dist/node-runtime/runtime-bridges-3RKBDLNA.js +14 -0
  301. package/dist/node-runtime/session-manager-E7AREDTV.js +33 -0
  302. package/dist/node-runtime/session-selector-FJ7M2AIX.js +14 -0
  303. package/dist/node-runtime/settings-manager-GHPTUN7R.js +21 -0
  304. package/dist/node-runtime/src-BPQFJR76.js +2427 -0
  305. package/dist/node-runtime/subagent-executor-5Q5A4HJ2.js +8499 -0
  306. package/dist/node-runtime/summary-review-YSMXKITO.js +228 -0
  307. package/dist/node-runtime/tavily-WEZFVFP7.js +154 -0
  308. package/dist/node-runtime/timings-UAD5BEAS.js +16 -0
  309. package/dist/node-runtime/tool-renderer-MV5O452K.js +204 -0
  310. package/dist/node-runtime/update-cli-L3JIBH2U.js +70 -0
  311. package/dist/node-runtime/v4-5MNC3H7G.js +424 -0
  312. package/dist/node-runtime/video-extract-OYT5WKS5.js +304 -0
  313. package/dist/node-runtime/workspace-index-6DBXSTJ6.js +163 -0
  314. package/dist/node-runtime/youtube-extract-TQYKGFGS.js +264 -0
  315. package/dist/rpc.d.ts +3 -0
  316. package/dist/rpc.d.ts.map +1 -0
  317. package/dist/rpc.js +18 -0
  318. package/dist/rpc.js.map +1 -0
  319. package/dist/startup/benchmark-request.d.ts +3 -0
  320. package/dist/startup/benchmark-request.d.ts.map +1 -0
  321. package/dist/startup/benchmark-request.js +65 -0
  322. package/dist/startup/benchmark-request.js.map +1 -0
  323. package/dist/startup/interactive-view.d.ts.map +1 -1
  324. package/dist/startup/interactive-view.js +1 -2
  325. package/dist/startup/interactive-view.js.map +1 -1
  326. package/dist/startup/startup-milestones.d.ts +1 -1
  327. package/dist/startup/startup-milestones.d.ts.map +1 -1
  328. package/dist/startup/startup-milestones.js.map +1 -1
  329. package/dist/utils/await-with-abort.d.ts +2 -0
  330. package/dist/utils/await-with-abort.d.ts.map +1 -0
  331. package/dist/utils/await-with-abort.js +19 -0
  332. package/dist/utils/await-with-abort.js.map +1 -0
  333. package/docs/development.md +5 -1
  334. package/docs/features.md +2 -2
  335. package/docs/interactive-startup.md +95 -48
  336. package/docs/keybindings.md +2 -2
  337. package/docs/terminal-setup.md +1 -1
  338. package/docs/usage.md +1 -1
  339. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  340. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  341. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  342. package/examples/extensions/gondolin/package-lock.json +2 -2
  343. package/examples/extensions/gondolin/package.json +1 -1
  344. package/examples/extensions/hidden-thinking-label.ts +1 -1
  345. package/examples/extensions/sandbox/package-lock.json +2 -2
  346. package/examples/extensions/sandbox/package.json +1 -1
  347. package/examples/extensions/with-deps/package-lock.json +2 -2
  348. package/examples/extensions/with-deps/package.json +1 -1
  349. package/package.json +8 -8
@@ -0,0 +1,428 @@
1
+ import { createRequire as __lunrRequire } from "node:module"; const require = __lunrRequire(import.meta.url);
2
+ import {
3
+ abortable,
4
+ buildProxyDescription,
5
+ getConfigPathFromArgv,
6
+ getMetadataCachePath,
7
+ getMissingConfiguredDirectToolServers,
8
+ loadMcpConfig,
9
+ loadMetadataCache,
10
+ normalizeDirectToolInputSchema,
11
+ resolveDirectTools,
12
+ throwIfAborted,
13
+ truncateAtWord
14
+ } from "./chunk-VSELYKWU.js";
15
+ import "./chunk-4HXHDDCF.js";
16
+ import "./chunk-ARC4KOTI.js";
17
+ import "./chunk-BRJX2PRC.js";
18
+
19
+ // packages/coding-agent/dist/builtin-extensions/pi-mcp-adapter/index.js
20
+ import { existsSync } from "node:fs";
21
+ import { Type } from "typebox";
22
+
23
+ // packages/coding-agent/dist/builtin-extensions/pi-mcp-adapter/tool-result-renderer.js
24
+ import { Text } from "@ashx-j/lunr-tui";
25
+ var DEFAULT_MAX_CALL_INPUT_CHARS = 1500;
26
+ function truncateText(value, maxChars) {
27
+ return value.length <= maxChars ? value : `${value.slice(0, Math.max(0, maxChars - 1))}\u2026`;
28
+ }
29
+ function formatJsonish(value, maxChars) {
30
+ if (typeof value == "string")
31
+ try {
32
+ return truncateText(JSON.stringify(JSON.parse(value), null, 2), maxChars);
33
+ } catch {
34
+ return truncateText(value, maxChars);
35
+ }
36
+ try {
37
+ return truncateText(JSON.stringify(value, null, 2), maxChars);
38
+ } catch {
39
+ return truncateText(String(value), maxChars);
40
+ }
41
+ }
42
+ function hasUsefulObjectContent(value) {
43
+ return typeof value == "object" && value !== null && !Array.isArray(value) && Object.keys(value).length > 0;
44
+ }
45
+ function formatMcpProxyToolCallLines(args, maxInputChars = DEFAULT_MAX_CALL_INPUT_CHARS) {
46
+ if (args.action === "ui-messages")
47
+ return [`mcp ${args.action}`];
48
+ if (args.tool) {
49
+ let lines = [`mcp call ${args.server ? `${args.tool} @ ${args.server}` : args.tool}`];
50
+ return args.args && lines.push(formatJsonish(args.args, maxInputChars)), lines;
51
+ }
52
+ if (args.connect)
53
+ return [`mcp connect ${args.connect}`];
54
+ if (args.describe)
55
+ return [`mcp describe ${args.describe}`];
56
+ if (args.search) {
57
+ let line = `mcp search ${args.search}`;
58
+ return args.server && (line += ` @ ${args.server}`), args.regex === !0 && (line += " (regex)"), args.includeSchemas === !1 && (line += " (schemas hidden)"), [line];
59
+ }
60
+ return args.server ? [`mcp list ${args.server}`] : args.action ? [`mcp ${args.action}`] : ["mcp status"];
61
+ }
62
+ function formatMcpDirectToolCallLines(displayName, args, maxInputChars = DEFAULT_MAX_CALL_INPUT_CHARS) {
63
+ return hasUsefulObjectContent(args) ? [displayName, formatJsonish(args, maxInputChars)] : [displayName];
64
+ }
65
+ function renderToolCallLines(lines, theme) {
66
+ let [title = "mcp", ...rest] = lines, styledTitle = theme.fg("toolTitle", theme.bold ? theme.bold(title) : title), styledRest = rest.map((line) => theme.fg("muted", line));
67
+ return new Text([styledTitle, ...styledRest].join(`
68
+ `), 0, 0);
69
+ }
70
+ function renderMcpProxyToolCall(args, theme) {
71
+ return renderToolCallLines(formatMcpProxyToolCallLines(args), theme);
72
+ }
73
+ function createMcpDirectToolCallRenderer(displayName) {
74
+ return (args, theme) => renderToolCallLines(formatMcpDirectToolCallLines(displayName, args), theme);
75
+ }
76
+ function blockToLines(block) {
77
+ return block.type === "text" ? block.text.split(`
78
+ `) : [`[image: ${block.mimeType}]`];
79
+ }
80
+ function formatMcpToolResultLines(result, expanded, maxCollapsedLines = 3) {
81
+ let allLines = result.content.flatMap(blockToLines), lines = allLines.length > 0 ? allLines : ["(empty result)"];
82
+ return expanded || lines.length <= maxCollapsedLines ? { lines, truncated: !1 } : {
83
+ lines: [...lines.slice(0, maxCollapsedLines), "\u2026"],
84
+ truncated: !0
85
+ };
86
+ }
87
+ function renderMcpToolResult(result, options, theme, context) {
88
+ if (options.isPartial)
89
+ return new Text(theme.fg("warning", "Running MCP tool..."), 0, 0);
90
+ let hasErrorDetails = !!result.details.error, display = formatMcpToolResultLines(result, options.expanded || context?.isError === !0 || hasErrorDetails), output = display.lines.map((line) => line === "\u2026" ? theme.fg("muted", line) : theme.fg("toolOutput", line)).join(`
91
+ `), hint = display.truncated && !options.expanded ? `
92
+ ${theme.fg("muted", "(Ctrl+O to expand)")}` : "";
93
+ return new Text(`${output}${hint}`, 0, 0);
94
+ }
95
+
96
+ // packages/coding-agent/dist/builtin-extensions/pi-mcp-adapter/error-signal.js
97
+ function toolErrorOverride(details) {
98
+ if (details && typeof details == "object" && "error" in details) {
99
+ let code = details.error;
100
+ if (code === "tool_error" || code === "call_failed")
101
+ return { isError: !0 };
102
+ }
103
+ }
104
+
105
+ // packages/coding-agent/dist/builtin-extensions/pi-mcp-adapter/index.js
106
+ function shouldBackgroundAutostart(config, cache) {
107
+ let serverEntries = Object.entries(config.mcpServers);
108
+ if (serverEntries.length === 0)
109
+ return !1;
110
+ if (!existsSync(getMetadataCachePath()))
111
+ return !0;
112
+ for (let [, definition] of serverEntries) {
113
+ let mode = definition.lifecycle ?? "lazy";
114
+ if (mode === "keep-alive" || mode === "eager")
115
+ return !0;
116
+ }
117
+ return process.env.MCP_DIRECT_TOOLS === "__none__" ? !1 : getMissingConfiguredDirectToolServers(config, cache).length > 0;
118
+ }
119
+ function mcpAdapter(pi) {
120
+ let state = null, initPromise = null, lifecycleGeneration = 0, sessionAbort = new AbortController(), initializingStates = /* @__PURE__ */ new Set(), shutdownPromises = /* @__PURE__ */ new WeakMap(), heavyModules = null, heavyModulesPromise = null, directExecutors = /* @__PURE__ */ new Map();
121
+ function loadHeavyModules() {
122
+ return heavyModules ? Promise.resolve(heavyModules) : (heavyModulesPromise || (heavyModulesPromise = (async () => {
123
+ let [init, authFlow, commands, proxyModes, directToolExecutor] = await Promise.all([
124
+ import("./init-3C7Z24OI.js"),
125
+ import("./mcp-auth-flow-QIXHW6QN.js"),
126
+ import("./commands-MV5KOZ64.js"),
127
+ import("./proxy-modes-V6YVFH3C.js"),
128
+ import("./direct-tool-executor-BK7CLEBX.js")
129
+ ]), loaded = { init, authFlow, commands, proxyModes, directToolExecutor };
130
+ return heavyModules = loaded, loaded;
131
+ })().catch((error) => {
132
+ throw heavyModulesPromise = null, error;
133
+ })), heavyModulesPromise);
134
+ }
135
+ function shutdownState(currentState, reason) {
136
+ if (!currentState)
137
+ return Promise.resolve();
138
+ let existing = shutdownPromises.get(currentState);
139
+ if (existing)
140
+ return existing;
141
+ let shutdown = (async () => {
142
+ currentState.uiServer && (currentState.uiServer.close(reason), currentState.uiServer = null);
143
+ let flushError;
144
+ try {
145
+ heavyModules && heavyModules.init.flushMetadataCache(currentState);
146
+ } catch (error) {
147
+ flushError = error;
148
+ }
149
+ try {
150
+ await currentState.lifecycle.gracefulShutdown();
151
+ } catch (error) {
152
+ if (flushError)
153
+ console.error("MCP: graceful shutdown failed after metadata flush error", error);
154
+ else
155
+ throw error;
156
+ }
157
+ if (flushError)
158
+ throw flushError;
159
+ })();
160
+ return shutdownPromises.set(currentState, shutdown), shutdown;
161
+ }
162
+ async function shutdownInitializingStates() {
163
+ let pending = [...initializingStates];
164
+ initializingStates.clear(), await Promise.all(pending.map((entry) => shutdownState(entry, "initialization_cancelled")));
165
+ }
166
+ async function shutdownLoadedRuntime() {
167
+ heavyModules && await heavyModules.authFlow.shutdownOAuth();
168
+ }
169
+ async function runInitialize(generation, sessionPi, ctx) {
170
+ let signal = sessionAbort.signal, heavy = await loadHeavyModules();
171
+ if (throwIfAborted(signal), generation !== lifecycleGeneration)
172
+ throw new Error("MCP initialization aborted (session changed)");
173
+ if (await heavy.authFlow.initializeOAuth().catch((err) => {
174
+ console.error("MCP OAuth initialization failed:", err);
175
+ }), generation !== lifecycleGeneration)
176
+ throw new Error("MCP initialization aborted (session changed)");
177
+ let partial;
178
+ try {
179
+ let initialized = await heavy.init.initializeMcp(sessionPi, ctx, {
180
+ signal,
181
+ onState: (entry) => {
182
+ partial = entry, initializingStates.add(entry);
183
+ }
184
+ });
185
+ return partial || (partial = initialized, initializingStates.add(initialized)), throwIfAborted(signal), initialized;
186
+ } catch (error) {
187
+ throw partial && (initializingStates.delete(partial), await shutdownState(partial, "initialization_failed")), error;
188
+ } finally {
189
+ partial && initializingStates.delete(partial);
190
+ }
191
+ }
192
+ function startSessionInit(generation, sessionPi, ctx) {
193
+ let promise = runInitialize(generation, sessionPi, ctx);
194
+ return initPromise = promise, promise.then(async (nextState) => {
195
+ if (generation !== lifecycleGeneration || initPromise !== promise) {
196
+ try {
197
+ await shutdownState(nextState, "stale_session_start");
198
+ } catch (error) {
199
+ console.error("MCP: failed to clean stale session state", error);
200
+ }
201
+ return;
202
+ }
203
+ state = nextState, heavyModules && heavyModules.init.updateStatusBar(nextState), initPromise = null;
204
+ }).catch((err) => {
205
+ generation === lifecycleGeneration && (initPromise !== promise && initPromise !== null || (console.error("MCP initialization failed:", err), initPromise = null));
206
+ }), promise;
207
+ }
208
+ async function ensureState(sessionPi, ctx, signal) {
209
+ if (throwIfAborted(signal), state)
210
+ return state;
211
+ let generation = lifecycleGeneration;
212
+ initPromise || startSessionInit(generation, sessionPi, ctx);
213
+ let promise = initPromise;
214
+ if (!promise)
215
+ throw new Error("MCP not initialized");
216
+ try {
217
+ let nextState = await abortable(promise, signal);
218
+ if (generation !== lifecycleGeneration)
219
+ throw new Error("MCP initialization aborted (session changed)");
220
+ return state || (state = nextState, initPromise === promise && (initPromise = null), state);
221
+ } catch (error) {
222
+ throw initPromise === promise && !signal?.aborted && (initPromise = null), error;
223
+ }
224
+ }
225
+ function assertCurrentState(currentState) {
226
+ if (currentState !== state)
227
+ throw new Error("MCP session changed before execution");
228
+ }
229
+ function createLazyDirectToolExecute(spec) {
230
+ return async function(toolCallId, params, incomingSignal, onUpdate, ctx) {
231
+ let signal = incomingSignal ? AbortSignal.any([incomingSignal, sessionAbort.signal]) : sessionAbort.signal, currentState;
232
+ try {
233
+ currentState = await ensureState(pi, ctx, signal);
234
+ } catch (error) {
235
+ let message = error instanceof Error ? error.message : String(error);
236
+ return {
237
+ content: [{ type: "text", text: `MCP initialization failed: ${message}` }],
238
+ details: { error: "init_failed", message }
239
+ };
240
+ }
241
+ let heavy = await loadHeavyModules();
242
+ throwIfAborted(signal), assertCurrentState(currentState);
243
+ let executor = directExecutors.get(spec.prefixedName);
244
+ return executor || (executor = heavy.directToolExecutor.createDirectToolExecutor(() => currentState, () => null, spec), directExecutors.set(spec.prefixedName, executor)), executor(toolCallId, params, signal, onUpdate, ctx);
245
+ };
246
+ }
247
+ let earlyConfigPath = getConfigPathFromArgv(), earlyConfig = loadMcpConfig(earlyConfigPath), earlyCache = loadMetadataCache(), prefix = earlyConfig.settings?.toolPrefix ?? "server", envRaw = process.env.MCP_DIRECT_TOOLS, directSpecs = envRaw === "__none__" ? [] : resolveDirectTools(earlyConfig, earlyCache, prefix, envRaw?.split(",").map((s) => s.trim()).filter(Boolean)), missingConfiguredDirectToolServers = getMissingConfiguredDirectToolServers(earlyConfig, earlyCache), shouldRegisterProxyTool = earlyConfig.settings?.disableProxyTool !== !0 || directSpecs.length === 0 || missingConfiguredDirectToolServers.length > 0;
248
+ for (let spec of directSpecs)
249
+ pi.registerTool({
250
+ name: spec.prefixedName,
251
+ label: `MCP: ${spec.originalName}`,
252
+ description: spec.description || "(no description)",
253
+ promptSnippet: truncateAtWord(spec.description, 100) || `MCP tool from ${spec.serverName}`,
254
+ parameters: Type.Unsafe(normalizeDirectToolInputSchema(spec.inputSchema)),
255
+ execute: createLazyDirectToolExecute(spec),
256
+ renderCall: createMcpDirectToolCallRenderer(spec.prefixedName),
257
+ renderResult: renderMcpToolResult
258
+ });
259
+ let getPiTools = () => pi.getAllTools();
260
+ pi.registerFlag("mcp-config", {
261
+ description: "Path to MCP config file",
262
+ type: "string"
263
+ }), pi.on("session_start", async (_event, ctx) => {
264
+ let generation = ++lifecycleGeneration;
265
+ sessionAbort.abort(new Error("MCP session changed")), sessionAbort = new AbortController();
266
+ let previousState = state;
267
+ state = null, initPromise = null, directExecutors.clear();
268
+ try {
269
+ await Promise.all([
270
+ shutdownState(previousState, "session_restart"),
271
+ shutdownInitializingStates(),
272
+ shutdownLoadedRuntime()
273
+ ]);
274
+ } catch (error) {
275
+ console.error("MCP: failed to shut down previous session state", error);
276
+ }
277
+ if (generation !== lifecycleGeneration)
278
+ return;
279
+ let configPath = pi.getFlag("mcp-config") ?? earlyConfigPath, sessionConfig = loadMcpConfig(configPath, ctx.cwd), sessionCache = loadMetadataCache();
280
+ shouldBackgroundAutostart(sessionConfig, sessionCache) && startSessionInit(generation, pi, ctx);
281
+ }), pi.on("session_shutdown", async () => {
282
+ ++lifecycleGeneration, sessionAbort.abort(new Error("MCP session ended"));
283
+ let currentState = state;
284
+ state = null, initPromise = null, directExecutors.clear();
285
+ try {
286
+ await Promise.all([
287
+ shutdownState(currentState, "session_shutdown"),
288
+ shutdownInitializingStates(),
289
+ shutdownLoadedRuntime()
290
+ ]);
291
+ } catch (error) {
292
+ console.error("MCP: session shutdown cleanup failed", error);
293
+ }
294
+ }), pi.on("tool_result", (event) => toolErrorOverride(event.details)), pi.registerCommand("mcp", {
295
+ description: "Show MCP server status",
296
+ handler: async (args, ctx) => {
297
+ let currentState;
298
+ try {
299
+ currentState = await ensureState(pi, ctx);
300
+ } catch (error) {
301
+ let message = error instanceof Error ? error.message : String(error);
302
+ ctx.hasUI && ctx.ui.notify(`MCP initialization failed: ${message}`, "error");
303
+ return;
304
+ }
305
+ let heavy = await loadHeavyModules();
306
+ assertCurrentState(currentState);
307
+ let parts = args?.trim()?.split(/\s+/) ?? [], subcommand = parts[0] ?? "", targetServer = parts[1], rest = parts.slice(1).join(" ");
308
+ switch (subcommand) {
309
+ case "reconnect":
310
+ await heavy.commands.reconnectServers(currentState, ctx, targetServer);
311
+ break;
312
+ case "tools":
313
+ await heavy.commands.showTools(currentState, ctx);
314
+ break;
315
+ case "setup": {
316
+ if ((await heavy.commands.openMcpSetup(currentState, pi, ctx, earlyConfigPath, "setup"))?.configChanged) {
317
+ await ctx.reload();
318
+ return;
319
+ }
320
+ break;
321
+ }
322
+ case "logout": {
323
+ let serverName = rest;
324
+ if (!serverName) {
325
+ ctx.hasUI && ctx.ui.notify("Usage: /mcp logout <server>", "error");
326
+ return;
327
+ }
328
+ await heavy.commands.logoutServer(serverName, currentState, ctx);
329
+ break;
330
+ }
331
+ default:
332
+ if (ctx.hasUI) {
333
+ if ((await heavy.commands.openMcpPanel(currentState, pi, ctx, earlyConfigPath))?.configChanged) {
334
+ await ctx.reload();
335
+ return;
336
+ }
337
+ } else
338
+ await heavy.commands.showStatus(currentState, ctx);
339
+ break;
340
+ }
341
+ }
342
+ }), pi.registerCommand("mcp-auth", {
343
+ description: "Authenticate with an MCP server (OAuth)",
344
+ handler: async (args, ctx) => {
345
+ let serverName = args?.trim();
346
+ if (!serverName && !ctx.hasUI)
347
+ return;
348
+ let currentState;
349
+ try {
350
+ currentState = await ensureState(pi, ctx);
351
+ } catch (error) {
352
+ let message = error instanceof Error ? error.message : String(error);
353
+ ctx.hasUI && ctx.ui.notify(`MCP initialization failed: ${message}`, "error");
354
+ return;
355
+ }
356
+ let heavy = await loadHeavyModules();
357
+ if (assertCurrentState(currentState), !serverName) {
358
+ await heavy.commands.openMcpAuthPanel(currentState, pi, ctx, earlyConfigPath);
359
+ return;
360
+ }
361
+ await heavy.commands.authenticateServer(serverName, currentState.config, ctx);
362
+ }
363
+ }), shouldRegisterProxyTool && pi.registerTool({
364
+ name: "mcp",
365
+ label: "MCP",
366
+ description: buildProxyDescription(earlyConfig, earlyCache, directSpecs),
367
+ promptSnippet: "MCP gateway - connect to MCP servers and call their tools",
368
+ renderCall: renderMcpProxyToolCall,
369
+ parameters: Type.Object({
370
+ tool: Type.Optional(Type.String({ description: "Tool name to call (e.g., 'xcodebuild_list_sims')" })),
371
+ args: Type.Optional(Type.String({ description: `Arguments as JSON string (e.g., '{"key": "value"}')` })),
372
+ connect: Type.Optional(Type.String({ description: "Server name to connect (lazy connect + metadata refresh)" })),
373
+ describe: Type.Optional(Type.String({ description: "Tool name to describe (shows parameters)" })),
374
+ search: Type.Optional(Type.String({ description: "Search tools by name/description" })),
375
+ regex: Type.Optional(Type.Boolean({ description: "Treat search as regex (default: substring match)" })),
376
+ includeSchemas: Type.Optional(Type.Boolean({ description: "Include parameter schemas in search results (default: true)" })),
377
+ server: Type.Optional(Type.String({ description: "Filter to specific server (also disambiguates tool calls)" })),
378
+ action: Type.Optional(Type.String({ description: "Action: 'ui-messages', 'auth-start', or 'auth-complete'" }))
379
+ }),
380
+ renderResult: renderMcpToolResult,
381
+ async execute(_toolCallId, params, incomingSignal, _onUpdate, ctx) {
382
+ let signal = incomingSignal ? AbortSignal.any([incomingSignal, sessionAbort.signal]) : sessionAbort.signal, parsedArgs;
383
+ if (params.args)
384
+ try {
385
+ if (parsedArgs = JSON.parse(params.args), typeof parsedArgs != "object" || parsedArgs === null || Array.isArray(parsedArgs)) {
386
+ let gotType = Array.isArray(parsedArgs) ? "array" : parsedArgs === null ? "null" : typeof parsedArgs;
387
+ throw new Error(`Invalid args: expected a JSON object, got ${gotType}`);
388
+ }
389
+ } catch (error) {
390
+ throw error instanceof SyntaxError ? new Error(`Invalid args JSON: ${error.message}`, { cause: error }) : error;
391
+ }
392
+ let currentState;
393
+ try {
394
+ currentState = await ensureState(pi, ctx, signal);
395
+ } catch (error) {
396
+ let message = error instanceof Error ? error.message : String(error);
397
+ return {
398
+ content: [{ type: "text", text: `MCP initialization failed: ${message}` }],
399
+ details: { error: "init_failed", message }
400
+ };
401
+ }
402
+ let heavy = await loadHeavyModules();
403
+ if (throwIfAborted(signal), assertCurrentState(currentState), params.action === "ui-messages")
404
+ return heavy.proxyModes.executeUiMessages(currentState);
405
+ if (params.action === "auth-start")
406
+ return params.server ? heavy.proxyModes.executeAuthStart(currentState, params.server) : {
407
+ content: [{ type: "text", text: 'auth-start requires `server`. Example: mcp({ action: "auth-start", server: "linear-server" })' }],
408
+ details: { mode: "auth-start", error: "missing_server" }
409
+ };
410
+ if (params.action === "auth-complete") {
411
+ if (!params.server)
412
+ return {
413
+ content: [{ type: "text", text: "auth-complete requires `server`." }],
414
+ details: { mode: "auth-complete", error: "missing_server" }
415
+ };
416
+ let input = parsedArgs?.redirectUrl ?? parsedArgs?.code ?? parsedArgs?.input;
417
+ return typeof input != "string" || input.trim().length === 0 ? {
418
+ content: [{ type: "text", text: "auth-complete requires args with `redirectUrl`, `code`, or `input`." }],
419
+ details: { mode: "auth-complete", error: "missing_input" }
420
+ } : heavy.proxyModes.executeAuthComplete(currentState, params.server, input);
421
+ }
422
+ return params.tool ? heavy.proxyModes.executeCall(currentState, params.tool, parsedArgs, params.server, getPiTools, signal) : params.connect ? heavy.proxyModes.executeConnect(currentState, params.connect, signal) : params.describe ? heavy.proxyModes.executeDescribe(currentState, params.describe) : params.search ? heavy.proxyModes.executeSearch(currentState, params.search, params.regex, params.server, params.includeSchemas) : params.server ? heavy.proxyModes.executeList(currentState, params.server) : heavy.proxyModes.executeStatus(currentState);
423
+ }
424
+ });
425
+ }
426
+ export {
427
+ mcpAdapter as default
428
+ };