@humain/terminal 0.0.6 → 0.0.8

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 (493) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/README.md +17 -10
  3. package/dist/bundle/chunks/anthropic-messages-GDMGYAZB.js +6 -0
  4. package/dist/bundle/chunks/anthropic.js +75 -0
  5. package/dist/bundle/chunks/azure-openai-responses-ZN52D6YC.js +2 -0
  6. package/dist/bundle/chunks/bedrock-converse-stream.js +77 -0
  7. package/dist/bundle/chunks/chunk-3VI4HD7D.js +31 -0
  8. package/dist/bundle/chunks/chunk-6R7UI4IY.js +2 -0
  9. package/dist/bundle/chunks/chunk-72KO4OMP.js +2 -0
  10. package/dist/bundle/chunks/chunk-74NVHVNZ.js +16 -0
  11. package/dist/bundle/chunks/chunk-7DDKXS2Q.js +2 -0
  12. package/dist/bundle/chunks/chunk-ARF4OE6X.js +105 -0
  13. package/dist/bundle/chunks/chunk-BOW22LW6.js +42 -0
  14. package/dist/bundle/chunks/chunk-BZQ53VGE.js +70 -0
  15. package/dist/bundle/chunks/chunk-CBHC6EL7.js +133 -0
  16. package/dist/bundle/chunks/chunk-D7XAASZM.js +4 -0
  17. package/dist/bundle/chunks/chunk-ECWELYBH.js +17 -0
  18. package/dist/bundle/chunks/chunk-GMWCTUPB.js +2 -0
  19. package/dist/bundle/chunks/chunk-H2O6VOXT.js +11 -0
  20. package/dist/bundle/chunks/chunk-JUUC5AZY.js +2 -0
  21. package/dist/bundle/chunks/chunk-JXWJOIH4.js +2 -0
  22. package/dist/bundle/chunks/chunk-L2ZPNLYD.js +2 -0
  23. package/dist/bundle/chunks/chunk-LVVZS2NO.js +12 -0
  24. package/dist/bundle/chunks/chunk-MA4UUCYX.js +18 -0
  25. package/dist/bundle/chunks/chunk-MMFBCF6F.js +5986 -0
  26. package/dist/bundle/chunks/chunk-PGXDEOVV.js +2 -0
  27. package/dist/bundle/chunks/chunk-PJACZCIR.js +2 -0
  28. package/dist/bundle/chunks/chunk-PRRNXB7S.js +2 -0
  29. package/dist/bundle/chunks/chunk-PSKDLDLZ.js +44 -0
  30. package/dist/bundle/chunks/chunk-SGTGQNNP.js +4 -0
  31. package/dist/bundle/chunks/chunk-TEPMHNKQ.js +2 -0
  32. package/dist/bundle/chunks/chunk-TXBQIIIO.js +2 -0
  33. package/dist/bundle/chunks/chunk-WJZ4KLGL.js +2 -0
  34. package/dist/bundle/chunks/chunk-XNGRGP62.js +2 -0
  35. package/dist/bundle/chunks/dist-BXEVYJIO.js +7 -0
  36. package/dist/bundle/chunks/es-P2KNSZYR.js +9 -0
  37. package/dist/bundle/chunks/es5-FGTJ7ZFW.js +2 -0
  38. package/dist/bundle/chunks/event-streams-JOSQQSII.js +2 -0
  39. package/dist/bundle/chunks/extract-2L7ZVN7F.js +106 -0
  40. package/dist/bundle/chunks/github-copilot.js +2 -0
  41. package/dist/bundle/chunks/google-generative-ai-FF7M7XHT.js +2 -0
  42. package/dist/bundle/chunks/google-vertex-YMUBFRBA.js +2 -0
  43. package/dist/bundle/chunks/https-proxy-agent-562J2I52.js +2 -0
  44. package/dist/bundle/chunks/image-resize-worker.js +2 -0
  45. package/dist/bundle/chunks/kimi-coding.js +2 -0
  46. package/dist/bundle/chunks/mistral-conversations-O4M7IQML.js +5 -0
  47. package/dist/bundle/chunks/multipart-parser-FMGQ7342.js +3 -0
  48. package/dist/bundle/chunks/node-XY3CBY3C.js +294 -0
  49. package/dist/bundle/chunks/node-ZHY4LHC7.js +15 -0
  50. package/dist/bundle/chunks/openai-codex-responses-HRVCDY54.js +8 -0
  51. package/dist/bundle/chunks/openai-codex.js +75 -0
  52. package/dist/bundle/chunks/openai-completions-L4AHDQ5D.js +7 -0
  53. package/dist/bundle/chunks/openai-responses-4MWLJHIK.js +2 -0
  54. package/dist/bundle/chunks/openrouter-images-Y2PCWAQH.js +2 -0
  55. package/dist/bundle/chunks/openrouter.js +75 -0
  56. package/dist/bundle/chunks/pdfjs-UKQT3OWY.js +107 -0
  57. package/dist/bundle/chunks/pi-messages-57K43J6J.js +8 -0
  58. package/dist/bundle/chunks/promise-J5TGSM32.js +2 -0
  59. package/dist/bundle/chunks/radius.js +75 -0
  60. package/dist/bundle/chunks/src-QKGKDFSU.js +4 -0
  61. package/dist/bundle/chunks/undici-D6ABF53Q.js +2 -0
  62. package/dist/bundle/chunks/webapi-AFS5FDJJ.js +5 -0
  63. package/dist/bundle/chunks/xai.js +2 -0
  64. package/dist/bundle/cli.js +3 -0
  65. package/dist/bundle/client.js +2 -0
  66. package/dist/bundle/index.js +2 -0
  67. package/dist/bundle/rpc-entry.js +3 -0
  68. package/dist/cli/args.d.ts +1 -0
  69. package/dist/cli/args.d.ts.map +1 -1
  70. package/dist/cli/args.js +29 -9
  71. package/dist/cli/args.js.map +1 -1
  72. package/dist/cli/file-processor.d.ts.map +1 -1
  73. package/dist/cli/file-processor.js +2 -1
  74. package/dist/cli/file-processor.js.map +1 -1
  75. package/dist/cli/startup-ui.d.ts.map +1 -1
  76. package/dist/cli/startup-ui.js +2 -1
  77. package/dist/cli/startup-ui.js.map +1 -1
  78. package/dist/config.d.ts +1 -0
  79. package/dist/config.d.ts.map +1 -1
  80. package/dist/config.js +19 -11
  81. package/dist/config.js.map +1 -1
  82. package/dist/core/agent-session.d.ts +62 -15
  83. package/dist/core/agent-session.d.ts.map +1 -1
  84. package/dist/core/agent-session.js +240 -104
  85. package/dist/core/agent-session.js.map +1 -1
  86. package/dist/core/auth-storage.d.ts.map +1 -1
  87. package/dist/core/auth-storage.js +6 -7
  88. package/dist/core/auth-storage.js.map +1 -1
  89. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  90. package/dist/core/compaction/branch-summarization.js +7 -3
  91. package/dist/core/compaction/branch-summarization.js.map +1 -1
  92. package/dist/core/compaction/compaction.d.ts +9 -3
  93. package/dist/core/compaction/compaction.d.ts.map +1 -1
  94. package/dist/core/compaction/compaction.js +59 -36
  95. package/dist/core/compaction/compaction.js.map +1 -1
  96. package/dist/core/defaults.d.ts +1 -0
  97. package/dist/core/defaults.d.ts.map +1 -1
  98. package/dist/core/defaults.js +9 -0
  99. package/dist/core/defaults.js.map +1 -1
  100. package/dist/core/extensions/index.d.ts +2 -2
  101. package/dist/core/extensions/index.d.ts.map +1 -1
  102. package/dist/core/extensions/index.js +1 -1
  103. package/dist/core/extensions/index.js.map +1 -1
  104. package/dist/core/extensions/loader.d.ts.map +1 -1
  105. package/dist/core/extensions/loader.js +115 -48
  106. package/dist/core/extensions/loader.js.map +1 -1
  107. package/dist/core/extensions/runner.d.ts +5 -0
  108. package/dist/core/extensions/runner.d.ts.map +1 -1
  109. package/dist/core/extensions/runner.js +44 -1
  110. package/dist/core/extensions/runner.js.map +1 -1
  111. package/dist/core/extensions/types.d.ts +56 -10
  112. package/dist/core/extensions/types.d.ts.map +1 -1
  113. package/dist/core/extensions/types.js +3 -0
  114. package/dist/core/extensions/types.js.map +1 -1
  115. package/dist/core/footer-data-provider.d.ts +1 -1
  116. package/dist/core/footer-data-provider.js +1 -1
  117. package/dist/core/footer-data-provider.js.map +1 -1
  118. package/dist/core/keybindings.d.ts +20 -19
  119. package/dist/core/keybindings.d.ts.map +1 -1
  120. package/dist/core/keybindings.js +26 -5
  121. package/dist/core/keybindings.js.map +1 -1
  122. package/dist/core/model-config.d.ts +5 -0
  123. package/dist/core/model-config.d.ts.map +1 -1
  124. package/dist/core/model-config.js +3 -1
  125. package/dist/core/model-config.js.map +1 -1
  126. package/dist/core/model-resolver.d.ts +1 -0
  127. package/dist/core/model-resolver.d.ts.map +1 -1
  128. package/dist/core/model-resolver.js +14 -8
  129. package/dist/core/model-resolver.js.map +1 -1
  130. package/dist/core/models-store.d.ts.map +1 -1
  131. package/dist/core/models-store.js +2 -1
  132. package/dist/core/models-store.js.map +1 -1
  133. package/dist/core/package-manager.d.ts.map +1 -1
  134. package/dist/core/package-manager.js +22 -14
  135. package/dist/core/package-manager.js.map +1 -1
  136. package/dist/core/pi-manifest.d.ts.map +1 -1
  137. package/dist/core/pi-manifest.js +2 -1
  138. package/dist/core/pi-manifest.js.map +1 -1
  139. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  140. package/dist/core/remote-catalog-provider.js +2 -1
  141. package/dist/core/remote-catalog-provider.js.map +1 -1
  142. package/dist/core/resource-loader.d.ts.map +1 -1
  143. package/dist/core/resource-loader.js +3 -2
  144. package/dist/core/resource-loader.js.map +1 -1
  145. package/dist/core/sdk.d.ts +2 -2
  146. package/dist/core/sdk.d.ts.map +1 -1
  147. package/dist/core/sdk.js +10 -3
  148. package/dist/core/sdk.js.map +1 -1
  149. package/dist/core/session-export.d.ts +4 -0
  150. package/dist/core/session-export.d.ts.map +1 -0
  151. package/dist/core/session-export.js +32 -0
  152. package/dist/core/session-export.js.map +1 -0
  153. package/dist/core/session-manager.d.ts.map +1 -1
  154. package/dist/core/session-manager.js +6 -3
  155. package/dist/core/session-manager.js.map +1 -1
  156. package/dist/core/settings-diagnostics.d.ts +9 -0
  157. package/dist/core/settings-diagnostics.d.ts.map +1 -0
  158. package/dist/core/settings-diagnostics.js +21 -0
  159. package/dist/core/settings-diagnostics.js.map +1 -0
  160. package/dist/core/settings-manager.d.ts +17 -1
  161. package/dist/core/settings-manager.d.ts.map +1 -1
  162. package/dist/core/settings-manager.js +68 -10
  163. package/dist/core/settings-manager.js.map +1 -1
  164. package/dist/core/skills.d.ts.map +1 -1
  165. package/dist/core/skills.js +51 -33
  166. package/dist/core/skills.js.map +1 -1
  167. package/dist/core/slash-commands.d.ts.map +1 -1
  168. package/dist/core/slash-commands.js +2 -1
  169. package/dist/core/slash-commands.js.map +1 -1
  170. package/dist/core/system-prompt.d.ts.map +1 -1
  171. package/dist/core/system-prompt.js +11 -2
  172. package/dist/core/system-prompt.js.map +1 -1
  173. package/dist/core/tools/bash.d.ts +16 -3
  174. package/dist/core/tools/bash.d.ts.map +1 -1
  175. package/dist/core/tools/bash.js +62 -29
  176. package/dist/core/tools/bash.js.map +1 -1
  177. package/dist/core/tools/edit-diff.d.ts +0 -5
  178. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  179. package/dist/core/tools/edit-diff.js +2 -5
  180. package/dist/core/tools/edit-diff.js.map +1 -1
  181. package/dist/core/tools/edit.d.ts.map +1 -1
  182. package/dist/core/tools/edit.js +20 -4
  183. package/dist/core/tools/edit.js.map +1 -1
  184. package/dist/core/tools/index.d.ts +4 -1
  185. package/dist/core/tools/index.d.ts.map +1 -1
  186. package/dist/core/tools/index.js +19 -1
  187. package/dist/core/tools/index.js.map +1 -1
  188. package/dist/core/tools/powershell.d.ts +16 -0
  189. package/dist/core/tools/powershell.d.ts.map +1 -0
  190. package/dist/core/tools/powershell.js +39 -0
  191. package/dist/core/tools/powershell.js.map +1 -0
  192. package/dist/core/tools/subagent.d.ts.map +1 -1
  193. package/dist/core/tools/subagent.js +4 -1
  194. package/dist/core/tools/subagent.js.map +1 -1
  195. package/dist/core/trust-manager.d.ts.map +1 -1
  196. package/dist/core/trust-manager.js +2 -1
  197. package/dist/core/trust-manager.js.map +1 -1
  198. package/dist/extensions/llama/client.d.ts +6 -0
  199. package/dist/extensions/llama/client.d.ts.map +1 -1
  200. package/dist/extensions/llama/client.js +7 -0
  201. package/dist/extensions/llama/client.js.map +1 -1
  202. package/dist/extensions/llama/index.d.ts.map +1 -1
  203. package/dist/extensions/llama/index.js +2 -0
  204. package/dist/extensions/llama/index.js.map +1 -1
  205. package/dist/extensions/llama/provider.d.ts +3 -1
  206. package/dist/extensions/llama/provider.d.ts.map +1 -1
  207. package/dist/extensions/llama/provider.js +29 -4
  208. package/dist/extensions/llama/provider.js.map +1 -1
  209. package/dist/humain/agent-execution-protocol.d.ts +1 -217
  210. package/dist/humain/agent-execution-protocol.d.ts.map +1 -1
  211. package/dist/humain/agent-execution-protocol.js +1 -203
  212. package/dist/humain/agent-execution-protocol.js.map +1 -1
  213. package/dist/humain/bedrock-provider/vendor/index.bundle.mjs +107 -16
  214. package/dist/humain/mcp-adapter/vendor/CHANGELOG.md +82 -0
  215. package/dist/humain/mcp-adapter/vendor/README.md +47 -15
  216. package/dist/humain/mcp-adapter/vendor/cli.js +4 -4
  217. package/dist/humain/mcp-adapter/vendor/commands.ts +5 -3
  218. package/dist/humain/mcp-adapter/vendor/config.ts +46 -5
  219. package/dist/humain/mcp-adapter/vendor/direct-tools.ts +103 -92
  220. package/dist/humain/mcp-adapter/vendor/dist/agent-dir.d.ts +10 -0
  221. package/dist/humain/mcp-adapter/vendor/dist/agent-dir.js +63 -0
  222. package/dist/humain/mcp-adapter/vendor/dist/agent-dir.js.map +1 -0
  223. package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.d.ts +8 -0
  224. package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.js +356 -0
  225. package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.js.map +1 -0
  226. package/dist/humain/mcp-adapter/vendor/dist/config.d.ts +123 -0
  227. package/dist/humain/mcp-adapter/vendor/dist/config.js +1088 -0
  228. package/dist/humain/mcp-adapter/vendor/dist/config.js.map +1 -0
  229. package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.d.ts +24 -0
  230. package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.js +336 -0
  231. package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.js.map +1 -0
  232. package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.d.ts +19 -0
  233. package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.js +319 -0
  234. package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.js.map +1 -0
  235. package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.d.ts +2 -0
  236. package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.js +156 -0
  237. package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.js.map +1 -0
  238. package/dist/humain/mcp-adapter/vendor/dist/resource-tools.d.ts +1 -0
  239. package/dist/humain/mcp-adapter/vendor/dist/resource-tools.js +15 -0
  240. package/dist/humain/mcp-adapter/vendor/dist/resource-tools.js.map +1 -0
  241. package/dist/humain/mcp-adapter/vendor/dist/types.d.ts +566 -0
  242. package/dist/humain/mcp-adapter/vendor/dist/types.js +287 -0
  243. package/dist/humain/mcp-adapter/vendor/dist/types.js.map +1 -0
  244. package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.d.ts +6 -0
  245. package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.js +37 -0
  246. package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.js.map +1 -0
  247. package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.d.ts +104 -0
  248. package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.js +59 -0
  249. package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.js.map +1 -0
  250. package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.d.ts +4 -0
  251. package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.js +27 -0
  252. package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.js.map +1 -0
  253. package/dist/humain/mcp-adapter/vendor/dist/utils.d.ts +32 -0
  254. package/dist/humain/mcp-adapter/vendor/dist/utils.js +338 -0
  255. package/dist/humain/mcp-adapter/vendor/dist/utils.js.map +1 -0
  256. package/dist/humain/mcp-adapter/vendor/failure-backoff.ts +23 -0
  257. package/dist/humain/mcp-adapter/vendor/index.bundle.mjs +4870 -3878
  258. package/dist/humain/mcp-adapter/vendor/index.ts +294 -88
  259. package/dist/humain/mcp-adapter/vendor/init.ts +41 -30
  260. package/dist/humain/mcp-adapter/vendor/lifecycle.ts +16 -8
  261. package/dist/humain/mcp-adapter/vendor/mcp-auth-flow.ts +124 -32
  262. package/dist/humain/mcp-adapter/vendor/mcp-bearer-store.ts +0 -2
  263. package/dist/humain/mcp-adapter/vendor/mcp-code.ts +2 -0
  264. package/dist/humain/mcp-adapter/vendor/mcp-oauth-provider.ts +155 -16
  265. package/dist/humain/mcp-adapter/vendor/mcp-output-guard.ts +95 -7
  266. package/dist/humain/mcp-adapter/vendor/mcp-probe.ts +18 -4
  267. package/dist/humain/mcp-adapter/vendor/mcp-references.ts +376 -0
  268. package/dist/humain/mcp-adapter/vendor/mcp-status.ts +8 -19
  269. package/dist/humain/mcp-adapter/vendor/metadata-cache.ts +20 -12
  270. package/dist/humain/mcp-adapter/vendor/namespace-tools.ts +276 -0
  271. package/dist/humain/mcp-adapter/vendor/package.json +26 -8
  272. package/dist/humain/mcp-adapter/vendor/proxy-modes.ts +128 -32
  273. package/dist/humain/mcp-adapter/vendor/request-headers-command.ts +1 -1
  274. package/dist/humain/mcp-adapter/vendor/search-ranking.ts +2 -0
  275. package/dist/humain/mcp-adapter/vendor/server-manager.ts +69 -12
  276. package/dist/humain/mcp-adapter/vendor/state.ts +1 -3
  277. package/dist/humain/mcp-adapter/vendor/tool-result-renderer.ts +16 -2
  278. package/dist/humain/mcp-adapter/vendor/types.ts +51 -2
  279. package/dist/humain/mcp-adapter/vendor/ui-server.ts +3 -19
  280. package/dist/humain/mcp-adapter/vendor/ui-session.ts +2 -1
  281. package/dist/humain/mcp-adapter/vendor/utils.ts +21 -19
  282. package/dist/humain/mcp-adapter.d.ts.map +1 -1
  283. package/dist/humain/mcp-adapter.js +4 -0
  284. package/dist/humain/mcp-adapter.js.map +1 -1
  285. package/dist/humain/web-access/vendor/chrome-cookies.d.ts +14 -0
  286. package/dist/humain/web-access/vendor/chrome-cookies.d.ts.map +1 -1
  287. package/dist/humain/web-access/vendor/chrome-cookies.js +85 -33
  288. package/dist/humain/web-access/vendor/chrome-cookies.js.map +1 -1
  289. package/dist/humain/web-access/vendor/credential-source.d.ts +1 -1
  290. package/dist/humain/web-access/vendor/credential-source.d.ts.map +1 -1
  291. package/dist/humain/web-access/vendor/credential-source.js +3 -1
  292. package/dist/humain/web-access/vendor/credential-source.js.map +1 -1
  293. package/dist/humain/web-access/vendor/curator-page.d.ts +2 -29
  294. package/dist/humain/web-access/vendor/curator-page.d.ts.map +1 -1
  295. package/dist/humain/web-access/vendor/curator-page.js +10 -1
  296. package/dist/humain/web-access/vendor/curator-page.js.map +1 -1
  297. package/dist/humain/web-access/vendor/curator-server.d.ts +2 -29
  298. package/dist/humain/web-access/vendor/curator-server.d.ts.map +1 -1
  299. package/dist/humain/web-access/vendor/curator-server.js +4 -0
  300. package/dist/humain/web-access/vendor/curator-server.js.map +1 -1
  301. package/dist/humain/web-access/vendor/extract.d.ts +11 -0
  302. package/dist/humain/web-access/vendor/extract.d.ts.map +1 -1
  303. package/dist/humain/web-access/vendor/extract.js +163 -20
  304. package/dist/humain/web-access/vendor/extract.js.map +1 -1
  305. package/dist/humain/web-access/vendor/fetch-params.d.ts +2 -0
  306. package/dist/humain/web-access/vendor/fetch-params.d.ts.map +1 -1
  307. package/dist/humain/web-access/vendor/fetch-params.js +11 -0
  308. package/dist/humain/web-access/vendor/fetch-params.js.map +1 -1
  309. package/dist/humain/web-access/vendor/gemini-adc.d.ts +10 -0
  310. package/dist/humain/web-access/vendor/gemini-adc.d.ts.map +1 -0
  311. package/dist/humain/web-access/vendor/gemini-adc.js +268 -0
  312. package/dist/humain/web-access/vendor/gemini-adc.js.map +1 -0
  313. package/dist/humain/web-access/vendor/gemini-api.d.ts +7 -1
  314. package/dist/humain/web-access/vendor/gemini-api.d.ts.map +1 -1
  315. package/dist/humain/web-access/vendor/gemini-api.js +51 -15
  316. package/dist/humain/web-access/vendor/gemini-api.js.map +1 -1
  317. package/dist/humain/web-access/vendor/gemini-search.d.ts +9 -4
  318. package/dist/humain/web-access/vendor/gemini-search.d.ts.map +1 -1
  319. package/dist/humain/web-access/vendor/gemini-search.js +63 -21
  320. package/dist/humain/web-access/vendor/gemini-search.js.map +1 -1
  321. package/dist/humain/web-access/vendor/gemini-url-context.d.ts.map +1 -1
  322. package/dist/humain/web-access/vendor/gemini-url-context.js +3 -2
  323. package/dist/humain/web-access/vendor/gemini-url-context.js.map +1 -1
  324. package/dist/humain/web-access/vendor/gemini-web-config.d.ts +8 -1
  325. package/dist/humain/web-access/vendor/gemini-web-config.d.ts.map +1 -1
  326. package/dist/humain/web-access/vendor/gemini-web-config.js +49 -4
  327. package/dist/humain/web-access/vendor/gemini-web-config.js.map +1 -1
  328. package/dist/humain/web-access/vendor/gemini-web.d.ts +2 -1
  329. package/dist/humain/web-access/vendor/gemini-web.d.ts.map +1 -1
  330. package/dist/humain/web-access/vendor/gemini-web.js +8 -3
  331. package/dist/humain/web-access/vendor/gemini-web.js.map +1 -1
  332. package/dist/humain/web-access/vendor/github-api.d.ts +1 -1
  333. package/dist/humain/web-access/vendor/github-api.d.ts.map +1 -1
  334. package/dist/humain/web-access/vendor/github-api.js +6 -4
  335. package/dist/humain/web-access/vendor/github-api.js.map +1 -1
  336. package/dist/humain/web-access/vendor/github-extract.d.ts.map +1 -1
  337. package/dist/humain/web-access/vendor/github-extract.js +50 -3
  338. package/dist/humain/web-access/vendor/github-extract.js.map +1 -1
  339. package/dist/humain/web-access/vendor/github-issue-pr.d.ts +27 -0
  340. package/dist/humain/web-access/vendor/github-issue-pr.d.ts.map +1 -0
  341. package/dist/humain/web-access/vendor/github-issue-pr.js +701 -0
  342. package/dist/humain/web-access/vendor/github-issue-pr.js.map +1 -0
  343. package/dist/humain/web-access/vendor/index.d.ts +3 -31
  344. package/dist/humain/web-access/vendor/index.d.ts.map +1 -1
  345. package/dist/humain/web-access/vendor/index.js +643 -530
  346. package/dist/humain/web-access/vendor/index.js.map +1 -1
  347. package/dist/humain/web-access/vendor/kimi-search.d.ts +5 -0
  348. package/dist/humain/web-access/vendor/kimi-search.d.ts.map +1 -0
  349. package/dist/humain/web-access/vendor/kimi-search.js +228 -0
  350. package/dist/humain/web-access/vendor/kimi-search.js.map +1 -0
  351. package/dist/humain/web-access/vendor/openai-search.d.ts +3 -0
  352. package/dist/humain/web-access/vendor/openai-search.d.ts.map +1 -1
  353. package/dist/humain/web-access/vendor/openai-search.js +89 -16
  354. package/dist/humain/web-access/vendor/openai-search.js.map +1 -1
  355. package/dist/humain/web-access/vendor/page-query.d.ts.map +1 -1
  356. package/dist/humain/web-access/vendor/page-query.js +56 -8
  357. package/dist/humain/web-access/vendor/page-query.js.map +1 -1
  358. package/dist/humain/web-access/vendor/ssrf-protection.js +6 -1
  359. package/dist/humain/web-access/vendor/ssrf-protection.js.map +1 -1
  360. package/dist/humain/web-access/vendor/utils.d.ts +12 -0
  361. package/dist/humain/web-access/vendor/utils.d.ts.map +1 -1
  362. package/dist/humain/web-access/vendor/utils.js +343 -1
  363. package/dist/humain/web-access/vendor/utils.js.map +1 -1
  364. package/dist/humain/web-access/vendor/xcrawl.d.ts +4 -0
  365. package/dist/humain/web-access/vendor/xcrawl.d.ts.map +1 -0
  366. package/dist/humain/web-access/vendor/xcrawl.js +251 -0
  367. package/dist/humain/web-access/vendor/xcrawl.js.map +1 -0
  368. package/dist/humain/web-access/vendor/youtube-extract.js +2 -2
  369. package/dist/humain/web-access/vendor/youtube-extract.js.map +1 -1
  370. package/dist/index.d.ts +6 -5
  371. package/dist/index.d.ts.map +1 -1
  372. package/dist/index.js +5 -4
  373. package/dist/index.js.map +1 -1
  374. package/dist/main.d.ts +3 -0
  375. package/dist/main.d.ts.map +1 -1
  376. package/dist/main.js +19 -14
  377. package/dist/main.js.map +1 -1
  378. package/dist/migrations.d.ts.map +1 -1
  379. package/dist/migrations.js +4 -3
  380. package/dist/migrations.js.map +1 -1
  381. package/dist/modes/interactive/components/model-selector.d.ts +9 -3
  382. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  383. package/dist/modes/interactive/components/model-selector.js +53 -10
  384. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  385. package/dist/modes/interactive/components/settings-selector.d.ts +9 -2
  386. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  387. package/dist/modes/interactive/components/settings-selector.js +128 -55
  388. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  389. package/dist/modes/interactive/components/settings-submenu.d.ts +72 -0
  390. package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -0
  391. package/dist/modes/interactive/components/settings-submenu.js +151 -0
  392. package/dist/modes/interactive/components/settings-submenu.js.map +1 -0
  393. package/dist/modes/interactive/components/thinking-selector.d.ts +15 -3
  394. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  395. package/dist/modes/interactive/components/thinking-selector.js +68 -17
  396. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  397. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  398. package/dist/modes/interactive/external-editor.js +2 -1
  399. package/dist/modes/interactive/external-editor.js.map +1 -1
  400. package/dist/modes/interactive/interactive-mode.d.ts +15 -0
  401. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  402. package/dist/modes/interactive/interactive-mode.js +224 -130
  403. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  404. package/dist/modes/interactive/session-share.d.ts +16 -0
  405. package/dist/modes/interactive/session-share.d.ts.map +1 -0
  406. package/dist/modes/interactive/session-share.js +188 -0
  407. package/dist/modes/interactive/session-share.js.map +1 -0
  408. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  409. package/dist/modes/interactive/theme/theme.js +6 -5
  410. package/dist/modes/interactive/theme/theme.js.map +1 -1
  411. package/dist/modes/json-event.d.ts +16 -13
  412. package/dist/modes/json-event.d.ts.map +1 -1
  413. package/dist/modes/json-event.js +20 -6
  414. package/dist/modes/json-event.js.map +1 -1
  415. package/dist/modes/rpc/rpc-client.d.ts +7 -0
  416. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  417. package/dist/modes/rpc/rpc-client.js +10 -2
  418. package/dist/modes/rpc/rpc-client.js.map +1 -1
  419. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  420. package/dist/modes/rpc/rpc-mode.js +3 -0
  421. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  422. package/dist/modes/rpc/rpc-types.d.ts +14 -7
  423. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  424. package/dist/modes/rpc/rpc-types.js.map +1 -1
  425. package/dist/package-manager-cli.d.ts +1 -0
  426. package/dist/package-manager-cli.d.ts.map +1 -1
  427. package/dist/package-manager-cli.js +189 -3
  428. package/dist/package-manager-cli.js.map +1 -1
  429. package/dist/utils/changelog.d.ts +1 -1
  430. package/dist/utils/changelog.d.ts.map +1 -1
  431. package/dist/utils/changelog.js +12 -2
  432. package/dist/utils/changelog.js.map +1 -1
  433. package/dist/utils/frontmatter.d.ts.map +1 -1
  434. package/dist/utils/frontmatter.js +2 -1
  435. package/dist/utils/frontmatter.js.map +1 -1
  436. package/dist/utils/management-http.d.ts +5 -3
  437. package/dist/utils/management-http.d.ts.map +1 -1
  438. package/dist/utils/management-http.js +14 -10
  439. package/dist/utils/management-http.js.map +1 -1
  440. package/dist/utils/shell.d.ts +3 -0
  441. package/dist/utils/shell.d.ts.map +1 -1
  442. package/dist/utils/shell.js +23 -9
  443. package/dist/utils/shell.js.map +1 -1
  444. package/dist/utils/syntax-highlight.d.ts +1 -0
  445. package/dist/utils/syntax-highlight.d.ts.map +1 -1
  446. package/dist/utils/syntax-highlight.js +64 -1
  447. package/dist/utils/syntax-highlight.js.map +1 -1
  448. package/dist/utils/text.d.ts +8 -0
  449. package/dist/utils/text.d.ts.map +1 -0
  450. package/dist/utils/text.js +9 -0
  451. package/dist/utils/text.js.map +1 -0
  452. package/dist/utils/version-check.js +4 -4
  453. package/dist/utils/version-check.js.map +1 -1
  454. package/docs/compaction.md +17 -0
  455. package/docs/custom-provider.md +12 -9
  456. package/docs/environment-variables.md +11 -8
  457. package/docs/extensions.md +35 -7
  458. package/docs/json.md +7 -2
  459. package/docs/keybindings.md +9 -9
  460. package/docs/llama-cpp.md +2 -0
  461. package/docs/models.md +8 -2
  462. package/docs/packages.md +2 -2
  463. package/docs/quickstart.md +1 -1
  464. package/docs/rpc.md +32 -3
  465. package/docs/sdk.md +7 -2
  466. package/docs/settings.md +23 -7
  467. package/docs/skills.md +3 -2
  468. package/docs/terminal-setup.md +20 -0
  469. package/docs/usage.md +14 -10
  470. package/docs/windows.md +15 -1
  471. package/examples/extensions/border-status-editor.ts +1 -1
  472. package/examples/extensions/custom-provider-anthropic/package-lock.json +70 -8
  473. package/examples/extensions/custom-provider-anthropic/package.json +2 -2
  474. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  475. package/examples/extensions/git-checkpoint.ts +2 -2
  476. package/examples/extensions/gondolin/package-lock.json +2 -2
  477. package/examples/extensions/gondolin/package.json +1 -1
  478. package/examples/extensions/notify.ts +3 -1
  479. package/examples/extensions/sandbox/package-lock.json +14 -40
  480. package/examples/extensions/sandbox/package.json +2 -2
  481. package/examples/extensions/titlebar-spinner.ts +1 -1
  482. package/examples/extensions/with-deps/package-lock.json +4 -4
  483. package/examples/extensions/with-deps/package.json +1 -1
  484. package/examples/rpc-extension-ui.ts +1 -1
  485. package/examples/sdk/06-extensions.ts +1 -1
  486. package/examples/sdk/README.md +1 -1
  487. package/npm-shrinkwrap.json +293 -221
  488. package/package.json +21 -18
  489. package/src/humain/mcp-adapter/UPSTREAM.md +15 -5
  490. package/src/humain/mcp-adapter/upstream.json +4 -3
  491. package/src/humain/mcp-adapter/vendor/CHANGELOG.md +82 -0
  492. package/src/humain/web-access/UPSTREAM.md +1 -1
  493. package/src/humain/web-access/upstream.json +6 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-issue-pr.js","sourceRoot":"","sources":["../../../../src/humain/web-access/vendor/github-issue-pr.ts"],"names":[],"mappings":"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","sourcesContent":["import { execFile } from \"node:child_process\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport type { ExtractedContent, ExtractOptions } from \"./extract.ts\";\nimport { checkGhAvailable, showGhHint } from \"./github-api.ts\";\nimport { fetchRemoteUrl, loadFetchContentDomainPolicy, loadSsrfConfig } from \"./ssrf-protection.ts\";\nimport { getWebSearchConfigPath } from \"./utils.ts\";\n\nconst CONFIG_PATH = getWebSearchConfigPath();\nconst GH_TIMEOUT_MS = 10_000;\nconst GH_TOTAL_TIMEOUT_MS = 20_000;\nconst MAX_DOC_CHARS = 150_000;\nconst BODY_INLINE_CHARS = 4_000;\nconst COMMENT_INLINE_CHARS = 700;\nconst MAX_INLINE_COMMENTS = 15;\nconst MAX_INLINE_REVIEWS = 10;\nconst MAX_INLINE_CHECKS = 15;\nconst MAX_INLINE_FILES = 50;\nconst MAX_INLINE_COMMITS = 20;\nconst MAX_INLINE_REVIEW_THREADS = 30;\nconst REST_HEADERS = { \"Accept\": \"application/vnd.github+json\", \"User-Agent\": \"pi-web-access\" };\nconst PR_SUBPATHS = new Set([\"files\", \"commits\", \"checks\", \"conversation\"]);\n\nconst PR_FIELDS = [\n\t\"title\", \"number\", \"state\", \"isDraft\", \"author\", \"baseRefName\", \"headRefName\", \"headRepositoryOwner\",\n\t\"createdAt\", \"mergedAt\", \"closedAt\", \"labels\", \"milestone\", \"additions\", \"deletions\", \"changedFiles\",\n\t\"files\", \"commits\", \"reviews\", \"statusCheckRollup\", \"comments\", \"body\", \"closingIssuesReferences\", \"url\",\n];\nconst PR_CORE_FIELDS = [\n\t\"title\", \"number\", \"state\", \"isDraft\", \"author\", \"baseRefName\", \"headRefName\", \"headRepositoryOwner\",\n\t\"createdAt\", \"mergedAt\", \"closedAt\", \"labels\", \"milestone\", \"additions\", \"deletions\", \"changedFiles\",\n\t\"files\", \"commits\", \"reviews\", \"comments\", \"body\", \"url\",\n];\nconst ISSUE_FIELDS = [\n\t\"title\", \"number\", \"state\", \"stateReason\", \"author\", \"createdAt\", \"closedAt\", \"labels\", \"assignees\", \"milestone\",\n\t\"comments\", \"body\", \"closedByPullRequestsReferences\", \"url\",\n];\nconst ISSUE_CORE_FIELDS = [\"title\", \"number\", \"state\", \"author\", \"createdAt\", \"closedAt\", \"labels\", \"assignees\", \"milestone\", \"comments\", \"body\", \"url\"];\n\ntype Kind = \"pull\" | \"issue\";\n\nexport interface GitHubIssuePrUrlInfo {\n\towner: string;\n\trepo: string;\n\tkind: Kind;\n\tnumber: number;\n\tanchor?: string;\n}\n\ninterface GitHubPrIssueConfig {\n\tenabled: boolean;\n}\n\ninterface GhResult {\n\tok: boolean;\n\tstdout: string;\n\tstderr: string;\n\tcode: number | null;\n\terror?: string;\n}\n\ninterface RenderData {\n\turl: string;\n\towner: string;\n\trepo: string;\n\tkind: Kind;\n\tnumber: number;\n\tanchor?: string;\n\tview: Record<string, unknown>;\n\treviewThreads: Record<string, unknown>[];\n\treviewThreadsBounded?: boolean;\n\treviewThreadsUnavailable?: boolean;\n\tfallbackNotes: string[];\n}\n\nlet cachedConfig: GitHubPrIssueConfig | null = null;\n\nfunction loadConfig(): GitHubPrIssueConfig {\n\tif (cachedConfig) return cachedConfig;\n\tconst defaults = { enabled: true };\n\tif (!existsSync(CONFIG_PATH)) {\n\t\tcachedConfig = defaults;\n\t\treturn cachedConfig;\n\t}\n\tlet parsed: unknown;\n\ttry {\n\t\tparsed = JSON.parse(readFileSync(CONFIG_PATH, \"utf-8\"));\n\t} catch (err) {\n\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\tthrow new Error(`Failed to parse ${CONFIG_PATH}: ${message}`);\n\t}\n\tconst root = parsed && typeof parsed === \"object\" && !Array.isArray(parsed) ? parsed as Record<string, unknown> : {};\n\tconst value = root.githubPrIssue;\n\tif (value !== undefined && (typeof value !== \"object\" || value === null || Array.isArray(value))) {\n\t\tthrow new Error(`githubPrIssue in ${CONFIG_PATH} must be an object`);\n\t}\n\tconst enabled = typeof (value as { enabled?: unknown } | undefined)?.enabled === \"boolean\"\n\t\t? (value as { enabled: boolean }).enabled\n\t\t: true;\n\tcachedConfig = { enabled };\n\treturn cachedConfig;\n}\n\nfunction validOwner(owner: string): boolean {\n\treturn /^[A-Za-z0-9](?:[A-Za-z0-9-]{0,37}[A-Za-z0-9])?$/.test(owner) && !owner.includes(\"--\");\n}\n\nfunction validRepo(repo: string): boolean {\n\treturn /^[A-Za-z0-9._-]{1,100}$/.test(repo) && repo !== \".\" && repo !== \"..\";\n}\n\nfunction errorMessage(err: unknown): string {\n\treturn err instanceof Error ? err.message : String(err);\n}\n\nfunction isAbortError(err: unknown): boolean {\n\treturn errorMessage(err).toLowerCase().includes(\"abort\");\n}\n\nexport function parseGitHubIssuePrUrl(url: string): GitHubIssuePrUrlInfo | null {\n\tlet parsed: URL;\n\ttry {\n\t\tparsed = new URL(url);\n\t} catch {\n\t\treturn null;\n\t}\n\tconst host = parsed.hostname.toLowerCase();\n\tif (host !== \"github.com\" && host !== \"www.github.com\") return null;\n\tconst segments: string[] = [];\n\tfor (const segment of parsed.pathname.split(\"/\").filter(Boolean)) {\n\t\ttry {\n\t\t\tsegments.push(decodeURIComponent(segment));\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}\n\tif (segments.length < 4) return null;\n\tconst owner = segments[0];\n\tconst repo = segments[1].replace(/\\.git$/, \"\");\n\tif (!validOwner(owner) || !validRepo(repo)) return null;\n\tconst route = segments[2].toLowerCase();\n\tif (route !== \"pull\" && route !== \"issues\") return null;\n\tif (!/^\\d+$/.test(segments[3])) return null;\n\tconst subpath = segments[4]?.toLowerCase();\n\tif (route === \"pull\" && subpath && !PR_SUBPATHS.has(subpath)) return null;\n\tif (route === \"issues\" && subpath) return null;\n\tconst number = Number.parseInt(segments[3], 10);\n\tif (!Number.isSafeInteger(number) || number <= 0) return null;\n\tconst fragment = parsed.hash.slice(1);\n\tconst anchorPattern = route === \"pull\" ? /^(?:issuecomment-\\d+|discussion_r\\d+)$/i : /^issuecomment-\\d+$/i;\n\tconst anchor = anchorPattern.test(fragment) ? fragment : undefined;\n\treturn { owner, repo, kind: route === \"pull\" ? \"pull\" : \"issue\", number, ...(anchor ? { anchor } : {}) };\n}\n\nfunction runGh(args: string[], timeoutMs = GH_TIMEOUT_MS, signal?: AbortSignal): Promise<GhResult> {\n\treturn new Promise((resolve) => {\n\t\texecFile(\"gh\", args, {\n\t\t\ttimeout: timeoutMs,\n\t\t\tmaxBuffer: 10 * 1024 * 1024,\n\t\t\t...(signal ? { signal } : {}),\n\t\t\tenv: { ...process.env, GH_PROMPT_DISABLED: \"1\", GIT_TERMINAL_PROMPT: \"0\" },\n\t\t}, (err, stdout, stderr) => {\n\t\t\tconst nodeErr = err as NodeJS.ErrnoException | null;\n\t\t\tresolve({\n\t\t\t\tok: !err,\n\t\t\t\tstdout,\n\t\t\t\tstderr,\n\t\t\t\tcode: typeof nodeErr?.code === \"number\" ? nodeErr.code : null,\n\t\t\t\t...(err ? { error: nodeErr?.message ?? String(err) } : {}),\n\t\t\t});\n\t\t});\n\t});\n}\n\nfunction remainingGhTimeout(deadlineMs: number): number {\n\treturn Math.max(1, Math.min(GH_TIMEOUT_MS, deadlineMs - Date.now()));\n}\n\nfunction unknownJsonField(result: GhResult): boolean {\n\treturn /unknown (?:json )?field|UnknownField|Unknown JSON field/i.test(`${result.stderr}\\n${result.error ?? \"\"}`);\n}\n\nasync function ghView(info: GitHubIssuePrUrlInfo, deadlineMs: number, signal?: AbortSignal): Promise<{ view: Record<string, unknown>; notes: string[] } | null> {\n\tconst repoArg = `${info.owner}/${info.repo}`;\n\tconst command = info.kind === \"pull\" ? \"pr\" : \"issue\";\n\tconst fields = info.kind === \"pull\" ? PR_FIELDS : ISSUE_FIELDS;\n\tconst coreFields = info.kind === \"pull\" ? PR_CORE_FIELDS : ISSUE_CORE_FIELDS;\n\tlet result = await runGh([command, \"view\", String(info.number), \"--repo\", repoArg, \"--json\", fields.join(\",\")], remainingGhTimeout(deadlineMs), signal);\n\tconst notes: string[] = [];\n\tlet linkedReferencesUnavailable = false;\n\tif (!result.ok && unknownJsonField(result)) {\n\t\tresult = await runGh([command, \"view\", String(info.number), \"--repo\", repoArg, \"--json\", coreFields.join(\",\")], remainingGhTimeout(deadlineMs), signal);\n\t\tnotes.push(\"Some GitHub fields were unavailable from this gh version; retried with the core field set.\");\n\t\tlinkedReferencesUnavailable = true;\n\t}\n\tif (!result.ok) return null;\n\ttry {\n\t\tconst parsed = JSON.parse(result.stdout) as unknown;\n\t\tif (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) return null;\n\t\tconst view = parsed as Record<string, unknown>;\n\t\tif (linkedReferencesUnavailable) view.linkedReferencesUnavailable = true;\n\t\treturn { view, notes };\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nasync function ghReviewThreads(info: GitHubIssuePrUrlInfo, deadlineMs: number, signal?: AbortSignal): Promise<{ comments: Record<string, unknown>[]; note?: string; bounded?: boolean; unavailable?: boolean; anchorUnavailable?: boolean }> {\n\tif (info.kind !== \"pull\") return { comments: [] };\n\tconst comments: Record<string, unknown>[] = [];\n\tlet bounded = false;\n\tlet pageFailed = false;\n\tfor (let page = 1; page <= 3; page++) {\n\t\tconst result = await runGh([\"api\", `repos/${info.owner}/${info.repo}/pulls/${info.number}/comments?per_page=100&page=${page}`], remainingGhTimeout(deadlineMs), signal);\n\t\tif (!result.ok) {\n\t\t\tpageFailed = true;\n\t\t\tbreak;\n\t\t}\n\t\tlet pageItems: unknown;\n\t\ttry {\n\t\t\tpageItems = JSON.parse(result.stdout);\n\t\t} catch {\n\t\t\tpageFailed = true;\n\t\t\tbreak;\n\t\t}\n\t\tif (!Array.isArray(pageItems) || pageItems.length === 0) break;\n\t\tcomments.push(...pageItems.filter((item): item is Record<string, unknown> => !!item && typeof item === \"object\" && !Array.isArray(item)));\n\t\tif (pageItems.length < 100) break;\n\t\tif (page === 3) bounded = true;\n\t}\n\tconst discussionId = anchorId(info.anchor, \"discussion_r\");\n\tif (discussionId && !hasCommentId(comments, discussionId)) {\n\t\tconst result = await runGh([\"api\", `repos/${info.owner}/${info.repo}/pulls/comments/${discussionId}`], remainingGhTimeout(deadlineMs), signal);\n\t\tif (result.ok) {\n\t\t\ttry {\n\t\t\t\tconst comment = JSON.parse(result.stdout) as unknown;\n\t\t\t\tif (comment && typeof comment === \"object\" && !Array.isArray(comment) && belongsToPull(comment as Record<string, unknown>, discussionId, info)) comments.push(comment as Record<string, unknown>);\n\t\t\t\telse return { comments, bounded: bounded || (pageFailed && comments.length > 0), unavailable: pageFailed && comments.length === 0, anchorUnavailable: true };\n\t\t\t} catch {\n\t\t\t\treturn { comments, bounded: bounded || (pageFailed && comments.length > 0), unavailable: pageFailed && comments.length === 0, note: \"Anchored review thread comment unavailable from gh.\" };\n\t\t\t}\n\t\t} else {\n\t\t\treturn { comments, bounded: bounded || (pageFailed && comments.length > 0), unavailable: pageFailed && comments.length === 0, anchorUnavailable: true };\n\t\t}\n\t}\n\treturn { comments, bounded: bounded || (pageFailed && comments.length > 0), unavailable: pageFailed && comments.length === 0 };\n}\n\nfunction isRateLimited(response: Response): boolean {\n\treturn response.status === 403 && response.headers.get(\"x-ratelimit-remaining\") === \"0\";\n}\n\nfunction anchorId(anchor: string | undefined, prefix: \"issuecomment\" | \"discussion_r\"): string | null {\n\tconst match = anchor?.match(prefix === \"issuecomment\" ? /^issuecomment-(\\d+)$/i : /^discussion_r(\\d+)$/i);\n\treturn match?.[1] ?? null;\n}\n\nfunction hasCommentId(comments: Record<string, unknown>[], id: string): boolean {\n\treturn comments.some(comment => commentId(comment) === id);\n}\n\nfunction belongsToIssue(comment: Record<string, unknown>, id: string, info: GitHubIssuePrUrlInfo): boolean {\n\treturn commentId(comment) === id && associationMatches(comment.issue_url, info, \"issues\");\n}\n\nfunction belongsToPull(comment: Record<string, unknown>, id: string, info: GitHubIssuePrUrlInfo): boolean {\n\treturn commentId(comment) === id && associationMatches(comment.pull_request_url, info, \"pulls\");\n}\n\nfunction associationMatches(value: unknown, info: GitHubIssuePrUrlInfo, route: \"issues\" | \"pulls\"): boolean {\n\tif (typeof value !== \"string\") return false;\n\ttry {\n\t\tconst parsed = new URL(value);\n\t\tif (parsed.protocol !== \"https:\" || parsed.hostname.toLowerCase() !== \"api.github.com\") return false;\n\t\treturn parsed.pathname.toLowerCase() === `/repos/${info.owner}/${info.repo}/${route}/${info.number}`.toLowerCase();\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction rateLimitResult(url: string, info: GitHubIssuePrUrlInfo, response: Response): ExtractedContent {\n\tconst reset = response.headers.get(\"x-ratelimit-reset\");\n\tconst resetNote = reset ? ` Rate limit resets at Unix time ${reset}.` : \"\";\n\treturn {\n\t\turl,\n\t\ttitle: `${info.owner}/${info.repo}#${info.number}`,\n\t\tcontent: `GitHub API rate limit reached for ${info.owner}/${info.repo} ${info.kind} #${info.number}.${resetNote}\\n\\nAuthenticate the gh CLI and retry:\\n\\n\\`gh auth login\\`\\n\\nThen fetch this URL again.`,\n\t\terror: \"GitHub API rate limit reached; authenticate gh to fetch this PR or issue.\",\n\t\tstatus: response.status,\n\t};\n}\n\nasync function restJson(url: string, options?: ExtractOptions, signal?: AbortSignal): Promise<{ value: unknown; response: Response } | null> {\n\tconst ssrf = loadSsrfConfig();\n\tconst domainPolicy = loadFetchContentDomainPolicy();\n\tconst response = await fetchRemoteUrl(url, { headers: REST_HEADERS, ...(signal ? { signal } : {}) }, {\n\t\tallowRanges: ssrf.allowRanges,\n\t\ttrustEnvProxy: ssrf.trustEnvProxy,\n\t\tdomainPolicy,\n\t\t...(options?.lookup ? { lookup: options.lookup } : {}),\n\t});\n\tif (!response.ok) return { value: null, response };\n\treturn { value: await response.json(), response };\n}\n\nasync function restFallback(url: string, info: GitHubIssuePrUrlInfo, options?: ExtractOptions, signal?: AbortSignal): Promise<ExtractedContent | { data: RenderData } | null> {\n\ttry {\n\t\tconst base = `https://api.github.com/repos/${info.owner}/${info.repo}`;\n\t\tconst mainPath = info.kind === \"pull\" ? `${base}/pulls/${info.number}` : `${base}/issues/${info.number}`;\n\t\tconst main = await restJson(mainPath, options, signal);\n\t\tif (!main) return null;\n\t\tif (isRateLimited(main.response)) return rateLimitResult(url, info, main.response);\n\t\tif (!main.response.ok) return null;\n\t\tconst view = mapRestView(info, main.value);\n\t\tview.linkedReferencesUnavailable = true;\n\t\tconst comments = await restJson(`${base}/issues/${info.number}/comments?per_page=50`, options, signal);\n\t\tif (comments && isRateLimited(comments.response)) return rateLimitResult(url, info, comments.response);\n\t\tconst conversationComments = comments?.response.ok && Array.isArray(comments.value)\n\t\t\t? comments.value.filter((item): item is Record<string, unknown> => !!item && typeof item === \"object\" && !Array.isArray(item))\n\t\t\t: [];\n\t\tconst issueCommentId = anchorId(info.anchor, \"issuecomment\");\n\t\tif (issueCommentId && !hasCommentId(conversationComments, issueCommentId)) {\n\t\t\tconst anchoredComment = await restJson(`${base}/issues/comments/${issueCommentId}`, options, signal);\n\t\t\tif (anchoredComment && isRateLimited(anchoredComment.response)) return rateLimitResult(url, info, anchoredComment.response);\n\t\t\tif (anchoredComment?.response.ok && anchoredComment.value && typeof anchoredComment.value === \"object\" && !Array.isArray(anchoredComment.value)) {\n\t\t\t\tconst comment = anchoredComment.value as Record<string, unknown>;\n\t\t\t\tif (belongsToIssue(comment, issueCommentId, info)) conversationComments.push(comment);\n\t\t\t\telse view.anchorUnavailable = true;\n\t\t\t} else {\n\t\t\t\tview.anchorUnavailable = true;\n\t\t\t}\n\t\t}\n\t\tview.comments = conversationComments;\n\t\tconst reviewThreads: Record<string, unknown>[] = [];\n\t\tconst notes = [info.kind === \"pull\" ? \"Checks unavailable in REST fallback; install or authenticate gh for check status.\" : \"REST fallback used; gh fields unavailable.\"];\n\t\tif (info.kind === \"pull\") {\n\t\t\tview.reviewsUnavailable = true;\n\t\t\tview.commitsUnavailable = true;\n\t\t\tconst files = await restJson(`${base}/pulls/${info.number}/files?per_page=50`, options, signal);\n\t\t\tif (files && isRateLimited(files.response)) return rateLimitResult(url, info, files.response);\n\t\t\tif (files?.response.ok && Array.isArray(files.value)) view.files = files.value;\n\t\t\tconst threads = await restJson(`${base}/pulls/${info.number}/comments?per_page=50`, options, signal);\n\t\t\tif (threads && isRateLimited(threads.response)) return rateLimitResult(url, info, threads.response);\n\t\t\tif (threads?.response.ok && Array.isArray(threads.value)) {\n\t\t\t\treviewThreads.push(...threads.value.filter((item): item is Record<string, unknown> => !!item && typeof item === \"object\" && !Array.isArray(item)));\n\t\t\t}\n\t\t\tconst discussionId = anchorId(info.anchor, \"discussion_r\");\n\t\t\tif (discussionId && !hasCommentId(reviewThreads, discussionId)) {\n\t\t\t\tconst anchoredThread = await restJson(`${base}/pulls/comments/${discussionId}`, options, signal);\n\t\t\t\tif (anchoredThread && isRateLimited(anchoredThread.response)) return rateLimitResult(url, info, anchoredThread.response);\n\t\t\t\tif (anchoredThread?.response.ok && anchoredThread.value && typeof anchoredThread.value === \"object\" && !Array.isArray(anchoredThread.value)) {\n\t\t\t\t\tconst comment = anchoredThread.value as Record<string, unknown>;\n\t\t\t\t\tif (belongsToPull(comment, discussionId, info)) reviewThreads.push(comment);\n\t\t\t\t\telse view.anchorUnavailable = true;\n\t\t\t\t} else {\n\t\t\t\t\tview.anchorUnavailable = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn { data: { url, owner: info.owner, repo: info.repo, kind: info.kind, number: info.number, anchor: info.anchor, view, reviewThreads, fallbackNotes: notes } };\n\t} catch (err) {\n\t\tif (signal?.aborted || isAbortError(err)) return { url, title: \"\", content: \"\", error: \"Aborted\" };\n\t\tconst message = errorMessage(err);\n\t\treturn { url, title: `${info.owner}/${info.repo}#${info.number}`, content: message, error: `GitHub REST fallback failed: ${message}` };\n\t}\n}\n\nfunction mapRestView(info: GitHubIssuePrUrlInfo, value: unknown): Record<string, unknown> {\n\tconst source = value && typeof value === \"object\" && !Array.isArray(value) ? value as Record<string, unknown> : {};\n\tconst user = source.user && typeof source.user === \"object\" ? source.user as Record<string, unknown> : undefined;\n\tconst base = source.base && typeof source.base === \"object\" ? source.base as Record<string, unknown> : undefined;\n\tconst head = source.head && typeof source.head === \"object\" ? source.head as Record<string, unknown> : undefined;\n\treturn {\n\t\ttitle: stringValue(source.title),\n\t\tnumber: numberValue(source.number) ?? info.number,\n\t\tstate: stringValue(source.state),\n\t\tstateReason: stringValue(source.state_reason),\n\t\tisDraft: Boolean(source.draft),\n\t\tauthor: { login: user ? stringValue(user.login) : \"\" },\n\t\tbaseRefName: base ? stringValue(base.ref) : \"\",\n\t\theadRefName: head ? stringValue(head.ref) : \"\",\n\t\theadRepositoryOwner: { login: head && typeof head.repo === \"object\" && head.repo && typeof (head.repo as Record<string, unknown>).owner === \"object\" ? stringValue(((head.repo as Record<string, unknown>).owner as Record<string, unknown>).login) : \"\" },\n\t\tcreatedAt: stringValue(source.created_at),\n\t\tmergedAt: stringValue(source.merged_at),\n\t\tclosedAt: stringValue(source.closed_at),\n\t\tlabels: source.labels,\n\t\tassignees: source.assignees,\n\t\tmilestone: source.milestone,\n\t\tadditions: source.additions,\n\t\tdeletions: source.deletions,\n\t\tchangedFiles: source.changed_files,\n\t\tbody: stringValue(source.body),\n\t\turl: stringValue(source.html_url),\n\t\tcommentsCount: source.comments,\n\t\treviewCommentsCount: source.review_comments,\n\t};\n}\n\nfunction stringValue(value: unknown): string {\n\treturn typeof value === \"string\" ? value : \"\";\n}\n\nfunction numberValue(value: unknown): number | null {\n\treturn typeof value === \"number\" && Number.isFinite(value) ? value : null;\n}\n\nfunction authorLogin(value: unknown): string {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) return \"unknown\";\n\tconst login = (value as Record<string, unknown>).login;\n\treturn typeof login === \"string\" && login ? login : \"unknown\";\n}\n\nfunction listNames(value: unknown): string {\n\tif (!Array.isArray(value) || value.length === 0) return \"none\";\n\tconst names = value.map((item) => {\n\t\tif (!item || typeof item !== \"object\" || Array.isArray(item)) return \"\";\n\t\tconst record = item as Record<string, unknown>;\n\t\treturn stringValue(record.name) || stringValue(record.login) || stringValue(record.title);\n\t}).filter(Boolean);\n\treturn names.length > 0 ? names.join(\", \") : \"none\";\n}\n\nfunction milestoneTitle(value: unknown): string {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) return \"none\";\n\treturn stringValue((value as Record<string, unknown>).title) || \"none\";\n}\n\nfunction truncateText(text: string, limit: number, label: string, appendix: string[]): string {\n\tif (text.length <= limit) return text;\n\tappendix.push(`## Full ${label}\\n\\n${text}`);\n\treturn `${text.slice(0, limit)}\\n\\n[${label} truncated; use get_search_content findText or offset for the full text]`;\n}\n\nfunction appendLimitedSection(lines: string[], title: string, items: string[], max: number, marker: string): void {\n\tlines.push(`## ${title}`);\n\tif (items.length === 0) {\n\t\tlines.push(\"none\", \"\");\n\t\treturn;\n\t}\n\tlines.push(...items.slice(0, max));\n\tif (items.length > max) lines.push(`[${max} of ${items.length} ${marker} shown; use get_search_content offset or the gh command below for more]`);\n\tlines.push(\"\");\n}\n\nfunction objectArray(value: unknown): Record<string, unknown>[] {\n\tif (!Array.isArray(value)) return [];\n\treturn value.filter((item): item is Record<string, unknown> => !!item && typeof item === \"object\" && !Array.isArray(item));\n}\n\nfunction commentId(comment: Record<string, unknown>): string {\n\treturn String(comment.id ?? comment.databaseId ?? \"\");\n}\n\nfunction anchorMatches(anchor: string | undefined, comment: Record<string, unknown>): boolean {\n\tif (!anchor) return false;\n\tconst id = commentId(comment);\n\treturn anchor === `issuecomment-${id}` || anchor === `discussion_r${id}`;\n}\n\nfunction renderComments(comments: Record<string, unknown>[], anchor: string | undefined, appendix: string[]): string[] {\n\tconst forced = anchor ? comments.find(comment => anchorMatches(anchor, comment)) : undefined;\n\tconst selected = comments.slice(0, MAX_INLINE_COMMENTS);\n\tif (forced && !selected.includes(forced)) selected.push(forced);\n\tconst lines = selected.map((comment) => {\n\t\tconst body = stringValue(comment.body);\n\t\tconst label = `comment ${commentId(comment) || selected.indexOf(comment) + 1}`;\n\t\treturn `- ${authorLogin(comment.author ?? comment.user)} at ${stringValue(comment.createdAt) || stringValue(comment.created_at)}${forced === comment ? \" [anchored]\" : \"\"}:\\n ${truncateText(body, COMMENT_INLINE_CHARS, label, appendix).replace(/\\n/g, \"\\n \")}`;\n\t});\n\treturn lines;\n}\n\nfunction renderCommentMarker(comments: Record<string, unknown>[], renderedCount: number, total: unknown): string | null {\n\tconst knownTotal = numberValue(total);\n\tif (knownTotal !== null && knownTotal > comments.length) {\n\t\treturn `[${renderedCount} comments shown from at least ${knownTotal}; use get_search_content findText or offset, or gh issue view -c]`;\n\t}\n\tif (comments.length > renderedCount) return `[${renderedCount} of ${comments.length} comments shown; use get_search_content findText or offset, or gh issue view -c]`;\n\treturn null;\n}\n\nfunction commentCountText(view: Record<string, unknown>): string {\n\tconst comments = objectArray(view.comments).length;\n\tconst total = numberValue(view.commentsCount);\n\tif (total !== null && total > comments) return `at least ${total}`;\n\treturn String(comments || total || 0);\n}\n\nfunction reviewThreadCountText(comments: Record<string, unknown>[], total: unknown, bounded?: boolean, unavailable?: boolean): string {\n\tif (unavailable) return \"unavailable\";\n\tconst knownTotal = numberValue(total);\n\tif (bounded) return `at least ${comments.length}`;\n\tif (knownTotal !== null && knownTotal > comments.length) return `at least ${knownTotal}`;\n\treturn String(comments.length || knownTotal || 0);\n}\n\nfunction renderChecks(value: unknown): string[] {\n\tconst checks = objectArray(value);\n\tif (checks.length === 0) return [\"No check rollup data available.\"];\n\tconst rows = checks.map((check) => {\n\t\tconst name = stringValue(check.name) || stringValue(check.context) || stringValue(check.workflowName) || \"check\";\n\t\tconst state = stringValue(check.conclusion) || stringValue(check.status) || stringValue(check.state) || \"unknown\";\n\t\treturn `- ${name}: ${state}`;\n\t});\n\tconst failing = rows.filter(row => !/(success|neutral|skipped|completed)$/i.test(row));\n\treturn [`Rollup: ${failing.length === 0 ? \"no failing checks in shown data\" : `${failing.length} non-passing checks in shown data`}`, ...rows.slice(0, MAX_INLINE_CHECKS), ...(rows.length > MAX_INLINE_CHECKS ? [`[${MAX_INLINE_CHECKS} of ${rows.length} checks shown]`] : [])];\n}\n\nfunction renderReviewVerdicts(value: unknown, appendix: string[]): string[] {\n\tconst latest = new Map<string, Record<string, unknown>>();\n\tfor (const review of objectArray(value)) latest.set(authorLogin(review.author ?? review.user), review);\n\treturn [...latest.entries()].map(([author, review]) => {\n\t\tconst state = stringValue(review.state) || \"COMMENTED\";\n\t\tconst body = truncateText(stringValue(review.body), 300, `review by ${author}`, appendix);\n\t\treturn `- ${author}: ${state}${body ? ` — ${body.replace(/\\n/g, \" \")}` : \"\"}`;\n\t});\n}\n\nfunction renderReviewVerdictsOrUnavailable(view: Record<string, unknown>, appendix: string[]): string[] {\n\tconst rendered = renderReviewVerdicts(view.reviews, appendix);\n\tif (rendered.length > 0) return rendered;\n\treturn view.reviewsUnavailable === true ? [\"Unavailable in this GitHub fetch path; use gh for review verdicts.\"] : [];\n}\n\nfunction renderFiles(value: unknown): string[] {\n\treturn objectArray(value).map((file) => {\n\t\tconst path = stringValue(file.path) || stringValue(file.filename) || \"file\";\n\t\tconst additions = numberValue(file.additions) ?? 0;\n\t\tconst deletions = numberValue(file.deletions) ?? 0;\n\t\treturn `- ${path} (+${additions}/−${deletions})`;\n\t});\n}\n\nfunction appendFilesSection(lines: string[], view: Record<string, unknown>): void {\n\tlines.push(\"## Files\");\n\tconst files = renderFiles(view.files);\n\tif (files.length === 0) {\n\t\tconst total = numberValue(view.changedFiles);\n\t\tif (total !== null && total > 0) {\n\t\t\tlines.push(`[0 files shown from at least ${total}; use get_search_content offset or the gh command below for more]`, \"\");\n\t\t\treturn;\n\t\t}\n\t\tlines.push(\"none\", \"\");\n\t\treturn;\n\t}\n\tlines.push(...files.slice(0, MAX_INLINE_FILES));\n\tconst total = numberValue(view.changedFiles);\n\tif (total !== null && total > files.length) {\n\t\tlines.push(`[${Math.min(files.length, MAX_INLINE_FILES)} files shown from at least ${total}; use get_search_content offset or the gh command below for more]`);\n\t} else if (files.length > MAX_INLINE_FILES) {\n\t\tlines.push(`[${MAX_INLINE_FILES} of ${files.length} files shown; use get_search_content offset or the gh command below for more]`);\n\t}\n\tlines.push(\"\");\n}\n\nfunction renderCommits(value: unknown): string[] {\n\treturn objectArray(value).map((commit) => {\n\t\tconst oid = stringValue(commit.oid) || stringValue(commit.sha);\n\t\tconst message = stringValue(commit.messageHeadline) || (commit.commit && typeof commit.commit === \"object\" ? stringValue((commit.commit as Record<string, unknown>).message).split(\"\\n\")[0] : \"\");\n\t\treturn `- ${oid.slice(0, 7)} ${message}`.trim();\n\t});\n}\n\nfunction renderCommitsOrUnavailable(view: Record<string, unknown>): string[] {\n\tconst rendered = renderCommits(view.commits);\n\tif (rendered.length > 0) return rendered;\n\treturn view.commitsUnavailable === true ? [\"Unavailable in this GitHub fetch path; use gh for commits.\"] : [];\n}\n\nfunction renderLinked(value: unknown, kind: \"closing\" | \"closedBy\"): string[] {\n\treturn objectArray(value).map((item) => `- #${numberValue(item.number) ?? \"?\"} ${stringValue(item.title)}${kind === \"closedBy\" ? ` (${stringValue(item.url)})` : \"\"}`);\n}\n\nfunction renderLinkedOrUnavailable(view: Record<string, unknown>, field: \"closingIssuesReferences\" | \"closedByPullRequestsReferences\", kind: \"closing\" | \"closedBy\"): string[] {\n\tconst linked = renderLinked(view[field], kind);\n\tif (linked.length > 0) return linked;\n\treturn view.linkedReferencesUnavailable === true ? [\"Unavailable in this GitHub fetch path; use gh for linked references.\"] : [];\n}\n\nfunction renderReviewThreads(comments: Record<string, unknown>[], anchor: string | undefined, appendix: string[], total?: unknown, bounded?: boolean, unavailable?: boolean): string[] {\n\tif (unavailable) return [\"Unavailable in this GitHub fetch path; use gh for review thread comments.\"];\n\tconst forced = anchor ? comments.find(comment => anchorMatches(anchor, comment)) : undefined;\n\tconst selected = comments.slice(0, MAX_INLINE_REVIEW_THREADS);\n\tif (forced && !selected.includes(forced)) selected.push(forced);\n\tconst lines = selected.map((comment) => {\n\t\tconst path = stringValue(comment.path) || \"unknown path\";\n\t\tconst line = numberValue(comment.line) ?? numberValue(comment.original_line) ?? numberValue(comment.position) ?? \"?\";\n\t\tconst body = truncateText(stringValue(comment.body), COMMENT_INLINE_CHARS, `review thread comment ${commentId(comment) || selected.indexOf(comment) + 1}`, appendix);\n\t\treturn `- ${path}:${line} — ${authorLogin(comment.user ?? comment.author)}${forced === comment ? \" [anchored]\" : \"\"} (resolution state unknown):\\n ${body.replace(/\\n/g, \"\\n \")}`;\n\t});\n\tconst knownTotal = numberValue(total);\n\tif (bounded) {\n\t\tlines.push(`[${selected.length} review thread comments shown from at least ${comments.length}; use get_search_content offset, or gh api repos/<owner>/<repo>/pulls/<number>/comments]`);\n\t} else if (knownTotal !== null && knownTotal > comments.length) {\n\t\tlines.push(`[${selected.length} review thread comments shown from at least ${knownTotal}; use get_search_content offset, or gh api repos/<owner>/<repo>/pulls/<number>/comments]`);\n\t} else if (comments.length > selected.length) {\n\t\tlines.push(`[${selected.length} of ${comments.length} review thread comments shown; use get_search_content offset, or gh api repos/<owner>/<repo>/pulls/<number>/comments]`);\n\t}\n\treturn lines;\n}\n\nexport function renderGitHubPrIssue(data: RenderData): ExtractedContent {\n\tconst { view } = data;\n\tconst appendix: string[] = [];\n\tconst title = stringValue(view.title) || `${data.owner}/${data.repo}#${data.number}`;\n\tconst number = numberValue(view.number) ?? data.number;\n\tconst stateParts = [stringValue(view.state) || \"unknown\"];\n\tif (view.isDraft === true) stateParts.push(\"draft\");\n\tconst lines: string[] = [`#${number} ${title}`, \"\"];\n\tlines.push(`- type: ${data.kind}`);\n\tlines.push(`- state: ${stateParts.join(\" \")}${stringValue(view.stateReason) ? ` (${stringValue(view.stateReason)})` : \"\"}`);\n\tlines.push(`- author: ${authorLogin(view.author)}`);\n\tif (data.kind === \"pull\") {\n\t\tconst headOwner = authorLogin(view.headRepositoryOwner);\n\t\tconst headRef = stringValue(view.headRefName);\n\t\tconst head = headOwner !== \"unknown\" && headOwner !== data.owner ? `${headOwner}:${headRef}` : headRef;\n\t\tlines.push(`- branch: ${stringValue(view.baseRefName)} ← ${head}`);\n\t\tconst commitSummary = view.commitsUnavailable === true ? \"commits unavailable\" : `${objectArray(view.commits).length} commits`;\n\t\tlines.push(`- changes: +${numberValue(view.additions) ?? 0} −${numberValue(view.deletions) ?? 0}, ${numberValue(view.changedFiles) ?? objectArray(view.files).length} files, ${commitSummary}`);\n\t} else {\n\t\tlines.push(`- assignees: ${listNames(view.assignees)}`);\n\t}\n\tlines.push(`- created: ${stringValue(view.createdAt) || \"unknown\"}`);\n\tif (stringValue(view.mergedAt)) lines.push(`- merged: ${stringValue(view.mergedAt)}`);\n\tif (stringValue(view.closedAt)) lines.push(`- closed: ${stringValue(view.closedAt)}`);\n\tlines.push(`- labels: ${listNames(view.labels)}`);\n\tlines.push(`- milestone: ${milestoneTitle(view.milestone)}`);\n\tlines.push(`- comments: ${commentCountText(view)}; review threads: ${reviewThreadCountText(data.reviewThreads, view.reviewCommentsCount, data.reviewThreadsBounded, data.reviewThreadsUnavailable)}`);\n\tif (data.anchor) lines.push(`- requested anchor: #${data.anchor}`);\n\tlines.push(\"\");\n\n\tlines.push(\"## Body\");\n\tlines.push(truncateText(stringValue(view.body) || \"(empty)\", BODY_INLINE_CHARS, \"body\", appendix), \"\");\n\n\tif (data.kind === \"pull\") {\n\t\tlines.push(\"## Checks\");\n\t\tlines.push(...renderChecks(view.statusCheckRollup), \"\");\n\t\tappendLimitedSection(lines, \"Review verdicts\", renderReviewVerdictsOrUnavailable(view, appendix), MAX_INLINE_REVIEWS, \"review verdicts\");\n\t\tappendLimitedSection(lines, \"Linked references\", renderLinkedOrUnavailable(view, \"closingIssuesReferences\", \"closing\"), 20, \"linked references\");\n\t\tappendFilesSection(lines, view);\n\t\tappendLimitedSection(lines, \"Commits\", renderCommitsOrUnavailable(view), MAX_INLINE_COMMITS, \"commits\");\n\t} else {\n\t\tappendLimitedSection(lines, \"Closed by pull requests\", renderLinkedOrUnavailable(view, \"closedByPullRequestsReferences\", \"closedBy\"), 20, \"pull requests\");\n\t}\n\tlines.push(\"## Conversation comments\");\n\tconst commentLines = renderComments(objectArray(view.comments), data.anchor, appendix);\n\tconst commentMarker = renderCommentMarker(objectArray(view.comments), commentLines.length, view.commentsCount);\n\tif (commentMarker) commentLines.push(commentMarker);\n\tif (view.anchorUnavailable === true && data.anchor?.startsWith(\"issuecomment-\")) commentLines.push(\"[anchored comment unavailable for this issue or pull request]\");\n\tlines.push(...(commentLines.length > 0 ? commentLines : [\"none\"]), \"\");\n\tif (data.kind === \"pull\") {\n\t\tlines.push(\"## Review thread comments\");\n\t\tconst threadLines = renderReviewThreads(data.reviewThreads, data.anchor, appendix, view.reviewCommentsCount, data.reviewThreadsBounded, data.reviewThreadsUnavailable);\n\t\tif (view.anchorUnavailable === true && data.anchor?.startsWith(\"discussion_r\")) threadLines.push(\"[anchored review thread comment unavailable for this pull request]\");\n\t\tlines.push(...(threadLines.length > 0 ? threadLines : [\"none\"]), \"\");\n\t}\n\tif (data.fallbackNotes.length > 0) {\n\t\tlines.push(\"## Availability notes\", ...data.fallbackNotes.map(note => `- ${note}`), \"\");\n\t}\n\tif (appendix.length > 0) lines.push(\"## Appendix\", ...appendix, \"\");\n\tconst viewCommand = data.kind === \"pull\" ? `gh pr view ${data.number} --repo ${data.owner}/${data.repo}` : `gh issue view ${data.number} --repo ${data.owner}/${data.repo} -c`;\n\tlines.push(\"## Escalation commands\");\n\tlines.push(`- Full view: \\`${viewCommand}\\``);\n\tif (data.kind === \"pull\") lines.push(`- Complete diff: \\`gh pr diff ${data.number} --repo ${data.owner}/${data.repo}\\``);\n\tlines.push(\"- Stored full document: use `get_search_content` with `offset` or `findText`.\");\n\tconst content = lines.join(\"\\n\");\n\treturn {\n\t\turl: data.url,\n\t\ttitle: `${data.owner}/${data.repo} ${data.kind} #${data.number}: ${title}`,\n\t\tcontent: content.length > MAX_DOC_CHARS ? `${content.slice(0, MAX_DOC_CHARS)}\\n\\n[GitHub document truncated at ${MAX_DOC_CHARS} chars; use the gh escalation commands for complete data]` : content,\n\t\terror: null,\n\t};\n}\n\nexport async function extractGitHubIssuePr(url: string, signal?: AbortSignal, options?: ExtractOptions): Promise<ExtractedContent | null> {\n\tconst info = parseGitHubIssuePrUrl(url);\n\tif (!info) return null;\n\tif (!loadConfig().enabled) return null;\n\tif (signal?.aborted) return { url, title: \"\", content: \"\", error: \"Aborted\" };\n\n\tconst ghAvailable = await checkGhAvailable(signal);\n\tif (signal?.aborted) return { url, title: \"\", content: \"\", error: \"Aborted\" };\n\tif (ghAvailable) {\n\t\tconst ghDeadlineMs = Date.now() + GH_TOTAL_TIMEOUT_MS;\n\t\tconst viewed = await ghView(info, ghDeadlineMs, signal);\n\t\tif (signal?.aborted) return { url, title: \"\", content: \"\", error: \"Aborted\" };\n\t\tif (viewed) {\n\t\t\tconst threads = await ghReviewThreads(info, ghDeadlineMs, signal);\n\t\t\tif (signal?.aborted) return { url, title: \"\", content: \"\", error: \"Aborted\" };\n\t\t\tif (threads.anchorUnavailable) viewed.view.anchorUnavailable = true;\n\t\t\tconst notes = [...viewed.notes, ...(threads.note ? [threads.note] : [])];\n\t\t\treturn renderGitHubPrIssue({ url, owner: info.owner, repo: info.repo, kind: info.kind, number: info.number, anchor: info.anchor, view: viewed.view, reviewThreads: threads.comments, reviewThreadsBounded: threads.bounded, reviewThreadsUnavailable: threads.unavailable, fallbackNotes: notes });\n\t\t}\n\t} else {\n\t\tshowGhHint();\n\t}\n\n\tconst fallback = await restFallback(url, info, options, signal);\n\tif (!fallback) return null;\n\tif (\"data\" in fallback) return renderGitHubPrIssue(fallback.data);\n\treturn fallback;\n}\n"]}
