@ashx-j/lunr 0.2.21 → 0.2.22

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 (438) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +20 -4
  3. package/dist/builtin-extensions/index.d.ts.map +1 -1
  4. package/dist/builtin-extensions/index.js +1 -0
  5. package/dist/builtin-extensions/index.js.map +1 -1
  6. package/dist/builtin-extensions/lunr-browser.d.ts +3 -0
  7. package/dist/builtin-extensions/lunr-browser.d.ts.map +1 -0
  8. package/dist/builtin-extensions/lunr-browser.js +56 -0
  9. package/dist/builtin-extensions/lunr-browser.js.map +1 -0
  10. package/dist/builtin-extensions/lunr-todos.d.ts.map +1 -1
  11. package/dist/builtin-extensions/lunr-todos.js +15 -0
  12. package/dist/builtin-extensions/lunr-todos.js.map +1 -1
  13. package/dist/builtin-extensions/pi-intercom/index.d.ts.map +1 -1
  14. package/dist/builtin-extensions/pi-intercom/index.js +3 -0
  15. package/dist/builtin-extensions/pi-intercom/index.js.map +1 -1
  16. package/dist/builtin-extensions/pi-subagents/src/extension/control-notices.d.ts +1 -1
  17. package/dist/builtin-extensions/pi-subagents/src/extension/control-notices.d.ts.map +1 -1
  18. package/dist/builtin-extensions/pi-subagents/src/extension/control-notices.js +5 -1
  19. package/dist/builtin-extensions/pi-subagents/src/extension/control-notices.js.map +1 -1
  20. package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts +2 -2
  21. package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts.map +1 -1
  22. package/dist/builtin-extensions/pi-subagents/src/extension/index.js +18 -5
  23. package/dist/builtin-extensions/pi-subagents/src/extension/index.js.map +1 -1
  24. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts +4 -3
  25. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts.map +1 -1
  26. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js +3 -0
  27. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js.map +1 -1
  28. package/dist/builtin-extensions/pi-subagents/src/intercom/communication.d.ts +17 -0
  29. package/dist/builtin-extensions/pi-subagents/src/intercom/communication.d.ts.map +1 -0
  30. package/dist/builtin-extensions/pi-subagents/src/intercom/communication.js +45 -0
  31. package/dist/builtin-extensions/pi-subagents/src/intercom/communication.js.map +1 -0
  32. package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.d.ts.map +1 -1
  33. package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.js +4 -11
  34. package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.js.map +1 -1
  35. package/dist/builtin-extensions/pi-subagents/src/intercom/native-supervisor-channel.d.ts +4 -1
  36. package/dist/builtin-extensions/pi-subagents/src/intercom/native-supervisor-channel.d.ts.map +1 -1
  37. package/dist/builtin-extensions/pi-subagents/src/intercom/native-supervisor-channel.js +160 -51
  38. package/dist/builtin-extensions/pi-subagents/src/intercom/native-supervisor-channel.js.map +1 -1
  39. package/dist/builtin-extensions/pi-subagents/src/intercom/supervisor-ask.d.ts.map +1 -1
  40. package/dist/builtin-extensions/pi-subagents/src/intercom/supervisor-ask.js +5 -0
  41. package/dist/builtin-extensions/pi-subagents/src/intercom/supervisor-ask.js.map +1 -1
  42. package/dist/builtin-extensions/pi-subagents/src/intercom/supervisor-questions.d.ts +2 -0
  43. package/dist/builtin-extensions/pi-subagents/src/intercom/supervisor-questions.d.ts.map +1 -1
  44. package/dist/builtin-extensions/pi-subagents/src/intercom/supervisor-questions.js +3 -2
  45. package/dist/builtin-extensions/pi-subagents/src/intercom/supervisor-questions.js.map +1 -1
  46. package/dist/builtin-extensions/pi-subagents/src/runs/background/auto-drain.d.ts +1 -0
  47. package/dist/builtin-extensions/pi-subagents/src/runs/background/auto-drain.d.ts.map +1 -1
  48. package/dist/builtin-extensions/pi-subagents/src/runs/background/auto-drain.js +2 -1
  49. package/dist/builtin-extensions/pi-subagents/src/runs/background/auto-drain.js.map +1 -1
  50. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.d.ts +1 -0
  51. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.d.ts.map +1 -1
  52. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.js +2 -0
  53. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.js.map +1 -1
  54. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.d.ts.map +1 -1
  55. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.js +3 -0
  56. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.js.map +1 -1
  57. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-control.d.ts +1 -0
  58. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-control.d.ts.map +1 -1
  59. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-control.js +3 -0
  60. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-control.js.map +1 -1
  61. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.d.ts.map +1 -1
  62. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.js +1 -1
  63. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.js.map +1 -1
  64. package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts +1 -0
  65. package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts.map +1 -1
  66. package/dist/builtin-extensions/pi-subagents/src/shared/types.js.map +1 -1
  67. package/dist/builtin-extensions/pi-subagents/src/tui/communication.d.ts +18 -0
  68. package/dist/builtin-extensions/pi-subagents/src/tui/communication.d.ts.map +1 -0
  69. package/dist/builtin-extensions/pi-subagents/src/tui/communication.js +47 -0
  70. package/dist/builtin-extensions/pi-subagents/src/tui/communication.js.map +1 -0
  71. package/dist/builtin-extensions/pi-web-access/index.d.ts.map +1 -1
  72. package/dist/builtin-extensions/pi-web-access/index.js +11 -7
  73. package/dist/builtin-extensions/pi-web-access/index.js.map +1 -1
  74. package/dist/cli/args.d.ts.map +1 -1
  75. package/dist/cli/args.js +2 -1
  76. package/dist/cli/args.js.map +1 -1
  77. package/dist/cli/install-cli.d.ts.map +1 -1
  78. package/dist/cli/install-cli.js +15 -45
  79. package/dist/cli/install-cli.js.map +1 -1
  80. package/dist/core/agent-session-runtime.d.ts +9 -0
  81. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  82. package/dist/core/agent-session-runtime.js +126 -29
  83. package/dist/core/agent-session-runtime.js.map +1 -1
  84. package/dist/core/agent-session.d.ts +3 -0
  85. package/dist/core/agent-session.d.ts.map +1 -1
  86. package/dist/core/agent-session.js +20 -2
  87. package/dist/core/agent-session.js.map +1 -1
  88. package/dist/core/browser/network.d.ts +9 -0
  89. package/dist/core/browser/network.d.ts.map +1 -0
  90. package/dist/core/browser/network.js +146 -0
  91. package/dist/core/browser/network.js.map +1 -0
  92. package/dist/core/browser/runtime.d.ts +24 -0
  93. package/dist/core/browser/runtime.d.ts.map +1 -0
  94. package/dist/core/browser/runtime.js +289 -0
  95. package/dist/core/browser/runtime.js.map +1 -0
  96. package/dist/core/browser/schema.d.ts +16 -0
  97. package/dist/core/browser/schema.d.ts.map +1 -0
  98. package/dist/core/browser/schema.js +36 -0
  99. package/dist/core/browser/schema.js.map +1 -0
  100. package/dist/core/browser/settings.d.ts +8 -0
  101. package/dist/core/browser/settings.d.ts.map +1 -0
  102. package/dist/core/browser/settings.js +30 -0
  103. package/dist/core/browser/settings.js.map +1 -0
  104. package/dist/core/browser/setup.d.ts +2 -0
  105. package/dist/core/browser/setup.d.ts.map +1 -0
  106. package/dist/core/browser/setup.js +16 -0
  107. package/dist/core/browser/setup.js.map +1 -0
  108. package/dist/core/customize.d.ts.map +1 -1
  109. package/dist/core/customize.js +15 -14
  110. package/dist/core/customize.js.map +1 -1
  111. package/dist/core/export-html/index.d.ts.map +1 -1
  112. package/dist/core/export-html/index.js +1 -1
  113. package/dist/core/export-html/index.js.map +1 -1
  114. package/dist/core/extensions/runner.d.ts +1 -0
  115. package/dist/core/extensions/runner.d.ts.map +1 -1
  116. package/dist/core/extensions/runner.js +1 -1
  117. package/dist/core/extensions/runner.js.map +1 -1
  118. package/dist/core/extensions/types.d.ts +1 -1
  119. package/dist/core/extensions/types.d.ts.map +1 -1
  120. package/dist/core/extensions/types.js.map +1 -1
  121. package/dist/core/install-features.d.ts.map +1 -1
  122. package/dist/core/install-features.js +10 -8
  123. package/dist/core/install-features.js.map +1 -1
  124. package/dist/core/memory-cap.d.ts.map +1 -1
  125. package/dist/core/memory-cap.js +5 -3
  126. package/dist/core/memory-cap.js.map +1 -1
  127. package/dist/core/model-tiers.d.ts.map +1 -1
  128. package/dist/core/model-tiers.js +9 -6
  129. package/dist/core/model-tiers.js.map +1 -1
  130. package/dist/core/permissions.d.ts.map +1 -1
  131. package/dist/core/permissions.js +9 -0
  132. package/dist/core/permissions.js.map +1 -1
  133. package/dist/core/plan-mode.d.ts.map +1 -1
  134. package/dist/core/plan-mode.js +3 -0
  135. package/dist/core/plan-mode.js.map +1 -1
  136. package/dist/core/process-registry.d.ts.map +1 -1
  137. package/dist/core/process-registry.js +6 -4
  138. package/dist/core/process-registry.js.map +1 -1
  139. package/dist/core/runtime-scope.d.ts +11 -0
  140. package/dist/core/runtime-scope.d.ts.map +1 -0
  141. package/dist/core/runtime-scope.js +3 -0
  142. package/dist/core/runtime-scope.js.map +1 -0
  143. package/dist/core/sdk.d.ts.map +1 -1
  144. package/dist/core/sdk.js +13 -0
  145. package/dist/core/sdk.js.map +1 -1
  146. package/dist/core/session-handoff.d.ts +35 -0
  147. package/dist/core/session-handoff.d.ts.map +1 -0
  148. package/dist/core/session-handoff.js +214 -0
  149. package/dist/core/session-handoff.js.map +1 -0
  150. package/dist/core/session-manager.d.ts +20 -0
  151. package/dist/core/session-manager.d.ts.map +1 -1
  152. package/dist/core/session-manager.js +184 -22
  153. package/dist/core/session-manager.js.map +1 -1
  154. package/dist/core/session-ownership.d.ts +28 -0
  155. package/dist/core/session-ownership.d.ts.map +1 -0
  156. package/dist/core/session-ownership.js +138 -0
  157. package/dist/core/session-ownership.js.map +1 -0
  158. package/dist/core/session-retention.d.ts.map +1 -1
  159. package/dist/core/session-retention.js +11 -2
  160. package/dist/core/session-retention.js.map +1 -1
  161. package/dist/core/settings-manager.d.ts +7 -0
  162. package/dist/core/settings-manager.d.ts.map +1 -1
  163. package/dist/core/settings-manager.js +18 -0
  164. package/dist/core/settings-manager.js.map +1 -1
  165. package/dist/core/slash-commands.d.ts.map +1 -1
  166. package/dist/core/slash-commands.js +2 -0
  167. package/dist/core/slash-commands.js.map +1 -1
  168. package/dist/core/system-prompt.d.ts.map +1 -1
  169. package/dist/core/system-prompt.js +5 -2
  170. package/dist/core/system-prompt.js.map +1 -1
  171. package/dist/core/todo-settings.d.ts +5 -0
  172. package/dist/core/todo-settings.d.ts.map +1 -0
  173. package/dist/core/todo-settings.js +7 -0
  174. package/dist/core/todo-settings.js.map +1 -0
  175. package/dist/core/tools/bash.d.ts.map +1 -1
  176. package/dist/core/tools/bash.js +4 -4
  177. package/dist/core/tools/bash.js.map +1 -1
  178. package/dist/core/tools/edit.d.ts.map +1 -1
  179. package/dist/core/tools/edit.js +5 -3
  180. package/dist/core/tools/edit.js.map +1 -1
  181. package/dist/core/tools/find.d.ts.map +1 -1
  182. package/dist/core/tools/find.js +4 -4
  183. package/dist/core/tools/find.js.map +1 -1
  184. package/dist/core/tools/grep.d.ts.map +1 -1
  185. package/dist/core/tools/grep.js +4 -4
  186. package/dist/core/tools/grep.js.map +1 -1
  187. package/dist/core/tools/ls.d.ts.map +1 -1
  188. package/dist/core/tools/ls.js +4 -4
  189. package/dist/core/tools/ls.js.map +1 -1
  190. package/dist/core/tools/read.d.ts.map +1 -1
  191. package/dist/core/tools/read.js +4 -4
  192. package/dist/core/tools/read.js.map +1 -1
  193. package/dist/core/tools/render-utils.d.ts +11 -2
  194. package/dist/core/tools/render-utils.d.ts.map +1 -1
  195. package/dist/core/tools/render-utils.js +31 -4
  196. package/dist/core/tools/render-utils.js.map +1 -1
  197. package/dist/core/tools/write.d.ts.map +1 -1
  198. package/dist/core/tools/write.js +4 -4
  199. package/dist/core/tools/write.js.map +1 -1
  200. package/dist/core/usage-service.d.ts.map +1 -1
  201. package/dist/core/usage-service.js +5 -3
  202. package/dist/core/usage-service.js.map +1 -1
  203. package/dist/gateway/adapters/discord.d.ts +12 -1
  204. package/dist/gateway/adapters/discord.d.ts.map +1 -1
  205. package/dist/gateway/adapters/discord.js +112 -17
  206. package/dist/gateway/adapters/discord.js.map +1 -1
  207. package/dist/gateway/adapters/telegram.d.ts +4 -2
  208. package/dist/gateway/adapters/telegram.d.ts.map +1 -1
  209. package/dist/gateway/adapters/telegram.js +34 -11
  210. package/dist/gateway/adapters/telegram.js.map +1 -1
  211. package/dist/gateway/agent-bridge.d.ts +14 -3
  212. package/dist/gateway/agent-bridge.d.ts.map +1 -1
  213. package/dist/gateway/agent-bridge.js +252 -60
  214. package/dist/gateway/agent-bridge.js.map +1 -1
  215. package/dist/gateway/approval.d.ts +1 -0
  216. package/dist/gateway/approval.d.ts.map +1 -1
  217. package/dist/gateway/approval.js +60 -18
  218. package/dist/gateway/approval.js.map +1 -1
  219. package/dist/gateway/authz.d.ts +2 -0
  220. package/dist/gateway/authz.d.ts.map +1 -1
  221. package/dist/gateway/authz.js +13 -0
  222. package/dist/gateway/authz.js.map +1 -1
  223. package/dist/gateway/buttons.d.ts +3 -1
  224. package/dist/gateway/buttons.d.ts.map +1 -1
  225. package/dist/gateway/buttons.js +18 -3
  226. package/dist/gateway/buttons.js.map +1 -1
  227. package/dist/gateway/command.d.ts.map +1 -1
  228. package/dist/gateway/command.js +49 -4
  229. package/dist/gateway/command.js.map +1 -1
  230. package/dist/gateway/commands.d.ts.map +1 -1
  231. package/dist/gateway/commands.js +18 -3
  232. package/dist/gateway/commands.js.map +1 -1
  233. package/dist/gateway/config.d.ts +5 -0
  234. package/dist/gateway/config.d.ts.map +1 -1
  235. package/dist/gateway/config.js +5 -0
  236. package/dist/gateway/config.js.map +1 -1
  237. package/dist/gateway/conversations.d.ts +14 -0
  238. package/dist/gateway/conversations.d.ts.map +1 -0
  239. package/dist/gateway/conversations.js +30 -0
  240. package/dist/gateway/conversations.js.map +1 -0
  241. package/dist/gateway/download.d.ts +2 -0
  242. package/dist/gateway/download.d.ts.map +1 -0
  243. package/dist/gateway/download.js +36 -0
  244. package/dist/gateway/download.js.map +1 -0
  245. package/dist/gateway/index.d.ts.map +1 -1
  246. package/dist/gateway/index.js +85 -26
  247. package/dist/gateway/index.js.map +1 -1
  248. package/dist/gateway/mobile-commands.d.ts +24 -0
  249. package/dist/gateway/mobile-commands.d.ts.map +1 -0
  250. package/dist/gateway/mobile-commands.js +422 -0
  251. package/dist/gateway/mobile-commands.js.map +1 -0
  252. package/dist/gateway/presenter.d.ts +16 -0
  253. package/dist/gateway/presenter.d.ts.map +1 -0
  254. package/dist/gateway/presenter.js +210 -0
  255. package/dist/gateway/presenter.js.map +1 -0
  256. package/dist/gateway/router.d.ts +1 -0
  257. package/dist/gateway/router.d.ts.map +1 -1
  258. package/dist/gateway/router.js +32 -3
  259. package/dist/gateway/router.js.map +1 -1
  260. package/dist/gateway/service.d.ts +46 -0
  261. package/dist/gateway/service.d.ts.map +1 -0
  262. package/dist/gateway/service.js +395 -0
  263. package/dist/gateway/service.js.map +1 -0
  264. package/dist/gateway/setup.d.ts +4 -0
  265. package/dist/gateway/setup.d.ts.map +1 -0
  266. package/dist/gateway/setup.js +146 -0
  267. package/dist/gateway/setup.js.map +1 -0
  268. package/dist/gateway/types.d.ts +4 -2
  269. package/dist/gateway/types.d.ts.map +1 -1
  270. package/dist/gateway/types.js.map +1 -1
  271. package/dist/index.d.ts +2 -0
  272. package/dist/index.d.ts.map +1 -1
  273. package/dist/index.js +2 -0
  274. package/dist/index.js.map +1 -1
  275. package/dist/main.d.ts.map +1 -1
  276. package/dist/main.js +2 -1
  277. package/dist/main.js.map +1 -1
  278. package/dist/modes/interactive/components/assistant-message.d.ts +11 -2
  279. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  280. package/dist/modes/interactive/components/assistant-message.js +53 -16
  281. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  282. package/dist/modes/interactive/components/copyable-text.d.ts +31 -0
  283. package/dist/modes/interactive/components/copyable-text.d.ts.map +1 -0
  284. package/dist/modes/interactive/components/copyable-text.js +165 -0
  285. package/dist/modes/interactive/components/copyable-text.js.map +1 -0
  286. package/dist/modes/interactive/components/custom-entry.d.ts +1 -0
  287. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
  288. package/dist/modes/interactive/components/custom-entry.js +8 -0
  289. package/dist/modes/interactive/components/custom-entry.js.map +1 -1
  290. package/dist/modes/interactive/components/custom-message.d.ts +1 -0
  291. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  292. package/dist/modes/interactive/components/custom-message.js +8 -0
  293. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  294. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  295. package/dist/modes/interactive/components/session-selector.js +16 -0
  296. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  297. package/dist/modes/interactive/components/settings-selector.d.ts +5 -0
  298. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  299. package/dist/modes/interactive/components/settings-selector.js +38 -0
  300. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  301. package/dist/modes/interactive/interactive-mode.d.ts +3 -0
  302. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  303. package/dist/modes/interactive/interactive-mode.js +151 -7
  304. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  305. package/dist/node-runtime/agent-session-services-NQ6GKOIK.js +49 -0
  306. package/dist/node-runtime/{builtin-extensions-JCOPAAB5.js → builtin-extensions-GVC6IFDU.js} +6 -5
  307. package/dist/node-runtime/{chunk-LTYWTR3V.js → chunk-2MI5OPMN.js} +17 -2
  308. package/dist/node-runtime/{chunk-W3CVH5RX.js → chunk-2TKODGBZ.js} +11 -6
  309. package/dist/node-runtime/chunk-4EULYYR4.js +62 -0
  310. package/dist/node-runtime/chunk-5BNJ4JUH.js +672 -0
  311. package/dist/node-runtime/{chunk-6N22HULO.js → chunk-5D7LC2ZQ.js} +7 -2
  312. package/dist/node-runtime/{chunk-KBKMCJDU.js → chunk-5ZQXRPMC.js} +19 -4
  313. package/dist/node-runtime/{chunk-6KDIOJL3.js → chunk-6427XAWG.js} +3 -3
  314. package/dist/node-runtime/{chunk-BOHIDQT4.js → chunk-6B2POMK7.js} +1 -1
  315. package/dist/node-runtime/{chunk-RNBHABBA.js → chunk-7QWNYZDI.js} +7 -0
  316. package/dist/node-runtime/chunk-AZJHNQKQ.js +205 -0
  317. package/dist/node-runtime/{chunk-A3KMVBZV.js → chunk-BBUVIEZB.js} +1 -10
  318. package/dist/node-runtime/chunk-BFNXONG3.js +521 -0
  319. package/dist/node-runtime/{chunk-IRPJXI6U.js → chunk-BX2RB477.js} +1 -1
  320. package/dist/node-runtime/chunk-CCCN2UCX.js +14 -0
  321. package/dist/node-runtime/{chunk-25I2BHAA.js → chunk-CSUZVNYE.js} +1 -1
  322. package/dist/node-runtime/{chunk-QZMODZQ2.js → chunk-E24EO34J.js} +2 -1
  323. package/dist/node-runtime/{chunk-2BUAYZ7K.js → chunk-EQ63ANHL.js} +422 -123
  324. package/dist/node-runtime/{chunk-GB2MGFLI.js → chunk-GJSAD4AB.js} +216 -201
  325. package/dist/node-runtime/{chunk-W3SILANP.js → chunk-GMHJCCEN.js} +8 -8
  326. package/dist/node-runtime/{chunk-DDWHZ633.js → chunk-GNN7H3B7.js} +1 -1
  327. package/dist/node-runtime/chunk-GS66LV4M.js +2830 -0
  328. package/dist/node-runtime/{chunk-6BEIBLQ3.js → chunk-H3XF4UVQ.js} +1 -1
  329. package/dist/node-runtime/chunk-H4K3JDRB.js +47 -0
  330. package/dist/node-runtime/{chunk-YMEAYRBE.js → chunk-HTFRRDSF.js} +2 -7
  331. package/dist/node-runtime/chunk-IMLCWLPI.js +9 -0
  332. package/dist/node-runtime/{chunk-Y5KOEMBH.js → chunk-IQIEU7SB.js} +9 -674
  333. package/dist/node-runtime/{chunk-OPEK5RRY.js → chunk-IVXYUAJE.js} +1 -1
  334. package/dist/node-runtime/{chunk-PDNXVXMD.js → chunk-IWOWXRWU.js} +58 -48
  335. package/dist/node-runtime/chunk-KKUTQQV7.js +144 -0
  336. package/dist/node-runtime/{chunk-AWVD5IEY.js → chunk-LMBNLFXQ.js} +23 -12
  337. package/dist/node-runtime/{chunk-7NBZ5P7I.js → chunk-NAY6UUQZ.js} +1 -1
  338. package/dist/node-runtime/chunk-OAR4TYZE.js +146 -0
  339. package/dist/node-runtime/{chunk-STERBGUB.js → chunk-OFKSVRV7.js} +2 -2
  340. package/dist/node-runtime/{chunk-JZQ7F36T.js → chunk-ORH324EP.js} +19 -3
  341. package/dist/node-runtime/{chunk-2SJB2AWP.js → chunk-PC2Z5TKZ.js} +3 -3
  342. package/dist/node-runtime/{chunk-SY2TFMLO.js → chunk-QDGKKKUM.js} +46 -151
  343. package/dist/node-runtime/chunk-R3K2F5GI.js +122 -0
  344. package/dist/node-runtime/chunk-RMQZU2YU.js +117 -0
  345. package/dist/node-runtime/{chunk-XI77KVKA.js → chunk-TDL7UWJ7.js} +283 -2999
  346. package/dist/node-runtime/{chunk-G6LRAP36.js → chunk-TQGPP4SC.js} +1 -1
  347. package/dist/node-runtime/chunk-UAEOTO52.js +119 -0
  348. package/dist/node-runtime/{chunk-VZR3NCM7.js → chunk-UAFLNHSH.js} +18 -14
  349. package/dist/node-runtime/{chunk-AY6CAJSL.js → chunk-UJOCPOMX.js} +6 -3
  350. package/dist/node-runtime/chunk-UP2XBVH5.js +40 -0
  351. package/dist/node-runtime/{chunk-WJVFOIB5.js → chunk-UQUCFAJ3.js} +1 -1
  352. package/dist/node-runtime/chunk-URD2SLIT.js +1019 -0
  353. package/dist/node-runtime/chunk-US544NN6.js +13 -0
  354. package/dist/node-runtime/chunk-UWPJL22I.js +341 -0
  355. package/dist/node-runtime/chunk-V2A7CEXK.js +355 -0
  356. package/dist/node-runtime/chunk-VJPTNWAP.js +708 -0
  357. package/dist/node-runtime/{chunk-WKDK4C5P.js → chunk-VSSXXL36.js} +38 -164
  358. package/dist/node-runtime/{chunk-4I23VTC4.js → chunk-VWCE2HSZ.js} +21 -124
  359. package/dist/node-runtime/{chunk-WLLDXJRT.js → chunk-WADV2VDS.js} +22 -1014
  360. package/dist/node-runtime/{chunk-GKLEQ3I4.js → chunk-XLTL257W.js} +126 -27
  361. package/dist/node-runtime/chunk-YPHAIRZT.js +10 -0
  362. package/dist/node-runtime/cli-runtime.js +2 -2
  363. package/dist/node-runtime/command-3JHHXOPX.js +45 -0
  364. package/dist/node-runtime/commands-2JVNFGMQ.js +36 -0
  365. package/dist/node-runtime/{commands-MV5KOZ64.js → commands-KAMO2T6P.js} +10 -10
  366. package/dist/node-runtime/config-RORQUQFG.js +20 -0
  367. package/dist/node-runtime/{customize-LF5VST47.js → customize-VFJV3U6A.js} +2 -1
  368. package/dist/node-runtime/{direct-tool-executor-BK7CLEBX.js → direct-tool-executor-YAVOLDFY.js} +8 -8
  369. package/dist/node-runtime/{export-html-TEXVV5RP.js → export-html-KBFVV63J.js} +4 -3
  370. package/dist/node-runtime/{extension-input-O4HSAEM4.js → extension-input-K24TVKVW.js} +4 -4
  371. package/dist/node-runtime/{extension-selector-X5FCX43D.js → extension-selector-SPNF7EDR.js} +4 -4
  372. package/dist/node-runtime/{extract-XLQSJN4V.js → extract-EQJE7FZZ.js} +2 -2
  373. package/dist/node-runtime/{gateway-BM6NLOH4.js → gateway-VFO6SFKK.js} +275 -994
  374. package/dist/node-runtime/{gemini-search-U7SUMPQA.js → gemini-search-35OCRFLN.js} +1 -1
  375. package/dist/node-runtime/{gemini-url-context-PXWCBQHK.js → gemini-url-context-UQY3PHHW.js} +2 -2
  376. package/dist/node-runtime/index.js +104 -65
  377. package/dist/node-runtime/{init-3C7Z24OI.js → init-X2LIUB2H.js} +3 -3
  378. package/dist/node-runtime/{install-cli-EXMJQESX.js → install-cli-C3CF7O7N.js} +21 -82
  379. package/dist/node-runtime/interactive-mode-LOM6AIF6.js +72 -0
  380. package/dist/node-runtime/{interactive-view-ILS6TAN5.js → interactive-view-IDSCPPK7.js} +8 -8
  381. package/dist/node-runtime/lunr-browser-YNW7FTYX.js +87 -0
  382. package/dist/node-runtime/{lunr-cron-4VHP4E4B.js → lunr-cron-BKHGNBKT.js} +19 -5
  383. package/dist/node-runtime/main.js +44 -31
  384. package/dist/node-runtime/{memory-cap-3S4XRLNP.js → memory-cap-EL3KL4JJ.js} +2 -1
  385. package/dist/node-runtime/mobile-commands-HMP25WBC.js +32 -0
  386. package/dist/node-runtime/model-runtime-PLQKAG4B.js +16 -0
  387. package/dist/node-runtime/{model-tiers-NJLHUEGK.js → model-tiers-OU3U5CZG.js} +2 -1
  388. package/dist/node-runtime/{package-manager-cli-N37546V5.js → package-manager-cli-VCK4E2RC.js} +22 -15
  389. package/dist/node-runtime/{pi-intercom-NV2LW6X7.js → pi-intercom-HBPK5HSJ.js} +4 -1
  390. package/dist/node-runtime/{pi-mcp-adapter-GUFZWW54.js → pi-mcp-adapter-E6WULBKF.js} +4 -4
  391. package/dist/node-runtime/{pi-subagents-6MUIFNDM.js → pi-subagents-FEUDLJOE.js} +201 -78
  392. package/dist/node-runtime/{pi-web-access-2CQGFLT2.js → pi-web-access-WTGMNZ32.js} +15 -15
  393. package/dist/node-runtime/process-registry-4FAKZQOL.js +31 -0
  394. package/dist/node-runtime/{proxy-modes-V6YVFH3C.js → proxy-modes-OSQCWRBI.js} +9 -9
  395. package/dist/node-runtime/rpc-entry.js +44 -31
  396. package/dist/node-runtime/{rpc-mode-W5ZTLTMZ.js → rpc-mode-P5ODXPEG.js} +2 -2
  397. package/dist/node-runtime/runtime-4VA6JKNF.js +373 -0
  398. package/dist/node-runtime/{runtime-bridges-2VQTLPOZ.js → runtime-bridges-3XUQ46XW.js} +6 -5
  399. package/dist/node-runtime/service-ISSP6VHE.js +36 -0
  400. package/dist/node-runtime/session-handoff-HC7R5E24.js +33 -0
  401. package/dist/node-runtime/{session-manager-E7AREDTV.js → session-manager-CFN4UFM2.js} +2 -1
  402. package/dist/node-runtime/{session-selector-FJ7M2AIX.js → session-selector-LHRMJOKT.js} +5 -4
  403. package/dist/node-runtime/{settings-manager-CUGAZWAB.js → settings-manager-UUZ6NUXI.js} +7 -2
  404. package/dist/node-runtime/setup-JBKOLJ6F.js +18 -0
  405. package/dist/node-runtime/setup-NRXVZBLJ.js +155 -0
  406. package/dist/node-runtime/{subagent-executor-MH4A7CCF.js → subagent-executor-MLUMBWCP.js} +22 -18
  407. package/dist/node-runtime/theme-U7IGOA7O.js +68 -0
  408. package/dist/node-runtime/trust-manager-MMISNCYO.js +17 -0
  409. package/dist/node-runtime/{update-cli-XTZMZGOL.js → update-cli-4TP25CNW.js} +7 -2
  410. package/dist/node-runtime/usage-service-LFB2SWYV.js +37 -0
  411. package/dist/node-runtime/{video-extract-OYT5WKS5.js → video-extract-OOZHR7SU.js} +2 -2
  412. package/dist/node-runtime/{youtube-extract-TQYKGFGS.js → youtube-extract-FNPAUNHU.js} +6 -6
  413. package/docs/browser.md +86 -0
  414. package/docs/extensions.md +2 -0
  415. package/docs/features.md +94 -16
  416. package/docs/interactive-startup.md +2 -1
  417. package/docs/sessions.md +10 -0
  418. package/docs/settings.md +1 -0
  419. package/docs/tui.md +2 -0
  420. package/docs/usage.md +16 -0
  421. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  422. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  423. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  424. package/examples/extensions/gondolin/package-lock.json +2 -2
  425. package/examples/extensions/gondolin/package.json +1 -1
  426. package/examples/extensions/sandbox/package-lock.json +2 -2
  427. package/examples/extensions/sandbox/package.json +1 -1
  428. package/examples/extensions/with-deps/package-lock.json +2 -2
  429. package/examples/extensions/with-deps/package.json +1 -1
  430. package/package.json +7 -4
  431. package/scripts/install-browser.mjs +20 -0
  432. package/dist/node-runtime/agent-session-services-C743TYQE.js +0 -37
  433. package/dist/node-runtime/chunk-VGYZ3APQ.js +0 -59
  434. package/dist/node-runtime/command-P4NYCJ2M.js +0 -13
  435. package/dist/node-runtime/interactive-mode-EVVBA64D.js +0 -59
  436. package/dist/node-runtime/{chunk-UWQYRSYQ.js → chunk-YJMMG7C6.js} +25 -25
  437. package/dist/node-runtime/{mcp-panel-IIGMXQGP.js → mcp-panel-KTTFXJZ4.js} +3 -3
  438. package/dist/node-runtime/{src-BPQFJR76.js → src-IVPNZ2BX.js} +9 -9
