@humain/terminal 0.0.18 → 0.1.1

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 (378) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/dist/bun/cli.d.ts +3 -1
  3. package/dist/bun/cli.d.ts.map +1 -1
  4. package/dist/bun/cli.js +3 -8
  5. package/dist/bun/cli.js.map +1 -1
  6. package/dist/bun/runtime-setup.d.ts +2 -0
  7. package/dist/bun/runtime-setup.d.ts.map +1 -0
  8. package/dist/bun/runtime-setup.js +9 -0
  9. package/dist/bun/runtime-setup.js.map +1 -0
  10. package/dist/bun/sandbox-env-setup.d.ts +2 -0
  11. package/dist/bun/sandbox-env-setup.d.ts.map +1 -0
  12. package/dist/bun/sandbox-env-setup.js +4 -0
  13. package/dist/bun/sandbox-env-setup.js.map +1 -0
  14. package/dist/bundle/chunks/anthropic-messages-XULXUBIG.js +6 -0
  15. package/dist/bundle/chunks/{azure-openai-responses-ZN52D6YC.js → azure-openai-responses-JEG2XOYC.js} +1 -1
  16. package/dist/bundle/chunks/bedrock-converse-stream.js +6 -6
  17. package/dist/bundle/chunks/{chunk-ARF4OE6X.js → chunk-2LC3S3VV.js} +8 -8
  18. package/dist/bundle/chunks/chunk-43O5DDAH.js +31 -0
  19. package/dist/bundle/chunks/{chunk-H2O6VOXT.js → chunk-46DC2JD6.js} +2 -2
  20. package/dist/bundle/chunks/chunk-7ZC4UXSL.js +2 -0
  21. package/dist/bundle/chunks/{chunk-WJZ4KLGL.js → chunk-E6KP6V7F.js} +1 -1
  22. package/dist/bundle/chunks/{chunk-PSKDLDLZ.js → chunk-HPPQHK3J.js} +3 -3
  23. package/dist/bundle/chunks/chunk-JUPSJTFQ.js +42 -0
  24. package/dist/bundle/chunks/{chunk-QLVZGOBY.js → chunk-LYAMSPR2.js} +360 -352
  25. package/dist/bundle/chunks/chunk-PL7O7J4J.js +133 -0
  26. package/dist/bundle/chunks/chunk-USJZMAIR.js +2 -0
  27. package/dist/bundle/chunks/{extract-2L7ZVN7F.js → extract-TRW5FBY6.js} +2 -2
  28. package/dist/bundle/chunks/github-copilot.js +1 -1
  29. package/dist/bundle/chunks/{google-generative-ai-FF7M7XHT.js → google-generative-ai-OX6VSCA6.js} +1 -1
  30. package/dist/bundle/chunks/{google-vertex-YMUBFRBA.js → google-vertex-GW76GSS2.js} +1 -1
  31. package/dist/bundle/chunks/image-resize-worker.js +1 -1
  32. package/dist/bundle/chunks/{mistral-conversations-O4M7IQML.js → mistral-conversations-WXGXZOFJ.js} +1 -1
  33. package/dist/bundle/chunks/node-AUOGOBCN.js +2 -0
  34. package/dist/bundle/chunks/node-KOIP55YZ.js +16 -0
  35. package/dist/bundle/chunks/openai-codex-responses-NPLWP6ZC.js +10 -0
  36. package/dist/bundle/chunks/{openai-completions-L4AHDQ5D.js → openai-completions-OT2GTJKC.js} +3 -3
  37. package/dist/bundle/chunks/openai-responses-5A6CR7GI.js +2 -0
  38. package/dist/bundle/chunks/{openrouter-images-Y2PCWAQH.js → openrouter-images-YLQ4RJ2F.js} +1 -1
  39. package/dist/bundle/chunks/{pi-messages-57K43J6J.js → pi-messages-OJF77SY3.js} +1 -1
  40. package/dist/bundle/chunks/{undici-D6ABF53Q.js → undici-KA2LJNVT.js} +1 -1
  41. package/dist/bundle/chunks/webapi-RFAXLI2D.js +5 -0
  42. package/dist/bundle/cli.js +1 -1
  43. package/dist/bundle/index.js +1 -1
  44. package/dist/bundle/rpc-entry.js +1 -1
  45. package/dist/cli/config-selector.d.ts.map +1 -1
  46. package/dist/cli/config-selector.js +2 -1
  47. package/dist/cli/config-selector.js.map +1 -1
  48. package/dist/cli/setup.d.ts +2 -0
  49. package/dist/cli/setup.d.ts.map +1 -0
  50. package/dist/cli/setup.js +13 -0
  51. package/dist/cli/setup.js.map +1 -0
  52. package/dist/cli.js +1 -17
  53. package/dist/cli.js.map +1 -1
  54. package/dist/config.d.ts +1 -0
  55. package/dist/config.d.ts.map +1 -1
  56. package/dist/config.js +1 -0
  57. package/dist/config.js.map +1 -1
  58. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  59. package/dist/core/agent-session-runtime.js +15 -7
  60. package/dist/core/agent-session-runtime.js.map +1 -1
  61. package/dist/core/agent-session.d.ts +2 -6
  62. package/dist/core/agent-session.d.ts.map +1 -1
  63. package/dist/core/agent-session.js +16 -8
  64. package/dist/core/agent-session.js.map +1 -1
  65. package/dist/core/compaction/branch-summarization.d.ts +1 -1
  66. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  67. package/dist/core/compaction/branch-summarization.js +2 -1
  68. package/dist/core/compaction/branch-summarization.js.map +1 -1
  69. package/dist/core/extensions/loader.d.ts.map +1 -1
  70. package/dist/core/extensions/loader.js +1 -2
  71. package/dist/core/extensions/loader.js.map +1 -1
  72. package/dist/core/extensions/types.d.ts +8 -2
  73. package/dist/core/extensions/types.d.ts.map +1 -1
  74. package/dist/core/extensions/types.js.map +1 -1
  75. package/dist/core/http-dispatcher.d.ts.map +1 -1
  76. package/dist/core/http-dispatcher.js +2 -0
  77. package/dist/core/http-dispatcher.js.map +1 -1
  78. package/dist/core/keybindings.d.ts +5 -0
  79. package/dist/core/keybindings.d.ts.map +1 -1
  80. package/dist/core/keybindings.js +4 -0
  81. package/dist/core/keybindings.js.map +1 -1
  82. package/dist/core/messages.d.ts +1 -1
  83. package/dist/core/messages.d.ts.map +1 -1
  84. package/dist/core/messages.js.map +1 -1
  85. package/dist/core/model-config.d.ts +15 -0
  86. package/dist/core/model-config.d.ts.map +1 -1
  87. package/dist/core/model-config.js +3 -0
  88. package/dist/core/model-config.js.map +1 -1
  89. package/dist/core/model-runtime.d.ts +1 -0
  90. package/dist/core/model-runtime.d.ts.map +1 -1
  91. package/dist/core/model-runtime.js +5 -2
  92. package/dist/core/model-runtime.js.map +1 -1
  93. package/dist/core/provider-composer.d.ts.map +1 -1
  94. package/dist/core/provider-composer.js +8 -2
  95. package/dist/core/provider-composer.js.map +1 -1
  96. package/dist/core/session-manager.d.ts +3 -2
  97. package/dist/core/session-manager.d.ts.map +1 -1
  98. package/dist/core/session-manager.js +40 -13
  99. package/dist/core/session-manager.js.map +1 -1
  100. package/dist/core/settings-manager.js.map +1 -1
  101. package/dist/core/skills.d.ts +1 -1
  102. package/dist/core/skills.d.ts.map +1 -1
  103. package/dist/core/skills.js +4 -2
  104. package/dist/core/skills.js.map +1 -1
  105. package/dist/core/system-prompt.d.ts.map +1 -1
  106. package/dist/core/system-prompt.js +8 -9
  107. package/dist/core/system-prompt.js.map +1 -1
  108. package/dist/core/tools/bash.d.ts.map +1 -1
  109. package/dist/core/tools/bash.js +3 -120
  110. package/dist/core/tools/bash.js.map +1 -1
  111. package/dist/core/tools/edit.d.ts +1 -12
  112. package/dist/core/tools/edit.d.ts.map +1 -1
  113. package/dist/core/tools/edit.js +5 -163
  114. package/dist/core/tools/edit.js.map +1 -1
  115. package/dist/core/tools/find.d.ts.map +1 -1
  116. package/dist/core/tools/find.js +4 -55
  117. package/dist/core/tools/find.js.map +1 -1
  118. package/dist/core/tools/grep.d.ts.map +1 -1
  119. package/dist/core/tools/grep.js +4 -60
  120. package/dist/core/tools/grep.js.map +1 -1
  121. package/dist/core/tools/ls.d.ts.map +1 -1
  122. package/dist/core/tools/ls.js +4 -49
  123. package/dist/core/tools/ls.js.map +1 -1
  124. package/dist/core/tools/read.d.ts.map +1 -1
  125. package/dist/core/tools/read.js +4 -120
  126. package/dist/core/tools/read.js.map +1 -1
  127. package/dist/core/tools/renderers/bash.d.ts +12 -0
  128. package/dist/core/tools/renderers/bash.d.ts.map +1 -0
  129. package/dist/core/tools/renderers/bash.js +133 -0
  130. package/dist/core/tools/renderers/bash.js.map +1 -0
  131. package/dist/core/tools/renderers/edit.d.ts +23 -0
  132. package/dist/core/tools/renderers/edit.d.ts.map +1 -0
  133. package/dist/core/tools/renderers/edit.js +167 -0
  134. package/dist/core/tools/renderers/edit.js.map +1 -0
  135. package/dist/core/tools/renderers/find.d.ts +10 -0
  136. package/dist/core/tools/renderers/find.d.ts.map +1 -0
  137. package/dist/core/tools/renderers/find.js +64 -0
  138. package/dist/core/tools/renderers/find.js.map +1 -0
  139. package/dist/core/tools/renderers/grep.d.ts +10 -0
  140. package/dist/core/tools/renderers/grep.d.ts.map +1 -0
  141. package/dist/core/tools/renderers/grep.js +69 -0
  142. package/dist/core/tools/renderers/grep.js.map +1 -0
  143. package/dist/core/tools/renderers/index.d.ts +22 -0
  144. package/dist/core/tools/renderers/index.d.ts.map +1 -0
  145. package/dist/core/tools/renderers/index.js +48 -0
  146. package/dist/core/tools/renderers/index.js.map +1 -0
  147. package/dist/core/tools/renderers/ls.d.ts +10 -0
  148. package/dist/core/tools/renderers/ls.d.ts.map +1 -0
  149. package/dist/core/tools/renderers/ls.js +58 -0
  150. package/dist/core/tools/renderers/ls.js.map +1 -0
  151. package/dist/core/tools/renderers/read.d.ts +11 -0
  152. package/dist/core/tools/renderers/read.d.ts.map +1 -0
  153. package/dist/core/tools/renderers/read.js +129 -0
  154. package/dist/core/tools/renderers/read.js.map +1 -0
  155. package/dist/core/tools/renderers/write.d.ts +10 -0
  156. package/dist/core/tools/renderers/write.d.ts.map +1 -0
  157. package/dist/core/tools/renderers/write.js +152 -0
  158. package/dist/core/tools/renderers/write.js.map +1 -0
  159. package/dist/core/tools/write.d.ts.map +1 -1
  160. package/dist/core/tools/write.js +5 -145
  161. package/dist/core/tools/write.js.map +1 -1
  162. package/dist/humain/bedrock-provider/vendor/index.bundle.mjs +51 -12
  163. package/dist/humain/index.d.ts.map +1 -1
  164. package/dist/humain/index.js +2 -0
  165. package/dist/humain/index.js.map +1 -1
  166. package/dist/humain/mcp-adapter/vendor/package.json +2 -2
  167. package/dist/humain/node-http.d.ts +3 -0
  168. package/dist/humain/node-http.d.ts.map +1 -0
  169. package/dist/humain/node-http.js +119 -0
  170. package/dist/humain/node-http.js.map +1 -0
  171. package/dist/humain/node-provider.d.ts +4 -0
  172. package/dist/humain/node-provider.d.ts.map +1 -0
  173. package/dist/humain/node-provider.js +359 -0
  174. package/dist/humain/node-provider.js.map +1 -0
  175. package/dist/humain/web-access/vendor/curator-page.d.ts.map +1 -1
  176. package/dist/humain/web-access/vendor/curator-page.js +3 -1
  177. package/dist/humain/web-access/vendor/curator-page.js.map +1 -1
  178. package/dist/humain/web-access/vendor/curator-server.d.ts +2 -0
  179. package/dist/humain/web-access/vendor/curator-server.d.ts.map +1 -1
  180. package/dist/humain/web-access/vendor/curator-server.js +4 -2
  181. package/dist/humain/web-access/vendor/curator-server.js.map +1 -1
  182. package/dist/humain/web-access/vendor/gemini-search.d.ts +2 -2
  183. package/dist/humain/web-access/vendor/gemini-search.d.ts.map +1 -1
  184. package/dist/humain/web-access/vendor/gemini-search.js +11 -4
  185. package/dist/humain/web-access/vendor/gemini-search.js.map +1 -1
  186. package/dist/humain/web-access/vendor/github-extract.d.ts.map +1 -1
  187. package/dist/humain/web-access/vendor/github-extract.js +238 -1
  188. package/dist/humain/web-access/vendor/github-extract.js.map +1 -1
  189. package/dist/humain/web-access/vendor/index.d.ts.map +1 -1
  190. package/dist/humain/web-access/vendor/index.js +118 -64
  191. package/dist/humain/web-access/vendor/index.js.map +1 -1
  192. package/dist/humain/web-access/vendor/mistral-search.d.ts +4 -0
  193. package/dist/humain/web-access/vendor/mistral-search.d.ts.map +1 -0
  194. package/dist/humain/web-access/vendor/mistral-search.js +274 -0
  195. package/dist/humain/web-access/vendor/mistral-search.js.map +1 -0
  196. package/dist/humain/web-access/vendor/perplexity.d.ts.map +1 -1
  197. package/dist/humain/web-access/vendor/perplexity.js +12 -1
  198. package/dist/humain/web-access/vendor/perplexity.js.map +1 -1
  199. package/dist/humain/web-access/vendor/utils.d.ts.map +1 -1
  200. package/dist/humain/web-access/vendor/utils.js +1 -2
  201. package/dist/humain/web-access/vendor/utils.js.map +1 -1
  202. package/dist/humain/web-access/vendor/xai-search.d.ts.map +1 -1
  203. package/dist/humain/web-access/vendor/xai-search.js +92 -35
  204. package/dist/humain/web-access/vendor/xai-search.js.map +1 -1
  205. package/dist/index.d.ts +1 -1
  206. package/dist/index.d.ts.map +1 -1
  207. package/dist/index.js +1 -51
  208. package/dist/index.js.map +1 -1
  209. package/dist/main.d.ts.map +1 -1
  210. package/dist/main.js +20 -1
  211. package/dist/main.js.map +1 -1
  212. package/dist/modes/interactive/chat-viewport.d.ts +20 -0
  213. package/dist/modes/interactive/chat-viewport.d.ts.map +1 -0
  214. package/dist/modes/interactive/chat-viewport.js +28 -0
  215. package/dist/modes/interactive/chat-viewport.js.map +1 -0
  216. package/dist/modes/interactive/components/assistant-message.d.ts +1 -0
  217. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  218. package/dist/modes/interactive/components/assistant-message.js +18 -10
  219. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  220. package/dist/modes/interactive/components/custom-editor.d.ts +10 -1
  221. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  222. package/dist/modes/interactive/components/custom-editor.js +37 -1
  223. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  224. package/dist/modes/interactive/components/index.d.ts +1 -1
  225. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  226. package/dist/modes/interactive/components/index.js.map +1 -1
  227. package/dist/modes/interactive/components/login-dialog.d.ts +7 -2
  228. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  229. package/dist/modes/interactive/components/login-dialog.js +46 -21
  230. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  231. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  232. package/dist/modes/interactive/components/model-selector.js +8 -17
  233. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  234. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  235. package/dist/modes/interactive/components/scoped-models-selector.js +21 -23
  236. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  237. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  238. package/dist/modes/interactive/components/settings-selector.js +14 -10
  239. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  240. package/dist/modes/interactive/components/status-indicator.d.ts +3 -1
  241. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  242. package/dist/modes/interactive/components/status-indicator.js +10 -3
  243. package/dist/modes/interactive/components/status-indicator.js.map +1 -1
  244. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  245. package/dist/modes/interactive/components/thinking-selector.js +4 -4
  246. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  247. package/dist/modes/interactive/components/tool-execution.d.ts +21 -4
  248. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  249. package/dist/modes/interactive/components/tool-execution.js +34 -32
  250. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  251. package/dist/modes/interactive/components/trust-selector.js +2 -2
  252. package/dist/modes/interactive/components/trust-selector.js.map +1 -1
  253. package/dist/modes/interactive/interactive-mode.d.ts +8 -15
  254. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  255. package/dist/modes/interactive/interactive-mode.js +106 -94
  256. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  257. package/dist/modes/interactive/session-share.d.ts.map +1 -1
  258. package/dist/modes/interactive/session-share.js +8 -12
  259. package/dist/modes/interactive/session-share.js.map +1 -1
  260. package/dist/modes/interactive/theme/dark.json +2 -1
  261. package/dist/modes/interactive/theme/light.json +2 -1
  262. package/dist/modes/interactive/theme/theme-controller.d.ts +1 -0
  263. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
  264. package/dist/modes/interactive/theme/theme-controller.js +5 -0
  265. package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
  266. package/dist/modes/interactive/theme/theme-json.d.ts +84 -0
  267. package/dist/modes/interactive/theme/theme-json.d.ts.map +1 -0
  268. package/dist/modes/interactive/theme/theme-json.js +130 -0
  269. package/dist/modes/interactive/theme/theme-json.js.map +1 -0
  270. package/dist/modes/interactive/theme/theme-schema.json +6 -2
  271. package/dist/modes/interactive/theme/theme.d.ts +14 -5
  272. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  273. package/dist/modes/interactive/theme/theme.js +18 -119
  274. package/dist/modes/interactive/theme/theme.js.map +1 -1
  275. package/dist/modes/interactive/tui-renderer.d.ts +21 -0
  276. package/dist/modes/interactive/tui-renderer.d.ts.map +1 -0
  277. package/dist/modes/interactive/tui-renderer.js +66 -0
  278. package/dist/modes/interactive/tui-renderer.js.map +1 -0
  279. package/dist/utils/exif-orientation.d.ts.map +1 -1
  280. package/dist/utils/exif-orientation.js +2 -3
  281. package/dist/utils/exif-orientation.js.map +1 -1
  282. package/dist/utils/tools-manager.d.ts +1 -0
  283. package/dist/utils/tools-manager.d.ts.map +1 -1
  284. package/dist/utils/tools-manager.js +41 -19
  285. package/dist/utils/tools-manager.js.map +1 -1
  286. package/docs/containerization.md +45 -0
  287. package/docs/development.md +19 -0
  288. package/docs/environment-variables.md +2 -0
  289. package/docs/extensions.md +5 -2
  290. package/docs/humain-terminal.md +6 -0
  291. package/docs/keybindings.md +5 -2
  292. package/docs/models.md +4 -1
  293. package/docs/providers.md +19 -1
  294. package/docs/rpc.md +1 -1
  295. package/docs/sdk.md +5 -0
  296. package/docs/settings.md +3 -3
  297. package/docs/skills.md +1 -1
  298. package/docs/terminal-setup.md +15 -0
  299. package/docs/themes.md +8 -6
  300. package/docs/tui.md +19 -0
  301. package/examples/README.md +3 -0
  302. package/examples/extensions/custom-provider-anthropic/package-lock.json +84 -84
  303. package/examples/extensions/custom-provider-anthropic/package.json +17 -17
  304. package/examples/extensions/custom-provider-gitlab-duo/package.json +14 -14
  305. package/examples/extensions/dynamic-resources/dynamic.json +2 -0
  306. package/examples/extensions/gondolin/package-lock.json +8 -8
  307. package/examples/extensions/gondolin/package.json +1 -1
  308. package/examples/extensions/sandbox/package-lock.json +6 -6
  309. package/examples/extensions/sandbox/package.json +2 -2
  310. package/examples/extensions/with-deps/package-lock.json +29 -29
  311. package/examples/extensions/with-deps/package.json +20 -20
  312. package/examples/plugins/pi-example-plugin/README.md +38 -0
  313. package/examples/plugins/pi-example-plugin/package.json +10 -0
  314. package/examples/plugins/pi-example-plugin/src/contract.ts +13 -0
  315. package/examples/plugins/pi-example-plugin/src/session.ts +23 -0
  316. package/examples/plugins/pi-example-plugin/src/tui.ts +31 -0
  317. package/npm-shrinkwrap.json +772 -205
  318. package/package.json +31 -24
  319. package/src/humain/web-access/UPSTREAM.md +12 -1
  320. package/src/humain/web-access/upstream.json +4 -4
  321. package/dist/bundle/chunks/anthropic-messages-M4LCS3KH.js +0 -6
  322. package/dist/bundle/chunks/chunk-3VI4HD7D.js +0 -31
  323. package/dist/bundle/chunks/chunk-BOW22LW6.js +0 -42
  324. package/dist/bundle/chunks/chunk-CBHC6EL7.js +0 -133
  325. package/dist/bundle/chunks/chunk-JUUC5AZY.js +0 -2
  326. package/dist/bundle/chunks/node-ZHY4LHC7.js +0 -15
  327. package/dist/bundle/chunks/openai-codex-responses-HRVCDY54.js +0 -8
  328. package/dist/bundle/chunks/openai-responses-4MWLJHIK.js +0 -2
  329. package/dist/bundle/chunks/webapi-AFS5FDJJ.js +0 -5
  330. package/dist/bundle/client.js +0 -2
  331. package/dist/cli/experimental/auth.d.ts +0 -16
  332. package/dist/cli/experimental/auth.d.ts.map +0 -1
  333. package/dist/cli/experimental/auth.js +0 -13
  334. package/dist/cli/experimental/auth.js.map +0 -1
  335. package/dist/cli/experimental/cli.d.ts +0 -6
  336. package/dist/cli/experimental/cli.d.ts.map +0 -1
  337. package/dist/cli/experimental/cli.js +0 -5
  338. package/dist/cli/experimental/cli.js.map +0 -1
  339. package/dist/cli/experimental/command-options.d.ts +0 -17
  340. package/dist/cli/experimental/command-options.d.ts.map +0 -1
  341. package/dist/cli/experimental/command-options.js +0 -35
  342. package/dist/cli/experimental/command-options.js.map +0 -1
  343. package/dist/cli/experimental/command.d.ts +0 -63
  344. package/dist/cli/experimental/command.d.ts.map +0 -1
  345. package/dist/cli/experimental/command.js +0 -127
  346. package/dist/cli/experimental/command.js.map +0 -1
  347. package/dist/cli/experimental/commands/client.d.ts +0 -13
  348. package/dist/cli/experimental/commands/client.d.ts.map +0 -1
  349. package/dist/cli/experimental/commands/client.js +0 -25
  350. package/dist/cli/experimental/commands/client.js.map +0 -1
  351. package/dist/cli/experimental/commands/pi.d.ts +0 -15
  352. package/dist/cli/experimental/commands/pi.d.ts.map +0 -1
  353. package/dist/cli/experimental/commands/pi.js +0 -28
  354. package/dist/cli/experimental/commands/pi.js.map +0 -1
  355. package/dist/cli/experimental/commands/server.d.ts +0 -13
  356. package/dist/cli/experimental/commands/server.d.ts.map +0 -1
  357. package/dist/cli/experimental/commands/server.js +0 -25
  358. package/dist/cli/experimental/commands/server.js.map +0 -1
  359. package/dist/cli/experimental/transport-address.d.ts +0 -10
  360. package/dist/cli/experimental/transport-address.d.ts.map +0 -1
  361. package/dist/cli/experimental/transport-address.js +0 -38
  362. package/dist/cli/experimental/transport-address.js.map +0 -1
  363. package/dist/client/index.d.ts +0 -3
  364. package/dist/client/index.d.ts.map +0 -1
  365. package/dist/client/index.js +0 -3
  366. package/dist/client/index.js.map +0 -1
  367. package/dist/client/remote-session.d.ts +0 -53
  368. package/dist/client/remote-session.d.ts.map +0 -1
  369. package/dist/client/remote-session.js +0 -340
  370. package/dist/client/remote-session.js.map +0 -1
  371. package/dist/client/transcript.d.ts +0 -12
  372. package/dist/client/transcript.d.ts.map +0 -1
  373. package/dist/client/transcript.js +0 -98
  374. package/dist/client/transcript.js.map +0 -1
  375. package/dist/server/create-harness.d.ts +0 -26
  376. package/dist/server/create-harness.d.ts.map +0 -1
  377. package/dist/server/create-harness.js +0 -106
  378. package/dist/server/create-harness.js.map +0 -1
