@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,217 @@
|
|
|
1
|
+
# HUMAIN Code / Forge Architecture
|
|
2
|
+
|
|
3
|
+
This is the canonical architecture contract for HUMAIN Code and Forge-specific work in HUMAIN Terminal.
|
|
4
|
+
Read it before changing Forge startup behavior, DeployNow model bindings, bundled HUMAIN providers, workflow
|
|
5
|
+
model selection, provider/auth registration, Bedrock transport, or HUMAIN branding/config paths.
|
|
6
|
+
|
|
7
|
+
For the descriptive current-state data flow and known pressure points, read the companion
|
|
8
|
+
[HUMAIN Code / Forge Flow Walkthrough](humain-code-forge-flow-walkthrough.md).
|
|
9
|
+
For the current implementation audit, read the
|
|
10
|
+
[HUMAIN Code / Forge Component Scorecard](humain-code-forge-component-scorecard.md).
|
|
11
|
+
|
|
12
|
+
The operating rule is simple: keep HUMAIN and Forge behavior first-class without turning it into a fork of the
|
|
13
|
+
agent runtime or leaking product-specific concerns into generic provider, agent, or TUI layers.
|
|
14
|
+
|
|
15
|
+
This page is normative. If another README, PRD, roadmap, or implementation note conflicts with this page, treat
|
|
16
|
+
this page as the source of truth for the current architecture. If the architecture intentionally changes, update
|
|
17
|
+
this page in the same change as the code and tests that establish the new boundary.
|
|
18
|
+
|
|
19
|
+
## North Star
|
|
20
|
+
|
|
21
|
+
HUMAIN Terminal should be a drop-in terminal coding agent for Forge and HUMAIN Code workflows while still
|
|
22
|
+
remaining an upstream-compatible, model-flexible coding-agent distribution. The product layer should feel native
|
|
23
|
+
to HUMAIN users, but the underlying runtime should stay generic enough to keep accepting upstream fixes,
|
|
24
|
+
provider improvements, extension changes, and TUI improvements without repeated product-specific conflict.
|
|
25
|
+
|
|
26
|
+
That means:
|
|
27
|
+
|
|
28
|
+
- HUMAIN and Forge behavior should be obvious and well supported.
|
|
29
|
+
- Generic runtime packages should stay reusable and provider/product-neutral.
|
|
30
|
+
- Provider and credential behavior should be modeled through normal registry and request-auth contracts.
|
|
31
|
+
- Docs and tests should make the boundary visible enough that future agents do not have to rediscover it.
|
|
32
|
+
|
|
33
|
+
## Core Principles
|
|
34
|
+
|
|
35
|
+
1. **Forge is first-class, but configuration-driven.** Support Forge startup through explicit `--cwd`, settings,
|
|
36
|
+
and `HUMAIN_TERMINAL_FORGE_CWD` precedence. Do not infer Forge identity structurally or hardcode a developer
|
|
37
|
+
machine path as runtime behavior.
|
|
38
|
+
2. **HUMAIN Code is a provider-registration layer.** Add HUMAIN-specific providers, theme setup, default
|
|
39
|
+
packages, and narrowly scoped legacy cleanup through the bundled HUMAIN extension and normal resource seams.
|
|
40
|
+
Forge startup cwd stays in `main.ts`; model selection stays in the normal session flow.
|
|
41
|
+
3. **Runtime model bindings are normal provider registrations.** DeployNow bindings should enter through the
|
|
42
|
+
same provider/model registry and request-auth machinery as other providers.
|
|
43
|
+
4. **DeployNow credentials are descriptors, not secrets.** Loopback binding URLs and placeholder credentials
|
|
44
|
+
describe a supervisor-owned route. Real provider credentials stay behind the supervisor/auth-broker path.
|
|
45
|
+
5. **Provider choice is explicit and fail-closed within DeployNow binding resolution.** If
|
|
46
|
+
`FORGE_RUNTIME_MODEL_PROVIDER` selects a provider, an incomplete binding for that provider must not silently
|
|
47
|
+
fall through to another DeployNow binding. When no selected DeployNow binding can be registered, the existing
|
|
48
|
+
non-DeployNow registry and active-session model path may still apply.
|
|
49
|
+
6. **Generic transport behavior belongs in `packages/ai`.** Bedrock endpoint resolution, proxy handling, HTTP
|
|
50
|
+
handler selection, model metadata, and provider stream behavior are not HUMAIN or Forge concerns.
|
|
51
|
+
7. **Availability, status, and request auth must agree.** If a provider config option affects request-time
|
|
52
|
+
auth, keep `hasConfiguredAuth`, auth status, and request auth resolution consistent.
|
|
53
|
+
8. **Docs and tests are contract surfaces.** Changes to binding shapes, sentinels, provider precedence, model
|
|
54
|
+
selection, or transport behavior must update the docs and focused regression tests that describe them.
|
|
55
|
+
9. **Preserve upstream-compatible internals.** Keep internal package names and import boundaries close to the
|
|
56
|
+
upstream project unless the package scope is deliberately migrated. Put HUMAIN branding at public boundaries.
|
|
57
|
+
10. **Do not imply sandboxing that does not exist.** Project trust, provider registration, and model selection
|
|
58
|
+
are not process, filesystem, network, or credential isolation.
|
|
59
|
+
11. **HUMAIN SSO is visible but unsupported.** Keep `HUMAIN SSO` in `/login`, with no models or model API base
|
|
60
|
+
URL. Login and refresh operations must reject with `HUMAIN SSO is not supported yet.` Legacy OIDC
|
|
61
|
+
configuration must not enable it.
|
|
62
|
+
12. **Drop-in replacement means behavioral compatibility, not internal mimicry.** Preserve the CLI/package
|
|
63
|
+
surfaces, config paths, working-directory behavior, provider/model selection, and tool/session behavior Forge
|
|
64
|
+
needs.
|
|
65
|
+
Do not copy Claude Code internals or add compatibility shims outside the owning layer just to match names.
|
|
66
|
+
|
|
67
|
+
## Layer Ownership
|
|
68
|
+
|
|
69
|
+
| Layer | Owns | Must Not Own |
|
|
70
|
+
| --- | --- | --- |
|
|
71
|
+
| `packages/ai` | Provider APIs, model metadata, streaming implementations, Bedrock endpoint/proxy/HTTP behavior, provider-neutral auth inputs. | Forge prompt injection, DeployNow sentinel policy, HUMAIN branding. |
|
|
72
|
+
| `packages/agent` | Model-agnostic agent loop, message state, tool call orchestration, harness contracts. | Provider-specific selection, HUMAIN/Forge env interpretation, TUI rendering policy. |
|
|
73
|
+
| `packages/tui` | Terminal rendering, input, focus, layout primitives, theme application primitives. | Agent workflow policy, provider auth, Forge product status. |
|
|
74
|
+
| `packages/coding-agent/src/main.ts` | CLI bootstrap, startup cwd resolution, app mode dispatch, runtime factory construction, distribution wiring for bundled HUMAIN extension factories. | Forge policy, provider selection policy, DeployNow descriptor parsing beyond passing env into the runtime. |
|
|
75
|
+
| `packages/coding-agent/src/core` | Sessions, settings, auth storage, model registry, resource loading, tools, extension runtime. | Product-specific Forge workflow copy or DeployNow env names. |
|
|
76
|
+
| `packages/coding-agent/src/modes` | Interactive, print, and RPC mode I/O behavior. | Provider detection, model binding interpretation, package-specific architecture rules. |
|
|
77
|
+
| `packages/coding-agent/src/humain` | HUMAIN branding hooks, HUMAIN themes/logo, legacy generated-tier cleanup, DeployNow binding descriptor interpretation, bundled HUMAIN provider registration, and the always-visible unsupported HUMAIN SSO entry. | Startup cwd resolution, generic auth resolution, generic provider transport behavior, workflow model policy, low-level TUI mechanics, real provider secret custody. |
|
|
78
|
+
| `packages/coding-agent/docs` | Durable user and engineering contract for HUMAIN Terminal behavior. | Stale implementation plans or speculative roadmap as current architecture truth. |
|
|
79
|
+
| `docs/superpowers/specs` | Historical product specs and implementation plans. | Canonical current architecture rules after implementation has landed. |
|
|
80
|
+
|
|
81
|
+
## HUMAIN Code And Forge Boundaries
|
|
82
|
+
|
|
83
|
+
HUMAIN Code and Forge integration should stay in the bundled HUMAIN extension unless the change is plainly
|
|
84
|
+
generic:
|
|
85
|
+
|
|
86
|
+
- HUMAIN theme startup, provider registration, and exact legacy generated-tier cleanup belong in
|
|
87
|
+
`packages/coding-agent/src/humain`; explicit Forge startup cwd resolution belongs in `main.ts`.
|
|
88
|
+
- DeployNow binding descriptor detection belongs in the HUMAIN extension.
|
|
89
|
+
- Dynamic provider registration and provider-scoped request env belong in the model registry and extension API.
|
|
90
|
+
- Normal authentication and model selection belong to `/login`, `/model`, session restoration, and default-model
|
|
91
|
+
settings.
|
|
92
|
+
- Dynamic workflows own workflow model selection; HUMAIN Terminal does not generate tiers or impose profile
|
|
93
|
+
routing on the package.
|
|
94
|
+
- Bedrock HTTP/1, proxy bypass, AWS credential resolution, and endpoint handling belong in `packages/ai`.
|
|
95
|
+
- Real Forge app provisioning, provider-key storage, auth-broker registration, and DeployNow supervisor behavior
|
|
96
|
+
belong to Forge/DeployNow systems, not this repo. HUMAIN Terminal consumes their exported descriptors.
|
|
97
|
+
|
|
98
|
+
The bundled extension must not reintroduce `/hc` or `/humaincode` routing, HUMAIN model profiles, Forge prompt
|
|
99
|
+
injection, generated workflow tiers, or `HUMAIN Code` / `Forge ready` footer statuses. The `hc` executable alias
|
|
100
|
+
and Forge startup cwd fallback are separate public surfaces and remain supported.
|
|
101
|
+
|
|
102
|
+
When adding a new Forge or HUMAIN Code behavior, prefer this order:
|
|
103
|
+
|
|
104
|
+
1. Existing settings, package, prompt, skill, extension, or provider-registration seam.
|
|
105
|
+
2. Bundled HUMAIN extension logic.
|
|
106
|
+
3. Generic coding-agent core only if the behavior is provider/product-neutral.
|
|
107
|
+
4. `packages/ai` only if the behavior is a generic provider/API transport issue.
|
|
108
|
+
|
|
109
|
+
## Decision Order
|
|
110
|
+
|
|
111
|
+
Use this order before changing code:
|
|
112
|
+
|
|
113
|
+
1. **Classify the user-visible behavior.** Is this branding, Forge startup, model selection, provider transport,
|
|
114
|
+
session/tool behavior, TUI presentation, docs, or release/package metadata?
|
|
115
|
+
2. **Pick the owner by layer.** Product behavior starts in `packages/coding-agent/src/humain`; generic provider
|
|
116
|
+
transport starts in `packages/ai`; generic agent loop changes start in `packages/agent`; rendering starts in
|
|
117
|
+
`packages/tui`.
|
|
118
|
+
3. **Use an existing seam first.** Prefer settings, extension APIs, provider registration,
|
|
119
|
+
provider-scoped request env, package resources, or resource loading before adding new global state.
|
|
120
|
+
4. **Keep external custody external.** If the behavior requires real provider credentials, Forge project
|
|
121
|
+
authorization, DeployNow supervisor state, or auth-broker signing secrets, this repo should consume a
|
|
122
|
+
descriptor or documented contract rather than become the owner.
|
|
123
|
+
5. **Fail closed on explicit DeployNow choices.** If Forge explicitly selected a DeployNow provider/model, an
|
|
124
|
+
incomplete selected binding must not target a different DeployNow provider. Either register the selected
|
|
125
|
+
binding when its descriptor is complete, or leave DeployNow unselected so normal registry/session model
|
|
126
|
+
selection remains explicit.
|
|
127
|
+
6. **Prove the boundary.** Add or update the smallest focused test and docs page that would fail if the behavior
|
|
128
|
+
drifted back across layers.
|
|
129
|
+
|
|
130
|
+
## Change Classification
|
|
131
|
+
|
|
132
|
+
| If the change is about... | Start in... | Evidence to update |
|
|
133
|
+
| --- | --- | --- |
|
|
134
|
+
| HUMAIN theme, bundled provider registration, unsupported SSO, or exact legacy-tier cleanup | `packages/coding-agent/src/humain` | HUMAIN extension and SSO tests plus operator docs. |
|
|
135
|
+
| DeployNow descriptor parsing or provider registration from Forge env | `packages/coding-agent/src/humain` plus model registry seams | HUMAIN Forge extension tests and flow docs. |
|
|
136
|
+
| Request-scoped auth, provider availability, selected model behavior | `packages/coding-agent/src/core/model-registry*` | Model registry/auth tests and command path tests. |
|
|
137
|
+
| Bedrock endpoint, AWS env, HTTP handler, stream payloads, provider metadata | `packages/ai` | Provider/API tests and generated metadata checks. |
|
|
138
|
+
| CLI cwd, startup resource injection, package/config command cwd behavior | `packages/coding-agent/src/main.ts` | Startup cwd tests and development docs. |
|
|
139
|
+
| Interactive rendering, key handling, theme rendering, terminal layout | `packages/tui` or interactive mode files | TUI/mode tests or screenshot/manual QA where applicable. |
|
|
140
|
+
| Package aliases, npm package content, shrinkwrap, release artifacts | `packages/coding-agent/package.json`, release scripts | Package command tests, shrinkwrap check, release docs. |
|
|
141
|
+
| Architecture, operator instructions, known flow, scorecards | `packages/coding-agent/docs` | Link inspection and docs consistency review. |
|
|
142
|
+
|
|
143
|
+
## Do / Don't
|
|
144
|
+
|
|
145
|
+
| Do | Don't |
|
|
146
|
+
| --- | --- |
|
|
147
|
+
| Register local, explicit `humain-code`, and DeployNow models through normal provider APIs. | Reintroduce `/hc` or `/humaincode` routing, model profiles, or Forge prompt injection. |
|
|
148
|
+
| Register DeployNow runtime models as normal providers/models. | Special-case DeployNow models outside the registry or bypass `hasConfiguredAuth`/`setModel`. |
|
|
149
|
+
| Treat `deploynow-proxy`, `deploynow-broker`, and legacy placeholders as descriptors for a loopback route. | Document or store real provider secrets as if they were part of HUMAIN Terminal. |
|
|
150
|
+
| Keep explicit provider selection fail-closed. | Fall back from explicit `FORGE_RUNTIME_MODEL_PROVIDER=openai` to Bedrock just because Bedrock env exists. |
|
|
151
|
+
| Keep HUMAIN SSO visible but unsupported while non-SSO HUMAIN Code and DeployNow remain independent model-access paths. | Let legacy OIDC variables enable login, token exchange, credentials, or `humain-sso` models. |
|
|
152
|
+
| Put generic Bedrock custom-endpoint fixes in `packages/ai`. | Put AWS SDK handler or proxy details in HUMAIN extension policy. |
|
|
153
|
+
| Keep `ProviderConfig` request auth, availability, and status behavior aligned. | Add provider config fields that only work during the final request path. |
|
|
154
|
+
| Prefer existing settings, extension, workflow, and provider seams before adding new globals. | Add another global env flag when an existing resource or provider contract can carry the behavior. |
|
|
155
|
+
| Keep Forge startup cwd explicit and configurable through `--cwd` and documented environment precedence. | Infer Forge identity from directory names or repository shape, or treat a local path such as `/Users/.../forge` as a product rule. |
|
|
156
|
+
| Use explicit descriptors for externally owned routes and secrets. | Copy Forge provider-key storage, auth-broker signing, or DeployNow supervisor behavior into this repo. |
|
|
157
|
+
| Link operator docs to this architecture contract when changing binding behavior. | Let `humain-terminal.md` become a mixed operator manual plus architecture doctrine. |
|
|
158
|
+
| Preserve upstream-compatible internals when branding public behavior. | Rename internal packages, imports, or generated metadata solely to remove upstream naming. |
|
|
159
|
+
| Keep Claude Code replacement behavior at the CLI/tool/session surface. | Chase Claude Code internals or duplicate unrelated Claude-specific assumptions. |
|
|
160
|
+
| Run focused regression tests for the owning layer. | Prove Forge behavior with real provider calls, secrets, or broad e2e tests when a fake provider/unit test covers the contract. |
|
|
161
|
+
| Update changelogs for shipped package behavior. | Treat docs-only product specs as current proof after code has moved on. |
|
|
162
|
+
|
|
163
|
+
## Anti-Patterns To Stop Early
|
|
164
|
+
|
|
165
|
+
- Adding HUMAIN, Forge, or DeployNow checks inside `packages/agent`, `packages/ai`, or `packages/tui` when the
|
|
166
|
+
behavior is product workflow rather than generic transport/rendering.
|
|
167
|
+
- Solving provider availability in one place and request auth in another, leaving status, `/model`, and runtime
|
|
168
|
+
calls disagreeing.
|
|
169
|
+
- Reintroducing a product-specific routing layer on top of `/login`, `/model`, session restoration, or
|
|
170
|
+
dynamic-workflows model selection.
|
|
171
|
+
- Treating placeholder API keys or loopback URLs as real secrets.
|
|
172
|
+
- Treating unsupported HUMAIN SSO as a prerequisite for any model access.
|
|
173
|
+
- Making root README guidance diverge from this architecture contract.
|
|
174
|
+
- Adding broad compatibility layers to mimic another coding agent when Forge only needs command, cwd, tool,
|
|
175
|
+
session, model, or package compatibility.
|
|
176
|
+
- Using real provider credentials, live DeployNow state, or broad e2e tests when a fake provider and focused
|
|
177
|
+
unit test can prove the contract.
|
|
178
|
+
- Allowing generated/package metadata churn to hide an architecture boundary change.
|
|
179
|
+
|
|
180
|
+
## Change Review Rubric
|
|
181
|
+
|
|
182
|
+
Before editing, classify the change with four questions:
|
|
183
|
+
|
|
184
|
+
1. **Owning layer:** Which layer should own the behavior?
|
|
185
|
+
2. **Side-effect boundary:** What external state can this change touch: files, sessions, settings, auth, network,
|
|
186
|
+
provider APIs, packages, or UI state?
|
|
187
|
+
3. **Reused contract:** Which existing seam should carry it: settings, registry, extension API, package source,
|
|
188
|
+
resource loader, workflow configuration, stream options, or provider transport?
|
|
189
|
+
4. **Evidence boundary:** Which test or doc proves the behavior without relying on real provider credentials or
|
|
190
|
+
unrelated systems?
|
|
191
|
+
|
|
192
|
+
If the owning layer is unclear, stop and inspect sibling behavior before patching.
|
|
193
|
+
|
|
194
|
+
## Verification Matrix
|
|
195
|
+
|
|
196
|
+
| Change Type | Expected Verification |
|
|
197
|
+
| --- | --- |
|
|
198
|
+
| HUMAIN extension providers, unsupported SSO, or legacy cleanup | Focused `packages/coding-agent` tests around `test/humain-*.test.ts`. |
|
|
199
|
+
| Provider registry/auth behavior | Focused model registry/auth-storage tests plus command path tests if UI commands consume it. |
|
|
200
|
+
| Bedrock or other provider transport behavior | Focused `packages/ai` provider/API tests. |
|
|
201
|
+
| Startup cwd or CLI argument behavior | Focused startup/args tests in `packages/coding-agent/test`. |
|
|
202
|
+
| Docs-only architecture or operator changes | Link check by inspection; no code gate required unless a generated docs step exists. |
|
|
203
|
+
| Code changes outside docs | Run root `npm run check` after focused tests. |
|
|
204
|
+
|
|
205
|
+
## Future-Agent Checklist
|
|
206
|
+
|
|
207
|
+
- Read this page before touching HUMAIN Code, Forge, DeployNow bindings, provider registration, Bedrock custom
|
|
208
|
+
endpoint behavior, bundled packages, or workflow model selection.
|
|
209
|
+
- Start with the current live source and tests, not older plans.
|
|
210
|
+
- State the owning layer before making a non-trivial change.
|
|
211
|
+
- Prefer existing extension, settings, workflow, package, resource, registry, or provider seams before inventing a
|
|
212
|
+
new abstraction.
|
|
213
|
+
- Keep product policy out of generic runtime layers unless the behavior is demonstrably provider/product-neutral.
|
|
214
|
+
- Preserve CLI/package/config compatibility for Forge-facing surfaces.
|
|
215
|
+
- Keep one canonical architecture contract here. Link from other pages instead of duplicating the doctrine.
|
|
216
|
+
- If a change violates one of these rules intentionally, write down the tradeoff in the commit or PR notes and
|
|
217
|
+
add a regression test for the new boundary.
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# HUMAIN Code / Forge Component Scorecard
|
|
2
|
+
|
|
3
|
+
This scorecard records how the implementation observed on 2026-07-01 aligned with the
|
|
4
|
+
[HUMAIN Code / Forge Architecture](humain-code-forge-architecture.md) contract and the descriptive
|
|
5
|
+
[HUMAIN Code / Forge Flow Walkthrough](humain-code-forge-flow-walkthrough.md).
|
|
6
|
+
|
|
7
|
+
The audit was produced on 2026-07-01 with an Ultracode multi-agent pass and a local source review. It records
|
|
8
|
+
the implementation as observed on that date, not the current architecture contract.
|
|
9
|
+
|
|
10
|
+
## Follow-up: 2026-07-15
|
|
11
|
+
|
|
12
|
+
The HUMAIN routing and SSO simplification supersedes several current-state claims in the original audit below.
|
|
13
|
+
The original scores, evidence, and required fixes remain unchanged as historical audit provenance; this targeted
|
|
14
|
+
follow-up is not a new full scorecard pass, so the **7.8/10** score has not been recalculated.
|
|
15
|
+
|
|
16
|
+
Current behavior after the follow-up:
|
|
17
|
+
|
|
18
|
+
- `/hc` and `/humaincode` routing, HUMAIN model profiles, Forge prompt injection, product footer statuses,
|
|
19
|
+
generated workflow tiers, and functional OIDC are removed.
|
|
20
|
+
- Users authenticate with supported providers through `/login` and select models through `/model`.
|
|
21
|
+
- Workflow model selection remains owned by dynamic-workflows, without HUMAIN-generated tiers or profile routing.
|
|
22
|
+
- Local, explicit non-SSO `humain-code`, and DeployNow provider registrations remain available through the normal
|
|
23
|
+
model registry.
|
|
24
|
+
- `HUMAIN SSO` remains visible in `/login` without models or a model API endpoint, and every credential operation
|
|
25
|
+
rejects with `HUMAIN SSO is not supported yet.`
|
|
26
|
+
- The `hc` executable alias, HUMAIN theme, and Forge startup cwd support remain.
|
|
27
|
+
|
|
28
|
+
Rows below that mention `/hc`, profiles, Forge prompt context, generated tiers, product status, or functional SSO
|
|
29
|
+
describe the 2026-07-01 snapshot only. Use the current architecture and flow documents for present behavior.
|
|
30
|
+
|
|
31
|
+
## Summary
|
|
32
|
+
|
|
33
|
+
Overall architecture score: **7.8/10**.
|
|
34
|
+
|
|
35
|
+
The package shape is directionally sound:
|
|
36
|
+
|
|
37
|
+
- `packages/ai` owns provider transport.
|
|
38
|
+
- `packages/agent` stays model-agnostic.
|
|
39
|
+
- `packages/tui` owns rendering and input primitives.
|
|
40
|
+
- `packages/coding-agent/src/humain` owns HUMAIN Code and Forge product behavior.
|
|
41
|
+
- DeployNow model bindings enter as normal provider registrations.
|
|
42
|
+
|
|
43
|
+
The main confirmed risks are enforcement gaps, not a collapsed architecture. Lower generic packages still contain
|
|
44
|
+
some HUMAIN or DeployNow product references, auth/status/request-auth semantics are not consistently described by
|
|
45
|
+
one predicate, session export path resolution needs tightening, and architecture boundaries are not yet enforced by
|
|
46
|
+
`npm run check`.
|
|
47
|
+
|
|
48
|
+
## Scoring Rubric
|
|
49
|
+
|
|
50
|
+
| Score | Meaning |
|
|
51
|
+
| --- | --- |
|
|
52
|
+
| 9-10 | Clear ownership, enforced by tests or checks, low leakage risk. |
|
|
53
|
+
| 7-8.5 | Sound design with localized leaks, missing automation, or bounded complexity pressure. |
|
|
54
|
+
| 5-6.5 | Works today but relies on convention, duplicated semantics, or manually maintained agreement. |
|
|
55
|
+
| Below 5 | Boundary confusion, unsafe defaults, or broad untested behavior. |
|
|
56
|
+
|
|
57
|
+
## Component Scores
|
|
58
|
+
|
|
59
|
+
| Component | Score | Status | Evidence | Required fixes or mitigations |
|
|
60
|
+
| --- | ---: | --- | --- | --- |
|
|
61
|
+
| Package boundary model | 7.5/10 | Aligned but mostly convention-enforced. | Layer contract in [architecture](humain-code-forge-architecture.md#layer-ownership); lower package product hits found in provider/TUI source. | Add an architecture boundary check and wire it into `npm run check`. Keep HUMAIN/Forge behavior concentrated in `src/humain`. |
|
|
62
|
+
| `packages/ai` provider transport | 7/10 | Correct owner for provider APIs, with product-name leakage. | Bedrock transport belongs in [`bedrock-converse-stream.ts`](../../ai/src/api/bedrock-converse-stream.ts); HUMAIN cache env reads exist in OpenAI, Anthropic, and Bedrock APIs. | Move HUMAIN env translation to the coding-agent/provider config boundary. Replace DeployNow-specific transport comments with provider-neutral wording. |
|
|
63
|
+
| `packages/agent` loop | 9/10 | Strongly aligned. | Agent execution uses injected stream behavior in [`agent-loop.ts`](../../agent/src/agent-loop.ts). | No confirmed fix. Keep `/hc`, Forge env parsing, and provider policy out of this package. |
|
|
64
|
+
| `packages/tui` rendering/input | 7.5/10 | Mostly aligned, with branded env leakage. | TUI owns terminal primitives; `HUMAIN_TERMINAL_TUI_WRITE_LOG` is read in [`terminal.ts`](../../tui/src/terminal.ts). | Move branded env mapping above TUI, or expose a generic config option such as `writeLogPath`. |
|
|
65
|
+
| `packages/coding-agent/src/main.ts` startup wiring | 8/10 | Acceptable public distribution boundary. | Startup cwd and HUMAIN extension injection are described in the [flow walkthrough](humain-code-forge-flow-walkthrough.md#flow-1-startup-and-cwd-resolution). | Keep this file as wiring only. Do not add Forge provider policy here. |
|
|
66
|
+
| Core session/runtime services | 8/10 | Generally aligned. | Runtime services are cwd-bound in the [flow walkthrough](humain-code-forge-flow-walkthrough.md#flow-2-settings-trust-and-resources). | Resolve relative `exportToJsonl()` paths against the session cwd, not `process.cwd()`, and add focused coverage. |
|
|
67
|
+
| Resource loading and trust | 8.5/10 | Aligned. | Project resources are trust-gated in the resource-loading flow. | No confirmed fix. Keep project `.humain-terminal` resources behind trust and avoid implying sandboxing. |
|
|
68
|
+
| Extension runtime | 8/10 | Aligned if documented as trusted code. | Extension provider registration and hooks are normal extension runtime behavior. | Treat extensions as trusted code. Do not present them as process, filesystem, network, or credential isolation. |
|
|
69
|
+
| Settings/auth/model registry | 6/10 | Weakest architecture score. | Request auth can include provider headers and env, while some availability/status paths remain API-key-shaped. | Define one auth capability predicate and apply it to availability, status display, model selectors, runtime overrides, and request auth. |
|
|
70
|
+
| Provider request path | 7.5/10 | Mostly aligned. | Provider-scoped env flows from model registry into `streamSimple()` in the request path. | Either make header/env-only auth first-class with tests, or reject it consistently at provider registration. |
|
|
71
|
+
| HUMAIN/Forge extension | 8/10 | Correct owner with complexity pressure. | HUMAIN extension owns `/hc`, Forge cwd detection, profiles, DeployNow descriptors, provider registration, status, and workflow tiers. | Validate or warn on `/hc create-profile` when the provider/model is unavailable. Split `src/humain/index.ts` by concern when growth justifies it. |
|
|
72
|
+
| DeployNow descriptors and fail-closed behavior | 8/10 | Aligned. | Bedrock/OpenAI/Anthropic descriptors and explicit provider fail-closed behavior are covered in `humain-forge-extension` tests. | Add diagnostics for incomplete explicit `FORGE_RUNTIME_MODEL_PROVIDER` configs. Keep descriptors documented as route descriptors, not secrets. |
|
|
73
|
+
| SSO / model API separation | 9/10 | Strongly aligned. | Non-SSO HUMAIN Code and DeployNow providers can register without requiring `/login`. | No confirmed fix. Keep `/login` separate from model API provider registration. |
|
|
74
|
+
| Docs and tests as architecture evidence | 6.5/10 | Useful but not yet enforced. | Architecture docs, flow docs, and focused tests exist, but no architecture ratchet is wired into root checks. | Land this docs set, add `check:architecture`, and add docs/source checks for env names, provider names, `/hc` command names, and cited tests. |
|
|
75
|
+
| Package metadata and branding | 8/10 | Aligned with an ambiguity to clarify. | Public CLI is HUMAIN-branded while package/import names remain upstream-compatible. | Add an SDK/install note that npm package and import names intentionally remain upstream-compatible until a deliberate package-scope migration. |
|
|
76
|
+
|
|
77
|
+
## Required Fixes
|
|
78
|
+
|
|
79
|
+
These are confirmed architecture issues, not just style preferences:
|
|
80
|
+
|
|
81
|
+
1. Add `check:architecture` and wire it into `npm run check`.
|
|
82
|
+
2. Move branded HUMAIN env handling and DeployNow references out of generic `packages/ai` and `packages/tui`
|
|
83
|
+
source, or explicitly allowlist narrowly justified compatibility aliases.
|
|
84
|
+
3. Fix auth/status/request-auth consistency with one shared capability predicate.
|
|
85
|
+
4. Update tests after moving branded env handling, especially cache-retention coverage that currently lives in
|
|
86
|
+
generic provider tests.
|
|
87
|
+
5. Resolve relative `exportToJsonl()` paths against the session cwd and add a regression test.
|
|
88
|
+
6. Add diagnostics for incomplete explicit Forge provider configs.
|
|
89
|
+
7. Add narrow HUMAIN extension regressions only for uncovered edges, such as invalid profile creation or
|
|
90
|
+
unintended workflow-tier writes outside Forge.
|
|
91
|
+
|
|
92
|
+
## Mitigations And Watchlist
|
|
93
|
+
|
|
94
|
+
- Keep HUMAIN and Forge product behavior in `packages/coding-agent/src/humain`.
|
|
95
|
+
- Keep real provider secret custody outside this repo in Forge, DeployNow supervisor, or auth-broker systems.
|
|
96
|
+
- Keep DeployNow descriptors non-secret even when they are API-key-shaped for compatibility.
|
|
97
|
+
- Keep `/login` separate from model API provider registration.
|
|
98
|
+
- Keep package/import names upstream-compatible unless a deliberate package-scope migration is planned.
|
|
99
|
+
- Do not duplicate existing broad DeployNow registration tests; add targeted tests for missing diagnostics or
|
|
100
|
+
uncovered branches.
|
|
101
|
+
- Split `src/humain/index.ts` only when doing so reduces real churn across providers, profiles, routing, SSO, or
|
|
102
|
+
workflow-tier code.
|
|
103
|
+
|
|
104
|
+
## Suggested Architecture Ratchet
|
|
105
|
+
|
|
106
|
+
A lightweight first ratchet should fail on new product-specific references in lower packages unless the reference
|
|
107
|
+
is explicitly allowlisted:
|
|
108
|
+
|
|
109
|
+
```text
|
|
110
|
+
packages/ai/src: no HUMAIN, Forge, DeployNow, deploynow except approved generic compatibility aliases
|
|
111
|
+
packages/agent/src: no HUMAIN, Forge, DeployNow, deploynow
|
|
112
|
+
packages/tui/src: no Forge, DeployNow, deploynow; HUMAIN only through an explicit compatibility allowlist
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
The ratchet should also check that docs links resolve and that referenced env names, provider names, `/hc`
|
|
116
|
+
command names, and key test files remain present.
|
|
117
|
+
|
|
118
|
+
## Verification Guidance
|
|
119
|
+
|
|
120
|
+
For docs-only updates to this scorecard, inspect links and run `git diff --check`. For code changes that address
|
|
121
|
+
the required fixes, follow the architecture doc verification matrix and run root `npm run check` after focused
|
|
122
|
+
tests.
|