@@ -8,7 +8,7 @@ import {
8
8
  truncateTail
9
9
  } from "./chunk-53YJI7JU.js";
10
10
  import {
11
- formatGroupedCall,
11
+ GroupedCallText,
12
12
  getTextOutput,
13
13
  invalidArgText,
14
14
  normalizeDisplayText,
@@ -21,7 +21,14 @@ import {
21
21
  toolGroupTree,
22
22
  toolStatusDot,
23
23
  toolStatusDotFromContext
24
- } from "./chunk-KBKMCJDU.js";
24
+ } from "./chunk-5ZQXRPMC.js";
25
+ import {
26
+ processImage
27
+ } from "./chunk-AD6VXAO7.js";
28
+ import {
29
+ markExited,
30
+ register
31
+ } from "./chunk-KKUTQQV7.js";
25
32
  import {
26
33
  getShellConfig,
27
34
  getShellEnv,
@@ -29,17 +36,14 @@ import {
29
36
  trackDetachedChildPid,
30
37
  untrackDetachedChildPid
31
38
  } from "./chunk-CSFI6YXL.js";
32
- import {
33
- processImage
34
- } from "./chunk-AD6VXAO7.js";
35
39
  import {
36
40
  keyHint
37
- } from "./chunk-DDWHZ633.js";
41
+ } from "./chunk-GNN7H3B7.js";
38
42
  import {
39
43
  getLanguageFromPath,
40
44
  highlightCode,
41
45
  theme
42
- } from "./chunk-RNBHABBA.js";
46
+ } from "./chunk-7QWNYZDI.js";
43
47
  import {
44
48
  APP_NAME,
45
49
  formatPathRelativeToCwdOrAbsolute,
@@ -61,133 +65,11 @@ function truncateToVisualLines(text, maxVisualLines, width, paddingX = 0) {
61
65
  return { visualLines: truncatedLines, skippedCount };
62
66
  }
63
67
 
64
- // packages/coding-agent/dist/core/process-registry.js
65
- import { spawn } from "node:child_process";
66
- var isWin32 = process.platform === "win32", EXIT_NOISE_GATE_MS = 3e3, EXIT_TTL_MS = 300 * 1e3, MAX_TRACKED = 100, processes = /* @__PURE__ */ new Map();
67
- function register(pid, command, cwd, sessionId) {
68
- if (pid) {
69
- if (processes.size >= MAX_TRACKED) {
70
- let oldest;
71
- for (let [p, entry] of processes) {
72
- if (entry.status === "exited") {
73
- oldest = { pid: p, entry };
74
- break;
75
- }
76
- (!oldest || entry.startedAt < oldest.entry.startedAt) && (oldest = { pid: p, entry });
77
- }
78
- oldest && processes.delete(oldest.pid);
79
- }
80
- processes.set(pid, { pid, command, cwd, startedAt: Date.now(), status: "running", sessionId });
81
- }
82
- }
83
- function markExited(pid, exitCode) {
84
- if (!pid)
85
- return;
86
- let entry = processes.get(pid);
87
- if (!entry)
88
- return;
89
- if (Date.now() - entry.startedAt < EXIT_NOISE_GATE_MS) {
90
- processes.delete(pid);
91
- return;
92
- }
93
- entry.status = "exited", entry.exitCode = exitCode ?? void 0, entry.exitedAt = Date.now();
94
- }
95
- function list(sessionId) {
96
- return prune(), [...processes.values()].filter((p) => sessionId === void 0 || p.sessionId === sessionId);
97
- }
98
- function prune() {
99
- for (let [pid, entry] of processes) {
100
- if (entry.status === "exited") {
101
- (!entry.exitedAt || Date.now() - entry.exitedAt > EXIT_TTL_MS) && processes.delete(pid);
102
- continue;
103
- }
104
- isAlive(pid) || markExited(pid, null);
105
- }
106
- }
107
- function isAlive(pid) {
108
- try {
109
- return process.kill(pid, 0), !0;
110
- } catch {
111
- return !1;
112
- }
113
- }
114
- function kill(pid) {
115
- processes.has(pid) && (killProcessTree(pid), processes.delete(pid));
116
- }
117
- function killAll(sessionId) {
118
- for (let [pid, entry] of processes)
119
- if (!(sessionId !== void 0 && entry.sessionId !== sessionId)) {
120
- try {
121
- killProcessTree(pid);
122
- } catch {
123
- }
124
- processes.delete(pid);
125
- }
126
- }
127
- function pause(pid) {
128
- if (isWin32)
129
- throw new Error("Pause/resume is unsupported on Windows.");
130
- if (!processes.has(pid))
131
- throw new Error(`Process ${pid} is not tracked.`);
132
- try {
133
- process.kill(pid, "SIGSTOP");
134
- let entry = processes.get(pid);
135
- entry && (entry.status = "paused");
136
- } catch {
137
- processes.delete(pid);
138
- }
139
- }
140
- function resume(pid) {
141
- if (isWin32)
142
- throw new Error("Pause/resume is unsupported on Windows.");
143
- if (!processes.has(pid))
144
- throw new Error(`Process ${pid} is not tracked.`);
145
- try {
146
- process.kill(pid, "SIGCONT");
147
- let entry = processes.get(pid);
148
- entry && (entry.status = "running");
149
- } catch {
150
- processes.delete(pid);
151
- }
152
- }
153
- function restart(pid) {
154
- let entry = processes.get(pid);
155
- if (entry) {
156
- try {
157
- killProcessTree(pid);
158
- } catch {
159
- }
160
- processes.delete(pid);
161
- try {
162
- let shellConfig = getShellConfig(), child = spawn(shellConfig.shell, [...shellConfig.args, entry.command], {
163
- cwd: entry.cwd,
164
- detached: !0,
165
- stdio: "ignore",
166
- windowsHide: !0
167
- });
168
- if (child.pid)
169
- return register(child.pid, entry.command, entry.cwd, entry.sessionId), child.unref(), child.pid;
170
- } catch {
171
- }
172
- }
173
- }
174
- function isWindows() {
175
- return isWin32;
176
- }
177
- function clearRegistry(sessionId) {
178
- if (sessionId === void 0) {
179
- processes.clear();
180
- return;
181
- }
182
- for (let [pid, entry] of processes)
183
- entry.sessionId === sessionId && processes.delete(pid);
184
- }
185
-
186
68
  // packages/coding-agent/dist/core/tools/bash.js
187
69
  import { constants } from "node:fs";
188
70
  import { access as fsAccess } from "node:fs/promises";
189
71
  import { Container, Text as Text2, truncateToWidth } from "@ashx-j/lunr-tui";
190
- import { spawn as spawn2 } from "child_process";
72
+ import { spawn } from "child_process";
191
73
  import { Type } from "typebox";
192
74
 
193
75
  // packages/coding-agent/dist/core/tools/output-accumulator.js
@@ -370,7 +252,7 @@ function createLocalBashOperations(options) {
370
252
  throw new Error(`Working directory does not exist: ${cwd}
371
253
  Cannot execute bash commands.`);
372
254
  }
373
- let commandFromStdin = shellConfig.commandTransport === "stdin", child = spawn2(shellConfig.shell, commandFromStdin ? shellConfig.args : [...shellConfig.args, command], {
255
+ let commandFromStdin = shellConfig.commandTransport === "stdin", child = spawn(shellConfig.shell, commandFromStdin ? shellConfig.args : [...shellConfig.args, command], {
374
256
  cwd,
375
257
  detached: process.platform !== "win32",
376
258
  env: env ?? getShellEnv(),
@@ -565,15 +447,15 @@ ${command}` : command, spawnContext = resolveSpawnContext(resolvedCommand, cwd,
565
447
  context.executionStarted && state.startedAt === void 0 && (state.startedAt = Date.now(), state.endedAt = void 0), !context.isPartial && state.startedAt !== void 0 && (state.endedAt ??= Date.now());
566
448
  let compact = !context.isPartial && !context.expanded && !context.isError, detail = formatBashCall(args, { expanded: context.expanded, compact });
567
449
  compact && state.startedAt !== void 0 && state.endedAt !== void 0 && (detail += theme.fg("muted", ` \u2014 Took ${formatDuration(state.endedAt - state.startedAt)}`));
568
- let text = context.lastComponent ?? new Text2("", 0, 0);
569
- return text.setText(formatGroupedCall({
450
+ let text = context.lastComponent ?? new GroupedCallText("", 0, 0);
451
+ return text.setCall({
570
452
  role: context.groupRole ?? "singleton",
571
453
  compact,
572
454
  tree: toolGroupTree(context),
573
455
  dot: toolStatusDotFromContext(context, theme),
574
456
  title: theme.fg("toolTitle", theme.bold("$")),
575
457
  detail
576
- })), text;
458
+ }), text;
577
459
  },
578
460
  renderResult(result, options2, _theme, context) {
579
461
  let state = context.state;
@@ -1523,15 +1405,15 @@ function getEditHeaderBg(preview, settledError, theme2) {
1523
1405
  }
1524
1406
  function buildEditCallComponent(component, args, theme2, cwd, dotState, compact = !1, role = "singleton", tree = compact) {
1525
1407
  component.setBgFn(getEditHeaderBg(component.preview, component.settledError, theme2)), component.clear();
1526
- let grouped = tree && role !== "singleton", pathDisplay = formatEditCall(args, theme2, cwd, compact || grouped);
1527
- if (component.addChild(new Text3(formatGroupedCall({
1408
+ let grouped = tree && role !== "singleton", pathDisplay = formatEditCall(args, theme2, cwd, compact || grouped), header = new GroupedCallText("", 0, 0);
1409
+ if (header.setCall({
1528
1410
  role,
1529
1411
  compact,
1530
1412
  tree,
1531
1413
  dot: toolStatusDot(dotState, theme2),
1532
1414
  title: theme2.fg("toolTitle", theme2.bold("edit")),
1533
1415
  detail: pathDisplay
1534
- }), 0, 0)), compact || grouped || !component.preview)
1416
+ }), component.addChild(header), compact || grouped || !component.preview)
1535
1417
  return component;
1536
1418
  let body = "error" in component.preview ? theme2.fg("error", component.preview.error) : renderDiff(component.preview.diff);
1537
1419
  return component.addChild(new Spacer(1)), component.addChild(new Text3(body, 0, 0)), component;
@@ -1835,7 +1717,7 @@ async function ensureTool(tool, silent = !1) {
1835
1717
  // packages/coding-agent/dist/core/tools/find.js
1836
1718
  import { createInterface } from "node:readline";
1837
1719
  import { Text as Text4 } from "@ashx-j/lunr-tui";
1838
- import { spawn as spawn3 } from "child_process";
1720
+ import { spawn as spawn2 } from "child_process";
1839
1721
  import path from "path";
1840
1722
  import { Type as Type3 } from "typebox";
1841
1723
  function toPosixPath(value) {
@@ -1960,7 +1842,7 @@ function createFindToolDefinition(cwd, options) {
1960
1842
  insideGitRepo || args.push("--no-require-git"), args.push("--max-results", String(effectiveLimit));
1961
1843
  let effectivePattern = pattern;
1962
1844
  pattern.includes("/") && (args.push("--full-path"), !pattern.startsWith("/") && !pattern.startsWith("**/") && pattern !== "**" && (effectivePattern = `**/${pattern}`)), args.push("--", effectivePattern, searchPath);
1963
- let child = spawn3(fdPath, args, { stdio: ["ignore", "pipe", "pipe"] }), rl = createInterface({ input: child.stdout }), stderr = "", lines = [];
1845
+ let child = spawn2(fdPath, args, { stdio: ["ignore", "pipe", "pipe"] }), rl = createInterface({ input: child.stdout }), stderr = "", lines = [];
1964
1846
  stopChild = () => {
1965
1847
  child.killed || child.kill();
1966
1848
  };
@@ -2023,15 +1905,15 @@ function createFindToolDefinition(cwd, options) {
2023
1905
  });
2024
1906
  },
2025
1907
  renderCall(args, theme2, context) {
2026
- let text = context.lastComponent ?? new Text4("", 0, 0), compact = !context.isPartial && !context.expanded && !context.isError;
2027
- return text.setText(formatGroupedCall({
1908
+ let text = context.lastComponent ?? new GroupedCallText("", 0, 0), compact = !context.isPartial && !context.expanded && !context.isError;
1909
+ return text.setCall({
2028
1910
  role: context.groupRole ?? "singleton",
2029
1911
  compact,
2030
1912
  tree: toolGroupTree(context),
2031
1913
  dot: toolStatusDotFromContext(context, theme2),
2032
1914
  title: theme2.fg("toolTitle", theme2.bold("find")),
2033
1915
  detail: formatFindCall(args, theme2, context.cwd, !context.expanded)
2034
- })), text;
1916
+ }), text;
2035
1917
  },
2036
1918
  renderResult(result, options2, theme2, context) {
2037
1919
  let text = context.lastComponent ?? new Text4("", 0, 0);
@@ -2047,7 +1929,7 @@ function createFindTool(cwd, options) {
2047
1929
  import { readFile as fsReadFile2, stat as fsStat } from "node:fs/promises";
2048
1930
  import { createInterface as createInterface2 } from "node:readline";
2049
1931
  import { Text as Text5 } from "@ashx-j/lunr-tui";
2050
- import { spawn as spawn4 } from "child_process";
1932
+ import { spawn as spawn3 } from "child_process";
2051
1933
  import path2 from "path";
2052
1934
  import { Type as Type4 } from "typebox";
2053
1935
  var grepSchema = Type4.Object({
@@ -2145,7 +2027,7 @@ function createGrepToolDefinition(cwd, options) {
2145
2027
  return lines;
2146
2028
  }, args = ["--json", "--line-number", "--color=never", "--hidden"];
2147
2029
  ignoreCase && args.push("--ignore-case"), literal && args.push("--fixed-strings"), glob && args.push("--glob", glob), args.push("--", pattern, searchPath);
2148
- let child = spawn4(rgPath, args, { stdio: ["ignore", "pipe", "pipe"] }), rl = createInterface2({ input: child.stdout }), stderr = "", matchCount = 0, matchLimitReached = !1, linesTruncated = !1, aborted = !1, killedDueToLimit = !1, outputLines = [], cleanup = () => {
2030
+ let child = spawn3(rgPath, args, { stdio: ["ignore", "pipe", "pipe"] }), rl = createInterface2({ input: child.stdout }), stderr = "", matchCount = 0, matchLimitReached = !1, linesTruncated = !1, aborted = !1, killedDueToLimit = !1, outputLines = [], cleanup = () => {
2149
2031
  rl.close(), signal?.removeEventListener("abort", onAbort);
2150
2032
  }, stopChild = (dueToLimit = !1) => {
2151
2033
  child.killed || (killedDueToLimit = dueToLimit, child.kill());
@@ -2221,15 +2103,15 @@ function createGrepToolDefinition(cwd, options) {
2221
2103
  });
2222
2104
  },
2223
2105
  renderCall(args, theme2, context) {
2224
- let text = context.lastComponent ?? new Text5("", 0, 0), compact = !context.isPartial && !context.expanded && !context.isError;
2225
- return text.setText(formatGroupedCall({
2106
+ let text = context.lastComponent ?? new GroupedCallText("", 0, 0), compact = !context.isPartial && !context.expanded && !context.isError;
2107
+ return text.setCall({
2226
2108
  role: context.groupRole ?? "singleton",
2227
2109
  compact,
2228
2110
  tree: toolGroupTree(context),
2229
2111
  dot: toolStatusDotFromContext(context, theme2),
2230
2112
  title: theme2.fg("toolTitle", theme2.bold("grep")),
2231
2113
  detail: formatGrepCall(args, theme2, context.cwd, !context.expanded)
2232
- })), text;
2114
+ }), text;
2233
2115
  },
2234
2116
  renderResult(result, options2, theme2, context) {
2235
2117
  let text = context.lastComponent ?? new Text5("", 0, 0);
@@ -2343,15 +2225,15 @@ function createLsToolDefinition(cwd, options) {
2343
2225
  });
2344
2226
  },
2345
2227
  renderCall(args, theme2, context) {
2346
- let text = context.lastComponent ?? new Text6("", 0, 0), compact = !context.isPartial && !context.expanded && !context.isError;
2347
- return text.setText(formatGroupedCall({
2228
+ let text = context.lastComponent ?? new GroupedCallText("", 0, 0), compact = !context.isPartial && !context.expanded && !context.isError;
2229
+ return text.setCall({
2348
2230
  role: context.groupRole ?? "singleton",
2349
2231
  compact,
2350
2232
  tree: toolGroupTree(context),
2351
2233
  dot: toolStatusDotFromContext(context, theme2),
2352
2234
  title: theme2.fg("toolTitle", theme2.bold("ls")),
2353
2235
  detail: formatLsCall(args, theme2, context.cwd, !context.expanded)
2354
- })), text;
2236
+ }), text;
2355
2237
  },
2356
2238
  renderResult(result, options2, theme2, context) {
2357
2239
  let text = context.lastComponent ?? new Text6("", 0, 0);
@@ -2594,15 +2476,15 @@ ${nonVisionImageNote}`), content = [{ type: "text", text: textNote }];
2594
2476
  });
2595
2477
  },
2596
2478
  renderCall(args, theme2, context) {
2597
- let text = context.lastComponent ?? new Text7("", 0, 0), compact = !context.isPartial && !context.expanded && !context.isError, classification = context.expanded ? void 0 : getCompactReadClassification(args, context.cwd), title = theme2.fg("toolTitle", theme2.bold("read")), detail;
2598
- return classification?.kind === "skill" ? (title = theme2.fg("customMessageLabel", "\x1B[1m[skill]\x1B[22m"), detail = theme2.fg("customMessageText", classification.label)) : classification ? (title = theme2.fg("toolTitle", theme2.bold(`read ${classification.kind}`)), detail = theme2.fg("accent", classification.label)) : detail = formatReadDetail(args, theme2, context.cwd, context.expanded), text.setText(formatGroupedCall({
2479
+ let text = context.lastComponent ?? new GroupedCallText("", 0, 0), compact = !context.isPartial && !context.expanded && !context.isError, classification = context.expanded ? void 0 : getCompactReadClassification(args, context.cwd), title = theme2.fg("toolTitle", theme2.bold("read")), detail;
2480
+ return classification?.kind === "skill" ? (title = theme2.fg("customMessageLabel", "\x1B[1m[skill]\x1B[22m"), detail = theme2.fg("customMessageText", classification.label)) : classification ? (title = theme2.fg("toolTitle", theme2.bold(`read ${classification.kind}`)), detail = theme2.fg("accent", classification.label)) : detail = formatReadDetail(args, theme2, context.cwd, context.expanded), text.setCall({
2599
2481
  role: context.groupRole ?? "singleton",
2600
2482
  compact,
2601
2483
  tree: toolGroupTree(context),
2602
2484
  dot: toolStatusDotFromContext(context, theme2),
2603
2485
  title,
2604
2486
  detail
2605
- })), text;
2487
+ }), text;
2606
2488
  },
2607
2489
  renderResult(result, options2, theme2, context) {
2608
2490
  let text = context.lastComponent ?? new Text7("", 0, 0);
@@ -2626,7 +2508,7 @@ var writeSchema = Type7.Object({
2626
2508
  writeFile: (path3, content) => fsWriteFile2(path3, content, "utf-8"),
2627
2509
  mkdir: (dir) => fsMkdir(dir, { recursive: !0 }).then(() => {
2628
2510
  })
2629
- }, WriteCallRenderComponent = class extends Text8 {
2511
+ }, WriteCallRenderComponent = class extends GroupedCallText {
2630
2512
  cache;
2631
2513
  constructor() {
2632
2514
  super("", 0, 0);
@@ -2737,14 +2619,14 @@ function createWriteToolDefinition(cwd, options) {
2737
2619
  let detail = renderToolFileName(rawPath, theme2, context.cwd);
2738
2620
  fileContent === null && (detail += `
2739
2621
 
2740
- ${theme2.fg("error", "[invalid content arg - expected string]")}`), component.setText(formatGroupedCall({
2622
+ ${theme2.fg("error", "[invalid content arg - expected string]")}`), component.setCall({
2741
2623
  role: context.groupRole ?? "singleton",
2742
2624
  compact,
2743
2625
  tree,
2744
2626
  dot: toolStatusDotFromContext(context, theme2),
2745
2627
  title: theme2.fg("toolTitle", theme2.bold("write")),
2746
2628
  detail
2747
- }));
2629
+ });
2748
2630
  } else
2749
2631
  component.setText(`${toolStatusDotFromContext(context, theme2)} ${formatWriteCall(renderArgs, { expanded: context.expanded, isPartial: context.isPartial }, theme2, component.cache, context.cwd, !1)}`);
2750
2632
  return component;
@@ -2797,14 +2679,6 @@ export {
2797
2679
  wrapToolDefinition,
2798
2680
  createToolDefinitionFromAgentTool,
2799
2681
  truncateToVisualLines,
2800
- list,
2801
- kill,
2802
- killAll,
2803
- pause,
2804
- resume,
2805
- restart,
2806
- isWindows,
2807
- clearRegistry,
2808
2682
  createLocalBashOperations,
2809
2683
  createBashToolDefinition,
2810
2684
  createBashTool,
@@ -1,118 +1,17 @@
1
1
  import { createRequire as __lunrRequire } from "node:module"; const require = __lunrRequire(import.meta.url);
2
+ import {
3
+ loadGatewayConfig,
4
+ saveGatewayConfig
5
+ } from "./chunk-R3K2F5GI.js";
2
6
  import {
3
7
  VERSION,
4
8
  appendDebugLog,
5
9
  getAgentDir
6
10
  } from "./chunk-FQMM2EZ2.js";
7
11
 
8
- // packages/coding-agent/dist/gateway/config.js
12
+ // packages/coding-agent/dist/core/install-features.js
9
13
  import { chmodSync, existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
10
14
  import { join } from "node:path";
11
- function gatewayConfigPath() {
12
- return join(getAgentDir(), "gateway.json");
13
- }
14
- function defaultPlatformConfig(requireMention) {
15
- return {
16
- enabled: !1,
17
- allowedUsers: [],
18
- allowedChats: [],
19
- requireMention,
20
- freeResponseChats: []
21
- };
22
- }
23
- function defaultGatewayConfig() {
24
- return {
25
- telegram: defaultPlatformConfig(!1),
26
- discord: { ...defaultPlatformConfig(!0), ignoredChannels: [], autoThread: !0 },
27
- groupSessionsPerUser: !0,
28
- unauthorizedDmBehavior: "pair",
29
- streaming: { enabled: !0, editIntervalMs: 800, bufferThreshold: 24 }
30
- };
31
- }
32
- function asStringArray(value) {
33
- if (Array.isArray(value))
34
- return value.every((v) => typeof v == "string") ? value : void 0;
35
- }
36
- function asBoolean(value) {
37
- return typeof value == "boolean" ? value : void 0;
38
- }
39
- function asNumber(value) {
40
- return typeof value == "number" && Number.isFinite(value) ? value : void 0;
41
- }
42
- function sanitizePlatform(raw, base) {
43
- if (raw == null || typeof raw != "object" || Array.isArray(raw))
44
- return base;
45
- let r = raw;
46
- return {
47
- enabled: asBoolean(r.enabled) ?? base.enabled,
48
- token: typeof r.token == "string" ? r.token : base.token,
49
- allowedUsers: asStringArray(r.allowedUsers) ?? base.allowedUsers,
50
- allowedChats: asStringArray(r.allowedChats) ?? base.allowedChats,
51
- requireMention: asBoolean(r.requireMention) ?? base.requireMention,
52
- freeResponseChats: asStringArray(r.freeResponseChats) ?? base.freeResponseChats,
53
- homeChannel: typeof r.homeChannel == "string" ? r.homeChannel : base.homeChannel
54
- };
55
- }
56
- function sanitizeDiscord(raw, base) {
57
- let platform = sanitizePlatform(raw, base), r = raw != null && typeof raw == "object" && !Array.isArray(raw) ? raw : {};
58
- return {
59
- ...platform,
60
- ignoredChannels: asStringArray(r.ignoredChannels) ?? base.ignoredChannels,
61
- autoThread: asBoolean(r.autoThread) ?? base.autoThread
62
- };
63
- }
64
- function sanitizeConfig(raw) {
65
- let base = defaultGatewayConfig();
66
- if (raw == null || typeof raw != "object" || Array.isArray(raw))
67
- return base;
68
- let r = raw, streamingRaw = r.streaming != null && typeof r.streaming == "object" && !Array.isArray(r.streaming) ? r.streaming : {};
69
- return {
70
- telegram: sanitizePlatform(r.telegram, base.telegram),
71
- discord: sanitizeDiscord(r.discord, base.discord),
72
- groupSessionsPerUser: asBoolean(r.groupSessionsPerUser) ?? base.groupSessionsPerUser,
73
- unauthorizedDmBehavior: r.unauthorizedDmBehavior === "ignore" ? "ignore" : "pair",
74
- streaming: {
75
- enabled: asBoolean(streamingRaw.enabled) ?? base.streaming.enabled,
76
- editIntervalMs: asNumber(streamingRaw.editIntervalMs) ?? base.streaming.editIntervalMs,
77
- bufferThreshold: asNumber(streamingRaw.bufferThreshold) ?? base.streaming.bufferThreshold
78
- }
79
- };
80
- }
81
- function loadGatewayConfig() {
82
- let path = gatewayConfigPath();
83
- if (!existsSync(path))
84
- return defaultGatewayConfig();
85
- try {
86
- return sanitizeConfig(JSON.parse(readFileSync(path, "utf-8")));
87
- } catch (err) {
88
- return console.error(`[gateway] Failed to load config from ${path}: ${err}`), defaultGatewayConfig();
89
- }
90
- }
91
- function saveGatewayConfig(config) {
92
- let path = gatewayConfigPath(), dir = getAgentDir();
93
- existsSync(dir) || mkdirSync(dir, { recursive: !0 });
94
- let tmp = `${path}.tmp-${process.pid}`;
95
- writeFileSync(tmp, `${JSON.stringify(config, null, 2)}
96
- `, "utf-8"), renameSync(tmp, path);
97
- try {
98
- chmodSync(path, 384);
99
- } catch {
100
- }
101
- }
102
- function resolvePlatformToken(platform, platformCfg) {
103
- let upper = platform.toUpperCase();
104
- return process.env[`LUNR_${upper}_BOT_TOKEN`] ?? process.env[`${upper}_BOT_TOKEN`] ?? platformCfg.token;
105
- }
106
- function platformConfigFor(cfg, platform) {
107
- if (platform === "telegram")
108
- return cfg.telegram;
109
- if (platform === "discord")
110
- return cfg.discord;
111
- }
112
-
113
- // packages/coding-agent/dist/core/install-features.js
114
- import { chmodSync as chmodSync2, existsSync as existsSync2, mkdirSync as mkdirSync2, readFileSync as readFileSync2, renameSync as renameSync2, writeFileSync as writeFileSync2 } from "node:fs";
115
- import { join as join2 } from "node:path";
116
15
  var FEATURE_CATALOG = [
117
16
  {
118
17
  id: "chat-platforms",
@@ -143,7 +42,7 @@ var FEATURE_CATALOG = [
143
42
  }
144
43
  ], CHAT_PLATFORMS_INFER_UNTIL = "0.2.0";
145
44
  function installFeaturesPath() {
146
- return join2(getAgentDir(), "install-features.json");
45
+ return join(getAgentDir(), "install-features.json");
147
46
  }
148
47
  function getFeatureSpec(id) {
149
48
  return FEATURE_CATALOG.find((f) => f.id === id);
@@ -229,22 +128,22 @@ function inferFromGateway() {
229
128
  }
230
129
  function loadInstallFeatures() {
231
130
  let path = installFeaturesPath();
232
- if (!existsSync2(path))
131
+ if (!existsSync(path))
233
132
  return inferFromGateway() ?? emptyFile();
234
133
  try {
235
- return sanitizeFile(JSON.parse(readFileSync2(path, "utf-8"))) ?? inferFromGateway() ?? emptyFile();
134
+ return sanitizeFile(JSON.parse(readFileSync(path, "utf-8"))) ?? inferFromGateway() ?? emptyFile();
236
135
  } catch {
237
136
  return inferFromGateway() ?? emptyFile();
238
137
  }
239
138
  }
240
139
  function saveInstallFeatures(file) {
241
140
  let path = installFeaturesPath(), dir = getAgentDir();
242
- existsSync2(dir) || mkdirSync2(dir, { recursive: !0 });
141
+ existsSync(dir) || mkdirSync(dir, { recursive: !0 });
243
142
  let tmp = `${path}.tmp-${process.pid}`;
244
- writeFileSync2(tmp, `${JSON.stringify(file, null, 2)}
245
- `, "utf-8"), renameSync2(tmp, path);
143
+ writeFileSync(tmp, `${JSON.stringify(file, null, 2)}
144
+ `, "utf-8"), renameSync(tmp, path);
246
145
  try {
247
- chmodSync2(path, 420);
146
+ chmodSync(path, 420);
248
147
  } catch {
249
148
  }
250
149
  }
@@ -373,11 +272,14 @@ var chatPlatformsHandler = {
373
272
  persistEnvAndSecretTokens(ctx.secrets);
374
273
  let cfg = loadGatewayConfig();
375
274
  if (cfg.telegram.token && (cfg.telegram.enabled = !0), cfg.discord.token && (cfg.discord.enabled = !0), saveGatewayConfig(cfg), ctx.next.options.autostart === !0) {
376
- let hasFileToken = !!(cfg.telegram.token || cfg.discord.token);
377
- console.error(hasFileToken ? "chat-platforms: autostart recorded; login item install is not in this build yet." : "chat-platforms: autostart requested but no file token in gateway.json \u2014 unit not enabled.");
378
- }
275
+ if (!cfg.telegram.token && !cfg.discord.token)
276
+ throw new Error("Configure a bot token with lunr gateway setup before enabling automatic startup.");
277
+ await (await import("./service-ISSP6VHE.js")).configureStartup("login");
278
+ } else ctx.previous?.options.autostart === !0 && await (await import("./service-ISSP6VHE.js")).configureStartup("off");
379
279
  },
380
280
  async disable(opts) {
281
+ let service = await import("./service-ISSP6VHE.js");
282
+ service.loadServiceSettings().startup !== "off" && await service.configureStartup("off"), await service.stopGatewayService();
381
283
  let cfg = loadGatewayConfig();
382
284
  cfg.telegram.enabled = !1, cfg.discord.enabled = !1, opts.purgeSecrets && (delete cfg.telegram.token, delete cfg.discord.token), saveGatewayConfig(cfg);
383
285
  }
@@ -387,9 +289,9 @@ var chatPlatformsHandler = {
387
289
  function appendInstallLog(line) {
388
290
  try {
389
291
  let dir = getAgentDir();
390
- existsSync2(dir) || mkdirSync2(dir, { recursive: !0 });
391
- let path = join2(dir, "install.log");
392
- writeFileSync2(path, `${(/* @__PURE__ */ new Date()).toISOString()} ${line}
292
+ existsSync(dir) || mkdirSync(dir, { recursive: !0 });
293
+ let path = join(dir, "install.log");
294
+ writeFileSync(path, `${(/* @__PURE__ */ new Date()).toISOString()} ${line}
393
295
  `, { encoding: "utf-8", flag: "a" });
394
296
  } catch {
395
297
  }
@@ -409,11 +311,6 @@ function chatPlatformDeliverBlockedMessage() {
409
311
  }
410
312
 
411
313
  export {
412
- gatewayConfigPath,
413
- loadGatewayConfig,
414
- saveGatewayConfig,
415
- resolvePlatformToken,
416
- platformConfigFor,
417
314
  FEATURE_CATALOG,
418
315
  getFeatureSpec,
419
316
  loadInstallFeatures,