@humain/terminal 0.0.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 (894) hide show
  1. package/CHANGELOG.md +5185 -0
  2. package/README.md +688 -0
  3. package/dist/bun/cli.d.ts +3 -0
  4. package/dist/bun/cli.d.ts.map +1 -0
  5. package/dist/bun/cli.js +11 -0
  6. package/dist/bun/cli.js.map +1 -0
  7. package/dist/bun/register-bedrock.d.ts +2 -0
  8. package/dist/bun/register-bedrock.d.ts.map +1 -0
  9. package/dist/bun/register-bedrock.js +4 -0
  10. package/dist/bun/register-bedrock.js.map +1 -0
  11. package/dist/bun/restore-sandbox-env.d.ts +17 -0
  12. package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
  13. package/dist/bun/restore-sandbox-env.js +36 -0
  14. package/dist/bun/restore-sandbox-env.js.map +1 -0
  15. package/dist/cli/args.d.ts +58 -0
  16. package/dist/cli/args.d.ts.map +1 -0
  17. package/dist/cli/args.js +410 -0
  18. package/dist/cli/args.js.map +1 -0
  19. package/dist/cli/config-selector.d.ts +16 -0
  20. package/dist/cli/config-selector.d.ts.map +1 -0
  21. package/dist/cli/config-selector.js +31 -0
  22. package/dist/cli/config-selector.js.map +1 -0
  23. package/dist/cli/file-processor.d.ts +15 -0
  24. package/dist/cli/file-processor.d.ts.map +1 -0
  25. package/dist/cli/file-processor.js +70 -0
  26. package/dist/cli/file-processor.js.map +1 -0
  27. package/dist/cli/initial-message.d.ts +18 -0
  28. package/dist/cli/initial-message.d.ts.map +1 -0
  29. package/dist/cli/initial-message.js +22 -0
  30. package/dist/cli/initial-message.js.map +1 -0
  31. package/dist/cli/list-models.d.ts +9 -0
  32. package/dist/cli/list-models.d.ts.map +1 -0
  33. package/dist/cli/list-models.js +98 -0
  34. package/dist/cli/list-models.js.map +1 -0
  35. package/dist/cli/project-trust.d.ts +10 -0
  36. package/dist/cli/project-trust.d.ts.map +1 -0
  37. package/dist/cli/project-trust.js +48 -0
  38. package/dist/cli/project-trust.js.map +1 -0
  39. package/dist/cli/session-picker.d.ts +10 -0
  40. package/dist/cli/session-picker.d.ts.map +1 -0
  41. package/dist/cli/session-picker.js +36 -0
  42. package/dist/cli/session-picker.js.map +1 -0
  43. package/dist/cli/startup-ui.d.ts +26 -0
  44. package/dist/cli/startup-ui.d.ts.map +1 -0
  45. package/dist/cli/startup-ui.js +183 -0
  46. package/dist/cli/startup-ui.js.map +1 -0
  47. package/dist/cli.d.ts +3 -0
  48. package/dist/cli.d.ts.map +1 -0
  49. package/dist/cli.js +18 -0
  50. package/dist/cli.js.map +1 -0
  51. package/dist/config.d.ts +124 -0
  52. package/dist/config.d.ts.map +1 -0
  53. package/dist/config.js +503 -0
  54. package/dist/config.js.map +1 -0
  55. package/dist/core/agent-session-runtime.d.ts +119 -0
  56. package/dist/core/agent-session-runtime.d.ts.map +1 -0
  57. package/dist/core/agent-session-runtime.js +306 -0
  58. package/dist/core/agent-session-runtime.js.map +1 -0
  59. package/dist/core/agent-session-services.d.ts +85 -0
  60. package/dist/core/agent-session-services.d.ts.map +1 -0
  61. package/dist/core/agent-session-services.js +133 -0
  62. package/dist/core/agent-session-services.js.map +1 -0
  63. package/dist/core/agent-session.d.ts +653 -0
  64. package/dist/core/agent-session.d.ts.map +1 -0
  65. package/dist/core/agent-session.js +2678 -0
  66. package/dist/core/agent-session.js.map +1 -0
  67. package/dist/core/auth-guidance.d.ts +5 -0
  68. package/dist/core/auth-guidance.d.ts.map +1 -0
  69. package/dist/core/auth-guidance.js +15 -0
  70. package/dist/core/auth-guidance.js.map +1 -0
  71. package/dist/core/auth-storage.d.ts +56 -0
  72. package/dist/core/auth-storage.d.ts.map +1 -0
  73. package/dist/core/auth-storage.js +229 -0
  74. package/dist/core/auth-storage.js.map +1 -0
  75. package/dist/core/bash-executor.d.ts +32 -0
  76. package/dist/core/bash-executor.d.ts.map +1 -0
  77. package/dist/core/bash-executor.js +111 -0
  78. package/dist/core/bash-executor.js.map +1 -0
  79. package/dist/core/cache-stats.d.ts +49 -0
  80. package/dist/core/cache-stats.d.ts.map +1 -0
  81. package/dist/core/cache-stats.js +101 -0
  82. package/dist/core/cache-stats.js.map +1 -0
  83. package/dist/core/compaction/branch-summarization.d.ts +98 -0
  84. package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
  85. package/dist/core/compaction/branch-summarization.js +246 -0
  86. package/dist/core/compaction/branch-summarization.js.map +1 -0
  87. package/dist/core/compaction/compaction.d.ts +137 -0
  88. package/dist/core/compaction/compaction.d.ts.map +1 -0
  89. package/dist/core/compaction/compaction.js +645 -0
  90. package/dist/core/compaction/compaction.js.map +1 -0
  91. package/dist/core/compaction/index.d.ts +7 -0
  92. package/dist/core/compaction/index.d.ts.map +1 -0
  93. package/dist/core/compaction/index.js +7 -0
  94. package/dist/core/compaction/index.js.map +1 -0
  95. package/dist/core/compaction/utils.d.ts +38 -0
  96. package/dist/core/compaction/utils.d.ts.map +1 -0
  97. package/dist/core/compaction/utils.js +142 -0
  98. package/dist/core/compaction/utils.js.map +1 -0
  99. package/dist/core/defaults.d.ts +3 -0
  100. package/dist/core/defaults.d.ts.map +1 -0
  101. package/dist/core/defaults.js +2 -0
  102. package/dist/core/defaults.js.map +1 -0
  103. package/dist/core/diagnostics.d.ts +15 -0
  104. package/dist/core/diagnostics.d.ts.map +1 -0
  105. package/dist/core/diagnostics.js +2 -0
  106. package/dist/core/diagnostics.js.map +1 -0
  107. package/dist/core/event-bus.d.ts +9 -0
  108. package/dist/core/event-bus.d.ts.map +1 -0
  109. package/dist/core/event-bus.js +25 -0
  110. package/dist/core/event-bus.js.map +1 -0
  111. package/dist/core/exec.d.ts +29 -0
  112. package/dist/core/exec.d.ts.map +1 -0
  113. package/dist/core/exec.js +75 -0
  114. package/dist/core/exec.js.map +1 -0
  115. package/dist/core/experimental.d.ts +2 -0
  116. package/dist/core/experimental.d.ts.map +1 -0
  117. package/dist/core/experimental.js +4 -0
  118. package/dist/core/experimental.js.map +1 -0
  119. package/dist/core/export-html/ansi-to-html.d.ts +22 -0
  120. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
  121. package/dist/core/export-html/ansi-to-html.js +249 -0
  122. package/dist/core/export-html/ansi-to-html.js.map +1 -0
  123. package/dist/core/export-html/index.d.ts +37 -0
  124. package/dist/core/export-html/index.d.ts.map +1 -0
  125. package/dist/core/export-html/index.js +226 -0
  126. package/dist/core/export-html/index.js.map +1 -0
  127. package/dist/core/export-html/template.css +1066 -0
  128. package/dist/core/export-html/template.html +55 -0
  129. package/dist/core/export-html/template.js +1864 -0
  130. package/dist/core/export-html/tool-renderer.d.ts +34 -0
  131. package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
  132. package/dist/core/export-html/tool-renderer.js +108 -0
  133. package/dist/core/export-html/tool-renderer.js.map +1 -0
  134. package/dist/core/export-html/vendor/highlight.min.js +1213 -0
  135. package/dist/core/export-html/vendor/marked.min.js +78 -0
  136. package/dist/core/extensions/index.d.ts +12 -0
  137. package/dist/core/extensions/index.d.ts.map +1 -0
  138. package/dist/core/extensions/index.js +9 -0
  139. package/dist/core/extensions/index.js.map +1 -0
  140. package/dist/core/extensions/loader.d.ts +23 -0
  141. package/dist/core/extensions/loader.d.ts.map +1 -0
  142. package/dist/core/extensions/loader.js +564 -0
  143. package/dist/core/extensions/loader.js.map +1 -0
  144. package/dist/core/extensions/runner.d.ts +173 -0
  145. package/dist/core/extensions/runner.d.ts.map +1 -0
  146. package/dist/core/extensions/runner.js +966 -0
  147. package/dist/core/extensions/runner.js.map +1 -0
  148. package/dist/core/extensions/types.d.ts +1270 -0
  149. package/dist/core/extensions/types.d.ts.map +1 -0
  150. package/dist/core/extensions/types.js +45 -0
  151. package/dist/core/extensions/types.js.map +1 -0
  152. package/dist/core/extensions/wrapper.d.ts +20 -0
  153. package/dist/core/extensions/wrapper.d.ts.map +1 -0
  154. package/dist/core/extensions/wrapper.js +41 -0
  155. package/dist/core/extensions/wrapper.js.map +1 -0
  156. package/dist/core/footer-data-provider.d.ts +54 -0
  157. package/dist/core/footer-data-provider.d.ts.map +1 -0
  158. package/dist/core/footer-data-provider.js +338 -0
  159. package/dist/core/footer-data-provider.js.map +1 -0
  160. package/dist/core/http-dispatcher.d.ts +22 -0
  161. package/dist/core/http-dispatcher.d.ts.map +1 -0
  162. package/dist/core/http-dispatcher.js +91 -0
  163. package/dist/core/http-dispatcher.js.map +1 -0
  164. package/dist/core/index.d.ts +13 -0
  165. package/dist/core/index.d.ts.map +1 -0
  166. package/dist/core/index.js +13 -0
  167. package/dist/core/index.js.map +1 -0
  168. package/dist/core/keybindings.d.ts +358 -0
  169. package/dist/core/keybindings.d.ts.map +1 -0
  170. package/dist/core/keybindings.js +296 -0
  171. package/dist/core/keybindings.js.map +1 -0
  172. package/dist/core/messages.d.ts +77 -0
  173. package/dist/core/messages.d.ts.map +1 -0
  174. package/dist/core/messages.js +123 -0
  175. package/dist/core/messages.js.map +1 -0
  176. package/dist/core/model-config.d.ts +542 -0
  177. package/dist/core/model-config.d.ts.map +1 -0
  178. package/dist/core/model-config.js +249 -0
  179. package/dist/core/model-config.js.map +1 -0
  180. package/dist/core/model-registry.d.ts +43 -0
  181. package/dist/core/model-registry.d.ts.map +1 -0
  182. package/dist/core/model-registry.js +104 -0
  183. package/dist/core/model-registry.js.map +1 -0
  184. package/dist/core/model-resolver.d.ts +122 -0
  185. package/dist/core/model-resolver.d.ts.map +1 -0
  186. package/dist/core/model-resolver.js +551 -0
  187. package/dist/core/model-resolver.js.map +1 -0
  188. package/dist/core/model-runtime.d.ts +81 -0
  189. package/dist/core/model-runtime.d.ts.map +1 -0
  190. package/dist/core/model-runtime.js +439 -0
  191. package/dist/core/model-runtime.js.map +1 -0
  192. package/dist/core/models-store.d.ts +17 -0
  193. package/dist/core/models-store.d.ts.map +1 -0
  194. package/dist/core/models-store.js +45 -0
  195. package/dist/core/models-store.js.map +1 -0
  196. package/dist/core/output-guard.d.ts +7 -0
  197. package/dist/core/output-guard.d.ts.map +1 -0
  198. package/dist/core/output-guard.js +89 -0
  199. package/dist/core/output-guard.js.map +1 -0
  200. package/dist/core/package-manager.d.ts +213 -0
  201. package/dist/core/package-manager.d.ts.map +1 -0
  202. package/dist/core/package-manager.js +2165 -0
  203. package/dist/core/package-manager.js.map +1 -0
  204. package/dist/core/project-trust.d.ts +16 -0
  205. package/dist/core/project-trust.d.ts.map +1 -0
  206. package/dist/core/project-trust.js +59 -0
  207. package/dist/core/project-trust.js.map +1 -0
  208. package/dist/core/prompt-templates.d.ts +54 -0
  209. package/dist/core/prompt-templates.d.ts.map +1 -0
  210. package/dist/core/prompt-templates.js +236 -0
  211. package/dist/core/prompt-templates.js.map +1 -0
  212. package/dist/core/provider-attribution.d.ts +4 -0
  213. package/dist/core/provider-attribution.d.ts.map +1 -0
  214. package/dist/core/provider-attribution.js +83 -0
  215. package/dist/core/provider-attribution.js.map +1 -0
  216. package/dist/core/provider-composer.d.ts +55 -0
  217. package/dist/core/provider-composer.d.ts.map +1 -0
  218. package/dist/core/provider-composer.js +375 -0
  219. package/dist/core/provider-composer.js.map +1 -0
  220. package/dist/core/radius.d.ts +2 -0
  221. package/dist/core/radius.d.ts.map +1 -0
  222. package/dist/core/radius.js +2 -0
  223. package/dist/core/radius.js.map +1 -0
  224. package/dist/core/remote-catalog-provider.d.ts +5 -0
  225. package/dist/core/remote-catalog-provider.d.ts.map +1 -0
  226. package/dist/core/remote-catalog-provider.js +115 -0
  227. package/dist/core/remote-catalog-provider.js.map +1 -0
  228. package/dist/core/resolve-config-value.d.ts +30 -0
  229. package/dist/core/resolve-config-value.d.ts.map +1 -0
  230. package/dist/core/resolve-config-value.js +247 -0
  231. package/dist/core/resolve-config-value.js.map +1 -0
  232. package/dist/core/resource-loader.d.ts +207 -0
  233. package/dist/core/resource-loader.d.ts.map +1 -0
  234. package/dist/core/resource-loader.js +821 -0
  235. package/dist/core/resource-loader.js.map +1 -0
  236. package/dist/core/runtime-credentials.d.ts +15 -0
  237. package/dist/core/runtime-credentials.d.ts.map +1 -0
  238. package/dist/core/runtime-credentials.js +36 -0
  239. package/dist/core/runtime-credentials.js.map +1 -0
  240. package/dist/core/sdk.d.ts +106 -0
  241. package/dist/core/sdk.d.ts.map +1 -0
  242. package/dist/core/sdk.js +267 -0
  243. package/dist/core/sdk.js.map +1 -0
  244. package/dist/core/session-cwd.d.ts +19 -0
  245. package/dist/core/session-cwd.d.ts.map +1 -0
  246. package/dist/core/session-cwd.js +38 -0
  247. package/dist/core/session-cwd.js.map +1 -0
  248. package/dist/core/session-manager.d.ts +356 -0
  249. package/dist/core/session-manager.d.ts.map +1 -0
  250. package/dist/core/session-manager.js +1338 -0
  251. package/dist/core/session-manager.js.map +1 -0
  252. package/dist/core/settings-manager.d.ts +313 -0
  253. package/dist/core/settings-manager.d.ts.map +1 -0
  254. package/dist/core/settings-manager.js +921 -0
  255. package/dist/core/settings-manager.js.map +1 -0
  256. package/dist/core/skills.d.ts +60 -0
  257. package/dist/core/skills.d.ts.map +1 -0
  258. package/dist/core/skills.js +387 -0
  259. package/dist/core/skills.js.map +1 -0
  260. package/dist/core/slash-commands.d.ts +15 -0
  261. package/dist/core/slash-commands.d.ts.map +1 -0
  262. package/dist/core/slash-commands.js +26 -0
  263. package/dist/core/slash-commands.js.map +1 -0
  264. package/dist/core/source-info.d.ts +18 -0
  265. package/dist/core/source-info.d.ts.map +1 -0
  266. package/dist/core/source-info.js +19 -0
  267. package/dist/core/source-info.js.map +1 -0
  268. package/dist/core/system-prompt.d.ts +28 -0
  269. package/dist/core/system-prompt.d.ts.map +1 -0
  270. package/dist/core/system-prompt.js +110 -0
  271. package/dist/core/system-prompt.js.map +1 -0
  272. package/dist/core/telemetry.d.ts +3 -0
  273. package/dist/core/telemetry.d.ts.map +1 -0
  274. package/dist/core/telemetry.js +10 -0
  275. package/dist/core/telemetry.js.map +1 -0
  276. package/dist/core/timings.d.ts +10 -0
  277. package/dist/core/timings.d.ts.map +1 -0
  278. package/dist/core/timings.js +41 -0
  279. package/dist/core/timings.js.map +1 -0
  280. package/dist/core/tools/bash.d.ts +70 -0
  281. package/dist/core/tools/bash.d.ts.map +1 -0
  282. package/dist/core/tools/bash.js +391 -0
  283. package/dist/core/tools/bash.js.map +1 -0
  284. package/dist/core/tools/edit-diff.d.ts +106 -0
  285. package/dist/core/tools/edit-diff.d.ts.map +1 -0
  286. package/dist/core/tools/edit-diff.js +424 -0
  287. package/dist/core/tools/edit-diff.js.map +1 -0
  288. package/dist/core/tools/edit.d.ts +51 -0
  289. package/dist/core/tools/edit.d.ts.map +1 -0
  290. package/dist/core/tools/edit.js +284 -0
  291. package/dist/core/tools/edit.js.map +1 -0
  292. package/dist/core/tools/file-mutation-queue.d.ts +6 -0
  293. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
  294. package/dist/core/tools/file-mutation-queue.js +52 -0
  295. package/dist/core/tools/file-mutation-queue.js.map +1 -0
  296. package/dist/core/tools/find.d.ts +35 -0
  297. package/dist/core/tools/find.d.ts.map +1 -0
  298. package/dist/core/tools/find.js +305 -0
  299. package/dist/core/tools/find.js.map +1 -0
  300. package/dist/core/tools/grep.d.ts +37 -0
  301. package/dist/core/tools/grep.d.ts.map +1 -0
  302. package/dist/core/tools/grep.js +304 -0
  303. package/dist/core/tools/grep.js.map +1 -0
  304. package/dist/core/tools/index.d.ts +40 -0
  305. package/dist/core/tools/index.d.ts.map +1 -0
  306. package/dist/core/tools/index.js +112 -0
  307. package/dist/core/tools/index.js.map +1 -0
  308. package/dist/core/tools/ls.d.ts +37 -0
  309. package/dist/core/tools/ls.d.ts.map +1 -0
  310. package/dist/core/tools/ls.js +167 -0
  311. package/dist/core/tools/ls.js.map +1 -0
  312. package/dist/core/tools/output-accumulator.d.ts +52 -0
  313. package/dist/core/tools/output-accumulator.d.ts.map +1 -0
  314. package/dist/core/tools/output-accumulator.js +184 -0
  315. package/dist/core/tools/output-accumulator.js.map +1 -0
  316. package/dist/core/tools/path-utils.d.ts +10 -0
  317. package/dist/core/tools/path-utils.d.ts.map +1 -0
  318. package/dist/core/tools/path-utils.js +99 -0
  319. package/dist/core/tools/path-utils.js.map +1 -0
  320. package/dist/core/tools/read.d.ts +35 -0
  321. package/dist/core/tools/read.d.ts.map +1 -0
  322. package/dist/core/tools/read.js +276 -0
  323. package/dist/core/tools/read.js.map +1 -0
  324. package/dist/core/tools/render-utils.d.ts +24 -0
  325. package/dist/core/tools/render-utils.d.ts.map +1 -0
  326. package/dist/core/tools/render-utils.js +65 -0
  327. package/dist/core/tools/render-utils.js.map +1 -0
  328. package/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
  329. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
  330. package/dist/core/tools/tool-definition-wrapper.js +36 -0
  331. package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
  332. package/dist/core/tools/truncate.d.ts +70 -0
  333. package/dist/core/tools/truncate.d.ts.map +1 -0
  334. package/dist/core/tools/truncate.js +215 -0
  335. package/dist/core/tools/truncate.js.map +1 -0
  336. package/dist/core/tools/write.d.ts +26 -0
  337. package/dist/core/tools/write.d.ts.map +1 -0
  338. package/dist/core/tools/write.js +197 -0
  339. package/dist/core/tools/write.js.map +1 -0
  340. package/dist/core/trust-manager.d.ts +36 -0
  341. package/dist/core/trust-manager.d.ts.map +1 -0
  342. package/dist/core/trust-manager.js +202 -0
  343. package/dist/core/trust-manager.js.map +1 -0
  344. package/dist/core/usage-totals.d.ts +19 -0
  345. package/dist/core/usage-totals.d.ts.map +1 -0
  346. package/dist/core/usage-totals.js +52 -0
  347. package/dist/core/usage-totals.js.map +1 -0
  348. package/dist/extensions/index.d.ts +3 -0
  349. package/dist/extensions/index.d.ts.map +1 -0
  350. package/dist/extensions/index.js +3 -0
  351. package/dist/extensions/index.js.map +1 -0
  352. package/dist/extensions/llama/client.d.ts +61 -0
  353. package/dist/extensions/llama/client.d.ts.map +1 -0
  354. package/dist/extensions/llama/client.js +302 -0
  355. package/dist/extensions/llama/client.js.map +1 -0
  356. package/dist/extensions/llama/huggingface.d.ts +23 -0
  357. package/dist/extensions/llama/huggingface.d.ts.map +1 -0
  358. package/dist/extensions/llama/huggingface.js +141 -0
  359. package/dist/extensions/llama/huggingface.js.map +1 -0
  360. package/dist/extensions/llama/index.d.ts +3 -0
  361. package/dist/extensions/llama/index.d.ts.map +1 -0
  362. package/dist/extensions/llama/index.js +208 -0
  363. package/dist/extensions/llama/index.js.map +1 -0
  364. package/dist/extensions/llama/provider.d.ts +10 -0
  365. package/dist/extensions/llama/provider.d.ts.map +1 -0
  366. package/dist/extensions/llama/provider.js +107 -0
  367. package/dist/extensions/llama/provider.js.map +1 -0
  368. package/dist/extensions/llama/ui.d.ts +42 -0
  369. package/dist/extensions/llama/ui.d.ts.map +1 -0
  370. package/dist/extensions/llama/ui.js +416 -0
  371. package/dist/extensions/llama/ui.js.map +1 -0
  372. package/dist/humain/brand-logo.d.ts +3 -0
  373. package/dist/humain/brand-logo.d.ts.map +1 -0
  374. package/dist/humain/brand-logo.js +3 -0
  375. package/dist/humain/brand-logo.js.map +1 -0
  376. package/dist/humain/index.d.ts +11 -0
  377. package/dist/humain/index.d.ts.map +1 -0
  378. package/dist/humain/index.js +291 -0
  379. package/dist/humain/index.js.map +1 -0
  380. package/dist/humain/legacy-workflow-tiers.d.ts +3 -0
  381. package/dist/humain/legacy-workflow-tiers.d.ts.map +1 -0
  382. package/dist/humain/legacy-workflow-tiers.js +46 -0
  383. package/dist/humain/legacy-workflow-tiers.js.map +1 -0
  384. package/dist/index.d.ts +35 -0
  385. package/dist/index.d.ts.map +1 -0
  386. package/dist/index.js +47 -0
  387. package/dist/index.js.map +1 -0
  388. package/dist/main.d.ts +15 -0
  389. package/dist/main.d.ts.map +1 -0
  390. package/dist/main.js +773 -0
  391. package/dist/main.js.map +1 -0
  392. package/dist/migrations.d.ts +33 -0
  393. package/dist/migrations.d.ts.map +1 -0
  394. package/dist/migrations.js +281 -0
  395. package/dist/migrations.js.map +1 -0
  396. package/dist/modes/index.d.ts +9 -0
  397. package/dist/modes/index.d.ts.map +1 -0
  398. package/dist/modes/index.js +8 -0
  399. package/dist/modes/index.js.map +1 -0
  400. package/dist/modes/interactive/assets/clankolas.png +0 -0
  401. package/dist/modes/interactive/components/armin.d.ts +34 -0
  402. package/dist/modes/interactive/components/armin.d.ts.map +1 -0
  403. package/dist/modes/interactive/components/armin.js +333 -0
  404. package/dist/modes/interactive/components/armin.js.map +1 -0
  405. package/dist/modes/interactive/components/assistant-message.d.ts +22 -0
  406. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
  407. package/dist/modes/interactive/components/assistant-message.js +141 -0
  408. package/dist/modes/interactive/components/assistant-message.js.map +1 -0
  409. package/dist/modes/interactive/components/bash-execution.d.ts +34 -0
  410. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
  411. package/dist/modes/interactive/components/bash-execution.js +175 -0
  412. package/dist/modes/interactive/components/bash-execution.js.map +1 -0
  413. package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
  414. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
  415. package/dist/modes/interactive/components/bordered-loader.js +54 -0
  416. package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
  417. package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
  418. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
  419. package/dist/modes/interactive/components/branch-summary-message.js +44 -0
  420. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
  421. package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
  422. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
  423. package/dist/modes/interactive/components/compaction-summary-message.js +45 -0
  424. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
  425. package/dist/modes/interactive/components/config-selector.d.ts +102 -0
  426. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
  427. package/dist/modes/interactive/components/config-selector.js +761 -0
  428. package/dist/modes/interactive/components/config-selector.js.map +1 -0
  429. package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  430. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
  431. package/dist/modes/interactive/components/countdown-timer.js +33 -0
  432. package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
  433. package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
  434. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
  435. package/dist/modes/interactive/components/custom-editor.js +70 -0
  436. package/dist/modes/interactive/components/custom-editor.js.map +1 -0
  437. package/dist/modes/interactive/components/custom-entry.d.ts +19 -0
  438. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
  439. package/dist/modes/interactive/components/custom-entry.js +52 -0
  440. package/dist/modes/interactive/components/custom-entry.js.map +1 -0
  441. package/dist/modes/interactive/components/custom-message.d.ts +22 -0
  442. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
  443. package/dist/modes/interactive/components/custom-message.js +87 -0
  444. package/dist/modes/interactive/components/custom-message.js.map +1 -0
  445. package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
  446. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
  447. package/dist/modes/interactive/components/daxnuts.js +140 -0
  448. package/dist/modes/interactive/components/daxnuts.js.map +1 -0
  449. package/dist/modes/interactive/components/diff.d.ts +12 -0
  450. package/dist/modes/interactive/components/diff.d.ts.map +1 -0
  451. package/dist/modes/interactive/components/diff.js +133 -0
  452. package/dist/modes/interactive/components/diff.js.map +1 -0
  453. package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  454. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
  455. package/dist/modes/interactive/components/dynamic-border.js +21 -0
  456. package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
  457. package/dist/modes/interactive/components/extension-editor.d.ts +21 -0
  458. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
  459. package/dist/modes/interactive/components/extension-editor.js +98 -0
  460. package/dist/modes/interactive/components/extension-editor.js.map +1 -0
  461. package/dist/modes/interactive/components/extension-input.d.ts +23 -0
  462. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
  463. package/dist/modes/interactive/components/extension-input.js +61 -0
  464. package/dist/modes/interactive/components/extension-input.js.map +1 -0
  465. package/dist/modes/interactive/components/extension-selector.d.ts +26 -0
  466. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
  467. package/dist/modes/interactive/components/extension-selector.js +83 -0
  468. package/dist/modes/interactive/components/extension-selector.js.map +1 -0
  469. package/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
  470. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
  471. package/dist/modes/interactive/components/first-time-setup.js +103 -0
  472. package/dist/modes/interactive/components/first-time-setup.js.map +1 -0
  473. package/dist/modes/interactive/components/footer.d.ts +32 -0
  474. package/dist/modes/interactive/components/footer.d.ts.map +1 -0
  475. package/dist/modes/interactive/components/footer.js +222 -0
  476. package/dist/modes/interactive/components/footer.js.map +1 -0
  477. package/dist/modes/interactive/components/index.d.ts +34 -0
  478. package/dist/modes/interactive/components/index.d.ts.map +1 -0
  479. package/dist/modes/interactive/components/index.js +35 -0
  480. package/dist/modes/interactive/components/index.js.map +1 -0
  481. package/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
  482. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
  483. package/dist/modes/interactive/components/keybinding-hints.js +36 -0
  484. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
  485. package/dist/modes/interactive/components/login-dialog.d.ts +52 -0
  486. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
  487. package/dist/modes/interactive/components/login-dialog.js +188 -0
  488. package/dist/modes/interactive/components/login-dialog.js.map +1 -0
  489. package/dist/modes/interactive/components/model-selector.d.ts +54 -0
  490. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
  491. package/dist/modes/interactive/components/model-selector.js +310 -0
  492. package/dist/modes/interactive/components/model-selector.js.map +1 -0
  493. package/dist/modes/interactive/components/oauth-selector.d.ts +33 -0
  494. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
  495. package/dist/modes/interactive/components/oauth-selector.js +163 -0
  496. package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
  497. package/dist/modes/interactive/components/scoped-models-selector.d.ts +42 -0
  498. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
  499. package/dist/modes/interactive/components/scoped-models-selector.js +302 -0
  500. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
  501. package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
  502. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
  503. package/dist/modes/interactive/components/session-selector-search.js +155 -0
  504. package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
  505. package/dist/modes/interactive/components/session-selector.d.ts +95 -0
  506. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
  507. package/dist/modes/interactive/components/session-selector.js +867 -0
  508. package/dist/modes/interactive/components/session-selector.js.map +1 -0
  509. package/dist/modes/interactive/components/settings-selector.d.ts +77 -0
  510. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
  511. package/dist/modes/interactive/components/settings-selector.js +593 -0
  512. package/dist/modes/interactive/components/settings-selector.js.map +1 -0
  513. package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  514. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
  515. package/dist/modes/interactive/components/show-images-selector.js +39 -0
  516. package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
  517. package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
  518. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
  519. package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
  520. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
  521. package/dist/modes/interactive/components/status-indicator.d.ts +28 -0
  522. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -0
  523. package/dist/modes/interactive/components/status-indicator.js +60 -0
  524. package/dist/modes/interactive/components/status-indicator.js.map +1 -0
  525. package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  526. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
  527. package/dist/modes/interactive/components/theme-selector.js +50 -0
  528. package/dist/modes/interactive/components/theme-selector.js.map +1 -0
  529. package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
  530. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
  531. package/dist/modes/interactive/components/thinking-selector.js +52 -0
  532. package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
  533. package/dist/modes/interactive/components/tool-execution.d.ts +63 -0
  534. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
  535. package/dist/modes/interactive/components/tool-execution.js +317 -0
  536. package/dist/modes/interactive/components/tool-execution.js.map +1 -0
  537. package/dist/modes/interactive/components/tree-selector.d.ts +94 -0
  538. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
  539. package/dist/modes/interactive/components/tree-selector.js +1245 -0
  540. package/dist/modes/interactive/components/tree-selector.js.map +1 -0
  541. package/dist/modes/interactive/components/trust-selector.d.ts +23 -0
  542. package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -0
  543. package/dist/modes/interactive/components/trust-selector.js +91 -0
  544. package/dist/modes/interactive/components/trust-selector.js.map +1 -0
  545. package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  546. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
  547. package/dist/modes/interactive/components/user-message-selector.js +114 -0
  548. package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
  549. package/dist/modes/interactive/components/user-message.d.ts +14 -0
  550. package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
  551. package/dist/modes/interactive/components/user-message.js +42 -0
  552. package/dist/modes/interactive/components/user-message.js.map +1 -0
  553. package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  554. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
  555. package/dist/modes/interactive/components/visual-truncate.js +33 -0
  556. package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
  557. package/dist/modes/interactive/external-editor.d.ts +12 -0
  558. package/dist/modes/interactive/external-editor.d.ts.map +1 -0
  559. package/dist/modes/interactive/external-editor.js +38 -0
  560. package/dist/modes/interactive/external-editor.js.map +1 -0
  561. package/dist/modes/interactive/interactive-mode.d.ts +393 -0
  562. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
  563. package/dist/modes/interactive/interactive-mode.js +5003 -0
  564. package/dist/modes/interactive/interactive-mode.js.map +1 -0
  565. package/dist/modes/interactive/model-search.d.ts +12 -0
  566. package/dist/modes/interactive/model-search.d.ts.map +1 -0
  567. package/dist/modes/interactive/model-search.js +15 -0
  568. package/dist/modes/interactive/model-search.js.map +1 -0
  569. package/dist/modes/interactive/theme/dark.json +87 -0
  570. package/dist/modes/interactive/theme/humain-dark.json +81 -0
  571. package/dist/modes/interactive/theme/humain-light.json +81 -0
  572. package/dist/modes/interactive/theme/light.json +86 -0
  573. package/dist/modes/interactive/theme/theme-controller.d.ts +29 -0
  574. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -0
  575. package/dist/modes/interactive/theme/theme-controller.js +102 -0
  576. package/dist/modes/interactive/theme/theme-controller.js.map +1 -0
  577. package/dist/modes/interactive/theme/theme-schema.json +340 -0
  578. package/dist/modes/interactive/theme/theme.d.ts +120 -0
  579. package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
  580. package/dist/modes/interactive/theme/theme.js +1069 -0
  581. package/dist/modes/interactive/theme/theme.js.map +1 -0
  582. package/dist/modes/print-mode.d.ts +28 -0
  583. package/dist/modes/print-mode.d.ts.map +1 -0
  584. package/dist/modes/print-mode.js +132 -0
  585. package/dist/modes/print-mode.js.map +1 -0
  586. package/dist/modes/rpc/jsonl.d.ts +17 -0
  587. package/dist/modes/rpc/jsonl.d.ts.map +1 -0
  588. package/dist/modes/rpc/jsonl.js +49 -0
  589. package/dist/modes/rpc/jsonl.js.map +1 -0
  590. package/dist/modes/rpc/rpc-client.d.ts +248 -0
  591. package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
  592. package/dist/modes/rpc/rpc-client.js +489 -0
  593. package/dist/modes/rpc/rpc-client.js.map +1 -0
  594. package/dist/modes/rpc/rpc-mode.d.ts +20 -0
  595. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
  596. package/dist/modes/rpc/rpc-mode.js +640 -0
  597. package/dist/modes/rpc/rpc-mode.js.map +1 -0
  598. package/dist/modes/rpc/rpc-types.d.ts +457 -0
  599. package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
  600. package/dist/modes/rpc/rpc-types.js +8 -0
  601. package/dist/modes/rpc/rpc-types.js.map +1 -0
  602. package/dist/package-manager-cli.d.ts +8 -0
  603. package/dist/package-manager-cli.d.ts.map +1 -0
  604. package/dist/package-manager-cli.js +775 -0
  605. package/dist/package-manager-cli.js.map +1 -0
  606. package/dist/rpc-entry.d.ts +3 -0
  607. package/dist/rpc-entry.d.ts.map +1 -0
  608. package/dist/rpc-entry.js +10 -0
  609. package/dist/rpc-entry.js.map +1 -0
  610. package/dist/utils/ansi.d.ts +2 -0
  611. package/dist/utils/ansi.d.ts.map +1 -0
  612. package/dist/utils/ansi.js +52 -0
  613. package/dist/utils/ansi.js.map +1 -0
  614. package/dist/utils/changelog.d.ts +22 -0
  615. package/dist/utils/changelog.d.ts.map +1 -0
  616. package/dist/utils/changelog.js +165 -0
  617. package/dist/utils/changelog.js.map +1 -0
  618. package/dist/utils/child-process.d.ts +18 -0
  619. package/dist/utils/child-process.d.ts.map +1 -0
  620. package/dist/utils/child-process.js +106 -0
  621. package/dist/utils/child-process.js.map +1 -0
  622. package/dist/utils/clipboard-image.d.ts +11 -0
  623. package/dist/utils/clipboard-image.d.ts.map +1 -0
  624. package/dist/utils/clipboard-image.js +245 -0
  625. package/dist/utils/clipboard-image.js.map +1 -0
  626. package/dist/utils/clipboard-native.d.ts +11 -0
  627. package/dist/utils/clipboard-native.d.ts.map +1 -0
  628. package/dist/utils/clipboard-native.js +20 -0
  629. package/dist/utils/clipboard-native.js.map +1 -0
  630. package/dist/utils/clipboard.d.ts +4 -0
  631. package/dist/utils/clipboard.d.ts.map +1 -0
  632. package/dist/utils/clipboard.js +141 -0
  633. package/dist/utils/clipboard.js.map +1 -0
  634. package/dist/utils/deprecation.d.ts +4 -0
  635. package/dist/utils/deprecation.d.ts.map +1 -0
  636. package/dist/utils/deprecation.js +13 -0
  637. package/dist/utils/deprecation.js.map +1 -0
  638. package/dist/utils/exif-orientation.d.ts +5 -0
  639. package/dist/utils/exif-orientation.d.ts.map +1 -0
  640. package/dist/utils/exif-orientation.js +158 -0
  641. package/dist/utils/exif-orientation.js.map +1 -0
  642. package/dist/utils/frontmatter.d.ts +8 -0
  643. package/dist/utils/frontmatter.d.ts.map +1 -0
  644. package/dist/utils/frontmatter.js +26 -0
  645. package/dist/utils/frontmatter.js.map +1 -0
  646. package/dist/utils/fs-watch.d.ts +5 -0
  647. package/dist/utils/fs-watch.d.ts.map +1 -0
  648. package/dist/utils/fs-watch.js +25 -0
  649. package/dist/utils/fs-watch.js.map +1 -0
  650. package/dist/utils/git.d.ts +26 -0
  651. package/dist/utils/git.d.ts.map +1 -0
  652. package/dist/utils/git.js +195 -0
  653. package/dist/utils/git.js.map +1 -0
  654. package/dist/utils/html.d.ts +7 -0
  655. package/dist/utils/html.d.ts.map +1 -0
  656. package/dist/utils/html.js +40 -0
  657. package/dist/utils/html.js.map +1 -0
  658. package/dist/utils/image-convert.d.ts +10 -0
  659. package/dist/utils/image-convert.d.ts.map +1 -0
  660. package/dist/utils/image-convert.js +45 -0
  661. package/dist/utils/image-convert.js.map +1 -0
  662. package/dist/utils/image-process.d.ts +18 -0
  663. package/dist/utils/image-process.d.ts.map +1 -0
  664. package/dist/utils/image-process.js +83 -0
  665. package/dist/utils/image-process.js.map +1 -0
  666. package/dist/utils/image-resize-core.d.ts +30 -0
  667. package/dist/utils/image-resize-core.d.ts.map +1 -0
  668. package/dist/utils/image-resize-core.js +124 -0
  669. package/dist/utils/image-resize-core.js.map +1 -0
  670. package/dist/utils/image-resize-worker.d.ts +2 -0
  671. package/dist/utils/image-resize-worker.d.ts.map +1 -0
  672. package/dist/utils/image-resize-worker.js +31 -0
  673. package/dist/utils/image-resize-worker.js.map +1 -0
  674. package/dist/utils/image-resize.d.ts +16 -0
  675. package/dist/utils/image-resize.d.ts.map +1 -0
  676. package/dist/utils/image-resize.js +97 -0
  677. package/dist/utils/image-resize.js.map +1 -0
  678. package/dist/utils/json.d.ts +3 -0
  679. package/dist/utils/json.d.ts.map +1 -0
  680. package/dist/utils/json.js +7 -0
  681. package/dist/utils/json.js.map +1 -0
  682. package/dist/utils/mime.d.ts +3 -0
  683. package/dist/utils/mime.d.ts.map +1 -0
  684. package/dist/utils/mime.js +110 -0
  685. package/dist/utils/mime.js.map +1 -0
  686. package/dist/utils/open-browser.d.ts +9 -0
  687. package/dist/utils/open-browser.d.ts.map +1 -0
  688. package/dist/utils/open-browser.js +22 -0
  689. package/dist/utils/open-browser.js.map +1 -0
  690. package/dist/utils/paths.d.ts +31 -0
  691. package/dist/utils/paths.d.ts.map +1 -0
  692. package/dist/utils/paths.js +92 -0
  693. package/dist/utils/paths.js.map +1 -0
  694. package/dist/utils/photon.d.ts +21 -0
  695. package/dist/utils/photon.d.ts.map +1 -0
  696. package/dist/utils/photon.js +121 -0
  697. package/dist/utils/photon.js.map +1 -0
  698. package/dist/utils/pi-user-agent.d.ts +2 -0
  699. package/dist/utils/pi-user-agent.d.ts.map +1 -0
  700. package/dist/utils/pi-user-agent.js +6 -0
  701. package/dist/utils/pi-user-agent.js.map +1 -0
  702. package/dist/utils/shell.d.ts +31 -0
  703. package/dist/utils/shell.d.ts.map +1 -0
  704. package/dist/utils/shell.js +202 -0
  705. package/dist/utils/shell.js.map +1 -0
  706. package/dist/utils/sleep.d.ts +5 -0
  707. package/dist/utils/sleep.d.ts.map +1 -0
  708. package/dist/utils/sleep.js +17 -0
  709. package/dist/utils/sleep.js.map +1 -0
  710. package/dist/utils/syntax-highlight.d.ts +12 -0
  711. package/dist/utils/syntax-highlight.d.ts.map +1 -0
  712. package/dist/utils/syntax-highlight.js +118 -0
  713. package/dist/utils/syntax-highlight.js.map +1 -0
  714. package/dist/utils/tools-manager.d.ts +3 -0
  715. package/dist/utils/tools-manager.d.ts.map +1 -0
  716. package/dist/utils/tools-manager.js +345 -0
  717. package/dist/utils/tools-manager.js.map +1 -0
  718. package/dist/utils/version-check.d.ts +15 -0
  719. package/dist/utils/version-check.d.ts.map +1 -0
  720. package/dist/utils/version-check.js +61 -0
  721. package/dist/utils/version-check.js.map +1 -0
  722. package/dist/utils/windows-self-update.d.ts +3 -0
  723. package/dist/utils/windows-self-update.d.ts.map +1 -0
  724. package/dist/utils/windows-self-update.js +77 -0
  725. package/dist/utils/windows-self-update.js.map +1 -0
  726. package/docs/compaction.md +401 -0
  727. package/docs/containerization.md +111 -0
  728. package/docs/custom-provider.md +769 -0
  729. package/docs/development.md +72 -0
  730. package/docs/docs.json +172 -0
  731. package/docs/environment-variables.md +88 -0
  732. package/docs/extensions.md +2962 -0
  733. package/docs/humain-code-forge-architecture.md +217 -0
  734. package/docs/humain-code-forge-component-scorecard.md +122 -0
  735. package/docs/humain-code-forge-flow-walkthrough.md +414 -0
  736. package/docs/humain-terminal.md +102 -0
  737. package/docs/images/doom-extension.png +0 -0
  738. package/docs/images/exy.png +0 -0
  739. package/docs/images/interactive-mode.png +0 -0
  740. package/docs/images/tree-view.png +0 -0
  741. package/docs/index.md +82 -0
  742. package/docs/json.md +86 -0
  743. package/docs/keybindings.md +198 -0
  744. package/docs/llama-cpp.md +99 -0
  745. package/docs/models.md +544 -0
  746. package/docs/packages.md +228 -0
  747. package/docs/prompt-templates.md +96 -0
  748. package/docs/providers.md +308 -0
  749. package/docs/quickstart.md +165 -0
  750. package/docs/rpc.md +1576 -0
  751. package/docs/sdk.md +1186 -0
  752. package/docs/security.md +59 -0
  753. package/docs/session-format.md +436 -0
  754. package/docs/sessions.md +145 -0
  755. package/docs/settings.md +319 -0
  756. package/docs/shell-aliases.md +13 -0
  757. package/docs/skills.md +231 -0
  758. package/docs/terminal-setup.md +142 -0
  759. package/docs/termux.md +127 -0
  760. package/docs/themes.md +297 -0
  761. package/docs/tmux.md +63 -0
  762. package/docs/tui.md +942 -0
  763. package/docs/usage.md +316 -0
  764. package/docs/windows.md +17 -0
  765. package/examples/README.md +25 -0
  766. package/examples/extensions/README.md +213 -0
  767. package/examples/extensions/auto-commit-on-exit.ts +49 -0
  768. package/examples/extensions/bash-spawn-hook.ts +30 -0
  769. package/examples/extensions/bookmark.ts +50 -0
  770. package/examples/extensions/border-status-editor.ts +145 -0
  771. package/examples/extensions/built-in-tool-renderer.ts +249 -0
  772. package/examples/extensions/claude-rules.ts +86 -0
  773. package/examples/extensions/commands.ts +72 -0
  774. package/examples/extensions/confirm-destructive.ts +59 -0
  775. package/examples/extensions/custom-compaction.ts +132 -0
  776. package/examples/extensions/custom-footer.ts +64 -0
  777. package/examples/extensions/custom-header.ts +73 -0
  778. package/examples/extensions/custom-provider-anthropic/index.ts +604 -0
  779. package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -0
  780. package/examples/extensions/custom-provider-anthropic/package.json +19 -0
  781. package/examples/extensions/custom-provider-gitlab-duo/index.ts +404 -0
  782. package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -0
  783. package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -0
  784. package/examples/extensions/dirty-repo-guard.ts +56 -0
  785. package/examples/extensions/doom-overlay/README.md +46 -0
  786. package/examples/extensions/doom-overlay/doom/build/doom.js +21 -0
  787. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  788. package/examples/extensions/doom-overlay/doom/build.sh +156 -0
  789. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -0
  790. package/examples/extensions/doom-overlay/doom-component.ts +132 -0
  791. package/examples/extensions/doom-overlay/doom-engine.ts +173 -0
  792. package/examples/extensions/doom-overlay/doom-keys.ts +104 -0
  793. package/examples/extensions/doom-overlay/index.ts +74 -0
  794. package/examples/extensions/doom-overlay/wad-finder.ts +51 -0
  795. package/examples/extensions/dynamic-resources/SKILL.md +8 -0
  796. package/examples/extensions/dynamic-resources/dynamic.json +79 -0
  797. package/examples/extensions/dynamic-resources/dynamic.md +5 -0
  798. package/examples/extensions/dynamic-resources/index.ts +15 -0
  799. package/examples/extensions/dynamic-tools.ts +74 -0
  800. package/examples/extensions/entry-renderer.ts +41 -0
  801. package/examples/extensions/event-bus.ts +43 -0
  802. package/examples/extensions/file-trigger.ts +41 -0
  803. package/examples/extensions/git-checkpoint.ts +53 -0
  804. package/examples/extensions/git-merge-and-resolve.ts +115 -0
  805. package/examples/extensions/github-issue-autocomplete.ts +185 -0
  806. package/examples/extensions/gondolin/index.ts +531 -0
  807. package/examples/extensions/gondolin/package-lock.json +185 -0
  808. package/examples/extensions/gondolin/package.json +19 -0
  809. package/examples/extensions/handoff.ts +199 -0
  810. package/examples/extensions/hello.ts +26 -0
  811. package/examples/extensions/hidden-thinking-label.ts +53 -0
  812. package/examples/extensions/inline-bash.ts +94 -0
  813. package/examples/extensions/input-transform-streaming.ts +39 -0
  814. package/examples/extensions/input-transform.ts +43 -0
  815. package/examples/extensions/interactive-shell.ts +196 -0
  816. package/examples/extensions/kimi-deferred-tools.ts +61 -0
  817. package/examples/extensions/mac-system-theme.ts +47 -0
  818. package/examples/extensions/message-renderer.ts +59 -0
  819. package/examples/extensions/minimal-mode.ts +426 -0
  820. package/examples/extensions/modal-editor.ts +85 -0
  821. package/examples/extensions/model-status.ts +31 -0
  822. package/examples/extensions/notify.ts +55 -0
  823. package/examples/extensions/overlay-qa-tests.ts +1450 -0
  824. package/examples/extensions/overlay-test.ts +153 -0
  825. package/examples/extensions/permission-gate.ts +34 -0
  826. package/examples/extensions/pirate.ts +47 -0
  827. package/examples/extensions/plan-mode/README.md +66 -0
  828. package/examples/extensions/plan-mode/index.ts +390 -0
  829. package/examples/extensions/plan-mode/utils.ts +168 -0
  830. package/examples/extensions/preset.ts +436 -0
  831. package/examples/extensions/project-trust.ts +64 -0
  832. package/examples/extensions/prompt-customizer.ts +97 -0
  833. package/examples/extensions/protected-paths.ts +30 -0
  834. package/examples/extensions/provider-payload.ts +18 -0
  835. package/examples/extensions/qna.ts +122 -0
  836. package/examples/extensions/question.ts +286 -0
  837. package/examples/extensions/questionnaire.ts +448 -0
  838. package/examples/extensions/rainbow-editor.ts +88 -0
  839. package/examples/extensions/reload-runtime.ts +37 -0
  840. package/examples/extensions/rpc-demo.ts +118 -0
  841. package/examples/extensions/sandbox/index.ts +321 -0
  842. package/examples/extensions/sandbox/package-lock.json +92 -0
  843. package/examples/extensions/sandbox/package.json +19 -0
  844. package/examples/extensions/send-user-message.ts +97 -0
  845. package/examples/extensions/session-name.ts +27 -0
  846. package/examples/extensions/shutdown-command.ts +63 -0
  847. package/examples/extensions/snake.ts +343 -0
  848. package/examples/extensions/space-invaders.ts +560 -0
  849. package/examples/extensions/ssh.ts +220 -0
  850. package/examples/extensions/status-line.ts +32 -0
  851. package/examples/extensions/structured-output.ts +65 -0
  852. package/examples/extensions/subagent/README.md +175 -0
  853. package/examples/extensions/subagent/agents/planner.md +37 -0
  854. package/examples/extensions/subagent/agents/reviewer.md +35 -0
  855. package/examples/extensions/subagent/agents/scout.md +50 -0
  856. package/examples/extensions/subagent/agents/worker.md +24 -0
  857. package/examples/extensions/subagent/agents.ts +126 -0
  858. package/examples/extensions/subagent/index.ts +1015 -0
  859. package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
  860. package/examples/extensions/subagent/prompts/implement.md +10 -0
  861. package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
  862. package/examples/extensions/summarize.ts +210 -0
  863. package/examples/extensions/system-prompt-header.ts +17 -0
  864. package/examples/extensions/tic-tac-toe.ts +1008 -0
  865. package/examples/extensions/timed-confirm.ts +70 -0
  866. package/examples/extensions/titlebar-spinner.ts +58 -0
  867. package/examples/extensions/todo.ts +297 -0
  868. package/examples/extensions/tool-override.ts +144 -0
  869. package/examples/extensions/tools.ts +146 -0
  870. package/examples/extensions/trigger-compact.ts +50 -0
  871. package/examples/extensions/truncated-tool.ts +195 -0
  872. package/examples/extensions/widget-placement.ts +9 -0
  873. package/examples/extensions/with-deps/index.ts +32 -0
  874. package/examples/extensions/with-deps/package-lock.json +31 -0
  875. package/examples/extensions/with-deps/package.json +22 -0
  876. package/examples/extensions/working-indicator.ts +123 -0
  877. package/examples/extensions/working-message-test.ts +25 -0
  878. package/examples/rpc-extension-ui.ts +632 -0
  879. package/examples/sdk/01-minimal.ts +26 -0
  880. package/examples/sdk/02-custom-model.ts +50 -0
  881. package/examples/sdk/03-custom-prompt.ts +70 -0
  882. package/examples/sdk/04-skills.ts +55 -0
  883. package/examples/sdk/05-tools.ts +48 -0
  884. package/examples/sdk/06-extensions.ts +94 -0
  885. package/examples/sdk/07-context-files.ts +42 -0
  886. package/examples/sdk/08-prompt-templates.ts +51 -0
  887. package/examples/sdk/09-api-keys-and-oauth.ts +34 -0
  888. package/examples/sdk/10-settings.ts +53 -0
  889. package/examples/sdk/11-sessions.ts +52 -0
  890. package/examples/sdk/12-full-control.ts +72 -0
  891. package/examples/sdk/13-session-runtime.ts +67 -0
  892. package/examples/sdk/README.md +140 -0
  893. package/npm-shrinkwrap.json +1827 -0
  894. package/package.json +117 -0