@@ -1,37 +1,9 @@
1
1
  import type { AgentToolResult, ExtensionAPI, ExtensionContext } from "../host.ts";
2
2
  import type { ExtractedContent } from "./extract.ts";
3
- import { type SearchProvider, type SearchProviderSelection } from "./gemini-search.ts";
3
+ import { type ProviderAvailability, type SearchProvider, type SearchProviderSelection } from "./gemini-search.ts";
4
+ export type { ProviderAvailability } from "./gemini-search.ts";
4
5
  import { type QueryResultData } from "./storage.ts";
5
6
  import { type SummaryGenerationContext } from "./summary-review.ts";
6
- export interface ProviderAvailability {
7
- all: boolean;
8
- openai: boolean;
9
- brave: boolean;
10
- parallel: boolean;
11
- "parallel-mcp": boolean;
12
- tinyfish: boolean;
13
- search1api: boolean;
14
- searchinfinity: boolean;
15
- querit: boolean;
16
- tavily: boolean;
17
- firecrawl: boolean;
18
- jina: boolean;
19
- serpdive: boolean;
20
- searxng: boolean;
21
- duckduckgo: boolean;
22
- perplexity: boolean;
23
- exa: boolean;
24
- gemini: boolean;
25
- kagi: boolean;
26
- bocha: boolean;
27
- ollama: boolean;
28
- anysearch: boolean;
29
- xai: boolean;
30
- brightdata: boolean;
31
- serpbase: boolean;
32
- serper: boolean;
33
- valyu: boolean;
34
- }
35
7
  type CuratorWorkflow = "summary-review";
