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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"native-adoption-benchmark.js","sourceRoot":"","sources":["../../src/core/native-adoption-benchmark.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from \"node:crypto\";\nimport { performance } from \"node:perf_hooks\";\nimport {\n\tcanonicalJsonStringify,\n\tfuseRrfRankings,\n\ttype RetrievalRanking,\n\trenderContextPack,\n\ttype ScoredContextCandidate,\n\tscoreRetrievalCandidate,\n\tscoreTopicalRelevance,\n\tselectMmrContext,\n} from \"./context-graph-retrieval.ts\";\n\nexport const NATIVE_ADOPTION_BASELINE_SCHEMA_VERSION = \"native-adoption-baseline.v1\";\nexport const DEFAULT_NATIVE_ADOPTION_SEED = 0xc0ffee;\n\nconst DEFAULT_MIN_TYPESCRIPT_P95_NS = 200_000;\nconst DEFAULT_MIN_MOVABLE_FRACTION = 0.6;\nconst DEFAULT_MAX_IPC_OVERHEAD_FRACTION = 0.3;\nconst DEFAULT_MIN_NET_SPEEDUP = 3;\nconst DEFAULT_MAX_STARTUP_P95_MS = 150;\nconst DEFAULT_MAX_RSS_DELTA_MB = 64;\nconst DEFAULT_MAX_ARCHIVE_DELTA_MB = 15;\nconst DEFAULT_TOKEN_BUDGET = 2_400;\n\nexport type NativeAdoptionBenchmarkTarget =\n\t| \"selectMmrContext\"\n\t| \"fuseRrfRankings\"\n\t| \"scoreTopicalRelevance\"\n\t| \"scoreRetrievalCandidate\"\n\t| \"renderContextPack\"\n\t| \"cacheKeyControl\";\n\nexport type NativeAdoptionBottleneckClass = \"cpu\" | \"io\" | \"provider\" | \"spawn\" | \"unknown\";\nexport type NativeAdoptionVerdict = \"go\" | \"no-go\" | \"needs-telemetry\";\n\nexport interface NativeAdoptionFixtureOptions {\n\tcandidateCount: number;\n\tembeddingDimensions: number;\n\tseed?: number;\n}\n\nexport interface NativeAdoptionFixtureManifest {\n\tsha256: string;\n\tpayloadBytes: number;\n\tcandidateCount: number;\n\tembeddingDimensions: number;\n\tseed: number;\n}\n\nexport interface NativeAdoptionFixture {\n\tseed: number;\n\tcandidateCount: number;\n\tembeddingDimensions: number;\n\tquery: string;\n\tqueryEmbedding?: readonly number[];\n\tcandidates: readonly ScoredContextCandidate[];\n\trankings: readonly RetrievalRanking[];\n\tmanifest: NativeAdoptionFixtureManifest;\n}\n\nexport interface NativeAdoptionSampleStats {\n\tsamples: number;\n\tminNs: number;\n\tmaxNs: number;\n\tmeanNs: number;\n\tp50Ns: number;\n\tp95Ns: number;\n\tp99Ns: number;\n\tcoefficientOfVariation: number;\n}\n\nexport interface NativeAdoptionTargetResult {\n\ttarget: NativeAdoptionBenchmarkTarget;\n\toperations: number;\n\toutputDigest: string;\n}\n\nexport interface NativeAdoptionTargetMeasurement extends NativeAdoptionTargetResult {\n\tstats: NativeAdoptionSampleStats;\n\tsideEffects: NativeAdoptionSideEffectCounts;\n}\n\nexport interface NativeAdoptionMeasureOptions {\n\titerations?: number;\n\twarmupIterations?: number;\n\tclock?: () => number;\n}\n\nexport interface NativeAdoptionGateInput {\n\truntimeCallsites: number;\n\tbottleneckClass: NativeAdoptionBottleneckClass;\n\ttypescriptP95Ns: number;\n\tprojectedRustP95Ns: number;\n\tipcOverheadP95Ns: number;\n\tmovableFraction: number;\n\tstartupP95Ms: number;\n\trssDeltaMb: number;\n\tarchiveDeltaMb: number;\n\tsideEffectViolations?: readonly string[];\n\tbudgets?: Partial<NativeAdoptionGateBudgets>;\n}\n\nexport interface NativeAdoptionGateBudgets {\n\tminTypeScriptP95Ns: number;\n\tminMovableFraction: number;\n\tmaxIpcOverheadFraction: number;\n\tminProjectedNetSpeedup: number;\n\tmaxStartupP95Ms: number;\n\tmaxRssDeltaMb: number;\n\tmaxArchiveDeltaMb: number;\n}\n\nexport interface NativeAdoptionGateMetrics {\n\tretainedTypeScriptP95Ns: number;\n\tsidecarNetP95Ns: number;\n\tprojectedNetSpeedup: number;\n\tcpuSpeedup: number;\n\tipcOverheadFraction: number;\n\tmovableFraction: number;\n}\n\nexport interface NativeAdoptionGateDecision {\n\tverdict: NativeAdoptionVerdict;\n\treasons: readonly string[];\n\tmetrics: NativeAdoptionGateMetrics;\n\tbudgets: NativeAdoptionGateBudgets;\n}\n\nexport interface NativeAdoptionBaselineInput {\n\trepoSha: string;\n\truntime: string;\n\tgeneratedAt: string;\n\tfixture: NativeAdoptionFixture;\n\tmeasurements: readonly NativeAdoptionTargetMeasurement[];\n\tdecision: NativeAdoptionGateDecision;\n}\n\nexport interface NativeAdoptionBaseline {\n\tschemaVersion: typeof NATIVE_ADOPTION_BASELINE_SCHEMA_VERSION;\n\trepoSha: string;\n\truntime: string;\n\tgeneratedAt: string;\n\tenv: Record<string, never>;\n\tfixture: NativeAdoptionFixtureManifest;\n\tmeasurements: readonly NativeAdoptionTargetMeasurement[];\n\tdecision: NativeAdoptionGateDecision;\n}\n\nexport interface NativeAdoptionSecretScanFinding {\n\tpath: string;\n\tpattern: string;\n}\n\nexport interface NativeAdoptionForbiddenImportFinding {\n\tpath: string;\n\tspecifier: string;\n\tstatement: string;\n}\n\nexport interface NativeAdoptionSideEffectCounts {\n\tnetwork: number;\n\tspawn: number;\n\tfileRead: number;\n}\n\nexport interface NativeAdoptionSideEffectRecorder {\n\trecordNetwork: () => never;\n\trecordSpawn: () => never;\n\trecordFileRead: () => never;\n}\n\nexport interface NativeAdoptionGuardedResult<T> {\n\tvalue: T;\n\tsideEffects: NativeAdoptionSideEffectCounts;\n}\n\nexport interface NativeAdoptionSourceFile {\n\tpath: string;\n\tcontent: string;\n}\n\nexport interface NativeAdoptionCallsiteInput {\n\tsymbols: readonly string[];\n\tfiles: readonly NativeAdoptionSourceFile[];\n}\n\nexport interface NativeAdoptionCallsiteSummary {\n\truntimeCallsites: number;\n\ttestCallsites: number;\n\tdefinitionCallsites: number;\n\texportCallsites: number;\n\tharnessCallsites: number;\n\tbySymbol: Record<\n\t\tstring,\n\t\t{\n\t\t\truntime: number;\n\t\t\ttest: number;\n\t\t\tdefinition: number;\n\t\t\texport: number;\n\t\t\tharness: number;\n\t\t}\n\t>;\n}\n\ntype NativeAdoptionSourceCategory = \"definition\" | \"export\" | \"test\" | \"harness\" | \"runtime\";\n\ninterface Prng {\n\tnext: () => number;\n}\n\nconst SECRET_PATTERNS: ReadonlyArray<{ name: string; pattern: RegExp }> = [\n\t{ name: \"pem-private-key\", pattern: /-----BEGIN [A-Z ]*PRIVATE KEY-----/i },\n\t{ name: \"bearer-token\", pattern: /\\bBearer\\s+[A-Za-z0-9._~+/=-]{16,}/i },\n\t{ name: \"jwt\", pattern: /\\beyJ[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\b/ },\n\t{\n\t\tname: \"env-secret-assignment\",\n\t\tpattern: /\\b[A-Z0-9_]*(?:API[_-]?KEY|SECRET|TOKEN|PASSWORD|PRIVATE[_-]?KEY)[A-Z0-9_]*\\s*=\\s*[\"']?[^\"'\\s]{8,}/,\n\t},\n\t{\n\t\tname: \"vendor-token-prefix\",\n\t\tpattern: /\\b(?:(?:ghp|gho|ghu|ghs|github_pat)_[A-Za-z0-9_]{16,}|sk-[A-Za-z0-9]{16,})\\b/,\n\t},\n];\n\nconst FORBIDDEN_NATIVE_ADOPTION_IMPORTS = new Set([\n\t\"fs\",\n\t\"node:fs\",\n\t\"child_process\",\n\t\"node:child_process\",\n\t\"net\",\n\t\"node:net\",\n\t\"tls\",\n\t\"node:tls\",\n\t\"http\",\n\t\"node:http\",\n\t\"https\",\n\t\"node:https\",\n\t\"undici\",\n]);\n\nexport function createNativeAdoptionFixture(options: NativeAdoptionFixtureOptions): NativeAdoptionFixture {\n\tconst seed = normalizeSeed(options.seed ?? DEFAULT_NATIVE_ADOPTION_SEED);\n\tconst candidateCount = Math.max(0, Math.floor(options.candidateCount));\n\tconst embeddingDimensions = Math.max(0, Math.floor(options.embeddingDimensions));\n\tconst prng = createMulberry32(seed);\n\tconst topics = [\"retrieval\", \"memory\", \"ontology\", \"cache\", \"session\", \"tools\"];\n\tconst query = \"context graph retrieval ranking memory cache\";\n\tconst queryEmbedding = embeddingDimensions > 0 ? createVector(prng, embeddingDimensions) : undefined;\n\tconst candidates: ScoredContextCandidate[] = [];\n\n\tfor (let index = 0; index < candidateCount; index++) {\n\t\tconst topic = topics[index % topics.length] ?? \"retrieval\";\n\t\tconst score = round6(1 - index / Math.max(candidateCount, 1) + prng.next() * 0.05);\n\t\tcandidates.push({\n\t\t\tid: `fixture-${index.toString().padStart(5, \"0\")}`,\n\t\t\tpath: `packages/coding-agent/src/fixture/${topic}-${index}.ts`,\n\t\t\ttitle: `${topic} fixture ${index}`,\n\t\t\tsymbol: `fixtureSymbol${index}`,\n\t\t\tkind: index % 3 === 0 ? \"function\" : \"document\",\n\t\t\tcontent: createFixtureContent(topic, index),\n\t\t\ttokenEstimate: 32 + (index % 11) * 7,\n\t\t\ttopic,\n\t\t\t...(embeddingDimensions > 0 ? { embedding: createVector(prng, embeddingDimensions) } : {}),\n\t\t\tscore: clamp01(score),\n\t\t\trrfScore: clamp01(score * 0.8),\n\t\t\ttopicalScore: clamp01(score * 0.9),\n\t\t});\n\t}\n\n\tconst rankings = createFixtureRankings(candidates);\n\tconst payload = { seed, candidateCount, embeddingDimensions, query, queryEmbedding, candidates, rankings };\n\tconst payloadText = canonicalJsonStringify(payload);\n\tconst manifest = {\n\t\tsha256: sha256Hex(payloadText),\n\t\tpayloadBytes: Buffer.byteLength(payloadText, \"utf8\"),\n\t\tcandidateCount,\n\t\tembeddingDimensions,\n\t\tseed,\n\t};\n\tconst fixture: NativeAdoptionFixture = {\n\t\tseed,\n\t\tcandidateCount,\n\t\tembeddingDimensions,\n\t\tquery,\n\t\t...(queryEmbedding ? { queryEmbedding } : {}),\n\t\tcandidates,\n\t\trankings,\n\t\tmanifest,\n\t};\n\tassertNativeAdoptionFixtureSecretFree(fixture);\n\treturn fixture;\n}\n\nexport function assertNativeAdoptionFixtureSecretFree(fixture: NativeAdoptionFixture): void {\n\tconst payload = canonicalJsonStringify({\n\t\tseed: fixture.seed,\n\t\tcandidateCount: fixture.candidateCount,\n\t\tembeddingDimensions: fixture.embeddingDimensions,\n\t\tquery: fixture.query,\n\t\tqueryEmbedding: fixture.queryEmbedding,\n\t\tcandidates: fixture.candidates,\n\t\trankings: fixture.rankings,\n\t\tmanifest: fixture.manifest,\n\t});\n\tconst hit = SECRET_PATTERNS.find(({ pattern }) => pattern.test(payload));\n\tif (hit) {\n\t\tthrow new Error(`secret-like fixture content rejected: ${hit.name}`);\n\t}\n}\n\nexport function scanNativeAdoptionSecrets(value: unknown): NativeAdoptionSecretScanFinding[] {\n\tconst findings: NativeAdoptionSecretScanFinding[] = [];\n\tvisitNativeAdoptionSecretValue(value, \"$\", findings, new Set<object>());\n\treturn findings;\n}\n\nexport function assertNativeAdoptionBaselineSecretFree(value: unknown): void {\n\tconst findings = scanNativeAdoptionSecrets(value);\n\tif (findings.length > 0) {\n\t\tconst first = findings[0];\n\t\tthrow new Error(`secret-like baseline content rejected: ${first?.pattern ?? \"unknown\"} at ${first?.path ?? \"$\"}`);\n\t}\n}\n\nexport const assertNativeAdoptionDocumentSecretFree = assertNativeAdoptionBaselineSecretFree;\n\nexport function runNativeAdoptionTarget(\n\ttarget: NativeAdoptionBenchmarkTarget,\n\tfixture: NativeAdoptionFixture,\n): NativeAdoptionTargetResult {\n\tassertNativeAdoptionFixtureSecretFree(fixture);\n\tif (target === \"selectMmrContext\") {\n\t\tconst result = selectMmrContext(fixture.candidates, { tokenBudget: DEFAULT_TOKEN_BUDGET, lambda: 0.6 });\n\t\treturn digestTargetResult(\n\t\t\ttarget,\n\t\t\tresult.selected.map((candidate) => candidate.id),\n\t\t\tfixture.candidates.length,\n\t\t);\n\t}\n\tif (target === \"fuseRrfRankings\") {\n\t\tconst result = fuseRrfRankings(fixture.rankings, { limit: Math.min(100, fixture.candidates.length) });\n\t\treturn digestTargetResult(\n\t\t\ttarget,\n\t\t\tresult.map((hit) => [hit.id, round6(hit.score)]),\n\t\t\tfixture.candidates.length,\n\t\t);\n\t}\n\tif (target === \"scoreTopicalRelevance\") {\n\t\tconst result = fixture.candidates.map((candidate) =>\n\t\t\tscoreTopicalRelevance({ query: fixture.query, queryEmbedding: fixture.queryEmbedding, document: candidate }),\n\t\t);\n\t\treturn digestTargetResult(\n\t\t\ttarget,\n\t\t\tresult.map((score) => round6(score.score)),\n\t\t\tfixture.candidates.length,\n\t\t);\n\t}\n\tif (target === \"scoreRetrievalCandidate\") {\n\t\tconst result = fixture.candidates.map(\n\t\t\t(candidate) =>\n\t\t\t\tscoreRetrievalCandidate({\n\t\t\t\t\trrfScore: candidate.rrfScore ?? candidate.score,\n\t\t\t\t\ttopicalScore: candidate.topicalScore ?? candidate.score,\n\t\t\t\t\tgraphScore: candidate.score,\n\t\t\t\t\trecencyScore: (candidate.score * 0.5) % 1,\n\t\t\t\t\tauthorityScore: (candidate.score * 0.75) % 1,\n\t\t\t\t\tconflictPenalty: candidate.conflicts?.length ? 1 : 0,\n\t\t\t\t}).finalScore,\n\t\t);\n\t\treturn digestTargetResult(target, result.map(round6), fixture.candidates.length);\n\t}\n\tif (target === \"renderContextPack\") {\n\t\tconst result = renderContextPack(fixture.candidates.slice(0, Math.min(16, fixture.candidates.length)), {\n\t\t\tqueryIntent: \"native-adoption-benchmark\",\n\t\t\tmaxEvidenceChars: 180,\n\t\t});\n\t\treturn digestTargetResult(target, result, fixture.candidates.length);\n\t}\n\tconst result = canonicalJsonStringify({\n\t\tquery: fixture.query,\n\t\tmanifest: fixture.manifest,\n\t\tfirst: fixture.candidates[0]?.id ?? \"none\",\n\t});\n\treturn digestTargetResult(target, result, fixture.candidates.length);\n}\n\nexport function measureNativeAdoptionTarget(\n\ttarget: NativeAdoptionBenchmarkTarget,\n\tfixture: NativeAdoptionFixture,\n\toptions: NativeAdoptionMeasureOptions = {},\n): NativeAdoptionTargetMeasurement {\n\tconst iterations = Math.max(1, Math.floor(options.iterations ?? 20));\n\tconst warmupIterations = Math.max(0, Math.floor(options.warmupIterations ?? 5));\n\tconst clock = options.clock ?? performance.now.bind(performance);\n\tlet lastResult = runNativeAdoptionTarget(target, fixture);\n\tfor (let index = 0; index < warmupIterations; index++) {\n\t\tlastResult = runNativeAdoptionTarget(target, fixture);\n\t}\n\n\tconst samples: number[] = [];\n\tlet sideEffects = createEmptySideEffectCounts();\n\tfor (let index = 0; index < iterations; index++) {\n\t\tconst guarded = withNativeAdoptionSideEffectGuards(() => {\n\t\t\tconst startMs = clock();\n\t\t\tlastResult = runNativeAdoptionTarget(target, fixture);\n\t\t\tconst endMs = clock();\n\t\t\treturn Math.max(0, Math.round((endMs - startMs) * 1_000_000));\n\t\t});\n\t\tsideEffects = addSideEffects(sideEffects, guarded.sideEffects);\n\t\tsamples.push(guarded.value);\n\t}\n\n\treturn {\n\t\t...lastResult,\n\t\tstats: summarizeNativeAdoptionSamples(samples),\n\t\tsideEffects,\n\t};\n}\n\nexport function summarizeNativeAdoptionSamples(samples: readonly number[]): NativeAdoptionSampleStats {\n\tif (samples.length === 0) {\n\t\treturn {\n\t\t\tsamples: 0,\n\t\t\tminNs: 0,\n\t\t\tmaxNs: 0,\n\t\t\tmeanNs: 0,\n\t\t\tp50Ns: 0,\n\t\t\tp95Ns: 0,\n\t\t\tp99Ns: 0,\n\t\t\tcoefficientOfVariation: 0,\n\t\t};\n\t}\n\tconst sorted = [...samples].map((sample) => Math.max(0, Math.round(sample))).sort((a, b) => a - b);\n\tconst meanNs = sorted.reduce((sum, sample) => sum + sample, 0) / sorted.length;\n\tconst variance = sorted.reduce((sum, sample) => sum + (sample - meanNs) ** 2, 0) / sorted.length;\n\treturn {\n\t\tsamples: sorted.length,\n\t\tminNs: sorted[0] ?? 0,\n\t\tmaxNs: sorted[sorted.length - 1] ?? 0,\n\t\tmeanNs,\n\t\tp50Ns: nearestRank(sorted, 0.5),\n\t\tp95Ns: nearestRank(sorted, 0.95),\n\t\tp99Ns: nearestRank(sorted, 0.99),\n\t\tcoefficientOfVariation: meanNs === 0 ? 0 : Math.sqrt(variance) / meanNs,\n\t};\n}\n\nexport function withNativeAdoptionSideEffectGuards<T>(\n\tfn: (recorder: NativeAdoptionSideEffectRecorder) => T,\n): NativeAdoptionGuardedResult<T> {\n\tconst sideEffects = createEmptySideEffectCounts();\n\tconst recorder = createSideEffectRecorder(sideEffects);\n\tconst originalFetch = globalThis.fetch;\n\tglobalThis.fetch = ((..._args: Parameters<typeof fetch>) => recorder.recordNetwork()) as typeof fetch;\n\n\tlet value: T | undefined;\n\tlet thrown: unknown;\n\ttry {\n\t\tvalue = fn(recorder);\n\t} catch (error) {\n\t\tthrown = error;\n\t} finally {\n\t\tglobalThis.fetch = originalFetch;\n\t}\n\n\tconst violations = formatSideEffectViolations(sideEffects);\n\tif (violations.length > 0) {\n\t\tthrow new Error(`forbidden side effect during native adoption benchmark: ${violations.join(\",\")}`);\n\t}\n\tif (thrown) throw thrown;\n\treturn { value: value as T, sideEffects };\n}\n\nexport function evaluateNativeAdoptionGate(input: NativeAdoptionGateInput): NativeAdoptionGateDecision {\n\tconst budgets = createGateBudgets(input.budgets);\n\tconst movableFraction = clamp01(input.movableFraction);\n\tconst retainedTypeScriptP95Ns = Math.max(0, input.typescriptP95Ns) * (1 - movableFraction);\n\tconst sidecarNetP95Ns =\n\t\tretainedTypeScriptP95Ns + Math.max(0, input.projectedRustP95Ns) + Math.max(0, input.ipcOverheadP95Ns);\n\tconst projectedNetSpeedup = sidecarNetP95Ns > 0 ? Math.max(0, input.typescriptP95Ns) / sidecarNetP95Ns : 0;\n\tconst movableTypeScriptP95Ns = Math.max(0, input.typescriptP95Ns) * movableFraction;\n\tconst cpuSpeedup = input.projectedRustP95Ns > 0 ? movableTypeScriptP95Ns / input.projectedRustP95Ns : 0;\n\tconst ipcOverheadFraction =\n\t\tinput.typescriptP95Ns > 0 ? Math.max(0, input.ipcOverheadP95Ns) / input.typescriptP95Ns : 1;\n\tconst reasons: string[] = [];\n\n\tif (input.runtimeCallsites <= 0) reasons.push(\"runtime-callsite-absent\");\n\tif (input.bottleneckClass !== \"cpu\") reasons.push(`bottleneck-not-cpu:${input.bottleneckClass}`);\n\tif (input.typescriptP95Ns < budgets.minTypeScriptP95Ns) reasons.push(\"typescript-p95-too-small\");\n\tif (movableFraction < budgets.minMovableFraction) reasons.push(\"movable-fraction-too-low\");\n\tif (ipcOverheadFraction >= budgets.maxIpcOverheadFraction) reasons.push(\"ipc-overhead-too-high\");\n\tif (projectedNetSpeedup < budgets.minProjectedNetSpeedup) reasons.push(\"projected-net-speedup-too-low\");\n\tif (input.startupP95Ms > budgets.maxStartupP95Ms) reasons.push(\"startup-p95-too-high\");\n\tif (input.rssDeltaMb > budgets.maxRssDeltaMb) reasons.push(\"rss-delta-too-high\");\n\tif (input.archiveDeltaMb > budgets.maxArchiveDeltaMb) reasons.push(\"archive-delta-too-high\");\n\tfor (const violation of input.sideEffectViolations ?? []) {\n\t\treasons.push(`side-effect:${violation}`);\n\t}\n\n\treturn {\n\t\tverdict: reasons.length === 0 ? \"go\" : \"no-go\",\n\t\treasons,\n\t\tmetrics: {\n\t\t\tretainedTypeScriptP95Ns,\n\t\t\tsidecarNetP95Ns,\n\t\t\tprojectedNetSpeedup,\n\t\t\tcpuSpeedup,\n\t\t\tipcOverheadFraction,\n\t\t\tmovableFraction,\n\t\t},\n\t\tbudgets,\n\t};\n}\n\nexport function createNativeAdoptionBaseline(input: NativeAdoptionBaselineInput): NativeAdoptionBaseline {\n\tassertNativeAdoptionFixtureSecretFree(input.fixture);\n\tconst baseline = {\n\t\tschemaVersion: NATIVE_ADOPTION_BASELINE_SCHEMA_VERSION,\n\t\trepoSha: input.repoSha,\n\t\truntime: input.runtime,\n\t\tgeneratedAt: input.generatedAt,\n\t\tenv: {},\n\t\tfixture: input.fixture.manifest,\n\t\tmeasurements: input.measurements,\n\t\tdecision: input.decision,\n\t} satisfies NativeAdoptionBaseline;\n\tassertNativeAdoptionBaselineSecretFree(baseline);\n\treturn baseline;\n}\n\nexport function classifyNativeAdoptionCallsites(input: NativeAdoptionCallsiteInput): NativeAdoptionCallsiteSummary {\n\tconst bySymbol: NativeAdoptionCallsiteSummary[\"bySymbol\"] = {};\n\tfor (const symbol of input.symbols) {\n\t\tbySymbol[symbol] = { runtime: 0, test: 0, definition: 0, export: 0, harness: 0 };\n\t}\n\n\tfor (const file of input.files) {\n\t\tconst category = classifySourceFile(file);\n\t\tfor (const symbol of input.symbols) {\n\t\t\tconst symbolSummary = bySymbol[symbol];\n\t\t\tif (!symbolSummary) continue;\n\t\t\tconst count = countNativeAdoptionReferences(file, symbol, category);\n\t\t\tif (count === 0) continue;\n\t\t\tif (category === \"test\") symbolSummary.test += count;\n\t\t\telse if (category === \"definition\") symbolSummary.definition += count;\n\t\t\telse if (category === \"export\") symbolSummary.export += count;\n\t\t\telse if (category === \"harness\") symbolSummary.harness += count;\n\t\t\telse symbolSummary.runtime += count;\n\t\t}\n\t}\n\n\treturn {\n\t\truntimeCallsites: sumBySymbol(bySymbol, \"runtime\"),\n\t\ttestCallsites: sumBySymbol(bySymbol, \"test\"),\n\t\tdefinitionCallsites: sumBySymbol(bySymbol, \"definition\"),\n\t\texportCallsites: sumBySymbol(bySymbol, \"export\"),\n\t\tharnessCallsites: sumBySymbol(bySymbol, \"harness\"),\n\t\tbySymbol,\n\t};\n}\n\nexport function scanNativeAdoptionForbiddenImports(\n\tfiles: readonly NativeAdoptionSourceFile[],\n): NativeAdoptionForbiddenImportFinding[] {\n\tconst findings: NativeAdoptionForbiddenImportFinding[] = [];\n\tfor (const file of files) {\n\t\tfor (const match of findNativeAdoptionImportSpecifiers(file.content)) {\n\t\t\tif (FORBIDDEN_NATIVE_ADOPTION_IMPORTS.has(match.specifier)) {\n\t\t\t\tfindings.push({ path: file.path, specifier: match.specifier, statement: match.statement });\n\t\t\t}\n\t\t}\n\t}\n\treturn findings;\n}\n\nexport function assertNativeAdoptionTimedTargetImportSafe(content: string, path = \"<inline>\"): void {\n\tconst findings = scanNativeAdoptionForbiddenImports([{ path, content }]);\n\tif (findings.length > 0) {\n\t\tconst first = findings[0];\n\t\tthrow new Error(`forbidden static import in timed native adoption target: ${first?.specifier ?? \"unknown\"}`);\n\t}\n}\n\nfunction createFixtureContent(topic: string, index: number): string {\n\treturn [\n\t\t`Fixture document ${index} covers ${topic} retrieval behavior.`,\n\t\t\"It describes graph context ranking, memory evidence, ontology validation, cache policy, and session packing.\",\n\t\t\"The text is synthetic and contains no credentials, network endpoints, or external provider payloads.\",\n\t].join(\" \");\n}\n\nfunction createFixtureRankings(candidates: readonly ScoredContextCandidate[]): RetrievalRanking[] {\n\tconst lexical = candidates.map((candidate) => ({ id: candidate.id, score: candidate.score }));\n\tconst vector = [...candidates]\n\t\t.sort((a, b) => (a.topic ?? \"\").localeCompare(b.topic ?? \"\") || b.score - a.score)\n\t\t.map((candidate) => ({ id: candidate.id, score: candidate.score }));\n\tconst graph = [...candidates]\n\t\t.sort((a, b) => (a.path ?? \"\").localeCompare(b.path ?? \"\"))\n\t\t.map((candidate) => ({ id: candidate.id, score: candidate.score }));\n\treturn [\n\t\t{ name: \"lexical\", weight: 1, hits: lexical },\n\t\t{ name: \"vector\", weight: 1.15, hits: vector },\n\t\t{ name: \"graph\", weight: 0.85, hits: graph },\n\t];\n}\n\nfunction createVector(prng: Prng, dimensions: number): number[] {\n\treturn Array.from({ length: dimensions }, () => round6(prng.next() * 2 - 1));\n}\n\nfunction createMulberry32(seed: number): Prng {\n\tlet state = seed >>> 0;\n\treturn {\n\t\tnext: () => {\n\t\t\tstate += 0x6d2b79f5;\n\t\t\tlet value = state;\n\t\t\tvalue = Math.imul(value ^ (value >>> 15), value | 1);\n\t\t\tvalue ^= value + Math.imul(value ^ (value >>> 7), value | 61);\n\t\t\treturn ((value ^ (value >>> 14)) >>> 0) / 4_294_967_296;\n\t\t},\n\t};\n}\n\nfunction normalizeSeed(seed: number): number {\n\treturn Number.isFinite(seed) ? Math.floor(seed) >>> 0 : DEFAULT_NATIVE_ADOPTION_SEED;\n}\n\nfunction digestTargetResult(\n\ttarget: NativeAdoptionBenchmarkTarget,\n\toutput: unknown,\n\toperations: number,\n): NativeAdoptionTargetResult {\n\treturn {\n\t\ttarget,\n\t\toperations,\n\t\toutputDigest: sha256Hex(canonicalJsonStringify({ target, output })),\n\t};\n}\n\nfunction sha256Hex(value: string): string {\n\treturn createHash(\"sha256\").update(value, \"utf8\").digest(\"hex\");\n}\n\nfunction nearestRank(sortedSamples: readonly number[], percentile: number): number {\n\tif (sortedSamples.length === 0) return 0;\n\tconst index = Math.min(sortedSamples.length - 1, Math.max(0, Math.ceil(percentile * sortedSamples.length) - 1));\n\treturn sortedSamples[index] ?? 0;\n}\n\nfunction createEmptySideEffectCounts(): NativeAdoptionSideEffectCounts {\n\treturn { network: 0, spawn: 0, fileRead: 0 };\n}\n\nfunction createSideEffectRecorder(sideEffects: NativeAdoptionSideEffectCounts): NativeAdoptionSideEffectRecorder {\n\treturn {\n\t\trecordNetwork: () => {\n\t\t\tsideEffects.network += 1;\n\t\t\tthrow new Error(\"forbidden side effect: network\");\n\t\t},\n\t\trecordSpawn: () => {\n\t\t\tsideEffects.spawn += 1;\n\t\t\tthrow new Error(\"forbidden side effect: spawn\");\n\t\t},\n\t\trecordFileRead: () => {\n\t\t\tsideEffects.fileRead += 1;\n\t\t\tthrow new Error(\"forbidden side effect: file-read\");\n\t\t},\n\t};\n}\n\nfunction addSideEffects(\n\tleft: NativeAdoptionSideEffectCounts,\n\tright: NativeAdoptionSideEffectCounts,\n): NativeAdoptionSideEffectCounts {\n\treturn {\n\t\tnetwork: left.network + right.network,\n\t\tspawn: left.spawn + right.spawn,\n\t\tfileRead: left.fileRead + right.fileRead,\n\t};\n}\n\nfunction formatSideEffectViolations(sideEffects: NativeAdoptionSideEffectCounts): string[] {\n\tconst violations: string[] = [];\n\tif (sideEffects.network > 0) violations.push(`network:${sideEffects.network}`);\n\tif (sideEffects.spawn > 0) violations.push(`spawn:${sideEffects.spawn}`);\n\tif (sideEffects.fileRead > 0) violations.push(`fileRead:${sideEffects.fileRead}`);\n\treturn violations;\n}\n\nfunction createGateBudgets(input: Partial<NativeAdoptionGateBudgets> | undefined): NativeAdoptionGateBudgets {\n\treturn {\n\t\tminTypeScriptP95Ns: input?.minTypeScriptP95Ns ?? DEFAULT_MIN_TYPESCRIPT_P95_NS,\n\t\tminMovableFraction: input?.minMovableFraction ?? DEFAULT_MIN_MOVABLE_FRACTION,\n\t\tmaxIpcOverheadFraction: input?.maxIpcOverheadFraction ?? DEFAULT_MAX_IPC_OVERHEAD_FRACTION,\n\t\tminProjectedNetSpeedup: input?.minProjectedNetSpeedup ?? DEFAULT_MIN_NET_SPEEDUP,\n\t\tmaxStartupP95Ms: input?.maxStartupP95Ms ?? DEFAULT_MAX_STARTUP_P95_MS,\n\t\tmaxRssDeltaMb: input?.maxRssDeltaMb ?? DEFAULT_MAX_RSS_DELTA_MB,\n\t\tmaxArchiveDeltaMb: input?.maxArchiveDeltaMb ?? DEFAULT_MAX_ARCHIVE_DELTA_MB,\n\t};\n}\n\nfunction classifySourceFile(file: NativeAdoptionSourceFile): NativeAdoptionSourceCategory {\n\tconst normalizedPath = file.path.replaceAll(\"\\\\\", \"/\");\n\tif (normalizedPath.endsWith(\"/src/core/native-adoption-benchmark.ts\")) return \"harness\";\n\tif (normalizedPath.includes(\"/test/bench/\") || normalizedPath.endsWith(\"/test/native-adoption-runner.test.ts\")) {\n\t\treturn \"harness\";\n\t}\n\tif (/\\/(test|tests)\\//.test(normalizedPath) || /\\.test\\.tsx?$/.test(normalizedPath)) return \"test\";\n\tif (normalizedPath.endsWith(\"/context-graph-retrieval.ts\")) return \"definition\";\n\tif (normalizedPath.endsWith(\"/src/index.ts\")) return \"export\";\n\treturn \"runtime\";\n}\n\nfunction countNativeAdoptionReferences(\n\tfile: NativeAdoptionSourceFile,\n\tsymbol: string,\n\tcategory: NativeAdoptionSourceCategory,\n): number {\n\tif (category === \"export\") return countBarrelExportReferences(file, symbol);\n\tif (category === \"definition\") return countDefinitionReferences(file.content, symbol);\n\treturn countCallExpressionReferences(file.content, symbol);\n}\n\nfunction countDefinitionReferences(content: string, symbol: string): number {\n\tconst escaped = escapeRegExp(symbol);\n\treturn (\n\t\tcontent.match(new RegExp(`(?:export\\\\s+)?(?:function|const|let|var|class)\\\\s+${escaped}\\\\b`, \"g\"))?.length ?? 0\n\t);\n}\n\nfunction countCallExpressionReferences(content: string, symbol: string): number {\n\tconst escaped = escapeRegExp(symbol);\n\tconst sanitized = stripCommentsAndStrings(content);\n\tconst matches = sanitized.match(new RegExp(`(^|[^\\\\w.$])${escaped}\\\\s*\\\\(`, \"g\"));\n\treturn matches?.length ?? 0;\n}\n\nfunction countSymbolReferences(content: string, symbol: string): number {\n\tconst escaped = escapeRegExp(symbol);\n\treturn content.match(new RegExp(`\\\\b${escaped}\\\\b`, \"g\"))?.length ?? 0;\n}\n\nfunction countBarrelExportReferences(file: NativeAdoptionSourceFile, symbol: string): number {\n\tconst normalizedPath = file.path.replaceAll(\"\\\\\", \"/\");\n\tif (!normalizedPath.endsWith(\"/src/index.ts\")) return 0;\n\tif (countSymbolReferences(file.content, symbol) > 0) return 0;\n\treturn file.content.includes(\"context-graph-retrieval.ts\") ? 1 : 0;\n}\n\nfunction sumBySymbol(\n\tbySymbol: NativeAdoptionCallsiteSummary[\"bySymbol\"],\n\tkey: \"runtime\" | \"test\" | \"definition\" | \"export\" | \"harness\",\n): number {\n\treturn Object.values(bySymbol).reduce((sum, value) => sum + value[key], 0);\n}\n\nfunction visitNativeAdoptionSecretValue(\n\tvalue: unknown,\n\tpath: string,\n\tfindings: NativeAdoptionSecretScanFinding[],\n\tseen: Set<object>,\n): void {\n\tif (typeof value === \"string\") {\n\t\tfor (const { name, pattern } of SECRET_PATTERNS) {\n\t\t\tif (pattern.test(value)) findings.push({ path, pattern: name });\n\t\t}\n\t\treturn;\n\t}\n\tif (typeof value !== \"object\" || value === null) return;\n\tif (seen.has(value)) return;\n\tseen.add(value);\n\tif (Array.isArray(value)) {\n\t\tvalue.forEach((entry, index) => {\n\t\t\tvisitNativeAdoptionSecretValue(entry, `${path}[${index}]`, findings, seen);\n\t\t});\n\t\treturn;\n\t}\n\tfor (const [key, entry] of Object.entries(value as Record<string, unknown>)) {\n\t\tvisitNativeAdoptionSecretValue(entry, `${path}.${key}`, findings, seen);\n\t}\n}\n\nfunction findNativeAdoptionImportSpecifiers(content: string): Array<{ specifier: string; statement: string }> {\n\tconst imports: Array<{ specifier: string; statement: string }> = [];\n\tconst sanitized = stripCommentsAndStrings(content, { keepImportSpecifiers: true });\n\tconst importPattern =\n\t\t/\\bimport\\s+(?:type\\s+)?(?:[^\"';]+?\\s+from\\s+)?[\"']([^\"']+)[\"']|\\brequire\\(\\s*[\"']([^\"']+)[\"']\\s*\\)/g;\n\tfor (const match of sanitized.matchAll(importPattern)) {\n\t\tconst specifier = match[1] ?? match[2];\n\t\tif (!specifier) continue;\n\t\timports.push({ specifier, statement: match[0] });\n\t}\n\treturn imports;\n}\n\nfunction stripCommentsAndStrings(content: string, options: { keepImportSpecifiers?: boolean } = {}): string {\n\tlet output = \"\";\n\tlet index = 0;\n\tlet state: \"code\" | \"single\" | \"double\" | \"template\" | \"line\" | \"block\" = \"code\";\n\twhile (index < content.length) {\n\t\tconst char = content[index] ?? \"\";\n\t\tconst next = content[index + 1] ?? \"\";\n\t\tif (state === \"code\") {\n\t\t\tif (char === \"/\" && next === \"/\") {\n\t\t\t\toutput += \" \";\n\t\t\t\tindex += 2;\n\t\t\t\tstate = \"line\";\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (char === \"/\" && next === \"*\") {\n\t\t\t\toutput += \" \";\n\t\t\t\tindex += 2;\n\t\t\t\tstate = \"block\";\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (char === \"'\") {\n\t\t\t\toutput += options.keepImportSpecifiers ? char : \" \";\n\t\t\t\tindex += 1;\n\t\t\t\tstate = \"single\";\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (char === '\"') {\n\t\t\t\toutput += options.keepImportSpecifiers ? char : \" \";\n\t\t\t\tindex += 1;\n\t\t\t\tstate = \"double\";\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (char === \"`\") {\n\t\t\t\toutput += \" \";\n\t\t\t\tindex += 1;\n\t\t\t\tstate = \"template\";\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\toutput += char;\n\t\t\tindex += 1;\n\t\t\tcontinue;\n\t\t}\n\t\tif (state === \"line\") {\n\t\t\toutput += char === \"\\n\" ? \"\\n\" : \" \";\n\t\t\tindex += 1;\n\t\t\tif (char === \"\\n\") state = \"code\";\n\t\t\tcontinue;\n\t\t}\n\t\tif (state === \"block\") {\n\t\t\toutput += char === \"\\n\" ? \"\\n\" : \" \";\n\t\t\tif (char === \"*\" && next === \"/\") {\n\t\t\t\toutput += \" \";\n\t\t\t\tindex += 2;\n\t\t\t\tstate = \"code\";\n\t\t\t} else {\n\t\t\t\tindex += 1;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tconst quote = state === \"single\" ? \"'\" : state === \"double\" ? '\"' : \"`\";\n\t\toutput += options.keepImportSpecifiers && state !== \"template\" ? char : char === \"\\n\" ? \"\\n\" : \" \";\n\t\tif (char === \"\\\\\") {\n\t\t\tconst escaped = content[index + 1] ?? \"\";\n\t\t\toutput += options.keepImportSpecifiers && state !== \"template\" ? escaped : escaped === \"\\n\" ? \"\\n\" : \" \";\n\t\t\tindex += 2;\n\t\t\tcontinue;\n\t\t}\n\t\tindex += 1;\n\t\tif (char === quote) state = \"code\";\n\t}\n\treturn output;\n}\n\nfunction escapeRegExp(value: string): string {\n\treturn value.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n\nfunction round6(value: number): number {\n\treturn Math.round(value * 1_000_000) / 1_000_000;\n}\n\nfunction clamp01(value: number): number {\n\tif (!Number.isFinite(value)) return 0;\n\tif (value < 0) return 0;\n\tif (value > 1) return 1;\n\treturn value;\n}\n"]}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
export type TraceSink = "local" | "braintrust";
|
|
2
|
-
export type TraceContentTier = "metadata" | "summary";
|
|
3
|
-
export interface TraceSettings {
|
|
4
|
-
enabled?: boolean;
|
|
5
|
-
sink?: TraceSink;
|
|
6
|
-
contentTier?: TraceContentTier;
|
|
7
|
-
}
|
|
8
|
-
export interface TraceEnvironment {
|
|
9
|
-
offline?: boolean;
|
|
10
|
-
trace?: boolean;
|
|
11
|
-
}
|
|
12
|
-
export interface TraceArtifactInput {
|
|
13
|
-
path: string;
|
|
14
|
-
exists: boolean;
|
|
15
|
-
allowed: boolean;
|
|
16
|
-
sizeBytes?: number;
|
|
17
|
-
sha256?: string;
|
|
18
|
-
}
|
|
19
|
-
export interface TraceEventInput {
|
|
20
|
-
runId: string;
|
|
21
|
-
sessionId?: string;
|
|
22
|
-
operationId: string;
|
|
23
|
-
timestamp: string;
|
|
24
|
-
kind: string;
|
|
25
|
-
status: string;
|
|
26
|
-
dataHash?: string;
|
|
27
|
-
data?: TraceJsonObject;
|
|
28
|
-
artifacts?: readonly TraceArtifactInput[];
|
|
29
|
-
}
|
|
30
|
-
export type TraceJsonPrimitive = string | number | boolean | null;
|
|
31
|
-
export type TraceJsonValue = TraceJsonPrimitive | TraceJsonValue[] | TraceJsonObject;
|
|
32
|
-
export type TraceJsonObject = {
|
|
33
|
-
[key: string]: TraceJsonValue;
|
|
34
|
-
};
|
|
35
|
-
export interface ObservabilityTraceArtifact {
|
|
36
|
-
pathHash: string;
|
|
37
|
-
relPath?: string;
|
|
38
|
-
exists: boolean;
|
|
39
|
-
allowed: boolean;
|
|
40
|
-
sizeBytes?: number;
|
|
41
|
-
sha256?: string;
|
|
42
|
-
}
|
|
43
|
-
export interface ObservabilityTraceV1 {
|
|
44
|
-
schemaVersion: "omk.observability.trace.v1";
|
|
45
|
-
traceId: string;
|
|
46
|
-
runIdHash: string;
|
|
47
|
-
sessionIdHash?: string;
|
|
48
|
-
operationId: string;
|
|
49
|
-
timestamp: string;
|
|
50
|
-
source: "harness-control" | "verification" | "package-manager" | "advisor" | "simplify";
|
|
51
|
-
kind: string;
|
|
52
|
-
status: string;
|
|
53
|
-
dataHash: string;
|
|
54
|
-
sanitizedData: TraceJsonObject;
|
|
55
|
-
artifacts: ObservabilityTraceArtifact[];
|
|
56
|
-
external?: {
|
|
57
|
-
sink: "braintrust";
|
|
58
|
-
contentTier: TraceContentTier;
|
|
59
|
-
payloadBytes: number;
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
export interface CreateTraceOptions {
|
|
63
|
-
source: ObservabilityTraceV1["source"];
|
|
64
|
-
cwd?: string;
|
|
65
|
-
sink?: TraceSink;
|
|
66
|
-
contentTier?: TraceContentTier;
|
|
67
|
-
}
|
|
68
|
-
export interface TraceExportDecision {
|
|
69
|
-
allowed: boolean;
|
|
70
|
-
sink: TraceSink;
|
|
71
|
-
contentTier: TraceContentTier;
|
|
72
|
-
rule: string;
|
|
73
|
-
reason: string;
|
|
74
|
-
}
|
|
75
|
-
export declare function hashTraceValue(value: string): string;
|
|
76
|
-
export declare function shouldExportTrace(settings: TraceSettings, env?: TraceEnvironment): boolean;
|
|
77
|
-
export declare function decideExternalSink(settings: TraceSettings, env?: TraceEnvironment): TraceExportDecision;
|
|
78
|
-
export declare function sanitizeTraceData(data?: TraceJsonObject): TraceJsonObject;
|
|
79
|
-
export declare function createObservabilityTrace(event: TraceEventInput, options: CreateTraceOptions): ObservabilityTraceV1;
|
|
80
|
-
//# sourceMappingURL=observability-trace.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observability-trace.d.ts","sourceRoot":"","sources":["../../src/core/observability-trace.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from \"node:crypto\";\nimport path from \"node:path\";\n\nexport type TraceSink = \"local\" | \"braintrust\";\nexport type TraceContentTier = \"metadata\" | \"summary\";\n\nexport interface TraceSettings {\n\tenabled?: boolean;\n\tsink?: TraceSink;\n\tcontentTier?: TraceContentTier;\n}\n\nexport interface TraceEnvironment {\n\toffline?: boolean;\n\ttrace?: boolean;\n}\n\nexport interface TraceArtifactInput {\n\tpath: string;\n\texists: boolean;\n\tallowed: boolean;\n\tsizeBytes?: number;\n\tsha256?: string;\n}\n\nexport interface TraceEventInput {\n\trunId: string;\n\tsessionId?: string;\n\toperationId: string;\n\ttimestamp: string;\n\tkind: string;\n\tstatus: string;\n\tdataHash?: string;\n\tdata?: TraceJsonObject;\n\tartifacts?: readonly TraceArtifactInput[];\n}\n\nexport type TraceJsonPrimitive = string | number | boolean | null;\nexport type TraceJsonValue = TraceJsonPrimitive | TraceJsonValue[] | TraceJsonObject;\nexport type TraceJsonObject = { [key: string]: TraceJsonValue };\n\nexport interface ObservabilityTraceArtifact {\n\tpathHash: string;\n\trelPath?: string;\n\texists: boolean;\n\tallowed: boolean;\n\tsizeBytes?: number;\n\tsha256?: string;\n}\n\nexport interface ObservabilityTraceV1 {\n\tschemaVersion: \"omk.observability.trace.v1\";\n\ttraceId: string;\n\trunIdHash: string;\n\tsessionIdHash?: string;\n\toperationId: string;\n\ttimestamp: string;\n\tsource: \"harness-control\" | \"verification\" | \"package-manager\" | \"advisor\" | \"simplify\";\n\tkind: string;\n\tstatus: string;\n\tdataHash: string;\n\tsanitizedData: TraceJsonObject;\n\tartifacts: ObservabilityTraceArtifact[];\n\texternal?: { sink: \"braintrust\"; contentTier: TraceContentTier; payloadBytes: number };\n}\n\nexport interface CreateTraceOptions {\n\tsource: ObservabilityTraceV1[\"source\"];\n\tcwd?: string;\n\tsink?: TraceSink;\n\tcontentTier?: TraceContentTier;\n}\n\nexport interface TraceExportDecision {\n\tallowed: boolean;\n\tsink: TraceSink;\n\tcontentTier: TraceContentTier;\n\trule: string;\n\treason: string;\n}\n\nconst DROP_KEY_PATTERN =\n\t/^(?:stdout|stderr|prompt|completion|response|tool[_-]?output|tool[_-]?input|env|environment|headers?|cookies?|authorization)$/i;\nconst SECRET_KEY_PATTERN = /(?:secret|token|api[_-]?key|password|credential|private[_-]?key|authorization|cookie)/i;\nconst TOKEN_VALUE_PATTERN =\n\t/(?:Bearer\\s+[A-Za-z0-9._~+/=-]+|sk-(?:proj-|ant-)?[A-Za-z0-9_-]{12,}|\\beyJ[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\b|-----BEGIN [^-]+PRIVATE KEY-----)/i;\nconst SENSITIVE_PATH_PATTERN =\n\t/(?:^|[/\\\\])(?:\\.env[^/\\\\]*|auth\\.json|oauth\\.json|\\.ssh|\\.aws|.*(?:secret|token|credential|private[_-]?key).*)/i;\n\nfunction sha256(value: string): string {\n\treturn createHash(\"sha256\").update(value).digest(\"hex\");\n}\n\nfunction stableStringify(value: TraceJsonValue): string {\n\tif (value === null) return \"null\";\n\tif (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\")\n\t\treturn JSON.stringify(value);\n\tif (Array.isArray(value)) return `[${value.map((entry) => stableStringify(entry)).join(\",\")}]`;\n\treturn `{${Object.keys(value)\n\t\t.sort()\n\t\t.map((key) => `${JSON.stringify(key)}:${stableStringify(value[key] ?? null)}`)\n\t\t.join(\",\")}}`;\n}\n\nexport function hashTraceValue(value: string): string {\n\treturn sha256(value);\n}\n\nexport function shouldExportTrace(settings: TraceSettings, env: TraceEnvironment = {}): boolean {\n\tif (env.offline) return false;\n\treturn settings.enabled === true || env.trace === true;\n}\n\nexport function decideExternalSink(settings: TraceSettings, env: TraceEnvironment = {}): TraceExportDecision {\n\tconst sink = settings.sink ?? \"local\";\n\tconst contentTier = settings.contentTier ?? \"metadata\";\n\tif (!shouldExportTrace(settings, env)) {\n\t\treturn { allowed: false, sink, contentTier, rule: \"trace.disabled\", reason: \"Trace export is disabled.\" };\n\t}\n\tif (env.offline) {\n\t\treturn {\n\t\t\tallowed: false,\n\t\t\tsink,\n\t\t\tcontentTier,\n\t\t\trule: \"trace.offline\",\n\t\t\treason: \"Offline mode disables external trace export.\",\n\t\t};\n\t}\n\tif (sink !== \"braintrust\") {\n\t\treturn {\n\t\t\tallowed: false,\n\t\t\tsink,\n\t\t\tcontentTier,\n\t\t\trule: \"trace.local\",\n\t\t\treason: \"Local trace sink does not export externally.\",\n\t\t};\n\t}\n\treturn {\n\t\tallowed: true,\n\t\tsink,\n\t\tcontentTier,\n\t\trule: \"trace.external_allowed\",\n\t\treason: \"External trace sink is explicitly enabled.\",\n\t};\n}\n\nexport function sanitizeTraceData(data: TraceJsonObject = {}): TraceJsonObject {\n\tconst result: TraceJsonObject = {};\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tif (DROP_KEY_PATTERN.test(key)) continue;\n\t\tif (SECRET_KEY_PATTERN.test(key)) {\n\t\t\tresult[key] = \"[redacted]\";\n\t\t\tcontinue;\n\t\t}\n\t\tresult[key] = sanitizeTraceValue(value);\n\t}\n\treturn result;\n}\n\nfunction sanitizeTraceValue(value: TraceJsonValue): TraceJsonValue {\n\tif (typeof value === \"string\") {\n\t\tif (TOKEN_VALUE_PATTERN.test(value)) return \"[redacted]\";\n\t\tif (value.length > 2000) return `${value.slice(0, 2000)}…[truncated]`;\n\t\treturn value;\n\t}\n\tif (typeof value === \"number\" || typeof value === \"boolean\" || value === null) return value;\n\tif (Array.isArray(value)) return value.slice(0, 80).map((entry) => sanitizeTraceValue(entry));\n\treturn sanitizeTraceData(value);\n}\n\nfunction maybeRelativePath(cwd: string | undefined, artifactPath: string): string | undefined {\n\tif (!cwd) return undefined;\n\tconst resolvedCwd = path.resolve(cwd);\n\tconst resolvedArtifact = path.resolve(cwd, artifactPath);\n\tif (SENSITIVE_PATH_PATTERN.test(resolvedArtifact)) return undefined;\n\tconst relative = path.relative(resolvedCwd, resolvedArtifact).replace(/\\\\/g, \"/\");\n\tif (relative === \"\" || relative.startsWith(\"..\") || path.isAbsolute(relative)) return undefined;\n\treturn relative;\n}\n\nfunction sanitizeArtifacts(\n\tartifacts: readonly TraceArtifactInput[] | undefined,\n\tcwd: string | undefined,\n): ObservabilityTraceArtifact[] {\n\treturn (artifacts ?? []).map((artifact) => ({\n\t\tpathHash: sha256(path.resolve(cwd ?? \"/\", artifact.path)),\n\t\t...(maybeRelativePath(cwd, artifact.path) === undefined\n\t\t\t? {}\n\t\t\t: { relPath: maybeRelativePath(cwd, artifact.path) }),\n\t\texists: artifact.exists,\n\t\tallowed: artifact.allowed,\n\t\t...(artifact.sizeBytes === undefined ? {} : { sizeBytes: artifact.sizeBytes }),\n\t\t...(artifact.sha256 === undefined ? {} : { sha256: artifact.sha256 }),\n\t}));\n}\n\nexport function createObservabilityTrace(event: TraceEventInput, options: CreateTraceOptions): ObservabilityTraceV1 {\n\tconst sanitizedData = sanitizeTraceData(event.data ?? {});\n\tconst dataHash = event.dataHash ?? sha256(stableStringify(sanitizedData));\n\tconst artifacts = sanitizeArtifacts(event.artifacts, options.cwd);\n\tconst trace: ObservabilityTraceV1 = {\n\t\tschemaVersion: \"omk.observability.trace.v1\",\n\t\ttraceId: sha256(`${event.runId}:${event.operationId}:${event.timestamp}:${event.kind}`),\n\t\trunIdHash: sha256(event.runId),\n\t\t...(event.sessionId === undefined ? {} : { sessionIdHash: sha256(event.sessionId) }),\n\t\toperationId: event.operationId,\n\t\ttimestamp: event.timestamp,\n\t\tsource: options.source,\n\t\tkind: event.kind,\n\t\tstatus: event.status,\n\t\tdataHash,\n\t\tsanitizedData,\n\t\tartifacts,\n\t};\n\tif (options.sink === \"braintrust\") {\n\t\ttrace.external = {\n\t\t\tsink: \"braintrust\",\n\t\t\tcontentTier: options.contentTier ?? \"metadata\",\n\t\t\tpayloadBytes: Buffer.byteLength(stableStringify(sanitizedData)),\n\t\t};\n\t}\n\treturn trace;\n}\n"]}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import { createHash } from "node:crypto";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
const DROP_KEY_PATTERN = /^(?:stdout|stderr|prompt|completion|response|tool[_-]?output|tool[_-]?input|env|environment|headers?|cookies?|authorization)$/i;
|
|
4
|
-
const SECRET_KEY_PATTERN = /(?:secret|token|api[_-]?key|password|credential|private[_-]?key|authorization|cookie)/i;
|
|
5
|
-
const TOKEN_VALUE_PATTERN = /(?:Bearer\s+[A-Za-z0-9._~+/=-]+|sk-(?:proj-|ant-)?[A-Za-z0-9_-]{12,}|\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b|-----BEGIN [^-]+PRIVATE KEY-----)/i;
|
|
6
|
-
const SENSITIVE_PATH_PATTERN = /(?:^|[/\\])(?:\.env[^/\\]*|auth\.json|oauth\.json|\.ssh|\.aws|.*(?:secret|token|credential|private[_-]?key).*)/i;
|
|
7
|
-
function sha256(value) {
|
|
8
|
-
return createHash("sha256").update(value).digest("hex");
|
|
9
|
-
}
|
|
10
|
-
function stableStringify(value) {
|
|
11
|
-
if (value === null)
|
|
12
|
-
return "null";
|
|
13
|
-
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean")
|
|
14
|
-
return JSON.stringify(value);
|
|
15
|
-
if (Array.isArray(value))
|
|
16
|
-
return `[${value.map((entry) => stableStringify(entry)).join(",")}]`;
|
|
17
|
-
return `{${Object.keys(value)
|
|
18
|
-
.sort()
|
|
19
|
-
.map((key) => `${JSON.stringify(key)}:${stableStringify(value[key] ?? null)}`)
|
|
20
|
-
.join(",")}}`;
|
|
21
|
-
}
|
|
22
|
-
export function hashTraceValue(value) {
|
|
23
|
-
return sha256(value);
|
|
24
|
-
}
|
|
25
|
-
export function shouldExportTrace(settings, env = {}) {
|
|
26
|
-
if (env.offline)
|
|
27
|
-
return false;
|
|
28
|
-
return settings.enabled === true || env.trace === true;
|
|
29
|
-
}
|
|
30
|
-
export function decideExternalSink(settings, env = {}) {
|
|
31
|
-
const sink = settings.sink ?? "local";
|
|
32
|
-
const contentTier = settings.contentTier ?? "metadata";
|
|
33
|
-
if (!shouldExportTrace(settings, env)) {
|
|
34
|
-
return { allowed: false, sink, contentTier, rule: "trace.disabled", reason: "Trace export is disabled." };
|
|
35
|
-
}
|
|
36
|
-
if (env.offline) {
|
|
37
|
-
return {
|
|
38
|
-
allowed: false,
|
|
39
|
-
sink,
|
|
40
|
-
contentTier,
|
|
41
|
-
rule: "trace.offline",
|
|
42
|
-
reason: "Offline mode disables external trace export.",
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
if (sink !== "braintrust") {
|
|
46
|
-
return {
|
|
47
|
-
allowed: false,
|
|
48
|
-
sink,
|
|
49
|
-
contentTier,
|
|
50
|
-
rule: "trace.local",
|
|
51
|
-
reason: "Local trace sink does not export externally.",
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
return {
|
|
55
|
-
allowed: true,
|
|
56
|
-
sink,
|
|
57
|
-
contentTier,
|
|
58
|
-
rule: "trace.external_allowed",
|
|
59
|
-
reason: "External trace sink is explicitly enabled.",
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
export function sanitizeTraceData(data = {}) {
|
|
63
|
-
const result = {};
|
|
64
|
-
for (const [key, value] of Object.entries(data)) {
|
|
65
|
-
if (DROP_KEY_PATTERN.test(key))
|
|
66
|
-
continue;
|
|
67
|
-
if (SECRET_KEY_PATTERN.test(key)) {
|
|
68
|
-
result[key] = "[redacted]";
|
|
69
|
-
continue;
|
|
70
|
-
}
|
|
71
|
-
result[key] = sanitizeTraceValue(value);
|
|
72
|
-
}
|
|
73
|
-
return result;
|
|
74
|
-
}
|
|
75
|
-
function sanitizeTraceValue(value) {
|
|
76
|
-
if (typeof value === "string") {
|
|
77
|
-
if (TOKEN_VALUE_PATTERN.test(value))
|
|
78
|
-
return "[redacted]";
|
|
79
|
-
if (value.length > 2000)
|
|
80
|
-
return `${value.slice(0, 2000)}…[truncated]`;
|
|
81
|
-
return value;
|
|
82
|
-
}
|
|
83
|
-
if (typeof value === "number" || typeof value === "boolean" || value === null)
|
|
84
|
-
return value;
|
|
85
|
-
if (Array.isArray(value))
|
|
86
|
-
return value.slice(0, 80).map((entry) => sanitizeTraceValue(entry));
|
|
87
|
-
return sanitizeTraceData(value);
|
|
88
|
-
}
|
|
89
|
-
function maybeRelativePath(cwd, artifactPath) {
|
|
90
|
-
if (!cwd)
|
|
91
|
-
return undefined;
|
|
92
|
-
const resolvedCwd = path.resolve(cwd);
|
|
93
|
-
const resolvedArtifact = path.resolve(cwd, artifactPath);
|
|
94
|
-
if (SENSITIVE_PATH_PATTERN.test(resolvedArtifact))
|
|
95
|
-
return undefined;
|
|
96
|
-
const relative = path.relative(resolvedCwd, resolvedArtifact).replace(/\\/g, "/");
|
|
97
|
-
if (relative === "" || relative.startsWith("..") || path.isAbsolute(relative))
|
|
98
|
-
return undefined;
|
|
99
|
-
return relative;
|
|
100
|
-
}
|
|
101
|
-
function sanitizeArtifacts(artifacts, cwd) {
|
|
102
|
-
return (artifacts ?? []).map((artifact) => ({
|
|
103
|
-
pathHash: sha256(path.resolve(cwd ?? "/", artifact.path)),
|
|
104
|
-
...(maybeRelativePath(cwd, artifact.path) === undefined
|
|
105
|
-
? {}
|
|
106
|
-
: { relPath: maybeRelativePath(cwd, artifact.path) }),
|
|
107
|
-
exists: artifact.exists,
|
|
108
|
-
allowed: artifact.allowed,
|
|
109
|
-
...(artifact.sizeBytes === undefined ? {} : { sizeBytes: artifact.sizeBytes }),
|
|
110
|
-
...(artifact.sha256 === undefined ? {} : { sha256: artifact.sha256 }),
|
|
111
|
-
}));
|
|
112
|
-
}
|
|
113
|
-
export function createObservabilityTrace(event, options) {
|
|
114
|
-
const sanitizedData = sanitizeTraceData(event.data ?? {});
|
|
115
|
-
const dataHash = event.dataHash ?? sha256(stableStringify(sanitizedData));
|
|
116
|
-
const artifacts = sanitizeArtifacts(event.artifacts, options.cwd);
|
|
117
|
-
const trace = {
|
|
118
|
-
schemaVersion: "omk.observability.trace.v1",
|
|
119
|
-
traceId: sha256(`${event.runId}:${event.operationId}:${event.timestamp}:${event.kind}`),
|
|
120
|
-
runIdHash: sha256(event.runId),
|
|
121
|
-
...(event.sessionId === undefined ? {} : { sessionIdHash: sha256(event.sessionId) }),
|
|
122
|
-
operationId: event.operationId,
|
|
123
|
-
timestamp: event.timestamp,
|
|
124
|
-
source: options.source,
|
|
125
|
-
kind: event.kind,
|
|
126
|
-
status: event.status,
|
|
127
|
-
dataHash,
|
|
128
|
-
sanitizedData,
|
|
129
|
-
artifacts,
|
|
130
|
-
};
|
|
131
|
-
if (options.sink === "braintrust") {
|
|
132
|
-
trace.external = {
|
|
133
|
-
sink: "braintrust",
|
|
134
|
-
contentTier: options.contentTier ?? "metadata",
|
|
135
|
-
payloadBytes: Buffer.byteLength(stableStringify(sanitizedData)),
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
return trace;
|
|
139
|
-
}
|
|
140
|
-
//# sourceMappingURL=observability-trace.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observability-trace.js","sourceRoot":"","sources":["../../src/core/observability-trace.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from \"node:crypto\";\nimport path from \"node:path\";\n\nexport type TraceSink = \"local\" | \"braintrust\";\nexport type TraceContentTier = \"metadata\" | \"summary\";\n\nexport interface TraceSettings {\n\tenabled?: boolean;\n\tsink?: TraceSink;\n\tcontentTier?: TraceContentTier;\n}\n\nexport interface TraceEnvironment {\n\toffline?: boolean;\n\ttrace?: boolean;\n}\n\nexport interface TraceArtifactInput {\n\tpath: string;\n\texists: boolean;\n\tallowed: boolean;\n\tsizeBytes?: number;\n\tsha256?: string;\n}\n\nexport interface TraceEventInput {\n\trunId: string;\n\tsessionId?: string;\n\toperationId: string;\n\ttimestamp: string;\n\tkind: string;\n\tstatus: string;\n\tdataHash?: string;\n\tdata?: TraceJsonObject;\n\tartifacts?: readonly TraceArtifactInput[];\n}\n\nexport type TraceJsonPrimitive = string | number | boolean | null;\nexport type TraceJsonValue = TraceJsonPrimitive | TraceJsonValue[] | TraceJsonObject;\nexport type TraceJsonObject = { [key: string]: TraceJsonValue };\n\nexport interface ObservabilityTraceArtifact {\n\tpathHash: string;\n\trelPath?: string;\n\texists: boolean;\n\tallowed: boolean;\n\tsizeBytes?: number;\n\tsha256?: string;\n}\n\nexport interface ObservabilityTraceV1 {\n\tschemaVersion: \"omk.observability.trace.v1\";\n\ttraceId: string;\n\trunIdHash: string;\n\tsessionIdHash?: string;\n\toperationId: string;\n\ttimestamp: string;\n\tsource: \"harness-control\" | \"verification\" | \"package-manager\" | \"advisor\" | \"simplify\";\n\tkind: string;\n\tstatus: string;\n\tdataHash: string;\n\tsanitizedData: TraceJsonObject;\n\tartifacts: ObservabilityTraceArtifact[];\n\texternal?: { sink: \"braintrust\"; contentTier: TraceContentTier; payloadBytes: number };\n}\n\nexport interface CreateTraceOptions {\n\tsource: ObservabilityTraceV1[\"source\"];\n\tcwd?: string;\n\tsink?: TraceSink;\n\tcontentTier?: TraceContentTier;\n}\n\nexport interface TraceExportDecision {\n\tallowed: boolean;\n\tsink: TraceSink;\n\tcontentTier: TraceContentTier;\n\trule: string;\n\treason: string;\n}\n\nconst DROP_KEY_PATTERN =\n\t/^(?:stdout|stderr|prompt|completion|response|tool[_-]?output|tool[_-]?input|env|environment|headers?|cookies?|authorization)$/i;\nconst SECRET_KEY_PATTERN = /(?:secret|token|api[_-]?key|password|credential|private[_-]?key|authorization|cookie)/i;\nconst TOKEN_VALUE_PATTERN =\n\t/(?:Bearer\\s+[A-Za-z0-9._~+/=-]+|sk-(?:proj-|ant-)?[A-Za-z0-9_-]{12,}|\\beyJ[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\b|-----BEGIN [^-]+PRIVATE KEY-----)/i;\nconst SENSITIVE_PATH_PATTERN =\n\t/(?:^|[/\\\\])(?:\\.env[^/\\\\]*|auth\\.json|oauth\\.json|\\.ssh|\\.aws|.*(?:secret|token|credential|private[_-]?key).*)/i;\n\nfunction sha256(value: string): string {\n\treturn createHash(\"sha256\").update(value).digest(\"hex\");\n}\n\nfunction stableStringify(value: TraceJsonValue): string {\n\tif (value === null) return \"null\";\n\tif (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\")\n\t\treturn JSON.stringify(value);\n\tif (Array.isArray(value)) return `[${value.map((entry) => stableStringify(entry)).join(\",\")}]`;\n\treturn `{${Object.keys(value)\n\t\t.sort()\n\t\t.map((key) => `${JSON.stringify(key)}:${stableStringify(value[key] ?? null)}`)\n\t\t.join(\",\")}}`;\n}\n\nexport function hashTraceValue(value: string): string {\n\treturn sha256(value);\n}\n\nexport function shouldExportTrace(settings: TraceSettings, env: TraceEnvironment = {}): boolean {\n\tif (env.offline) return false;\n\treturn settings.enabled === true || env.trace === true;\n}\n\nexport function decideExternalSink(settings: TraceSettings, env: TraceEnvironment = {}): TraceExportDecision {\n\tconst sink = settings.sink ?? \"local\";\n\tconst contentTier = settings.contentTier ?? \"metadata\";\n\tif (!shouldExportTrace(settings, env)) {\n\t\treturn { allowed: false, sink, contentTier, rule: \"trace.disabled\", reason: \"Trace export is disabled.\" };\n\t}\n\tif (env.offline) {\n\t\treturn {\n\t\t\tallowed: false,\n\t\t\tsink,\n\t\t\tcontentTier,\n\t\t\trule: \"trace.offline\",\n\t\t\treason: \"Offline mode disables external trace export.\",\n\t\t};\n\t}\n\tif (sink !== \"braintrust\") {\n\t\treturn {\n\t\t\tallowed: false,\n\t\t\tsink,\n\t\t\tcontentTier,\n\t\t\trule: \"trace.local\",\n\t\t\treason: \"Local trace sink does not export externally.\",\n\t\t};\n\t}\n\treturn {\n\t\tallowed: true,\n\t\tsink,\n\t\tcontentTier,\n\t\trule: \"trace.external_allowed\",\n\t\treason: \"External trace sink is explicitly enabled.\",\n\t};\n}\n\nexport function sanitizeTraceData(data: TraceJsonObject = {}): TraceJsonObject {\n\tconst result: TraceJsonObject = {};\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tif (DROP_KEY_PATTERN.test(key)) continue;\n\t\tif (SECRET_KEY_PATTERN.test(key)) {\n\t\t\tresult[key] = \"[redacted]\";\n\t\t\tcontinue;\n\t\t}\n\t\tresult[key] = sanitizeTraceValue(value);\n\t}\n\treturn result;\n}\n\nfunction sanitizeTraceValue(value: TraceJsonValue): TraceJsonValue {\n\tif (typeof value === \"string\") {\n\t\tif (TOKEN_VALUE_PATTERN.test(value)) return \"[redacted]\";\n\t\tif (value.length > 2000) return `${value.slice(0, 2000)}…[truncated]`;\n\t\treturn value;\n\t}\n\tif (typeof value === \"number\" || typeof value === \"boolean\" || value === null) return value;\n\tif (Array.isArray(value)) return value.slice(0, 80).map((entry) => sanitizeTraceValue(entry));\n\treturn sanitizeTraceData(value);\n}\n\nfunction maybeRelativePath(cwd: string | undefined, artifactPath: string): string | undefined {\n\tif (!cwd) return undefined;\n\tconst resolvedCwd = path.resolve(cwd);\n\tconst resolvedArtifact = path.resolve(cwd, artifactPath);\n\tif (SENSITIVE_PATH_PATTERN.test(resolvedArtifact)) return undefined;\n\tconst relative = path.relative(resolvedCwd, resolvedArtifact).replace(/\\\\/g, \"/\");\n\tif (relative === \"\" || relative.startsWith(\"..\") || path.isAbsolute(relative)) return undefined;\n\treturn relative;\n}\n\nfunction sanitizeArtifacts(\n\tartifacts: readonly TraceArtifactInput[] | undefined,\n\tcwd: string | undefined,\n): ObservabilityTraceArtifact[] {\n\treturn (artifacts ?? []).map((artifact) => ({\n\t\tpathHash: sha256(path.resolve(cwd ?? \"/\", artifact.path)),\n\t\t...(maybeRelativePath(cwd, artifact.path) === undefined\n\t\t\t? {}\n\t\t\t: { relPath: maybeRelativePath(cwd, artifact.path) }),\n\t\texists: artifact.exists,\n\t\tallowed: artifact.allowed,\n\t\t...(artifact.sizeBytes === undefined ? {} : { sizeBytes: artifact.sizeBytes }),\n\t\t...(artifact.sha256 === undefined ? {} : { sha256: artifact.sha256 }),\n\t}));\n}\n\nexport function createObservabilityTrace(event: TraceEventInput, options: CreateTraceOptions): ObservabilityTraceV1 {\n\tconst sanitizedData = sanitizeTraceData(event.data ?? {});\n\tconst dataHash = event.dataHash ?? sha256(stableStringify(sanitizedData));\n\tconst artifacts = sanitizeArtifacts(event.artifacts, options.cwd);\n\tconst trace: ObservabilityTraceV1 = {\n\t\tschemaVersion: \"omk.observability.trace.v1\",\n\t\ttraceId: sha256(`${event.runId}:${event.operationId}:${event.timestamp}:${event.kind}`),\n\t\trunIdHash: sha256(event.runId),\n\t\t...(event.sessionId === undefined ? {} : { sessionIdHash: sha256(event.sessionId) }),\n\t\toperationId: event.operationId,\n\t\ttimestamp: event.timestamp,\n\t\tsource: options.source,\n\t\tkind: event.kind,\n\t\tstatus: event.status,\n\t\tdataHash,\n\t\tsanitizedData,\n\t\tartifacts,\n\t};\n\tif (options.sink === \"braintrust\") {\n\t\ttrace.external = {\n\t\t\tsink: \"braintrust\",\n\t\t\tcontentTier: options.contentTier ?? \"metadata\",\n\t\t\tpayloadBytes: Buffer.byteLength(stableStringify(sanitizedData)),\n\t\t};\n\t}\n\treturn trace;\n}\n"]}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
export declare const CHECKPOINT_SCHEMA_VERSION = "omk.checkpoint.v1";
|
|
2
|
-
export type CheckpointStatus = "intake" | "running" | "blocked" | "complete" | "failed";
|
|
3
|
-
export type BlockerSeverity = "low" | "medium" | "high";
|
|
4
|
-
export interface GoalState {
|
|
5
|
-
summary: string;
|
|
6
|
-
status: CheckpointStatus;
|
|
7
|
-
}
|
|
8
|
-
export interface DecisionRecord {
|
|
9
|
-
id: string;
|
|
10
|
-
summary: string;
|
|
11
|
-
artifactHashes: readonly string[];
|
|
12
|
-
}
|
|
13
|
-
export interface OpenTaskRecord {
|
|
14
|
-
id: string;
|
|
15
|
-
summary: string;
|
|
16
|
-
priority: number;
|
|
17
|
-
}
|
|
18
|
-
export interface BlockerRecord {
|
|
19
|
-
id: string;
|
|
20
|
-
summary: string;
|
|
21
|
-
severity: BlockerSeverity;
|
|
22
|
-
}
|
|
23
|
-
export interface FileState {
|
|
24
|
-
read: readonly string[];
|
|
25
|
-
modified: readonly string[];
|
|
26
|
-
}
|
|
27
|
-
export interface CommandRecord {
|
|
28
|
-
command: string;
|
|
29
|
-
exitCode: number;
|
|
30
|
-
outputHash: string;
|
|
31
|
-
}
|
|
32
|
-
export interface ArtifactRecord {
|
|
33
|
-
path: string;
|
|
34
|
-
sha256: string;
|
|
35
|
-
kind: string;
|
|
36
|
-
}
|
|
37
|
-
export interface FailedApproachRecord {
|
|
38
|
-
summary: string;
|
|
39
|
-
reason: string;
|
|
40
|
-
}
|
|
41
|
-
export interface ResumeActionRecord {
|
|
42
|
-
summary: string;
|
|
43
|
-
targetTaskId?: string;
|
|
44
|
-
}
|
|
45
|
-
export interface Checkpoint {
|
|
46
|
-
schemaVersion: typeof CHECKPOINT_SCHEMA_VERSION;
|
|
47
|
-
checkpointId: string;
|
|
48
|
-
runId: string;
|
|
49
|
-
timestamp: string;
|
|
50
|
-
currentGoal: GoalState;
|
|
51
|
-
constraints: readonly string[];
|
|
52
|
-
decisions: readonly DecisionRecord[];
|
|
53
|
-
openTasks: readonly OpenTaskRecord[];
|
|
54
|
-
blockers: readonly BlockerRecord[];
|
|
55
|
-
files: FileState;
|
|
56
|
-
commands: readonly CommandRecord[];
|
|
57
|
-
artifacts: readonly ArtifactRecord[];
|
|
58
|
-
failedApproaches: readonly FailedApproachRecord[];
|
|
59
|
-
resumeAction: ResumeActionRecord;
|
|
60
|
-
}
|
|
61
|
-
export interface AuthoritativeCheckpointSource {
|
|
62
|
-
commands: readonly CommandRecord[];
|
|
63
|
-
blockerIds: readonly string[];
|
|
64
|
-
filePaths: readonly string[];
|
|
65
|
-
artifacts: readonly {
|
|
66
|
-
path: string;
|
|
67
|
-
sha256: string;
|
|
68
|
-
}[];
|
|
69
|
-
}
|
|
70
|
-
export interface CheckpointValidationResult {
|
|
71
|
-
valid: boolean;
|
|
72
|
-
errors: string[];
|
|
73
|
-
}
|
|
74
|
-
export interface ResumePlan {
|
|
75
|
-
kind: "blocker" | "task" | "resumeAction";
|
|
76
|
-
summary: string;
|
|
77
|
-
targetId?: string;
|
|
78
|
-
}
|
|
79
|
-
export declare function renderCheckpointMarkdown(checkpoint: Checkpoint): string;
|
|
80
|
-
export declare function validateCheckpoint(checkpoint: Checkpoint, authoritative: AuthoritativeCheckpointSource): CheckpointValidationResult;
|
|
81
|
-
export declare function deriveResumePlan(checkpoint: Checkpoint): ResumePlan;
|
|
82
|
-
export declare function enforceCheckpointBudget(markdown: string, maxChars: number): string;
|
|
83
|
-
//# sourceMappingURL=checkpoint.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/checkpoint.ts"],"names":[],"mappings":"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","sourcesContent":["export const CHECKPOINT_SCHEMA_VERSION = \"omk.checkpoint.v1\";\n\nexport type CheckpointStatus = \"intake\" | \"running\" | \"blocked\" | \"complete\" | \"failed\";\nexport type BlockerSeverity = \"low\" | \"medium\" | \"high\";\n\nexport interface GoalState {\n\tsummary: string;\n\tstatus: CheckpointStatus;\n}\n\nexport interface DecisionRecord {\n\tid: string;\n\tsummary: string;\n\tartifactHashes: readonly string[];\n}\n\nexport interface OpenTaskRecord {\n\tid: string;\n\tsummary: string;\n\tpriority: number;\n}\n\nexport interface BlockerRecord {\n\tid: string;\n\tsummary: string;\n\tseverity: BlockerSeverity;\n}\n\nexport interface FileState {\n\tread: readonly string[];\n\tmodified: readonly string[];\n}\n\nexport interface CommandRecord {\n\tcommand: string;\n\texitCode: number;\n\toutputHash: string;\n}\n\nexport interface ArtifactRecord {\n\tpath: string;\n\tsha256: string;\n\tkind: string;\n}\n\nexport interface FailedApproachRecord {\n\tsummary: string;\n\treason: string;\n}\n\nexport interface ResumeActionRecord {\n\tsummary: string;\n\ttargetTaskId?: string;\n}\n\nexport interface Checkpoint {\n\tschemaVersion: typeof CHECKPOINT_SCHEMA_VERSION;\n\tcheckpointId: string;\n\trunId: string;\n\ttimestamp: string;\n\tcurrentGoal: GoalState;\n\tconstraints: readonly string[];\n\tdecisions: readonly DecisionRecord[];\n\topenTasks: readonly OpenTaskRecord[];\n\tblockers: readonly BlockerRecord[];\n\tfiles: FileState;\n\tcommands: readonly CommandRecord[];\n\tartifacts: readonly ArtifactRecord[];\n\tfailedApproaches: readonly FailedApproachRecord[];\n\tresumeAction: ResumeActionRecord;\n}\n\nexport interface AuthoritativeCheckpointSource {\n\tcommands: readonly CommandRecord[];\n\tblockerIds: readonly string[];\n\tfilePaths: readonly string[];\n\tartifacts: readonly { path: string; sha256: string }[];\n}\n\nexport interface CheckpointValidationResult {\n\tvalid: boolean;\n\terrors: string[];\n}\n\nexport interface ResumePlan {\n\tkind: \"blocker\" | \"task\" | \"resumeAction\";\n\tsummary: string;\n\ttargetId?: string;\n}\n\nexport function renderCheckpointMarkdown(checkpoint: Checkpoint): string {\n\tconst lines: string[] = [\n\t\t`# OMK Checkpoint ${checkpoint.checkpointId}`,\n\t\t`Run: ${checkpoint.runId}`,\n\t\t`Timestamp: ${checkpoint.timestamp}`,\n\t\t`Goal: ${checkpoint.currentGoal.summary} (${checkpoint.currentGoal.status})`,\n\t\t\"\",\n\t\t\"## Constraints\",\n\t\t...formatBullets(checkpoint.constraints),\n\t\t\"\",\n\t\t\"## Decisions\",\n\t\t...checkpoint.decisions.map(\n\t\t\t(decision) => `- ${decision.id}: ${decision.summary} [hashes: ${decision.artifactHashes.join(\",\") || \"none\"}]`,\n\t\t),\n\t\t\"\",\n\t\t\"## Open Tasks\",\n\t\t...checkpoint.openTasks.map((task) => `- ${task.id} p${task.priority}: ${task.summary}`),\n\t\t\"\",\n\t\t\"## Blockers\",\n\t\t...checkpoint.blockers.map((blocker) => `- ${blocker.id} ${blocker.severity}: ${blocker.summary}`),\n\t\t\"\",\n\t\t\"## Files\",\n\t\t`- read: ${checkpoint.files.read.join(\",\") || \"none\"}`,\n\t\t`- modified: ${checkpoint.files.modified.join(\",\") || \"none\"}`,\n\t\t\"\",\n\t\t\"## Commands\",\n\t\t...checkpoint.commands.map(\n\t\t\t(command) => `- ${command.command} => exitCode=${command.exitCode}, outputHash=${command.outputHash}`,\n\t\t),\n\t\t\"\",\n\t\t\"## Artifacts\",\n\t\t...checkpoint.artifacts.map((artifact) => `- ${artifact.kind}: ${artifact.path} sha256=${artifact.sha256}`),\n\t\t\"\",\n\t\t\"## Failed Approaches\",\n\t\t...checkpoint.failedApproaches.map((approach) => `- ${approach.summary}: ${approach.reason}`),\n\t\t\"\",\n\t\t`Resume: ${checkpoint.resumeAction.summary}${checkpoint.resumeAction.targetTaskId ? ` (${checkpoint.resumeAction.targetTaskId})` : \"\"}`,\n\t];\n\treturn `${lines.join(\"\\n\")}\\n`;\n}\n\nexport function validateCheckpoint(\n\tcheckpoint: Checkpoint,\n\tauthoritative: AuthoritativeCheckpointSource,\n): CheckpointValidationResult {\n\tconst errors: string[] = [];\n\tvalidateCommands(checkpoint, authoritative, errors);\n\tvalidateBlockers(checkpoint, authoritative, errors);\n\tvalidateFiles(checkpoint, authoritative, errors);\n\tvalidateArtifacts(checkpoint, authoritative, errors);\n\treturn { valid: errors.length === 0, errors };\n}\n\nexport function deriveResumePlan(checkpoint: Checkpoint): ResumePlan {\n\tconst blocker = [...checkpoint.blockers].sort(compareBlockerPriority)[0];\n\tif (blocker !== undefined) {\n\t\treturn { kind: \"blocker\", summary: blocker.summary, targetId: blocker.id };\n\t}\n\n\tconst task = [...checkpoint.openTasks].sort(compareTaskPriority)[0];\n\tif (task !== undefined) {\n\t\treturn { kind: \"task\", summary: task.summary, targetId: task.id };\n\t}\n\n\treturn {\n\t\tkind: \"resumeAction\",\n\t\tsummary: checkpoint.resumeAction.summary,\n\t\ttargetId: checkpoint.resumeAction.targetTaskId,\n\t};\n}\n\nexport function enforceCheckpointBudget(markdown: string, maxChars: number): string {\n\tif (markdown.length <= maxChars) {\n\t\treturn markdown;\n\t}\n\n\tconst goal = findLine(markdown, \"Goal:\") ?? \"Goal: unknown\";\n\tconst resume = findLine(markdown, \"Resume:\") ?? \"Resume: unknown\";\n\tconst compact = [`# OMK Checkpoint`, goal, \"Evidence hashes preserved.\", resume].join(\"\\n\");\n\tif (compact.length <= maxChars) {\n\t\treturn compact;\n\t}\n\treturn compact.slice(0, Math.max(0, maxChars));\n}\n\nfunction validateCommands(\n\tcheckpoint: Checkpoint,\n\tauthoritative: AuthoritativeCheckpointSource,\n\terrors: string[],\n): void {\n\tconst byCommand = new Map(authoritative.commands.map((command) => [command.command, command]));\n\tfor (const command of checkpoint.commands) {\n\t\tconst expected = byCommand.get(command.command);\n\t\tif (expected === undefined) {\n\t\t\terrors.push(`command missing from authoritative source: ${command.command}`);\n\t\t\tcontinue;\n\t\t}\n\t\tif (command.exitCode !== expected.exitCode) {\n\t\t\terrors.push(`command exitCode mismatch for ${command.command}: ${command.exitCode} != ${expected.exitCode}`);\n\t\t}\n\t\tif (command.outputHash !== expected.outputHash) {\n\t\t\terrors.push(\n\t\t\t\t`command outputHash mismatch for ${command.command}: ${command.outputHash} != ${expected.outputHash}`,\n\t\t\t);\n\t\t}\n\t}\n}\n\nfunction validateBlockers(\n\tcheckpoint: Checkpoint,\n\tauthoritative: AuthoritativeCheckpointSource,\n\terrors: string[],\n): void {\n\tconst authoritativeIds = new Set(authoritative.blockerIds);\n\tfor (const blocker of checkpoint.blockers) {\n\t\tif (!authoritativeIds.has(blocker.id)) {\n\t\t\terrors.push(`blocker not present in authoritative source: ${blocker.id}`);\n\t\t}\n\t}\n}\n\nfunction validateFiles(checkpoint: Checkpoint, authoritative: AuthoritativeCheckpointSource, errors: string[]): void {\n\tconst authoritativePaths = new Set(authoritative.filePaths);\n\tfor (const filePath of [...checkpoint.files.read, ...checkpoint.files.modified]) {\n\t\tif (!authoritativePaths.has(filePath)) {\n\t\t\terrors.push(`file path not present in authoritative source: ${filePath}`);\n\t\t}\n\t}\n}\n\nfunction validateArtifacts(\n\tcheckpoint: Checkpoint,\n\tauthoritative: AuthoritativeCheckpointSource,\n\terrors: string[],\n): void {\n\tconst byPath = new Map(authoritative.artifacts.map((artifact) => [artifact.path, artifact]));\n\tfor (const artifact of checkpoint.artifacts) {\n\t\tconst expected = byPath.get(artifact.path);\n\t\tif (expected === undefined) {\n\t\t\terrors.push(`artifact missing from authoritative source: ${artifact.path}`);\n\t\t\tcontinue;\n\t\t}\n\t\tif (artifact.sha256 !== expected.sha256) {\n\t\t\terrors.push(`artifact sha256 mismatch for ${artifact.path}: ${artifact.sha256} != ${expected.sha256}`);\n\t\t}\n\t}\n}\n\nfunction formatBullets(values: readonly string[]): string[] {\n\tif (values.length === 0) {\n\t\treturn [\"- none\"];\n\t}\n\treturn values.map((value) => `- ${value}`);\n}\n\nfunction blockerRank(severity: BlockerSeverity): number {\n\tif (severity === \"high\") return 0;\n\tif (severity === \"medium\") return 1;\n\treturn 2;\n}\n\nfunction compareBlockerPriority(a: BlockerRecord, b: BlockerRecord): number {\n\tconst rank = blockerRank(a.severity) - blockerRank(b.severity);\n\tif (rank !== 0) return rank;\n\treturn compareString(a.id, b.id);\n}\n\nfunction compareTaskPriority(a: OpenTaskRecord, b: OpenTaskRecord): number {\n\tif (a.priority !== b.priority) return a.priority - b.priority;\n\treturn compareString(a.id, b.id);\n}\n\nfunction compareString(a: string, b: string): number {\n\tif (a < b) return -1;\n\tif (a > b) return 1;\n\treturn 0;\n}\n\nfunction findLine(markdown: string, prefix: string): string | undefined {\n\treturn markdown.split(\"\\n\").find((line) => line.startsWith(prefix));\n}\n"]}
|