@@ -0,0 +1,414 @@
1
+ # HUMAIN Code / Forge Flow Walkthrough
2
+
3
+ This page describes the current HUMAIN Code and Forge data flow in HUMAIN Terminal. It is a descriptive
4
+ walkthrough of how the repo behaves today, including the parts that are not ideal. The normative architecture
5
+ contract remains [HUMAIN Code / Forge Architecture](humain-code-forge-architecture.md).
6
+ The scored implementation audit lives in the
7
+ [HUMAIN Code / Forge Component Scorecard](humain-code-forge-component-scorecard.md).
8
+
9
+ Use this page when you need to understand the layers before changing Forge startup behavior, DeployNow model
10
+ bindings, provider registration, workflow model selection, request auth, or startup cwd handling.
11
+
12
+ ## How To Read This
13
+
14
+ Start from the data path, then compare it to the architecture contract:
15
+
16
+ 1. Startup selects the effective cwd and injects HUMAIN defaults.
17
+ 2. Resource loading discovers extensions, skills, prompts, themes, context files, and pending provider
18
+ registrations.
19
+ 3. The bundled HUMAIN extension interprets Forge and DeployNow descriptors and registers providers.
20
+ 4. The model registry turns provider registrations into model availability and request auth.
21
+ 5. Normal `/login`, `/model`, session restoration, and workflow configuration determine the selected model.
22
+ 6. `packages/ai` owns the provider-specific transport.
23
+
24
+ ## System Map
25
+
26
+ ```text
27
+ CLI/env/settings
28
+ -> main.ts resolves startup cwd
29
+ -> main.ts injects HUMAIN extension factories and default package sources
30
+ -> DefaultResourceLoader loads packages, extensions, skills, prompts, themes, and context files
31
+ -> createAgentSessionServices flushes extension provider registrations into ModelRegistry
32
+ -> createAgentSession builds Agent + AgentSession
33
+ -> AgentSession binds ExtensionRunner actions to session/model/tool operations
34
+ -> /login supplies supported credentials and /model selects a registered model
35
+ -> dynamic-workflows applies its own model selection without HUMAIN routing
36
+ -> AgentSession streamFn asks ModelRegistry for apiKey/headers/env
37
+ -> packages/ai streams through OpenAI, Anthropic, Bedrock, or another registered provider
38
+ -> AgentSession persists events and updates interactive/RPC/print surfaces
39
+ ```
40
+
41
+ ## Layer Responsibilities
42
+
43
+ | Layer | Current responsibility in this flow |
44
+ | --- | --- |
45
+ | `packages/coding-agent/src/main.ts` | CLI startup, cwd resolution, app mode selection, runtime factory construction, HUMAIN extension injection. |
46
+ | `packages/coding-agent/src/core` | Settings, auth storage, model registry, resource loading, extension runtime, sessions, tools, request auth assembly. |
47
+ | `packages/coding-agent/src/humain` | HUMAIN public defaults, theme startup, provider registration, DeployNow descriptor interpretation, unsupported SSO, and exact legacy-tier cleanup. |
48
+ | `packages/agent` | Model-neutral turn loop, message state, tool orchestration, harness contracts. |
49
+ | `packages/ai` | Provider metadata, auth helpers, request transports, Bedrock endpoint/region/credential behavior, OpenAI/Anthropic APIs. |
50
+ | `packages/tui` | Interactive rendering, input, status, selectors, layout, and theme application. |
51
+
52
+ The main product-specific exception is startup injection: `main.ts` directly imports the HUMAIN extension factory
53
+ so HUMAIN behavior is always bundled into this distribution. That is an allowed public-distribution boundary,
54
+ but the implementation should still keep product policy out of `packages/agent`, `packages/ai`, and `packages/tui`.
55
+
56
+ ## Flow 1: Startup And Cwd Resolution
57
+
58
+ Startup begins in the CLI entrypoint, then `main()` owns process setup:
59
+
60
+ ```text
61
+ cli.ts
62
+ -> main(args)
63
+ -> parse args
64
+ -> resolveStartupCwd()
65
+ -> process.chdir(cwd)
66
+ -> inject HUMAIN extension factories and default packages
67
+ -> bootstrap settings and package/config commands
68
+ -> resolve session manager and effective session cwd
69
+ -> create AgentSessionRuntime
70
+ -> dispatch interactive, print, JSON, or RPC mode
71
+ ```
72
+
73
+ The cwd precedence is:
74
+
75
+ 1. `--cwd`
76
+ 2. `HUMAIN_TERMINAL_DEFAULT_CWD`
77
+ 3. `HUMAIN_TERMINAL_FORGE_CWD`
78
+ 4. the process cwd
79
+
80
+ `resolveStartupCwd()` validates that the selected path exists and is a directory before `main()` changes the
81
+ process cwd. Package and config commands run after this resolution, so package/resource behavior observes the
82
+ startup cwd rather than the shell cwd.
83
+
84
+ Session selection can still change the final runtime cwd. Resume, import, fork, and session paths go through
85
+ `SessionManager`; the runtime factory then recreates cwd-bound services for `sessionManager.getCwd()`. That
86
+ keeps settings, project trust, resources, tools, and provider registrations aligned with the effective session
87
+ cwd.
88
+
89
+ Key source handles:
90
+
91
+ - [`src/main.ts`](../src/main.ts#L492) - `resolveStartupCwd()` precedence and validation.
92
+ - [`src/main.ts`](../src/main.ts#L574) - startup cwd application and HUMAIN extension injection.
93
+ - [`src/main.ts`](../src/main.ts#L685) - final runtime cwd is resolved after session lookup.
94
+ - [`src/core/agent-session-runtime.ts`](../src/core/agent-session-runtime.ts#L406) - runtime creation from the resolved session target.
95
+ - [`test/main-startup-cwd.test.ts`](../test/main-startup-cwd.test.ts#L17) - startup cwd regression coverage.
96
+
97
+ ## Flow 2: Settings, Trust, And Resources
98
+
99
+ Resource loading has three important boundaries:
100
+
101
+ 1. Settings are created for a cwd and agent dir.
102
+ 2. Project resources are trust-gated.
103
+ 3. Extensions can register providers before the model registry is fully bound.
104
+
105
+ The service factory creates the core runtime services:
106
+
107
+ ```text
108
+ createAgentSessionServices()
109
+ -> AuthStorage
110
+ -> SettingsManager
111
+ -> ModelRegistry
112
+ -> DefaultResourceLoader
113
+ -> resourceLoader.reload()
114
+ -> flush pending extension provider registrations into ModelRegistry
115
+ ```
116
+
117
+ `DefaultResourceLoader` receives the inline HUMAIN extension factories and default package sources from
118
+ `main.ts`. It then resolves package resources, extension paths, skill paths, prompt templates, themes, context
119
+ files, and system prompt files. Context files use `AGENTS.md` and `CLAUDE.md`; project `.humain-terminal`
120
+ resources require project trust.
121
+
122
+ Provider registration is intentionally two-phase. During extension load, `pi.registerProvider()` queues
123
+ registrations on the shared extension runtime. Once `createAgentSessionServices()` has a `ModelRegistry`, it
124
+ flushes those queued registrations. After `AgentSession` binds the runner, later provider registrations take
125
+ effect immediately and refresh the current model if needed.
126
+
127
+ Key source handles:
128
+
129
+ - [`src/core/agent-session-services.ts`](../src/core/agent-session-services.ts#L137) - cwd-bound service creation.
130
+ - [`src/core/resource-loader.ts`](../src/core/resource-loader.ts#L215) - resource loader inputs.
131
+ - [`src/core/resource-loader.ts`](../src/core/resource-loader.ts#L494) - package/user/project extension loading.
132
+ - [`src/core/resource-loader.ts`](../src/core/resource-loader.ts#L465) - context file loading.
133
+ - [`src/core/extensions/loader.ts`](../src/core/extensions/loader.ts#L213) - queued provider registrations before binding.
134
+ - [`src/core/extensions/runner.ts`](../src/core/extensions/runner.ts#L353) - queued registrations flushed on bind.
135
+
136
+ ## Flow 3: HUMAIN Extension And Provider Registration
137
+
138
+ HUMAIN Code is implemented as a bundled inline extension, not as a fork of the agent runtime:
139
+
140
+ ```text
141
+ getHumainBundledExtensionFactories(env)
142
+ -> createHumainProviderExtensionFactory(env)
143
+ -> register HUMAIN local provider if configured
144
+ -> register explicit non-SSO HUMAIN Code provider if configured
145
+ -> register DeployNow binding providers if descriptors are present
146
+ -> always register unsupported HUMAIN SSO with no models or base URL
147
+ -> on session_start set the HUMAIN theme at startup
148
+ -> remove only exact untouched legacy generated tier files
149
+ ```
150
+
151
+ The extension owns these product concepts:
152
+
153
+ - `HUMAIN_TERMINAL_HC_*` and `HUMAIN_TERMINAL_HUMAIN_CODE_*`
154
+ - DeployNow descriptor sentinels such as `deploynow-proxy` and legacy `deploynow-broker`
155
+ - `FORGE_RUNTIME_MODEL_PROVIDER` and `FORGE_RUNTIME_MODEL_ID`
156
+ - the always-visible `HUMAIN SSO` login entry, whose credential operations reject with
157
+ `HUMAIN SSO is not supported yet.`
158
+ - conservative cleanup of the exact historical generated mapping at
159
+ `~/.pi/workflows/model-tiers.json` and `~/.humain-terminal/workflows/model-tiers.json`
160
+
161
+ The extension no longer registers `/hc` or `/humaincode`, creates or persists HUMAIN model profiles, injects
162
+ Forge prompt text, writes workflow tier configuration, or sets `HUMAIN Code` / `Forge ready` footer status.
163
+ Legacy OIDC configuration does not enable login, token exchange, credentials, models, or a model API endpoint.
164
+ The extension does not detect Forge from directory names or repository shape. Explicit Forge startup cwd support
165
+ is owned by the `main.ts` precedence described in Flow 1.
166
+
167
+ Key source handles:
168
+
169
+ - [`src/humain/index.ts`](../src/humain/index.ts) - provider registration, theme startup,
170
+ unsupported SSO, and legacy generated-tier cleanup.
171
+ - [`test/humain-forge-extension.test.ts`](../test/humain-forge-extension.test.ts) - retained providers, removed
172
+ routing/status behavior, theme startup, and no tier generation.
173
+ - [`test/legacy-workflow-tiers.test.ts`](../test/legacy-workflow-tiers.test.ts) - exact legacy-tier cleanup and
174
+ customized-file preservation.
175
+ - [`test/humain-sso.test.ts`](../test/humain-sso.test.ts) - always-visible unsupported SSO behavior.
176
+
177
+ ## Flow 4: DeployNow Runtime Model Binding
178
+
179
+ DeployNow binding descriptors are interpreted in `src/humain`, then converted into normal provider
180
+ registrations. Real provider secrets are not supposed to live in HUMAIN Terminal; loopback URLs and placeholder
181
+ credentials describe a supervisor-owned route.
182
+
183
+ ```text
184
+ DeployNow env descriptor
185
+ -> hasDeployNow*BindingConfig()
186
+ -> getDeployNow*ModelId()
187
+ -> pi.registerProvider(provider, config)
188
+ -> ModelRegistry.registerProvider()
189
+ -> model availability and request auth
190
+ -> AgentSession streamFn
191
+ -> packages/ai provider transport
192
+ ```
193
+
194
+ Current descriptor shapes:
195
+
196
+ | Provider selected by Forge | Required descriptor shape |
197
+ | --- | --- |
198
+ | Bedrock | `ANTHROPIC_BEDROCK_BASE_URL`, sentinel `AWS_ACCESS_KEY_ID`, sentinel `AWS_SECRET_ACCESS_KEY`, `AWS_REGION`, and model from `FORGE_RUNTIME_MODEL_ID` or `BEDROCK_MODEL_ID`. |
199
+ | OpenAI | `OPENAI_BASE_URL`, sentinel `OPENAI_API_KEY`, and model from `FORGE_RUNTIME_MODEL_ID` or `OPENAI_MODEL_ID`. |
200
+ | Anthropic | `ANTHROPIC_BASE_URL`, sentinel `ANTHROPIC_API_KEY`, and model from `FORGE_RUNTIME_MODEL_ID` or `ANTHROPIC_MODEL_ID`. |
201
+
202
+ If `FORGE_RUNTIME_MODEL_PROVIDER` is present, selection is fail-closed. For example, if Forge selects OpenAI but
203
+ only a Bedrock descriptor is complete, the HUMAIN extension does not silently target Bedrock.
204
+
205
+ For Bedrock, the extension passes provider-scoped env values through `ProviderConfig.env`. The model registry
206
+ returns those values with request auth, and the SDK stream function merges them into `streamSimple()` options.
207
+ `packages/ai` then resolves AWS region, credentials, endpoint behavior, bearer token mode, and Bedrock-specific
208
+ payload details.
209
+
210
+ Key source handles:
211
+
212
+ - [`src/humain/index.ts`](../src/humain/index.ts) - DeployNow sentinels, fail-closed model target selection,
213
+ request env, and Bedrock/OpenAI/Anthropic provider registrations.
214
+ - [`src/core/model-registry.ts`](../src/core/model-registry.ts#L716) - provider request config storage.
215
+ - [`src/core/model-registry.ts`](../src/core/model-registry.ts#L749) - request auth, headers, and env resolution.
216
+ - [`src/core/sdk.ts`](../src/core/sdk.ts#L302) - auth/env/header merge into `streamSimple()`.
217
+ - [`../ai/src/api/bedrock-converse-stream.ts`](../../ai/src/api/bedrock-converse-stream.ts#L132) - Bedrock endpoint and region handling.
218
+ - [`../ai/src/api/bedrock-converse-stream.ts`](../../ai/src/api/bedrock-converse-stream.ts#L969) - AWS credential resolution from provider env.
219
+ - [`test/humain-forge-extension.test.ts`](../test/humain-forge-extension.test.ts) - DeployNow
220
+ Bedrock/OpenAI/Anthropic binding coverage.
221
+ - [`test/model-registry.test.ts`](../test/model-registry.test.ts#L1252) - provider-scoped request env coverage.
222
+
223
+ ## Flow 5: Non-SSO HUMAIN Code
224
+
225
+ The explicit non-SSO HUMAIN Code provider path is independent of the unsupported HUMAIN SSO login entry. It
226
+ uses endpoint and API key environment variables:
227
+
228
+ ```text
229
+ HUMAIN_TERMINAL_HC_BASE_URL
230
+ HUMAIN_TERMINAL_HC_API_KEY
231
+ HUMAIN_TERMINAL_HC_MODELS
232
+ ```
233
+
234
+ The long aliases are also supported:
235
+
236
+ ```text
237
+ HUMAIN_TERMINAL_HUMAIN_CODE_BASE_URL
238
+ HUMAIN_TERMINAL_HUMAIN_CODE_API_KEY
239
+ HUMAIN_TERMINAL_HUMAIN_CODE_MODELS
240
+ ```
241
+
242
+ When configured, this registers provider `humain-code` using the OpenAI chat-completions-compatible transport.
243
+ Its models enter the normal model registry and can be selected through `/model`. DeployNow descriptors register
244
+ their own normal providers; neither path creates or changes a HUMAIN model profile.
245
+
246
+ Key source handles:
247
+
248
+ - [`src/humain/index.ts`](../src/humain/index.ts) - short and long HUMAIN Code env aliases and provider
249
+ registration.
250
+ - [`test/humain-forge-extension.test.ts`](../test/humain-forge-extension.test.ts) - explicit non-SSO HUMAIN
251
+ Code coverage.
252
+
253
+ ## Flow 6: Normal Model And Workflow Selection
254
+
255
+ HUMAIN Terminal uses the normal coding-agent model flow:
256
+
257
+ ```text
258
+ user runs /login for a supported provider
259
+ -> AuthStorage persists supported provider credentials
260
+ user runs /model
261
+ -> ModelRegistry lists available registered models
262
+ -> AgentSession.setModel() applies the auth gate
263
+ -> normal default-model settings and session restoration persist selection
264
+ ```
265
+
266
+ Dynamic workflows retain ownership of their model-selection behavior. HUMAIN Terminal does not create tier files,
267
+ model profiles, or a second routing layer. `/hc` and
268
+ `/humaincode` are not registered, and no Forge context is injected into prompts. The `hc` executable alias still
269
+ starts the same CLI, while `HUMAIN_TERMINAL_FORGE_CWD` remains a startup cwd fallback.
270
+
271
+ Key source handles:
272
+
273
+ - [`src/core/agent-session.ts`](../src/core/agent-session.ts) - model auth gate and session model switching.
274
+ - [`src/modes/interactive/interactive-mode.ts`](../src/modes/interactive/interactive-mode.ts) - `/login` and
275
+ `/model` interactive flows.
276
+ - [`test/humain-forge-extension.test.ts`](../test/humain-forge-extension.test.ts) - absence of HUMAIN routing,
277
+ profiles, prompt injection, generated tiers, and product footer status.
278
+
279
+ ## Flow 7: Prompt To Provider Request
280
+
281
+ All modes converge on `AgentSession`:
282
+
283
+ ```text
284
+ interactive / print / JSON / RPC
285
+ -> AgentSession.prompt()
286
+ -> extension command check
287
+ -> extension input handlers
288
+ -> skill command expansion
289
+ -> prompt template expansion
290
+ -> streaming queue handling
291
+ -> model/auth validation
292
+ -> before_agent_start extension hook
293
+ -> Agent prompt/run loop
294
+ -> streamFn(model, context, options)
295
+ -> ModelRegistry.getApiKeyAndHeaders(model)
296
+ -> streamSimple(model, context, request options)
297
+ -> packages/ai provider implementation
298
+ ```
299
+
300
+ The provider request hook exists after provider selection. `createAgentSession()` passes `onPayload` and
301
+ `onResponse` callbacks into `streamSimple()`, and those call extension `before_provider_request` and
302
+ `after_provider_response` handlers. The DeployNow credential path does not rely on these hooks today; it uses
303
+ provider registration plus request-scoped env. Payload hooks are still useful for payload-level mutation and
304
+ inspection.
305
+
306
+ Key source handles:
307
+
308
+ - [`src/core/sdk.ts`](../src/core/sdk.ts#L302) - Agent construction and stream function.
309
+ - [`src/core/sdk.ts`](../src/core/sdk.ts#L340) - provider payload and response hooks.
310
+ - [`src/core/agent-session.ts`](../src/core/agent-session.ts#L1076) - prompt preflight path.
311
+ - [`src/core/agent-session.ts`](../src/core/agent-session.ts#L1144) - model/auth validation before prompt execution.
312
+ - [`src/core/agent-session.ts`](../src/core/agent-session.ts#L1183) - `before_agent_start` hook.
313
+ - [`src/core/extensions/runner.ts`](../src/core/extensions/runner.ts#L976) - provider payload hook dispatch.
314
+ - [`src/modes/rpc/rpc-mode.ts`](../src/modes/rpc/rpc-mode.ts#L473) - RPC model selection through `session.setModel()`.
315
+ - [`src/modes/interactive/interactive-mode.ts`](../src/modes/interactive/interactive-mode.ts#L4239) - interactive model command through `session.setModel()`.
316
+
317
+ ## Flow 8: Tools, Events, And Persistence
318
+
319
+ Default tool activation happens in session creation. Unless constrained, the active built-in tools start as
320
+ `read`, `bash`, `edit`, and `write`. Extension tools are registered through the extension runtime and then
321
+ wrapped into agent tools with an extension context.
322
+
323
+ Tool calls move through three layers:
324
+
325
+ ```text
326
+ model emits tool call
327
+ -> agent validates tool call shape
328
+ -> AgentSession beforeToolCall hook bridge
329
+ -> built-in or extension tool executes
330
+ -> AgentSession afterToolCall hook bridge
331
+ -> tool result message returns to the model loop
332
+ -> session manager persists JSONL entries and branch state
333
+ ```
334
+
335
+ The session runtime owns replacement flows such as new session, resume, fork, import, and tree navigation. It
336
+ tears down the current session, creates cwd-bound services again for the target, and rebinds UI/RPC session
337
+ handles. That is why session cwd and resource loading are runtime concepts, not one-time startup facts.
338
+
339
+ Key source handles:
340
+
341
+ - [`src/core/sdk.ts`](../src/core/sdk.ts#L245) - default active tools.
342
+ - [`src/core/agent-session.ts`](../src/core/agent-session.ts#L424) - tool call hook bridge.
343
+ - [`src/core/agent-session.ts`](../src/core/agent-session.ts#L2176) - extension binding to session actions.
344
+ - [`src/core/agent-session.ts`](../src/core/agent-session.ts#L2397) - tool registry refresh.
345
+ - [`src/core/agent-session-runtime.ts`](../src/core/agent-session-runtime.ts#L260) - fork replacement flow.
346
+ - [`src/core/agent-session-runtime.ts`](../src/core/agent-session-runtime.ts#L353) - import replacement flow.
347
+
348
+ ## What Is Not Ideal
349
+
350
+ These are current pressure points, not all immediate bugs:
351
+
352
+ | Pressure point | Why it matters | Current mitigation |
353
+ | --- | --- | --- |
354
+ | The HUMAIN extension owns provider registration, theme startup, unsupported SSO, and legacy cleanup. | The extension remains a product integration point, so unrelated changes can still churn one file. | Keep generic pieces out of it; split only when a sub-concern grows enough to need its own module. |
355
+ | Startup imports HUMAIN extension factories directly. | This is a product boundary exception inside CLI bootstrap. | Treat it as distribution wiring only; do not use `main.ts` for Forge policy. |
356
+ | Forge cwd selection is explicit. | Incorrect `--cwd` or environment configuration can still select the wrong directory. | Keep the documented precedence and path validation covered by startup tests. |
357
+ | DeployNow descriptors are env-shaped but not real secrets. | It is easy to mistake placeholder credentials for provider credentials. | Docs and tests call them descriptors, and real secrets remain behind supervisor/auth-broker systems. |
358
+ | Provider availability is API-key-shaped in several paths. | Header-only or ambient-auth providers need careful alignment between `hasConfiguredAuth()`, status, and request-time behavior. | Bedrock and DeployNow registrations provide an apiKey-shaped descriptor; model-registry tests cover request env. |
359
+ | File-backed provider config and dynamic extension provider config overlap but are not identical. | Contributors may assume every dynamic `ProviderConfig` field maps directly to JSON config, or the reverse. | Keep dynamic behavior documented in custom-provider docs and model registry tests. |
360
+ | Provider payload hooks exist below model selection. | They can mutate payloads, but they are not a replacement for provider registration or model selection. | Use provider registration for auth/env/model access; use hooks for payload mutation/inspection. |
361
+ | Internal wording still references `pi` in generic system prompt and package internals. | Branding is public-facing HUMAIN, but upstream-compatible internals remain. | The architecture contract explicitly preserves upstream-compatible internals unless a package-scope migration is deliberate. |
362
+ | Operator docs and architecture docs can drift into each other. | `humain-terminal.md` needs runnable env guidance, while architecture pages need ownership rules and current flow. | Keep operator examples in `humain-terminal.md`; link to architecture and this walkthrough for design reasoning. |
363
+
364
+ ## Delta Against The Architecture Contract
365
+
366
+ Current alignment:
367
+
368
+ - HUMAIN/Forge behavior is mostly concentrated in `packages/coding-agent/src/humain`.
369
+ - DeployNow model bindings enter as normal provider registrations.
370
+ - Request auth, headers, and provider-scoped env flow through `ModelRegistry` and `streamSimple()`.
371
+ - Bedrock region, endpoint, credentials, and payload behavior remain in `packages/ai`.
372
+ - `/login`, `/model`, default-model settings, and session restoration own normal model selection.
373
+ - Dynamic workflows retain their own model-selection behavior without HUMAIN-generated routing.
374
+ - The HUMAIN extension does not register routing commands, profiles, prompt injection, generated tiers, or product
375
+ footer status.
376
+ - HUMAIN SSO stays visible in `/login` but has no models or base URL and rejects all credential operations as
377
+ unsupported.
378
+
379
+ Current deltas to watch:
380
+
381
+ - The HUMAIN extension is a growing composition point and may need internal subdivision if more Forge behavior is
382
+ added.
383
+ - Some public docs need to link instead of duplicating architecture doctrine.
384
+ - Request hooks are available, but new Forge auth/provider work should not use them to bypass provider/model
385
+ registration.
386
+ - Do not reintroduce structural Forge detection; keep startup cwd explicit and tested.
387
+
388
+ ## Verification Map
389
+
390
+ | Behavior | Current proof surface |
391
+ | --- | --- |
392
+ | Startup cwd fallback and `--cwd` handling | [`test/main-startup-cwd.test.ts`](../test/main-startup-cwd.test.ts) |
393
+ | Removed routing commands, generated tiers, and product status | [`test/humain-forge-extension.test.ts`](../test/humain-forge-extension.test.ts) |
394
+ | Exact legacy-tier cleanup and customized-file preservation | [`test/legacy-workflow-tiers.test.ts`](../test/legacy-workflow-tiers.test.ts) |
395
+ | Always-visible unsupported HUMAIN SSO | [`test/humain-sso.test.ts`](../test/humain-sso.test.ts) |
396
+ | Non-SSO HUMAIN Code provider config | [`test/humain-forge-extension.test.ts`](../test/humain-forge-extension.test.ts) |
397
+ | DeployNow Bedrock/OpenAI/Anthropic binding descriptors | [`test/humain-forge-extension.test.ts`](../test/humain-forge-extension.test.ts) |
398
+ | Explicit provider fail-closed behavior | [`test/humain-forge-extension.test.ts`](../test/humain-forge-extension.test.ts) |
399
+ | Provider-scoped request env | [`test/model-registry.test.ts`](../test/model-registry.test.ts#L1252) |
400
+ | Model selection auth gate | [`src/core/agent-session.ts`](../src/core/agent-session.ts#L1537) and mode-specific calls to `session.setModel()`. |
401
+
402
+ ## Guidance For Future Changes
403
+
404
+ When changing this architecture, answer these questions before editing:
405
+
406
+ 1. Which layer owns the behavior?
407
+ 2. Is this a descriptor, a provider registration, model selection, request auth, a payload mutation, a tool, or UI state?
408
+ 3. Does this need to happen at startup, resource load, session runtime creation, command handling, or request time?
409
+ 4. Which existing seam carries it without bypassing `ModelRegistry`, `AgentSession`, or provider transport?
410
+ 5. Which focused test proves it without real provider secrets?
411
+
412
+ If the answer is "Forge needs a model," start with provider registration and normal `/model` selection. If the answer is
413
+ "Forge needs to mutate a provider payload," use the provider payload hook. If the answer is "Forge needs
414
+ credential custody," that belongs outside this repo in Forge/DeployNow supervisor and auth-broker systems.
@@ -0,0 +1,102 @@
1
+ # HUMAIN Terminal
2
+
3
+ HUMAIN Terminal is the branded distribution of the coding agent. The primary command is `humain-terminal`; `humain` and `hc` are executable aliases for the same CLI.
4
+
5
+ ## Config
6
+
7
+ HUMAIN Terminal stores user settings under `~/.humain-terminal/agent` by default. The shell-safe environment prefix is `HUMAIN_TERMINAL`.
8
+
9
+ Useful distribution-specific environment variables:
10
+
11
+ - `HUMAIN_TERMINAL_CODING_AGENT_DIR` - override the agent config directory.
12
+ - `HUMAIN_TERMINAL_CODING_AGENT_SESSION_DIR` - override session storage.
13
+ - `HUMAIN_TERMINAL_DEFAULT_CWD` - default project directory when `--cwd` is not provided.
14
+ - `HUMAIN_TERMINAL_PACKAGE_DIR` - override bundled package asset lookup.
15
+ - `HUMAIN_TERMINAL_OFFLINE` - disable startup network operations.
16
+ - `HUMAIN_TERMINAL_SKIP_VERSION_CHECK` - disable startup version checks.
17
+ - `HUMAIN_TERMINAL_VERSION_CHECK_URL` - override the latest-version endpoint.
18
+ - `HUMAIN_TERMINAL_TELEMETRY` - override install/update telemetry.
19
+ - `HUMAIN_TERMINAL_INSTALL_TELEMETRY_URL` - override the install/update telemetry endpoint.
20
+ - `HUMAIN_TERMINAL_CHANGELOG_URL` - override the release changelog URL.
21
+ - `HUMAIN_TERMINAL_BINARY_RELEASE_URL` - override the binary self-update fallback URL.
22
+ - `HUMAIN_TERMINAL_SHARE_VIEWER_URL` - override the `/share` viewer base URL.
23
+
24
+ `--cwd <dir>` is resolved before package/config commands, migrations, settings, session lookup, resource loading, and runtime creation.
25
+
26
+ ```bash
27
+ humain-terminal --cwd /Users/akarim/Documents/Work/forge
28
+ ```
29
+
30
+ ## Built-Ins
31
+
32
+ HUMAIN Terminal includes `humain-dark` and `humain-light` themes and uses `humain-dark` on first startup unless the user changes settings.
33
+
34
+ The runtime loads default package sources for dynamic workflows, web access, MCP integration, and queue/steering without writing them to settings.
35
+
36
+ Configured user or project packages with the same npm package identity override the default source.
37
+
38
+ ## Local Models
39
+
40
+ Set `HUMAIN_TERMINAL_LOCAL_BASE_URL` to an OpenAI-compatible `/v1` endpoint. Models come from `HUMAIN_TERMINAL_LOCAL_MODELS` when set, otherwise HUMAIN Terminal performs a bounded `/v1/models` discovery request.
41
+
42
+ ```bash
43
+ HUMAIN_TERMINAL_LOCAL_BASE_URL=http://127.0.0.1:8000/v1 \
44
+ HUMAIN_TERMINAL_LOCAL_MODELS=qwen3-coder-480b-a35b-instruct \
45
+ humain-terminal
46
+ ```
47
+
48
+ Optional:
49
+
50
+ - `HUMAIN_TERMINAL_LOCAL_API_KEY` - API key for the local endpoint.
51
+ - `HUMAIN_TERMINAL_LOCAL_MODELS_DISCOVERY_TIMEOUT_MS` - model discovery timeout, default `750`.
52
+
53
+ ## HUMAIN Code Models
54
+
55
+ Inside DeployNow/Forge sandboxes, HUMAIN Terminal reads the runtime model binding descriptor shape that DeployNow exposes to workloads. These values identify a loopback binding URL and placeholder credentials, not real provider secrets:
56
+
57
+ For layer ownership, review rules, and do/don't guidance, see [HUMAIN Code / Forge Architecture](humain-code-forge-architecture.md). For the current startup, resource loading, provider binding, model-selection, and request-auth data flow, see [HUMAIN Code / Forge Flow Walkthrough](humain-code-forge-flow-walkthrough.md).
58
+
59
+ ```bash
60
+ ANTHROPIC_BEDROCK_BASE_URL=http://127.0.0.1:7777/bindings/inference/bedrock
61
+ AWS_ACCESS_KEY_ID=deploynow-proxy
62
+ AWS_SECRET_ACCESS_KEY=deploynow-proxy
63
+ AWS_REGION=eu-west-2
64
+ BEDROCK_MODEL_ID=global.anthropic.claude-haiku-4-5-20251001-v1:0
65
+ ```
66
+
67
+ When that shape is present, HUMAIN Terminal registers the selected `amazon-bedrock` runtime model against the local DeployNow binding proxy. Select the registered model through `/model`. Existing Forge adapter handoffs that still use `deploynow-broker` placeholder AWS credentials are accepted for compatibility, but new bindings should use `deploynow-proxy`. The real provider credentials stay behind the supervisor/auth-broker path.
68
+
69
+ OpenAI and Anthropic binding descriptors are recognized the same way when DeployNow provides `OPENAI_BASE_URL`/`OPENAI_API_KEY=deploynow-proxy` or `ANTHROPIC_BASE_URL`/`ANTHROPIC_API_KEY=deploynow-proxy`. When `FORGE_RUNTIME_MODEL_PROVIDER` and `FORGE_RUNTIME_MODEL_ID` identify one of those providers, HUMAIN Terminal registers that runtime model through the loopback binding. OpenAI bindings use the chat-completions-compatible API path.
70
+
71
+ For non-DeployNow environments, set both `HUMAIN_TERMINAL_HC_BASE_URL` and `HUMAIN_TERMINAL_HC_API_KEY` to register an OpenAI-compatible `humain-code` provider for Forge. Models come from `HUMAIN_TERMINAL_HC_MODELS` when set; registered models are selected through the normal `/model` command.
72
+
73
+ ```bash
74
+ HUMAIN_TERMINAL_FORGE_CWD=/Users/akarim/Documents/Work/forge \
75
+ HUMAIN_TERMINAL_HC_BASE_URL=https://inference.example/v1 \
76
+ HUMAIN_TERMINAL_HC_API_KEY=... \
77
+ humain-terminal
78
+ ```
79
+
80
+ The long environment variable aliases `HUMAIN_TERMINAL_HUMAIN_CODE_BASE_URL`, `HUMAIN_TERMINAL_HUMAIN_CODE_API_KEY`, and `HUMAIN_TERMINAL_HUMAIN_CODE_MODELS` are also supported.
81
+
82
+ ## HUMAIN SSO
83
+
84
+ `HUMAIN SSO` is always visible in `/login`, but it is not a functional authentication or model provider. Selecting it fails with:
85
+
86
+ ```text
87
+ HUMAIN SSO is not supported yet.
88
+ ```
89
+
90
+ The provider has no models or model API base URL. Legacy OIDC issuer, client, endpoint, redirect, scope, model API, and token environment variables do not enable SSO, open a browser, request a code, or persist credentials.
91
+
92
+ ## Model Selection And Workflows
93
+
94
+ Use `/login` to authenticate with a supported provider and `/model` to select one of its available models. Normal session restoration and default-model settings determine the active model on later starts.
95
+
96
+ The former `/hc` and `/humaincode` slash commands are not registered. HUMAIN Terminal does not create HUMAIN model profiles, inject Forge prompt text, or set `HUMAIN Code` or `Forge ready` footer statuses. The `hc` executable alias is unaffected and still starts HUMAIN Terminal.
97
+
98
+ Set `HUMAIN_TERMINAL_FORGE_CWD` to make Forge the startup working directory when `--cwd` and `HUMAIN_TERMINAL_DEFAULT_CWD` are not set.
99
+
100
+ HUMAIN Terminal does not generate dynamic-workflows `small`, `medium`, or `big` tier files. Workflow model choice remains owned by the dynamic-workflows package; HUMAIN Terminal does not add a second model-routing layer.
101
+
102
+ At startup, HUMAIN Terminal checks both `~/.pi/workflows/model-tiers.json` and `~/.humain-terminal/workflows/model-tiers.json`. It removes a file only when it contains the exact untouched legacy generated mapping; customized, extended, or malformed files are preserved unchanged.
Binary file
Binary file
Binary file
Binary file
package/docs/index.md ADDED
@@ -0,0 +1,82 @@
1
+ # HUMAIN Terminal Documentation
2
+
3
+ HUMAIN Terminal is a model-flexible terminal coding harness for HUMAIN engineering and client workflows. It stays small at the core while being extended through TypeScript extensions, skills, prompt templates, themes, and packages.
4
+
5
+ ## Quick start
6
+
7
+ Install HUMAIN Terminal with npm:
8
+
9
+ ```bash
10
+ npm install -g --ignore-scripts @humain/terminal
11
+ ```
12
+
13
+ `--ignore-scripts` disables dependency lifecycle scripts during install. HUMAIN Terminal does not require install scripts for normal npm installs.
14
+
15
+ To uninstall HUMAIN Terminal itself, use the package manager that installed it:
16
+
17
+ ```bash
18
+ npm uninstall -g @humain/terminal
19
+ ```
20
+
21
+ For pnpm, Yarn, or Bun installs, use the matching global remove command with the HUMAIN Terminal package name.
22
+
23
+ Then run it in a project directory:
24
+
25
+ ```bash
26
+ humain-terminal
27
+ ```
28
+
29
+ Authenticate with `/login` for a supported subscription provider, or set an API key such as `ANTHROPIC_API_KEY` before starting HUMAIN Terminal. Use `/model` to select the active model.
30
+
31
+ For the full first-run flow, see [Quickstart](quickstart.md).
32
+
33
+ ## Start here
34
+
35
+ - [Quickstart](quickstart.md) - install, authenticate, and run a first session.
36
+ - [Using HUMAIN Terminal](usage.md) - interactive mode, slash commands, context files, and CLI reference.
37
+ - [HUMAIN Terminal](humain-terminal.md) - branded command names, config, themes, normal model selection, unsupported HUMAIN SSO, local models, and Forge startup.
38
+ - [HUMAIN Code / Forge Architecture](humain-code-forge-architecture.md) - architecture principles, layer ownership, and do/don't guidance for HUMAIN Code and Forge changes.
39
+ - [HUMAIN Code / Forge Flow Walkthrough](humain-code-forge-flow-walkthrough.md) - current startup, resource, provider, workflow model-selection ownership, and request-auth data flow with known pressure points.
40
+ - [HUMAIN Code / Forge Component Scorecard](humain-code-forge-component-scorecard.md) - scored component audit with required fixes, mitigations, and architecture-ratchet gaps.
41
+ - [Providers](providers.md) - subscription and API-key setup for built-in providers.
42
+ - [llama.cpp](llama-cpp.md) - run a local router and manage models with `/llama`.
43
+ - [Security](security.md) - project trust, sandbox boundaries, and vulnerability reporting.
44
+ - [Containerization](containerization.md) - sandbox HUMAIN Terminal with Gondolin, Docker, or OpenShell.
45
+ - [Settings](settings.md) - global and project settings.
46
+ - [Keybindings](keybindings.md) - default shortcuts and custom keybindings.
47
+ - [Sessions](sessions.md) - session management, branching, and tree navigation.
48
+ - [Compaction](compaction.md) - context compaction and branch summarization.
49
+
50
+ ## Customization
51
+
52
+ - [Extensions](extensions.md) - TypeScript modules for tools, commands, events, and custom UI.
53
+ - [Skills](skills.md) - Agent Skills for reusable on-demand capabilities.
54
+ - [Prompt templates](prompt-templates.md) - reusable prompts that expand from slash commands.
55
+ - [Themes](themes.md) - built-in and custom terminal themes.
56
+ - [Packages](packages.md) - bundle and share extensions, skills, prompts, and themes.
57
+ - [Custom models](models.md) - add model entries for supported provider APIs.
58
+ - [Custom providers](custom-provider.md) - implement custom APIs and OAuth flows.
59
+
60
+ ## Programmatic usage
61
+
62
+ - [SDK](sdk.md) - embed HUMAIN Terminal in Node.js applications.
63
+ - [RPC mode](rpc.md) - integrate over stdin/stdout JSONL.
64
+ - [JSON event stream mode](json.md) - print mode with structured events.
65
+ - [TUI components](tui.md) - build custom terminal UI for extensions.
66
+
67
+ ## Reference
68
+
69
+ - [Environment variables](environment-variables.md) - HUMAIN Terminal process configuration and session metadata available to bash tools.
70
+ - [Session format](session-format.md) - JSONL session file format, entry types, and SessionManager API.
71
+
72
+ ## Platform setup
73
+
74
+ - [Windows](windows.md)
75
+ - [Termux on Android](termux.md)
76
+ - [tmux](tmux.md)
77
+ - [Terminal setup](terminal-setup.md)
78
+ - [Shell aliases](shell-aliases.md)
79
+
80
+ ## Development
81
+
82
+ - [Development](development.md) - local setup, project structure, and debugging.