package/docs/models.md CHANGED
@@ -394,6 +394,8 @@ By default pi sends per-tool `eager_input_streaming: true`. If a proxy or Anthro
394
394
 
395
395
  Some Anthropic models require adaptive thinking (`thinking.type: "adaptive"` plus `output_config.effort`) instead of the legacy budget-based thinking payload. Built-in models set this automatically. For custom providers or aliases that route to those models, set `forceAdaptiveThinking` to `true`.
396
396
 
397
+ Claude models with per-turn effort support use `supportsMidConvoEffort`. Pi then persists each response's provider effort, reconstructs effort-only system messages on later requests, and sends thinking binding controls with `prefix_mismatch_behavior: "drop_block"` to avoid stale signed-thinking prefixes causing persistent 400 responses. Set this only for the exact supported Claude model on a faithful Anthropic Messages transport; do not enable it for APIs that merely imitate the Messages shape.
398
+
397
399
  Some Anthropic-compatible providers emit thinking blocks with empty signatures and still expect them on replay. Set `allowEmptySignature` to `true` only for those providers; real Anthropic rejects empty thinking signatures.
398
400
 
399
401
  Built-in Anthropic models enable `supportsStrictTools` in their model metadata. Custom Anthropic-compatible models must set it to `true` when their endpoint accepts strict JSON-schema tool definitions.
