@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.
- package/CHANGELOG.md +5185 -0
- package/README.md +688 -0
- package/dist/bun/cli.d.ts +3 -0
- package/dist/bun/cli.d.ts.map +1 -0
- package/dist/bun/cli.js +11 -0
- package/dist/bun/cli.js.map +1 -0
- package/dist/bun/register-bedrock.d.ts +2 -0
- package/dist/bun/register-bedrock.d.ts.map +1 -0
- package/dist/bun/register-bedrock.js +4 -0
- package/dist/bun/register-bedrock.js.map +1 -0
- package/dist/bun/restore-sandbox-env.d.ts +17 -0
- package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
- package/dist/bun/restore-sandbox-env.js +36 -0
- package/dist/bun/restore-sandbox-env.js.map +1 -0
- package/dist/cli/args.d.ts +58 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +410 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/config-selector.d.ts +16 -0
- package/dist/cli/config-selector.d.ts.map +1 -0
- package/dist/cli/config-selector.js +31 -0
- package/dist/cli/config-selector.js.map +1 -0
- package/dist/cli/file-processor.d.ts +15 -0
- package/dist/cli/file-processor.d.ts.map +1 -0
- package/dist/cli/file-processor.js +70 -0
- package/dist/cli/file-processor.js.map +1 -0
- package/dist/cli/initial-message.d.ts +18 -0
- package/dist/cli/initial-message.d.ts.map +1 -0
- package/dist/cli/initial-message.js +22 -0
- package/dist/cli/initial-message.js.map +1 -0
- package/dist/cli/list-models.d.ts +9 -0
- package/dist/cli/list-models.d.ts.map +1 -0
- package/dist/cli/list-models.js +98 -0
- package/dist/cli/list-models.js.map +1 -0
- package/dist/cli/project-trust.d.ts +10 -0
- package/dist/cli/project-trust.d.ts.map +1 -0
- package/dist/cli/project-trust.js +48 -0
- package/dist/cli/project-trust.js.map +1 -0
- package/dist/cli/session-picker.d.ts +10 -0
- package/dist/cli/session-picker.d.ts.map +1 -0
- package/dist/cli/session-picker.js +36 -0
- package/dist/cli/session-picker.js.map +1 -0
- package/dist/cli/startup-ui.d.ts +26 -0
- package/dist/cli/startup-ui.d.ts.map +1 -0
- package/dist/cli/startup-ui.js +183 -0
- package/dist/cli/startup-ui.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +18 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +124 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +503 -0
- package/dist/config.js.map +1 -0
- package/dist/core/agent-session-runtime.d.ts +119 -0
- package/dist/core/agent-session-runtime.d.ts.map +1 -0
- package/dist/core/agent-session-runtime.js +306 -0
- package/dist/core/agent-session-runtime.js.map +1 -0
- package/dist/core/agent-session-services.d.ts +85 -0
- package/dist/core/agent-session-services.d.ts.map +1 -0
- package/dist/core/agent-session-services.js +133 -0
- package/dist/core/agent-session-services.js.map +1 -0
- package/dist/core/agent-session.d.ts +653 -0
- package/dist/core/agent-session.d.ts.map +1 -0
- package/dist/core/agent-session.js +2678 -0
- package/dist/core/agent-session.js.map +1 -0
- package/dist/core/auth-guidance.d.ts +5 -0
- package/dist/core/auth-guidance.d.ts.map +1 -0
- package/dist/core/auth-guidance.js +15 -0
- package/dist/core/auth-guidance.js.map +1 -0
- package/dist/core/auth-storage.d.ts +56 -0
- package/dist/core/auth-storage.d.ts.map +1 -0
- package/dist/core/auth-storage.js +229 -0
- package/dist/core/auth-storage.js.map +1 -0
- package/dist/core/bash-executor.d.ts +32 -0
- package/dist/core/bash-executor.d.ts.map +1 -0
- package/dist/core/bash-executor.js +111 -0
- package/dist/core/bash-executor.js.map +1 -0
- package/dist/core/cache-stats.d.ts +49 -0
- package/dist/core/cache-stats.d.ts.map +1 -0
- package/dist/core/cache-stats.js +101 -0
- package/dist/core/cache-stats.js.map +1 -0
- package/dist/core/compaction/branch-summarization.d.ts +98 -0
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
- package/dist/core/compaction/branch-summarization.js +246 -0
- package/dist/core/compaction/branch-summarization.js.map +1 -0
- package/dist/core/compaction/compaction.d.ts +137 -0
- package/dist/core/compaction/compaction.d.ts.map +1 -0
- package/dist/core/compaction/compaction.js +645 -0
- package/dist/core/compaction/compaction.js.map +1 -0
- package/dist/core/compaction/index.d.ts +7 -0
- package/dist/core/compaction/index.d.ts.map +1 -0
- package/dist/core/compaction/index.js +7 -0
- package/dist/core/compaction/index.js.map +1 -0
- package/dist/core/compaction/utils.d.ts +38 -0
- package/dist/core/compaction/utils.d.ts.map +1 -0
- package/dist/core/compaction/utils.js +142 -0
- package/dist/core/compaction/utils.js.map +1 -0
- package/dist/core/defaults.d.ts +3 -0
- package/dist/core/defaults.d.ts.map +1 -0
- package/dist/core/defaults.js +2 -0
- package/dist/core/defaults.js.map +1 -0
- package/dist/core/diagnostics.d.ts +15 -0
- package/dist/core/diagnostics.d.ts.map +1 -0
- package/dist/core/diagnostics.js +2 -0
- package/dist/core/diagnostics.js.map +1 -0
- package/dist/core/event-bus.d.ts +9 -0
- package/dist/core/event-bus.d.ts.map +1 -0
- package/dist/core/event-bus.js +25 -0
- package/dist/core/event-bus.js.map +1 -0
- package/dist/core/exec.d.ts +29 -0
- package/dist/core/exec.d.ts.map +1 -0
- package/dist/core/exec.js +75 -0
- package/dist/core/exec.js.map +1 -0
- package/dist/core/experimental.d.ts +2 -0
- package/dist/core/experimental.d.ts.map +1 -0
- package/dist/core/experimental.js +4 -0
- package/dist/core/experimental.js.map +1 -0
- package/dist/core/export-html/ansi-to-html.d.ts +22 -0
- package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
- package/dist/core/export-html/ansi-to-html.js +249 -0
- package/dist/core/export-html/ansi-to-html.js.map +1 -0
- package/dist/core/export-html/index.d.ts +37 -0
- package/dist/core/export-html/index.d.ts.map +1 -0
- package/dist/core/export-html/index.js +226 -0
- package/dist/core/export-html/index.js.map +1 -0
- package/dist/core/export-html/template.css +1066 -0
- package/dist/core/export-html/template.html +55 -0
- package/dist/core/export-html/template.js +1864 -0
- package/dist/core/export-html/tool-renderer.d.ts +34 -0
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
- package/dist/core/export-html/tool-renderer.js +108 -0
- package/dist/core/export-html/tool-renderer.js.map +1 -0
- package/dist/core/export-html/vendor/highlight.min.js +1213 -0
- package/dist/core/export-html/vendor/marked.min.js +78 -0
- package/dist/core/extensions/index.d.ts +12 -0
- package/dist/core/extensions/index.d.ts.map +1 -0
- package/dist/core/extensions/index.js +9 -0
- package/dist/core/extensions/index.js.map +1 -0
- package/dist/core/extensions/loader.d.ts +23 -0
- package/dist/core/extensions/loader.d.ts.map +1 -0
- package/dist/core/extensions/loader.js +564 -0
- package/dist/core/extensions/loader.js.map +1 -0
- package/dist/core/extensions/runner.d.ts +173 -0
- package/dist/core/extensions/runner.d.ts.map +1 -0
- package/dist/core/extensions/runner.js +966 -0
- package/dist/core/extensions/runner.js.map +1 -0
- package/dist/core/extensions/types.d.ts +1270 -0
- package/dist/core/extensions/types.d.ts.map +1 -0
- package/dist/core/extensions/types.js +45 -0
- package/dist/core/extensions/types.js.map +1 -0
- package/dist/core/extensions/wrapper.d.ts +20 -0
- package/dist/core/extensions/wrapper.d.ts.map +1 -0
- package/dist/core/extensions/wrapper.js +41 -0
- package/dist/core/extensions/wrapper.js.map +1 -0
- package/dist/core/footer-data-provider.d.ts +54 -0
- package/dist/core/footer-data-provider.d.ts.map +1 -0
- package/dist/core/footer-data-provider.js +338 -0
- package/dist/core/footer-data-provider.js.map +1 -0
- package/dist/core/http-dispatcher.d.ts +22 -0
- package/dist/core/http-dispatcher.d.ts.map +1 -0
- package/dist/core/http-dispatcher.js +91 -0
- package/dist/core/http-dispatcher.js.map +1 -0
- package/dist/core/index.d.ts +13 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +13 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/keybindings.d.ts +358 -0
- package/dist/core/keybindings.d.ts.map +1 -0
- package/dist/core/keybindings.js +296 -0
- package/dist/core/keybindings.js.map +1 -0
- package/dist/core/messages.d.ts +77 -0
- package/dist/core/messages.d.ts.map +1 -0
- package/dist/core/messages.js +123 -0
- package/dist/core/messages.js.map +1 -0
- package/dist/core/model-config.d.ts +542 -0
- package/dist/core/model-config.d.ts.map +1 -0
- package/dist/core/model-config.js +249 -0
- package/dist/core/model-config.js.map +1 -0
- package/dist/core/model-registry.d.ts +43 -0
- package/dist/core/model-registry.d.ts.map +1 -0
- package/dist/core/model-registry.js +104 -0
- package/dist/core/model-registry.js.map +1 -0
- package/dist/core/model-resolver.d.ts +122 -0
- package/dist/core/model-resolver.d.ts.map +1 -0
- package/dist/core/model-resolver.js +551 -0
- package/dist/core/model-resolver.js.map +1 -0
- package/dist/core/model-runtime.d.ts +81 -0
- package/dist/core/model-runtime.d.ts.map +1 -0
- package/dist/core/model-runtime.js +439 -0
- package/dist/core/model-runtime.js.map +1 -0
- package/dist/core/models-store.d.ts +17 -0
- package/dist/core/models-store.d.ts.map +1 -0
- package/dist/core/models-store.js +45 -0
- package/dist/core/models-store.js.map +1 -0
- package/dist/core/output-guard.d.ts +7 -0
- package/dist/core/output-guard.d.ts.map +1 -0
- package/dist/core/output-guard.js +89 -0
- package/dist/core/output-guard.js.map +1 -0
- package/dist/core/package-manager.d.ts +213 -0
- package/dist/core/package-manager.d.ts.map +1 -0
- package/dist/core/package-manager.js +2165 -0
- package/dist/core/package-manager.js.map +1 -0
- package/dist/core/project-trust.d.ts +16 -0
- package/dist/core/project-trust.d.ts.map +1 -0
- package/dist/core/project-trust.js +59 -0
- package/dist/core/project-trust.js.map +1 -0
- package/dist/core/prompt-templates.d.ts +54 -0
- package/dist/core/prompt-templates.d.ts.map +1 -0
- package/dist/core/prompt-templates.js +236 -0
- package/dist/core/prompt-templates.js.map +1 -0
- package/dist/core/provider-attribution.d.ts +4 -0
- package/dist/core/provider-attribution.d.ts.map +1 -0
- package/dist/core/provider-attribution.js +83 -0
- package/dist/core/provider-attribution.js.map +1 -0
- package/dist/core/provider-composer.d.ts +55 -0
- package/dist/core/provider-composer.d.ts.map +1 -0
- package/dist/core/provider-composer.js +375 -0
- package/dist/core/provider-composer.js.map +1 -0
- package/dist/core/radius.d.ts +2 -0
- package/dist/core/radius.d.ts.map +1 -0
- package/dist/core/radius.js +2 -0
- package/dist/core/radius.js.map +1 -0
- package/dist/core/remote-catalog-provider.d.ts +5 -0
- package/dist/core/remote-catalog-provider.d.ts.map +1 -0
- package/dist/core/remote-catalog-provider.js +115 -0
- package/dist/core/remote-catalog-provider.js.map +1 -0
- package/dist/core/resolve-config-value.d.ts +30 -0
- package/dist/core/resolve-config-value.d.ts.map +1 -0
- package/dist/core/resolve-config-value.js +247 -0
- package/dist/core/resolve-config-value.js.map +1 -0
- package/dist/core/resource-loader.d.ts +207 -0
- package/dist/core/resource-loader.d.ts.map +1 -0
- package/dist/core/resource-loader.js +821 -0
- package/dist/core/resource-loader.js.map +1 -0
- package/dist/core/runtime-credentials.d.ts +15 -0
- package/dist/core/runtime-credentials.d.ts.map +1 -0
- package/dist/core/runtime-credentials.js +36 -0
- package/dist/core/runtime-credentials.js.map +1 -0
- package/dist/core/sdk.d.ts +106 -0
- package/dist/core/sdk.d.ts.map +1 -0
- package/dist/core/sdk.js +267 -0
- package/dist/core/sdk.js.map +1 -0
- package/dist/core/session-cwd.d.ts +19 -0
- package/dist/core/session-cwd.d.ts.map +1 -0
- package/dist/core/session-cwd.js +38 -0
- package/dist/core/session-cwd.js.map +1 -0
- package/dist/core/session-manager.d.ts +356 -0
- package/dist/core/session-manager.d.ts.map +1 -0
- package/dist/core/session-manager.js +1338 -0
- package/dist/core/session-manager.js.map +1 -0
- package/dist/core/settings-manager.d.ts +313 -0
- package/dist/core/settings-manager.d.ts.map +1 -0
- package/dist/core/settings-manager.js +921 -0
- package/dist/core/settings-manager.js.map +1 -0
- package/dist/core/skills.d.ts +60 -0
- package/dist/core/skills.d.ts.map +1 -0
- package/dist/core/skills.js +387 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/slash-commands.d.ts +15 -0
- package/dist/core/slash-commands.d.ts.map +1 -0
- package/dist/core/slash-commands.js +26 -0
- package/dist/core/slash-commands.js.map +1 -0
- package/dist/core/source-info.d.ts +18 -0
- package/dist/core/source-info.d.ts.map +1 -0
- package/dist/core/source-info.js +19 -0
- package/dist/core/source-info.js.map +1 -0
- package/dist/core/system-prompt.d.ts +28 -0
- package/dist/core/system-prompt.d.ts.map +1 -0
- package/dist/core/system-prompt.js +110 -0
- package/dist/core/system-prompt.js.map +1 -0
- package/dist/core/telemetry.d.ts +3 -0
- package/dist/core/telemetry.d.ts.map +1 -0
- package/dist/core/telemetry.js +10 -0
- package/dist/core/telemetry.js.map +1 -0
- package/dist/core/timings.d.ts +10 -0
- package/dist/core/timings.d.ts.map +1 -0
- package/dist/core/timings.js +41 -0
- package/dist/core/timings.js.map +1 -0
- package/dist/core/tools/bash.d.ts +70 -0
- package/dist/core/tools/bash.d.ts.map +1 -0
- package/dist/core/tools/bash.js +391 -0
- package/dist/core/tools/bash.js.map +1 -0
- package/dist/core/tools/edit-diff.d.ts +106 -0
- package/dist/core/tools/edit-diff.d.ts.map +1 -0
- package/dist/core/tools/edit-diff.js +424 -0
- package/dist/core/tools/edit-diff.js.map +1 -0
- package/dist/core/tools/edit.d.ts +51 -0
- package/dist/core/tools/edit.d.ts.map +1 -0
- package/dist/core/tools/edit.js +284 -0
- package/dist/core/tools/edit.js.map +1 -0
- package/dist/core/tools/file-mutation-queue.d.ts +6 -0
- package/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
- package/dist/core/tools/file-mutation-queue.js +52 -0
- package/dist/core/tools/file-mutation-queue.js.map +1 -0
- package/dist/core/tools/find.d.ts +35 -0
- package/dist/core/tools/find.d.ts.map +1 -0
- package/dist/core/tools/find.js +305 -0
- package/dist/core/tools/find.js.map +1 -0
- package/dist/core/tools/grep.d.ts +37 -0
- package/dist/core/tools/grep.d.ts.map +1 -0
- package/dist/core/tools/grep.js +304 -0
- package/dist/core/tools/grep.js.map +1 -0
- package/dist/core/tools/index.d.ts +40 -0
- package/dist/core/tools/index.d.ts.map +1 -0
- package/dist/core/tools/index.js +112 -0
- package/dist/core/tools/index.js.map +1 -0
- package/dist/core/tools/ls.d.ts +37 -0
- package/dist/core/tools/ls.d.ts.map +1 -0
- package/dist/core/tools/ls.js +167 -0
- package/dist/core/tools/ls.js.map +1 -0
- package/dist/core/tools/output-accumulator.d.ts +52 -0
- package/dist/core/tools/output-accumulator.d.ts.map +1 -0
- package/dist/core/tools/output-accumulator.js +184 -0
- package/dist/core/tools/output-accumulator.js.map +1 -0
- package/dist/core/tools/path-utils.d.ts +10 -0
- package/dist/core/tools/path-utils.d.ts.map +1 -0
- package/dist/core/tools/path-utils.js +99 -0
- package/dist/core/tools/path-utils.js.map +1 -0
- package/dist/core/tools/read.d.ts +35 -0
- package/dist/core/tools/read.d.ts.map +1 -0
- package/dist/core/tools/read.js +276 -0
- package/dist/core/tools/read.js.map +1 -0
- package/dist/core/tools/render-utils.d.ts +24 -0
- package/dist/core/tools/render-utils.d.ts.map +1 -0
- package/dist/core/tools/render-utils.js +65 -0
- package/dist/core/tools/render-utils.js.map +1 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
- package/dist/core/tools/tool-definition-wrapper.js +36 -0
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
- package/dist/core/tools/truncate.d.ts +70 -0
- package/dist/core/tools/truncate.d.ts.map +1 -0
- package/dist/core/tools/truncate.js +215 -0
- package/dist/core/tools/truncate.js.map +1 -0
- package/dist/core/tools/write.d.ts +26 -0
- package/dist/core/tools/write.d.ts.map +1 -0
- package/dist/core/tools/write.js +197 -0
- package/dist/core/tools/write.js.map +1 -0
- package/dist/core/trust-manager.d.ts +36 -0
- package/dist/core/trust-manager.d.ts.map +1 -0
- package/dist/core/trust-manager.js +202 -0
- package/dist/core/trust-manager.js.map +1 -0
- package/dist/core/usage-totals.d.ts +19 -0
- package/dist/core/usage-totals.d.ts.map +1 -0
- package/dist/core/usage-totals.js +52 -0
- package/dist/core/usage-totals.js.map +1 -0
- package/dist/extensions/index.d.ts +3 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +3 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/llama/client.d.ts +61 -0
- package/dist/extensions/llama/client.d.ts.map +1 -0
- package/dist/extensions/llama/client.js +302 -0
- package/dist/extensions/llama/client.js.map +1 -0
- package/dist/extensions/llama/huggingface.d.ts +23 -0
- package/dist/extensions/llama/huggingface.d.ts.map +1 -0
- package/dist/extensions/llama/huggingface.js +141 -0
- package/dist/extensions/llama/huggingface.js.map +1 -0
- package/dist/extensions/llama/index.d.ts +3 -0
- package/dist/extensions/llama/index.d.ts.map +1 -0
- package/dist/extensions/llama/index.js +208 -0
- package/dist/extensions/llama/index.js.map +1 -0
- package/dist/extensions/llama/provider.d.ts +10 -0
- package/dist/extensions/llama/provider.d.ts.map +1 -0
- package/dist/extensions/llama/provider.js +107 -0
- package/dist/extensions/llama/provider.js.map +1 -0
- package/dist/extensions/llama/ui.d.ts +42 -0
- package/dist/extensions/llama/ui.d.ts.map +1 -0
- package/dist/extensions/llama/ui.js +416 -0
- package/dist/extensions/llama/ui.js.map +1 -0
- package/dist/humain/brand-logo.d.ts +3 -0
- package/dist/humain/brand-logo.d.ts.map +1 -0
- package/dist/humain/brand-logo.js +3 -0
- package/dist/humain/brand-logo.js.map +1 -0
- package/dist/humain/index.d.ts +11 -0
- package/dist/humain/index.d.ts.map +1 -0
- package/dist/humain/index.js +291 -0
- package/dist/humain/index.js.map +1 -0
- package/dist/humain/legacy-workflow-tiers.d.ts +3 -0
- package/dist/humain/legacy-workflow-tiers.d.ts.map +1 -0
- package/dist/humain/legacy-workflow-tiers.js +46 -0
- package/dist/humain/legacy-workflow-tiers.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +15 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +773 -0
- package/dist/main.js.map +1 -0
- package/dist/migrations.d.ts +33 -0
- package/dist/migrations.d.ts.map +1 -0
- package/dist/migrations.js +281 -0
- package/dist/migrations.js.map +1 -0
- package/dist/modes/index.d.ts +9 -0
- package/dist/modes/index.d.ts.map +1 -0
- package/dist/modes/index.js +8 -0
- package/dist/modes/index.js.map +1 -0
- package/dist/modes/interactive/assets/clankolas.png +0 -0
- package/dist/modes/interactive/components/armin.d.ts +34 -0
- package/dist/modes/interactive/components/armin.d.ts.map +1 -0
- package/dist/modes/interactive/components/armin.js +333 -0
- package/dist/modes/interactive/components/armin.js.map +1 -0
- package/dist/modes/interactive/components/assistant-message.d.ts +22 -0
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/assistant-message.js +141 -0
- package/dist/modes/interactive/components/assistant-message.js.map +1 -0
- package/dist/modes/interactive/components/bash-execution.d.ts +34 -0
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/bash-execution.js +175 -0
- package/dist/modes/interactive/components/bash-execution.js.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.js +54 -0
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.js +44 -0
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.js +45 -0
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/config-selector.d.ts +102 -0
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/config-selector.js +761 -0
- package/dist/modes/interactive/components/config-selector.js.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.js +33 -0
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
- package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-editor.js +70 -0
- package/dist/modes/interactive/components/custom-editor.js.map +1 -0
- package/dist/modes/interactive/components/custom-entry.d.ts +19 -0
- package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-entry.js +52 -0
- package/dist/modes/interactive/components/custom-entry.js.map +1 -0
- package/dist/modes/interactive/components/custom-message.d.ts +22 -0
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-message.js +87 -0
- package/dist/modes/interactive/components/custom-message.js.map +1 -0
- package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
- package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
- package/dist/modes/interactive/components/daxnuts.js +140 -0
- package/dist/modes/interactive/components/daxnuts.js.map +1 -0
- package/dist/modes/interactive/components/diff.d.ts +12 -0
- package/dist/modes/interactive/components/diff.d.ts.map +1 -0
- package/dist/modes/interactive/components/diff.js +133 -0
- package/dist/modes/interactive/components/diff.js.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.js +21 -0
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
- package/dist/modes/interactive/components/extension-editor.d.ts +21 -0
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-editor.js +98 -0
- package/dist/modes/interactive/components/extension-editor.js.map +1 -0
- package/dist/modes/interactive/components/extension-input.d.ts +23 -0
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-input.js +61 -0
- package/dist/modes/interactive/components/extension-input.js.map +1 -0
- package/dist/modes/interactive/components/extension-selector.d.ts +26 -0
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-selector.js +83 -0
- package/dist/modes/interactive/components/extension-selector.js.map +1 -0
- package/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
- package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
- package/dist/modes/interactive/components/first-time-setup.js +103 -0
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -0
- package/dist/modes/interactive/components/footer.d.ts +32 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -0
- package/dist/modes/interactive/components/footer.js +222 -0
- package/dist/modes/interactive/components/footer.js.map +1 -0
- package/dist/modes/interactive/components/index.d.ts +34 -0
- package/dist/modes/interactive/components/index.d.ts.map +1 -0
- package/dist/modes/interactive/components/index.js +35 -0
- package/dist/modes/interactive/components/index.js.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.js +36 -0
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
- package/dist/modes/interactive/components/login-dialog.d.ts +52 -0
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
- package/dist/modes/interactive/components/login-dialog.js +188 -0
- package/dist/modes/interactive/components/login-dialog.js.map +1 -0
- package/dist/modes/interactive/components/model-selector.d.ts +54 -0
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/model-selector.js +310 -0
- package/dist/modes/interactive/components/model-selector.js.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts +33 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.js +163 -0
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +42 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.js +302 -0
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.js +155 -0
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
- package/dist/modes/interactive/components/session-selector.d.ts +95 -0
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector.js +867 -0
- package/dist/modes/interactive/components/session-selector.js.map +1 -0
- package/dist/modes/interactive/components/settings-selector.d.ts +77 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/settings-selector.js +593 -0
- package/dist/modes/interactive/components/settings-selector.js.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.js +39 -0
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
- package/dist/modes/interactive/components/status-indicator.d.ts +28 -0
- package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -0
- package/dist/modes/interactive/components/status-indicator.js +60 -0
- package/dist/modes/interactive/components/status-indicator.js.map +1 -0
- package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/theme-selector.js +50 -0
- package/dist/modes/interactive/components/theme-selector.js.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.js +52 -0
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
- package/dist/modes/interactive/components/tool-execution.d.ts +63 -0
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/tool-execution.js +317 -0
- package/dist/modes/interactive/components/tool-execution.js.map +1 -0
- package/dist/modes/interactive/components/tree-selector.d.ts +94 -0
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/tree-selector.js +1245 -0
- package/dist/modes/interactive/components/tree-selector.js.map +1 -0
- package/dist/modes/interactive/components/trust-selector.d.ts +23 -0
- package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/trust-selector.js +91 -0
- package/dist/modes/interactive/components/trust-selector.js.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.js +114 -0
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
- package/dist/modes/interactive/components/user-message.d.ts +14 -0
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message.js +42 -0
- package/dist/modes/interactive/components/user-message.js.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.js +33 -0
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
- package/dist/modes/interactive/external-editor.d.ts +12 -0
- package/dist/modes/interactive/external-editor.d.ts.map +1 -0
- package/dist/modes/interactive/external-editor.js +38 -0
- package/dist/modes/interactive/external-editor.js.map +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +393 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-mode.js +5003 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -0
- package/dist/modes/interactive/model-search.d.ts +12 -0
- package/dist/modes/interactive/model-search.d.ts.map +1 -0
- package/dist/modes/interactive/model-search.js +15 -0
- package/dist/modes/interactive/model-search.js.map +1 -0
- package/dist/modes/interactive/theme/dark.json +87 -0
- package/dist/modes/interactive/theme/humain-dark.json +81 -0
- package/dist/modes/interactive/theme/humain-light.json +81 -0
- package/dist/modes/interactive/theme/light.json +86 -0
- package/dist/modes/interactive/theme/theme-controller.d.ts +29 -0
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -0
- package/dist/modes/interactive/theme/theme-controller.js +102 -0
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -0
- package/dist/modes/interactive/theme/theme-schema.json +340 -0
- package/dist/modes/interactive/theme/theme.d.ts +120 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
- package/dist/modes/interactive/theme/theme.js +1069 -0
- package/dist/modes/interactive/theme/theme.js.map +1 -0
- package/dist/modes/print-mode.d.ts +28 -0
- package/dist/modes/print-mode.d.ts.map +1 -0
- package/dist/modes/print-mode.js +132 -0
- package/dist/modes/print-mode.js.map +1 -0
- package/dist/modes/rpc/jsonl.d.ts +17 -0
- package/dist/modes/rpc/jsonl.d.ts.map +1 -0
- package/dist/modes/rpc/jsonl.js +49 -0
- package/dist/modes/rpc/jsonl.js.map +1 -0
- package/dist/modes/rpc/rpc-client.d.ts +248 -0
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-client.js +489 -0
- package/dist/modes/rpc/rpc-client.js.map +1 -0
- package/dist/modes/rpc/rpc-mode.d.ts +20 -0
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-mode.js +640 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -0
- package/dist/modes/rpc/rpc-types.d.ts +457 -0
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-types.js +8 -0
- package/dist/modes/rpc/rpc-types.js.map +1 -0
- package/dist/package-manager-cli.d.ts +8 -0
- package/dist/package-manager-cli.d.ts.map +1 -0
- package/dist/package-manager-cli.js +775 -0
- package/dist/package-manager-cli.js.map +1 -0
- package/dist/rpc-entry.d.ts +3 -0
- package/dist/rpc-entry.d.ts.map +1 -0
- package/dist/rpc-entry.js +10 -0
- package/dist/rpc-entry.js.map +1 -0
- package/dist/utils/ansi.d.ts +2 -0
- package/dist/utils/ansi.d.ts.map +1 -0
- package/dist/utils/ansi.js +52 -0
- package/dist/utils/ansi.js.map +1 -0
- package/dist/utils/changelog.d.ts +22 -0
- package/dist/utils/changelog.d.ts.map +1 -0
- package/dist/utils/changelog.js +165 -0
- package/dist/utils/changelog.js.map +1 -0
- package/dist/utils/child-process.d.ts +18 -0
- package/dist/utils/child-process.d.ts.map +1 -0
- package/dist/utils/child-process.js +106 -0
- package/dist/utils/child-process.js.map +1 -0
- package/dist/utils/clipboard-image.d.ts +11 -0
- package/dist/utils/clipboard-image.d.ts.map +1 -0
- package/dist/utils/clipboard-image.js +245 -0
- package/dist/utils/clipboard-image.js.map +1 -0
- package/dist/utils/clipboard-native.d.ts +11 -0
- package/dist/utils/clipboard-native.d.ts.map +1 -0
- package/dist/utils/clipboard-native.js +20 -0
- package/dist/utils/clipboard-native.js.map +1 -0
- package/dist/utils/clipboard.d.ts +4 -0
- package/dist/utils/clipboard.d.ts.map +1 -0
- package/dist/utils/clipboard.js +141 -0
- package/dist/utils/clipboard.js.map +1 -0
- package/dist/utils/deprecation.d.ts +4 -0
- package/dist/utils/deprecation.d.ts.map +1 -0
- package/dist/utils/deprecation.js +13 -0
- package/dist/utils/deprecation.js.map +1 -0
- package/dist/utils/exif-orientation.d.ts +5 -0
- package/dist/utils/exif-orientation.d.ts.map +1 -0
- package/dist/utils/exif-orientation.js +158 -0
- package/dist/utils/exif-orientation.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +8 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +26 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/fs-watch.d.ts +5 -0
- package/dist/utils/fs-watch.d.ts.map +1 -0
- package/dist/utils/fs-watch.js +25 -0
- package/dist/utils/fs-watch.js.map +1 -0
- package/dist/utils/git.d.ts +26 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +195 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/html.d.ts +7 -0
- package/dist/utils/html.d.ts.map +1 -0
- package/dist/utils/html.js +40 -0
- package/dist/utils/html.js.map +1 -0
- package/dist/utils/image-convert.d.ts +10 -0
- package/dist/utils/image-convert.d.ts.map +1 -0
- package/dist/utils/image-convert.js +45 -0
- package/dist/utils/image-convert.js.map +1 -0
- package/dist/utils/image-process.d.ts +18 -0
- package/dist/utils/image-process.d.ts.map +1 -0
- package/dist/utils/image-process.js +83 -0
- package/dist/utils/image-process.js.map +1 -0
- package/dist/utils/image-resize-core.d.ts +30 -0
- package/dist/utils/image-resize-core.d.ts.map +1 -0
- package/dist/utils/image-resize-core.js +124 -0
- package/dist/utils/image-resize-core.js.map +1 -0
- package/dist/utils/image-resize-worker.d.ts +2 -0
- package/dist/utils/image-resize-worker.d.ts.map +1 -0
- package/dist/utils/image-resize-worker.js +31 -0
- package/dist/utils/image-resize-worker.js.map +1 -0
- package/dist/utils/image-resize.d.ts +16 -0
- package/dist/utils/image-resize.d.ts.map +1 -0
- package/dist/utils/image-resize.js +97 -0
- package/dist/utils/image-resize.js.map +1 -0
- package/dist/utils/json.d.ts +3 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/json.js +7 -0
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/mime.d.ts +3 -0
- package/dist/utils/mime.d.ts.map +1 -0
- package/dist/utils/mime.js +110 -0
- package/dist/utils/mime.js.map +1 -0
- package/dist/utils/open-browser.d.ts +9 -0
- package/dist/utils/open-browser.d.ts.map +1 -0
- package/dist/utils/open-browser.js +22 -0
- package/dist/utils/open-browser.js.map +1 -0
- package/dist/utils/paths.d.ts +31 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +92 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/photon.d.ts +21 -0
- package/dist/utils/photon.d.ts.map +1 -0
- package/dist/utils/photon.js +121 -0
- package/dist/utils/photon.js.map +1 -0
- package/dist/utils/pi-user-agent.d.ts +2 -0
- package/dist/utils/pi-user-agent.d.ts.map +1 -0
- package/dist/utils/pi-user-agent.js +6 -0
- package/dist/utils/pi-user-agent.js.map +1 -0
- package/dist/utils/shell.d.ts +31 -0
- package/dist/utils/shell.d.ts.map +1 -0
- package/dist/utils/shell.js +202 -0
- package/dist/utils/shell.js.map +1 -0
- package/dist/utils/sleep.d.ts +5 -0
- package/dist/utils/sleep.d.ts.map +1 -0
- package/dist/utils/sleep.js +17 -0
- package/dist/utils/sleep.js.map +1 -0
- package/dist/utils/syntax-highlight.d.ts +12 -0
- package/dist/utils/syntax-highlight.d.ts.map +1 -0
- package/dist/utils/syntax-highlight.js +118 -0
- package/dist/utils/syntax-highlight.js.map +1 -0
- package/dist/utils/tools-manager.d.ts +3 -0
- package/dist/utils/tools-manager.d.ts.map +1 -0
- package/dist/utils/tools-manager.js +345 -0
- package/dist/utils/tools-manager.js.map +1 -0
- package/dist/utils/version-check.d.ts +15 -0
- package/dist/utils/version-check.d.ts.map +1 -0
- package/dist/utils/version-check.js +61 -0
- package/dist/utils/version-check.js.map +1 -0
- package/dist/utils/windows-self-update.d.ts +3 -0
- package/dist/utils/windows-self-update.d.ts.map +1 -0
- package/dist/utils/windows-self-update.js +77 -0
- package/dist/utils/windows-self-update.js.map +1 -0
- package/docs/compaction.md +401 -0
- package/docs/containerization.md +111 -0
- package/docs/custom-provider.md +769 -0
- package/docs/development.md +72 -0
- package/docs/docs.json +172 -0
- package/docs/environment-variables.md +88 -0
- package/docs/extensions.md +2962 -0
- package/docs/humain-code-forge-architecture.md +217 -0
- package/docs/humain-code-forge-component-scorecard.md +122 -0
- package/docs/humain-code-forge-flow-walkthrough.md +414 -0
- package/docs/humain-terminal.md +102 -0
- package/docs/images/doom-extension.png +0 -0
- package/docs/images/exy.png +0 -0
- package/docs/images/interactive-mode.png +0 -0
- package/docs/images/tree-view.png +0 -0
- package/docs/index.md +82 -0
- package/docs/json.md +86 -0
- package/docs/keybindings.md +198 -0
- package/docs/llama-cpp.md +99 -0
- package/docs/models.md +544 -0
- package/docs/packages.md +228 -0
- package/docs/prompt-templates.md +96 -0
- package/docs/providers.md +308 -0
- package/docs/quickstart.md +165 -0
- package/docs/rpc.md +1576 -0
- package/docs/sdk.md +1186 -0
- package/docs/security.md +59 -0
- package/docs/session-format.md +436 -0
- package/docs/sessions.md +145 -0
- package/docs/settings.md +319 -0
- package/docs/shell-aliases.md +13 -0
- package/docs/skills.md +231 -0
- package/docs/terminal-setup.md +142 -0
- package/docs/termux.md +127 -0
- package/docs/themes.md +297 -0
- package/docs/tmux.md +63 -0
- package/docs/tui.md +942 -0
- package/docs/usage.md +316 -0
- package/docs/windows.md +17 -0
- package/examples/README.md +25 -0
- package/examples/extensions/README.md +213 -0
- package/examples/extensions/auto-commit-on-exit.ts +49 -0
- package/examples/extensions/bash-spawn-hook.ts +30 -0
- package/examples/extensions/bookmark.ts +50 -0
- package/examples/extensions/border-status-editor.ts +145 -0
- package/examples/extensions/built-in-tool-renderer.ts +249 -0
- package/examples/extensions/claude-rules.ts +86 -0
- package/examples/extensions/commands.ts +72 -0
- package/examples/extensions/confirm-destructive.ts +59 -0
- package/examples/extensions/custom-compaction.ts +132 -0
- package/examples/extensions/custom-footer.ts +64 -0
- package/examples/extensions/custom-header.ts +73 -0
- package/examples/extensions/custom-provider-anthropic/index.ts +604 -0
- package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -0
- package/examples/extensions/custom-provider-anthropic/package.json +19 -0
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +404 -0
- package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -0
- package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -0
- package/examples/extensions/dirty-repo-guard.ts +56 -0
- package/examples/extensions/doom-overlay/README.md +46 -0
- package/examples/extensions/doom-overlay/doom/build/doom.js +21 -0
- package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
- package/examples/extensions/doom-overlay/doom/build.sh +156 -0
- package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -0
- package/examples/extensions/doom-overlay/doom-component.ts +132 -0
- package/examples/extensions/doom-overlay/doom-engine.ts +173 -0
- package/examples/extensions/doom-overlay/doom-keys.ts +104 -0
- package/examples/extensions/doom-overlay/index.ts +74 -0
- package/examples/extensions/doom-overlay/wad-finder.ts +51 -0
- package/examples/extensions/dynamic-resources/SKILL.md +8 -0
- package/examples/extensions/dynamic-resources/dynamic.json +79 -0
- package/examples/extensions/dynamic-resources/dynamic.md +5 -0
- package/examples/extensions/dynamic-resources/index.ts +15 -0
- package/examples/extensions/dynamic-tools.ts +74 -0
- package/examples/extensions/entry-renderer.ts +41 -0
- package/examples/extensions/event-bus.ts +43 -0
- package/examples/extensions/file-trigger.ts +41 -0
- package/examples/extensions/git-checkpoint.ts +53 -0
- package/examples/extensions/git-merge-and-resolve.ts +115 -0
- package/examples/extensions/github-issue-autocomplete.ts +185 -0
- package/examples/extensions/gondolin/index.ts +531 -0
- package/examples/extensions/gondolin/package-lock.json +185 -0
- package/examples/extensions/gondolin/package.json +19 -0
- package/examples/extensions/handoff.ts +199 -0
- package/examples/extensions/hello.ts +26 -0
- package/examples/extensions/hidden-thinking-label.ts +53 -0
- package/examples/extensions/inline-bash.ts +94 -0
- package/examples/extensions/input-transform-streaming.ts +39 -0
- package/examples/extensions/input-transform.ts +43 -0
- package/examples/extensions/interactive-shell.ts +196 -0
- package/examples/extensions/kimi-deferred-tools.ts +61 -0
- package/examples/extensions/mac-system-theme.ts +47 -0
- package/examples/extensions/message-renderer.ts +59 -0
- package/examples/extensions/minimal-mode.ts +426 -0
- package/examples/extensions/modal-editor.ts +85 -0
- package/examples/extensions/model-status.ts +31 -0
- package/examples/extensions/notify.ts +55 -0
- package/examples/extensions/overlay-qa-tests.ts +1450 -0
- package/examples/extensions/overlay-test.ts +153 -0
- package/examples/extensions/permission-gate.ts +34 -0
- package/examples/extensions/pirate.ts +47 -0
- package/examples/extensions/plan-mode/README.md +66 -0
- package/examples/extensions/plan-mode/index.ts +390 -0
- package/examples/extensions/plan-mode/utils.ts +168 -0
- package/examples/extensions/preset.ts +436 -0
- package/examples/extensions/project-trust.ts +64 -0
- package/examples/extensions/prompt-customizer.ts +97 -0
- package/examples/extensions/protected-paths.ts +30 -0
- package/examples/extensions/provider-payload.ts +18 -0
- package/examples/extensions/qna.ts +122 -0
- package/examples/extensions/question.ts +286 -0
- package/examples/extensions/questionnaire.ts +448 -0
- package/examples/extensions/rainbow-editor.ts +88 -0
- package/examples/extensions/reload-runtime.ts +37 -0
- package/examples/extensions/rpc-demo.ts +118 -0
- package/examples/extensions/sandbox/index.ts +321 -0
- package/examples/extensions/sandbox/package-lock.json +92 -0
- package/examples/extensions/sandbox/package.json +19 -0
- package/examples/extensions/send-user-message.ts +97 -0
- package/examples/extensions/session-name.ts +27 -0
- package/examples/extensions/shutdown-command.ts +63 -0
- package/examples/extensions/snake.ts +343 -0
- package/examples/extensions/space-invaders.ts +560 -0
- package/examples/extensions/ssh.ts +220 -0
- package/examples/extensions/status-line.ts +32 -0
- package/examples/extensions/structured-output.ts +65 -0
- package/examples/extensions/subagent/README.md +175 -0
- package/examples/extensions/subagent/agents/planner.md +37 -0
- package/examples/extensions/subagent/agents/reviewer.md +35 -0
- package/examples/extensions/subagent/agents/scout.md +50 -0
- package/examples/extensions/subagent/agents/worker.md +24 -0
- package/examples/extensions/subagent/agents.ts +126 -0
- package/examples/extensions/subagent/index.ts +1015 -0
- package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
- package/examples/extensions/subagent/prompts/implement.md +10 -0
- package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
- package/examples/extensions/summarize.ts +210 -0
- package/examples/extensions/system-prompt-header.ts +17 -0
- package/examples/extensions/tic-tac-toe.ts +1008 -0
- package/examples/extensions/timed-confirm.ts +70 -0
- package/examples/extensions/titlebar-spinner.ts +58 -0
- package/examples/extensions/todo.ts +297 -0
- package/examples/extensions/tool-override.ts +144 -0
- package/examples/extensions/tools.ts +146 -0
- package/examples/extensions/trigger-compact.ts +50 -0
- package/examples/extensions/truncated-tool.ts +195 -0
- package/examples/extensions/widget-placement.ts +9 -0
- package/examples/extensions/with-deps/index.ts +32 -0
- package/examples/extensions/with-deps/package-lock.json +31 -0
- package/examples/extensions/with-deps/package.json +22 -0
- package/examples/extensions/working-indicator.ts +123 -0
- package/examples/extensions/working-message-test.ts +25 -0
- package/examples/rpc-extension-ui.ts +632 -0
- package/examples/sdk/01-minimal.ts +26 -0
- package/examples/sdk/02-custom-model.ts +50 -0
- package/examples/sdk/03-custom-prompt.ts +70 -0
- package/examples/sdk/04-skills.ts +55 -0
- package/examples/sdk/05-tools.ts +48 -0
- package/examples/sdk/06-extensions.ts +94 -0
- package/examples/sdk/07-context-files.ts +42 -0
- package/examples/sdk/08-prompt-templates.ts +51 -0
- package/examples/sdk/09-api-keys-and-oauth.ts +34 -0
- package/examples/sdk/10-settings.ts +53 -0
- package/examples/sdk/11-sessions.ts +52 -0
- package/examples/sdk/12-full-control.ts +72 -0
- package/examples/sdk/13-session-runtime.ts +67 -0
- package/examples/sdk/README.md +140 -0
- package/npm-shrinkwrap.json +1827 -0
- 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.
|