open-multi-agent-kit 0.80.7 → 0.90.0
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 +5 -27
- package/README.md +81 -38
- package/dist/agents/jailbreak/index.d.ts +7 -0
- package/dist/agents/jailbreak/index.d.ts.map +1 -0
- package/dist/agents/jailbreak/index.js +7 -0
- package/dist/agents/jailbreak/index.js.map +1 -0
- package/dist/agents/jailbreak/subagent-f.d.ts +44 -0
- package/dist/agents/jailbreak/subagent-f.d.ts.map +1 -0
- package/dist/agents/jailbreak/subagent-f.js +60 -0
- package/dist/agents/jailbreak/subagent-f.js.map +1 -0
- package/dist/bun/register-bedrock.d.ts.map +1 -1
- package/dist/bun/register-bedrock.js +2 -2
- package/dist/bun/register-bedrock.js.map +1 -1
- package/dist/ci/verify-reporter.d.ts +22 -0
- package/dist/ci/verify-reporter.d.ts.map +1 -0
- package/dist/ci/verify-reporter.js +50 -0
- package/dist/ci/verify-reporter.js.map +1 -0
- package/dist/cli/args.d.ts +4 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +8 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js +1 -1
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/file-processor.d.ts +1 -1
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/cli/initial-message.d.ts +1 -1
- package/dist/cli/initial-message.d.ts.map +1 -1
- package/dist/cli/initial-message.js.map +1 -1
- package/dist/cli/jailbreak-args.d.ts +26 -0
- package/dist/cli/jailbreak-args.d.ts.map +1 -0
- package/dist/cli/jailbreak-args.js +86 -0
- package/dist/cli/jailbreak-args.js.map +1 -0
- package/dist/cli/list-models.d.ts.map +1 -1
- package/dist/cli/list-models.js +1 -1
- package/dist/cli/list-models.js.map +1 -1
- package/dist/cli/session-picker.d.ts.map +1 -1
- package/dist/cli/session-picker.js +1 -1
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/commands/doctor-provider.d.ts +19 -0
- package/dist/commands/doctor-provider.d.ts.map +1 -0
- package/dist/commands/doctor-provider.js +123 -0
- package/dist/commands/doctor-provider.js.map +1 -0
- package/dist/commands/jailbreak.d.ts +49 -0
- package/dist/commands/jailbreak.d.ts.map +1 -0
- package/dist/commands/jailbreak.js +201 -0
- package/dist/commands/jailbreak.js.map +1 -0
- package/dist/config.d.ts +9 -5
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +33 -52
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-services.d.ts +2 -2
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts +16 -27
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +185 -89
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts +3 -6
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +7 -7
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/automation/index.d.ts +359 -0
- package/dist/core/automation/index.d.ts.map +1 -0
- package/dist/core/automation/index.js +665 -0
- package/dist/core/automation/index.js.map +1 -0
- package/dist/core/bash-executor.d.ts +1 -0
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js +1 -0
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/browser-use.d.ts +53 -0
- package/dist/core/browser-use.d.ts.map +1 -0
- package/dist/core/browser-use.js +108 -0
- package/dist/core/browser-use.js.map +1 -0
- package/dist/core/command-safety-parser.d.ts +77 -0
- package/dist/core/command-safety-parser.d.ts.map +1 -0
- package/dist/core/command-safety-parser.js +763 -0
- package/dist/core/command-safety-parser.js.map +1 -0
- package/dist/core/command-safety.d.ts.map +1 -1
- package/dist/core/command-safety.js +106 -3
- package/dist/core/command-safety.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts +2 -2
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +5 -21
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +3 -101
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +21 -656
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/compaction/utils.d.ts +2 -2
- package/dist/core/compaction/utils.d.ts.map +1 -1
- package/dist/core/compaction/utils.js.map +1 -1
- package/dist/core/compactor.d.ts +42 -0
- package/dist/core/compactor.d.ts.map +1 -0
- package/dist/core/compactor.js +131 -0
- package/dist/core/compactor.js.map +1 -0
- package/dist/core/context-budget-compressors.d.ts +50 -0
- package/dist/core/context-budget-compressors.d.ts.map +1 -0
- package/dist/core/context-budget-compressors.js +166 -0
- package/dist/core/context-budget-compressors.js.map +1 -0
- package/dist/core/context-budget-governor-v2.d.ts +7 -0
- package/dist/core/context-budget-governor-v2.d.ts.map +1 -0
- package/dist/core/context-budget-governor-v2.js +7 -0
- package/dist/core/context-budget-governor-v2.js.map +1 -0
- package/dist/core/context-budget-governor.d.ts +67 -0
- package/dist/core/context-budget-governor.d.ts.map +1 -0
- package/dist/core/context-budget-governor.js +224 -0
- package/dist/core/context-budget-governor.js.map +1 -0
- package/dist/core/context-budget-headroom-candidates.d.ts +3 -0
- package/dist/core/context-budget-headroom-candidates.d.ts.map +1 -0
- package/dist/core/context-budget-headroom-candidates.js +85 -0
- package/dist/core/context-budget-headroom-candidates.js.map +1 -0
- package/dist/core/context-budget-headroom-types.d.ts +67 -0
- package/dist/core/context-budget-headroom-types.d.ts.map +1 -0
- package/dist/core/context-budget-headroom-types.js +46 -0
- package/dist/core/context-budget-headroom-types.js.map +1 -0
- package/dist/core/context-budget-headroom.d.ts +5 -0
- package/dist/core/context-budget-headroom.d.ts.map +1 -0
- package/dist/core/context-budget-headroom.js +123 -0
- package/dist/core/context-budget-headroom.js.map +1 -0
- package/dist/core/context-budget-relevance.d.ts +46 -0
- package/dist/core/context-budget-relevance.d.ts.map +1 -0
- package/dist/core/context-budget-relevance.js +329 -0
- package/dist/core/context-budget-relevance.js.map +1 -0
- package/dist/core/context-budget-system-prompt-items.d.ts +19 -0
- package/dist/core/context-budget-system-prompt-items.d.ts.map +1 -0
- package/dist/core/context-budget-system-prompt-items.js +143 -0
- package/dist/core/context-budget-system-prompt-items.js.map +1 -0
- package/dist/core/context-budget-system-prompt.d.ts +31 -0
- package/dist/core/context-budget-system-prompt.d.ts.map +1 -0
- package/dist/core/context-budget-system-prompt.js +87 -0
- package/dist/core/context-budget-system-prompt.js.map +1 -0
- package/dist/core/context-budget-token-counter.d.ts +34 -0
- package/dist/core/context-budget-token-counter.d.ts.map +1 -0
- package/dist/core/context-budget-token-counter.js +315 -0
- package/dist/core/context-budget-token-counter.js.map +1 -0
- package/dist/core/context-budget-v2-coverage.d.ts +5 -0
- package/dist/core/context-budget-v2-coverage.d.ts.map +1 -0
- package/dist/core/context-budget-v2-coverage.js +58 -0
- package/dist/core/context-budget-v2-coverage.js.map +1 -0
- package/dist/core/context-budget-v2-plan-hash.d.ts +12 -0
- package/dist/core/context-budget-v2-plan-hash.d.ts.map +1 -0
- package/dist/core/context-budget-v2-plan-hash.js +38 -0
- package/dist/core/context-budget-v2-plan-hash.js.map +1 -0
- package/dist/core/context-budget-v2-planner.d.ts +3 -0
- package/dist/core/context-budget-v2-planner.d.ts.map +1 -0
- package/dist/core/context-budget-v2-planner.js +143 -0
- package/dist/core/context-budget-v2-planner.js.map +1 -0
- package/dist/core/context-budget-v2-scoring.d.ts +14 -0
- package/dist/core/context-budget-v2-scoring.d.ts.map +1 -0
- package/dist/core/context-budget-v2-scoring.js +114 -0
- package/dist/core/context-budget-v2-scoring.js.map +1 -0
- package/dist/core/context-budget-v2-selection.d.ts +32 -0
- package/dist/core/context-budget-v2-selection.d.ts.map +1 -0
- package/dist/core/context-budget-v2-selection.js +158 -0
- package/dist/core/context-budget-v2-selection.js.map +1 -0
- package/dist/core/context-budget-v2-tiers.d.ts +15 -0
- package/dist/core/context-budget-v2-tiers.d.ts.map +1 -0
- package/dist/core/context-budget-v2-tiers.js +68 -0
- package/dist/core/context-budget-v2-tiers.js.map +1 -0
- package/dist/core/context-budget-v2-types.d.ts +92 -0
- package/dist/core/context-budget-v2-types.d.ts.map +1 -0
- package/dist/core/context-budget-v2-types.js +24 -0
- package/dist/core/context-budget-v2-types.js.map +1 -0
- package/dist/core/defaults.d.ts +1 -1
- package/dist/core/defaults.d.ts.map +1 -1
- package/dist/core/defaults.js.map +1 -1
- package/dist/core/diagnostics.d.ts +6 -0
- package/dist/core/diagnostics.d.ts.map +1 -1
- package/dist/core/diagnostics.js.map +1 -1
- package/dist/core/domain-confidence.d.ts +9 -0
- package/dist/core/domain-confidence.d.ts.map +1 -0
- package/dist/core/domain-confidence.js +39 -0
- package/dist/core/domain-confidence.js.map +1 -0
- package/dist/core/domain-dispatch.d.ts +44 -0
- package/dist/core/domain-dispatch.d.ts.map +1 -0
- package/dist/core/domain-dispatch.js +118 -0
- package/dist/core/domain-dispatch.js.map +1 -0
- package/dist/core/domain-loadouts.d.ts +76 -0
- package/dist/core/domain-loadouts.d.ts.map +1 -0
- package/dist/core/domain-loadouts.js +981 -0
- package/dist/core/domain-loadouts.js.map +1 -0
- package/dist/core/domain-registry.d.ts +7 -0
- package/dist/core/domain-registry.d.ts.map +1 -0
- package/dist/core/domain-registry.js +11 -0
- package/dist/core/domain-registry.js.map +1 -0
- package/dist/core/domain-router.d.ts +16 -0
- package/dist/core/domain-router.d.ts.map +1 -0
- package/dist/core/domain-router.js +24 -0
- package/dist/core/domain-router.js.map +1 -0
- package/dist/core/domain-score.d.ts +13 -0
- package/dist/core/domain-score.d.ts.map +1 -0
- package/dist/core/domain-score.js +48 -0
- package/dist/core/domain-score.js.map +1 -0
- package/dist/core/domain-trigger-match.d.ts +14 -0
- package/dist/core/domain-trigger-match.d.ts.map +1 -0
- package/dist/core/domain-trigger-match.js +51 -0
- package/dist/core/domain-trigger-match.js.map +1 -0
- package/dist/core/domain-types.d.ts +30 -0
- package/dist/core/domain-types.d.ts.map +1 -0
- package/dist/core/domain-types.js +2 -0
- package/dist/core/domain-types.js.map +1 -0
- package/dist/core/exact-cache-policy.d.ts +8 -0
- package/dist/core/exact-cache-policy.d.ts.map +1 -1
- package/dist/core/exact-cache-policy.js +9 -0
- package/dist/core/exact-cache-policy.js.map +1 -1
- package/dist/core/exec.d.ts +0 -2
- package/dist/core/exec.d.ts.map +1 -1
- package/dist/core/exec.js +0 -1
- package/dist/core/exec.js.map +1 -1
- package/dist/core/export-html/index.d.ts +1 -1
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/export-html/template.js +1 -3
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
- package/dist/core/export-html/tool-renderer.js.map +1 -1
- package/dist/core/extensions/builtin/command-safety-gate.d.ts +3 -0
- package/dist/core/extensions/builtin/command-safety-gate.d.ts.map +1 -1
- package/dist/core/extensions/builtin/command-safety-gate.js +15 -3
- package/dist/core/extensions/builtin/command-safety-gate.js.map +1 -1
- package/dist/core/extensions/builtin/todo-checklist.d.ts +20 -0
- package/dist/core/extensions/builtin/todo-checklist.d.ts.map +1 -0
- package/dist/core/extensions/builtin/todo-checklist.js +73 -0
- package/dist/core/extensions/builtin/todo-checklist.js.map +1 -0
- package/dist/core/extensions/loader.d.ts +4 -4
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +57 -92
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +3 -3
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +1 -1
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +7 -35
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/extensions/wrapper.d.ts +1 -1
- package/dist/core/extensions/wrapper.d.ts.map +1 -1
- package/dist/core/extensions/wrapper.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts +3 -1
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +4 -0
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/headroom.d.ts +45 -0
- package/dist/core/headroom.d.ts.map +1 -0
- package/dist/core/headroom.js +171 -0
- package/dist/core/headroom.js.map +1 -0
- package/dist/core/hook-inventory.d.ts +4 -2
- package/dist/core/hook-inventory.d.ts.map +1 -1
- package/dist/core/hook-inventory.js +80 -11
- package/dist/core/hook-inventory.js.map +1 -1
- package/dist/core/hooks/fail-closed.d.ts +4 -1
- package/dist/core/hooks/fail-closed.d.ts.map +1 -1
- package/dist/core/hooks/fail-closed.js +79 -5
- package/dist/core/hooks/fail-closed.js.map +1 -1
- package/dist/core/hooks/index.d.ts +2 -2
- package/dist/core/hooks/index.d.ts.map +1 -1
- package/dist/core/hooks/index.js +1 -1
- package/dist/core/hooks/index.js.map +1 -1
- package/dist/core/hooks/types.d.ts +9 -0
- package/dist/core/hooks/types.d.ts.map +1 -1
- package/dist/core/hooks/types.js.map +1 -1
- package/dist/core/keybindings.d.ts +2 -14
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +1 -31
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/lean-ctx.d.ts +99 -0
- package/dist/core/lean-ctx.d.ts.map +1 -0
- package/dist/core/lean-ctx.js +225 -0
- package/dist/core/lean-ctx.js.map +1 -0
- package/dist/core/loadout-compose.d.ts +53 -0
- package/dist/core/loadout-compose.d.ts.map +1 -0
- package/dist/core/loadout-compose.js +172 -0
- package/dist/core/loadout-compose.js.map +1 -0
- package/dist/core/loadout-policy-bridge.d.ts +22 -0
- package/dist/core/loadout-policy-bridge.d.ts.map +1 -0
- package/dist/core/loadout-policy-bridge.js +52 -0
- package/dist/core/loadout-policy-bridge.js.map +1 -0
- package/dist/core/loadout-runtime.d.ts +22 -0
- package/dist/core/loadout-runtime.d.ts.map +1 -1
- package/dist/core/loadout-runtime.js +41 -5
- package/dist/core/loadout-runtime.js.map +1 -1
- package/dist/core/loadout-safety.d.ts +55 -0
- package/dist/core/loadout-safety.d.ts.map +1 -0
- package/dist/core/loadout-safety.js +213 -0
- package/dist/core/loadout-safety.js.map +1 -0
- package/dist/core/loadouts.d.ts +4 -2
- package/dist/core/loadouts.d.ts.map +1 -1
- package/dist/core/loadouts.js +116 -5
- package/dist/core/loadouts.js.map +1 -1
- package/dist/core/loop-gates.d.ts +48 -0
- package/dist/core/loop-gates.d.ts.map +1 -0
- package/dist/core/loop-gates.js +352 -0
- package/dist/core/loop-gates.js.map +1 -0
- package/dist/core/loop-registry.d.ts +77 -0
- package/dist/core/loop-registry.d.ts.map +1 -0
- package/dist/core/loop-registry.js +831 -0
- package/dist/core/loop-registry.js.map +1 -0
- package/dist/core/loop-types.d.ts +194 -0
- package/dist/core/loop-types.d.ts.map +1 -0
- package/dist/core/loop-types.js +2 -0
- package/dist/core/loop-types.js.map +1 -0
- package/dist/core/mcp-inventory.d.ts +7 -0
- package/dist/core/mcp-inventory.d.ts.map +1 -1
- package/dist/core/mcp-inventory.js +5 -1
- package/dist/core/mcp-inventory.js.map +1 -1
- package/dist/core/mcp-presets.d.ts +43 -2
- package/dist/core/mcp-presets.d.ts.map +1 -1
- package/dist/core/mcp-presets.js +298 -2
- package/dist/core/mcp-presets.js.map +1 -1
- package/dist/core/messages.d.ts +3 -3
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/messages.js.map +1 -1
- package/dist/core/metrics-sampler.d.ts +11 -0
- package/dist/core/metrics-sampler.d.ts.map +1 -1
- package/dist/core/metrics-sampler.js +52 -13
- package/dist/core/metrics-sampler.js.map +1 -1
- package/dist/core/model-registry.d.ts +1 -2
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +18 -41
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts +2 -2
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +2 -2
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/package-gallery-identity.d.ts +7 -0
- package/dist/core/package-gallery-identity.d.ts.map +1 -0
- package/dist/core/package-gallery-identity.js +31 -0
- package/dist/core/package-gallery-identity.js.map +1 -0
- package/dist/core/package-gallery-install.d.ts +6 -0
- package/dist/core/package-gallery-install.d.ts.map +1 -0
- package/dist/core/package-gallery-install.js +59 -0
- package/dist/core/package-gallery-install.js.map +1 -0
- package/dist/core/package-gallery-manifest.d.ts +13 -0
- package/dist/core/package-gallery-manifest.d.ts.map +1 -0
- package/dist/core/package-gallery-manifest.js +183 -0
- package/dist/core/package-gallery-manifest.js.map +1 -0
- package/dist/core/package-gallery-trial.d.ts +4 -0
- package/dist/core/package-gallery-trial.d.ts.map +1 -0
- package/dist/core/package-gallery-trial.js +55 -0
- package/dist/core/package-gallery-trial.js.map +1 -0
- package/dist/core/package-gallery-types.d.ts +71 -0
- package/dist/core/package-gallery-types.d.ts.map +1 -0
- package/dist/core/package-gallery-types.js +2 -0
- package/dist/core/package-gallery-types.js.map +1 -0
- package/dist/core/package-gallery.d.ts +5 -123
- package/dist/core/package-gallery.d.ts.map +1 -1
- package/dist/core/package-gallery.js +5 -391
- package/dist/core/package-gallery.js.map +1 -1
- package/dist/core/package-manager.d.ts +0 -69
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +69 -367
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/package-procurement.d.ts +4 -4
- package/dist/core/package-procurement.d.ts.map +1 -1
- package/dist/core/package-procurement.js +29 -17
- package/dist/core/package-procurement.js.map +1 -1
- package/dist/core/pi-package-intake-candidates.d.ts +21 -0
- package/dist/core/pi-package-intake-candidates.d.ts.map +1 -0
- package/dist/core/pi-package-intake-candidates.js +109 -0
- package/dist/core/pi-package-intake-candidates.js.map +1 -0
- package/dist/core/pi-package-intake.d.ts +43 -0
- package/dist/core/pi-package-intake.d.ts.map +1 -0
- package/dist/core/pi-package-intake.js +122 -0
- package/dist/core/pi-package-intake.js.map +1 -0
- package/dist/core/provider-attribution.d.ts +1 -1
- package/dist/core/provider-attribution.d.ts.map +1 -1
- package/dist/core/provider-attribution.js.map +1 -1
- package/dist/core/provider-display-names.d.ts.map +1 -1
- package/dist/core/provider-display-names.js +1 -0
- package/dist/core/provider-display-names.js.map +1 -1
- package/dist/core/read-anchors.d.ts +1 -1
- package/dist/core/read-anchors.d.ts.map +1 -1
- package/dist/core/read-anchors.js +1 -1
- package/dist/core/read-anchors.js.map +1 -1
- package/dist/core/recovery-checkpoint.d.ts +2 -2
- package/dist/core/recovery-checkpoint.d.ts.map +1 -1
- package/dist/core/recovery-checkpoint.js +2 -2
- package/dist/core/recovery-checkpoint.js.map +1 -1
- package/dist/core/resolve-config-value.d.ts +1 -1
- package/dist/core/resolve-config-value.d.ts.map +1 -1
- package/dist/core/resolve-config-value.js +2 -30
- package/dist/core/resolve-config-value.js.map +1 -1
- package/dist/core/resource-loader.d.ts +12 -20
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +67 -90
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sandbox-policy-v2.d.ts +49 -0
- package/dist/core/sandbox-policy-v2.d.ts.map +1 -0
- package/dist/core/sandbox-policy-v2.js +368 -0
- package/dist/core/sandbox-policy-v2.js.map +1 -0
- package/dist/core/sdk.d.ts +10 -78
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +97 -139
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/semantic-cache-policy.d.ts +7 -1
- package/dist/core/semantic-cache-policy.d.ts.map +1 -1
- package/dist/core/semantic-cache-policy.js +8 -0
- package/dist/core/semantic-cache-policy.js.map +1 -1
- package/dist/core/session-manager.d.ts +2 -4
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +5 -6
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +1 -18
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +2 -48
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts +5 -0
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +149 -36
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +0 -2
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/subagent-orchestration.d.ts +73 -0
- package/dist/core/subagent-orchestration.d.ts.map +1 -0
- package/dist/core/subagent-orchestration.js +408 -0
- package/dist/core/subagent-orchestration.js.map +1 -0
- package/dist/core/system-prompt.d.ts +5 -4
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +57 -36
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/timings.d.ts +0 -4
- package/dist/core/timings.d.ts.map +1 -1
- package/dist/core/timings.js +0 -4
- package/dist/core/timings.js.map +1 -1
- package/dist/core/todo-runtime-state.d.ts +5 -0
- package/dist/core/todo-runtime-state.d.ts.map +1 -0
- package/dist/core/todo-runtime-state.js +12 -0
- package/dist/core/todo-runtime-state.js.map +1 -0
- package/dist/core/todo-state.d.ts +53 -0
- package/dist/core/todo-state.d.ts.map +1 -0
- package/dist/core/todo-state.js +87 -0
- package/dist/core/todo-state.js.map +1 -0
- package/dist/core/token-optimizer.d.ts +58 -0
- package/dist/core/token-optimizer.d.ts.map +1 -0
- package/dist/core/token-optimizer.js +179 -0
- package/dist/core/token-optimizer.js.map +1 -0
- package/dist/core/tools/bash.d.ts +8 -9
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +9 -8
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit.d.ts +3 -14
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +4 -25
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/find.d.ts +1 -4
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +1 -4
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts +1 -4
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +2 -5
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/index.d.ts +2 -2
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/ls.d.ts +1 -4
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js +1 -4
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/read.d.ts +2 -14
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +4 -28
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts +1 -1
- package/dist/core/tools/render-utils.d.ts.map +1 -1
- package/dist/core/tools/render-utils.js +1 -1
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.d.ts +1 -1
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
- package/dist/core/tools/write.d.ts +2 -4
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +4 -4
- package/dist/core/tools/write.js.map +1 -1
- package/dist/encoding/index.d.ts +6 -0
- package/dist/encoding/index.d.ts.map +1 -0
- package/dist/encoding/index.js +6 -0
- package/dist/encoding/index.js.map +1 -0
- package/dist/encoding/l4-encoder.d.ts +96 -0
- package/dist/encoding/l4-encoder.d.ts.map +1 -0
- package/dist/encoding/l4-encoder.js +474 -0
- package/dist/encoding/l4-encoder.js.map +1 -0
- package/dist/fuzzing/index.d.ts +6 -0
- package/dist/fuzzing/index.d.ts.map +1 -0
- package/dist/fuzzing/index.js +6 -0
- package/dist/fuzzing/index.js.map +1 -0
- package/dist/fuzzing/mutation-engine.d.ts +93 -0
- package/dist/fuzzing/mutation-engine.d.ts.map +1 -0
- package/dist/fuzzing/mutation-engine.js +244 -0
- package/dist/fuzzing/mutation-engine.js.map +1 -0
- package/dist/guardrails/audit-logger.d.ts +4 -0
- package/dist/guardrails/audit-logger.d.ts.map +1 -0
- package/dist/guardrails/audit-logger.js +28 -0
- package/dist/guardrails/audit-logger.js.map +1 -0
- package/dist/guardrails/evidence-system.d.ts +61 -0
- package/dist/guardrails/evidence-system.d.ts.map +1 -0
- package/dist/guardrails/evidence-system.js +302 -0
- package/dist/guardrails/evidence-system.js.map +1 -0
- package/dist/guardrails/freedomd-adapter.d.ts +16 -0
- package/dist/guardrails/freedomd-adapter.d.ts.map +1 -0
- package/dist/guardrails/freedomd-adapter.js +87 -0
- package/dist/guardrails/freedomd-adapter.js.map +1 -0
- package/dist/index.d.ts +5 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -17
- package/dist/index.js.map +1 -1
- package/dist/jailbreak-extension.d.ts +48 -0
- package/dist/jailbreak-extension.d.ts.map +1 -0
- package/dist/jailbreak-extension.js +47 -0
- package/dist/jailbreak-extension.js.map +1 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +2 -2
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts +0 -37
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +6 -414
- package/dist/migrations.js.map +1 -1
- package/dist/modes/interactive/components/armin.d.ts +1 -1
- package/dist/modes/interactive/components/armin.d.ts.map +1 -1
- package/dist/modes/interactive/components/armin.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts +2 -2
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +1 -1
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js +1 -1
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.js +1 -1
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.js +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +1 -1
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/control-panel-box.d.ts +15 -0
- package/dist/modes/interactive/components/control-panel-box.d.ts.map +1 -0
- package/dist/modes/interactive/components/control-panel-box.js +55 -0
- package/dist/modes/interactive/components/control-panel-box.js.map +1 -0
- package/dist/modes/interactive/components/control-panel-gradient-motion.d.ts.map +1 -1
- package/dist/modes/interactive/components/control-panel-gradient-motion.js +2 -36
- package/dist/modes/interactive/components/control-panel-gradient-motion.js.map +1 -1
- package/dist/modes/interactive/components/control-panel-gradient.d.ts +1 -0
- package/dist/modes/interactive/components/control-panel-gradient.d.ts.map +1 -1
- package/dist/modes/interactive/components/control-panel-gradient.js +6 -5
- package/dist/modes/interactive/components/control-panel-gradient.js.map +1 -1
- package/dist/modes/interactive/components/control-panel-layout.d.ts +30 -0
- package/dist/modes/interactive/components/control-panel-layout.d.ts.map +1 -0
- package/dist/modes/interactive/components/control-panel-layout.js +197 -0
- package/dist/modes/interactive/components/control-panel-layout.js.map +1 -0
- package/dist/modes/interactive/components/control-panel-runtime-status.d.ts +6 -0
- package/dist/modes/interactive/components/control-panel-runtime-status.d.ts.map +1 -0
- package/dist/modes/interactive/components/control-panel-runtime-status.js +29 -0
- package/dist/modes/interactive/components/control-panel-runtime-status.js.map +1 -0
- package/dist/modes/interactive/components/control-panel.d.ts +9 -31
- package/dist/modes/interactive/components/control-panel.d.ts.map +1 -1
- package/dist/modes/interactive/components/control-panel.js +49 -168
- package/dist/modes/interactive/components/control-panel.js.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.d.ts +1 -1
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js +14 -22
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +1 -1
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/daxnuts.d.ts +1 -1
- package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
- package/dist/modes/interactive/components/daxnuts.js.map +1 -1
- package/dist/modes/interactive/components/dynamic-border.d.ts +1 -1
- package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
- package/dist/modes/interactive/components/earendil-announcement.d.ts +1 -1
- package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
- package/dist/modes/interactive/components/earendil-announcement.js +1 -1
- package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +1 -1
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-input.js +1 -1
- package/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-selector.js +1 -1
- package/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts +1 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +7 -9
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts +0 -2
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js +0 -2
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.d.ts +1 -1
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.js +1 -1
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts +2 -2
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +2 -2
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts +13 -47
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +118 -193
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +1 -1
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +2 -2
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.js +1 -1
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +1 -1
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +3 -3
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +1 -1
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.d.ts +1 -1
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.js +1 -1
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/theme-selector.d.ts +1 -2
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/theme-selector.js +2 -11
- package/dist/modes/interactive/components/theme-selector.js.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.d.ts +8 -7
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +48 -7
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/components/todo-checklist.d.ts +31 -0
- package/dist/modes/interactive/components/todo-checklist.d.ts.map +1 -0
- package/dist/modes/interactive/components/todo-checklist.js +121 -0
- package/dist/modes/interactive/components/todo-checklist.js.map +1 -0
- package/dist/modes/interactive/components/tool-execution.d.ts +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +1 -1
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector.js +1 -1
- package/dist/modes/interactive/components/tree-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js +1 -1
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts +1 -1
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +1 -1
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.js +1 -1
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +3 -8
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +80 -232
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/omk-control-grid-dark.json +65 -77
- package/dist/modes/interactive/theme/omk-neon-control.json +90 -0
- package/dist/modes/interactive/theme/rust-forge.json +14 -24
- package/dist/modes/interactive/theme/theme.d.ts +1 -1
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +25 -45
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/print-mode.d.ts +1 -1
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +2 -2
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +0 -4
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +2 -2
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/modules/index.d.ts +8 -0
- package/dist/modules/index.d.ts.map +1 -0
- package/dist/modules/index.js +7 -0
- package/dist/modules/index.js.map +1 -0
- package/dist/modules/lrl-bypass.d.ts +40 -0
- package/dist/modules/lrl-bypass.d.ts.map +1 -0
- package/dist/modules/lrl-bypass.js +84 -0
- package/dist/modules/lrl-bypass.js.map +1 -0
- package/dist/modules/lrl-deps.d.ts +38 -0
- package/dist/modules/lrl-deps.d.ts.map +1 -0
- package/dist/modules/lrl-deps.js +128 -0
- package/dist/modules/lrl-deps.js.map +1 -0
- package/dist/multiturn/easl-chain.d.ts +113 -0
- package/dist/multiturn/easl-chain.d.ts.map +1 -0
- package/dist/multiturn/easl-chain.js +351 -0
- package/dist/multiturn/easl-chain.js.map +1 -0
- package/dist/multiturn/index.d.ts +6 -0
- package/dist/multiturn/index.d.ts.map +1 -0
- package/dist/multiturn/index.js +6 -0
- package/dist/multiturn/index.js.map +1 -0
- package/dist/orchestration/lane-grant-auditor.d.ts +4 -0
- package/dist/orchestration/lane-grant-auditor.d.ts.map +1 -0
- package/dist/orchestration/lane-grant-auditor.js +87 -0
- package/dist/orchestration/lane-grant-auditor.js.map +1 -0
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +48 -113
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/routing/fallback-router.d.ts +123 -0
- package/dist/routing/fallback-router.d.ts.map +1 -0
- package/dist/routing/fallback-router.js +355 -0
- package/dist/routing/fallback-router.js.map +1 -0
- package/dist/routing/index.d.ts +6 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/index.js +6 -0
- package/dist/routing/index.js.map +1 -0
- package/dist/types/evidence.d.ts +117 -0
- package/dist/types/evidence.d.ts.map +1 -0
- package/dist/types/evidence.js +8 -0
- package/dist/types/evidence.js.map +1 -0
- package/dist/types/guardrails.d.ts +61 -0
- package/dist/types/guardrails.d.ts.map +1 -0
- package/dist/types/guardrails.js +9 -0
- package/dist/types/guardrails.js.map +1 -0
- package/dist/types/jailbreak.d.ts +246 -0
- package/dist/types/jailbreak.d.ts.map +1 -0
- package/dist/types/jailbreak.js +8 -0
- package/dist/types/jailbreak.js.map +1 -0
- package/dist/types/lane-grant.d.ts +58 -0
- package/dist/types/lane-grant.d.ts.map +1 -0
- package/dist/types/lane-grant.js +9 -0
- package/dist/types/lane-grant.js.map +1 -0
- package/dist/utils/jailbreak/common.d.ts +63 -0
- package/dist/utils/jailbreak/common.d.ts.map +1 -0
- package/dist/utils/jailbreak/common.js +130 -0
- package/dist/utils/jailbreak/common.js.map +1 -0
- package/dist/utils/jailbreak/index.d.ts +7 -0
- package/dist/utils/jailbreak/index.d.ts.map +1 -0
- package/dist/utils/jailbreak/index.js +7 -0
- package/dist/utils/jailbreak/index.js.map +1 -0
- package/dist/utils/windows-self-update.d.ts.map +1 -1
- package/dist/utils/windows-self-update.js +1 -1
- package/dist/utils/windows-self-update.js.map +1 -1
- package/docs/compaction.md +8 -21
- package/docs/custom-provider.md +2 -2
- package/docs/development.md +1 -1
- package/docs/extensions.md +11 -11
- package/docs/loadout-domains/README.md +70 -0
- package/docs/loadout-domains/ai-agent-ops.md +94 -0
- package/docs/loadout-domains/backend-api.md +116 -0
- package/docs/loadout-domains/data-science.md +100 -0
- package/docs/loadout-domains/devops-infra.md +85 -0
- package/docs/loadout-domains/docs-writing.md +92 -0
- package/docs/loadout-domains/frontend-ui.md +128 -0
- package/docs/loadout-domains/general.md +62 -0
- package/docs/loadout-domains/mobile.md +84 -0
- package/docs/loadout-domains/qa-testing.md +87 -0
- package/docs/loadout-domains/research.md +80 -0
- package/docs/loadout-domains/security-audit.md +97 -0
- package/docs/packages.md +7 -48
- package/docs/prompt-templates.md +0 -2
- package/docs/providers.md +12 -0
- package/docs/sdk.md +3 -3
- package/docs/security.md +145 -0
- package/docs/session-format.md +1 -1
- package/docs/themes.md +8 -7
- package/docs/tui.md +14 -14
- package/docs/usage.md +6 -16
- package/examples/extensions/README.md +2 -2
- package/examples/extensions/aside-computer-use/README.md +114 -0
- package/examples/extensions/aside-computer-use/action-scoring.ts +122 -0
- package/examples/extensions/aside-computer-use/assertions.ts +380 -0
- package/examples/extensions/aside-computer-use/controller.ts +491 -0
- package/examples/extensions/aside-computer-use/evidence.ts +229 -0
- package/examples/extensions/aside-computer-use/golden-trace.ts +141 -0
- package/examples/extensions/aside-computer-use/index.ts +76 -0
- package/examples/extensions/aside-computer-use/mcp-client.ts +381 -0
- package/examples/extensions/aside-computer-use/observation-snapshot.ts +121 -0
- package/examples/extensions/aside-computer-use/package.json +16 -0
- package/examples/extensions/aside-computer-use/policy.ts +257 -0
- package/examples/extensions/aside-computer-use/risk-authorize.ts +200 -0
- package/examples/extensions/aside-computer-use/risk-classifier.ts +205 -0
- package/examples/extensions/aside-computer-use/schema-fingerprint.ts +80 -0
- package/examples/extensions/aside-computer-use/session-binding.ts +161 -0
- package/examples/extensions/aside-computer-use/tools.ts +449 -0
- package/examples/extensions/aside-computer-use/types.ts +217 -0
- package/examples/extensions/aside-computer-use/url-origin.ts +132 -0
- package/examples/extensions/bash-spawn-hook.ts +1 -1
- package/examples/extensions/border-status-editor.ts +2 -2
- package/examples/extensions/built-in-tool-renderer.ts +1 -1
- package/examples/extensions/custom-compaction.ts +1 -1
- package/examples/extensions/custom-footer.ts +2 -2
- package/examples/extensions/custom-header.ts +8 -8
- package/examples/extensions/custom-provider-anthropic/index.ts +1 -1
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/test.ts +1 -1
- package/examples/extensions/doom-overlay/README.md +1 -2
- package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
- package/examples/extensions/doom-overlay/doom/build.sh +4 -4
- package/examples/extensions/doom-overlay/doom/doomgeneric_omk.c +72 -0
- package/examples/extensions/doom-overlay/doom-component.ts +2 -2
- package/examples/extensions/doom-overlay/doom-keys.ts +1 -1
- package/examples/extensions/git-merge-and-resolve.ts +1 -1
- package/examples/extensions/github-issue-autocomplete.ts +1 -6
- package/examples/extensions/gondolin/index.ts +1 -1
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/handoff.ts +2 -2
- package/examples/extensions/hello.ts +1 -1
- package/examples/extensions/inline-bash.ts +1 -1
- package/examples/extensions/input-transform-streaming.ts +1 -1
- package/examples/extensions/input-transform.ts +2 -2
- package/examples/extensions/mac-system-theme.ts +1 -1
- package/examples/extensions/message-renderer.ts +1 -1
- package/examples/extensions/minimal-mode.ts +1 -1
- package/examples/extensions/modal-editor.ts +1 -1
- package/examples/extensions/overlay-qa-tests.ts +7 -7
- package/examples/extensions/overlay-test.ts +1 -1
- package/examples/extensions/plan-mode/index.ts +3 -3
- package/examples/extensions/preset.ts +4 -4
- package/examples/extensions/provider-payload.ts +6 -3
- package/examples/extensions/qna.ts +1 -1
- package/examples/extensions/question.ts +1 -1
- package/examples/extensions/questionnaire.ts +1 -1
- package/examples/extensions/rpc-demo.ts +1 -1
- package/examples/extensions/sandbox/index.ts +2 -2
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/shutdown-command.ts +5 -5
- package/examples/extensions/snake.ts +1 -1
- package/examples/extensions/space-invaders.ts +1 -1
- package/examples/extensions/structured-output.ts +1 -1
- package/examples/extensions/subagent/agents.ts +2 -2
- package/examples/extensions/subagent/index.ts +19 -51
- package/examples/extensions/summarize.ts +2 -2
- package/examples/extensions/tic-tac-toe.ts +2 -2
- package/examples/extensions/todo.ts +2 -2
- package/examples/extensions/tool-override.ts +1 -1
- package/examples/extensions/tools.ts +1 -1
- package/examples/extensions/truncated-tool.ts +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/extensions/working-indicator.ts +3 -3
- package/examples/rpc-extension-ui.ts +1 -9
- package/examples/sdk/02-custom-model.ts +1 -1
- package/examples/sdk/07-context-files.ts +0 -2
- package/examples/sdk/12-full-control.ts +1 -1
- package/examples/sdk/README.md +1 -1
- package/npm-shrinkwrap.json +1805 -0
- package/package.json +10 -32
- package/dist/core/compaction/pruner-policy.d.ts +0 -84
- package/dist/core/compaction/pruner-policy.d.ts.map +0 -1
- package/dist/core/compaction/pruner-policy.js +0 -273
- package/dist/core/compaction/pruner-policy.js.map +0 -1
- package/dist/core/context-graph-identity-resolution.d.ts +0 -114
- package/dist/core/context-graph-identity-resolution.d.ts.map +0 -1
- package/dist/core/context-graph-identity-resolution.js +0 -127
- package/dist/core/context-graph-identity-resolution.js.map +0 -1
- package/dist/core/context-graph-memory-store.d.ts +0 -153
- package/dist/core/context-graph-memory-store.d.ts.map +0 -1
- package/dist/core/context-graph-memory-store.js +0 -377
- package/dist/core/context-graph-memory-store.js.map +0 -1
- package/dist/core/context-graph-ontology-generation.d.ts +0 -104
- package/dist/core/context-graph-ontology-generation.d.ts.map +0 -1
- package/dist/core/context-graph-ontology-generation.js +0 -135
- package/dist/core/context-graph-ontology-generation.js.map +0 -1
- package/dist/core/context-graph-ontology-registry.d.ts +0 -766
- package/dist/core/context-graph-ontology-registry.d.ts.map +0 -1
- package/dist/core/context-graph-ontology-registry.js +0 -1133
- package/dist/core/context-graph-ontology-registry.js.map +0 -1
- package/dist/core/context-graph-policy.d.ts +0 -68
- package/dist/core/context-graph-policy.d.ts.map +0 -1
- package/dist/core/context-graph-policy.js +0 -221
- package/dist/core/context-graph-policy.js.map +0 -1
- package/dist/core/context-graph-reasoning.d.ts +0 -130
- package/dist/core/context-graph-reasoning.d.ts.map +0 -1
- package/dist/core/context-graph-reasoning.js +0 -442
- package/dist/core/context-graph-reasoning.js.map +0 -1
- package/dist/core/context-graph-retrieval.d.ts +0 -120
- package/dist/core/context-graph-retrieval.d.ts.map +0 -1
- package/dist/core/context-graph-retrieval.js +0 -288
- package/dist/core/context-graph-retrieval.js.map +0 -1
- package/dist/core/contract-verification.d.ts +0 -78
- package/dist/core/contract-verification.d.ts.map +0 -1
- package/dist/core/contract-verification.js +0 -110
- package/dist/core/contract-verification.js.map +0 -1
- package/dist/core/freedom/banner.d.ts +0 -14
- package/dist/core/freedom/banner.d.ts.map +0 -1
- package/dist/core/freedom/banner.js +0 -22
- package/dist/core/freedom/banner.js.map +0 -1
- package/dist/core/freedom/config.d.ts +0 -27
- package/dist/core/freedom/config.d.ts.map +0 -1
- package/dist/core/freedom/config.js +0 -216
- package/dist/core/freedom/config.js.map +0 -1
- package/dist/core/freedom/index.d.ts +0 -23
- package/dist/core/freedom/index.d.ts.map +0 -1
- package/dist/core/freedom/index.js +0 -19
- package/dist/core/freedom/index.js.map +0 -1
- package/dist/core/freedom/policy.d.ts +0 -42
- package/dist/core/freedom/policy.d.ts.map +0 -1
- package/dist/core/freedom/policy.js +0 -47
- package/dist/core/freedom/policy.js.map +0 -1
- package/dist/core/freedom/safety-floor.d.ts +0 -73
- package/dist/core/freedom/safety-floor.d.ts.map +0 -1
- package/dist/core/freedom/safety-floor.js +0 -275
- package/dist/core/freedom/safety-floor.js.map +0 -1
- package/dist/core/harness-control-events.d.ts +0 -91
- package/dist/core/harness-control-events.d.ts.map +0 -1
- package/dist/core/harness-control-events.js +0 -514
- package/dist/core/harness-control-events.js.map +0 -1
- package/dist/core/harness-control-replay.d.ts +0 -31
- package/dist/core/harness-control-replay.d.ts.map +0 -1
- package/dist/core/harness-control-replay.js +0 -187
- package/dist/core/harness-control-replay.js.map +0 -1
- package/dist/core/headroom-middleware.d.ts +0 -35
- package/dist/core/headroom-middleware.d.ts.map +0 -1
- package/dist/core/headroom-middleware.js +0 -166
- package/dist/core/headroom-middleware.js.map +0 -1
- package/dist/core/lean-context-middleware.d.ts +0 -12
- package/dist/core/lean-context-middleware.d.ts.map +0 -1
- package/dist/core/lean-context-middleware.js +0 -87
- package/dist/core/lean-context-middleware.js.map +0 -1
- package/dist/core/lean-context-policy.d.ts +0 -45
- package/dist/core/lean-context-policy.d.ts.map +0 -1
- package/dist/core/lean-context-policy.js +0 -108
- package/dist/core/lean-context-policy.js.map +0 -1
- package/dist/core/native-adoption-benchmark.d.ts +0 -166
- package/dist/core/native-adoption-benchmark.d.ts.map +0 -1
- package/dist/core/native-adoption-benchmark.js +0 -624
- package/dist/core/native-adoption-benchmark.js.map +0 -1
- package/dist/core/observability-trace.d.ts +0 -80
- package/dist/core/observability-trace.d.ts.map +0 -1
- package/dist/core/observability-trace.js +0 -140
- package/dist/core/observability-trace.js.map +0 -1
- package/dist/core/orchestration/checkpoint.d.ts +0 -83
- package/dist/core/orchestration/checkpoint.d.ts.map +0 -1
- package/dist/core/orchestration/checkpoint.js +0 -152
- package/dist/core/orchestration/checkpoint.js.map +0 -1
- package/dist/core/orchestration/errors.d.ts +0 -74
- package/dist/core/orchestration/errors.d.ts.map +0 -1
- package/dist/core/orchestration/errors.js +0 -52
- package/dist/core/orchestration/errors.js.map +0 -1
- package/dist/core/orchestration/merge-queue.d.ts +0 -121
- package/dist/core/orchestration/merge-queue.d.ts.map +0 -1
- package/dist/core/orchestration/merge-queue.js +0 -149
- package/dist/core/orchestration/merge-queue.js.map +0 -1
- package/dist/core/orchestration/recovery.d.ts +0 -106
- package/dist/core/orchestration/recovery.d.ts.map +0 -1
- package/dist/core/orchestration/recovery.js +0 -110
- package/dist/core/orchestration/recovery.js.map +0 -1
- package/dist/core/orchestration/replay-ledger.d.ts +0 -76
- package/dist/core/orchestration/replay-ledger.d.ts.map +0 -1
- package/dist/core/orchestration/replay-ledger.js +0 -395
- package/dist/core/orchestration/replay-ledger.js.map +0 -1
- package/dist/core/orchestration/scheduler-state.d.ts +0 -78
- package/dist/core/orchestration/scheduler-state.d.ts.map +0 -1
- package/dist/core/orchestration/scheduler-state.js +0 -185
- package/dist/core/orchestration/scheduler-state.js.map +0 -1
- package/dist/core/orchestration/scheduler-store.d.ts +0 -309
- package/dist/core/orchestration/scheduler-store.d.ts.map +0 -1
- package/dist/core/orchestration/scheduler-store.js +0 -368
- package/dist/core/orchestration/scheduler-store.js.map +0 -1
- package/dist/core/orchestration/sqlite-scheduler-store.d.ts +0 -57
- package/dist/core/orchestration/sqlite-scheduler-store.d.ts.map +0 -1
- package/dist/core/orchestration/sqlite-scheduler-store.js +0 -528
- package/dist/core/orchestration/sqlite-scheduler-store.js.map +0 -1
- package/dist/core/orchestration/transaction-coordinator.d.ts +0 -217
- package/dist/core/orchestration/transaction-coordinator.d.ts.map +0 -1
- package/dist/core/orchestration/transaction-coordinator.js +0 -281
- package/dist/core/orchestration/transaction-coordinator.js.map +0 -1
- package/dist/core/orchestration/verification-contract.d.ts +0 -197
- package/dist/core/orchestration/verification-contract.d.ts.map +0 -1
- package/dist/core/orchestration/verification-contract.js +0 -145
- package/dist/core/orchestration/verification-contract.js.map +0 -1
- package/dist/core/package-composition.d.ts +0 -68
- package/dist/core/package-composition.d.ts.map +0 -1
- package/dist/core/package-composition.js +0 -304
- package/dist/core/package-composition.js.map +0 -1
- package/dist/core/package-trial-runtime.d.ts +0 -75
- package/dist/core/package-trial-runtime.d.ts.map +0 -1
- package/dist/core/package-trial-runtime.js +0 -73
- package/dist/core/package-trial-runtime.js.map +0 -1
- package/dist/core/package-trial-sandbox.d.ts +0 -27
- package/dist/core/package-trial-sandbox.d.ts.map +0 -1
- package/dist/core/package-trial-sandbox.js +0 -102
- package/dist/core/package-trial-sandbox.js.map +0 -1
- package/dist/core/policy-overlays-runtime.d.ts +0 -141
- package/dist/core/policy-overlays-runtime.d.ts.map +0 -1
- package/dist/core/policy-overlays-runtime.js +0 -720
- package/dist/core/policy-overlays-runtime.js.map +0 -1
- package/dist/core/read-anchor-registry.d.ts +0 -27
- package/dist/core/read-anchor-registry.d.ts.map +0 -1
- package/dist/core/read-anchor-registry.js +0 -103
- package/dist/core/read-anchor-registry.js.map +0 -1
- package/dist/core/read-content-cache.d.ts +0 -22
- package/dist/core/read-content-cache.d.ts.map +0 -1
- package/dist/core/read-content-cache.js +0 -79
- package/dist/core/read-content-cache.js.map +0 -1
- package/dist/core/session-digest.d.ts +0 -57
- package/dist/core/session-digest.d.ts.map +0 -1
- package/dist/core/session-digest.js +0 -193
- package/dist/core/session-digest.js.map +0 -1
- package/dist/core/spec-kit/compiler.d.ts +0 -67
- package/dist/core/spec-kit/compiler.d.ts.map +0 -1
- package/dist/core/spec-kit/compiler.js +0 -268
- package/dist/core/spec-kit/compiler.js.map +0 -1
- package/dist/core/transaction-coordinator.d.ts +0 -30
- package/dist/core/transaction-coordinator.d.ts.map +0 -1
- package/dist/core/transaction-coordinator.js +0 -173
- package/dist/core/transaction-coordinator.js.map +0 -1
- package/dist/modes/interactive/components/mcp-selector.d.ts +0 -30
- package/dist/modes/interactive/components/mcp-selector.d.ts.map +0 -1
- package/dist/modes/interactive/components/mcp-selector.js +0 -155
- package/dist/modes/interactive/components/mcp-selector.js.map +0 -1
- package/dist/modes/interactive/components/model-selector-state.d.ts +0 -101
- package/dist/modes/interactive/components/model-selector-state.d.ts.map +0 -1
- package/dist/modes/interactive/components/model-selector-state.js +0 -261
- package/dist/modes/interactive/components/model-selector-state.js.map +0 -1
- package/dist/modes/interactive/components/skills-selector.d.ts +0 -32
- package/dist/modes/interactive/components/skills-selector.d.ts.map +0 -1
- package/dist/modes/interactive/components/skills-selector.js +0 -130
- package/dist/modes/interactive/components/skills-selector.js.map +0 -1
- package/dist/modes/interactive/theme/omk-blackboard.json +0 -91
- package/dist/modes/interactive/theme/omk-freedom-grid.json +0 -91
- package/dist/modes/interactive/theme/omk-neon-ops.json +0 -90
- package/dist/modes/interactive/theme/omk-slate-light.json +0 -91
- package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +0 -72
- package/node_modules/@earendil-works/omk-agent-core/README.md +0 -488
- package/node_modules/@earendil-works/omk-agent-core/dist/agent-loop.d.ts +0 -24
- package/node_modules/@earendil-works/omk-agent-core/dist/agent-loop.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/agent-loop.js +0 -553
- package/node_modules/@earendil-works/omk-agent-core/dist/agent-loop.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/agent.d.ts +0 -118
- package/node_modules/@earendil-works/omk-agent-core/dist/agent.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/agent.js +0 -402
- package/node_modules/@earendil-works/omk-agent-core/dist/agent.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/agent-harness.d.ts +0 -95
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/agent-harness.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/agent-harness.js +0 -996
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/agent-harness.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/branch-summarization.d.ts +0 -53
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/branch-summarization.js +0 -175
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/branch-summarization.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/compaction.d.ts +0 -117
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/compaction.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/compaction.js +0 -568
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/compaction.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/utils.d.ts +0 -25
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/utils.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/utils.js +0 -131
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/utils.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/env/nodejs.d.ts +0 -51
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/env/nodejs.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/env/nodejs.js +0 -510
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/env/nodejs.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/messages.d.ts +0 -51
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/messages.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/messages.js +0 -102
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/messages.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/prompt-templates.d.ts +0 -48
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/prompt-templates.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/prompt-templates.js +0 -230
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/prompt-templates.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-repo.d.ts +0 -26
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-repo.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-repo.js +0 -101
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-repo.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-storage.d.ts +0 -36
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-storage.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-storage.js +0 -273
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-storage.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-repo.d.ts +0 -18
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-repo.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-repo.js +0 -42
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-repo.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-storage.d.ts +0 -25
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-storage.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-storage.js +0 -114
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-storage.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/repo-utils.d.ts +0 -11
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/repo-utils.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/repo-utils.js +0 -39
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/repo-utils.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/session.d.ts +0 -33
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/session.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/session.js +0 -210
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/session.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/uuid.d.ts +0 -2
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/uuid.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/uuid.js +0 -50
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/uuid.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/skills.d.ts +0 -44
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/skills.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/skills.js +0 -311
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/skills.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/system-prompt.d.ts +0 -3
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/system-prompt.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/system-prompt.js +0 -30
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/system-prompt.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/types.d.ts +0 -616
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/types.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/types.js +0 -94
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/types.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/shell-output.d.ts +0 -14
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/shell-output.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/shell-output.js +0 -126
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/shell-output.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/truncate.d.ts +0 -70
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/truncate.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/truncate.js +0 -297
- package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/truncate.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/index.d.ts +0 -20
- package/node_modules/@earendil-works/omk-agent-core/dist/index.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/index.js +0 -25
- package/node_modules/@earendil-works/omk-agent-core/dist/index.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/node.d.ts +0 -3
- package/node_modules/@earendil-works/omk-agent-core/dist/node.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/node.js +0 -3
- package/node_modules/@earendil-works/omk-agent-core/dist/node.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/proxy.d.ts +0 -69
- package/node_modules/@earendil-works/omk-agent-core/dist/proxy.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/proxy.js +0 -278
- package/node_modules/@earendil-works/omk-agent-core/dist/proxy.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/types.d.ts +0 -393
- package/node_modules/@earendil-works/omk-agent-core/dist/types.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/dist/types.js +0 -2
- package/node_modules/@earendil-works/omk-agent-core/dist/types.js.map +0 -1
- package/node_modules/@earendil-works/omk-agent-core/package.json +0 -60
- package/node_modules/@earendil-works/omk-ai/README.md +0 -1389
- package/node_modules/@earendil-works/omk-ai/dist/api-registry.d.ts +0 -20
- package/node_modules/@earendil-works/omk-ai/dist/api-registry.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/api-registry.js +0 -44
- package/node_modules/@earendil-works/omk-ai/dist/api-registry.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/bedrock-provider.d.ts +0 -5
- package/node_modules/@earendil-works/omk-ai/dist/bedrock-provider.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/bedrock-provider.js +0 -6
- package/node_modules/@earendil-works/omk-ai/dist/bedrock-provider.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/cli.d.ts +0 -3
- package/node_modules/@earendil-works/omk-ai/dist/cli.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/cli.js +0 -130
- package/node_modules/@earendil-works/omk-ai/dist/cli.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/env-api-keys.d.ts +0 -20
- package/node_modules/@earendil-works/omk-ai/dist/env-api-keys.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/env-api-keys.js +0 -199
- package/node_modules/@earendil-works/omk-ai/dist/env-api-keys.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/image-models.d.ts +0 -10
- package/node_modules/@earendil-works/omk-ai/dist/image-models.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/image-models.generated.d.ts +0 -515
- package/node_modules/@earendil-works/omk-ai/dist/image-models.generated.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/image-models.generated.js +0 -517
- package/node_modules/@earendil-works/omk-ai/dist/image-models.generated.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/image-models.js +0 -23
- package/node_modules/@earendil-works/omk-ai/dist/image-models.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/images-api-registry.d.ts +0 -14
- package/node_modules/@earendil-works/omk-ai/dist/images-api-registry.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/images-api-registry.js +0 -22
- package/node_modules/@earendil-works/omk-ai/dist/images-api-registry.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/images.d.ts +0 -4
- package/node_modules/@earendil-works/omk-ai/dist/images.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/images.js +0 -16
- package/node_modules/@earendil-works/omk-ai/dist/images.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/index.d.ts +0 -33
- package/node_modules/@earendil-works/omk-ai/dist/index.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/index.js +0 -21
- package/node_modules/@earendil-works/omk-ai/dist/index.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/models.d.ts +0 -18
- package/node_modules/@earendil-works/omk-ai/dist/models.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/models.generated.d.ts +0 -18762
- package/node_modules/@earendil-works/omk-ai/dist/models.generated.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/models.generated.js +0 -17197
- package/node_modules/@earendil-works/omk-ai/dist/models.generated.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/models.js +0 -78
- package/node_modules/@earendil-works/omk-ai/dist/models.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/oauth.d.ts +0 -2
- package/node_modules/@earendil-works/omk-ai/dist/oauth.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/oauth.js +0 -2
- package/node_modules/@earendil-works/omk-ai/dist/oauth.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/provider-network.d.ts +0 -39
- package/node_modules/@earendil-works/omk-ai/dist/provider-network.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/provider-network.js +0 -170
- package/node_modules/@earendil-works/omk-ai/dist/provider-network.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/amazon-bedrock.d.ts +0 -38
- package/node_modules/@earendil-works/omk-ai/dist/providers/amazon-bedrock.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/amazon-bedrock.js +0 -826
- package/node_modules/@earendil-works/omk-ai/dist/providers/amazon-bedrock.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/anthropic.d.ts +0 -77
- package/node_modules/@earendil-works/omk-ai/dist/providers/anthropic.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/anthropic.js +0 -1123
- package/node_modules/@earendil-works/omk-ai/dist/providers/anthropic.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/azure-openai-responses.d.ts +0 -15
- package/node_modules/@earendil-works/omk-ai/dist/providers/azure-openai-responses.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/azure-openai-responses.js +0 -221
- package/node_modules/@earendil-works/omk-ai/dist/providers/azure-openai-responses.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/cloudflare.d.ts +0 -13
- package/node_modules/@earendil-works/omk-ai/dist/providers/cloudflare.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/cloudflare.js +0 -26
- package/node_modules/@earendil-works/omk-ai/dist/providers/cloudflare.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/faux.d.ts +0 -56
- package/node_modules/@earendil-works/omk-ai/dist/providers/faux.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/faux.js +0 -368
- package/node_modules/@earendil-works/omk-ai/dist/providers/faux.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/github-copilot-headers.d.ts +0 -8
- package/node_modules/@earendil-works/omk-ai/dist/providers/github-copilot-headers.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/github-copilot-headers.js +0 -29
- package/node_modules/@earendil-works/omk-ai/dist/providers/github-copilot-headers.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/google-shared.d.ts +0 -70
- package/node_modules/@earendil-works/omk-ai/dist/providers/google-shared.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/google-shared.js +0 -331
- package/node_modules/@earendil-works/omk-ai/dist/providers/google-shared.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/google-vertex.d.ts +0 -15
- package/node_modules/@earendil-works/omk-ai/dist/providers/google-vertex.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/google-vertex.js +0 -442
- package/node_modules/@earendil-works/omk-ai/dist/providers/google-vertex.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/google.d.ts +0 -13
- package/node_modules/@earendil-works/omk-ai/dist/providers/google.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/google.js +0 -402
- package/node_modules/@earendil-works/omk-ai/dist/providers/google.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/images/openrouter.d.ts +0 -3
- package/node_modules/@earendil-works/omk-ai/dist/providers/images/openrouter.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/images/openrouter.js +0 -128
- package/node_modules/@earendil-works/omk-ai/dist/providers/images/openrouter.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/images/register-builtins.d.ts +0 -4
- package/node_modules/@earendil-works/omk-ai/dist/providers/images/register-builtins.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/images/register-builtins.js +0 -34
- package/node_modules/@earendil-works/omk-ai/dist/providers/images/register-builtins.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/mistral.d.ts +0 -25
- package/node_modules/@earendil-works/omk-ai/dist/providers/mistral.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/mistral.js +0 -534
- package/node_modules/@earendil-works/omk-ai/dist/providers/mistral.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-codex-responses.d.ts +0 -30
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-codex-responses.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-codex-responses.js +0 -1171
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-codex-responses.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-completions.d.ts +0 -19
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-completions.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-completions.js +0 -977
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-completions.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-prompt-cache.d.ts +0 -11
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-prompt-cache.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-prompt-cache.js +0 -22
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-prompt-cache.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses-shared.d.ts +0 -18
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses-shared.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses-shared.js +0 -496
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses-shared.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses.d.ts +0 -13
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses.js +0 -233
- package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/register-builtins.d.ts +0 -35
- package/node_modules/@earendil-works/omk-ai/dist/providers/register-builtins.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/register-builtins.js +0 -254
- package/node_modules/@earendil-works/omk-ai/dist/providers/register-builtins.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/simple-options.d.ts +0 -8
- package/node_modules/@earendil-works/omk-ai/dist/providers/simple-options.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/simple-options.js +0 -42
- package/node_modules/@earendil-works/omk-ai/dist/providers/simple-options.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/tool-schema.d.ts +0 -13
- package/node_modules/@earendil-works/omk-ai/dist/providers/tool-schema.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/tool-schema.js +0 -82
- package/node_modules/@earendil-works/omk-ai/dist/providers/tool-schema.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/transform-messages.d.ts +0 -8
- package/node_modules/@earendil-works/omk-ai/dist/providers/transform-messages.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/providers/transform-messages.js +0 -184
- package/node_modules/@earendil-works/omk-ai/dist/providers/transform-messages.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/session-resources.d.ts +0 -4
- package/node_modules/@earendil-works/omk-ai/dist/session-resources.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/session-resources.js +0 -22
- package/node_modules/@earendil-works/omk-ai/dist/session-resources.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/stream.d.ts +0 -8
- package/node_modules/@earendil-works/omk-ai/dist/stream.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/stream.js +0 -77
- package/node_modules/@earendil-works/omk-ai/dist/stream.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/types.d.ts +0 -570
- package/node_modules/@earendil-works/omk-ai/dist/types.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/types.js +0 -2
- package/node_modules/@earendil-works/omk-ai/dist/types.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/abort-signals.d.ts +0 -6
- package/node_modules/@earendil-works/omk-ai/dist/utils/abort-signals.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/abort-signals.js +0 -34
- package/node_modules/@earendil-works/omk-ai/dist/utils/abort-signals.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/diagnostics.d.ts +0 -19
- package/node_modules/@earendil-works/omk-ai/dist/utils/diagnostics.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/diagnostics.js +0 -25
- package/node_modules/@earendil-works/omk-ai/dist/utils/diagnostics.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/event-stream.d.ts +0 -21
- package/node_modules/@earendil-works/omk-ai/dist/utils/event-stream.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/event-stream.js +0 -81
- package/node_modules/@earendil-works/omk-ai/dist/utils/event-stream.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/hash.d.ts +0 -3
- package/node_modules/@earendil-works/omk-ai/dist/utils/hash.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/hash.js +0 -14
- package/node_modules/@earendil-works/omk-ai/dist/utils/hash.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/headers.d.ts +0 -2
- package/node_modules/@earendil-works/omk-ai/dist/utils/headers.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/headers.js +0 -8
- package/node_modules/@earendil-works/omk-ai/dist/utils/headers.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/json-parse.d.ts +0 -16
- package/node_modules/@earendil-works/omk-ai/dist/utils/json-parse.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/json-parse.js +0 -113
- package/node_modules/@earendil-works/omk-ai/dist/utils/json-parse.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/node-http-proxy.d.ts +0 -10
- package/node_modules/@earendil-works/omk-ai/dist/utils/node-http-proxy.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/node-http-proxy.js +0 -97
- package/node_modules/@earendil-works/omk-ai/dist/utils/node-http-proxy.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/anthropic.d.ts +0 -25
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/anthropic.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/anthropic.js +0 -335
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/anthropic.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/device-code.d.ts +0 -21
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/device-code.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/device-code.js +0 -56
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/device-code.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/github-copilot.d.ts +0 -30
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/github-copilot.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/github-copilot.js +0 -280
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/github-copilot.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/index.d.ts +0 -58
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/index.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/index.js +0 -122
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/index.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/oauth-page.d.ts +0 -3
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/oauth-page.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/oauth-page.js +0 -105
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/oauth-page.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/openai-codex.d.ts +0 -43
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/openai-codex.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/openai-codex.js +0 -487
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/openai-codex.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/pkce.d.ts +0 -13
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/pkce.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/pkce.js +0 -31
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/pkce.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/types.d.ts +0 -64
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/types.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/types.js +0 -2
- package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/types.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/overflow.d.ts +0 -57
- package/node_modules/@earendil-works/omk-ai/dist/utils/overflow.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/overflow.js +0 -154
- package/node_modules/@earendil-works/omk-ai/dist/utils/overflow.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/sanitize-unicode.d.ts +0 -22
- package/node_modules/@earendil-works/omk-ai/dist/utils/sanitize-unicode.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/sanitize-unicode.js +0 -26
- package/node_modules/@earendil-works/omk-ai/dist/utils/sanitize-unicode.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/typebox-helpers.d.ts +0 -17
- package/node_modules/@earendil-works/omk-ai/dist/utils/typebox-helpers.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/typebox-helpers.js +0 -21
- package/node_modules/@earendil-works/omk-ai/dist/utils/typebox-helpers.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/validation.d.ts +0 -18
- package/node_modules/@earendil-works/omk-ai/dist/utils/validation.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-ai/dist/utils/validation.js +0 -281
- package/node_modules/@earendil-works/omk-ai/dist/utils/validation.js.map +0 -1
- package/node_modules/@earendil-works/omk-ai/package.json +0 -106
- package/node_modules/@earendil-works/omk-tui/README.md +0 -791
- package/node_modules/@earendil-works/omk-tui/dist/autocomplete.d.ts +0 -54
- package/node_modules/@earendil-works/omk-tui/dist/autocomplete.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/autocomplete.js +0 -632
- package/node_modules/@earendil-works/omk-tui/dist/autocomplete.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/box.d.ts +0 -22
- package/node_modules/@earendil-works/omk-tui/dist/components/box.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/box.js +0 -104
- package/node_modules/@earendil-works/omk-tui/dist/components/box.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/cancellable-loader.d.ts +0 -22
- package/node_modules/@earendil-works/omk-tui/dist/components/cancellable-loader.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/cancellable-loader.js +0 -35
- package/node_modules/@earendil-works/omk-tui/dist/components/cancellable-loader.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/editor.d.ts +0 -249
- package/node_modules/@earendil-works/omk-tui/dist/components/editor.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/editor.js +0 -1857
- package/node_modules/@earendil-works/omk-tui/dist/components/editor.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/image.d.ts +0 -28
- package/node_modules/@earendil-works/omk-tui/dist/components/image.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/image.js +0 -89
- package/node_modules/@earendil-works/omk-tui/dist/components/image.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/input.d.ts +0 -37
- package/node_modules/@earendil-works/omk-tui/dist/components/input.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/input.js +0 -378
- package/node_modules/@earendil-works/omk-tui/dist/components/input.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/loader.d.ts +0 -31
- package/node_modules/@earendil-works/omk-tui/dist/components/loader.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/loader.js +0 -69
- package/node_modules/@earendil-works/omk-tui/dist/components/loader.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/markdown.d.ts +0 -96
- package/node_modules/@earendil-works/omk-tui/dist/components/markdown.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/markdown.js +0 -644
- package/node_modules/@earendil-works/omk-tui/dist/components/markdown.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/select-list.d.ts +0 -50
- package/node_modules/@earendil-works/omk-tui/dist/components/select-list.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/select-list.js +0 -159
- package/node_modules/@earendil-works/omk-tui/dist/components/select-list.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/settings-list.d.ts +0 -50
- package/node_modules/@earendil-works/omk-tui/dist/components/settings-list.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/settings-list.js +0 -185
- package/node_modules/@earendil-works/omk-tui/dist/components/settings-list.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/spacer.d.ts +0 -12
- package/node_modules/@earendil-works/omk-tui/dist/components/spacer.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/spacer.js +0 -23
- package/node_modules/@earendil-works/omk-tui/dist/components/spacer.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/text.d.ts +0 -19
- package/node_modules/@earendil-works/omk-tui/dist/components/text.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/text.js +0 -89
- package/node_modules/@earendil-works/omk-tui/dist/components/text.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/truncated-text.d.ts +0 -13
- package/node_modules/@earendil-works/omk-tui/dist/components/truncated-text.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/components/truncated-text.js +0 -51
- package/node_modules/@earendil-works/omk-tui/dist/components/truncated-text.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/editor-component.d.ts +0 -39
- package/node_modules/@earendil-works/omk-tui/dist/editor-component.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/editor-component.js +0 -2
- package/node_modules/@earendil-works/omk-tui/dist/editor-component.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/fuzzy.d.ts +0 -16
- package/node_modules/@earendil-works/omk-tui/dist/fuzzy.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/fuzzy.js +0 -110
- package/node_modules/@earendil-works/omk-tui/dist/fuzzy.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/index.d.ts +0 -23
- package/node_modules/@earendil-works/omk-tui/dist/index.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/index.js +0 -32
- package/node_modules/@earendil-works/omk-tui/dist/index.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/keybindings.d.ts +0 -212
- package/node_modules/@earendil-works/omk-tui/dist/keybindings.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/keybindings.js +0 -252
- package/node_modules/@earendil-works/omk-tui/dist/keybindings.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/keys.d.ts +0 -184
- package/node_modules/@earendil-works/omk-tui/dist/keys.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/keys.js +0 -1173
- package/node_modules/@earendil-works/omk-tui/dist/keys.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/kill-ring.d.ts +0 -28
- package/node_modules/@earendil-works/omk-tui/dist/kill-ring.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/kill-ring.js +0 -44
- package/node_modules/@earendil-works/omk-tui/dist/kill-ring.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/native-modifiers.d.ts +0 -3
- package/node_modules/@earendil-works/omk-tui/dist/native-modifiers.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/native-modifiers.js +0 -53
- package/node_modules/@earendil-works/omk-tui/dist/native-modifiers.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/stdin-buffer.d.ts +0 -50
- package/node_modules/@earendil-works/omk-tui/dist/stdin-buffer.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/stdin-buffer.js +0 -361
- package/node_modules/@earendil-works/omk-tui/dist/stdin-buffer.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/terminal-image.d.ts +0 -90
- package/node_modules/@earendil-works/omk-tui/dist/terminal-image.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/terminal-image.js +0 -366
- package/node_modules/@earendil-works/omk-tui/dist/terminal-image.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/terminal.d.ts +0 -113
- package/node_modules/@earendil-works/omk-tui/dist/terminal.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/terminal.js +0 -472
- package/node_modules/@earendil-works/omk-tui/dist/terminal.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/tui.d.ts +0 -242
- package/node_modules/@earendil-works/omk-tui/dist/tui.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/tui.js +0 -1221
- package/node_modules/@earendil-works/omk-tui/dist/tui.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/undo-stack.d.ts +0 -17
- package/node_modules/@earendil-works/omk-tui/dist/undo-stack.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/undo-stack.js +0 -25
- package/node_modules/@earendil-works/omk-tui/dist/undo-stack.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/utils.d.ts +0 -84
- package/node_modules/@earendil-works/omk-tui/dist/utils.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/utils.js +0 -1032
- package/node_modules/@earendil-works/omk-tui/dist/utils.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/word-navigation.d.ts +0 -25
- package/node_modules/@earendil-works/omk-tui/dist/word-navigation.d.ts.map +0 -1
- package/node_modules/@earendil-works/omk-tui/dist/word-navigation.js +0 -96
- package/node_modules/@earendil-works/omk-tui/dist/word-navigation.js.map +0 -1
- package/node_modules/@earendil-works/omk-tui/native/darwin/prebuilds/darwin-arm64/darwin-modifiers.node +0 -0
- package/node_modules/@earendil-works/omk-tui/native/darwin/prebuilds/darwin-x64/darwin-modifiers.node +0 -0
- package/node_modules/@earendil-works/omk-tui/native/win32/prebuilds/win32-arm64/win32-console-mode.node +0 -0
- package/node_modules/@earendil-works/omk-tui/native/win32/prebuilds/win32-x64/win32-console-mode.node +0 -0
- package/node_modules/@earendil-works/omk-tui/package.json +0 -47
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-loadouts.js","sourceRoot":"","sources":["../../src/core/domain-loadouts.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Domain capability profiles — domain-aware \"inherited documents\" for the OMK\n * control plane.\n *\n * OMK ships role-based loadouts (`loadouts.ts`: inspect/plan/code/test/review/\n * security/package-maintainer/none). This module adds an orthogonal, **domain**\n * layer: each domain profile is a curated capability bundle (skills + MCP +\n * hooks + tool gate + authority + command mode) tuned for one class of work,\n * plus a very detailed English `routingPrompt` and deterministic `triggers`\n * used by `domain-router.ts` to pick the right bundle for an incoming task.\n *\n * A `DomainProfile` is a `LoadoutProfile` augmented with routing metadata, so it\n * composes with the existing `applyLoadoutProfile()` runtime: the router selects\n * a domain, the domain profile gates which skills/MCP/hooks are active, and the\n * caller still picks the role authority. This keeps the new layer purely\n * additive — no existing loadout behavior changes.\n *\n * This module is I/O-free and side-effect-free. All resource names (skills,\n * MCP servers, hooks) reference canonical identifiers discovered by\n * `resource-loader.ts`, `mcp-inventory.ts`, and `hook-inventory.ts`.\n *\n * Erasable TypeScript only (no enum/namespace/parameter properties).\n */\n\nimport type { CapabilityGate, LoadoutCommands, LoadoutProfile, ToolGate } from \"./loadouts.ts\";\n\n/** Signal kinds the router evaluates. */\nexport type TriggerKind = \"keyword\" | \"regex\" | \"extension\" | \"path\";\n\n/**\n * One routing signal for a domain.\n *\n * - `keyword`: case-insensitive, word-boundary substring of the task text.\n * Multi-word phrases are matched literally. Matched occurrences are counted\n * (capped) so repeated mentions raise confidence.\n * - `regex`: matched against the lowercased task text via RegExp. Use for\n * intent clusters that keywords cannot express compactly (e.g. `cve-\\d`).\n * - `extension`: matched against the suffix of any provided path hint.\n * - `path`: glob fragment matched against any provided path hint.\n */\nexport interface TriggerSpec {\n\treadonly kind: TriggerKind;\n\treadonly pattern: string;\n\treadonly weight: number;\n}\n\n/** Domain routing + identity metadata layered on top of a LoadoutProfile. */\nexport interface DomainProfile extends LoadoutProfile {\n\t/** Stable domain id, e.g. \"frontend-ui\". Used as the registry key. */\n\treadonly id: string;\n\t/** Human label, e.g. \"Frontend & UI\". */\n\treadonly label: string;\n\t/** Deterministic routing signals consumed by `domain-router.ts`. */\n\treadonly triggers: readonly TriggerSpec[];\n\t/**\n\t * Detailed English routing prompt. When the router selects this domain, the\n\t * orchestrator prepends this to the lane's task prompt so the model knows\n\t * exactly which capabilities to lean on and how to sequence the work.\n\t */\n\treadonly routingPrompt: string;\n}\n\nconst READ_TOOLS: ToolGate = { allow: [\"read\", \"grep\", \"find\", \"ls\"] };\nconst WRITE_TOOLS: ToolGate = { allow: [\"read\", \"grep\", \"find\", \"ls\", \"edit\", \"write\", \"bash\"] };\nconst TEST_TOOLS: ToolGate = { allow: [\"read\", \"grep\", \"find\", \"ls\", \"bash\"] };\nconst SECURITY_TOOLS: ToolGate = { allow: [\"read\", \"grep\", \"find\", \"ls\", \"bash\"] };\n\nfunction gate(kind: \"skill\" | \"mcp\" | \"hook\", names: readonly string[]): CapabilityGate {\n\treturn { allow: [{ kind, names }] };\n}\n\nfunction commands(mode: LoadoutCommands[\"mode\"], extras?: Partial<LoadoutCommands>): LoadoutCommands {\n\treturn { mode, ...extras };\n}\n\n/**\n * All domain profiles, keyed by id. Order is intentional only for human reading;\n * the router scores every entry independently.\n *\n * Each profile curates real, currently-available resources. When a referenced\n * resource is not present in a given install, `applyLoadoutProfile()` simply\n * omits it (allow-lists are permissive intersections with inventory), so\n * profiles degrade gracefully on minimal installs.\n */\nexport const DOMAIN_PROFILES: Readonly<Record<string, DomainProfile>> = {\n\t\"frontend-ui\": {\n\t\tschemaVersion: \"omk.loadout.v1\",\n\t\tid: \"frontend-ui\",\n\t\tname: \"frontend-ui\",\n\t\tlabel: \"Frontend & UI\",\n\t\tauthority: \"write-scoped\",\n\t\ttools: WRITE_TOOLS,\n\t\tskills: gate(\"skill\", [\n\t\t\t\"frontend-design\",\n\t\t\t\"frontend-ui-engineering\",\n\t\t\t\"frontend-patterns\",\n\t\t\t\"baseline-ui\",\n\t\t\t\"impeccable\",\n\t\t\t\"shape\",\n\t\t\t\"make-interfaces-feel-better\",\n\t\t\t\"transitions-dev\",\n\t\t\t\"animate\",\n\t\t\t\"polish\",\n\t\t\t\"layout\",\n\t\t\t\"typeset\",\n\t\t\t\"colorize\",\n\t\t\t\"oklch-skill\",\n\t\t\t\"high-end-visual-design\",\n\t\t\t\"minimalist-ui\",\n\t\t\t\"design-taste-frontend\",\n\t\t\t\"redesign-existing-projects\",\n\t\t\t\"web-design-guidelines\",\n\t\t\t\"fixing-accessibility\",\n\t\t\t\"contrast-checker\",\n\t\t\t\"use-of-color\",\n\t\t\t\"fixing-motion-performance\",\n\t\t\t\"12-principles-of-animation\",\n\t\t\t\"to-spring-or-not-to-spring\",\n\t\t\t\"mastering-animate-presence\",\n\t\t\t\"pseudo-elements\",\n\t\t\t\"shadcn\",\n\t\t\t\"next-best-practices\",\n\t\t\t\"next-cache-components\",\n\t\t\t\"vercel-react-best-practices\",\n\t\t\t\"vercel-composition-patterns\",\n\t\t\t\"vue-best-practices\",\n\t\t\t\"vue\",\n\t\t\t\"svelte-code-writer\",\n\t\t\t\"react-pdf\",\n\t\t\t\"remotion-best-practices\",\n\t\t\t\"web-quality-audit\",\n\t\t\t\"audit-and-fix\",\n\t\t\t\"browser-qa\",\n\t\t\t\"webapp-testing\",\n\t\t\t\"e2e-testing\",\n\t\t\t\"playwright-cli\",\n\t\t\t\"image-to-code\",\n\t\t\t\"visual-ralph\",\n\t\t\t\"visual-regression\",\n\t\t\t\"visual-diff\",\n\t\t\t\"gstack-design-review\",\n\t\t\t\"gstack-design-html\",\n\t\t\t\"gstack-design-shotgun\",\n\t\t\t\"clone-website\",\n\t\t\t\"ui-design-brain\",\n\t\t\t\"interface-design\",\n\t\t\t\"emil-design-eng\",\n\t\t]),\n\t\tmcp: gate(\"mcp\", [\"chrome-devtools\", \"playwright\", \"filesystem\", \"context7\"]),\n\t\thooks: gate(\"hook\", [\n\t\t\t\"typecheck-after-edit\",\n\t\t\t\"pre-shell-guard\",\n\t\t\t\"protect-secrets\",\n\t\t\t\"component-spec-before-build\",\n\t\t\t\"visual-diff-after-edit\",\n\t\t\t\"bounded-evidence\",\n\t\t]),\n\t\tcommands: commands(\"scoped-shell\"),\n\t\ttriggers: [\n\t\t\t{ kind: \"keyword\", pattern: \"ui\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"frontend\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"component\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"컴포넌트\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"디자인\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"css\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"tailwind\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"responsive\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"layout\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"design\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"accessibility\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"a11y\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"animation\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"pixel-perfect\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"landing page\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"redesign\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"button\", weight: 2 },\n\t\t\t{ kind: \"keyword\", pattern: \"modal\", weight: 2 },\n\t\t\t{ kind: \"keyword\", pattern: \"shadcn\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"clone\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"website clone\", weight: 7 },\n\t\t\t{ kind: \"keyword\", pattern: \"clone website\", weight: 7 },\n\t\t\t{ kind: \"keyword\", pattern: \"rebuild website\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"recreate website\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"pixel-perfect clone\", weight: 8 },\n\t\t\t{ kind: \"keyword\", pattern: \"visual diff\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"design tokens\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"component spec\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"getcomputedstyle\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"reconnaissance\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"클론\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"스크린샷\", weight: 4 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(react|vue|svelte|next\\\\.?js|nuxt)\\\\b\", weight: 4 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(tailwind|css|styled|emotion|radix)\\\\b\", weight: 4 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(visual qa|responsive sweep|interaction sweep|computed styles?)\\\\b\", weight: 6 },\n\t\t\t{ kind: \"extension\", pattern: \".vue\", weight: 6 },\n\t\t\t{ kind: \"extension\", pattern: \".tsx\", weight: 4 },\n\t\t\t{ kind: \"extension\", pattern: \".jsx\", weight: 4 },\n\t\t\t{ kind: \"extension\", pattern: \".css\", weight: 5 },\n\t\t\t{ kind: \"path\", pattern: \"components/\", weight: 4 },\n\t\t\t{ kind: \"path\", pattern: \"app/page\", weight: 3 },\n\t\t],\n\t\troutingPrompt: `DOMAIN: Frontend & UI. You are operating in a frontend/UI capability lane.\nPrioritize visual craft, correct component composition, and accessibility.\n\nSEQUENCE:\n1. Read the target component(s)/page(s) in full before editing. Do not edit blind from search snippets.\n2. Identify the design system in use (Tailwind v4 / shadcn/ui / CSS modules / vanilla). Match it exactly; never introduce a second system. Use context7 for current framework/library docs before changing unfamiliar APIs.\n3. Website clone / visual QA work follows the ai-website-cloner-template gate contract:\n Reconnaissance -> Design-Token Foundation -> Component Specs -> Asset Gate -> Build Gate -> QA Gate.\n Reconnaissance uses Chrome/Playwright: chrome-devtools first for live inspection, playwright when deterministic multi-viewport screenshots or scripted interaction sweeps are needed. Capture screenshots at responsive sizes 1440/768/390, getComputedStyle design-token samples, assets, page topology, hover/click/scroll/time-driven behavior, and responsive breakpoints.\n4. Design-Token Foundation is sequential: fonts, oklch/shadcn-compatible tokens, global CSS, page-level motion primitives, icon extraction, downloaded assets, and typed content structures. Do not dispatch component builders until the foundation exists.\n5. Component Specs are contracts: component-spec-before-build requires a spec artifact before implementation. Specs include exact getComputedStyle values, DOM structure, interaction model, all states, assets, verbatim content, and responsive behavior. Split anything whose builder prompt would exceed ~150 lines.\n6. Asset Gate: real extractable assets are downloaded, named, and referenced before build; no mock assets when source assets are available.\n7. Build Gate: one builder per section or sub-component receives the full spec inline plus screenshot path, target file, imports, breakpoint behavior, and a typecheck/build requirement. Assembly wires sections into page-level layout and behaviors.\n8. QA Gate: visual-diff-after-edit requires side-by-side visual diff artifacts against the reference at 1440/768/390. Test interactions with Chrome/Playwright; run web-quality-audit for perf/a11y/SEO/best-practices and typecheck-after-edit before done.\n9. Evidence must include screenshots, getComputedStyle captures, responsive sizes 1440/768/390, side-by-side visual diff artifacts, Chrome/Playwright command/tool results, changed files, and known discrepancies.\n10. Accessibility: run the fixing-accessibility + contrast-checker + use-of-color skills. Every interactive element needs a reachable name, visible focus, and AA contrast.\n11. Motion: prefer the transitions-dev / animate / 12-principles-of-animation skills; gate heavy effects behind fix-motion-performance so animation never blocks the main thread.\n12. Prefer composition over boolean-prop sprawl (vercel-composition-patterns). Keep components small and spec-driven.\n\nHARD RULES: no inline styles when a token/utility exists; oklch tokens for color; mobile-first responsive; real content over placeholders; pixel-match the target first, customize later; no visual claim without bounded screenshot/diff evidence.`,\n\t},\n\n\t\"visual-qa\": {\n\t\tschemaVersion: \"omk.loadout.v1\",\n\t\tid: \"visual-qa\",\n\t\tname: \"visual-qa\",\n\t\tlabel: \"Visual QA & Website Cloning\",\n\t\tauthority: \"write-scoped\",\n\t\ttools: WRITE_TOOLS,\n\t\tskills: gate(\"skill\", [\n\t\t\t\"clone-website\",\n\t\t\t\"browser-qa\",\n\t\t\t\"webapp-testing\",\n\t\t\t\"e2e-testing\",\n\t\t\t\"playwright-cli\",\n\t\t\t\"web-quality-audit\",\n\t\t\t\"audit-and-fix\",\n\t\t\t\"visual-regression\",\n\t\t\t\"visual-diff\",\n\t\t\t\"visual-ralph\",\n\t\t\t\"image-to-code\",\n\t\t\t\"frontend-ui-engineering\",\n\t\t\t\"frontend-design\",\n\t\t\t\"fixing-accessibility\",\n\t\t\t\"contrast-checker\",\n\t\t\t\"use-of-color\",\n\t\t\t\"fix-motion-performance\",\n\t\t]),\n\t\tmcp: gate(\"mcp\", [\"chrome-devtools\", \"playwright\", \"filesystem\", \"context7\"]),\n\t\thooks: gate(\"hook\", [\n\t\t\t\"component-spec-before-build\",\n\t\t\t\"visual-diff-after-edit\",\n\t\t\t\"typecheck-after-edit\",\n\t\t\t\"pre-shell-guard\",\n\t\t\t\"protect-secrets\",\n\t\t\t\"bounded-evidence\",\n\t\t\t\"stop-verify\",\n\t\t]),\n\t\tcommands: commands(\"scoped-shell\"),\n\t\ttriggers: [\n\t\t\t{ kind: \"keyword\", pattern: \"visual qa\", weight: 8 },\n\t\t\t{ kind: \"keyword\", pattern: \"visual diff\", weight: 8 },\n\t\t\t{ kind: \"keyword\", pattern: \"screenshot diff\", weight: 8 },\n\t\t\t{ kind: \"keyword\", pattern: \"website clone\", weight: 8 },\n\t\t\t{ kind: \"keyword\", pattern: \"clone website\", weight: 8 },\n\t\t\t{ kind: \"keyword\", pattern: \"pixel-perfect clone\", weight: 9 },\n\t\t\t{ kind: \"keyword\", pattern: \"responsive sweep\", weight: 7 },\n\t\t\t{ kind: \"keyword\", pattern: \"interaction sweep\", weight: 7 },\n\t\t\t{ kind: \"keyword\", pattern: \"component spec\", weight: 7 },\n\t\t\t{ kind: \"keyword\", pattern: \"getcomputedstyle\", weight: 7 },\n\t\t\t{ kind: \"keyword\", pattern: \"design tokens\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"assembly qa\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"reconnaissance\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"클론\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"스크린샷\", weight: 5 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(pixel[ -]?perfect|visual regression|viewport sweep)\\\\b\", weight: 7 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(recreate|rebuild|reverse-engineer)\\\\b.*\\\\b(website|page|site)\\\\b\", weight: 7 },\n\t\t],\n\t\troutingPrompt: `DOMAIN: Visual QA & Website Cloning. You are operating in a browser-driven UI reconstruction and verification lane.\nThis domain carries the ai-website-cloner-template workflow inside OMK loadouts without copying its project scaffold.\nPipeline: Reconnaissance -> Design-Token Foundation -> Component Specs -> Asset Gate -> Build Gate -> QA Gate.\n\nSEQUENCE:\n1. Pre-flight: browser automation is required. Prefer Chrome/Playwright: chrome-devtools for live inspection, playwright for deterministic screenshot, viewport, and interaction replay. Use context7 for current framework and Playwright docs before coding against unfamiliar APIs.\n2. Reconnaissance: capture full-page screenshots at responsive sizes 1440/768/390, getComputedStyle color/type/spacing tokens, assets, page topology, z-index/sticky overlays, scroll/click/hover/time behavior, and responsive breakpoints. Save bounded artifacts and behavior notes.\n3. Design-Token Foundation: update only the target project's existing frontend foundation: fonts, globals, tokens, icon extraction, downloaded assets, typed content structures, and page-level motion primitives. Foundation is sequential.\n4. Component Specs: component-spec-before-build requires one spec per section/sub-component before implementation. Specs include exact getComputedStyle values, DOM structure, all states, interaction model, assets, verbatim text, screenshots, and responsive behavior. Split specs that would create a builder prompt over ~150 lines.\n5. Asset Gate: real extractable assets are downloaded, named, and referenced before build; no mock assets when source assets are available.\n6. Build Gate: dispatch or implement one section/sub-component at a time from its spec; builders receive the full spec inline, not a pointer. Require typecheck-after-edit and the target project's build/smoke command before merging/assembling.\n7. QA Gate: wire sections into page layout, then visual-diff-after-edit requires side-by-side visual diff artifacts against the reference at 1440/768/390. Re-test scroll, hover, click, tab, carousel, modal, and animation behavior with Chrome/Playwright.\n8. Evidence: bounded-evidence records screenshots, getComputedStyle captures, responsive sizes 1440/768/390, side-by-side visual diff paths, Chrome/Playwright command/tool results, changed files, known discrepancies, and any remaining fidelity gaps.\n\nHARD RULES: no guessed CSS values; no builder without a spec artifact; no mock assets when real assets are extractable; no completion claim without visual diff evidence; general Playwright test failures without visual/reconstruction intent stay in qa-testing.`,\n\t},\n\n\t\"korean-document\": {\n\t\tschemaVersion: \"omk.loadout.v1\",\n\t\tid: \"korean-document\",\n\t\tname: \"korean-document\",\n\t\tlabel: \"Korean Document (HWP/HWPX)\",\n\t\tauthority: \"write-scoped\",\n\t\ttools: WRITE_TOOLS,\n\t\tskills: gate(\"skill\", [\n\t\t\t\"rhwp\",\n\t\t\t\"rhwp-edit\",\n\t\t\t\"rhwp-advanced\",\n\t\t\t\"hwp\",\n\t\t\t\"kordoc\",\n\t\t\t\"document-conversion\",\n\t\t\t\"document-extraction\",\n\t\t\t\"pdf\",\n\t\t\t\"react-pdf\",\n\t\t\t\"verification-loop\",\n\t\t]),\n\t\tmcp: gate(\"mcp\", [\"filesystem\", \"context7\", \"chrome-devtools\", \"playwright\"]),\n\t\thooks: gate(\"hook\", [\n\t\t\t\"pre-shell-guard\",\n\t\t\t\"protect-secrets\",\n\t\t\t\"bounded-evidence\",\n\t\t\t\"document-artifact-guard\",\n\t\t\t\"stop-verify\",\n\t\t]),\n\t\tcommands: commands(\"scoped-shell\"),\n\t\ttriggers: [\n\t\t\t{ kind: \"keyword\", pattern: \"hwp\", weight: 7 },\n\t\t\t{ kind: \"keyword\", pattern: \"hwpx\", weight: 8 },\n\t\t\t{ kind: \"keyword\", pattern: \"rhwp\", weight: 8 },\n\t\t\t{ kind: \"keyword\", pattern: \"hancom\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"hangul document\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"한글 문서\", weight: 7 },\n\t\t\t{ kind: \"keyword\", pattern: \"아래아한글\", weight: 7 },\n\t\t\t{ kind: \"keyword\", pattern: \"한컴\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"hwp to markdown\", weight: 8 },\n\t\t\t{ kind: \"keyword\", pattern: \"hwp to pdf\", weight: 8 },\n\t\t\t{ kind: \"keyword\", pattern: \"hwpx to pdf\", weight: 8 },\n\t\t\t{ kind: \"keyword\", pattern: \"svg export\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"document metadata\", weight: 4 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(hwp|hwpx|rhwp|hancom)\\\\b\", weight: 7 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(extract|render|export|metadata)\\\\b.*\\\\b(hwp|hwpx)\\\\b\", weight: 6 },\n\t\t\t{ kind: \"extension\", pattern: \".hwp\", weight: 9 },\n\t\t\t{ kind: \"extension\", pattern: \".hwpx\", weight: 9 },\n\t\t],\n\t\troutingPrompt: `DOMAIN: Korean Document (HWP/HWPX). You are operating in a document extraction/rendering/export lane for Korean Hangul documents.\nUse OMK skills, MCP, and hooks to orchestrate rhwp-style capability without vendoring Rust, WASM, or CLI binaries into the repo.\n\nSEQUENCE:\n1. Detection first: identify HWP/HWPX by extension plus container sniffing. HWP is normally OLE Compound File Binary; HWPX is normally ZIP/XML package content. Never trust extension alone. Record filename, byte size, hash, detected format, and whether the file appears encrypted/protected.\n2. Load current docs with context7 before coding against @rhwp/core, rhwp APIs, pdf rendering packages, or browser automation APIs. Use project-installed tools when present; do not add or vendor rhwp Rust/WASM/CLI artifacts unless the user explicitly requests dependency work.\n3. Extraction path: produce bounded text and markdown outputs, structured metadata, section/page outline, tables, images/assets references, equations/charts notes, and warnings for unsupported controls. Keep private document content bounded: short excerpts, counts, hashes, and output paths rather than dumping whole documents.\n4. Render path: use rhwp-oriented skills for layout/page fidelity. Use chrome-devtools/playwright only to render or capture web/WASM/canvas/SVG views that already exist in the project. Capture SVG/page snapshots and PNG evidence with viewport/page labels.\n5. Export path: support text, markdown, svg, png, and pdf outputs. Prefer native/project export APIs when available; otherwise assemble via browser-rendered SVG/canvas/PDF flows. Always write artifacts to an explicit output directory and report a manifest.\n6. Metadata path: collect page count, section count, dimensions, fonts, embedded images, tables, headers/footers, footnotes/endnotes, equations/charts, fields, protection/encryption status, and conversion warnings.\n7. Evidence: bounded-evidence and document-artifact-guard require an artifact manifest containing input hash, detected format, commands/tools used, output paths, output byte sizes, page/sample counts, warnings, and at most small redacted excerpts. stop-verify must pass before done.\n\nHARD RULES: no vendored rhwp binaries; no fake conversion claims; no full private document dump in chat; output artifacts must be traceable; every render/export claim needs bounded evidence.`,\n\t},\n\n\t\"backend-api\": {\n\t\tschemaVersion: \"omk.loadout.v1\",\n\t\tid: \"backend-api\",\n\t\tname: \"backend-api\",\n\t\tlabel: \"Backend & API\",\n\t\tauthority: \"write-scoped\",\n\t\ttools: WRITE_TOOLS,\n\t\tskills: gate(\"skill\", [\n\t\t\t\"backend-patterns\",\n\t\t\t\"api-design\",\n\t\t\t\"postgres-patterns\",\n\t\t\t\"supabase\",\n\t\t\t\"supabase-postgres-best-practices\",\n\t\t\t\"database-migrations\",\n\t\t\t\"clickhouse-io\",\n\t\t\t\"redis\",\n\t\t\t\"django-patterns\",\n\t\t\t\"django-tdd\",\n\t\t\t\"django-verification\",\n\t\t\t\"laravel-patterns\",\n\t\t\t\"laravel-tdd\",\n\t\t\t\"laravel-verification\",\n\t\t\t\"springboot-patterns\",\n\t\t\t\"springboot-tdd\",\n\t\t\t\"springboot-verification\",\n\t\t\t\"jpa-patterns\",\n\t\t\t\"python-patterns\",\n\t\t\t\"python-testing\",\n\t\t\t\"golang-patterns\",\n\t\t\t\"golang-testing\",\n\t\t\t\"kotlin-patterns\",\n\t\t\t\"rust-patterns\",\n\t\t\t\"java-coding-standards\",\n\t\t\t\"cpp-coding-standards\",\n\t\t\t\"perl-patterns\",\n\t\t\t\"mcp-server-patterns\",\n\t\t\t\"mcp-build-mcp\",\n\t\t\t\"claude-api\",\n\t\t\t\"codex-api\",\n\t\t\t\"security-review\",\n\t\t\t\"verification-loop\",\n\t\t]),\n\t\tmcp: gate(\"mcp\", [\"filesystem\", \"supabase\", \"github\", \"context7\", \"memory\"]),\n\t\thooks: gate(\"hook\", [\"pre-shell-guard\", \"protect-secrets\", \"typecheck-after-edit\", \"npm-audit-summary\"]),\n\t\tcommands: commands(\"scoped-shell\"),\n\t\ttriggers: [\n\t\t\t{ kind: \"keyword\", pattern: \"backend\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"api\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"endpoint\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"database\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"query performance\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"query\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"migration\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"schema\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"server\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"auth\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"postgres\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"supabase\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"sql\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"rest\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"graphql\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"orm\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"django\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"spring\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"laravel\", weight: 6 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(route|controller|service|repository|model|dto)\\\\b\", weight: 3 },\n\t\t\t{ kind: \"extension\", pattern: \".py\", weight: 3 },\n\t\t\t{ kind: \"extension\", pattern: \".go\", weight: 5 },\n\t\t\t{ kind: \"extension\", pattern: \".rs\", weight: 5 },\n\t\t\t{ kind: \"extension\", pattern: \".java\", weight: 5 },\n\t\t\t{ kind: \"extension\", pattern: \".kt\", weight: 5 },\n\t\t\t{ kind: \"path\", pattern: \"api/\", weight: 4 },\n\t\t\t{ kind: \"path\", pattern: \"server/\", weight: 4 },\n\t\t\t{ kind: \"path\", pattern: \"migrations/\", weight: 6 },\n\t\t],\n\t\troutingPrompt: `DOMAIN: Backend & API. You are operating in a backend/API capability lane.\nPrioritize correct data modeling, transactional integrity, and idiomatic framework patterns.\n\nSEQUENCE:\n1. Read the affected route/controller/service/repo and the schema in full first.\n2. For data changes: prefer the database-migrations skill (additive + backfill + expand/contract); never destructive in a single step. Validate with the framework verification skill (django-verification / laravel-verification / springboot-verification).\n3. Query work: apply postgres-patterns / supabase-postgres-best-practices (indexes, EXPLAIN, RLS). ClickHouse analytics use clickhouse-io.\n4. API shape: api-design skill for resource naming, status codes, pagination, error envelopes, versioning.\n5. Integrating LLMs: claude-api / codex-api skills for correct model ids, streaming, tool use, caching. Building an MCP server: mcp-server-patterns + mcp-build-mcp.\n6. Language idiom: use the matching *-patterns skill (python/golang/rust/kotlin/perl/cpp). Type-strict, no \\`any\\`.\n7. Security baseline: run security-review before claiming done; secrets never logged (protect-secrets hook enforces).\n\nHARD RULES: parameterized queries only; migrations are reversible; no silent catch-and-swallow; new endpoints get the matching framework test (django-tdd / laravel-tdd / springboot-tdd).`,\n\t},\n\n\t\"data-science\": {\n\t\tschemaVersion: \"omk.loadout.v1\",\n\t\tid: \"data-science\",\n\t\tname: \"data-science\",\n\t\tlabel: \"Data Science & Analysis\",\n\t\tauthority: \"execute-tests\",\n\t\ttools: TEST_TOOLS,\n\t\tskills: gate(\"skill\", [\n\t\t\t\"exploratory-data-analysis\",\n\t\t\t\"polars\",\n\t\t\t\"dask\",\n\t\t\t\"matplotlib\",\n\t\t\t\"seaborn\",\n\t\t\t\"plotly\",\n\t\t\t\"scientific-visualization\",\n\t\t\t\"scikit-learn\",\n\t\t\t\"pytorch-lightning\",\n\t\t\t\"transformers\",\n\t\t\t\"networkx\",\n\t\t\t\"pymc\",\n\t\t\t\"statsmodels\",\n\t\t\t\"sympy\",\n\t\t\t\"statistical-analysis\",\n\t\t\t\"shap\",\n\t\t\t\"rdkit\",\n\t\t\t\"biopython\",\n\t\t\t\"scanpy\",\n\t\t\t\"astropy\",\n\t\t\t\"qiskit\",\n\t\t\t\"deepchem\",\n\t\t\t\"molecular-dynamics\",\n\t\t\t\"hypothesis-generation\",\n\t\t\t\"literature-review\",\n\t\t]),\n\t\tmcp: gate(\"mcp\", [\"filesystem\", \"memory\", \"context7\"]),\n\t\thooks: gate(\"hook\", [\"pre-shell-guard\", \"protect-secrets\", \"stop-verify\"]),\n\t\tcommands: commands(\"tests-only\"),\n\t\ttriggers: [\n\t\t\t{ kind: \"keyword\", pattern: \"data\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"analysis\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"dataframe\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"model\", weight: 2 },\n\t\t\t{ kind: \"keyword\", pattern: \"training\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"dataset\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"vector search\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"statistics\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"regression\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"classification\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"visualization\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"plot\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"notebook\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"pandas\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"polars\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"numpy\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"pytorch\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"tensorflow\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"scikit\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"bayesian\", weight: 5 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(eda|ml|machine learning|inference|embeddings?)\\\\b\", weight: 5 },\n\t\t\t{ kind: \"extension\", pattern: \".ipynb\", weight: 7 },\n\t\t\t{ kind: \"path\", pattern: \"notebooks/\", weight: 6 },\n\t\t\t{ kind: \"path\", pattern: \"models/\", weight: 3 },\n\t\t],\n\t\troutingPrompt: `DOMAIN: Data Science & Analysis. You are operating in an analysis/modeling capability lane.\nPrioritize correct statistical reasoning, reproducibility, and honest uncertainty.\n\nSEQUENCE:\n1. Start with exploratory-data-analysis: shape, dtypes, missingness, distributions, basic sanity checks — never skip straight to modeling.\n2. Pick the dataframe engine by size: polars for in-memory speed, dask for larger-than-RAM. Do not reach for pandas by reflex.\n3. Visualization: seaborn/plotly for exploration, scientific-visualization for publication figures (colorblind-safe, correct error bars, journal styling).\n4. Modeling: scikit-learn for classical, pytorch-lightning for DL. State assumptions, then validate with statistical-analysis (right test, assumption checks, power). Bayesian work uses pymc; report with statsmodels.\n5. Interpretability: shap for global/local explanations; do not ship a black box without them.\n6. Reproducibility: fix seeds, pin versions, commit the exact data hash. Prefer scripts/functions over ad-hoc notebook cells for anything reused.\n\nHARD RULES: report effect size + CI, not just p-values; never train on test; never impute silently; notebooks are for exploration, modules are for production.`,\n\t},\n\n\t\"security-audit\": {\n\t\tschemaVersion: \"omk.loadout.v1\",\n\t\tid: \"security-audit\",\n\t\tname: \"security-audit\",\n\t\tlabel: \"Security Audit\",\n\t\tauthority: \"security-review\",\n\t\ttools: SECURITY_TOOLS,\n\t\tskills: gate(\"skill\", [\n\t\t\t\"security-review\",\n\t\t\t\"security-scan\",\n\t\t\t\"differential-review\",\n\t\t\t\"semgrep\",\n\t\t\t\"codeql\",\n\t\t\t\"sarif-parsing\",\n\t\t\t\"semgrep-rule-creator\",\n\t\t\t\"sharp-edges\",\n\t\t\t\"supply-chain-risk-auditor\",\n\t\t\t\"spec-to-code-compliance\",\n\t\t\t\"entry-point-analyzer\",\n\t\t\t\"audit-context-building\",\n\t\t\t\"fp-check\",\n\t\t\t\"constant-time-analysis\",\n\t\t\t\"zeroize-audit\",\n\t\t\t\"agentic-actions-auditor\",\n\t\t\t\"insecure-defaults\",\n\t\t\t\"property-based-testing\",\n\t\t\t\"variant-analysis\",\n\t\t\t\"yara-rule-authoring\",\n\t\t\t\"code-maturity-assessor\",\n\t\t\t\"django-security\",\n\t\t\t\"springboot-security\",\n\t\t]),\n\t\tmcp: gate(\"mcp\", [\"filesystem\", \"github\", \"memory\"]),\n\t\thooks: gate(\"hook\", [\"pre-shell-guard\", \"protect-secrets\", \"stop-verify\", \"subagent-stop-audit\"]),\n\t\tcommands: commands(\"read-only-shell\"),\n\t\ttriggers: [\n\t\t\t{ kind: \"keyword\", pattern: \"security\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"vulnerability\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"vuln\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"exploit\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"audit\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"cve\", weight: 7 },\n\t\t\t{ kind: \"keyword\", pattern: \"xss\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"csrf\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"injection\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"secret\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"leak\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"crypto\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"hardening\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"threat model\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"threat\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"penetration\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"malware\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"supply chain\", weight: 6 },\n\t\t\t{ kind: \"regex\", pattern: \"sql[ -]?inj|command[ -]?inj|path[ -]?traversal\", weight: 7 },\n\t\t\t{ kind: \"regex\", pattern: \"cve-\\\\d{4}-\\\\d+\", weight: 8 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(authz|rbac|privilege escalation|idor)\\\\b\", weight: 6 },\n\t\t],\n\t\troutingPrompt: `DOMAIN: Security Audit. You are operating in a security-review lane (read-biased, evidence-bound).\nPrioritize true-positive findings with proof, exact locations, and remediation.\n\nSEQUENCE:\n1. Scope the audit: read entry-point-analyzer output (externally callable, state-changing surfaces) before reading internals.\n2. Build deep context with audit-context-building; shallow reads miss cross-file data flow.\n3. Run static analysis: semgrep (custom rules via semgrep-rule-creator) + codeql for inter-procedural taint. Parse results with sarif-parsing and dedupe.\n4. Verify every candidate with fp-check — return TRUE/FALSE POSITIVE with evidence, never a bare \"might be vulnerable\".\n5. Differential scope: differential-review on the diff/PR, not just the whole tree, to catch regressions.\n6. Domain lenses: constant-time-analysis + zeroize-audit for crypto; supply-chain-risk-auditor for deps; agentic-actions-auditor for CI/LLM-agent workflows; sharp-edges + insecure-defaults for misuse-prone APIs.\n7. After fixes: variant-analysis to find the same bug class elsewhere.\n\nHARD RULES: read-only by default; every finding needs file:line + exploit sketch + fix; rank by real exploitability not CWE count; secrets are reported, never printed (protect-secrets hook).`,\n\t},\n\n\t\"devops-infra\": {\n\t\tschemaVersion: \"omk.loadout.v1\",\n\t\tid: \"devops-infra\",\n\t\tname: \"devops-infra\",\n\t\tlabel: \"DevOps & Infrastructure\",\n\t\tauthority: \"write-scoped\",\n\t\ttools: WRITE_TOOLS,\n\t\tskills: gate(\"skill\", [\n\t\t\t\"deployment-patterns\",\n\t\t\t\"docker-patterns\",\n\t\t\t\"database-migrations\",\n\t\t\t\"continuous-agent-loop\",\n\t\t\t\"enterprise-agent-ops\",\n\t\t\t\"plankton-code-quality\",\n\t\t\t\"verification-loop\",\n\t\t\t\"deploy-to-vercel\",\n\t\t\t\"vercel-cli-with-tokens\",\n\t\t\t\"e2e-testing\",\n\t\t\t\"clickhouse-io\",\n\t\t\t\"security-review\",\n\t\t]),\n\t\tmcp: gate(\"mcp\", [\"github\", \"filesystem\", \"powershell-admin\"]),\n\t\thooks: gate(\"hook\", [\"npm-audit-summary\", \"pre-shell-guard\", \"protect-secrets\", \"stop-verify\"]),\n\t\tcommands: commands(\"scoped-shell\"),\n\t\ttriggers: [\n\t\t\t{ kind: \"keyword\", pattern: \"deploy\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"배포\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"deployment\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"docker\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"container\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"kubernetes\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"k8s\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"ci\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"pipeline\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"infrastructure\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"terraform\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"vercel\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"build\", weight: 2 },\n\t\t\t{ kind: \"keyword\", pattern: \"release\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"observability\", weight: 5 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(github actions|workflow|runner|helm|istio|nginx)\\\\b\", weight: 5 },\n\t\t\t{ kind: \"regex\", pattern: \"docker-?compose|\\\\.ya?ml\", weight: 3 },\n\t\t\t{ kind: \"path\", pattern: \"Dockerfile\", weight: 7 },\n\t\t\t{ kind: \"path\", pattern: \".github/workflows/\", weight: 7 },\n\t\t\t{ kind: \"path\", pattern: \"docker-compose\", weight: 7 },\n\t\t\t{ kind: \"extension\", pattern: \".tf\", weight: 7 },\n\t\t],\n\t\troutingPrompt: `DOMAIN: DevOps & Infrastructure. You are operating in a delivery/infra capability lane.\nPrioritize reproducible, reversible, observable changes.\n\nSEQUENCE:\n1. Read the Dockerfile / compose / workflow / IaC in full before editing.\n2. Containers: docker-patterns — pin base images, non-root user, multi-stage build, .dockerignore, healthchecks, least network egress.\n3. CI/CD: deployment-patterns for staging->prod, rollback strategy, secret handling. GitHub Actions touching LLM/agent steps must pass agentic-actions-auditor (you are in security-adjacent territory).\n4. Deploys: deploy-to-vercel / vercel-cli-with-tokens for Vercel; verification-loop after every deploy (health, smoke, rollback trigger).\n5. Database ops: database-migrations (expand/contract, zero-downtime) — coordinate with backend-api lane if schema semantics are unclear.\n6. Supply chain: npm-audit-summary hook surfaces dep risk; do not add lifecycle-script deps silently.\n\nHARD RULES: every deploy is reversible within one command; never bake secrets into images; lockfile/manifest changes are reviewed code; prefer idempotent steps. Read-only infra inspection uses read-only-shell; mutations stay scoped-shell.`,\n\t},\n\n\tresearch: {\n\t\tschemaVersion: \"omk.loadout.v1\",\n\t\tid: \"research\",\n\t\tname: \"research\",\n\t\tlabel: \"Research & Investigation\",\n\t\tauthority: \"read-only\",\n\t\ttools: READ_TOOLS,\n\t\tskills: gate(\"skill\", [\n\t\t\t\"deep-research\",\n\t\t\t\"literature-review\",\n\t\t\t\"market-research\",\n\t\t\t\"exa-search\",\n\t\t\t\"best-practice-research\",\n\t\t\t\"arxiv-database\",\n\t\t\t\"pubmed-database\",\n\t\t\t\"scientific-brainstorming\",\n\t\t\t\"hypothesis-generation\",\n\t\t\t\"scientific-critical-thinking\",\n\t\t\t\"competitive-analysis\",\n\t\t\t\"content-strategy\",\n\t\t\t\"analyze\",\n\t\t]),\n\t\tmcp: gate(\"mcp\", [\"firecrawl\", \"fetch\", \"github\", \"memory\", \"obsidian\"]),\n\t\thooks: gate(\"hook\", [\"session-context\", \"precompact-checkpoint\"]),\n\t\tcommands: commands(\"read-only-shell\"),\n\t\ttriggers: [\n\t\t\t{ kind: \"keyword\", pattern: \"research\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"investigate\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"literature\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"survey\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"compare\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"market\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"competitor\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"paper\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"arxiv\", weight: 7 },\n\t\t\t{ kind: \"keyword\", pattern: \"pubmed\", weight: 7 },\n\t\t\t{ kind: \"keyword\", pattern: \"summarize\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"sources\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"cite\", weight: 4 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(state of the art|sota|benchmark|related work)\\\\b\", weight: 5 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(find out|look up|what does|why does)\\\\b\", weight: 2 },\n\t\t],\n\t\troutingPrompt: `DOMAIN: Research & Investigation. You are operating in a read-only research lane.\nPrioritize sourced, cited, reproducible findings over speculation.\n\nSEQUENCE:\n1. Decompose the question into sub-queries. Gather with the right source: arxiv-database / pubmed-database for academic, exa-search + firecrawl + fetch for web/github, market-research for commercial intel.\n2. literature-review for systematic synthesis (PRISMA where applicable, verified citations, dedupe).\n3. Evaluate evidence quality with scientific-critical-thinking (GRADE / risk of bias) before trusting a source.\n4. Hypothesis generation when the goal is ideation; competitive-analysis when positioning a product.\n5. Persist durable findings to memory + obsidian with source URLs and access dates; never store secrets or private PII.\n\nHARD RULES: every claim has a citation; distinguish evidence vs inference explicitly; prefer primary/official sources; flag when evidence is thin rather than confabulating. Read-only: do not modify the codebase.`,\n\t},\n\n\tmobile: {\n\t\tschemaVersion: \"omk.loadout.v1\",\n\t\tid: \"mobile\",\n\t\tname: \"mobile\",\n\t\tlabel: \"Mobile (iOS / Android / KMP)\",\n\t\tauthority: \"write-scoped\",\n\t\ttools: WRITE_TOOLS,\n\t\tskills: gate(\"skill\", [\n\t\t\t\"swiftui-patterns\",\n\t\t\t\"swiftui-ui-patterns\",\n\t\t\t\"swift-actor-persistence\",\n\t\t\t\"swift-concurrency-6-2\",\n\t\t\t\"swift-protocol-di-testing\",\n\t\t\t\"foundation-models-on-device\",\n\t\t\t\"liquid-glass-design\",\n\t\t\t\"android-clean-architecture\",\n\t\t\t\"compose-multiplatform-patterns\",\n\t\t\t\"kotlin-patterns\",\n\t\t\t\"kotlin-coroutines-flows\",\n\t\t\t\"kotlin-testing\",\n\t\t\t\"kotlin-exposed-patterns\",\n\t\t\t\"kotlin-ktor-patterns\",\n\t\t\t\"react-native-best-practices\",\n\t\t\t\"accessibility-audit\",\n\t\t]),\n\t\tmcp: gate(\"mcp\", [\"filesystem\", \"chrome-devtools\", \"context7\"]),\n\t\thooks: gate(\"hook\", [\"typecheck-after-edit\", \"pre-shell-guard\", \"protect-secrets\"]),\n\t\tcommands: commands(\"scoped-shell\"),\n\t\ttriggers: [\n\t\t\t{ kind: \"keyword\", pattern: \"ios\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"android\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"mobile\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"swift\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"swiftui\", weight: 7 },\n\t\t\t{ kind: \"keyword\", pattern: \"kotlin\", weight: 6 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(jetpack compose|compose multiplatform|android compose)\\\\b\", weight: 7 },\n\t\t\t{ kind: \"keyword\", pattern: \"kmp\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"react native\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"expo\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"flutter\", weight: 6 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(viewcontroller|uiview|jetpack|gradle|xcode)\\\\b\", weight: 6 },\n\t\t\t{ kind: \"extension\", pattern: \".swift\", weight: 8 },\n\t\t\t{ kind: \"extension\", pattern: \".kt\", weight: 7 },\n\t\t\t{ kind: \"path\", pattern: \"android/app\", weight: 6 },\n\t\t\t{ kind: \"path\", pattern: \"ios/\", weight: 6 },\n\t\t],\n\t\troutingPrompt: `DOMAIN: Mobile (iOS / Android / KMP). You are operating in a mobile capability lane.\nPrioritize platform idiom, main-thread performance, and on-device correctness.\n\nSEQUENCE:\n1. Identify the stack (SwiftUI / UIKit / Jetpack Compose / KMP / React Native / Flutter) and follow its idioms strictly.\n2. iOS: swiftui-patterns + swift-concurrency-6-2 (structured concurrency, actor isolation). Persistence via swift-actor-persistence; testing via swift-protocol-di-testing. Use liquid-glass-design + foundation-models-on-device for iOS 26 features.\n3. Android/KMP: android-clean-architecture (module boundaries, UseCase/Repository), compose-multiplatform-patterns, kotlin-coroutines-flows for async. Verify with kotlin-testing.\n4. Performance: react-native-best-practices for RN (Hermes, FlashList, JS-thread); profile jank, never block the main thread, hoist heavy work off-thread.\n5. Accessibility: accessibility-audit — Dynamic Type / VoiceOver / TalkBack, hit-target sizes, labeled controls.\n6. Build gate: typecheck-after-edit must pass; prefer the platform's native test runner over ad-hoc scripts.\n\nHARD RULES: no main-thread blocking; respect safe areas / insets / notches; lifecycle-aware state; pin toolchain versions (gradle/xcode) explicitly.`,\n\t},\n\n\t\"docs-writing\": {\n\t\tschemaVersion: \"omk.loadout.v1\",\n\t\tid: \"docs-writing\",\n\t\tname: \"docs-writing\",\n\t\tlabel: \"Docs & Technical Writing\",\n\t\tauthority: \"write-scoped\",\n\t\ttools: WRITE_TOOLS,\n\t\tskills: gate(\"skill\", [\n\t\t\t\"article-writing\",\n\t\t\t\"doc-coauthoring\",\n\t\t\t\"write-concisely\",\n\t\t\t\"ux-writing\",\n\t\t\t\"copywriting\",\n\t\t\t\"copy-editing\",\n\t\t\t\"scientific-writing\",\n\t\t\t\"latex-posters\",\n\t\t\t\"academic-pptx\",\n\t\t\t\"slides-grab\",\n\t\t\t\"frontend-slides\",\n\t\t\t\"presentation-deck\",\n\t\t\t\"case-study\",\n\t\t\t\"design-rationale\",\n\t\t\t\"internal-comms\",\n\t\t\t\"docs-update-docs\",\n\t\t\t\"brand-voice\",\n\t\t\t\"brand-guidelines\",\n\t\t\t\"theme-factory\",\n\t\t\t\"web-asset-generator\",\n\t\t]),\n\t\tmcp: gate(\"mcp\", [\"filesystem\", \"memory\", \"obsidian\"]),\n\t\thooks: gate(\"hook\", [\"session-context\", \"precompact-checkpoint\", \"pre-shell-guard\"]),\n\t\tcommands: commands(\"scoped-shell\"),\n\t\ttriggers: [\n\t\t\t{ kind: \"keyword\", pattern: \"documentation\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"문서\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"docs\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"readme\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"write\", weight: 2 },\n\t\t\t{ kind: \"keyword\", pattern: \"article\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"blog\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"guide\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"tutorial\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"튜토리얼\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"작성\", weight: 2 },\n\t\t\t{ kind: \"keyword\", pattern: \"slides\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"슬라이드\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"발표\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"presentation\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"changelog\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"microcopy\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"manuscript\", weight: 5 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(prose|rewrite|edit copy|proofread)\\\\b\", weight: 5 },\n\t\t\t{ kind: \"extension\", pattern: \".md\", weight: 4 },\n\t\t\t{ kind: \"extension\", pattern: \".mdx\", weight: 4 },\n\t\t\t{ kind: \"extension\", pattern: \".tex\", weight: 6 },\n\t\t\t{ kind: \"extension\", pattern: \".pptx\", weight: 6 },\n\t\t\t{ kind: \"path\", pattern: \"docs/\", weight: 5 },\n\t\t\t{ kind: \"path\", pattern: \"CHANGELOG\", weight: 6 },\n\t\t],\n\t\troutingPrompt: `DOMAIN: Docs & Technical Writing. You are operating in a writing capability lane.\nPrioritize clarity, accuracy, and the reader's time.\n\nSEQUENCE:\n1. Audience first: decide reader level, then choose register. Technical docs use write-concisely (cut hedging, active voice, concrete nouns).\n2. Collaborative/long docs: doc-coauthoring workflow (transfer context, iterate, verify it works for a reader).\n3. Prose type: article-writing for long-form; ux-writing for in-product microcopy/error/empty states; copywriting for marketing; internal-comms for status/incident/announcement.\n4. Academic: scientific-writing (IMRAD, citations, CONSORT/STROBE) + latex-posters; academic-pptx governs talk content/structure.\n5. Slides: slides-grab (plan->design->export) or frontend-slides for web decks; presentation-deck for stakeholder framing.\n6. Sync: docs-update-docs keeps READMEs/JSDoc/API docs current with code changes; keep CHANGELOG entries under [Unreleased].\n\nHARD RULES: no marketing fluff in technical docs; every code example is runnable; screenshots reflect current UI; brand-voice/brand-guidelines for tone consistency.`,\n\t},\n\n\t\"qa-testing\": {\n\t\tschemaVersion: \"omk.loadout.v1\",\n\t\tid: \"qa-testing\",\n\t\tname: \"qa-testing\",\n\t\tlabel: \"QA & Testing\",\n\t\tauthority: \"execute-tests\",\n\t\ttools: TEST_TOOLS,\n\t\tskills: gate(\"skill\", [\n\t\t\t\"ai-regression-testing\",\n\t\t\t\"e2e-testing\",\n\t\t\t\"tdd-workflow\",\n\t\t\t\"test-driven-development\",\n\t\t\t\"tdd-fix-tests\",\n\t\t\t\"tdd-write-tests\",\n\t\t\t\"react-doctor\",\n\t\t\t\"web-quality-audit\",\n\t\t\t\"audit-and-fix\",\n\t\t\t\"browser-qa\",\n\t\t\t\"webapp-testing\",\n\t\t\t\"verification-before-completion\",\n\t\t\t\"verification-loop\",\n\t\t\t\"playwright-cli\",\n\t\t\t\"gstack-qa\",\n\t\t\t\"gstack-qa-only\",\n\t\t]),\n\t\tmcp: gate(\"mcp\", [\"playwright\", \"chrome-devtools\", \"filesystem\"]),\n\t\thooks: gate(\"hook\", [\"stop-verify\", \"pre-shell-guard\", \"protect-secrets\"]),\n\t\tcommands: commands(\"tests-only\"),\n\t\ttriggers: [\n\t\t\t{ kind: \"keyword\", pattern: \"test\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"testing\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"qa\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"bug\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"버그\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"테스트\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"regression\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"e2e\", weight: 7 },\n\t\t\t{ kind: \"keyword\", pattern: \"playwright\", weight: 7 },\n\t\t\t{ kind: \"keyword\", pattern: \"vitest\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"jest\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"pytest\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"coverage\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"fix test\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"failing\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"flaky\", weight: 6 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(unit tests?|integration tests?|snapshot|mock|fixture)\\\\b\", weight: 6 },\n\t\t\t{ kind: \"path\", pattern: \"test/\", weight: 5 },\n\t\t\t{ kind: \"path\", pattern: \"tests/\", weight: 5 },\n\t\t\t{ kind: \"path\", pattern: \".test.\", weight: 5 },\n\t\t\t{ kind: \"path\", pattern: \".spec.\", weight: 5 },\n\t\t],\n\t\troutingPrompt: `DOMAIN: QA & Testing. You are operating in an execute-tests lane.\nPrioritize real evidence (green runs, captured output) over claims.\n\nSEQUENCE:\n1. Reproduce first: never fix a test you have not seen fail. Capture the exact failure output.\n2. New behavior: test-driven-development / tdd-workflow (red->green->refactor). tdd-write-tests for coverage of uncommitted changes; tdd-fix-tests to make the suite green after a change.\n3. Web QA: browser-qa / webapp-testing with playwright + chrome-devtools MCP (navigate, interact, screenshot, assert). e2e-testing for Page Object Model + CI wiring + flake strategy.\n4. React: react-doctor (lint/a11y/bundle/arch + regression check) before declaring healthy.\n5. Regression safety: ai-regression-testing for sandbox-mode API tests without DB deps; verification-before-completion requires a passing command before any \"done\" claim.\n6. Flakiness: quarantine or fix, never disable silently; record the root cause.\n\nHARD RULES: tests-only command mode (no arbitrary shell); every fix is re-verified by a green run; coverage gaps are reported, not hidden; flaky tests are rooted, not retried blindly.`,\n\t},\n\n\t\"ai-agent-ops\": {\n\t\tschemaVersion: \"omk.loadout.v1\",\n\t\tid: \"ai-agent-ops\",\n\t\tname: \"ai-agent-ops\",\n\t\tlabel: \"AI Agent Engineering & Ops\",\n\t\tauthority: \"write-scoped\",\n\t\ttools: WRITE_TOOLS,\n\t\tskills: gate(\"skill\", [\n\t\t\t\"agent-harness-construction\",\n\t\t\t\"agentic-engineering\",\n\t\t\t\"ai-first-engineering\",\n\t\t\t\"autonomous-loops\",\n\t\t\t\"continuous-agent-loop\",\n\t\t\t\"enterprise-agent-ops\",\n\t\t\t\"eval-harness\",\n\t\t\t\"agent-self-evaluation\",\n\t\t\t\"agent-eval\",\n\t\t\t\"mcp-builder\",\n\t\t\t\"mcp-server-patterns\",\n\t\t\t\"prompt-optimizer\",\n\t\t\t\"context-engineering\",\n\t\t\t\"create-agent\",\n\t\t\t\"create-skill\",\n\t\t\t\"create-hook\",\n\t\t\t\"iterative-retrieval\",\n\t\t\t\"nanoclaw-repl\",\n\t\t\t\"blueprint\",\n\t\t\t\"ralphinho-rfc-pipeline\",\n\t\t\t\"harness\",\n\t\t\t\"subagent-driven-development\",\n\t\t\t\"dispatching-parallel-agents\",\n\t\t]),\n\t\tmcp: gate(\"mcp\", [\"filesystem\", \"memory\", \"github\", \"context7\"]),\n\t\thooks: gate(\"hook\", [\"session-context\", \"precompact-checkpoint\", \"stop-verify\", \"subagent-stop-audit\"]),\n\t\tcommands: commands(\"scoped-shell\"),\n\t\ttriggers: [\n\t\t\t{ kind: \"keyword\", pattern: \"agent\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"mcp\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"prompt\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"skill\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"hook\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"훅\", weight: 4 },\n\t\t\t{ kind: \"keyword\", pattern: \"harness\", weight: 6 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\borchestrat\\\\w*\\\\b\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"eval\", weight: 5 },\n\t\t\t{ kind: \"keyword\", pattern: \"subagent\", weight: 6 },\n\t\t\t{ kind: \"keyword\", pattern: \"tool\", weight: 2 },\n\t\t\t{ kind: \"keyword\", pattern: \"loop\", weight: 3 },\n\t\t\t{ kind: \"keyword\", pattern: \"context engineering\", weight: 6 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(model context protocol|llm agent|multi-?agent|agentic)\\\\b\", weight: 6 },\n\t\t\t{ kind: \"regex\", pattern: \"\\\\b(token budget|context window|compaction|retrieval)\\\\b\", weight: 5 },\n\t\t\t{ kind: \"path\", pattern: \".claude/agents\", weight: 6 },\n\t\t\t{ kind: \"path\", pattern: \".omk/\", weight: 5 },\n\t\t\t{ kind: \"path\", pattern: \"SKILL.md\", weight: 5 },\n\t\t],\n\t\troutingPrompt: `DOMAIN: AI Agent Engineering & Ops. You are operating in an agent-systems capability lane.\nPrioritize eval-driven design, correct context engineering, and safe autonomy.\n\nSEQUENCE:\n1. Frame the system: agentic-engineering (eval-first, decomposition, cost-aware routing) + ai-first-engineering operating model.\n2. Context: context-engineering for prompt/command/skill/sub-agent construction; iterative-retrieval to solve the subagent context problem; prompt-optimizer before shipping prompts (test with a fresh subagent, RED-GREEN-REFACTOR).\n3. Build artifacts: create-agent / create-skill / create-hook for the harness; mcp-builder + mcp-server-patterns for MCP servers (correct tool schemas, Zod, stdio vs HTTP).\n4. Autonomy: autonomous-loops / continuous-agent-loop with quality gates + recovery; enterprise-agent-ops for long-lived workloads (observability, boundaries, lifecycle).\n5. Evaluate: eval-harness + agent-eval + agent-self-evaluation — never ship an agent change without a measured eval delta. nanoclaw-repl for interactive iteration.\n6. Orchestration: harness (team-architecture factory) for multi-agent topology; dispatching-parallel-agents / subagent-driven-development for parallel lanes; ralphinho-rfc-pipeline for DAG + merge queue.\n\nHARD RULES: every agent/skill change has an eval; prompts are versioned and tested, not vibe-edited; MCP servers validate inputs; autonomy is bounded by explicit stop conditions + stop-verify hook.`,\n\t},\n\n\tgeneral: {\n\t\tschemaVersion: \"omk.loadout.v1\",\n\t\tid: \"general\",\n\t\tname: \"general\",\n\t\tlabel: \"General (fallback)\",\n\t\tauthority: \"write-scoped\",\n\t\ttools: WRITE_TOOLS,\n\t\tskills: gate(\"skill\", [\n\t\t\t\"coding-standards\",\n\t\t\t\"verification-before-completion\",\n\t\t\t\"systematic-debugging\",\n\t\t\t\"receiving-code-review\",\n\t\t\t\"context-engineering\",\n\t\t\t\"understand-chat\",\n\t\t\t\"brainstorming\",\n\t\t]),\n\t\tmcp: gate(\"mcp\", [\"filesystem\", \"context7\", \"memory\"]),\n\t\thooks: gate(\"hook\", [\"pre-shell-guard\", \"protect-secrets\", \"stop-verify\"]),\n\t\tcommands: commands(\"scoped-shell\"),\n\t\ttriggers: [\n\t\t\t{ kind: \"keyword\", pattern: \"refactor\", weight: 2 },\n\t\t\t{ kind: \"keyword\", pattern: \"fix\", weight: 2 },\n\t\t\t{ kind: \"keyword\", pattern: \"implement\", weight: 2 },\n\t\t\t{ kind: \"keyword\", pattern: \"function\", weight: 1 },\n\t\t],\n\t\troutingPrompt: `DOMAIN: General. No specific domain scored above threshold, so apply broad engineering hygiene.\n\nSEQUENCE:\n1. understand-chat / brainstorming to confirm intent if ambiguous; otherwise read the target in full.\n2. coding-standards for idiom; systematic-debugging for any defect (reproduce -> isolate -> fix -> verify, never guess).\n3. verification-before-completion: run the real check command and show output before claiming done.\n4. receiving-code-review: treat feedback technically, verify before applying.\n\nHARD RULES: read before edit; smallest safe change; verify with evidence; ask one concise question if truly blocked.`,\n\t},\n};\n\n/** Ordered list of non-fallback domain ids (excludes \"general\"). */\nexport const DOMAIN_IDS: readonly string[] = Object.keys(DOMAIN_PROFILES).filter((id) => id !== \"general\");\n\n/** The fallback profile used when no domain clears the confidence threshold. */\nexport const FALLBACK_DOMAIN_ID = \"general\";\n\n/** Look up a domain profile by id. Returns the fallback profile if missing. */\nexport function getDomainProfile(id: string): DomainProfile {\n\treturn DOMAIN_PROFILES[id] ?? DOMAIN_PROFILES[FALLBACK_DOMAIN_ID];\n}\n\n/** Convenience: map domain ids to their loadout profile (for applyLoadoutProfile). */\nexport function domainLoadoutProfiles(): Readonly<Record<string, LoadoutProfile>> {\n\tconst out: Record<string, LoadoutProfile> = {};\n\tfor (const [id, profile] of Object.entries(DOMAIN_PROFILES)) {\n\t\tconst { id: _id, label: _label, triggers: _triggers, routingPrompt: _routingPrompt, ...loadout } = profile;\n\t\tout[id] = loadout;\n\t}\n\treturn out;\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Compile the whole registry once at module load (pure, no I/O). */
|
|
2
|
+
export declare const COMPILED_DOMAIN_REGISTRY: readonly import("./domain-score.ts").CompiledDomain[];
|
|
3
|
+
export declare function inspectDomainRegistry(): readonly {
|
|
4
|
+
id: string;
|
|
5
|
+
triggerCount: number;
|
|
6
|
+
}[];
|
|
7
|
+
//# sourceMappingURL=domain-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-registry.d.ts","sourceRoot":"","sources":["../../src/core/domain-registry.ts"],"names":[],"mappings":"AAGA,qEAAqE;AACrE,eAAO,MAAM,wBAAwB,uDAAiD,CAAC;AAEvF,wBAAgB,qBAAqB,IAAI,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EAAE,CAKvF","sourcesContent":["import { DOMAIN_PROFILES } from \"./domain-loadouts.ts\";\nimport { compileDomains } from \"./domain-score.ts\";\n\n/** Compile the whole registry once at module load (pure, no I/O). */\nexport const COMPILED_DOMAIN_REGISTRY = compileDomains(Object.values(DOMAIN_PROFILES));\n\nexport function inspectDomainRegistry(): readonly { id: string; triggerCount: number }[] {\n\treturn COMPILED_DOMAIN_REGISTRY.map((domain) => ({\n\t\tid: domain.profile.id,\n\t\ttriggerCount: domain.triggers.length,\n\t}));\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DOMAIN_PROFILES } from "./domain-loadouts.js";
|
|
2
|
+
import { compileDomains } from "./domain-score.js";
|
|
3
|
+
/** Compile the whole registry once at module load (pure, no I/O). */
|
|
4
|
+
export const COMPILED_DOMAIN_REGISTRY = compileDomains(Object.values(DOMAIN_PROFILES));
|
|
5
|
+
export function inspectDomainRegistry() {
|
|
6
|
+
return COMPILED_DOMAIN_REGISTRY.map((domain) => ({
|
|
7
|
+
id: domain.profile.id,
|
|
8
|
+
triggerCount: domain.triggers.length,
|
|
9
|
+
}));
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=domain-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-registry.js","sourceRoot":"","sources":["../../src/core/domain-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qEAAqE;AACrE,MAAM,CAAC,MAAM,wBAAwB,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;AAEvF,MAAM,UAAU,qBAAqB,GAAoD;IACxF,OAAO,wBAAwB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChD,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;QACrB,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;KACpC,CAAC,CAAC,CAAC;AAAA,CACJ","sourcesContent":["import { DOMAIN_PROFILES } from \"./domain-loadouts.ts\";\nimport { compileDomains } from \"./domain-score.ts\";\n\n/** Compile the whole registry once at module load (pure, no I/O). */\nexport const COMPILED_DOMAIN_REGISTRY = compileDomains(Object.values(DOMAIN_PROFILES));\n\nexport function inspectDomainRegistry(): readonly { id: string; triggerCount: number }[] {\n\treturn COMPILED_DOMAIN_REGISTRY.map((domain) => ({\n\t\tid: domain.profile.id,\n\t\ttriggerCount: domain.triggers.length,\n\t}));\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { RouteInput, RouteResult } from "./domain-types.ts";
|
|
2
|
+
export { AMBIGUITY_MARGIN, STRONG_THRESHOLD, WEAK_THRESHOLD } from "./domain-confidence.ts";
|
|
3
|
+
export type { DomainScore, RouteConfidence, RouteInput, RouteResult, TriggerKind } from "./domain-types.ts";
|
|
4
|
+
/**
|
|
5
|
+
* Classify a task into a domain.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* routeDomain({ task: "build a login form with tailwind" }).primary.id === "frontend-ui"
|
|
9
|
+
*/
|
|
10
|
+
export declare function routeDomain(input: RouteInput): RouteResult;
|
|
11
|
+
/** Return the compiled trigger inventory for inspection/testing. */
|
|
12
|
+
export declare function inspectRegistry(): readonly {
|
|
13
|
+
id: string;
|
|
14
|
+
triggerCount: number;
|
|
15
|
+
}[];
|
|
16
|
+
//# sourceMappingURL=domain-router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-router.d.ts","sourceRoot":"","sources":["../../src/core/domain-router.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC5F,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE5G;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAO1D;AAED,oEAAoE;AACpE,wBAAgB,eAAe,IAAI,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EAAE,CAEjF","sourcesContent":["import { selectRoute } from \"./domain-confidence.ts\";\nimport { DOMAIN_PROFILES, FALLBACK_DOMAIN_ID } from \"./domain-loadouts.ts\";\nimport { COMPILED_DOMAIN_REGISTRY, inspectDomainRegistry } from \"./domain-registry.ts\";\nimport { scoreDomains } from \"./domain-score.ts\";\nimport type { RouteInput, RouteResult } from \"./domain-types.ts\";\n\nexport { AMBIGUITY_MARGIN, STRONG_THRESHOLD, WEAK_THRESHOLD } from \"./domain-confidence.ts\";\nexport type { DomainScore, RouteConfidence, RouteInput, RouteResult, TriggerKind } from \"./domain-types.ts\";\n\n/**\n * Classify a task into a domain.\n *\n * @example\n * routeDomain({ task: \"build a login form with tailwind\" }).primary.id === \"frontend-ui\"\n */\nexport function routeDomain(input: RouteInput): RouteResult {\n\tconst task = input.task ?? \"\";\n\tconst tags = input.tags ?? [];\n\tconst paths = input.paths ?? [];\n\tconst text = [...tags, task].join(\" \").toLowerCase();\n\tconst scores = scoreDomains(COMPILED_DOMAIN_REGISTRY, text, paths);\n\treturn selectRoute(scores, DOMAIN_PROFILES, FALLBACK_DOMAIN_ID);\n}\n\n/** Return the compiled trigger inventory for inspection/testing. */\nexport function inspectRegistry(): readonly { id: string; triggerCount: number }[] {\n\treturn inspectDomainRegistry();\n}\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { selectRoute } from "./domain-confidence.js";
|
|
2
|
+
import { DOMAIN_PROFILES, FALLBACK_DOMAIN_ID } from "./domain-loadouts.js";
|
|
3
|
+
import { COMPILED_DOMAIN_REGISTRY, inspectDomainRegistry } from "./domain-registry.js";
|
|
4
|
+
import { scoreDomains } from "./domain-score.js";
|
|
5
|
+
export { AMBIGUITY_MARGIN, STRONG_THRESHOLD, WEAK_THRESHOLD } from "./domain-confidence.js";
|
|
6
|
+
/**
|
|
7
|
+
* Classify a task into a domain.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* routeDomain({ task: "build a login form with tailwind" }).primary.id === "frontend-ui"
|
|
11
|
+
*/
|
|
12
|
+
export function routeDomain(input) {
|
|
13
|
+
const task = input.task ?? "";
|
|
14
|
+
const tags = input.tags ?? [];
|
|
15
|
+
const paths = input.paths ?? [];
|
|
16
|
+
const text = [...tags, task].join(" ").toLowerCase();
|
|
17
|
+
const scores = scoreDomains(COMPILED_DOMAIN_REGISTRY, text, paths);
|
|
18
|
+
return selectRoute(scores, DOMAIN_PROFILES, FALLBACK_DOMAIN_ID);
|
|
19
|
+
}
|
|
20
|
+
/** Return the compiled trigger inventory for inspection/testing. */
|
|
21
|
+
export function inspectRegistry() {
|
|
22
|
+
return inspectDomainRegistry();
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=domain-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-router.js","sourceRoot":"","sources":["../../src/core/domain-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG5F;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAiB,EAAe;IAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,MAAM,MAAM,GAAG,YAAY,CAAC,wBAAwB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACnE,OAAO,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC;AAAA,CAChE;AAED,oEAAoE;AACpE,MAAM,UAAU,eAAe,GAAoD;IAClF,OAAO,qBAAqB,EAAE,CAAC;AAAA,CAC/B","sourcesContent":["import { selectRoute } from \"./domain-confidence.ts\";\nimport { DOMAIN_PROFILES, FALLBACK_DOMAIN_ID } from \"./domain-loadouts.ts\";\nimport { COMPILED_DOMAIN_REGISTRY, inspectDomainRegistry } from \"./domain-registry.ts\";\nimport { scoreDomains } from \"./domain-score.ts\";\nimport type { RouteInput, RouteResult } from \"./domain-types.ts\";\n\nexport { AMBIGUITY_MARGIN, STRONG_THRESHOLD, WEAK_THRESHOLD } from \"./domain-confidence.ts\";\nexport type { DomainScore, RouteConfidence, RouteInput, RouteResult, TriggerKind } from \"./domain-types.ts\";\n\n/**\n * Classify a task into a domain.\n *\n * @example\n * routeDomain({ task: \"build a login form with tailwind\" }).primary.id === \"frontend-ui\"\n */\nexport function routeDomain(input: RouteInput): RouteResult {\n\tconst task = input.task ?? \"\";\n\tconst tags = input.tags ?? [];\n\tconst paths = input.paths ?? [];\n\tconst text = [...tags, task].join(\" \").toLowerCase();\n\tconst scores = scoreDomains(COMPILED_DOMAIN_REGISTRY, text, paths);\n\treturn selectRoute(scores, DOMAIN_PROFILES, FALLBACK_DOMAIN_ID);\n}\n\n/** Return the compiled trigger inventory for inspection/testing. */\nexport function inspectRegistry(): readonly { id: string; triggerCount: number }[] {\n\treturn inspectDomainRegistry();\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type CompiledTrigger } from "./domain-trigger-match.ts";
|
|
2
|
+
import type { DomainProfile, DomainScore } from "./domain-types.ts";
|
|
3
|
+
export type { CompiledTrigger } from "./domain-trigger-match.ts";
|
|
4
|
+
export interface CompiledDomain {
|
|
5
|
+
readonly profile: DomainProfile;
|
|
6
|
+
readonly triggers: readonly CompiledTrigger[];
|
|
7
|
+
readonly registryIndex: number;
|
|
8
|
+
}
|
|
9
|
+
export declare function compileDomain(profile: DomainProfile, registryIndex?: number): CompiledDomain;
|
|
10
|
+
export declare function compileDomains(profiles: readonly DomainProfile[]): readonly CompiledDomain[];
|
|
11
|
+
export declare function scoreDomain(domain: CompiledDomain, text: string, paths: readonly string[]): DomainScore;
|
|
12
|
+
export declare function scoreDomains(domains: readonly CompiledDomain[], text: string, paths: readonly string[]): readonly DomainScore[];
|
|
13
|
+
//# sourceMappingURL=domain-score.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-score.d.ts","sourceRoot":"","sources":["../../src/core/domain-score.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAmC,MAAM,2BAA2B,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEpE,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,SAAI,GAAG,cAAc,CAEvF;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,cAAc,EAAE,CAE5F;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CA2BvG;AAED,wBAAgB,YAAY,CAC3B,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,MAAM,EAAE,GACtB,SAAS,WAAW,EAAE,CASxB","sourcesContent":["import { type CompiledTrigger, compileTrigger, describeTrigger } from \"./domain-trigger-match.ts\";\nimport type { DomainProfile, DomainScore } from \"./domain-types.ts\";\n\nexport type { CompiledTrigger } from \"./domain-trigger-match.ts\";\n\nexport interface CompiledDomain {\n\treadonly profile: DomainProfile;\n\treadonly triggers: readonly CompiledTrigger[];\n\treadonly registryIndex: number;\n}\n\nexport function compileDomain(profile: DomainProfile, registryIndex = 0): CompiledDomain {\n\treturn { profile, triggers: profile.triggers.map(compileTrigger), registryIndex };\n}\n\nexport function compileDomains(profiles: readonly DomainProfile[]): readonly CompiledDomain[] {\n\treturn profiles.map((profile, index) => compileDomain(profile, index));\n}\n\nexport function scoreDomain(domain: CompiledDomain, text: string, paths: readonly string[]): DomainScore {\n\tconst lowerText = text.toLowerCase();\n\tconst lowerPaths = paths.map((path) => path.toLowerCase());\n\tlet score = 0;\n\tconst matchedSignals: string[] = [];\n\n\tfor (const trigger of domain.triggers) {\n\t\tconst { spec } = trigger;\n\t\tlet contribution = 0;\n\t\tif (spec.kind === \"keyword\" || spec.kind === \"regex\") {\n\t\t\tconst count = trigger.textMatcher ? trigger.textMatcher(lowerText) : 0;\n\t\t\tcontribution = count > 0 ? spec.weight * count : 0;\n\t\t} else if (spec.kind === \"extension\") {\n\t\t\tconst extension = spec.pattern.toLowerCase();\n\t\t\tif (lowerPaths.some((path) => path.endsWith(extension))) contribution = spec.weight;\n\t\t} else if (spec.kind === \"path\") {\n\t\t\tconst fragment = spec.pattern.toLowerCase();\n\t\t\tif (lowerPaths.some((path) => path.includes(fragment))) contribution = spec.weight;\n\t\t}\n\n\t\tif (contribution > 0) {\n\t\t\tscore += contribution;\n\t\t\tmatchedSignals.push(`${describeTrigger(spec)} +${contribution}`);\n\t\t}\n\t}\n\n\treturn { id: domain.profile.id, label: domain.profile.label, score, matchedSignals };\n}\n\nexport function scoreDomains(\n\tdomains: readonly CompiledDomain[],\n\ttext: string,\n\tpaths: readonly string[],\n): readonly DomainScore[] {\n\treturn domains\n\t\t.map((domain) => ({ domain, score: scoreDomain(domain, text, paths) }))\n\t\t.filter((entry) => entry.score.score > 0)\n\t\t.sort((a, b) => {\n\t\t\tif (b.score.score !== a.score.score) return b.score.score - a.score.score;\n\t\t\treturn a.domain.registryIndex - b.domain.registryIndex;\n\t\t})\n\t\t.map((entry) => entry.score);\n}\n"]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { compileTrigger, describeTrigger } from "./domain-trigger-match.js";
|
|
2
|
+
export function compileDomain(profile, registryIndex = 0) {
|
|
3
|
+
return { profile, triggers: profile.triggers.map(compileTrigger), registryIndex };
|
|
4
|
+
}
|
|
5
|
+
export function compileDomains(profiles) {
|
|
6
|
+
return profiles.map((profile, index) => compileDomain(profile, index));
|
|
7
|
+
}
|
|
8
|
+
export function scoreDomain(domain, text, paths) {
|
|
9
|
+
const lowerText = text.toLowerCase();
|
|
10
|
+
const lowerPaths = paths.map((path) => path.toLowerCase());
|
|
11
|
+
let score = 0;
|
|
12
|
+
const matchedSignals = [];
|
|
13
|
+
for (const trigger of domain.triggers) {
|
|
14
|
+
const { spec } = trigger;
|
|
15
|
+
let contribution = 0;
|
|
16
|
+
if (spec.kind === "keyword" || spec.kind === "regex") {
|
|
17
|
+
const count = trigger.textMatcher ? trigger.textMatcher(lowerText) : 0;
|
|
18
|
+
contribution = count > 0 ? spec.weight * count : 0;
|
|
19
|
+
}
|
|
20
|
+
else if (spec.kind === "extension") {
|
|
21
|
+
const extension = spec.pattern.toLowerCase();
|
|
22
|
+
if (lowerPaths.some((path) => path.endsWith(extension)))
|
|
23
|
+
contribution = spec.weight;
|
|
24
|
+
}
|
|
25
|
+
else if (spec.kind === "path") {
|
|
26
|
+
const fragment = spec.pattern.toLowerCase();
|
|
27
|
+
if (lowerPaths.some((path) => path.includes(fragment)))
|
|
28
|
+
contribution = spec.weight;
|
|
29
|
+
}
|
|
30
|
+
if (contribution > 0) {
|
|
31
|
+
score += contribution;
|
|
32
|
+
matchedSignals.push(`${describeTrigger(spec)} +${contribution}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return { id: domain.profile.id, label: domain.profile.label, score, matchedSignals };
|
|
36
|
+
}
|
|
37
|
+
export function scoreDomains(domains, text, paths) {
|
|
38
|
+
return domains
|
|
39
|
+
.map((domain) => ({ domain, score: scoreDomain(domain, text, paths) }))
|
|
40
|
+
.filter((entry) => entry.score.score > 0)
|
|
41
|
+
.sort((a, b) => {
|
|
42
|
+
if (b.score.score !== a.score.score)
|
|
43
|
+
return b.score.score - a.score.score;
|
|
44
|
+
return a.domain.registryIndex - b.domain.registryIndex;
|
|
45
|
+
})
|
|
46
|
+
.map((entry) => entry.score);
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=domain-score.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-score.js","sourceRoot":"","sources":["../../src/core/domain-score.ts"],"names":[],"mappings":"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","sourcesContent":["import { type CompiledTrigger, compileTrigger, describeTrigger } from \"./domain-trigger-match.ts\";\nimport type { DomainProfile, DomainScore } from \"./domain-types.ts\";\n\nexport type { CompiledTrigger } from \"./domain-trigger-match.ts\";\n\nexport interface CompiledDomain {\n\treadonly profile: DomainProfile;\n\treadonly triggers: readonly CompiledTrigger[];\n\treadonly registryIndex: number;\n}\n\nexport function compileDomain(profile: DomainProfile, registryIndex = 0): CompiledDomain {\n\treturn { profile, triggers: profile.triggers.map(compileTrigger), registryIndex };\n}\n\nexport function compileDomains(profiles: readonly DomainProfile[]): readonly CompiledDomain[] {\n\treturn profiles.map((profile, index) => compileDomain(profile, index));\n}\n\nexport function scoreDomain(domain: CompiledDomain, text: string, paths: readonly string[]): DomainScore {\n\tconst lowerText = text.toLowerCase();\n\tconst lowerPaths = paths.map((path) => path.toLowerCase());\n\tlet score = 0;\n\tconst matchedSignals: string[] = [];\n\n\tfor (const trigger of domain.triggers) {\n\t\tconst { spec } = trigger;\n\t\tlet contribution = 0;\n\t\tif (spec.kind === \"keyword\" || spec.kind === \"regex\") {\n\t\t\tconst count = trigger.textMatcher ? trigger.textMatcher(lowerText) : 0;\n\t\t\tcontribution = count > 0 ? spec.weight * count : 0;\n\t\t} else if (spec.kind === \"extension\") {\n\t\t\tconst extension = spec.pattern.toLowerCase();\n\t\t\tif (lowerPaths.some((path) => path.endsWith(extension))) contribution = spec.weight;\n\t\t} else if (spec.kind === \"path\") {\n\t\t\tconst fragment = spec.pattern.toLowerCase();\n\t\t\tif (lowerPaths.some((path) => path.includes(fragment))) contribution = spec.weight;\n\t\t}\n\n\t\tif (contribution > 0) {\n\t\t\tscore += contribution;\n\t\t\tmatchedSignals.push(`${describeTrigger(spec)} +${contribution}`);\n\t\t}\n\t}\n\n\treturn { id: domain.profile.id, label: domain.profile.label, score, matchedSignals };\n}\n\nexport function scoreDomains(\n\tdomains: readonly CompiledDomain[],\n\ttext: string,\n\tpaths: readonly string[],\n): readonly DomainScore[] {\n\treturn domains\n\t\t.map((domain) => ({ domain, score: scoreDomain(domain, text, paths) }))\n\t\t.filter((entry) => entry.score.score > 0)\n\t\t.sort((a, b) => {\n\t\t\tif (b.score.score !== a.score.score) return b.score.score - a.score.score;\n\t\t\treturn a.domain.registryIndex - b.domain.registryIndex;\n\t\t})\n\t\t.map((entry) => entry.score);\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TriggerSpec } from "./domain-types.ts";
|
|
2
|
+
/** Cap on how many times a single keyword phrase can contribute (prevents runaway). */
|
|
3
|
+
export declare const KEYWORD_OCCURRENCE_CAP = 3;
|
|
4
|
+
export interface CompiledTrigger {
|
|
5
|
+
readonly spec: TriggerSpec;
|
|
6
|
+
/** Pre-built tester for text (keyword/regex) or undefined for path-only. */
|
|
7
|
+
readonly textMatcher?: (lowerText: string) => number;
|
|
8
|
+
}
|
|
9
|
+
export declare function escapeRegExp(value: string): string;
|
|
10
|
+
export declare function keywordMatcher(phrase: string): (lowerText: string) => number;
|
|
11
|
+
export declare function regexMatcher(source: string): (lowerText: string) => number;
|
|
12
|
+
export declare function compileTrigger(spec: TriggerSpec): CompiledTrigger;
|
|
13
|
+
export declare function describeTrigger(spec: TriggerSpec): string;
|
|
14
|
+
//# sourceMappingURL=domain-trigger-match.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-trigger-match.d.ts","sourceRoot":"","sources":["../../src/core/domain-trigger-match.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,uFAAuF;AACvF,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CACrD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAUD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAY5E;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAI1E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe,CAIjE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAWzD","sourcesContent":["import type { TriggerSpec } from \"./domain-types.ts\";\n\n/** Cap on how many times a single keyword phrase can contribute (prevents runaway). */\nexport const KEYWORD_OCCURRENCE_CAP = 3;\n\nexport interface CompiledTrigger {\n\treadonly spec: TriggerSpec;\n\t/** Pre-built tester for text (keyword/regex) or undefined for path-only. */\n\treadonly textMatcher?: (lowerText: string) => number;\n}\n\nexport function escapeRegExp(value: string): string {\n\treturn value.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n\n/**\n * Build a counted keyword matcher. Returns the number of non-overlapping,\n * case-insensitive occurrences of the literal phrase (capped).\n */\nfunction usesAsciiWordBoundaries(phrase: string): boolean {\n\treturn /^[a-z0-9](?:[a-z0-9 -]*[a-z0-9])?$/.test(phrase);\n}\n\nexport function keywordMatcher(phrase: string): (lowerText: string) => number {\n\tconst lowerPhrase = phrase.toLowerCase();\n\tconst escapedPhrase = escapeRegExp(lowerPhrase);\n\tconst patternSource = usesAsciiWordBoundaries(lowerPhrase)\n\t\t? `(?<![A-Za-z0-9_])${escapedPhrase}(?![A-Za-z0-9_])`\n\t\t: escapedPhrase;\n\tconst pattern = new RegExp(patternSource, \"g\");\n\treturn (lowerText: string): number => {\n\t\tconst matches = lowerText.match(pattern);\n\t\tif (!matches) return 0;\n\t\treturn Math.min(matches.length, KEYWORD_OCCURRENCE_CAP);\n\t};\n}\n\nexport function regexMatcher(source: string): (lowerText: string) => number {\n\t// Source is already a regex pattern; case-insensitive, tested once.\n\tconst re = new RegExp(source, \"i\");\n\treturn (lowerText: string): number => (re.test(lowerText) ? 1 : 0);\n}\n\nexport function compileTrigger(spec: TriggerSpec): CompiledTrigger {\n\tif (spec.kind === \"keyword\") return { spec, textMatcher: keywordMatcher(spec.pattern) };\n\tif (spec.kind === \"regex\") return { spec, textMatcher: regexMatcher(spec.pattern) };\n\treturn { spec };\n}\n\nexport function describeTrigger(spec: TriggerSpec): string {\n\tswitch (spec.kind) {\n\t\tcase \"keyword\":\n\t\t\treturn `keyword:\"${spec.pattern}\"`;\n\t\tcase \"regex\":\n\t\t\treturn `regex:/${spec.pattern}/`;\n\t\tcase \"extension\":\n\t\t\treturn `ext:${spec.pattern}`;\n\t\tcase \"path\":\n\t\t\treturn `path:${spec.pattern}`;\n\t}\n}\n"]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/** Cap on how many times a single keyword phrase can contribute (prevents runaway). */
|
|
2
|
+
export const KEYWORD_OCCURRENCE_CAP = 3;
|
|
3
|
+
export function escapeRegExp(value) {
|
|
4
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Build a counted keyword matcher. Returns the number of non-overlapping,
|
|
8
|
+
* case-insensitive occurrences of the literal phrase (capped).
|
|
9
|
+
*/
|
|
10
|
+
function usesAsciiWordBoundaries(phrase) {
|
|
11
|
+
return /^[a-z0-9](?:[a-z0-9 -]*[a-z0-9])?$/.test(phrase);
|
|
12
|
+
}
|
|
13
|
+
export function keywordMatcher(phrase) {
|
|
14
|
+
const lowerPhrase = phrase.toLowerCase();
|
|
15
|
+
const escapedPhrase = escapeRegExp(lowerPhrase);
|
|
16
|
+
const patternSource = usesAsciiWordBoundaries(lowerPhrase)
|
|
17
|
+
? `(?<![A-Za-z0-9_])${escapedPhrase}(?![A-Za-z0-9_])`
|
|
18
|
+
: escapedPhrase;
|
|
19
|
+
const pattern = new RegExp(patternSource, "g");
|
|
20
|
+
return (lowerText) => {
|
|
21
|
+
const matches = lowerText.match(pattern);
|
|
22
|
+
if (!matches)
|
|
23
|
+
return 0;
|
|
24
|
+
return Math.min(matches.length, KEYWORD_OCCURRENCE_CAP);
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export function regexMatcher(source) {
|
|
28
|
+
// Source is already a regex pattern; case-insensitive, tested once.
|
|
29
|
+
const re = new RegExp(source, "i");
|
|
30
|
+
return (lowerText) => (re.test(lowerText) ? 1 : 0);
|
|
31
|
+
}
|
|
32
|
+
export function compileTrigger(spec) {
|
|
33
|
+
if (spec.kind === "keyword")
|
|
34
|
+
return { spec, textMatcher: keywordMatcher(spec.pattern) };
|
|
35
|
+
if (spec.kind === "regex")
|
|
36
|
+
return { spec, textMatcher: regexMatcher(spec.pattern) };
|
|
37
|
+
return { spec };
|
|
38
|
+
}
|
|
39
|
+
export function describeTrigger(spec) {
|
|
40
|
+
switch (spec.kind) {
|
|
41
|
+
case "keyword":
|
|
42
|
+
return `keyword:"${spec.pattern}"`;
|
|
43
|
+
case "regex":
|
|
44
|
+
return `regex:/${spec.pattern}/`;
|
|
45
|
+
case "extension":
|
|
46
|
+
return `ext:${spec.pattern}`;
|
|
47
|
+
case "path":
|
|
48
|
+
return `path:${spec.pattern}`;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=domain-trigger-match.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-trigger-match.js","sourceRoot":"","sources":["../../src/core/domain-trigger-match.ts"],"names":[],"mappings":"AAEA,uFAAuF;AACvF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAQxC,MAAM,UAAU,YAAY,CAAC,KAAa,EAAU;IACnD,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAAA,CACpD;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAAC,MAAc,EAAW;IACzD,OAAO,oCAAoC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAAA,CACzD;AAED,MAAM,UAAU,cAAc,CAAC,MAAc,EAAiC;IAC7E,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,uBAAuB,CAAC,WAAW,CAAC;QACzD,CAAC,CAAC,oBAAoB,aAAa,kBAAkB;QACrD,CAAC,CAAC,aAAa,CAAC;IACjB,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAC/C,OAAO,CAAC,SAAiB,EAAU,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAAA,CACxD,CAAC;AAAA,CACF;AAED,MAAM,UAAU,YAAY,CAAC,MAAc,EAAiC;IAC3E,oEAAoE;IACpE,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,SAAiB,EAAU,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,CACnE;AAED,MAAM,UAAU,cAAc,CAAC,IAAiB,EAAmB;IAClE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACxF,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACpF,OAAO,EAAE,IAAI,EAAE,CAAC;AAAA,CAChB;AAED,MAAM,UAAU,eAAe,CAAC,IAAiB,EAAU;IAC1D,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS;YACb,OAAO,YAAY,IAAI,CAAC,OAAO,GAAG,CAAC;QACpC,KAAK,OAAO;YACX,OAAO,UAAU,IAAI,CAAC,OAAO,GAAG,CAAC;QAClC,KAAK,WAAW;YACf,OAAO,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9B,KAAK,MAAM;YACV,OAAO,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;AAAA,CACD","sourcesContent":["import type { TriggerSpec } from \"./domain-types.ts\";\n\n/** Cap on how many times a single keyword phrase can contribute (prevents runaway). */\nexport const KEYWORD_OCCURRENCE_CAP = 3;\n\nexport interface CompiledTrigger {\n\treadonly spec: TriggerSpec;\n\t/** Pre-built tester for text (keyword/regex) or undefined for path-only. */\n\treadonly textMatcher?: (lowerText: string) => number;\n}\n\nexport function escapeRegExp(value: string): string {\n\treturn value.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n\n/**\n * Build a counted keyword matcher. Returns the number of non-overlapping,\n * case-insensitive occurrences of the literal phrase (capped).\n */\nfunction usesAsciiWordBoundaries(phrase: string): boolean {\n\treturn /^[a-z0-9](?:[a-z0-9 -]*[a-z0-9])?$/.test(phrase);\n}\n\nexport function keywordMatcher(phrase: string): (lowerText: string) => number {\n\tconst lowerPhrase = phrase.toLowerCase();\n\tconst escapedPhrase = escapeRegExp(lowerPhrase);\n\tconst patternSource = usesAsciiWordBoundaries(lowerPhrase)\n\t\t? `(?<![A-Za-z0-9_])${escapedPhrase}(?![A-Za-z0-9_])`\n\t\t: escapedPhrase;\n\tconst pattern = new RegExp(patternSource, \"g\");\n\treturn (lowerText: string): number => {\n\t\tconst matches = lowerText.match(pattern);\n\t\tif (!matches) return 0;\n\t\treturn Math.min(matches.length, KEYWORD_OCCURRENCE_CAP);\n\t};\n}\n\nexport function regexMatcher(source: string): (lowerText: string) => number {\n\t// Source is already a regex pattern; case-insensitive, tested once.\n\tconst re = new RegExp(source, \"i\");\n\treturn (lowerText: string): number => (re.test(lowerText) ? 1 : 0);\n}\n\nexport function compileTrigger(spec: TriggerSpec): CompiledTrigger {\n\tif (spec.kind === \"keyword\") return { spec, textMatcher: keywordMatcher(spec.pattern) };\n\tif (spec.kind === \"regex\") return { spec, textMatcher: regexMatcher(spec.pattern) };\n\treturn { spec };\n}\n\nexport function describeTrigger(spec: TriggerSpec): string {\n\tswitch (spec.kind) {\n\t\tcase \"keyword\":\n\t\t\treturn `keyword:\"${spec.pattern}\"`;\n\t\tcase \"regex\":\n\t\t\treturn `regex:/${spec.pattern}/`;\n\t\tcase \"extension\":\n\t\t\treturn `ext:${spec.pattern}`;\n\t\tcase \"path\":\n\t\t\treturn `path:${spec.pattern}`;\n\t}\n}\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { DomainProfile } from "./domain-loadouts.ts";
|
|
2
|
+
export type { DomainProfile, TriggerKind, TriggerSpec } from "./domain-loadouts.ts";
|
|
3
|
+
export interface RouteInput {
|
|
4
|
+
/** The raw task/goal text. Lowercased internally; never mutated. */
|
|
5
|
+
readonly task: string;
|
|
6
|
+
/** Optional path hints, e.g. ["src/app/page.tsx", "Dockerfile", "tests/api.test.ts"]. */
|
|
7
|
+
readonly paths?: readonly string[];
|
|
8
|
+
/** Optional upstream-detected tags forwarded verbatim into the task text for matching. */
|
|
9
|
+
readonly tags?: readonly string[];
|
|
10
|
+
}
|
|
11
|
+
export interface DomainScore {
|
|
12
|
+
readonly id: string;
|
|
13
|
+
readonly label: string;
|
|
14
|
+
readonly score: number;
|
|
15
|
+
/** Human-readable signal descriptions that contributed to the score. */
|
|
16
|
+
readonly matchedSignals: readonly string[];
|
|
17
|
+
}
|
|
18
|
+
export type RouteConfidence = "confident" | "tentative" | "fallback";
|
|
19
|
+
export interface RouteResult {
|
|
20
|
+
/** Chosen domain profile (the fallback profile when confidence === "fallback"). */
|
|
21
|
+
readonly primary: DomainProfile;
|
|
22
|
+
/** All domains scored, best first. */
|
|
23
|
+
readonly scores: readonly DomainScore[];
|
|
24
|
+
readonly confidence: RouteConfidence;
|
|
25
|
+
/** Short, machine-friendly explanation of the decision. */
|
|
26
|
+
readonly reason: string;
|
|
27
|
+
/** True when the top two domains are within AMBIGUITY_MARGIN and neither is strong. */
|
|
28
|
+
readonly ambiguous: boolean;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=domain-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-types.d.ts","sourceRoot":"","sources":["../../src/core/domain-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEpF,MAAM,WAAW,UAAU;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,0FAA0F;IAC1F,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;AAErE,MAAM,WAAW,WAAW;IAC3B,mFAAmF;IACnF,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,uFAAuF;IACvF,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC5B","sourcesContent":["import type { DomainProfile } from \"./domain-loadouts.ts\";\n\nexport type { DomainProfile, TriggerKind, TriggerSpec } from \"./domain-loadouts.ts\";\n\nexport interface RouteInput {\n\t/** The raw task/goal text. Lowercased internally; never mutated. */\n\treadonly task: string;\n\t/** Optional path hints, e.g. [\"src/app/page.tsx\", \"Dockerfile\", \"tests/api.test.ts\"]. */\n\treadonly paths?: readonly string[];\n\t/** Optional upstream-detected tags forwarded verbatim into the task text for matching. */\n\treadonly tags?: readonly string[];\n}\n\nexport interface DomainScore {\n\treadonly id: string;\n\treadonly label: string;\n\treadonly score: number;\n\t/** Human-readable signal descriptions that contributed to the score. */\n\treadonly matchedSignals: readonly string[];\n}\n\nexport type RouteConfidence = \"confident\" | \"tentative\" | \"fallback\";\n\nexport interface RouteResult {\n\t/** Chosen domain profile (the fallback profile when confidence === \"fallback\"). */\n\treadonly primary: DomainProfile;\n\t/** All domains scored, best first. */\n\treadonly scores: readonly DomainScore[];\n\treadonly confidence: RouteConfidence;\n\t/** Short, machine-friendly explanation of the decision. */\n\treadonly reason: string;\n\t/** True when the top two domains are within AMBIGUITY_MARGIN and neither is strong. */\n\treadonly ambiguous: boolean;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-types.js","sourceRoot":"","sources":["../../src/core/domain-types.ts"],"names":[],"mappings":"","sourcesContent":["import type { DomainProfile } from \"./domain-loadouts.ts\";\n\nexport type { DomainProfile, TriggerKind, TriggerSpec } from \"./domain-loadouts.ts\";\n\nexport interface RouteInput {\n\t/** The raw task/goal text. Lowercased internally; never mutated. */\n\treadonly task: string;\n\t/** Optional path hints, e.g. [\"src/app/page.tsx\", \"Dockerfile\", \"tests/api.test.ts\"]. */\n\treadonly paths?: readonly string[];\n\t/** Optional upstream-detected tags forwarded verbatim into the task text for matching. */\n\treadonly tags?: readonly string[];\n}\n\nexport interface DomainScore {\n\treadonly id: string;\n\treadonly label: string;\n\treadonly score: number;\n\t/** Human-readable signal descriptions that contributed to the score. */\n\treadonly matchedSignals: readonly string[];\n}\n\nexport type RouteConfidence = \"confident\" | \"tentative\" | \"fallback\";\n\nexport interface RouteResult {\n\t/** Chosen domain profile (the fallback profile when confidence === \"fallback\"). */\n\treadonly primary: DomainProfile;\n\t/** All domains scored, best first. */\n\treadonly scores: readonly DomainScore[];\n\treadonly confidence: RouteConfidence;\n\t/** Short, machine-friendly explanation of the decision. */\n\treadonly reason: string;\n\t/** True when the top two domains are within AMBIGUITY_MARGIN and neither is strong. */\n\treadonly ambiguous: boolean;\n}\n"]}
|
|
@@ -4,6 +4,12 @@ export type JsonValue = JsonPrimitive | readonly JsonValue[] | JsonObject;
|
|
|
4
4
|
export interface JsonObject {
|
|
5
5
|
readonly [key: string]: JsonValue;
|
|
6
6
|
}
|
|
7
|
+
export interface ContextBudgetCacheAttributes extends JsonObject {
|
|
8
|
+
readonly policyVersion: string;
|
|
9
|
+
readonly planHash: string;
|
|
10
|
+
readonly emergency: boolean;
|
|
11
|
+
readonly omittedHighPriority: boolean;
|
|
12
|
+
}
|
|
7
13
|
export interface ExactResponseCacheKeyInput {
|
|
8
14
|
readonly provider: string;
|
|
9
15
|
readonly model: string;
|
|
@@ -14,6 +20,7 @@ export interface ExactResponseCacheKeyInput {
|
|
|
14
20
|
readonly seed: string | number | null;
|
|
15
21
|
readonly reasoningEffort: string | null;
|
|
16
22
|
readonly promptPolicyVersion: string;
|
|
23
|
+
readonly contextBudget?: ContextBudgetCacheAttributes;
|
|
17
24
|
readonly tenantId: string | null;
|
|
18
25
|
readonly userId: string | null;
|
|
19
26
|
readonly repoHead: string;
|
|
@@ -32,6 +39,7 @@ export interface ExactResponseCacheKeyMaterial extends JsonObject {
|
|
|
32
39
|
readonly seed: string | number | null;
|
|
33
40
|
readonly reasoningEffort: string | null;
|
|
34
41
|
readonly promptPolicyVersion: string;
|
|
42
|
+
readonly contextBudget: ContextBudgetCacheAttributes | null;
|
|
35
43
|
readonly tenantId: string | null;
|
|
36
44
|
readonly userId: string | null;
|
|
37
45
|
readonly repoHead: string;
|