@@ -430,6 +432,7 @@ Built-in Anthropic models enable `supportsStrictTools` in their model metadata.
430
432
  | `sendSessionAffinityHeaders` | Whether to send `x-session-affinity` from the session id when caching is enabled. Default: auto-detected for known providers. |
431
433
  | `supportsCacheControlOnTools` | Whether the provider accepts Anthropic-style `cache_control` markers on tool definitions. Default: `true`. |
432
434
  | `forceAdaptiveThinking` | Whether to send adaptive thinking (`thinking.type: "adaptive"` plus `output_config.effort`) for this model. Built-in adaptive models set this automatically. Default: `false`. |
435
+ | `supportsMidConvoEffort` | Whether the exact Claude model transport supports per-turn effort system messages and thinking binding controls. Pi persists native effort levels and always sends `drop_block` when enabled. Default: `false`. |
433
436
  | `allowEmptySignature` | Whether to replay empty thinking signatures as `signature: ""` instead of converting thinking to text. Default: `false`. |
434
437
  | `supportsStrictTools` | Whether the provider accepts strict JSON-schema tool definitions. Default: `false`; built-in Anthropic models enable it in generated metadata. |
435
438
 
@@ -479,7 +482,7 @@ For providers with partial OpenAI compatibility, use the `compat` field.
479
482
  | `supportsStrictMode` | Whether the provider accepts strict JSON-schema function tool definitions. Defaults depend on the API; built-in OpenAI models carry explicit capability metadata. |
