@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,29 @@
1
+ import { createRequire as __lunrRequire } from "node:module"; const require = __lunrRequire(import.meta.url);
2
+ import {
3
+ API_BASE,
4
+ DEFAULT_MODEL,
5
+ buildAuthHeaders,
6
+ buildKeyParam,
7
+ getApiHost,
8
+ getApiKey,
9
+ getCloudflareApiKey,
10
+ getVersionedApiBase,
11
+ isGatewayConfigured,
12
+ isGeminiApiAvailable,
13
+ queryGeminiApiWithVideo
14
+ } from "./chunk-3WFAEVKS.js";
15
+ import "./chunk-VRB2IYGG.js";
16
+ import "./chunk-BRJX2PRC.js";
17
+ export {
18
+ API_BASE,
19
+ DEFAULT_MODEL,
20
+ buildAuthHeaders,
21
+ buildKeyParam,
22
+ getApiHost,
23
+ getApiKey,
24
+ getCloudflareApiKey,
25
+ getVersionedApiBase,
26
+ isGatewayConfigured,
27
+ isGeminiApiAvailable,
28
+ queryGeminiApiWithVideo
29
+ };
@@ -0,0 +1,330 @@
1
+ import { createRequire as __lunrRequire } from "node:module"; const require = __lunrRequire(import.meta.url);
2
+ import {
3
+ loadBrave,
4
+ loadExa,
5
+ loadGeminiApi,
6
+ loadGeminiWeb,
7
+ loadOpenAISearch,
8
+ loadParallel,
9
+ loadPerplexity,
10
+ loadTavily
11
+ } from "./chunk-7NBZ5P7I.js";
12
+ import {
13
+ activityMonitor
14
+ } from "./chunk-DAPBPCBP.js";
15
+ import {
16
+ getWebSearchConfigPath
17
+ } from "./chunk-VRB2IYGG.js";
18
+ import "./chunk-BRJX2PRC.js";
19
+
20
+ // packages/coding-agent/dist/builtin-extensions/pi-web-access/gemini-search.js
21
+ import { existsSync, readFileSync } from "node:fs";
22
+ var CONFIG_PATH = getWebSearchConfigPath(), cachedSearchConfig = null;
23
+ function getSearchConfig() {
24
+ if (cachedSearchConfig)
25
+ return cachedSearchConfig;
26
+ if (!existsSync(CONFIG_PATH))
27
+ return cachedSearchConfig = { searchProvider: "auto", searchModel: void 0 }, cachedSearchConfig;
28
+ let rawText = readFileSync(CONFIG_PATH, "utf-8"), raw;
29
+ try {
30
+ raw = JSON.parse(rawText);
31
+ } catch (err) {
32
+ let message = err instanceof Error ? err.message : String(err);
33
+ throw new Error(`Failed to parse ${CONFIG_PATH}: ${message}`);
34
+ }
35
+ return cachedSearchConfig = {
36
+ searchProvider: normalizeSearchProvider(raw.searchProvider ?? raw.provider),
37
+ searchModel: normalizeSearchModel(raw.searchModel)
38
+ }, cachedSearchConfig;
39
+ }
40
+ function normalizeSearchModel(value) {
41
+ if (typeof value != "string")
42
+ return;
43
+ let normalized = value.trim();
44
+ return normalized.length > 0 ? normalized : void 0;
45
+ }
46
+ function normalizeSearchProvider(value) {
47
+ let normalized = typeof value == "string" ? value.trim().toLowerCase() : "";
48
+ return ["auto", "openai", "brave", "parallel", "tavily", "perplexity", "gemini", "exa"].includes(normalized) ? normalized : "auto";
49
+ }
50
+ function errorMessage(err) {
51
+ return err instanceof Error ? err.message : String(err);
52
+ }
53
+ function isAbortError(err) {
54
+ return errorMessage(err).toLowerCase().includes("abort");
55
+ }
56
+ function shouldTryOpenAIInAuto(options) {
57
+ return !(options.recencyFilter || typeof options.numResults == "number" && Number.isFinite(options.numResults) && Math.floor(options.numResults) !== 5);
58
+ }
59
+ async function searchWithGemini(query, options, strictErrors) {
60
+ let errors = [];
61
+ try {
62
+ let apiResult = await searchWithGeminiApi(query, options);
63
+ if (apiResult)
64
+ return apiResult;
65
+ } catch (err) {
66
+ if (isAbortError(err))
67
+ throw err;
68
+ errors.push(`Gemini API: ${errorMessage(err)}`);
69
+ }
70
+ try {
71
+ let webResult = await searchWithGeminiWeb(query, options);
72
+ if (webResult)
73
+ return webResult;
74
+ } catch (err) {
75
+ if (isAbortError(err))
76
+ throw err;
77
+ errors.push(`Gemini Web: ${errorMessage(err)}`);
78
+ }
79
+ if (strictErrors && errors.length > 0)
80
+ throw new Error(`Gemini search failed:
81
+ - ${errors.join(`
82
+ - `)}`);
83
+ return null;
84
+ }
85
+ async function search(query, options = {}) {
86
+ let config = getSearchConfig(), provider = options.provider ?? config.searchProvider;
87
+ if (provider === "openai") {
88
+ let { searchWithOpenAI } = await loadOpenAISearch();
89
+ return { ...await searchWithOpenAI(query, options, options.extensionContext), provider: "openai" };
90
+ }
91
+ if (provider === "brave") {
92
+ let { searchWithBrave } = await loadBrave();
93
+ return { ...await searchWithBrave(query, options), provider: "brave" };
94
+ }
95
+ if (provider === "parallel") {
96
+ let { searchWithParallel } = await loadParallel();
97
+ return { ...await searchWithParallel(query, options), provider: "parallel" };
98
+ }
99
+ if (provider === "tavily") {
100
+ let { searchWithTavily } = await loadTavily();
101
+ return { ...await searchWithTavily(query, options), provider: "tavily" };
102
+ }
103
+ if (provider === "perplexity") {
104
+ let { searchWithPerplexity } = await loadPerplexity();
105
+ return { ...await searchWithPerplexity(query, options), provider: "perplexity" };
106
+ }
107
+ if (provider === "gemini") {
108
+ let result = await searchWithGemini(query, options, !0);
109
+ if (result)
110
+ return { ...result, provider: "gemini" };
111
+ throw new Error(`Gemini search unavailable. Either:
112
+ 1. Set GEMINI_API_KEY in ${CONFIG_PATH}
113
+ 2. Set GOOGLE_GEMINI_BASE_URL + CLOUDFLARE_API_KEY for Cloudflare AI Gateway routing
114
+ 3. Sign into gemini.google.com in a supported Chromium-based browser`);
115
+ }
116
+ if (provider === "exa") {
117
+ let exa = await loadExa(), exaApiKeyConfigured = exa.hasExaApiKey();
118
+ try {
119
+ let result = await exa.searchWithExa(query, options);
120
+ if (result)
121
+ return { ...result, provider: "exa" };
122
+ if (exaApiKeyConfigured)
123
+ throw new Error("Exa search returned no results.");
124
+ } catch (err) {
125
+ if ((err instanceof Error ? err.message : String(err)).toLowerCase().includes("abort") || exaApiKeyConfigured)
126
+ throw err;
127
+ }
128
+ }
129
+ let fallbackErrors = [];
130
+ if (shouldTryOpenAIInAuto(options))
131
+ try {
132
+ let openai = await loadOpenAISearch();
133
+ if (await openai.isOpenAISearchAvailable(options.extensionContext))
134
+ return { ...await openai.searchWithOpenAI(query, options, options.extensionContext), provider: "openai" };
135
+ } catch (err) {
136
+ if (isAbortError(err))
137
+ throw err;
138
+ fallbackErrors.push(`OpenAI: ${errorMessage(err)}`);
139
+ }
140
+ if (provider !== "exa") {
141
+ let exa = await loadExa();
142
+ if (exa.isExaAvailable())
143
+ try {
144
+ let result = await exa.searchWithExa(query, options);
145
+ if (result)
146
+ return { ...result, provider: "exa" };
147
+ } catch (err) {
148
+ if (isAbortError(err))
149
+ throw err;
150
+ fallbackErrors.push(`Exa: ${errorMessage(err)}`);
151
+ }
152
+ }
153
+ {
154
+ let brave = await loadBrave();
155
+ if (brave.isBraveAvailable())
156
+ try {
157
+ return { ...await brave.searchWithBrave(query, options), provider: "brave" };
158
+ } catch (err) {
159
+ if (isAbortError(err))
160
+ throw err;
161
+ fallbackErrors.push(`Brave: ${errorMessage(err)}`);
162
+ }
163
+ }
164
+ {
165
+ let parallel = await loadParallel();
166
+ if (parallel.isParallelAvailable())
167
+ try {
168
+ return { ...await parallel.searchWithParallel(query, options), provider: "parallel" };
169
+ } catch (err) {
170
+ if (isAbortError(err))
171
+ throw err;
172
+ fallbackErrors.push(`Parallel: ${errorMessage(err)}`);
173
+ }
174
+ }
175
+ {
176
+ let tavily = await loadTavily();
177
+ if (tavily.isTavilyAvailable())
178
+ try {
179
+ return { ...await tavily.searchWithTavily(query, options), provider: "tavily" };
180
+ } catch (err) {
181
+ if (isAbortError(err))
182
+ throw err;
183
+ fallbackErrors.push(`Tavily: ${errorMessage(err)}`);
184
+ }
185
+ }
186
+ {
187
+ let perplexity = await loadPerplexity();
188
+ if (perplexity.isPerplexityAvailable())
189
+ try {
190
+ return { ...await perplexity.searchWithPerplexity(query, options), provider: "perplexity" };
191
+ } catch (err) {
192
+ if (isAbortError(err))
193
+ throw err;
194
+ fallbackErrors.push(`Perplexity: ${errorMessage(err)}`);
195
+ }
196
+ }
197
+ try {
198
+ let geminiResult = await searchWithGemini(query, options, !1);
199
+ if (geminiResult)
200
+ return { ...geminiResult, provider: "gemini" };
201
+ } catch (err) {
202
+ if (isAbortError(err))
203
+ throw err;
204
+ fallbackErrors.push(`Gemini: ${errorMessage(err)}`);
205
+ }
206
+ throw fallbackErrors.length > 0 ? new Error(`Auto provider search failed:
207
+ - ${fallbackErrors.join(`
208
+ - `)}`) : new Error(`No search provider available. Either:
209
+ 1. Use /login to sign in with a Codex subscription for OpenAI web search
210
+ 2. Set openaiApiKey, braveApiKey, parallelApiKey, tavilyApiKey, perplexityApiKey, exaApiKey, geminiApiKey, or cloudflareApiKey in ${CONFIG_PATH}
211
+ 3. Set OPENAI_API_KEY, BRAVE_API_KEY, PARALLEL_API_KEY, TAVILY_API_KEY, EXA_API_KEY, PERPLEXITY_API_KEY, GEMINI_API_KEY, or CLOUDFLARE_API_KEY env vars
212
+ 4. Set GOOGLE_GEMINI_BASE_URL with CLOUDFLARE_API_KEY for Cloudflare AI Gateway routing
213
+ 5. Sign into gemini.google.com in a supported Chromium-based browser`);
214
+ }
215
+ async function searchWithGeminiApi(query, options = {}) {
216
+ let geminiApi = await loadGeminiApi(), apiKey = geminiApi.getApiKey();
217
+ if (!apiKey && !geminiApi.isGatewayConfigured())
218
+ return null;
219
+ let activityId = activityMonitor.logStart({ type: "api", query });
220
+ try {
221
+ let model = getSearchConfig().searchModel ?? geminiApi.DEFAULT_MODEL, body = {
222
+ contents: [{ role: "user", parts: [{ text: query }] }],
223
+ tools: [{ google_search: {} }]
224
+ }, res = await fetch(`${geminiApi.getVersionedApiBase()}/models/${model}:generateContent${geminiApi.buildKeyParam(apiKey)}`, {
225
+ method: "POST",
226
+ headers: { "Content-Type": "application/json", ...geminiApi.buildAuthHeaders() },
227
+ body: JSON.stringify(body),
228
+ signal: AbortSignal.any([
229
+ AbortSignal.timeout(6e4),
230
+ ...options.signal ? [options.signal] : []
231
+ ])
232
+ });
233
+ if (!res.ok) {
234
+ let errorText = await res.text();
235
+ throw new Error(`Gemini API error ${res.status}: ${errorText.slice(0, 300)}`);
236
+ }
237
+ let data = await res.json();
238
+ activityMonitor.logComplete(activityId, res.status);
239
+ let answer = data.candidates?.[0]?.content?.parts?.map((p) => p.text).filter(Boolean).join(`
240
+ `) ?? "", metadata = data.candidates?.[0]?.groundingMetadata, results = await resolveGroundingChunks(metadata?.groundingChunks, options.signal);
241
+ return !answer && results.length === 0 ? null : { answer, results };
242
+ } catch (err) {
243
+ let message = err instanceof Error ? err.message : String(err);
244
+ throw message.toLowerCase().includes("abort") ? activityMonitor.logComplete(activityId, 0) : activityMonitor.logError(activityId, message), err;
245
+ }
246
+ }
247
+ async function searchWithGeminiWeb(query, options = {}) {
248
+ let geminiWeb = await loadGeminiWeb(), cookies = await geminiWeb.isGeminiWebAvailable();
249
+ if (!cookies)
250
+ return null;
251
+ let prompt = buildSearchPrompt(query, options), activityId = activityMonitor.logStart({ type: "api", query });
252
+ try {
253
+ let text = await geminiWeb.queryWithCookies(prompt, cookies, {
254
+ model: "gemini-3-flash-preview",
255
+ signal: options.signal,
256
+ timeoutMs: 6e4
257
+ });
258
+ activityMonitor.logComplete(activityId, 200);
259
+ let results = extractSourceUrls(text);
260
+ return { answer: text, results };
261
+ } catch (err) {
262
+ let message = err instanceof Error ? err.message : String(err);
263
+ throw message.toLowerCase().includes("abort") ? activityMonitor.logComplete(activityId, 0) : activityMonitor.logError(activityId, message), err;
264
+ }
265
+ }
266
+ function buildSearchPrompt(query, options) {
267
+ let prompt = `Search the web and answer the following question. Include source URLs for your claims.
268
+ Format your response as:
269
+ 1. A direct answer to the question
270
+ 2. Cited sources as markdown links
271
+
272
+ Question: ${query}`;
273
+ if (options.recencyFilter && (prompt += `
274
+
275
+ Only include results from the ${{
276
+ day: "past 24 hours",
277
+ week: "past week",
278
+ month: "past month",
279
+ year: "past year"
280
+ }[options.recencyFilter]}.`), options.domainFilter?.length) {
281
+ let includes = options.domainFilter.filter((d) => !d.startsWith("-")), excludes = options.domainFilter.filter((d) => d.startsWith("-")).map((d) => d.slice(1));
282
+ includes.length && (prompt += `
283
+
284
+ Only cite sources from: ${includes.join(", ")}`), excludes.length && (prompt += `
285
+
286
+ Do not cite sources from: ${excludes.join(", ")}`);
287
+ }
288
+ return prompt;
289
+ }
290
+ function extractSourceUrls(markdown) {
291
+ let results = [], seen = /* @__PURE__ */ new Set(), linkRegex = /\[([^\]]+)\]\((https?:\/\/[^)]+)\)/g;
292
+ for (let match of markdown.matchAll(linkRegex)) {
293
+ let url = match[2];
294
+ seen.has(url) || (seen.add(url), results.push({ title: match[1], url, snippet: "" }));
295
+ }
296
+ return results;
297
+ }
298
+ async function resolveGroundingChunks(chunks, signal) {
299
+ if (!chunks?.length)
300
+ return [];
301
+ let results = [];
302
+ for (let chunk of chunks) {
303
+ if (!chunk.web)
304
+ continue;
305
+ let title = chunk.web.title || "", url = chunk.web.uri || "";
306
+ if (url.includes("vertexaisearch.cloud.google.com/grounding-api-redirect")) {
307
+ let resolved = await resolveRedirect(url, signal);
308
+ resolved && (url = resolved);
309
+ }
310
+ url && results.push({ title, url, snippet: "" });
311
+ }
312
+ return results;
313
+ }
314
+ async function resolveRedirect(proxyUrl, signal) {
315
+ try {
316
+ return (await fetch(proxyUrl, {
317
+ method: "HEAD",
318
+ redirect: "manual",
319
+ signal: AbortSignal.any([
320
+ AbortSignal.timeout(5e3),
321
+ ...signal ? [signal] : []
322
+ ])
323
+ })).headers.get("location") || null;
324
+ } catch {
325
+ return null;
326
+ }
327
+ }
328
+ export {
329
+ search
330
+ };
@@ -0,0 +1,103 @@
1
+ import { createRequire as __lunrRequire } from "node:module"; const require = __lunrRequire(import.meta.url);
2
+ import {
3
+ isGeminiWebAvailable,
4
+ queryWithCookies
5
+ } from "./chunk-XTHQ7XR7.js";
6
+ import "./chunk-DMMTJQMQ.js";
7
+ import {
8
+ DEFAULT_MODEL,
9
+ buildAuthHeaders,
10
+ buildKeyParam,
11
+ getApiKey,
12
+ getVersionedApiBase,
13
+ isGatewayConfigured
14
+ } from "./chunk-3WFAEVKS.js";
15
+ import {
16
+ extractHeadingTitle
17
+ } from "./chunk-WJVFOIB5.js";
18
+ import "./chunk-7NBZ5P7I.js";
19
+ import {
20
+ activityMonitor
21
+ } from "./chunk-DAPBPCBP.js";
22
+ import "./chunk-VRB2IYGG.js";
23
+ import "./chunk-BRJX2PRC.js";
24
+
25
+ // packages/coding-agent/dist/builtin-extensions/pi-web-access/gemini-url-context.js
26
+ var EXTRACTION_PROMPT = `Extract the complete readable content from this URL as clean markdown.
27
+ Include the page title, all text content, code blocks, and tables.
28
+ Do not summarize \u2014 extract the full content.
29
+
30
+ URL: `;
31
+ function shouldRethrow(err) {
32
+ return (err instanceof Error ? err.message : String(err)).startsWith("Failed to parse ");
33
+ }
34
+ async function extractWithUrlContext(url, signal) {
35
+ let apiKey = getApiKey();
36
+ if (!apiKey && !isGatewayConfigured())
37
+ return null;
38
+ let activityId = activityMonitor.logStart({ type: "api", query: `url_context: ${url}` });
39
+ try {
40
+ let model = DEFAULT_MODEL, body = {
41
+ contents: [{ role: "user", parts: [{ text: EXTRACTION_PROMPT + url }] }],
42
+ tools: [{ url_context: {} }]
43
+ }, res = await fetch(`${getVersionedApiBase()}/models/${model}:generateContent${buildKeyParam(apiKey)}`, {
44
+ method: "POST",
45
+ headers: { "Content-Type": "application/json", ...buildAuthHeaders() },
46
+ body: JSON.stringify(body),
47
+ signal: AbortSignal.any([
48
+ AbortSignal.timeout(6e4),
49
+ ...signal ? [signal] : []
50
+ ])
51
+ });
52
+ if (!res.ok)
53
+ return activityMonitor.logComplete(activityId, res.status), null;
54
+ let data = await res.json();
55
+ activityMonitor.logComplete(activityId, res.status);
56
+ let metadata = data.candidates?.[0]?.url_context_metadata;
57
+ if (metadata?.url_metadata?.length) {
58
+ let status = metadata.url_metadata[0].url_retrieval_status;
59
+ if (status === "URL_RETRIEVAL_STATUS_UNSAFE" || status === "URL_RETRIEVAL_STATUS_ERROR")
60
+ return null;
61
+ }
62
+ let content = data.candidates?.[0]?.content?.parts?.map((p) => p.text).filter(Boolean).join(`
63
+ `) ?? "";
64
+ if (!content || content.length < 50)
65
+ return null;
66
+ let title = extractTitleFromContent(content, url);
67
+ return { url, title, content, error: null };
68
+ } catch (err) {
69
+ if (shouldRethrow(err))
70
+ throw err;
71
+ let message = err instanceof Error ? err.message : String(err);
72
+ return message.toLowerCase().includes("abort") ? activityMonitor.logComplete(activityId, 0) : activityMonitor.logError(activityId, message), null;
73
+ }
74
+ }
75
+ async function extractWithGeminiWeb(url, signal) {
76
+ let cookies = await isGeminiWebAvailable();
77
+ if (!cookies)
78
+ return null;
79
+ let activityId = activityMonitor.logStart({ type: "api", query: `gemini_web: ${url}` });
80
+ try {
81
+ let text = await queryWithCookies(EXTRACTION_PROMPT + url, cookies, {
82
+ model: "gemini-3-flash-preview",
83
+ signal,
84
+ timeoutMs: 6e4
85
+ });
86
+ if (activityMonitor.logComplete(activityId, 200), !text || text.length < 50)
87
+ return null;
88
+ let title = extractTitleFromContent(text, url);
89
+ return { url, title, content: text, error: null };
90
+ } catch (err) {
91
+ if (shouldRethrow(err))
92
+ throw err;
93
+ let message = err instanceof Error ? err.message : String(err);
94
+ return message.toLowerCase().includes("abort") ? activityMonitor.logComplete(activityId, 0) : activityMonitor.logError(activityId, message), null;
95
+ }
96
+ }
97
+ function extractTitleFromContent(text, url) {
98
+ return extractHeadingTitle(text) ?? (new URL(url).pathname.split("/").pop() || url);
99
+ }
100
+ export {
101
+ extractWithGeminiWeb,
102
+ extractWithUrlContext
103
+ };
@@ -0,0 +1,14 @@
1
+ import { createRequire as __lunrRequire } from "node:module"; const require = __lunrRequire(import.meta.url);
2
+ import {
3
+ getActiveGoogleEmail,
4
+ isGeminiWebAvailable,
5
+ queryWithCookies
6
+ } from "./chunk-XTHQ7XR7.js";
7
+ import "./chunk-DMMTJQMQ.js";
8
+ import "./chunk-VRB2IYGG.js";
9
+ import "./chunk-BRJX2PRC.js";
10
+ export {
11
+ getActiveGoogleEmail,
12
+ isGeminiWebAvailable,
13
+ queryWithCookies
14
+ };