open-multi-agent-kit 0.80.6 → 0.80.8
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 +4 -20
- package/README.md +66 -16
- 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 +7 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config-selector.d.ts +1 -1
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js +2 -2
- 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 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +34 -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 +36 -8
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +294 -14
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts +3 -3
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +4 -4
- package/dist/core/auth-storage.js.map +1 -1
- 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 +2 -1
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/browser-use.d.ts +45 -0
- package/dist/core/browser-use.d.ts.map +1 -0
- package/dist/core/browser-use.js +70 -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 +11 -0
- package/dist/core/command-safety.d.ts.map +1 -0
- package/dist/core/command-safety.js +631 -0
- package/dist/core/command-safety.js.map +1 -0
- 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 +2 -8
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +3 -84
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +11 -608
- 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 +4 -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 +108 -0
- package/dist/core/exact-cache-policy.d.ts.map +1 -0
- package/dist/core/exact-cache-policy.js +184 -0
- package/dist/core/exact-cache-policy.js.map +1 -0
- 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 +2 -4
- 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 +80 -0
- package/dist/core/extensions/builtin/command-safety-gate.d.ts.map +1 -0
- package/dist/core/extensions/builtin/command-safety-gate.js +159 -0
- package/dist/core/extensions/builtin/command-safety-gate.js.map +1 -0
- 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 +70 -0
- package/dist/core/extensions/builtin/todo-checklist.js.map +1 -0
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +50 -47
- 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 +13 -13
- 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/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 +25 -0
- package/dist/core/hook-inventory.d.ts.map +1 -0
- package/dist/core/hook-inventory.js +119 -0
- package/dist/core/hook-inventory.js.map +1 -0
- 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-access-policy.d.ts +41 -0
- package/dist/core/loadout-access-policy.d.ts.map +1 -0
- package/dist/core/loadout-access-policy.js +182 -0
- package/dist/core/loadout-access-policy.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 +106 -0
- package/dist/core/loadout-runtime.d.ts.map +1 -0
- package/dist/core/loadout-runtime.js +193 -0
- package/dist/core/loadout-runtime.js.map +1 -0
- 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 +149 -0
- package/dist/core/loadouts.d.ts.map +1 -0
- package/dist/core/loadouts.js +553 -0
- package/dist/core/loadouts.js.map +1 -0
- 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 +41 -0
- package/dist/core/mcp-inventory.d.ts.map +1 -1
- package/dist/core/mcp-inventory.js +57 -1
- package/dist/core/mcp-inventory.js.map +1 -1
- package/dist/core/mcp-presets.d.ts +98 -0
- package/dist/core/mcp-presets.d.ts.map +1 -0
- package/dist/core/mcp-presets.js +377 -0
- package/dist/core/mcp-presets.js.map +1 -0
- 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 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +2 -2
- 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 +1 -1
- 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 +6 -0
- package/dist/core/package-gallery.d.ts.map +1 -0
- package/dist/core/package-gallery.js +6 -0
- package/dist/core/package-gallery.js.map +1 -0
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +10 -10
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/package-procurement.d.ts +268 -0
- package/dist/core/package-procurement.d.ts.map +1 -0
- package/dist/core/package-procurement.js +709 -0
- package/dist/core/package-procurement.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/read-anchors.d.ts +110 -0
- package/dist/core/read-anchors.d.ts.map +1 -0
- package/dist/core/read-anchors.js +193 -0
- package/dist/core/read-anchors.js.map +1 -0
- package/dist/core/recovery-checkpoint.d.ts +196 -0
- package/dist/core/recovery-checkpoint.d.ts.map +1 -0
- package/dist/core/recovery-checkpoint.js +382 -0
- package/dist/core/recovery-checkpoint.js.map +1 -0
- package/dist/core/resource-loader.d.ts +15 -21
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +62 -8
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sandbox/backend.d.ts +25 -0
- package/dist/core/sandbox/backend.d.ts.map +1 -0
- package/dist/core/sandbox/backend.js +150 -0
- package/dist/core/sandbox/backend.js.map +1 -0
- package/dist/core/sandbox/env.d.ts +6 -0
- package/dist/core/sandbox/env.d.ts.map +1 -0
- package/dist/core/sandbox/env.js +46 -0
- package/dist/core/sandbox/env.js.map +1 -0
- package/dist/core/sandbox/path-resolver.d.ts +4 -0
- package/dist/core/sandbox/path-resolver.d.ts.map +1 -0
- package/dist/core/sandbox/path-resolver.js +44 -0
- package/dist/core/sandbox/path-resolver.js.map +1 -0
- package/dist/core/sandbox/policy.d.ts +87 -0
- package/dist/core/sandbox/policy.d.ts.map +1 -0
- package/dist/core/sandbox/policy.js +280 -0
- package/dist/core/sandbox/policy.js.map +1 -0
- package/dist/core/sandbox/spawn.d.ts +20 -0
- package/dist/core/sandbox/spawn.d.ts.map +1 -0
- package/dist/core/sandbox/spawn.js +80 -0
- package/dist/core/sandbox/spawn.js.map +1 -0
- 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 +15 -4
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +50 -4
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/semantic-cache-policy.d.ts +51 -0
- package/dist/core/semantic-cache-policy.d.ts.map +1 -0
- package/dist/core/semantic-cache-policy.js +228 -0
- package/dist/core/semantic-cache-policy.js.map +1 -0
- 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 +1 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +1 -4
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +2 -7
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts +1 -0
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +46 -5
- 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 +63 -24
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/telemetry.d.ts.map +1 -1
- package/dist/core/telemetry.js +1 -1
- package/dist/core/telemetry.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 +1 -5
- package/dist/core/timings.js.map +1 -1
- 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 +28 -4
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +55 -11
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit.d.ts +3 -2
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +4 -1
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/find.d.ts +1 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +1 -1
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts +1 -1
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +1 -1
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/index.d.ts +1 -1
- 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 -1
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js +1 -1
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js +1 -1
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/read.d.ts +2 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +6 -3
- 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 -1
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +4 -1
- 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/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 +6 -8
- 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 +28 -0
- package/dist/modes/interactive/components/control-panel-gradient-motion.d.ts.map +1 -0
- package/dist/modes/interactive/components/control-panel-gradient-motion.js +112 -0
- package/dist/modes/interactive/components/control-panel-gradient-motion.js.map +1 -0
- package/dist/modes/interactive/components/control-panel-gradient.d.ts +28 -0
- package/dist/modes/interactive/components/control-panel-gradient.d.ts.map +1 -0
- package/dist/modes/interactive/components/control-panel-gradient.js +128 -0
- package/dist/modes/interactive/components/control-panel-gradient.js.map +1 -0
- package/dist/modes/interactive/components/control-panel-layout.d.ts +23 -0
- package/dist/modes/interactive/components/control-panel-layout.d.ts.map +1 -0
- package/dist/modes/interactive/components/control-panel-layout.js +165 -0
- package/dist/modes/interactive/components/control-panel-layout.js.map +1 -0
- package/dist/modes/interactive/components/control-panel-runtime-status.d.ts +5 -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 +20 -0
- package/dist/modes/interactive/components/control-panel-runtime-status.js.map +1 -0
- package/dist/modes/interactive/components/control-panel.d.ts +24 -20
- package/dist/modes/interactive/components/control-panel.d.ts.map +1 -1
- package/dist/modes/interactive/components/control-panel.js +88 -69
- 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 +2 -2
- 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 +2 -2
- 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 +1 -1
- 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 +4 -4
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +20 -42
- 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 -1
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/theme-selector.js +1 -1
- 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 +5 -8
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +79 -189
- 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 +22 -31
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/print-mode.d.ts +3 -3
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +2 -2
- 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-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 +3 -3
- 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/clipboard-image.d.ts.map +1 -1
- package/dist/utils/clipboard-image.js +1 -1
- package/dist/utils/clipboard-image.js.map +1 -1
- 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/omk-user-agent.d.ts +2 -0
- package/dist/utils/omk-user-agent.d.ts.map +1 -0
- package/dist/utils/{pi-user-agent.js → omk-user-agent.js} +2 -2
- package/dist/utils/omk-user-agent.js.map +1 -0
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +1 -1
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/version-check.d.ts +5 -5
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +8 -11
- package/dist/utils/version-check.js.map +1 -1
- 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 +1 -1
- 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/examples/README.md +1 -1
- package/examples/extensions/README.md +12 -12
- 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/auto-commit-on-exit.ts +6 -6
- package/examples/extensions/bash-spawn-hook.ts +3 -3
- package/examples/extensions/bookmark.ts +5 -5
- package/examples/extensions/border-status-editor.ts +9 -9
- package/examples/extensions/built-in-tool-renderer.ts +7 -7
- package/examples/extensions/claude-rules.ts +4 -4
- package/examples/extensions/commands.ts +5 -5
- package/examples/extensions/confirm-destructive.ts +3 -3
- package/examples/extensions/custom-compaction.ts +4 -4
- package/examples/extensions/custom-footer.ts +4 -4
- package/examples/extensions/custom-header.ts +11 -11
- package/examples/extensions/custom-provider-anthropic/index.ts +5 -5
- 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 +4 -4
- 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/dirty-repo-guard.ts +7 -7
- package/examples/extensions/doom-overlay/README.md +2 -3
- 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_pi.c → doomgeneric_omk.c} +1 -1
- package/examples/extensions/doom-overlay/doom-component.ts +2 -2
- package/examples/extensions/doom-overlay/doom-keys.ts +1 -1
- package/examples/extensions/doom-overlay/index.ts +3 -3
- package/examples/extensions/dynamic-resources/dynamic.json +1 -1
- package/examples/extensions/dynamic-resources/index.ts +2 -2
- package/examples/extensions/dynamic-tools.ts +4 -4
- package/examples/extensions/event-bus.ts +8 -8
- package/examples/extensions/file-trigger.ts +3 -3
- package/examples/extensions/git-checkpoint.ts +7 -7
- package/examples/extensions/git-merge-and-resolve.ts +14 -14
- package/examples/extensions/github-issue-autocomplete.ts +7 -12
- package/examples/extensions/gondolin/index.ts +16 -16
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/handoff.ts +4 -4
- package/examples/extensions/hello.ts +3 -3
- package/examples/extensions/hidden-thinking-label.ts +4 -4
- package/examples/extensions/inline-bash.ts +5 -5
- package/examples/extensions/input-transform-streaming.ts +5 -5
- package/examples/extensions/input-transform.ts +5 -5
- package/examples/extensions/interactive-shell.ts +3 -3
- package/examples/extensions/mac-system-theme.ts +5 -5
- package/examples/extensions/message-renderer.ts +5 -5
- package/examples/extensions/minimal-mode.ts +10 -10
- package/examples/extensions/modal-editor.ts +4 -4
- package/examples/extensions/model-status.ts +3 -3
- package/examples/extensions/notify.ts +5 -5
- package/examples/extensions/overlay-qa-tests.ts +22 -22
- package/examples/extensions/overlay-test.ts +4 -4
- package/examples/extensions/permission-gate.ts +2 -2
- package/examples/extensions/pirate.ts +4 -4
- package/examples/extensions/plan-mode/index.ts +25 -25
- package/examples/extensions/preset.ts +31 -31
- package/examples/extensions/prompt-customizer.ts +3 -3
- package/examples/extensions/protected-paths.ts +2 -2
- package/examples/extensions/provider-payload.ts +8 -5
- package/examples/extensions/qna.ts +3 -3
- package/examples/extensions/question.ts +3 -3
- package/examples/extensions/questionnaire.ts +3 -3
- package/examples/extensions/rainbow-editor.ts +3 -3
- package/examples/extensions/reload-runtime.ts +4 -4
- package/examples/extensions/rpc-demo.ts +10 -10
- package/examples/extensions/sandbox/index.ts +16 -16
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/send-user-message.ts +13 -13
- package/examples/extensions/session-name.ts +4 -4
- package/examples/extensions/shutdown-command.ts +10 -10
- package/examples/extensions/snake.ts +4 -4
- package/examples/extensions/space-invaders.ts +4 -4
- package/examples/extensions/ssh.ts +12 -12
- package/examples/extensions/status-line.ts +4 -4
- package/examples/extensions/structured-output.ts +3 -3
- package/examples/extensions/subagent/README.md +13 -13
- package/examples/extensions/subagent/agents.ts +1 -1
- package/examples/extensions/subagent/index.ts +13 -13
- package/examples/extensions/summarize.ts +4 -4
- package/examples/extensions/system-prompt-header.ts +3 -3
- package/examples/extensions/tic-tac-toe.ts +17 -17
- package/examples/extensions/timed-confirm.ts +4 -4
- package/examples/extensions/titlebar-spinner.ts +9 -9
- package/examples/extensions/todo.ts +7 -7
- package/examples/extensions/tool-override.ts +6 -6
- package/examples/extensions/tools.ts +11 -11
- package/examples/extensions/trigger-compact.ts +3 -3
- package/examples/extensions/truncated-tool.ts +4 -4
- package/examples/extensions/widget-placement.ts +2 -2
- package/examples/extensions/with-deps/index.ts +2 -2
- 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 +7 -7
- package/examples/extensions/working-message-test.ts +3 -3
- package/examples/rpc-extension-ui.ts +1 -9
- package/examples/sdk/01-minimal.ts +1 -1
- package/examples/sdk/02-custom-model.ts +1 -1
- package/examples/sdk/03-custom-prompt.ts +1 -1
- package/examples/sdk/04-skills.ts +1 -1
- package/examples/sdk/05-tools.ts +1 -1
- package/examples/sdk/06-extensions.ts +11 -11
- package/examples/sdk/08-prompt-templates.ts +1 -1
- package/examples/sdk/09-api-keys-and-oauth.ts +2 -2
- package/examples/sdk/12-full-control.ts +1 -1
- package/examples/sdk/README.md +3 -3
- package/npm-shrinkwrap.json +1805 -0
- package/package.json +8 -14
- package/dist/core/harness-control-events.d.ts +0 -79
- package/dist/core/harness-control-events.d.ts.map +0 -1
- package/dist/core/harness-control-events.js +0 -339
- package/dist/core/harness-control-events.js.map +0 -1
- package/dist/core/harness-control-replay.d.ts +0 -26
- package/dist/core/harness-control-replay.d.ts.map +0 -1
- package/dist/core/harness-control-replay.js +0 -155
- package/dist/core/harness-control-replay.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 -28
- package/dist/modes/interactive/components/mcp-selector.d.ts.map +0 -1
- package/dist/modes/interactive/components/mcp-selector.js +0 -138
- package/dist/modes/interactive/components/mcp-selector.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/utils/pi-user-agent.d.ts +0 -2
- package/dist/utils/pi-user-agent.d.ts.map +0 -1
- package/dist/utils/pi-user-agent.js.map +0 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Research & Investigation (`research`)
|
|
2
|
+
|
|
3
|
+
> Inherited domain capability document. Auto-generated from `src/core/domain-loadouts.ts` — do not edit by hand.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## Identity
|
|
7
|
+
|
|
8
|
+
| field | value |
|
|
9
|
+
|---|---|
|
|
10
|
+
| id | `research` |
|
|
11
|
+
| authority | `read-only` |
|
|
12
|
+
| tools | read, grep, find, ls |
|
|
13
|
+
| command mode | `read-only-shell` |
|
|
14
|
+
|
|
15
|
+
## Routing prompt
|
|
16
|
+
|
|
17
|
+
> Prepended to the lane task prompt when the router selects this domain.
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
DOMAIN: Research & Investigation. You are operating in a read-only research lane.
|
|
21
|
+
Prioritize sourced, cited, reproducible findings over speculation.
|
|
22
|
+
|
|
23
|
+
SEQUENCE:
|
|
24
|
+
1. Decompose the question into sub-queries. Gather with the right source: arxiv-database / pubmed-database for academic, exa-search + firecrawl + fetch for web/github, market-research for commercial intel.
|
|
25
|
+
2. literature-review for systematic synthesis (PRISMA where applicable, verified citations, dedupe).
|
|
26
|
+
3. Evaluate evidence quality with scientific-critical-thinking (GRADE / risk of bias) before trusting a source.
|
|
27
|
+
4. Hypothesis generation when the goal is ideation; competitive-analysis when positioning a product.
|
|
28
|
+
5. Persist durable findings to memory + obsidian with source URLs and access dates; never store secrets or private PII.
|
|
29
|
+
|
|
30
|
+
HARD RULES: every claim has a citation; distinguish evidence vs inference explicitly; prefer primary/official sources; flag when evidence is thin rather than confabulating. Read-only: do not modify the codebase.
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Curated skills (13)
|
|
34
|
+
|
|
35
|
+
- `deep-research`
|
|
36
|
+
- `literature-review`
|
|
37
|
+
- `market-research`
|
|
38
|
+
- `exa-search`
|
|
39
|
+
- `best-practice-research`
|
|
40
|
+
- `arxiv-database`
|
|
41
|
+
- `pubmed-database`
|
|
42
|
+
- `scientific-brainstorming`
|
|
43
|
+
- `hypothesis-generation`
|
|
44
|
+
- `scientific-critical-thinking`
|
|
45
|
+
- `competitive-analysis`
|
|
46
|
+
- `content-strategy`
|
|
47
|
+
- `analyze`
|
|
48
|
+
|
|
49
|
+
## Curated MCP servers (5)
|
|
50
|
+
|
|
51
|
+
- `firecrawl`
|
|
52
|
+
- `fetch`
|
|
53
|
+
- `github`
|
|
54
|
+
- `memory`
|
|
55
|
+
- `obsidian`
|
|
56
|
+
|
|
57
|
+
## Curated hooks (2)
|
|
58
|
+
|
|
59
|
+
- `session-context`
|
|
60
|
+
- `precompact-checkpoint`
|
|
61
|
+
|
|
62
|
+
## Routing triggers (15)
|
|
63
|
+
|
|
64
|
+
| kind | pattern | weight |
|
|
65
|
+
|---|---|---|
|
|
66
|
+
| keyword | `research` | 6 |
|
|
67
|
+
| keyword | `investigate` | 5 |
|
|
68
|
+
| keyword | `literature` | 6 |
|
|
69
|
+
| keyword | `survey` | 4 |
|
|
70
|
+
| keyword | `compare` | 3 |
|
|
71
|
+
| keyword | `market` | 4 |
|
|
72
|
+
| keyword | `competitor` | 5 |
|
|
73
|
+
| keyword | `paper` | 5 |
|
|
74
|
+
| keyword | `arxiv` | 7 |
|
|
75
|
+
| keyword | `pubmed` | 7 |
|
|
76
|
+
| keyword | `summarize` | 3 |
|
|
77
|
+
| keyword | `sources` | 4 |
|
|
78
|
+
| keyword | `cite` | 4 |
|
|
79
|
+
| regex | `\b(state of the art|sota|benchmark|related work)\b` | 5 |
|
|
80
|
+
| regex | `\b(find out|look up|what does|why does)\b` | 2 |
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Security Audit (`security-audit`)
|
|
2
|
+
|
|
3
|
+
> Inherited domain capability document. Auto-generated from `src/core/domain-loadouts.ts` — do not edit by hand.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## Identity
|
|
7
|
+
|
|
8
|
+
| field | value |
|
|
9
|
+
|---|---|
|
|
10
|
+
| id | `security-audit` |
|
|
11
|
+
| authority | `security-review` |
|
|
12
|
+
| tools | read, grep, find, ls, bash |
|
|
13
|
+
| command mode | `read-only-shell` |
|
|
14
|
+
|
|
15
|
+
## Routing prompt
|
|
16
|
+
|
|
17
|
+
> Prepended to the lane task prompt when the router selects this domain.
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
DOMAIN: Security Audit. You are operating in a security-review lane (read-biased, evidence-bound).
|
|
21
|
+
Prioritize true-positive findings with proof, exact locations, and remediation.
|
|
22
|
+
|
|
23
|
+
SEQUENCE:
|
|
24
|
+
1. Scope the audit: read entry-point-analyzer output (externally callable, state-changing surfaces) before reading internals.
|
|
25
|
+
2. Build deep context with audit-context-building; shallow reads miss cross-file data flow.
|
|
26
|
+
3. Run static analysis: semgrep (custom rules via semgrep-rule-creator) + codeql for inter-procedural taint. Parse results with sarif-parsing and dedupe.
|
|
27
|
+
4. Verify every candidate with fp-check — return TRUE/FALSE POSITIVE with evidence, never a bare "might be vulnerable".
|
|
28
|
+
5. Differential scope: differential-review on the diff/PR, not just the whole tree, to catch regressions.
|
|
29
|
+
6. Domain lenses: constant-time-analysis + zeroize-audit for crypto; supply-chain-risk-auditor for deps; agentic-actions-auditor for CI/LLM-agent workflows; sharp-edges + insecure-defaults for misuse-prone APIs.
|
|
30
|
+
7. After fixes: variant-analysis to find the same bug class elsewhere.
|
|
31
|
+
|
|
32
|
+
HARD RULES: read-only by default; every finding needs file:line + exploit sketch + fix; rank by real exploitability not CWE count; secrets are reported, never printed (protect-secrets hook).
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Curated skills (23)
|
|
36
|
+
|
|
37
|
+
- `security-review`
|
|
38
|
+
- `security-scan`
|
|
39
|
+
- `differential-review`
|
|
40
|
+
- `semgrep`
|
|
41
|
+
- `codeql`
|
|
42
|
+
- `sarif-parsing`
|
|
43
|
+
- `semgrep-rule-creator`
|
|
44
|
+
- `sharp-edges`
|
|
45
|
+
- `supply-chain-risk-auditor`
|
|
46
|
+
- `spec-to-code-compliance`
|
|
47
|
+
- `entry-point-analyzer`
|
|
48
|
+
- `audit-context-building`
|
|
49
|
+
- `fp-check`
|
|
50
|
+
- `constant-time-analysis`
|
|
51
|
+
- `zeroize-audit`
|
|
52
|
+
- `agentic-actions-auditor`
|
|
53
|
+
- `insecure-defaults`
|
|
54
|
+
- `property-based-testing`
|
|
55
|
+
- `variant-analysis`
|
|
56
|
+
- `yara-rule-authoring`
|
|
57
|
+
- `code-maturity-assessor`
|
|
58
|
+
- `django-security`
|
|
59
|
+
- `springboot-security`
|
|
60
|
+
|
|
61
|
+
## Curated MCP servers (3)
|
|
62
|
+
|
|
63
|
+
- `filesystem`
|
|
64
|
+
- `github`
|
|
65
|
+
- `memory`
|
|
66
|
+
|
|
67
|
+
## Curated hooks (4)
|
|
68
|
+
|
|
69
|
+
- `pre-shell-guard`
|
|
70
|
+
- `protect-secrets`
|
|
71
|
+
- `stop-verify`
|
|
72
|
+
- `subagent-stop-audit`
|
|
73
|
+
|
|
74
|
+
## Routing triggers (20)
|
|
75
|
+
|
|
76
|
+
| kind | pattern | weight |
|
|
77
|
+
|---|---|---|
|
|
78
|
+
| keyword | `security` | 6 |
|
|
79
|
+
| keyword | `vulnerability` | 6 |
|
|
80
|
+
| keyword | `vuln` | 6 |
|
|
81
|
+
| keyword | `exploit` | 6 |
|
|
82
|
+
| keyword | `audit` | 5 |
|
|
83
|
+
| keyword | `cve` | 7 |
|
|
84
|
+
| keyword | `xss` | 6 |
|
|
85
|
+
| keyword | `csrf` | 6 |
|
|
86
|
+
| keyword | `injection` | 6 |
|
|
87
|
+
| keyword | `secret` | 5 |
|
|
88
|
+
| keyword | `leak` | 5 |
|
|
89
|
+
| keyword | `crypto` | 4 |
|
|
90
|
+
| keyword | `hardening` | 5 |
|
|
91
|
+
| keyword | `threat` | 5 |
|
|
92
|
+
| keyword | `penetration` | 6 |
|
|
93
|
+
| keyword | `malware` | 6 |
|
|
94
|
+
| keyword | `supply chain` | 6 |
|
|
95
|
+
| regex | `sql[ -]?inj|command[ -]?inj|path[ -]?traversal` | 7 |
|
|
96
|
+
| regex | `cve-\d{4}-\d+` | 8 |
|
|
97
|
+
| regex | `\b(authz|rbac|privilege escalation|idor)\b` | 6 |
|
package/docs/packages.md
CHANGED
|
@@ -166,7 +166,7 @@ If no `omk` manifest is present, omk auto-discovers resources from these directo
|
|
|
166
166
|
|
|
167
167
|
Third party runtime dependencies belong in `dependencies` in `package.json`. Dependencies that do not register extensions, skills, prompt templates, or themes also belong in `dependencies`. When omk installs a package from npm or git, it runs `npm install`, so those dependencies are installed automatically.
|
|
168
168
|
|
|
169
|
-
OMK bundles core packages for extensions and skills. If you import any of these, list them in `peerDependencies` with a `"*"` range and do not bundle them:
|
|
169
|
+
OMK bundles core packages for extensions and skills. If you import any of these, list them in `peerDependencies` with a `"*"` range and do not bundle them: `omk-ai`, `omk-agent-core`, `open-multi-agent-kit`, `omk-tui`, `typebox`.
|
|
170
170
|
|
|
171
171
|
Other omk packages must be bundled in your tarball. Add them to `dependencies` and `bundledDependencies`, then reference their resources through `node_modules/` paths. OMK loads packages with separate module roots, so separate installs do not collide or share modules.
|
|
172
172
|
|
package/docs/sdk.md
CHANGED
|
@@ -239,7 +239,7 @@ Both `steer()` and `followUp()` expand file-based prompt templates but error on
|
|
|
239
239
|
|
|
240
240
|
### Agent and AgentState
|
|
241
241
|
|
|
242
|
-
The `Agent` class (from
|
|
242
|
+
The `Agent` class (from `omk-agent-core`) handles the core LLM interaction. Access it via `session.agent`.
|
|
243
243
|
|
|
244
244
|
```typescript
|
|
245
245
|
// Access current state
|
|
@@ -368,7 +368,7 @@ When you pass a custom `ResourceLoader`, `cwd` and `agentDir` no longer control
|
|
|
368
368
|
### Model
|
|
369
369
|
|
|
370
370
|
```typescript
|
|
371
|
-
import { getModel } from "
|
|
371
|
+
import { getModel } from "omk-ai";
|
|
372
372
|
import { AuthStorage, ModelRegistry } from "open-multi-agent-kit";
|
|
373
373
|
|
|
374
374
|
const authStorage = AuthStorage.create();
|
|
@@ -877,7 +877,7 @@ interface LoadExtensionsResult {
|
|
|
877
877
|
## Complete Example
|
|
878
878
|
|
|
879
879
|
```typescript
|
|
880
|
-
import { getModel } from "
|
|
880
|
+
import { getModel } from "omk-ai";
|
|
881
881
|
import { Type } from "typebox";
|
|
882
882
|
import {
|
|
883
883
|
AuthStorage,
|
package/docs/security.md
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Extension Full-Access Threat Model
|
|
2
|
+
|
|
3
|
+
> **Scope**: This document analyzes the security implications of OMK extensions that request `full-access` permissions. It applies to the OMK (Open Multi-Agent Kit) coding agent CLI and its extension runtime.
|
|
4
|
+
>
|
|
5
|
+
> **Version**: 0.80.3
|
|
6
|
+
|
|
7
|
+
## 1. Overview
|
|
8
|
+
|
|
9
|
+
OMK extensions can operate at different permission levels. The `full-access` level grants an extension unrestricted access to the OMK runtime, including the ability to:
|
|
10
|
+
|
|
11
|
+
- Read and modify the agent's configuration (`~/.omk/agent/`)
|
|
12
|
+
- Intercept and mutate tool calls and their results
|
|
13
|
+
- Access session state, including conversation history
|
|
14
|
+
- Execute arbitrary code within the extension's context
|
|
15
|
+
- Register custom tools that run with the same privileges as built-in tools
|
|
16
|
+
|
|
17
|
+
This document outlines the threat model for such extensions and provides guidance for users, extension developers, and security auditors.
|
|
18
|
+
|
|
19
|
+
## 2. Threat Actors
|
|
20
|
+
|
|
21
|
+
| Actor | Motivation | Capability |
|
|
22
|
+
|-------|-----------|------------|
|
|
23
|
+
| Malicious Extension Author | Data exfiltration, credential theft, supply-chain compromise | Distributes a seemingly benign extension with hidden malicious logic |
|
|
24
|
+
| Compromised Extension Dependency | Indirect compromise via a dependency of a legitimate extension | Injects malicious code into a trusted extension's dependency tree |
|
|
25
|
+
| Insider Threat | Espionage, sabotage, unauthorized data access | Installs or modifies an extension on a target's machine |
|
|
26
|
+
| User (Self-Inflicted) | Accidental misconfiguration | Grants `full-access` to an untrusted extension without review |
|
|
27
|
+
|
|
28
|
+
## 3. Attack Scenarios
|
|
29
|
+
|
|
30
|
+
### 3.1 Configuration Exfiltration
|
|
31
|
+
|
|
32
|
+
A `full-access` extension can read `~/.omk/agent/auth.json`, which contains API keys and OAuth tokens for LLM providers (e.g., `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`).
|
|
33
|
+
|
|
34
|
+
**Impact**: Credential theft leading to unauthorized LLM API usage, financial loss, or data leakage through the compromised API account.
|
|
35
|
+
|
|
36
|
+
**Mitigation**:
|
|
37
|
+
- Store auth credentials in OS keychain or encrypted vault rather than plaintext `auth.json` where possible.
|
|
38
|
+
- Audit extensions before granting `full-access`.
|
|
39
|
+
- Run extensions with restricted permissions if full access is not strictly required.
|
|
40
|
+
|
|
41
|
+
### 3.2 Session Hijacking
|
|
42
|
+
|
|
43
|
+
A malicious extension can intercept session `.jsonl` files in `~/.omk/agent/sessions/`, extracting conversation history, source code, and proprietary business logic discussed with the agent.
|
|
44
|
+
|
|
45
|
+
**Impact**: Intellectual property theft, privacy violation, exposure of secrets mentioned in prompts.
|
|
46
|
+
|
|
47
|
+
**Mitigation**:
|
|
48
|
+
- Encrypt session files at rest.
|
|
49
|
+
- Use sandboxed session directories per project.
|
|
50
|
+
- Review extension code for file-system access patterns.
|
|
51
|
+
|
|
52
|
+
### 3.3 Tool Call Interception and Mutation
|
|
53
|
+
|
|
54
|
+
Extensions with `full-access` can wrap built-in tools (e.g., `bash`, `read`, `write`). A malicious wrapper could:
|
|
55
|
+
- Log all `bash` commands and their outputs to a remote server.
|
|
56
|
+
- Modify `write` tool calls to inject backdoors into source files.
|
|
57
|
+
- Block `read` operations on sensitive files to hide evidence of tampering.
|
|
58
|
+
|
|
59
|
+
**Impact**: Supply-chain compromise, data integrity loss, covert surveillance.
|
|
60
|
+
|
|
61
|
+
**Mitigation**:
|
|
62
|
+
- Use the `--no-extensions` flag when working with highly sensitive codebases.
|
|
63
|
+
- Pin extension versions and review diffs on updates.
|
|
64
|
+
- Run extensions in an isolated environment (container, VM) where feasible.
|
|
65
|
+
|
|
66
|
+
### 3.4 Privilege Escalation via Custom Tools
|
|
67
|
+
|
|
68
|
+
A `full-access` extension can register new tools that appear in the agent's tool list. These tools execute with the same privileges as the OMK process.
|
|
69
|
+
|
|
70
|
+
**Impact**: Arbitrary code execution, system compromise if the agent process has elevated privileges.
|
|
71
|
+
|
|
72
|
+
**Mitigation**:
|
|
73
|
+
- Never run OMK as root or with sudo.
|
|
74
|
+
- Use OS-level sandboxing (e.g., `sandbox-exec` on macOS, `seccomp` on Linux) for the OMK process.
|
|
75
|
+
- Review the full source code of any extension before installation.
|
|
76
|
+
|
|
77
|
+
### 3.5 Telemetry and Data Leakage
|
|
78
|
+
|
|
79
|
+
Extensions can silently exfiltrate data via DNS queries, HTTP requests, or by writing to shared directories.
|
|
80
|
+
|
|
81
|
+
**Impact**: Loss of confidentiality for proprietary code, conversation content, and system information.
|
|
82
|
+
|
|
83
|
+
**Mitigation**:
|
|
84
|
+
- Block outbound network access for the OMK process using a firewall or network namespace.
|
|
85
|
+
- Monitor DNS and network traffic for anomalies.
|
|
86
|
+
- Use offline mode (`--offline`) when extensions are not required to fetch remote resources.
|
|
87
|
+
|
|
88
|
+
## 4. Default Sandbox Path
|
|
89
|
+
|
|
90
|
+
OMK provides a default sandbox path for extensions that do not explicitly request `full-access`. This path restricts the extension to:
|
|
91
|
+
|
|
92
|
+
- A dedicated subdirectory under `~/.omk/agent/extensions/<extension-name>/`
|
|
93
|
+
- Read-only access to the project workspace (current working directory)
|
|
94
|
+
- No access to `~/.omk/agent/auth.json`, `~/.omk/agent/mcp.json`, or session files
|
|
95
|
+
- No network access (unless explicitly granted via extension manifest)
|
|
96
|
+
|
|
97
|
+
**Default Sandbox Directory**: `~/.omk/agent/extensions/<extension-id>/`
|
|
98
|
+
|
|
99
|
+
Extensions operating within this sandbox cannot:
|
|
100
|
+
- Access files outside the project workspace and their own extension directory.
|
|
101
|
+
- Intercept tool calls from other extensions or the core agent.
|
|
102
|
+
- Read or write global agent configuration.
|
|
103
|
+
|
|
104
|
+
## 5. Security Checklist for Users
|
|
105
|
+
|
|
106
|
+
Before installing or upgrading a `full-access` extension, verify:
|
|
107
|
+
|
|
108
|
+
- [ ] The extension source code is available and has been reviewed.
|
|
109
|
+
- [ ] The extension is from a trusted author or has been audited by a third party.
|
|
110
|
+
- [ ] The extension's `package.json` or manifest does not include unexpected dependencies.
|
|
111
|
+
- [ ] The extension's network permissions (if any) are justified by its functionality.
|
|
112
|
+
- [ ] You have a backup of `~/.omk/agent/` (especially `auth.json` and sessions).
|
|
113
|
+
- [ ] You have considered running the extension in a sandboxed environment.
|
|
114
|
+
|
|
115
|
+
## 6. Security Checklist for Extension Developers
|
|
116
|
+
|
|
117
|
+
When building a `full-access` extension, adhere to:
|
|
118
|
+
|
|
119
|
+
- [ ] **Principle of Least Privilege**: Only request `full-access` if absolutely necessary. Use the default sandbox for everything else.
|
|
120
|
+
- [ ] **No Credential Access**: Never read `auth.json` or environment variables containing API keys unless the extension's core purpose is authentication management.
|
|
121
|
+
- [ ] **Transparent Logging**: Log all file system and network operations to a user-visible location.
|
|
122
|
+
- [ ] **Minimal Dependencies**: Keep the dependency tree small to reduce supply-chain risk.
|
|
123
|
+
- [ ] **Signed Releases**: Provide cryptographic signatures for extension releases.
|
|
124
|
+
- [ ] **Auditable Code**: Avoid obfuscation, minification, or dynamic code evaluation (`eval`, `new Function`).
|
|
125
|
+
|
|
126
|
+
## 7. Incident Response
|
|
127
|
+
|
|
128
|
+
If a malicious or compromised `full-access` extension is suspected:
|
|
129
|
+
|
|
130
|
+
1. **Immediately revoke** any exposed API keys (check `auth.json` and provider dashboards).
|
|
131
|
+
2. **Remove** the extension directory from `~/.omk/agent/extensions/`.
|
|
132
|
+
3. **Audit** session files in `~/.omk/agent/sessions/` for leaked secrets or sensitive data.
|
|
133
|
+
4. **Review** recent `bash` tool history and file modifications for unauthorized changes.
|
|
134
|
+
5. **Re-install** OMK from a trusted source if the core runtime may have been tampered with.
|
|
135
|
+
6. **Report** the incident to the OMK security team or open a confidential issue on the repository.
|
|
136
|
+
|
|
137
|
+
## 8. References
|
|
138
|
+
|
|
139
|
+
- OMK Extension Manifest Specification: `packages/coding-agent/docs/extensions.md`
|
|
140
|
+
- OMK Session Format: `packages/coding-agent/docs/session-format.md`
|
|
141
|
+
- OMK Settings and Configuration: `packages/coding-agent/docs/settings.md`
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
*Last updated: 2026-06-25*
|
package/docs/session-format.md
CHANGED
|
@@ -34,7 +34,7 @@ Source on GitHub ([omk-mono](https://github.com/earendil-works/omk-mono)):
|
|
|
34
34
|
- [`packages/ai/src/types.ts`](https://github.com/earendil-works/omk-mono/blob/main/packages/ai/src/types.ts) - Base message types (UserMessage, AssistantMessage, ToolResultMessage)
|
|
35
35
|
- [`packages/agent/src/types.ts`](https://github.com/earendil-works/omk-mono/blob/main/packages/agent/src/types.ts) - AgentMessage union type
|
|
36
36
|
|
|
37
|
-
For TypeScript definitions in your project, inspect `node_modules/open-multi-agent-kit/dist/` and `node_modules
|
|
37
|
+
For TypeScript definitions in your project, inspect `node_modules/open-multi-agent-kit/dist/` and `node_modules/omk-ai/dist/`.
|
|
38
38
|
|
|
39
39
|
## Message Types
|
|
40
40
|
|
package/docs/themes.md
CHANGED
|
@@ -18,7 +18,7 @@ Themes are JSON files that define colors for the TUI.
|
|
|
18
18
|
|
|
19
19
|
OMK loads themes from:
|
|
20
20
|
|
|
21
|
-
- Built-in: `dark`, `light`, `
|
|
21
|
+
- Built-in: `dark`, `light`, `omk-control`, `omk-control-grid-dark`, `omk-control-light`, `rust-forge`, plus bundled Tinted schemes (`catppuccin-mocha`, `tokyo-night-storm`, `kanagawa-dragon`, `gruvbox-dark`, `dracula`)
|
|
22
22
|
- Global: `~/.omk/agent/themes/*.json`
|
|
23
23
|
- Project: `.omk/themes/*.json`
|
|
24
24
|
- Packages: `themes/` directories or `omk.themes` entries in `package.json`
|
|
@@ -37,7 +37,9 @@ Select a theme via `/settings` or in `settings.json`:
|
|
|
37
37
|
}
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
On first run, omk detects your terminal background and defaults to `omk-control-grid-dark` on dark terminals or `omk-control-light` on light terminals. `omk-control-grid-dark`
|
|
40
|
+
On first run, omk detects your terminal background and defaults to `omk-control-grid-dark` on dark terminals or `omk-control-light` on light terminals. `omk-control-grid-dark` ports the OMK//CONTROL Night City TUI palette from the 0.78.8 visual console (`cyan`, `mint`, `magenta`, `purple`, `amber`, `red`, `cream`, `muted`, `gray` on `dark`/`surface`). The `rust-forge` and Tinted scheme themes are installed as additional selectable built-in themes, but they do not change the default OMK//CONTROL brand/tone.
|
|
41
|
+
|
|
42
|
+
The bundled Tinted themes are generated from [`tinted-theming/schemes`](https://github.com/tinted-theming/schemes) Base24 palettes (MIT): Catppuccin Mocha, Tokyo Night Storm, Kanagawa Dragon, Gruvbox Dark, and Dracula.
|
|
41
43
|
|
|
42
44
|
## Creating a Custom Theme
|
|
43
45
|
|
|
@@ -293,13 +295,12 @@ echo $COLORTERM # Should output "truecolor" or "24bit"
|
|
|
293
295
|
See the built-in themes:
|
|
294
296
|
- [dark.json](../src/modes/interactive/theme/dark.json)
|
|
295
297
|
- [light.json](../src/modes/interactive/theme/light.json)
|
|
296
|
-
- [catppuccin-mocha.json](../src/modes/interactive/theme/catppuccin-mocha.json)
|
|
297
|
-
- [dracula.json](../src/modes/interactive/theme/dracula.json)
|
|
298
|
-
- [gruvbox-dark.json](../src/modes/interactive/theme/gruvbox-dark.json)
|
|
299
|
-
- [kanagawa-dragon.json](../src/modes/interactive/theme/kanagawa-dragon.json)
|
|
300
298
|
- [omk-control.json](../src/modes/interactive/theme/omk-control.json)
|
|
301
299
|
- [omk-control-grid-dark.json](../src/modes/interactive/theme/omk-control-grid-dark.json)
|
|
302
300
|
- [omk-control-light.json](../src/modes/interactive/theme/omk-control-light.json)
|
|
303
|
-
- [omk-control-panel.json](../src/modes/interactive/theme/omk-control-panel.json)
|
|
304
301
|
- [rust-forge.json](../src/modes/interactive/theme/rust-forge.json)
|
|
302
|
+
- [catppuccin-mocha.json](../src/modes/interactive/theme/catppuccin-mocha.json)
|
|
305
303
|
- [tokyo-night-storm.json](../src/modes/interactive/theme/tokyo-night-storm.json)
|
|
304
|
+
- [kanagawa-dragon.json](../src/modes/interactive/theme/kanagawa-dragon.json)
|
|
305
|
+
- [gruvbox-dark.json](../src/modes/interactive/theme/gruvbox-dark.json)
|
|
306
|
+
- [dracula.json](../src/modes/interactive/theme/dracula.json)
|
package/docs/tui.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Extensions and custom tools can render custom TUI components for interactive user interfaces. This page covers the component system and available building blocks.
|
|
6
6
|
|
|
7
|
-
**Source:** [
|
|
7
|
+
**Source:** [`omk-tui`](https://github.com/earendil-works/omk-mono/tree/main/packages/tui)
|
|
8
8
|
|
|
9
9
|
## Component Interface
|
|
10
10
|
|
|
@@ -33,7 +33,7 @@ The TUI appends a full SGR reset and OSC 8 reset at the end of each rendered lin
|
|
|
33
33
|
Components that display a text cursor and need IME (Input Method Editor) support should implement the `Focusable` interface:
|
|
34
34
|
|
|
35
35
|
```typescript
|
|
36
|
-
import { CURSOR_MARKER, type Component, type Focusable } from "
|
|
36
|
+
import { CURSOR_MARKER, type Component, type Focusable } from "omk-tui";
|
|
37
37
|
|
|
38
38
|
class MyInput implements Component, Focusable {
|
|
39
39
|
focused: boolean = false; // Set by TUI when focus changes
|
|
@@ -59,7 +59,7 @@ The cursor remains hidden by default. This keeps the fake cursor rendering, whil
|
|
|
59
59
|
When a container component (dialog, selector, etc.) contains an `Input` or `Editor` child, the container must implement `Focusable` and propagate the focus state to the child. Otherwise, the hardware cursor won't be positioned correctly for IME input.
|
|
60
60
|
|
|
61
61
|
```typescript
|
|
62
|
-
import { Container, type Focusable, Input } from "
|
|
62
|
+
import { Container, type Focusable, Input } from "omk-tui";
|
|
63
63
|
|
|
64
64
|
class SearchDialog extends Container implements Focusable {
|
|
65
65
|
private searchInput: Input;
|
|
@@ -188,10 +188,10 @@ See [overlay-qa-tests.ts](../examples/extensions/overlay-qa-tests.ts) for compre
|
|
|
188
188
|
|
|
189
189
|
## Built-in Components
|
|
190
190
|
|
|
191
|
-
Import from
|
|
191
|
+
Import from `omk-tui`:
|
|
192
192
|
|
|
193
193
|
```typescript
|
|
194
|
-
import { Text, Box, Container, Spacer, Markdown } from "
|
|
194
|
+
import { Text, Box, Container, Spacer, Markdown } from "omk-tui";
|
|
195
195
|
```
|
|
196
196
|
|
|
197
197
|
### Text
|
|
@@ -273,7 +273,7 @@ const image = new Image(
|
|
|
273
273
|
Use `matchesKey()` for key detection:
|
|
274
274
|
|
|
275
275
|
```typescript
|
|
276
|
-
import { matchesKey, Key } from "
|
|
276
|
+
import { matchesKey, Key } from "omk-tui";
|
|
277
277
|
|
|
278
278
|
handleInput(data: string) {
|
|
279
279
|
if (matchesKey(data, Key.up)) {
|
|
@@ -299,7 +299,7 @@ handleInput(data: string) {
|
|
|
299
299
|
**Critical:** Each line from `render()` must not exceed the `width` parameter.
|
|
300
300
|
|
|
301
301
|
```typescript
|
|
302
|
-
import { visibleWidth, truncateToWidth } from "
|
|
302
|
+
import { visibleWidth, truncateToWidth } from "omk-tui";
|
|
303
303
|
|
|
304
304
|
render(width: number): string[] {
|
|
305
305
|
// Truncate long lines
|
|
@@ -320,7 +320,7 @@ Example: Interactive selector
|
|
|
320
320
|
import {
|
|
321
321
|
matchesKey, Key,
|
|
322
322
|
truncateToWidth, visibleWidth
|
|
323
|
-
} from "
|
|
323
|
+
} from "omk-tui";
|
|
324
324
|
|
|
325
325
|
class MySelector {
|
|
326
326
|
private items: string[];
|
|
@@ -435,7 +435,7 @@ renderResult(result, options, theme, context) {
|
|
|
435
435
|
|
|
436
436
|
```typescript
|
|
437
437
|
import { getMarkdownTheme } from "open-multi-agent-kit";
|
|
438
|
-
import { Markdown } from "
|
|
438
|
+
import { Markdown } from "omk-tui";
|
|
439
439
|
|
|
440
440
|
renderResult(result, options, theme, context) {
|
|
441
441
|
const mdTheme = getMarkdownTheme();
|
|
@@ -596,12 +596,12 @@ These patterns cover the most common UI needs in extensions. **Copy these patter
|
|
|
596
596
|
|
|
597
597
|
### Pattern 1: Selection Dialog (SelectList)
|
|
598
598
|
|
|
599
|
-
For letting users pick from a list of options. Use `SelectList` from
|
|
599
|
+
For letting users pick from a list of options. Use `SelectList` from `omk-tui` with `DynamicBorder` for framing.
|
|
600
600
|
|
|
601
601
|
```typescript
|
|
602
602
|
import type { ExtensionAPI } from "open-multi-agent-kit";
|
|
603
603
|
import { DynamicBorder } from "open-multi-agent-kit";
|
|
604
|
-
import { Container, type SelectItem, SelectList, Text } from "
|
|
604
|
+
import { Container, type SelectItem, SelectList, Text } from "omk-tui";
|
|
605
605
|
|
|
606
606
|
omk.registerCommand("pick", {
|
|
607
607
|
handler: async (_args, ctx) => {
|
|
@@ -688,11 +688,11 @@ omk.registerCommand("fetch", {
|
|
|
688
688
|
|
|
689
689
|
### Pattern 3: Settings/Toggles (SettingsList)
|
|
690
690
|
|
|
691
|
-
For toggling multiple settings. Use `SettingsList` from
|
|
691
|
+
For toggling multiple settings. Use `SettingsList` from `omk-tui` with `getSettingsListTheme()`.
|
|
692
692
|
|
|
693
693
|
```typescript
|
|
694
694
|
import { getSettingsListTheme } from "open-multi-agent-kit";
|
|
695
|
-
import { Container, type SettingItem, SettingsList, Text } from "
|
|
695
|
+
import { Container, type SettingItem, SettingsList, Text } from "omk-tui";
|
|
696
696
|
|
|
697
697
|
omk.registerCommand("settings", {
|
|
698
698
|
handler: async (_args, ctx) => {
|
|
@@ -832,7 +832,7 @@ Replace the main input editor with a custom implementation. Useful for modal edi
|
|
|
832
832
|
|
|
833
833
|
```typescript
|
|
834
834
|
import { CustomEditor, type ExtensionAPI } from "open-multi-agent-kit";
|
|
835
|
-
import { matchesKey, truncateToWidth } from "
|
|
835
|
+
import { matchesKey, truncateToWidth } from "omk-tui";
|
|
836
836
|
|
|
837
837
|
type Mode = "normal" | "insert";
|
|
838
838
|
|
package/examples/README.md
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
# Extension Examples
|
|
2
2
|
|
|
3
|
-
Example extensions for
|
|
3
|
+
Example extensions for open-multi-agent-kit.
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
# Load an extension with --extension flag
|
|
9
|
-
|
|
9
|
+
omk --extension examples/extensions/permission-gate.ts
|
|
10
10
|
|
|
11
11
|
# Or copy to extensions directory for auto-discovery
|
|
12
|
-
cp permission-gate.ts ~/.
|
|
12
|
+
cp permission-gate.ts ~/.omk/agent/extensions/
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
## Examples
|
|
@@ -59,7 +59,7 @@ cp permission-gate.ts ~/.pi/agent/extensions/
|
|
|
59
59
|
| `model-status.ts` | Shows model changes in status bar via `model_select` hook |
|
|
60
60
|
| `snake.ts` | Snake game with custom UI, keyboard handling, and session persistence |
|
|
61
61
|
| `tic-tac-toe.ts` | Tic-tac-toe vs the agent with `executionMode: "sequential"` tools to prevent race conditions on shared cursor state |
|
|
62
|
-
| `send-user-message.ts` | Demonstrates `
|
|
62
|
+
| `send-user-message.ts` | Demonstrates `omk.sendUserMessage()` for sending user messages from extensions |
|
|
63
63
|
| `timed-confirm.ts` | Demonstrates AbortSignal for auto-dismissing `ctx.ui.confirm()` and `ctx.ui.select()` dialogs |
|
|
64
64
|
| `rpc-demo.ts` | Exercises all RPC-supported extension UI methods; pair with [`examples/rpc-extension-ui.ts`](../rpc-extension-ui.ts) |
|
|
65
65
|
| `modal-editor.ts` | Custom vim-like modal editor via `ctx.ui.setEditorComponent()` |
|
|
@@ -98,7 +98,7 @@ cp permission-gate.ts ~/.pi/agent/extensions/
|
|
|
98
98
|
|
|
99
99
|
| Extension | Description |
|
|
100
100
|
|-----------|-------------|
|
|
101
|
-
| `mac-system-theme.ts` | Syncs
|
|
101
|
+
| `mac-system-theme.ts` | Syncs OMK theme with macOS dark/light mode |
|
|
102
102
|
|
|
103
103
|
### Resources
|
|
104
104
|
|
|
@@ -111,7 +111,7 @@ cp permission-gate.ts ~/.pi/agent/extensions/
|
|
|
111
111
|
| Extension | Description |
|
|
112
112
|
|-----------|-------------|
|
|
113
113
|
| `message-renderer.ts` | Custom message rendering with colors and expandable details via `registerMessageRenderer` |
|
|
114
|
-
| `event-bus.ts` | Inter-extension communication via `
|
|
114
|
+
| `event-bus.ts` | Inter-extension communication via `omk.events` |
|
|
115
115
|
|
|
116
116
|
### Session Metadata
|
|
117
117
|
|
|
@@ -142,9 +142,9 @@ See [docs/extensions.md](../../docs/extensions.md) for full documentation.
|
|
|
142
142
|
import type { ExtensionAPI } from "open-multi-agent-kit";
|
|
143
143
|
import { Type } from "typebox";
|
|
144
144
|
|
|
145
|
-
export default function (
|
|
145
|
+
export default function (omk: ExtensionAPI) {
|
|
146
146
|
// Subscribe to lifecycle events
|
|
147
|
-
|
|
147
|
+
omk.on("tool_call", async (event, ctx) => {
|
|
148
148
|
if (event.toolName === "bash" && event.input.command?.includes("rm -rf")) {
|
|
149
149
|
const ok = await ctx.ui.confirm("Dangerous!", "Allow rm -rf?");
|
|
150
150
|
if (!ok) return { block: true, reason: "Blocked by user" };
|
|
@@ -152,7 +152,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
152
152
|
});
|
|
153
153
|
|
|
154
154
|
// Register custom tools
|
|
155
|
-
|
|
155
|
+
omk.registerTool({
|
|
156
156
|
name: "greet",
|
|
157
157
|
label: "Greeting",
|
|
158
158
|
description: "Generate a greeting",
|
|
@@ -168,7 +168,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
168
168
|
});
|
|
169
169
|
|
|
170
170
|
// Register commands
|
|
171
|
-
|
|
171
|
+
omk.registerCommand("hello", {
|
|
172
172
|
description: "Say hello",
|
|
173
173
|
handler: async (args, ctx) => {
|
|
174
174
|
ctx.ui.notify("Hello!", "info");
|
|
@@ -181,7 +181,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
181
181
|
|
|
182
182
|
**Use StringEnum for string parameters** (required for Google API compatibility):
|
|
183
183
|
```typescript
|
|
184
|
-
import { StringEnum } from "
|
|
184
|
+
import { StringEnum } from "omk-ai";
|
|
185
185
|
|
|
186
186
|
// Good
|
|
187
187
|
action: StringEnum(["list", "add"] as const)
|
|
@@ -199,7 +199,7 @@ return {
|
|
|
199
199
|
};
|
|
200
200
|
|
|
201
201
|
// Reconstruct on session events
|
|
202
|
-
|
|
202
|
+
omk.on("session_start", async (_event, ctx) => {
|
|
203
203
|
for (const entry of ctx.sessionManager.getBranch()) {
|
|
204
204
|
if (entry.type === "message" && entry.message.toolName === "my_tool") {
|
|
205
205
|
const details = entry.message.details;
|