480
483
  | `supportsOpenAIGrammarTools` | Whether OpenAI-compatible APIs emit custom Lark/regex grammar tools. When `false`, grammar-constrained tools fall back to normal function tools. Default: `false`; the built-in model catalog enables it for GPT-5+ models on OpenAI, OpenAI Codex, Azure OpenAI, GitHub Copilot, opencode, and Cloudflare AI Gateway. |
481
484
  | `deferredToolsMode` | Use provider-specific deferred tool serialization. Currently only `"kimi"` is supported for Kimi's OpenAI-compatible Chat Completions format. |
482
- | `supportsLongCacheRetention` | Whether the provider accepts long cache retention when cache retention is `long`: `prompt_cache_retention: "24h"` for OpenAI prompt caching, or `cache_control.ttl: "1h"` when `cacheControlFormat` is `anthropic`. Default: `true`. |
485
+ | `supportsLongCacheRetention` | Whether the provider accepts long cache retention when cache retention is `long`: `prompt_cache_options.ttl: "30m"` for GPT-5.6+ Responses models, `prompt_cache_retention: "24h"` for earlier OpenAI models, or `cache_control.ttl: "1h"` when `cacheControlFormat` is `anthropic`. Default: `true`. |
483
486
  | `openRouterRouting` | OpenRouter provider routing preferences. This object is sent as-is in the `provider` field of the [OpenRouter API request](https://openrouter.ai/docs/guides/routing/provider-selection). |
484
487
  | `vercelGatewayRouting` | Vercel AI Gateway routing config for provider selection (`only`, `order`) |
485
488
 
package/docs/providers.md CHANGED
@@ -6,6 +6,7 @@ HUMAIN Terminal supports subscription-based providers via OAuth and API key prov
6
6
 
7
7
  - [Subscriptions](#subscriptions)
8
8
  - [API Keys](#api-keys)
9
+ - [HUMAIN Node](#humain-node)
9
10
  - [Auth File](#auth-file)
10
11
  - [Cloud Providers](#cloud-providers)
11
12
  - [llama.cpp](#llamacpp)
@@ -72,6 +73,7 @@ humain-terminal
72
73
  | Ant Ling | `ANT_LING_API_KEY` | `ant-ling` |
73
74
  | Azure OpenAI Responses | `AZURE_OPENAI_API_KEY` | `azure-openai-responses` |
74
75
  | OpenAI | `OPENAI_API_KEY` | `openai` |
76
+ | HUMAIN Node | `HUMAIN_NODE_API_KEY` | `humain-node` |
75
77
  | DeepSeek | `DEEPSEEK_API_KEY` | `deepseek` |
76
78
  | NVIDIA NIM | `NVIDIA_API_KEY` | `nvidia` |
77
79
  | Google Gemini | `GEMINI_API_KEY` | `google` |
@@ -104,7 +106,7 @@ humain-terminal
104
106
  | Xiaomi MiMo Token Plan (Amsterdam) | `XIAOMI_TOKEN_PLAN_AMS_API_KEY` | `xiaomi-token-plan-ams` |
105
107
  | Xiaomi MiMo Token Plan (Singapore) | `XIAOMI_TOKEN_PLAN_SGP_API_KEY` | `xiaomi-token-plan-sgp` |
106
108
 
107
- Reference for environment variables and `auth.json` keys: [`const envMap`](../../ai/src/env-api-keys.ts).
109
+ Reference for built-in environment variables and `auth.json` keys: [`const envMap`](../../ai/src/env-api-keys.ts). HUMAIN Node is registered by the bundled HUMAIN extension.
108
110
 
109
111
  #### Auth File
110
112
 
@@ -184,6 +186,22 @@ The `key` field supports command execution, environment interpolation, and liter
184
186
 
185
187
  OAuth credentials are also stored here after `/login` and managed automatically.
186
188
 
189
+ ## HUMAIN Node
190
+
191
+ Run `/login humain-node` (or select **HUMAIN Node** in `/login`). Enter the API key in the masked terminal prompt, then accept `https://api.node.humain.com/v1` or enter a custom base URL. Login validates the key with `GET /models` before saving credentials.
192
+
193
+ To obtain a key, open your Team's **Users** page in HUMAIN Node, select the user for this workload and environment, and create an API key. Save it in your local environment as `HUMAIN_NODE_API_KEY` or in a secret manager. Never paste it into chat. If the environment variable is set, leave the login key prompt blank to use it without copying the key into `auth.json`.
194
+
195
+ `HUMAIN_NODE_BASE_URL` optionally changes the default endpoint. A URL saved during login takes priority. Custom URLs must use HTTPS; HTTP is allowed for localhost testing.
196
+
197
+ After login, use `/model` to select a discovered Node model and submit a prompt normally. For headless use, set `HUMAIN_NODE_API_KEY`, run `humain-terminal --list-models`, then pass a returned model ID with `humain-terminal --provider humain-node --model MODEL_ID -p "Say hello"`.
198
+
199
+ Only models advertising a supported text API, streaming, and tool calling are offered for coding. Node's model metadata chooses Responses, Chat Completions, or Messages and supplies context/output limits and image-input support. Catalogs are refreshed from Node and kept in memory, scoped to the active key and URL; Node models are unavailable offline after a restart. Image generation and realtime sessions are outside the coding model picker.
200
+
201
+ Token and cache usage reported by Node flows into the normal session statistics. The supplied API does not expose account spend, remaining quota, or model prices: zero-valued internal cost fields mean pricing is unavailable, not free usage. Use HUMAIN Node for billing and account usage reports.
202
+
203
+ Failed requests include the supplied `X-Request-ID`. Temporary failures use bounded retries that respect `Retry-After`; quota and weekly-spend limits require action in Node. If a model becomes unavailable, open `/model` to refresh the catalog and select an available model. Run `/logout` and select **HUMAIN Node** to remove saved credentials; unset `HUMAIN_NODE_API_KEY` as well to disconnect an environment-based key.
204
+
187
205
  ## Cloud Providers
188
206
 
189
207
  ### Azure OpenAI
package/docs/rpc.md CHANGED
@@ -141,7 +141,7 @@ See [set_follow_up_mode](#set_follow_up_mode) for controlling how follow-up mess
141
141
 
142
142
  #### abort
143
143
 
144
- Abort the current agent operation.
144
+ Abort the current operation and wait for the session to become idle before responding.
145
145
 
146
146
  ```json
147
147
  {"type": "abort"}
package/docs/sdk.md CHANGED
@@ -788,6 +788,11 @@ const { session: opened } = await createAgentSession({
788
788
  sessionManager: SessionManager.open("/path/to/session.jsonl"),
789
789
  });
790
790
 
791
+ // Resume a session kept outside the filesystem, e.g. in a database
792
+ const { session: restored } = await createAgentSession({
793
+ sessionManager: SessionManager.inMemory(process.cwd(), { id: sessionId }, entries),
794
+ });
795
+
791
796
  // List sessions
792
797
  const currentProjectSessions = await SessionManager.list(process.cwd());
793
798
  const allSessions = await SessionManager.listAll(process.cwd());
package/docs/settings.md CHANGED
@@ -32,7 +32,7 @@ Use `/trust` in interactive mode to save a project trust decision for future ses
32
32
  | `defaultThinkingLevel` | string | - | Startup thinking level (saved with Ctrl+S in `/thinking`, or edited manually): `"off"`, `"minimal"`, `"low"`, `"medium"`, `"high"`, `"xhigh"`, `"max"` |
33
33
  | `modelThinkingLevels` | object | - | Per-model startup thinking levels keyed by `"provider/modelId"`; configure from `/settings` → Default thinking level per model or edit manually |
34
34
  | `hideThinkingBlock` | boolean | `false` | Hide thinking blocks in output |
35
- | `showCacheMissNotices` | boolean | `false` | Show transcript notices for significant prompt-cache misses and compaction or branch-summary usage |
35
+ | `showCacheMissNotices` | boolean | `false` | Show transcript notices for significant prompt-cache misses, compaction or branch-summary usage, and provider recovery diagnostics such as dropped Anthropic thinking blocks |
36
36
  | `thinkingBudgets` | object | - | Custom token budgets per thinking level. Anthropic, Google, and Bedrock use these natively. OpenAI-compatible models use them when `compat.thinkingTokenBudgetField` (or `supportsThinkingTokenBudget`) is set. |
37
37
 
38
38
  #### thinkingBudgets
@@ -68,7 +68,7 @@ Use `/trust` in interactive mode to save a project trust decision for future ses
68
68
  | `showHardwareCursor` | boolean | `false` | Show the terminal cursor while TUI positions it for IME support |
69
69
  | `tuiMode` | string | `"regular"` | Interactive TUI mode: `"regular"` or experimental `"fullscreen"`. Changes from `/settings` apply immediately; `--tui-mode` overrides this setting at startup |
70
70
  | `fullscreenExitOutput` | string | `"transcript"` | Fullscreen exit output: `"transcript"` prints the final transcript and resume hint, while `"resume-hint"` restores the previous screen and prints only the resume hint. Has no effect in regular TUI mode |
71
- | `fullscreenScrollbar` | string | `"auto"` | Fullscreen transcript scrollbar: `"auto"` shows it temporarily while scrolling, `"always"` reserves the rightmost column and keeps it visible, and `"hidden"` hides it. Has no effect in regular TUI mode |
71
+ | `fullscreenScrollbar` | string | `"auto"` | Fullscreen transcript scrollbar: `"auto"` shows it temporarily while scrolling or while the pointer is over its rightmost-column track, `"always"` reserves that column and keeps it visible, and `"hidden"` hides it. Has no effect in regular TUI mode |
72
72
  | `fullscreenCopyOnSelect` | boolean | `true` | Automatically copy selected text in fullscreen mode. When disabled, selections stay highlighted and `Ctrl+X` copies the active selection |
73
73
 
74
74
  For VS Code, include `--wait` so HUMAIN Terminal resumes after the editor exits:
@@ -133,7 +133,7 @@ Set `HUMAIN_TERMINAL_SKIP_VERSION_CHECK=1` to disable the HUMAIN Terminal versio
133
133
 
134
134
  | Setting | Type | Default | Description |
135
135
  |---------|------|---------|-------------|
136
- | `branchSummary.reserveTokens` | number | `16384` | Tokens reserved for branch summarization |
136
+ | `branchSummary.reserveTokens` | number | `16384` | Tokens reserved when selecting branch history; output is capped at 4096 tokens |
137
137
  | `branchSummary.skipPrompt` | boolean | `false` | Skip "Summarize branch?" prompt on `/tree` navigation (defaults to no summary) |
138
138
 
139
139
  ### Retry
package/docs/skills.md CHANGED
@@ -66,7 +66,7 @@ For project-level Claude Code skills, add to `.humain-terminal/settings.json`:
66
66
 
67
67
  1. At startup, HUMAIN Terminal scans skill locations and extracts names and descriptions
68
68
  2. The system prompt includes available skills in XML format per the [specification](https://agentskills.io/integrate-skills)
69
- 3. When a task matches, the agent uses `read` to load the full SKILL.md (models don't always do this; use prompting or `/skill:name` to force it)
69
+ 3. When a task matches, the agent uses `read`, or `bash` when `read` is unavailable, to load the full SKILL.md (models don't always do this; use prompting or `/skill:name` to force it)
70
70
  4. The agent follows the instructions, using relative paths to reference scripts and assets
71
71
 
72
72
  This is progressive disclosure: only descriptions are always in context, full instructions load on-demand.
@@ -130,6 +130,21 @@ Add to `keybindings.json`:
130
130
  }
131
131
  ```
132
132
 
133
+ ## Zed (Integrated Terminal)
134
+
135
+ Add these key bindings to your Zed `keymap.json`:
136
+
137
+ ```json
138
+ {
139
+ "context": "Terminal",
140
+ "bindings": {
141
+ "shift-enter": ["terminal::SendText", "\u001b[13;2u"],
142
+ "ctrl--": ["terminal::SendText", "\u001b[45;5u"],
143
+ "ctrl-alt-]": ["terminal::SendText", "\u001b[93;7u"]
144
+ }
145
+ }
146
+ ```
147
+
133
148
  ## Windows Terminal
134
149
 
135
150
  HUMAIN Terminal uses Windows-style keybindings when running natively on Windows or in WSL:
package/docs/themes.md CHANGED
@@ -87,7 +87,8 @@ vim ~/.humain-terminal/agent/themes/my-theme.json
87
87
  "text": "",
88
88
  "thinkingText": "secondary",
89
89
  "selectedBg": "#2d2d30",
90
- "scrollbarThumb": "#555566",
90
+ "scrollbarTrack": "secondary",
91
+ "scrollbarThumb": "",
91
92
  "searchMatchBg": "#2d2d30",
92
93
  "searchMatchText": "",
93
94
  "userMessageBg": "#2d2d30",
@@ -159,15 +160,15 @@ vim ~/.humain-terminal/agent/themes/my-theme.json
159
160
 
160
161
  - `name` is required, must be unique, and must not contain `/`.
161
162
  - `vars` is optional. Define reusable colors here, then reference them in `colors`.
162
- - `colors` must define all 51 required tokens. `thinkingMax`, `scrollbarThumb`, and the two search highlight tokens are optional and use the fallbacks listed below.
163
+ - `colors` must define all 53 required tokens. `thinkingMax` and the two search highlight tokens are optional and use the fallbacks listed below.
163
164
 
164
165
  The `$schema` field enables editor auto-completion and validation.
165
166
 
166
167
  ## Color Tokens
167
168
 
168
- Every theme must define all 51 required color tokens. The optional tokens preserve compatibility with existing themes: `thinkingMax` falls back to `thinkingXhigh`, `scrollbarThumb` and `searchMatchBg` fall back to `selectedBg`, and `searchMatchText` falls back to `text`. Other search matches use `searchMatchText` on `searchMatchBg` with an underline; the current match reverses that foreground/background pair and uses bold text.
169
+ Every theme must define all 53 required color tokens. The optional tokens preserve compatibility with existing themes: `thinkingMax` falls back to `thinkingXhigh`, `searchMatchBg` falls back to `selectedBg`, and `searchMatchText` falls back to `text`. Other search matches use `searchMatchText` on `searchMatchBg` with an underline; the current match reverses that foreground/background pair and uses bold text.
169
170
 
170
- ### Core UI (11 colors)
171
+ ### Core UI (13 colors)
171
172
 
172
173
  | Token | Purpose |
173
174
  |-------|---------|
@@ -182,13 +183,14 @@ Every theme must define all 51 required color tokens. The optional tokens preser
182
183
  | `dim` | Tertiary text |
183
184
  | `text` | Default text (usually `""`) |
184
185
  | `thinkingText` | Thinking block text |
186
+ | `scrollbarTrack` | Fullscreen scrollbar track foreground |
187
+ | `scrollbarThumb` | Fullscreen scrollbar thumb foreground, shared by normal and expanded states |
185
188
 
186
- ### Backgrounds & Content (11 required, 3 optional)
189
+ ### Backgrounds & Content (11 required, 2 optional)
187
190
 
188
191
  | Token | Purpose |
189
192
  |-------|---------|
190
193
  | `selectedBg` | Selected line background |
191
- | `scrollbarThumb` | Fullscreen scrollbar thumb background; optional, falls back to `selectedBg` |
192
194
  | `searchMatchBg` | Transcript search match background and current-match text; optional, falls back to `selectedBg` |
193
195
  | `searchMatchText` | Transcript search match text and current-match background; optional, falls back to `text` |
194
196
  | `userMessageBg` | User message background |
package/docs/tui.md CHANGED
@@ -14,6 +14,7 @@ All components implement:
14
14
  interface Component {
15
15
  render(width: number): string[];
16
16
  handleInput?(data: string): void;
17
+ handleMouse?(event: TuiMouseEvent): TuiMouseEventResult | undefined;
17
18
  wantsKeyRelease?: boolean;
18
19
  invalidate(): void;
19
20
  }
@@ -23,6 +24,7 @@ interface Component {
23
24
  |--------|-------------|
24
25
  | `render(width)` | Return array of strings (one per line). Each line **must not exceed `width`**. |
25
26
  | `handleInput?(data)` | Receive keyboard input when component has focus. |
27
+ | `handleMouse?(event)` | Receive normalized pointer input in fullscreen mode. |
26
28
  | `wantsKeyRelease?` | If true, component receives key release events (Kitty protocol). Default: false. |
27
29
  | `invalidate()` | Clear cached render state. Called on theme changes. |
28
30
 
@@ -307,6 +309,22 @@ handleInput(data: string) {
307
309
  - With modifiers: `Key.ctrl("c")`, `Key.shift("tab")`, `Key.alt("left")`, `Key.ctrlShift("p")`
308
310
  - String format also works: `"enter"`, `"ctrl+c"`, `"shift+tab"`, `"ctrl+shift+p"`
309
311
 
312
+ ## Mouse Input
313
+
314
+ Fullscreen mode routes normalized press, release, click, move, drag, and wheel events to components and overlays. Return `{ handled: true }` to suppress default behavior, `capture: true` to retain drag/release ownership, `focus: true` to request keyboard focus, and `render: true` when a hover or release visibly changes the component. Press, click, drag, and wheel render by default; no-op move/release events do not.
315
+
316
+ ```typescript
317
+ import { MouseRegion } from "@earendil-works/pi-tui";
318
+
319
+ const clickable = new MouseRegion(content, (event) => {
320
+ if (event.type !== "click" || event.button !== "left") return undefined;
321
+ expanded = !expanded;
322
+ return { handled: true };
323
+ });
324
+ ```
325
+
326
+ Unhandled wheel input scrolls the nearest `ScrollView`; unhandled primary-button drags retain transcript selection. OSC 8 links take precedence over parent click regions. `Input`, `Editor`, `SelectList`, and `SettingsList` include fullscreen mouse behavior. Regular mode does not capture mouse input because the terminal owns its scrollback.
327
+
310
328
  ## Line Width
311
329
 
312
330
  **Critical:** Each line from `render()` must not exceed the `width` parameter.
@@ -912,6 +930,7 @@ export default function (pi: ExtensionAPI) {
912
930
 
913
931
  - **Extend `CustomEditor`** (not base `Editor`) to get app keybindings (escape to abort, ctrl+d to exit, model switching, etc.)
914
932
  - **Call `super.handleInput(data)`** for keys you don't handle
933
+ - **Working status**: custom editors keep the standalone working row by default. Pass `{ embedWorkingStatus: true }` as the fourth `CustomEditor` constructor argument to use the built-in editor-border spinner instead.
915
934
  - **Factory pattern**: `setEditorComponent` receives a factory function that gets `tui`, `theme`, and `keybindings`
916
935
  - **Pass `undefined`** to restore the default editor: `ctx.ui.setEditorComponent(undefined)`
917
936
 
@@ -18,6 +18,9 @@ Example extensions demonstrating:
18
18
  - External integrations (SSH, file watchers, system theme sync)
19
19
  - Custom providers (Anthropic with custom streaming, GitLab Duo)
20
20
 
21
+ ### [plugins/pi-example-plugin/](plugins/pi-example-plugin/)
22
+ An experimental plugin package that Pi automatically builds into separate Session-worker and TUI Chord facets.
23
+
21
24
  ## Documentation
22
25
 
23
26
  - [SDK Reference](sdk/README.md)
@@ -1,86 +1,86 @@
1
1
  {
2
- "name": "pi-extension-custom-provider-anthropic",
3
- "version": "0.84.4",
4
- "lockfileVersion": 3,
5
- "requires": true,
6
- "packages": {
7
- "": {
8
- "name": "pi-extension-custom-provider-anthropic",
9
- "version": "0.84.4",
10
- "dependencies": {
11
- "@anthropic-ai/sdk": "0.121.0"
12
- }
13
- },
14
- "node_modules/@anthropic-ai/sdk": {
15
- "version": "0.121.0",
16
- "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.121.0.tgz",
17
- "integrity": "sha512-WFzwcH8l49CZHv0vQ9QQT51VJ1/DLDQfNSs9awpGlnKBdaSnqtdZa+tw/3cxxosTPIgK8uw1GqsJ2dSbCBD1Lg==",
18
- "license": "MIT",
19
- "dependencies": {
20
- "json-schema-to-ts": "^3.1.1",
21
- "standardwebhooks": "^1.0.0"
22
- },
23
- "bin": {
24
- "anthropic-ai-sdk": "bin/cli"
25
- },
26
- "peerDependencies": {
27
- "zod": "^3.25.0 || ^4.0.0"
28
- },
29
- "peerDependenciesMeta": {
30
- "zod": {
31
- "optional": true
32
- }
33
- }
34
- },
35
- "node_modules/@babel/runtime": {
36
- "version": "7.29.7",
37
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz",
38
- "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==",
39
- "license": "MIT",
40
- "engines": {
41
- "node": ">=6.9.0"
42
- }
43
- },
44
- "node_modules/@stablelib/base64": {
45
- "version": "1.0.1",
46
- "resolved": "https://registry.npmjs.org/@stablelib/base64/-/base64-1.0.1.tgz",
47
- "integrity": "sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ==",
48
- "license": "MIT"
49
- },
50
- "node_modules/fast-sha256": {
51
- "version": "1.3.0",
52
- "resolved": "https://registry.npmjs.org/fast-sha256/-/fast-sha256-1.3.0.tgz",
53
- "integrity": "sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ==",
54
- "license": "Unlicense"
55
- },
56
- "node_modules/json-schema-to-ts": {
57
- "version": "3.1.1",
58
- "resolved": "https://registry.npmjs.org/json-schema-to-ts/-/json-schema-to-ts-3.1.1.tgz",
59
- "integrity": "sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g==",
60
- "license": "MIT",
61
- "dependencies": {
62
- "@babel/runtime": "^7.18.3",
63
- "ts-algebra": "^2.0.0"
64
- },
65
- "engines": {
66
- "node": ">=16"
67
- }
68
- },
69
- "node_modules/standardwebhooks": {
70
- "version": "1.1.1",
71
- "resolved": "https://registry.npmjs.org/standardwebhooks/-/standardwebhooks-1.1.1.tgz",
72
- "integrity": "sha512-bCbX9ZEyFkWPsRz7Bl3NuQUJohmwGSev/yhr7vhaGPlc4AfIrspIRa6cPTBuI1ItmrTDJ4d/S2hCsfe4+vQGnQ==",
73
- "license": "MIT",
74
- "dependencies": {
75
- "@stablelib/base64": "^1.0.0",
76
- "fast-sha256": "^1.3.0"
77
- }
78
- },
79
- "node_modules/ts-algebra": {
80
- "version": "2.0.0",
81
- "resolved": "https://registry.npmjs.org/ts-algebra/-/ts-algebra-2.0.0.tgz",
82
- "integrity": "sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==",
83
- "license": "MIT"
84
- }
85
- }
2
+ "name": "pi-extension-custom-provider-anthropic",
3
+ "version": "0.85.1",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "pi-extension-custom-provider-anthropic",
9
+ "version": "0.85.1",
10
+ "dependencies": {
11
+ "@anthropic-ai/sdk": "0.124.0"
12
+ }
13
+ },
14
+ "node_modules/@anthropic-ai/sdk": {
15
+ "version": "0.124.0",
16
+ "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.124.0.tgz",
17
+ "integrity": "sha512-cN5O8i9UVxHeOQAzj/XjshWXG8KiibJDw9OGpH2Z/eR3n/RBxdoLxDJOcfqAJWvjaMDFfHTBADU04hWRJVkDyA==",
18
+ "license": "MIT",
19
+ "dependencies": {
20
+ "json-schema-to-ts": "^3.1.1",
21
+ "standardwebhooks": "^1.0.0"
22
+ },
23
+ "bin": {
24
+ "anthropic-ai-sdk": "bin/cli"
25
+ },
26
+ "peerDependencies": {
27
+ "zod": "^3.25.0 || ^4.0.0"
28
+ },
29
+ "peerDependenciesMeta": {
30
+ "zod": {
31
+ "optional": true
32
+ }
33
+ }
34
+ },
35
+ "node_modules/@babel/runtime": {
36
+ "version": "7.29.7",
37
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz",
38
+ "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==",
39
+ "license": "MIT",
40
+ "engines": {
41
+ "node": ">=6.9.0"
42
+ }
43
+ },
44
+ "node_modules/@stablelib/base64": {
45
+ "version": "1.0.1",
46
+ "resolved": "https://registry.npmjs.org/@stablelib/base64/-/base64-1.0.1.tgz",
47
+ "integrity": "sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ==",
48
+ "license": "MIT"
49
+ },
50
+ "node_modules/fast-sha256": {
51
+ "version": "1.3.0",
52
+ "resolved": "https://registry.npmjs.org/fast-sha256/-/fast-sha256-1.3.0.tgz",
53
+ "integrity": "sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ==",
54
+ "license": "Unlicense"
55
+ },
56
+ "node_modules/json-schema-to-ts": {
57
+ "version": "3.1.1",
58
+ "resolved": "https://registry.npmjs.org/json-schema-to-ts/-/json-schema-to-ts-3.1.1.tgz",
59
+ "integrity": "sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g==",
60
+ "license": "MIT",
61
+ "dependencies": {
62
+ "@babel/runtime": "^7.18.3",
63
+ "ts-algebra": "^2.0.0"
64
+ },
65
+ "engines": {
66
+ "node": ">=16"
67
+ }
68
+ },
69
+ "node_modules/standardwebhooks": {
70
+ "version": "1.1.1",
71
+ "resolved": "https://registry.npmjs.org/standardwebhooks/-/standardwebhooks-1.1.1.tgz",
72
+ "integrity": "sha512-bCbX9ZEyFkWPsRz7Bl3NuQUJohmwGSev/yhr7vhaGPlc4AfIrspIRa6cPTBuI1ItmrTDJ4d/S2hCsfe4+vQGnQ==",
73
+ "license": "MIT",
74
+ "dependencies": {
75
+ "@stablelib/base64": "^1.0.0",
76
+ "fast-sha256": "^1.3.0"
77
+ }
78
+ },
79
+ "node_modules/ts-algebra": {
80
+ "version": "2.0.0",
81
+ "resolved": "https://registry.npmjs.org/ts-algebra/-/ts-algebra-2.0.0.tgz",
82
+ "integrity": "sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==",
83
+ "license": "MIT"
84
+ }
85
+ }
86
86
  }
@@ -1,19 +1,19 @@
1
1
  {
2
- "name": "pi-extension-custom-provider-anthropic",
3
- "private": true,
4
- "version": "0.84.4",
5
- "type": "module",
6
- "scripts": {
7
- "clean": "echo 'nothing to clean'",
8
- "build": "echo 'nothing to build'",
9
- "check": "echo 'nothing to check'"
10
- },
11
- "pi": {
12
- "extensions": [
13
- "./index.ts"
14
- ]
15
- },
16
- "dependencies": {
17
- "@anthropic-ai/sdk": "0.121.0"
18
- }
2
+ "name": "pi-extension-custom-provider-anthropic",
3
+ "private": true,
4
+ "version": "0.85.1",
5
+ "type": "module",
6
+ "scripts": {
7
+ "clean": "echo 'nothing to clean'",
8
+ "build": "echo 'nothing to build'",
9
+ "check": "echo 'nothing to check'"
10
+ },
11
+ "pi": {
12
+ "extensions": [
13
+ "./index.ts"
14
+ ]
15
+ },
16
+ "dependencies": {
17
+ "@anthropic-ai/sdk": "0.124.0"
18
+ }
19
19
  }
@@ -1,16 +1,16 @@
1
1
  {
2
- "name": "pi-extension-custom-provider-gitlab-duo",
3
- "private": true,
4
- "version": "0.84.4",
5
- "type": "module",
6
- "scripts": {
7
- "clean": "echo 'nothing to clean'",
8
- "build": "echo 'nothing to build'",
9
- "check": "echo 'nothing to check'"
10
- },
11
- "pi": {
12
- "extensions": [
13
- "./index.ts"
14
- ]
15
- }
2
+ "name": "pi-extension-custom-provider-gitlab-duo",
3
+ "private": true,
4
+ "version": "0.85.1",
5
+ "type": "module",
6
+ "scripts": {
7
+ "clean": "echo 'nothing to clean'",
8
+ "build": "echo 'nothing to build'",
9
+ "check": "echo 'nothing to check'"
10
+ },
11
+ "pi": {
12
+ "extensions": [
13
+ "./index.ts"
14
+ ]
15
+ }
16
16
  }
@@ -30,6 +30,8 @@
30
30
  "dim": "dimGray",
31
31
  "text": "",
32
32
  "thinkingText": "gray",
33
+ "scrollbarTrack": "darkGray",
34
+ "scrollbarThumb": "",
33
35
  "selectedBg": "selectedBg",
34
36
  "userMessageBg": "userMsgBg",
35
37
  "userMessageText": "",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "pi-extension-gondolin",
3
- "version": "0.84.4",
3
+ "version": "0.85.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "pi-extension-gondolin",
9
- "version": "0.84.4",
9
+ "version": "0.85.1",
10
10
  "dependencies": {
11
11
  "@earendil-works/gondolin": "0.12.0"
12
12
  }
@@ -128,9 +128,9 @@
128
128
  }
129
129
  },
130
130
  "node_modules/nan": {
131
- "version": "2.27.0",
132
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.27.0.tgz",
133
- "integrity": "sha512-hC+0LidcL3XE4rp1C4H54KujgXKzbfyTngZTwBByQxsOxCEKZT0MPQ4hOKUH2jU1OYstqdDH4onyHPDzcV0XdQ==",
131
+ "version": "2.28.0",
132
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.28.0.tgz",
133
+ "integrity": "sha512-fTsDz99OTq2sVePhGdp4qQhggZFtKr64ZNVyVajRKtMOkJxYekplBh577PiJB12v/D3s2E5cGtOI45LWp6rnLQ==",
134
134
  "license": "MIT",
135
135
  "optional": true
136
136
  },
@@ -173,9 +173,9 @@
173
173
  "license": "Unlicense"
174
174
  },
175
175
  "node_modules/undici": {
176
- "version": "6.26.0",
177
- "resolved": "https://registry.npmjs.org/undici/-/undici-6.26.0.tgz",
178
- "integrity": "sha512-4yqz8a3n5HmGTlsbADNtr/dJlhkh/55Rq798G6ibiULcXbDtaLpTl1pvdqcbFfeoj3iSi52lePFM7h9H21cw/A==",
176
+ "version": "6.28.1",
177
+ "resolved": "https://registry.npmjs.org/undici/-/undici-6.28.1.tgz",
178
+ "integrity": "sha512-zWpdTVD54H48CIybL0rWQ3ukpb9d23wM7eH5RtfdmeP70cWHNjtfo7P4vZX+5CoDcO53J4Pu5uXp7lNfjc6DRA==",
179
179
  "license": "MIT",
180
180
  "engines": {
181
181
  "node": ">=18.17"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pi-extension-gondolin",
3
3
  "private": true,
4
- "version": "0.84.4",
4
+ "version": "0.85.1",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "pi-extension-sandbox",
3
- "version": "1.14.4",
3
+ "version": "1.15.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "pi-extension-sandbox",
9
- "version": "1.14.4",
9
+ "version": "1.15.1",
10
10
  "dependencies": {
11
- "@anthropic-ai/sandbox-runtime": "0.0.74"
11
+ "@anthropic-ai/sandbox-runtime": "0.0.75"
12
12
  }
13
13
  },
14
14
  "node_modules/@anthropic-ai/sandbox-runtime": {
15
- "version": "0.0.74",
16
- "resolved": "https://registry.npmjs.org/@anthropic-ai/sandbox-runtime/-/sandbox-runtime-0.0.74.tgz",
17
- "integrity": "sha512-k6xD9HPp4gCwIAQtAloTBSaKGGNQhH7o1ck0057iBxu3iHclM2vx+JzIXLDB9j4oaP9hwGcNlWSP5K7bgc1CIQ==",
15
+ "version": "0.0.75",
16
+ "resolved": "https://registry.npmjs.org/@anthropic-ai/sandbox-runtime/-/sandbox-runtime-0.0.75.tgz",
17
+ "integrity": "sha512-oqAKi6QtkT2DpLwFoDCDD757zw2i6ftpLTyV8rNSV9QWF53q2m1JxEs0RYXv2CIXtCoje4RGYQylagn15RKmww==",
18
18
  "license": "Apache-2.0",
19
19
  "dependencies": {
20
20
  "@pondwader/socks5-server": "^1.0.10",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pi-extension-sandbox",
3
3
  "private": true,
4
- "version": "1.14.4",
4
+ "version": "1.15.1",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -14,6 +14,6 @@
14
14
  ]
15
15
  },
16
16
  "dependencies": {
17
- "@anthropic-ai/sandbox-runtime": "0.0.74"
17
+ "@anthropic-ai/sandbox-runtime": "0.0.75"
18
18
  }
19
19
  }