36
8
  export type CuratorProvider = Exclude<SearchProvider, "auto">;
37
9
  export declare function getSummaryGenerationDeadlineMs(): number;
@@ -57,6 +29,7 @@ interface PendingCurate {
57
29
  }>;
58
30
  defaultSummaryModel: string | null;
59
31
  timeoutSeconds: number;
32
+ proxy?: string;
60
33
  curatorUrl?: string;
61
34
  onUpdate: ((update: {
62
35
  content: Array<{
@@ -73,5 +46,4 @@ interface PendingCurate {
73
46
  browserOpenError?: string;
74
47
  }
75
48
  export default function (pi: ExtensionAPI): void;
76
- export {};
77
49
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/humain/web-access/vendor/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/humain/web-access/vendor/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAIlF,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,cAAc,CAAC;AAOrE,OAAO,EAA0K,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,KAAK,uBAAuB,EAA+B,MAAM,oBAAoB,CAAC;AACvT,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG/D,OAAO,EASN,KAAK,eAAe,EAEpB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAIN,KAAK,wBAAwB,EAE7B,MAAM,qBAAqB,CAAC;AAwI7B,KAAK,eAAe,GAAG,gBAAgB,CAAC;AACxC,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAmN9D,wBAAgB,8BAA8B,IAAI,MAAM,CAMvD;AAmFD,wBAAgB,6BAA6B,CAC5C,QAAQ,EAAE,uBAAuB,EACjC,SAAS,EAAE,oBAAoB,EAC/B,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,EACrC,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,eAAe,CAAC,GAC3D,eAAe,CAEjB;AAkHD,UAAU,aAAa;IACtB,KAAK,EAAE,WAAW,GAAG,UAAU,CAAC;IAChC,QAAQ,EAAE,eAAe,CAAC;IAC1B,cAAc,EAAE,wBAAwB,CAAC;IACzC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC5C,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAClD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,EAAE,oBAAoB,CAAC;IACzC,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,uBAAuB,CAAC;IACxC,aAAa,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAChI,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,MAAM,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC;IAClE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AAkaD,MAAM,CAAC,OAAO,WAAW,EAAE,EAAE,YAAY,QAo7ExC"}