@spinabot/brigade 0.1.2 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +748 -88
- package/brigade.mjs +150 -73
- package/dist/agents/a2a-policy-canonicalize.d.ts +60 -0
- package/dist/agents/a2a-policy-canonicalize.d.ts.map +1 -0
- package/dist/agents/a2a-policy-canonicalize.js +103 -0
- package/dist/agents/a2a-policy-canonicalize.js.map +1 -0
- package/dist/agents/agent-event-bus.d.ts +221 -0
- package/dist/agents/agent-event-bus.d.ts.map +1 -0
- package/dist/agents/agent-event-bus.js +88 -0
- package/dist/agents/agent-event-bus.js.map +1 -0
- package/dist/agents/agent-events.d.ts +84 -0
- package/dist/agents/agent-events.d.ts.map +1 -0
- package/dist/agents/agent-events.js +309 -0
- package/dist/agents/agent-events.js.map +1 -0
- package/dist/agents/agent-events.types.d.ts +139 -0
- package/dist/agents/agent-events.types.d.ts.map +1 -0
- package/dist/agents/agent-events.types.js +27 -0
- package/dist/agents/agent-events.types.js.map +1 -0
- package/dist/agents/agent-loop.d.ts +145 -0
- package/dist/agents/agent-loop.d.ts.map +1 -0
- package/dist/agents/agent-loop.js +1938 -0
- package/dist/agents/agent-loop.js.map +1 -0
- package/dist/agents/agent-scope.d.ts +28 -0
- package/dist/agents/agent-scope.d.ts.map +1 -0
- package/dist/agents/agent-scope.js +39 -0
- package/dist/agents/agent-scope.js.map +1 -0
- package/dist/agents/approval-bridge.d.ts +139 -0
- package/dist/agents/approval-bridge.d.ts.map +1 -0
- package/dist/agents/approval-bridge.js +178 -0
- package/dist/agents/approval-bridge.js.map +1 -0
- package/dist/agents/carrow.d.ts +49 -0
- package/dist/agents/carrow.d.ts.map +1 -0
- package/dist/agents/carrow.js +57 -0
- package/dist/agents/carrow.js.map +1 -0
- package/dist/agents/channels/abort-triggers.d.ts +17 -0
- package/dist/agents/channels/abort-triggers.d.ts.map +1 -0
- package/dist/agents/channels/abort-triggers.js +52 -0
- package/dist/agents/channels/abort-triggers.js.map +1 -0
- package/dist/agents/channels/access-control/index.d.ts +5 -0
- package/dist/agents/channels/access-control/index.d.ts.map +1 -0
- package/dist/agents/channels/access-control/index.js +4 -0
- package/dist/agents/channels/access-control/index.js.map +1 -0
- package/dist/agents/channels/access-control/policy.d.ts +69 -0
- package/dist/agents/channels/access-control/policy.d.ts.map +1 -0
- package/dist/agents/channels/access-control/policy.js +123 -0
- package/dist/agents/channels/access-control/policy.js.map +1 -0
- package/dist/agents/channels/access-control/store.d.ts +86 -0
- package/dist/agents/channels/access-control/store.d.ts.map +1 -0
- package/dist/agents/channels/access-control/store.js +482 -0
- package/dist/agents/channels/access-control/store.js.map +1 -0
- package/dist/agents/channels/access-control/types.d.ts +52 -0
- package/dist/agents/channels/access-control/types.d.ts.map +1 -0
- package/dist/agents/channels/access-control/types.js +20 -0
- package/dist/agents/channels/access-control/types.js.map +1 -0
- package/dist/agents/channels/active-manager.d.ts +31 -0
- package/dist/agents/channels/active-manager.d.ts.map +1 -0
- package/dist/agents/channels/active-manager.js +41 -0
- package/dist/agents/channels/active-manager.js.map +1 -0
- package/dist/agents/channels/agent-switch-command.d.ts +53 -0
- package/dist/agents/channels/agent-switch-command.d.ts.map +1 -0
- package/dist/agents/channels/agent-switch-command.js +349 -0
- package/dist/agents/channels/agent-switch-command.js.map +1 -0
- package/dist/agents/channels/approval-router.d.ts +158 -0
- package/dist/agents/channels/approval-router.d.ts.map +1 -0
- package/dist/agents/channels/approval-router.js +446 -0
- package/dist/agents/channels/approval-router.js.map +1 -0
- package/dist/agents/channels/channel-entry-contract.d.ts +70 -0
- package/dist/agents/channels/channel-entry-contract.d.ts.map +1 -0
- package/dist/agents/channels/channel-entry-contract.js +48 -0
- package/dist/agents/channels/channel-entry-contract.js.map +1 -0
- package/dist/agents/channels/channel-plugin-manager.d.ts +86 -0
- package/dist/agents/channels/channel-plugin-manager.d.ts.map +1 -0
- package/dist/agents/channels/channel-plugin-manager.js +345 -0
- package/dist/agents/channels/channel-plugin-manager.js.map +1 -0
- package/dist/agents/channels/chat-type.d.ts +27 -0
- package/dist/agents/channels/chat-type.d.ts.map +1 -0
- package/dist/agents/channels/chat-type.js +33 -0
- package/dist/agents/channels/chat-type.js.map +1 -0
- package/dist/agents/channels/dedupe.d.ts +44 -0
- package/dist/agents/channels/dedupe.d.ts.map +1 -0
- package/dist/agents/channels/dedupe.js +80 -0
- package/dist/agents/channels/dedupe.js.map +1 -0
- package/dist/agents/channels/inbound-pipeline.d.ts +90 -0
- package/dist/agents/channels/inbound-pipeline.d.ts.map +1 -0
- package/dist/agents/channels/inbound-pipeline.js +721 -0
- package/dist/agents/channels/inbound-pipeline.js.map +1 -0
- package/dist/agents/channels/last-channel.d.ts +56 -0
- package/dist/agents/channels/last-channel.d.ts.map +1 -0
- package/dist/agents/channels/last-channel.js +65 -0
- package/dist/agents/channels/last-channel.js.map +1 -0
- package/dist/agents/channels/manager.d.ts +76 -0
- package/dist/agents/channels/manager.d.ts.map +1 -0
- package/dist/agents/channels/manager.js +132 -0
- package/dist/agents/channels/manager.js.map +1 -0
- package/dist/agents/channels/media-capture.d.ts +23 -0
- package/dist/agents/channels/media-capture.d.ts.map +1 -0
- package/dist/agents/channels/media-capture.js +40 -0
- package/dist/agents/channels/media-capture.js.map +1 -0
- package/dist/agents/channels/plugin-channel-manager-facade.d.ts +18 -0
- package/dist/agents/channels/plugin-channel-manager-facade.d.ts.map +1 -0
- package/dist/agents/channels/plugin-channel-manager-facade.js +52 -0
- package/dist/agents/channels/plugin-channel-manager-facade.js.map +1 -0
- package/dist/agents/channels/reply-sanitizer.d.ts +38 -0
- package/dist/agents/channels/reply-sanitizer.d.ts.map +1 -0
- package/dist/agents/channels/reply-sanitizer.js +94 -0
- package/dist/agents/channels/reply-sanitizer.js.map +1 -0
- package/dist/agents/channels/retryable-inbound.d.ts +31 -0
- package/dist/agents/channels/retryable-inbound.d.ts.map +1 -0
- package/dist/agents/channels/retryable-inbound.js +37 -0
- package/dist/agents/channels/retryable-inbound.js.map +1 -0
- package/dist/agents/channels/types.adapters.d.ts +399 -0
- package/dist/agents/channels/types.adapters.d.ts.map +1 -0
- package/dist/agents/channels/types.adapters.js +33 -0
- package/dist/agents/channels/types.adapters.js.map +1 -0
- package/dist/agents/channels/types.core.d.ts +134 -0
- package/dist/agents/channels/types.core.d.ts.map +1 -0
- package/dist/agents/channels/types.core.js +32 -0
- package/dist/agents/channels/types.core.js.map +1 -0
- package/dist/agents/channels/types.plugin.d.ts +78 -0
- package/dist/agents/channels/types.plugin.d.ts.map +1 -0
- package/dist/agents/channels/types.plugin.js +30 -0
- package/dist/agents/channels/types.plugin.js.map +1 -0
- package/dist/agents/channels/whatsapp/account-config.d.ts +50 -0
- package/dist/agents/channels/whatsapp/account-config.d.ts.map +1 -0
- package/dist/agents/channels/whatsapp/account-config.js +105 -0
- package/dist/agents/channels/whatsapp/account-config.js.map +1 -0
- package/dist/agents/channels/whatsapp/adapter.d.ts +22 -0
- package/dist/agents/channels/whatsapp/adapter.d.ts.map +1 -0
- package/dist/agents/channels/whatsapp/adapter.js +270 -0
- package/dist/agents/channels/whatsapp/adapter.js.map +1 -0
- package/dist/agents/channels/whatsapp/chunk.d.ts +26 -0
- package/dist/agents/channels/whatsapp/chunk.d.ts.map +1 -0
- package/dist/agents/channels/whatsapp/chunk.js +123 -0
- package/dist/agents/channels/whatsapp/chunk.js.map +1 -0
- package/dist/agents/channels/whatsapp/connection.d.ts +249 -0
- package/dist/agents/channels/whatsapp/connection.d.ts.map +1 -0
- package/dist/agents/channels/whatsapp/connection.js +1628 -0
- package/dist/agents/channels/whatsapp/connection.js.map +1 -0
- package/dist/agents/channels/whatsapp/convex-auth-state.d.ts +34 -0
- package/dist/agents/channels/whatsapp/convex-auth-state.d.ts.map +1 -0
- package/dist/agents/channels/whatsapp/convex-auth-state.js +168 -0
- package/dist/agents/channels/whatsapp/convex-auth-state.js.map +1 -0
- package/dist/agents/channels/whatsapp/format.d.ts +15 -0
- package/dist/agents/channels/whatsapp/format.d.ts.map +1 -0
- package/dist/agents/channels/whatsapp/format.js +66 -0
- package/dist/agents/channels/whatsapp/format.js.map +1 -0
- package/dist/agents/channels/whatsapp/inbound-extras.d.ts +30 -0
- package/dist/agents/channels/whatsapp/inbound-extras.d.ts.map +1 -0
- package/dist/agents/channels/whatsapp/inbound-extras.js +146 -0
- package/dist/agents/channels/whatsapp/inbound-extras.js.map +1 -0
- package/dist/agents/channels/whatsapp/index.d.ts +7 -0
- package/dist/agents/channels/whatsapp/index.d.ts.map +1 -0
- package/dist/agents/channels/whatsapp/index.js +7 -0
- package/dist/agents/channels/whatsapp/index.js.map +1 -0
- package/dist/agents/channels/whatsapp/media.d.ts +47 -0
- package/dist/agents/channels/whatsapp/media.d.ts.map +1 -0
- package/dist/agents/channels/whatsapp/media.js +192 -0
- package/dist/agents/channels/whatsapp/media.js.map +1 -0
- package/dist/agents/channels/whatsapp/module.d.ts +10 -0
- package/dist/agents/channels/whatsapp/module.d.ts.map +1 -0
- package/dist/agents/channels/whatsapp/module.js +17 -0
- package/dist/agents/channels/whatsapp/module.js.map +1 -0
- package/dist/agents/channels/whatsapp/plugin.d.ts +60 -0
- package/dist/agents/channels/whatsapp/plugin.d.ts.map +1 -0
- package/dist/agents/channels/whatsapp/plugin.js +238 -0
- package/dist/agents/channels/whatsapp/plugin.js.map +1 -0
- package/dist/agents/cmd-ism-guard.d.ts +47 -0
- package/dist/agents/cmd-ism-guard.d.ts.map +1 -0
- package/dist/agents/cmd-ism-guard.js +100 -0
- package/dist/agents/cmd-ism-guard.js.map +1 -0
- package/dist/agents/config-write-guard.d.ts +25 -0
- package/dist/agents/config-write-guard.d.ts.map +1 -0
- package/dist/agents/config-write-guard.js +95 -0
- package/dist/agents/config-write-guard.js.map +1 -0
- package/dist/agents/content-quality-retry.d.ts +66 -0
- package/dist/agents/content-quality-retry.d.ts.map +1 -0
- package/dist/agents/content-quality-retry.js +140 -0
- package/dist/agents/content-quality-retry.js.map +1 -0
- package/dist/agents/error-classifier.d.ts +89 -0
- package/dist/agents/error-classifier.d.ts.map +1 -0
- package/dist/agents/error-classifier.js +630 -0
- package/dist/agents/error-classifier.js.map +1 -0
- package/dist/agents/exec-gate.d.ts +113 -0
- package/dist/agents/exec-gate.d.ts.map +1 -0
- package/dist/agents/exec-gate.js +335 -0
- package/dist/agents/exec-gate.js.map +1 -0
- package/dist/agents/exec-session-allow.d.ts +30 -0
- package/dist/agents/exec-session-allow.d.ts.map +1 -0
- package/dist/agents/exec-session-allow.js +50 -0
- package/dist/agents/exec-session-allow.js.map +1 -0
- package/dist/agents/extensions/active-registry.d.ts +4 -0
- package/dist/agents/extensions/active-registry.d.ts.map +1 -0
- package/dist/agents/extensions/active-registry.js +18 -0
- package/dist/agents/extensions/active-registry.js.map +1 -0
- package/dist/agents/extensions/discovery.d.ts +84 -0
- package/dist/agents/extensions/discovery.d.ts.map +1 -0
- package/dist/agents/extensions/discovery.js +249 -0
- package/dist/agents/extensions/discovery.js.map +1 -0
- package/dist/agents/extensions/hook-runner.d.ts +67 -0
- package/dist/agents/extensions/hook-runner.d.ts.map +1 -0
- package/dist/agents/extensions/hook-runner.js +155 -0
- package/dist/agents/extensions/hook-runner.js.map +1 -0
- package/dist/agents/extensions/index.d.ts +15 -0
- package/dist/agents/extensions/index.d.ts.map +1 -0
- package/dist/agents/extensions/index.js +14 -0
- package/dist/agents/extensions/index.js.map +1 -0
- package/dist/agents/extensions/loader.d.ts +38 -0
- package/dist/agents/extensions/loader.d.ts.map +1 -0
- package/dist/agents/extensions/loader.js +142 -0
- package/dist/agents/extensions/loader.js.map +1 -0
- package/dist/agents/extensions/modules/arxiv.d.ts +28 -0
- package/dist/agents/extensions/modules/arxiv.d.ts.map +1 -0
- package/dist/agents/extensions/modules/arxiv.js +145 -0
- package/dist/agents/extensions/modules/arxiv.js.map +1 -0
- package/dist/agents/extensions/modules/brave.d.ts +28 -0
- package/dist/agents/extensions/modules/brave.d.ts.map +1 -0
- package/dist/agents/extensions/modules/brave.js +489 -0
- package/dist/agents/extensions/modules/brave.js.map +1 -0
- package/dist/agents/extensions/modules/duckduckgo.d.ts +27 -0
- package/dist/agents/extensions/modules/duckduckgo.d.ts.map +1 -0
- package/dist/agents/extensions/modules/duckduckgo.js +263 -0
- package/dist/agents/extensions/modules/duckduckgo.js.map +1 -0
- package/dist/agents/extensions/modules/exa.d.ts +19 -0
- package/dist/agents/extensions/modules/exa.d.ts.map +1 -0
- package/dist/agents/extensions/modules/exa.js +208 -0
- package/dist/agents/extensions/modules/exa.js.map +1 -0
- package/dist/agents/extensions/modules/firecrawl.d.ts +51 -0
- package/dist/agents/extensions/modules/firecrawl.d.ts.map +1 -0
- package/dist/agents/extensions/modules/firecrawl.js +280 -0
- package/dist/agents/extensions/modules/firecrawl.js.map +1 -0
- package/dist/agents/extensions/modules/github-search.d.ts +29 -0
- package/dist/agents/extensions/modules/github-search.d.ts.map +1 -0
- package/dist/agents/extensions/modules/github-search.js +197 -0
- package/dist/agents/extensions/modules/github-search.js.map +1 -0
- package/dist/agents/extensions/modules/hackernews.d.ts +17 -0
- package/dist/agents/extensions/modules/hackernews.d.ts.map +1 -0
- package/dist/agents/extensions/modules/hackernews.js +144 -0
- package/dist/agents/extensions/modules/hackernews.js.map +1 -0
- package/dist/agents/extensions/modules/index.d.ts +11 -0
- package/dist/agents/extensions/modules/index.d.ts.map +1 -0
- package/dist/agents/extensions/modules/index.js +64 -0
- package/dist/agents/extensions/modules/index.js.map +1 -0
- package/dist/agents/extensions/modules/npm-search.d.ts +15 -0
- package/dist/agents/extensions/modules/npm-search.d.ts.map +1 -0
- package/dist/agents/extensions/modules/npm-search.js +126 -0
- package/dist/agents/extensions/modules/npm-search.js.map +1 -0
- package/dist/agents/extensions/modules/ollama-search.d.ts +30 -0
- package/dist/agents/extensions/modules/ollama-search.d.ts.map +1 -0
- package/dist/agents/extensions/modules/ollama-search.js +171 -0
- package/dist/agents/extensions/modules/ollama-search.js.map +1 -0
- package/dist/agents/extensions/modules/perplexity.d.ts +19 -0
- package/dist/agents/extensions/modules/perplexity.d.ts.map +1 -0
- package/dist/agents/extensions/modules/perplexity.js +358 -0
- package/dist/agents/extensions/modules/perplexity.js.map +1 -0
- package/dist/agents/extensions/modules/searxng.d.ts +43 -0
- package/dist/agents/extensions/modules/searxng.d.ts.map +1 -0
- package/dist/agents/extensions/modules/searxng.js +191 -0
- package/dist/agents/extensions/modules/searxng.js.map +1 -0
- package/dist/agents/extensions/modules/tavily.d.ts +71 -0
- package/dist/agents/extensions/modules/tavily.d.ts.map +1 -0
- package/dist/agents/extensions/modules/tavily.js +330 -0
- package/dist/agents/extensions/modules/tavily.js.map +1 -0
- package/dist/agents/extensions/modules/web-provider-helpers.d.ts +89 -0
- package/dist/agents/extensions/modules/web-provider-helpers.d.ts.map +1 -0
- package/dist/agents/extensions/modules/web-provider-helpers.js +146 -0
- package/dist/agents/extensions/modules/web-provider-helpers.js.map +1 -0
- package/dist/agents/extensions/modules/web-search-filters.d.ts +62 -0
- package/dist/agents/extensions/modules/web-search-filters.d.ts.map +1 -0
- package/dist/agents/extensions/modules/web-search-filters.js +179 -0
- package/dist/agents/extensions/modules/web-search-filters.js.map +1 -0
- package/dist/agents/extensions/modules/wikipedia.d.ts +16 -0
- package/dist/agents/extensions/modules/wikipedia.d.ts.map +1 -0
- package/dist/agents/extensions/modules/wikipedia.js +138 -0
- package/dist/agents/extensions/modules/wikipedia.js.map +1 -0
- package/dist/agents/extensions/registry-cache.d.ts +74 -0
- package/dist/agents/extensions/registry-cache.d.ts.map +1 -0
- package/dist/agents/extensions/registry-cache.js +117 -0
- package/dist/agents/extensions/registry-cache.js.map +1 -0
- package/dist/agents/extensions/registry.d.ts +184 -0
- package/dist/agents/extensions/registry.d.ts.map +1 -0
- package/dist/agents/extensions/registry.js +512 -0
- package/dist/agents/extensions/registry.js.map +1 -0
- package/dist/agents/extensions/types.d.ts +1195 -0
- package/dist/agents/extensions/types.d.ts.map +1 -0
- package/dist/agents/extensions/types.js +28 -0
- package/dist/agents/extensions/types.js.map +1 -0
- package/dist/agents/gateway-call.d.ts +171 -0
- package/dist/agents/gateway-call.d.ts.map +1 -0
- package/dist/agents/gateway-call.js +74 -0
- package/dist/agents/gateway-call.js.map +1 -0
- package/dist/agents/heartbeat-runner.d.ts +100 -0
- package/dist/agents/heartbeat-runner.d.ts.map +1 -0
- package/dist/agents/heartbeat-runner.js +268 -0
- package/dist/agents/heartbeat-runner.js.map +1 -0
- package/dist/agents/heartbeat-scheduler.d.ts +56 -0
- package/dist/agents/heartbeat-scheduler.d.ts.map +1 -0
- package/dist/agents/heartbeat-scheduler.js +366 -0
- package/dist/agents/heartbeat-scheduler.js.map +1 -0
- package/dist/agents/heartbeat-wake.d.ts +99 -0
- package/dist/agents/heartbeat-wake.d.ts.map +1 -0
- package/dist/agents/heartbeat-wake.js +304 -0
- package/dist/agents/heartbeat-wake.js.map +1 -0
- package/dist/agents/identity-file.d.ts +26 -0
- package/dist/agents/identity-file.d.ts.map +1 -0
- package/dist/agents/identity-file.js +86 -0
- package/dist/agents/identity-file.js.map +1 -0
- package/dist/agents/identity-links.d.ts +44 -0
- package/dist/agents/identity-links.d.ts.map +1 -0
- package/dist/agents/identity-links.js +51 -0
- package/dist/agents/identity-links.js.map +1 -0
- package/dist/agents/loop/autonomous-agent.d.ts +55 -0
- package/dist/agents/loop/autonomous-agent.d.ts.map +1 -0
- package/dist/agents/loop/autonomous-agent.js +91 -0
- package/dist/agents/loop/autonomous-agent.js.map +1 -0
- package/dist/agents/loop/loop-guards.d.ts +95 -0
- package/dist/agents/loop/loop-guards.d.ts.map +1 -0
- package/dist/agents/loop/loop-guards.js +169 -0
- package/dist/agents/loop/loop-guards.js.map +1 -0
- package/dist/agents/loop/loop-runner.d.ts +72 -0
- package/dist/agents/loop/loop-runner.d.ts.map +1 -0
- package/dist/agents/loop/loop-runner.js +114 -0
- package/dist/agents/loop/loop-runner.js.map +1 -0
- package/dist/agents/memory/auto-recall.d.ts +69 -0
- package/dist/agents/memory/auto-recall.d.ts.map +1 -0
- package/dist/agents/memory/auto-recall.js +147 -0
- package/dist/agents/memory/auto-recall.js.map +1 -0
- package/dist/agents/memory/behavior-review.d.ts +68 -0
- package/dist/agents/memory/behavior-review.d.ts.map +1 -0
- package/dist/agents/memory/behavior-review.js +131 -0
- package/dist/agents/memory/behavior-review.js.map +1 -0
- package/dist/agents/memory/consolidate.d.ts +62 -0
- package/dist/agents/memory/consolidate.d.ts.map +1 -0
- package/dist/agents/memory/consolidate.js +275 -0
- package/dist/agents/memory/consolidate.js.map +1 -0
- package/dist/agents/memory/contradiction.d.ts +44 -0
- package/dist/agents/memory/contradiction.d.ts.map +1 -0
- package/dist/agents/memory/contradiction.js +86 -0
- package/dist/agents/memory/contradiction.js.map +1 -0
- package/dist/agents/memory/curator.d.ts +22 -0
- package/dist/agents/memory/curator.d.ts.map +1 -0
- package/dist/agents/memory/curator.js +52 -0
- package/dist/agents/memory/curator.js.map +1 -0
- package/dist/agents/memory/decay.d.ts +32 -0
- package/dist/agents/memory/decay.d.ts.map +1 -0
- package/dist/agents/memory/decay.js +86 -0
- package/dist/agents/memory/decay.js.map +1 -0
- package/dist/agents/memory/dream.d.ts +52 -0
- package/dist/agents/memory/dream.d.ts.map +1 -0
- package/dist/agents/memory/dream.js +192 -0
- package/dist/agents/memory/dream.js.map +1 -0
- package/dist/agents/memory/embedder-providers.d.ts +114 -0
- package/dist/agents/memory/embedder-providers.d.ts.map +1 -0
- package/dist/agents/memory/embedder-providers.js +213 -0
- package/dist/agents/memory/embedder-providers.js.map +1 -0
- package/dist/agents/memory/embedder.d.ts +84 -0
- package/dist/agents/memory/embedder.d.ts.map +1 -0
- package/dist/agents/memory/embedder.js +218 -0
- package/dist/agents/memory/embedder.js.map +1 -0
- package/dist/agents/memory/eval/asr-bench.d.ts +33 -0
- package/dist/agents/memory/eval/asr-bench.d.ts.map +1 -0
- package/dist/agents/memory/eval/asr-bench.js +129 -0
- package/dist/agents/memory/eval/asr-bench.js.map +1 -0
- package/dist/agents/memory/eval/capabilities.d.ts +97 -0
- package/dist/agents/memory/eval/capabilities.d.ts.map +1 -0
- package/dist/agents/memory/eval/capabilities.js +210 -0
- package/dist/agents/memory/eval/capabilities.js.map +1 -0
- package/dist/agents/memory/eval/gold-export.d.ts +44 -0
- package/dist/agents/memory/eval/gold-export.d.ts.map +1 -0
- package/dist/agents/memory/eval/gold-export.js +85 -0
- package/dist/agents/memory/eval/gold-export.js.map +1 -0
- package/dist/agents/memory/eval/gold-hard.d.ts +35 -0
- package/dist/agents/memory/eval/gold-hard.d.ts.map +1 -0
- package/dist/agents/memory/eval/gold-hard.js +113 -0
- package/dist/agents/memory/eval/gold-hard.js.map +1 -0
- package/dist/agents/memory/eval/gold-rich.d.ts +33 -0
- package/dist/agents/memory/eval/gold-rich.d.ts.map +1 -0
- package/dist/agents/memory/eval/gold-rich.js +82 -0
- package/dist/agents/memory/eval/gold-rich.js.map +1 -0
- package/dist/agents/memory/eval/gold-synthetic.d.ts +19 -0
- package/dist/agents/memory/eval/gold-synthetic.d.ts.map +1 -0
- package/dist/agents/memory/eval/gold-synthetic.js +65 -0
- package/dist/agents/memory/eval/gold-synthetic.js.map +1 -0
- package/dist/agents/memory/eval/gold.d.ts +73 -0
- package/dist/agents/memory/eval/gold.d.ts.map +1 -0
- package/dist/agents/memory/eval/gold.js +174 -0
- package/dist/agents/memory/eval/gold.js.map +1 -0
- package/dist/agents/memory/eval/harness.d.ts +110 -0
- package/dist/agents/memory/eval/harness.d.ts.map +1 -0
- package/dist/agents/memory/eval/harness.js +123 -0
- package/dist/agents/memory/eval/harness.js.map +1 -0
- package/dist/agents/memory/eval/metrics.d.ts +71 -0
- package/dist/agents/memory/eval/metrics.d.ts.map +1 -0
- package/dist/agents/memory/eval/metrics.js +169 -0
- package/dist/agents/memory/eval/metrics.js.map +1 -0
- package/dist/agents/memory/event-log.d.ts +52 -0
- package/dist/agents/memory/event-log.d.ts.map +1 -0
- package/dist/agents/memory/event-log.js +65 -0
- package/dist/agents/memory/event-log.js.map +1 -0
- package/dist/agents/memory/extract.d.ts +155 -0
- package/dist/agents/memory/extract.d.ts.map +1 -0
- package/dist/agents/memory/extract.js +571 -0
- package/dist/agents/memory/extract.js.map +1 -0
- package/dist/agents/memory/governance.d.ts +45 -0
- package/dist/agents/memory/governance.d.ts.map +1 -0
- package/dist/agents/memory/governance.js +113 -0
- package/dist/agents/memory/governance.js.map +1 -0
- package/dist/agents/memory/graph-export.d.ts +59 -0
- package/dist/agents/memory/graph-export.d.ts.map +1 -0
- package/dist/agents/memory/graph-export.js +181 -0
- package/dist/agents/memory/graph-export.js.map +1 -0
- package/dist/agents/memory/graph-recall.d.ts +42 -0
- package/dist/agents/memory/graph-recall.d.ts.map +1 -0
- package/dist/agents/memory/graph-recall.js +165 -0
- package/dist/agents/memory/graph-recall.js.map +1 -0
- package/dist/agents/memory/graph.d.ts +92 -0
- package/dist/agents/memory/graph.d.ts.map +1 -0
- package/dist/agents/memory/graph.js +266 -0
- package/dist/agents/memory/graph.js.map +1 -0
- package/dist/agents/memory/host-ports.d.ts +27 -0
- package/dist/agents/memory/host-ports.d.ts.map +1 -0
- package/dist/agents/memory/host-ports.js +31 -0
- package/dist/agents/memory/host-ports.js.map +1 -0
- package/dist/agents/memory/hybrid.d.ts +46 -0
- package/dist/agents/memory/hybrid.d.ts.map +1 -0
- package/dist/agents/memory/hybrid.js +184 -0
- package/dist/agents/memory/hybrid.js.map +1 -0
- package/dist/agents/memory/index.d.ts +13 -0
- package/dist/agents/memory/index.d.ts.map +1 -0
- package/dist/agents/memory/index.js +13 -0
- package/dist/agents/memory/index.js.map +1 -0
- package/dist/agents/memory/json-scan.d.ts +14 -0
- package/dist/agents/memory/json-scan.d.ts.map +1 -0
- package/dist/agents/memory/json-scan.js +47 -0
- package/dist/agents/memory/json-scan.js.map +1 -0
- package/dist/agents/memory/links.d.ts +92 -0
- package/dist/agents/memory/links.d.ts.map +1 -0
- package/dist/agents/memory/links.js +140 -0
- package/dist/agents/memory/links.js.map +1 -0
- package/dist/agents/memory/maintenance.d.ts +18 -0
- package/dist/agents/memory/maintenance.d.ts.map +1 -0
- package/dist/agents/memory/maintenance.js +66 -0
- package/dist/agents/memory/maintenance.js.map +1 -0
- package/dist/agents/memory/memory-mcp-server.d.ts +39 -0
- package/dist/agents/memory/memory-mcp-server.d.ts.map +1 -0
- package/dist/agents/memory/memory-mcp-server.js +122 -0
- package/dist/agents/memory/memory-mcp-server.js.map +1 -0
- package/dist/agents/memory/memory-mcp.d.ts +34 -0
- package/dist/agents/memory/memory-mcp.d.ts.map +1 -0
- package/dist/agents/memory/memory-mcp.js +130 -0
- package/dist/agents/memory/memory-mcp.js.map +1 -0
- package/dist/agents/memory/plugin-runtime.d.ts +133 -0
- package/dist/agents/memory/plugin-runtime.d.ts.map +1 -0
- package/dist/agents/memory/plugin-runtime.js +149 -0
- package/dist/agents/memory/plugin-runtime.js.map +1 -0
- package/dist/agents/memory/query.d.ts +50 -0
- package/dist/agents/memory/query.d.ts.map +1 -0
- package/dist/agents/memory/query.js +94 -0
- package/dist/agents/memory/query.js.map +1 -0
- package/dist/agents/memory/records.d.ts +617 -0
- package/dist/agents/memory/records.d.ts.map +1 -0
- package/dist/agents/memory/records.js +1327 -0
- package/dist/agents/memory/records.js.map +1 -0
- package/dist/agents/memory/reembed.d.ts +42 -0
- package/dist/agents/memory/reembed.d.ts.map +1 -0
- package/dist/agents/memory/reembed.js +60 -0
- package/dist/agents/memory/reembed.js.map +1 -0
- package/dist/agents/memory/relationship-extract.d.ts +259 -0
- package/dist/agents/memory/relationship-extract.d.ts.map +1 -0
- package/dist/agents/memory/relationship-extract.js +454 -0
- package/dist/agents/memory/relationship-extract.js.map +1 -0
- package/dist/agents/memory/rerank.d.ts +37 -0
- package/dist/agents/memory/rerank.d.ts.map +1 -0
- package/dist/agents/memory/rerank.js +43 -0
- package/dist/agents/memory/rerank.js.map +1 -0
- package/dist/agents/memory/scoring.d.ts +85 -0
- package/dist/agents/memory/scoring.d.ts.map +1 -0
- package/dist/agents/memory/scoring.js +139 -0
- package/dist/agents/memory/scoring.js.map +1 -0
- package/dist/agents/memory/self-improve.d.ts +56 -0
- package/dist/agents/memory/self-improve.d.ts.map +1 -0
- package/dist/agents/memory/self-improve.js +98 -0
- package/dist/agents/memory/self-improve.js.map +1 -0
- package/dist/agents/memory/self-review.d.ts +68 -0
- package/dist/agents/memory/self-review.d.ts.map +1 -0
- package/dist/agents/memory/self-review.js +109 -0
- package/dist/agents/memory/self-review.js.map +1 -0
- package/dist/agents/memory/storage.d.ts +156 -0
- package/dist/agents/memory/storage.d.ts.map +1 -0
- package/dist/agents/memory/storage.js +359 -0
- package/dist/agents/memory/storage.js.map +1 -0
- package/dist/agents/memory/tideline.d.ts +203 -0
- package/dist/agents/memory/tideline.d.ts.map +1 -0
- package/dist/agents/memory/tideline.js +189 -0
- package/dist/agents/memory/tideline.js.map +1 -0
- package/dist/agents/memory/vault.d.ts +142 -0
- package/dist/agents/memory/vault.d.ts.map +1 -0
- package/dist/agents/memory/vault.js +787 -0
- package/dist/agents/memory/vault.js.map +1 -0
- package/dist/agents/memory/write-gate.d.ts +76 -0
- package/dist/agents/memory/write-gate.d.ts.map +1 -0
- package/dist/agents/memory/write-gate.js +140 -0
- package/dist/agents/memory/write-gate.js.map +1 -0
- package/dist/agents/mid-turn-switch.d.ts +25 -0
- package/dist/agents/mid-turn-switch.d.ts.map +1 -0
- package/dist/agents/mid-turn-switch.js +103 -0
- package/dist/agents/mid-turn-switch.js.map +1 -0
- package/dist/agents/model-fallback.d.ts +50 -0
- package/dist/agents/model-fallback.d.ts.map +1 -0
- package/dist/agents/model-fallback.js +226 -0
- package/dist/agents/model-fallback.js.map +1 -0
- package/dist/agents/model-resolution.d.ts +38 -0
- package/dist/agents/model-resolution.d.ts.map +1 -0
- package/dist/agents/model-resolution.js +155 -0
- package/dist/agents/model-resolution.js.map +1 -0
- package/dist/agents/org/a2a-adapter.d.ts +49 -0
- package/dist/agents/org/a2a-adapter.d.ts.map +1 -0
- package/dist/agents/org/a2a-adapter.js +92 -0
- package/dist/agents/org/a2a-adapter.js.map +1 -0
- package/dist/agents/org/assets/mascots/README.md +34 -0
- package/dist/agents/org/assets/mascots/Untitled-1.png +0 -0
- package/dist/agents/org/assets/mascots/brigade_biceps.png +0 -0
- package/dist/agents/org/audit-log.d.ts +22 -0
- package/dist/agents/org/audit-log.d.ts.map +1 -0
- package/dist/agents/org/audit-log.js +37 -0
- package/dist/agents/org/audit-log.js.map +1 -0
- package/dist/agents/org/auto-derive.d.ts +22 -0
- package/dist/agents/org/auto-derive.d.ts.map +1 -0
- package/dist/agents/org/auto-derive.js +66 -0
- package/dist/agents/org/auto-derive.js.map +1 -0
- package/dist/agents/org/delivery-kind.d.ts +89 -0
- package/dist/agents/org/delivery-kind.d.ts.map +1 -0
- package/dist/agents/org/delivery-kind.js +149 -0
- package/dist/agents/org/delivery-kind.js.map +1 -0
- package/dist/agents/org/derive-graph.d.ts +34 -0
- package/dist/agents/org/derive-graph.d.ts.map +1 -0
- package/dist/agents/org/derive-graph.js +266 -0
- package/dist/agents/org/derive-graph.js.map +1 -0
- package/dist/agents/org/lints.d.ts +21 -0
- package/dist/agents/org/lints.d.ts.map +1 -0
- package/dist/agents/org/lints.js +133 -0
- package/dist/agents/org/lints.js.map +1 -0
- package/dist/agents/org/pride-html.d.ts +61 -0
- package/dist/agents/org/pride-html.d.ts.map +1 -0
- package/dist/agents/org/pride-html.js +565 -0
- package/dist/agents/org/pride-html.js.map +1 -0
- package/dist/agents/org/pride-image.d.ts +101 -0
- package/dist/agents/org/pride-image.d.ts.map +1 -0
- package/dist/agents/org/pride-image.js +210 -0
- package/dist/agents/org/pride-image.js.map +1 -0
- package/dist/agents/org/pride-taunts.d.ts +47 -0
- package/dist/agents/org/pride-taunts.d.ts.map +1 -0
- package/dist/agents/org/pride-taunts.js +411 -0
- package/dist/agents/org/pride-taunts.js.map +1 -0
- package/dist/agents/org/pride-template.d.ts +272 -0
- package/dist/agents/org/pride-template.d.ts.map +1 -0
- package/dist/agents/org/pride-template.js +892 -0
- package/dist/agents/org/pride-template.js.map +1 -0
- package/dist/agents/org/pride-themes.d.ts +80 -0
- package/dist/agents/org/pride-themes.d.ts.map +1 -0
- package/dist/agents/org/pride-themes.js +7596 -0
- package/dist/agents/org/pride-themes.js.map +1 -0
- package/dist/agents/org/structured-errors.d.ts +47 -0
- package/dist/agents/org/structured-errors.d.ts.map +1 -0
- package/dist/agents/org/structured-errors.js +97 -0
- package/dist/agents/org/structured-errors.js.map +1 -0
- package/dist/agents/org/types.d.ts +139 -0
- package/dist/agents/org/types.d.ts.map +1 -0
- package/dist/agents/org/types.js +43 -0
- package/dist/agents/org/types.js.map +1 -0
- package/dist/agents/org/validate.d.ts +36 -0
- package/dist/agents/org/validate.d.ts.map +1 -0
- package/dist/agents/org/validate.js +135 -0
- package/dist/agents/org/validate.js.map +1 -0
- package/dist/agents/path-write-guard.d.ts +82 -0
- package/dist/agents/path-write-guard.d.ts.map +1 -0
- package/dist/agents/path-write-guard.js +722 -0
- package/dist/agents/path-write-guard.js.map +1 -0
- package/dist/agents/payload-mutators.d.ts +175 -0
- package/dist/agents/payload-mutators.d.ts.map +1 -0
- package/dist/agents/payload-mutators.js +994 -0
- package/dist/agents/payload-mutators.js.map +1 -0
- package/dist/agents/pending-system-events.d.ts +76 -0
- package/dist/agents/pending-system-events.d.ts.map +1 -0
- package/dist/agents/pending-system-events.js +115 -0
- package/dist/agents/pending-system-events.js.map +1 -0
- package/dist/agents/provider-attribution.d.ts +19 -0
- package/dist/agents/provider-attribution.d.ts.map +1 -0
- package/dist/agents/provider-attribution.js +62 -0
- package/dist/agents/provider-attribution.js.map +1 -0
- package/dist/agents/quality/slop-detector.d.ts +40 -0
- package/dist/agents/quality/slop-detector.d.ts.map +1 -0
- package/dist/agents/quality/slop-detector.js +108 -0
- package/dist/agents/quality/slop-detector.js.map +1 -0
- package/dist/agents/quality/slop-index.d.ts +27 -0
- package/dist/agents/quality/slop-index.d.ts.map +1 -0
- package/dist/agents/quality/slop-index.js +124 -0
- package/dist/agents/quality/slop-index.js.map +1 -0
- package/dist/agents/retry-policy.d.ts +38 -0
- package/dist/agents/retry-policy.d.ts.map +1 -0
- package/dist/agents/retry-policy.js +276 -0
- package/dist/agents/retry-policy.js.map +1 -0
- package/dist/agents/routing/account-id.d.ts +43 -0
- package/dist/agents/routing/account-id.d.ts.map +1 -0
- package/dist/agents/routing/account-id.js +103 -0
- package/dist/agents/routing/account-id.js.map +1 -0
- package/dist/agents/routing/bindings.d.ts +20 -0
- package/dist/agents/routing/bindings.d.ts.map +1 -0
- package/dist/agents/routing/bindings.js +22 -0
- package/dist/agents/routing/bindings.js.map +1 -0
- package/dist/agents/routing/dm-scope-warning.d.ts +37 -0
- package/dist/agents/routing/dm-scope-warning.d.ts.map +1 -0
- package/dist/agents/routing/dm-scope-warning.js +110 -0
- package/dist/agents/routing/dm-scope-warning.js.map +1 -0
- package/dist/agents/routing/identity-links.d.ts +45 -0
- package/dist/agents/routing/identity-links.d.ts.map +1 -0
- package/dist/agents/routing/identity-links.js +85 -0
- package/dist/agents/routing/identity-links.js.map +1 -0
- package/dist/agents/routing/resolve-route.d.ts +91 -0
- package/dist/agents/routing/resolve-route.d.ts.map +1 -0
- package/dist/agents/routing/resolve-route.js +653 -0
- package/dist/agents/routing/resolve-route.js.map +1 -0
- package/dist/agents/routing/session-key.d.ts +168 -0
- package/dist/agents/routing/session-key.d.ts.map +1 -0
- package/dist/agents/routing/session-key.js +268 -0
- package/dist/agents/routing/session-key.js.map +1 -0
- package/dist/agents/sanitize-surrogates.d.ts +30 -0
- package/dist/agents/sanitize-surrogates.d.ts.map +1 -0
- package/dist/agents/sanitize-surrogates.js +56 -0
- package/dist/agents/sanitize-surrogates.js.map +1 -0
- package/dist/agents/session-context.d.ts +80 -0
- package/dist/agents/session-context.d.ts.map +1 -0
- package/dist/agents/session-context.js +76 -0
- package/dist/agents/session-context.js.map +1 -0
- package/dist/agents/session-event-prompt.d.ts +124 -0
- package/dist/agents/session-event-prompt.d.ts.map +1 -0
- package/dist/agents/session-event-prompt.js +179 -0
- package/dist/agents/session-event-prompt.js.map +1 -0
- package/dist/agents/session-inbox.d.ts +129 -0
- package/dist/agents/session-inbox.d.ts.map +1 -0
- package/dist/agents/session-inbox.js +492 -0
- package/dist/agents/session-inbox.js.map +1 -0
- package/dist/agents/session-registry.d.ts +148 -0
- package/dist/agents/session-registry.d.ts.map +1 -0
- package/dist/agents/session-registry.js +405 -0
- package/dist/agents/session-registry.js.map +1 -0
- package/dist/agents/session-wiring.d.ts +214 -0
- package/dist/agents/session-wiring.d.ts.map +1 -0
- package/dist/agents/session-wiring.js +278 -0
- package/dist/agents/session-wiring.js.map +1 -0
- package/dist/agents/session-write-lock.d.ts +15 -0
- package/dist/agents/session-write-lock.d.ts.map +1 -0
- package/dist/agents/session-write-lock.js +15 -0
- package/dist/agents/session-write-lock.js.map +1 -0
- package/dist/agents/skills/agent-filter.d.ts +43 -0
- package/dist/agents/skills/agent-filter.d.ts.map +1 -0
- package/dist/agents/skills/agent-filter.js +89 -0
- package/dist/agents/skills/agent-filter.js.map +1 -0
- package/dist/agents/skills/discovery.d.ts +97 -0
- package/dist/agents/skills/discovery.d.ts.map +1 -0
- package/dist/agents/skills/discovery.js +136 -0
- package/dist/agents/skills/discovery.js.map +1 -0
- package/dist/agents/skills/eligibility.d.ts +118 -0
- package/dist/agents/skills/eligibility.d.ts.map +1 -0
- package/dist/agents/skills/eligibility.js +280 -0
- package/dist/agents/skills/eligibility.js.map +1 -0
- package/dist/agents/skills/grant.d.ts +70 -0
- package/dist/agents/skills/grant.d.ts.map +1 -0
- package/dist/agents/skills/grant.js +106 -0
- package/dist/agents/skills/grant.js.map +1 -0
- package/dist/agents/skills/index.d.ts +35 -0
- package/dist/agents/skills/index.d.ts.map +1 -0
- package/dist/agents/skills/index.js +88 -0
- package/dist/agents/skills/index.js.map +1 -0
- package/dist/agents/skills/install-spec.d.ts +51 -0
- package/dist/agents/skills/install-spec.d.ts.map +1 -0
- package/dist/agents/skills/install-spec.js +21 -0
- package/dist/agents/skills/install-spec.js.map +1 -0
- package/dist/agents/skills/install.d.ts +68 -0
- package/dist/agents/skills/install.d.ts.map +1 -0
- package/dist/agents/skills/install.js +206 -0
- package/dist/agents/skills/install.js.map +1 -0
- package/dist/agents/skills/org-access.d.ts +27 -0
- package/dist/agents/skills/org-access.d.ts.map +1 -0
- package/dist/agents/skills/org-access.js +87 -0
- package/dist/agents/skills/org-access.js.map +1 -0
- package/dist/agents/skills/skill-consolidate.d.ts +76 -0
- package/dist/agents/skills/skill-consolidate.d.ts.map +1 -0
- package/dist/agents/skills/skill-consolidate.js +264 -0
- package/dist/agents/skills/skill-consolidate.js.map +1 -0
- package/dist/agents/skills/skill-curator.d.ts +91 -0
- package/dist/agents/skills/skill-curator.d.ts.map +1 -0
- package/dist/agents/skills/skill-curator.js +239 -0
- package/dist/agents/skills/skill-curator.js.map +1 -0
- package/dist/agents/skills/skill-manifest.d.ts +35 -0
- package/dist/agents/skills/skill-manifest.d.ts.map +1 -0
- package/dist/agents/skills/skill-manifest.js +82 -0
- package/dist/agents/skills/skill-manifest.js.map +1 -0
- package/dist/agents/skills/skill-review.d.ts +91 -0
- package/dist/agents/skills/skill-review.d.ts.map +1 -0
- package/dist/agents/skills/skill-review.js +271 -0
- package/dist/agents/skills/skill-review.js.map +1 -0
- package/dist/agents/skills/skill-usage.d.ts +81 -0
- package/dist/agents/skills/skill-usage.d.ts.map +1 -0
- package/dist/agents/skills/skill-usage.js +208 -0
- package/dist/agents/skills/skill-usage.js.map +1 -0
- package/dist/agents/skills/status.d.ts +68 -0
- package/dist/agents/skills/status.d.ts.map +1 -0
- package/dist/agents/skills/status.js +147 -0
- package/dist/agents/skills/status.js.map +1 -0
- package/dist/agents/skills/update-config.d.ts +32 -0
- package/dist/agents/skills/update-config.d.ts.map +1 -0
- package/dist/agents/skills/update-config.js +53 -0
- package/dist/agents/skills/update-config.js.map +1 -0
- package/dist/agents/slash-commands.d.ts +25 -0
- package/dist/agents/slash-commands.d.ts.map +1 -0
- package/dist/agents/slash-commands.js +151 -0
- package/dist/agents/slash-commands.js.map +1 -0
- package/dist/agents/smart-compaction.d.ts +105 -0
- package/dist/agents/smart-compaction.d.ts.map +1 -0
- package/dist/agents/smart-compaction.js +355 -0
- package/dist/agents/smart-compaction.js.map +1 -0
- package/dist/agents/stream-wrappers.d.ts +20 -0
- package/dist/agents/stream-wrappers.d.ts.map +1 -0
- package/dist/agents/stream-wrappers.js +307 -0
- package/dist/agents/stream-wrappers.js.map +1 -0
- package/dist/agents/subagent-abort-cascade.d.ts +31 -0
- package/dist/agents/subagent-abort-cascade.d.ts.map +1 -0
- package/dist/agents/subagent-abort-cascade.js +124 -0
- package/dist/agents/subagent-abort-cascade.js.map +1 -0
- package/dist/agents/subagent-announce-delivery.d.ts +83 -0
- package/dist/agents/subagent-announce-delivery.d.ts.map +1 -0
- package/dist/agents/subagent-announce-delivery.js +159 -0
- package/dist/agents/subagent-announce-delivery.js.map +1 -0
- package/dist/agents/subagent-budget.d.ts +36 -0
- package/dist/agents/subagent-budget.d.ts.map +1 -0
- package/dist/agents/subagent-budget.js +93 -0
- package/dist/agents/subagent-budget.js.map +1 -0
- package/dist/agents/subagent-completion-bridge.d.ts +42 -0
- package/dist/agents/subagent-completion-bridge.d.ts.map +1 -0
- package/dist/agents/subagent-completion-bridge.js +338 -0
- package/dist/agents/subagent-completion-bridge.js.map +1 -0
- package/dist/agents/subagent-lifecycle-events.d.ts +31 -0
- package/dist/agents/subagent-lifecycle-events.d.ts.map +1 -0
- package/dist/agents/subagent-lifecycle-events.js +21 -0
- package/dist/agents/subagent-lifecycle-events.js.map +1 -0
- package/dist/agents/subagent-policy.d.ts +206 -0
- package/dist/agents/subagent-policy.d.ts.map +1 -0
- package/dist/agents/subagent-policy.js +295 -0
- package/dist/agents/subagent-policy.js.map +1 -0
- package/dist/agents/subagent-registry-completion.d.ts +69 -0
- package/dist/agents/subagent-registry-completion.d.ts.map +1 -0
- package/dist/agents/subagent-registry-completion.js +128 -0
- package/dist/agents/subagent-registry-completion.js.map +1 -0
- package/dist/agents/subagent-registry.d.ts +85 -0
- package/dist/agents/subagent-registry.d.ts.map +1 -0
- package/dist/agents/subagent-registry.js +215 -0
- package/dist/agents/subagent-registry.js.map +1 -0
- package/dist/agents/subagent-registry.types.d.ts +94 -0
- package/dist/agents/subagent-registry.types.d.ts.map +1 -0
- package/dist/agents/subagent-registry.types.js +19 -0
- package/dist/agents/subagent-registry.types.js.map +1 -0
- package/dist/agents/subagent-runner.d.ts +75 -0
- package/dist/agents/subagent-runner.d.ts.map +1 -0
- package/dist/agents/subagent-runner.js +358 -0
- package/dist/agents/subagent-runner.js.map +1 -0
- package/dist/agents/subagent-spawn-abort-marker.d.ts +46 -0
- package/dist/agents/subagent-spawn-abort-marker.d.ts.map +1 -0
- package/dist/agents/subagent-spawn-abort-marker.js +81 -0
- package/dist/agents/subagent-spawn-abort-marker.js.map +1 -0
- package/dist/agents/subagent-spawn.d.ts +104 -0
- package/dist/agents/subagent-spawn.d.ts.map +1 -0
- package/dist/agents/subagent-spawn.js +358 -0
- package/dist/agents/subagent-spawn.js.map +1 -0
- package/dist/agents/thinking-fallback.d.ts +49 -0
- package/dist/agents/thinking-fallback.d.ts.map +1 -0
- package/dist/agents/thinking-fallback.js +97 -0
- package/dist/agents/thinking-fallback.js.map +1 -0
- package/dist/agents/tool-guard.d.ts +71 -0
- package/dist/agents/tool-guard.d.ts.map +1 -0
- package/dist/agents/tool-guard.js +154 -0
- package/dist/agents/tool-guard.js.map +1 -0
- package/dist/agents/tool-loop-detector.d.ts +115 -0
- package/dist/agents/tool-loop-detector.d.ts.map +1 -0
- package/dist/agents/tool-loop-detector.js +0 -0
- package/dist/agents/tool-loop-detector.js.map +1 -0
- package/dist/agents/tool-summaries.d.ts +3 -0
- package/dist/agents/tool-summaries.d.ts.map +1 -0
- package/dist/agents/tool-summaries.js +78 -0
- package/dist/agents/tool-summaries.js.map +1 -0
- package/dist/agents/tools/agents-list-tool.d.ts +51 -0
- package/dist/agents/tools/agents-list-tool.d.ts.map +1 -0
- package/dist/agents/tools/agents-list-tool.js +167 -0
- package/dist/agents/tools/agents-list-tool.js.map +1 -0
- package/dist/agents/tools/browser.d.ts +144 -0
- package/dist/agents/tools/browser.d.ts.map +1 -0
- package/dist/agents/tools/browser.js +1538 -0
- package/dist/agents/tools/browser.js.map +1 -0
- package/dist/agents/tools/common.d.ts +208 -0
- package/dist/agents/tools/common.d.ts.map +1 -0
- package/dist/agents/tools/common.js +405 -0
- package/dist/agents/tools/common.js.map +1 -0
- package/dist/agents/tools/composio-tool.d.ts +179 -0
- package/dist/agents/tools/composio-tool.d.ts.map +1 -0
- package/dist/agents/tools/composio-tool.js +474 -0
- package/dist/agents/tools/composio-tool.js.map +1 -0
- package/dist/agents/tools/cron-tool.d.ts +187 -0
- package/dist/agents/tools/cron-tool.d.ts.map +1 -0
- package/dist/agents/tools/cron-tool.js +985 -0
- package/dist/agents/tools/cron-tool.js.map +1 -0
- package/dist/agents/tools/find-tool.d.ts +55 -0
- package/dist/agents/tools/find-tool.d.ts.map +1 -0
- package/dist/agents/tools/find-tool.js +163 -0
- package/dist/agents/tools/find-tool.js.map +1 -0
- package/dist/agents/tools/generate-image-tool.d.ts +77 -0
- package/dist/agents/tools/generate-image-tool.d.ts.map +1 -0
- package/dist/agents/tools/generate-image-tool.js +421 -0
- package/dist/agents/tools/generate-image-tool.js.map +1 -0
- package/dist/agents/tools/index.d.ts +14 -0
- package/dist/agents/tools/index.d.ts.map +1 -0
- package/dist/agents/tools/index.js +12 -0
- package/dist/agents/tools/index.js.map +1 -0
- package/dist/agents/tools/manage-access-tool.d.ts +64 -0
- package/dist/agents/tools/manage-access-tool.d.ts.map +1 -0
- package/dist/agents/tools/manage-access-tool.js +188 -0
- package/dist/agents/tools/manage-access-tool.js.map +1 -0
- package/dist/agents/tools/manage-agent-tool.d.ts +50 -0
- package/dist/agents/tools/manage-agent-tool.d.ts.map +1 -0
- package/dist/agents/tools/manage-agent-tool.js +232 -0
- package/dist/agents/tools/manage-agent-tool.js.map +1 -0
- package/dist/agents/tools/manage-channel-access-tool.d.ts +44 -0
- package/dist/agents/tools/manage-channel-access-tool.d.ts.map +1 -0
- package/dist/agents/tools/manage-channel-access-tool.js +144 -0
- package/dist/agents/tools/manage-channel-access-tool.js.map +1 -0
- package/dist/agents/tools/manage-memory-tool.d.ts +30 -0
- package/dist/agents/tools/manage-memory-tool.d.ts.map +1 -0
- package/dist/agents/tools/manage-memory-tool.js +309 -0
- package/dist/agents/tools/manage-memory-tool.js.map +1 -0
- package/dist/agents/tools/manage-provider-tool.d.ts +65 -0
- package/dist/agents/tools/manage-provider-tool.d.ts.map +1 -0
- package/dist/agents/tools/manage-provider-tool.js +249 -0
- package/dist/agents/tools/manage-provider-tool.js.map +1 -0
- package/dist/agents/tools/manage-skill-tool.d.ts +121 -0
- package/dist/agents/tools/manage-skill-tool.d.ts.map +1 -0
- package/dist/agents/tools/manage-skill-tool.js +722 -0
- package/dist/agents/tools/manage-skill-tool.js.map +1 -0
- package/dist/agents/tools/memory-tools.d.ts +172 -0
- package/dist/agents/tools/memory-tools.d.ts.map +1 -0
- package/dist/agents/tools/memory-tools.js +561 -0
- package/dist/agents/tools/memory-tools.js.map +1 -0
- package/dist/agents/tools/oauth-authorize-tool.d.ts +94 -0
- package/dist/agents/tools/oauth-authorize-tool.d.ts.map +1 -0
- package/dist/agents/tools/oauth-authorize-tool.js +670 -0
- package/dist/agents/tools/oauth-authorize-tool.js.map +1 -0
- package/dist/agents/tools/org-tool.d.ts +208 -0
- package/dist/agents/tools/org-tool.d.ts.map +1 -0
- package/dist/agents/tools/org-tool.js +790 -0
- package/dist/agents/tools/org-tool.js.map +1 -0
- package/dist/agents/tools/registry.d.ts +146 -0
- package/dist/agents/tools/registry.d.ts.map +1 -0
- package/dist/agents/tools/registry.js +396 -0
- package/dist/agents/tools/registry.js.map +1 -0
- package/dist/agents/tools/send-media-tool.d.ts +92 -0
- package/dist/agents/tools/send-media-tool.d.ts.map +1 -0
- package/dist/agents/tools/send-media-tool.js +512 -0
- package/dist/agents/tools/send-media-tool.js.map +1 -0
- package/dist/agents/tools/send-message-tool.d.ts +84 -0
- package/dist/agents/tools/send-message-tool.d.ts.map +1 -0
- package/dist/agents/tools/send-message-tool.js +226 -0
- package/dist/agents/tools/send-message-tool.js.map +1 -0
- package/dist/agents/tools/sessions/history.d.ts +53 -0
- package/dist/agents/tools/sessions/history.d.ts.map +1 -0
- package/dist/agents/tools/sessions/history.js +138 -0
- package/dist/agents/tools/sessions/history.js.map +1 -0
- package/dist/agents/tools/sessions/index.d.ts +92 -0
- package/dist/agents/tools/sessions/index.d.ts.map +1 -0
- package/dist/agents/tools/sessions/index.js +125 -0
- package/dist/agents/tools/sessions/index.js.map +1 -0
- package/dist/agents/tools/sessions/list.d.ts +53 -0
- package/dist/agents/tools/sessions/list.d.ts.map +1 -0
- package/dist/agents/tools/sessions/list.js +134 -0
- package/dist/agents/tools/sessions/list.js.map +1 -0
- package/dist/agents/tools/sessions/resolve-access.d.ts +34 -0
- package/dist/agents/tools/sessions/resolve-access.d.ts.map +1 -0
- package/dist/agents/tools/sessions/resolve-access.js +67 -0
- package/dist/agents/tools/sessions/resolve-access.js.map +1 -0
- package/dist/agents/tools/sessions/send.d.ts +68 -0
- package/dist/agents/tools/sessions/send.d.ts.map +1 -0
- package/dist/agents/tools/sessions/send.js +556 -0
- package/dist/agents/tools/sessions/send.js.map +1 -0
- package/dist/agents/tools/sessions/shared.d.ts +145 -0
- package/dist/agents/tools/sessions/shared.d.ts.map +1 -0
- package/dist/agents/tools/sessions/shared.js +352 -0
- package/dist/agents/tools/sessions/shared.js.map +1 -0
- package/dist/agents/tools/sessions/spawn.d.ts +71 -0
- package/dist/agents/tools/sessions/spawn.d.ts.map +1 -0
- package/dist/agents/tools/sessions/spawn.js +132 -0
- package/dist/agents/tools/sessions/spawn.js.map +1 -0
- package/dist/agents/tools/spawn-agent-tool.d.ts +87 -0
- package/dist/agents/tools/spawn-agent-tool.d.ts.map +1 -0
- package/dist/agents/tools/spawn-agent-tool.js +189 -0
- package/dist/agents/tools/spawn-agent-tool.js.map +1 -0
- package/dist/agents/tools/spawn-agents-tool.d.ts +75 -0
- package/dist/agents/tools/spawn-agents-tool.d.ts.map +1 -0
- package/dist/agents/tools/spawn-agents-tool.js +267 -0
- package/dist/agents/tools/spawn-agents-tool.js.map +1 -0
- package/dist/agents/tools/types.d.ts +55 -0
- package/dist/agents/tools/types.d.ts.map +1 -0
- package/dist/agents/tools/types.js +28 -0
- package/dist/agents/tools/types.js.map +1 -0
- package/dist/agents/tools/web-fetch-utils.d.ts +114 -0
- package/dist/agents/tools/web-fetch-utils.d.ts.map +1 -0
- package/dist/agents/tools/web-fetch-utils.js +560 -0
- package/dist/agents/tools/web-fetch-utils.js.map +1 -0
- package/dist/agents/tools/web-fetch.d.ts +97 -0
- package/dist/agents/tools/web-fetch.d.ts.map +1 -0
- package/dist/agents/tools/web-fetch.js +369 -0
- package/dist/agents/tools/web-fetch.js.map +1 -0
- package/dist/agents/tools/web-retry.d.ts +55 -0
- package/dist/agents/tools/web-retry.d.ts.map +1 -0
- package/dist/agents/tools/web-retry.js +172 -0
- package/dist/agents/tools/web-retry.js.map +1 -0
- package/dist/agents/tools/web-search.d.ts +96 -0
- package/dist/agents/tools/web-search.d.ts.map +1 -0
- package/dist/agents/tools/web-search.js +459 -0
- package/dist/agents/tools/web-search.js.map +1 -0
- package/dist/agents/tools/web-shared.d.ts +123 -0
- package/dist/agents/tools/web-shared.d.ts.map +1 -0
- package/dist/agents/tools/web-shared.js +207 -0
- package/dist/agents/tools/web-shared.js.map +1 -0
- package/dist/assets/brigade-favicon.png +0 -0
- package/dist/auth/profile-cooldown.d.ts +105 -0
- package/dist/auth/profile-cooldown.d.ts.map +1 -0
- package/dist/auth/profile-cooldown.js +466 -0
- package/dist/auth/profile-cooldown.js.map +1 -0
- package/dist/auth/profiles.d.ts +93 -0
- package/dist/auth/profiles.d.ts.map +1 -0
- package/dist/auth/profiles.js +321 -0
- package/dist/auth/profiles.js.map +1 -0
- package/dist/buildstamp.json +1 -0
- package/dist/cli/argv.d.ts +20 -0
- package/dist/cli/argv.d.ts.map +1 -0
- package/dist/cli/argv.js +47 -0
- package/dist/cli/argv.js.map +1 -0
- package/dist/cli/commands/agent.d.ts +19 -0
- package/dist/cli/commands/agent.d.ts.map +1 -0
- package/dist/cli/commands/agent.js +297 -0
- package/dist/cli/commands/agent.js.map +1 -0
- package/dist/cli/commands/agents-bindings.d.ts +80 -0
- package/dist/cli/commands/agents-bindings.d.ts.map +1 -0
- package/dist/cli/commands/agents-bindings.js +252 -0
- package/dist/cli/commands/agents-bindings.js.map +1 -0
- package/dist/cli/commands/agents-cmd.d.ts +160 -0
- package/dist/cli/commands/agents-cmd.d.ts.map +1 -0
- package/dist/cli/commands/agents-cmd.js +1199 -0
- package/dist/cli/commands/agents-cmd.js.map +1 -0
- package/dist/cli/commands/agents-config.d.ts +102 -0
- package/dist/cli/commands/agents-config.d.ts.map +1 -0
- package/dist/cli/commands/agents-config.js +294 -0
- package/dist/cli/commands/agents-config.js.map +1 -0
- package/dist/cli/commands/agents-shared.d.ts +57 -0
- package/dist/cli/commands/agents-shared.d.ts.map +1 -0
- package/dist/cli/commands/agents-shared.js +83 -0
- package/dist/cli/commands/agents-shared.js.map +1 -0
- package/dist/cli/commands/backup.d.ts +36 -0
- package/dist/cli/commands/backup.d.ts.map +1 -0
- package/dist/cli/commands/backup.js +244 -0
- package/dist/cli/commands/backup.js.map +1 -0
- package/dist/cli/commands/channels.d.ts +106 -0
- package/dist/cli/commands/channels.d.ts.map +1 -0
- package/dist/cli/commands/channels.js +830 -0
- package/dist/cli/commands/channels.js.map +1 -0
- package/dist/cli/commands/chat.d.ts +43 -0
- package/dist/cli/commands/chat.d.ts.map +1 -0
- package/dist/cli/commands/chat.js +84 -0
- package/dist/cli/commands/chat.js.map +1 -0
- package/dist/cli/commands/config-cmd.d.ts +62 -0
- package/dist/cli/commands/config-cmd.d.ts.map +1 -0
- package/dist/cli/commands/config-cmd.js +404 -0
- package/dist/cli/commands/config-cmd.js.map +1 -0
- package/dist/cli/commands/connect.d.ts +73 -0
- package/dist/cli/commands/connect.d.ts.map +1 -0
- package/dist/cli/commands/connect.js +1952 -0
- package/dist/cli/commands/connect.js.map +1 -0
- package/dist/cli/commands/cron.d.ts +58 -0
- package/dist/cli/commands/cron.d.ts.map +1 -0
- package/dist/cli/commands/cron.js +250 -0
- package/dist/cli/commands/cron.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +25 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +618 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/encrypt-cmd.d.ts +12 -0
- package/dist/cli/commands/encrypt-cmd.d.ts.map +1 -0
- package/dist/cli/commands/encrypt-cmd.js +119 -0
- package/dist/cli/commands/encrypt-cmd.js.map +1 -0
- package/dist/cli/commands/exec-cmd.d.ts +55 -0
- package/dist/cli/commands/exec-cmd.d.ts.map +1 -0
- package/dist/cli/commands/exec-cmd.js +253 -0
- package/dist/cli/commands/exec-cmd.js.map +1 -0
- package/dist/cli/commands/gateway-install.d.ts +21 -0
- package/dist/cli/commands/gateway-install.d.ts.map +1 -0
- package/dist/cli/commands/gateway-install.js +71 -0
- package/dist/cli/commands/gateway-install.js.map +1 -0
- package/dist/cli/commands/gateway-supervise.d.ts +102 -0
- package/dist/cli/commands/gateway-supervise.d.ts.map +1 -0
- package/dist/cli/commands/gateway-supervise.js +194 -0
- package/dist/cli/commands/gateway-supervise.js.map +1 -0
- package/dist/cli/commands/gateway.d.ts +58 -0
- package/dist/cli/commands/gateway.d.ts.map +1 -0
- package/dist/cli/commands/gateway.js +497 -0
- package/dist/cli/commands/gateway.js.map +1 -0
- package/dist/cli/commands/logs.d.ts +14 -0
- package/dist/cli/commands/logs.d.ts.map +1 -0
- package/dist/cli/commands/logs.js +93 -0
- package/dist/cli/commands/logs.js.map +1 -0
- package/dist/cli/commands/mcp-cmd.d.ts +4 -0
- package/dist/cli/commands/mcp-cmd.d.ts.map +1 -0
- package/dist/cli/commands/mcp-cmd.js +30 -0
- package/dist/cli/commands/mcp-cmd.js.map +1 -0
- package/dist/cli/commands/onboard-config.d.ts +23 -0
- package/dist/cli/commands/onboard-config.d.ts.map +1 -0
- package/dist/cli/commands/onboard-config.js +33 -0
- package/dist/cli/commands/onboard-config.js.map +1 -0
- package/dist/cli/commands/onboard.d.ts +48 -0
- package/dist/cli/commands/onboard.d.ts.map +1 -0
- package/dist/cli/commands/onboard.js +397 -0
- package/dist/cli/commands/onboard.js.map +1 -0
- package/dist/cli/commands/org-cmd.d.ts +87 -0
- package/dist/cli/commands/org-cmd.d.ts.map +1 -0
- package/dist/cli/commands/org-cmd.js +394 -0
- package/dist/cli/commands/org-cmd.js.map +1 -0
- package/dist/cli/commands/org-cmd.templates.d.ts +66 -0
- package/dist/cli/commands/org-cmd.templates.d.ts.map +1 -0
- package/dist/cli/commands/org-cmd.templates.js +145 -0
- package/dist/cli/commands/org-cmd.templates.js.map +1 -0
- package/dist/cli/commands/org-slash.d.ts +107 -0
- package/dist/cli/commands/org-slash.d.ts.map +1 -0
- package/dist/cli/commands/org-slash.js +263 -0
- package/dist/cli/commands/org-slash.js.map +1 -0
- package/dist/cli/commands/pairing.d.ts +33 -0
- package/dist/cli/commands/pairing.d.ts.map +1 -0
- package/dist/cli/commands/pairing.js +155 -0
- package/dist/cli/commands/pairing.js.map +1 -0
- package/dist/cli/commands/secrets-audit.d.ts +17 -0
- package/dist/cli/commands/secrets-audit.d.ts.map +1 -0
- package/dist/cli/commands/secrets-audit.js +109 -0
- package/dist/cli/commands/secrets-audit.js.map +1 -0
- package/dist/cli/commands/sessions.d.ts +22 -0
- package/dist/cli/commands/sessions.d.ts.map +1 -0
- package/dist/cli/commands/sessions.js +99 -0
- package/dist/cli/commands/sessions.js.map +1 -0
- package/dist/cli/commands/skills.d.ts +17 -0
- package/dist/cli/commands/skills.d.ts.map +1 -0
- package/dist/cli/commands/skills.js +100 -0
- package/dist/cli/commands/skills.js.map +1 -0
- package/dist/cli/commands/status.d.ts +26 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +252 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/store-cmd.d.ts +36 -0
- package/dist/cli/commands/store-cmd.d.ts.map +1 -0
- package/dist/cli/commands/store-cmd.js +405 -0
- package/dist/cli/commands/store-cmd.js.map +1 -0
- package/dist/cli/flows/web-setup.d.ts +47 -0
- package/dist/cli/flows/web-setup.d.ts.map +1 -0
- package/dist/cli/flows/web-setup.js +324 -0
- package/dist/cli/flows/web-setup.js.map +1 -0
- package/dist/cli/program/build-program.d.ts +3 -0
- package/dist/cli/program/build-program.d.ts.map +1 -0
- package/dist/cli/program/build-program.js +1326 -0
- package/dist/cli/program/build-program.js.map +1 -0
- package/dist/cli/run-main.d.ts +2 -0
- package/dist/cli/run-main.d.ts.map +1 -0
- package/dist/cli/run-main.js +63 -0
- package/dist/cli/run-main.js.map +1 -0
- package/dist/config/agent-limits.d.ts +22 -0
- package/dist/config/agent-limits.d.ts.map +1 -0
- package/dist/config/agent-limits.js +34 -0
- package/dist/config/agent-limits.js.map +1 -0
- package/dist/config/io.d.ts +378 -0
- package/dist/config/io.d.ts.map +1 -0
- package/dist/config/io.js +602 -0
- package/dist/config/io.js.map +1 -0
- package/dist/config/paths.d.ts +80 -0
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +342 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/types.d.ts +12 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +12 -0
- package/dist/config/types.js.map +1 -0
- package/dist/core/agent-dispatcher.d.ts +91 -0
- package/dist/core/agent-dispatcher.d.ts.map +1 -0
- package/dist/core/agent-dispatcher.js +251 -0
- package/dist/core/agent-dispatcher.js.map +1 -0
- package/dist/core/agent-events-stream.d.ts +76 -0
- package/dist/core/agent-events-stream.d.ts.map +1 -0
- package/dist/core/agent-events-stream.js +185 -0
- package/dist/core/agent-events-stream.js.map +1 -0
- package/dist/core/agent-runtime-persist.d.ts +53 -0
- package/dist/core/agent-runtime-persist.d.ts.map +1 -0
- package/dist/core/agent-runtime-persist.js +114 -0
- package/dist/core/agent-runtime-persist.js.map +1 -0
- package/dist/core/auth-bridge.d.ts +8 -0
- package/dist/core/auth-bridge.d.ts.map +1 -0
- package/dist/core/auth-bridge.js +102 -0
- package/dist/core/auth-bridge.js.map +1 -0
- package/dist/core/auth-error.d.ts +49 -0
- package/dist/core/auth-error.d.ts.map +1 -0
- package/dist/core/auth-error.js.map +1 -0
- package/dist/core/brigade-config.d.ts +205 -0
- package/dist/core/brigade-config.d.ts.map +1 -0
- package/dist/core/brigade-config.js +58 -6
- package/dist/core/brigade-config.js.map +1 -0
- package/dist/core/config.d.ts +17 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +92 -246
- package/dist/core/config.js.map +1 -0
- package/dist/core/console-stream.d.ts +52 -0
- package/dist/core/console-stream.d.ts.map +1 -0
- package/dist/core/console-stream.js +49 -3
- package/dist/core/console-stream.js.map +1 -0
- package/dist/core/daemon/launchd.d.ts +19 -0
- package/dist/core/daemon/launchd.d.ts.map +1 -0
- package/dist/core/daemon/launchd.js +117 -0
- package/dist/core/daemon/launchd.js.map +1 -0
- package/dist/core/daemon/schtasks.d.ts +23 -0
- package/dist/core/daemon/schtasks.d.ts.map +1 -0
- package/dist/core/daemon/schtasks.js +139 -0
- package/dist/core/daemon/schtasks.js.map +1 -0
- package/dist/core/daemon/service.d.ts +56 -0
- package/dist/core/daemon/service.d.ts.map +1 -0
- package/dist/core/daemon/service.js +54 -0
- package/dist/core/daemon/service.js.map +1 -0
- package/dist/core/daemon/systemd.d.ts +19 -0
- package/dist/core/daemon/systemd.d.ts.map +1 -0
- package/dist/core/daemon/systemd.js +117 -0
- package/dist/core/daemon/systemd.js.map +1 -0
- package/dist/core/event-logger.d.ts +74 -0
- package/dist/core/event-logger.d.ts.map +1 -0
- package/dist/core/event-logger.js +299 -6
- package/dist/core/event-logger.js.map +1 -0
- package/dist/core/exec-approvals.d.ts +178 -0
- package/dist/core/exec-approvals.d.ts.map +1 -0
- package/dist/core/exec-approvals.js +591 -266
- package/dist/core/exec-approvals.js.map +1 -0
- package/dist/core/extension-lifecycle.d.ts +27 -0
- package/dist/core/extension-lifecycle.d.ts.map +1 -0
- package/dist/core/extension-lifecycle.js +45 -0
- package/dist/core/extension-lifecycle.js.map +1 -0
- package/dist/core/gateway-caller-impl.d.ts +42 -0
- package/dist/core/gateway-caller-impl.d.ts.map +1 -0
- package/dist/core/gateway-caller-impl.js +95 -0
- package/dist/core/gateway-caller-impl.js.map +1 -0
- package/dist/core/gateway-lock.d.ts +88 -0
- package/dist/core/gateway-lock.d.ts.map +1 -0
- package/dist/core/gateway-lock.js +204 -0
- package/dist/core/gateway-lock.js.map +1 -0
- package/dist/core/gateway-probe.d.ts +148 -0
- package/dist/core/gateway-probe.d.ts.map +1 -0
- package/dist/core/gateway-probe.js +319 -0
- package/dist/core/gateway-probe.js.map +1 -0
- package/dist/core/gateway-spawn.d.ts +40 -0
- package/dist/core/gateway-spawn.d.ts.map +1 -0
- package/dist/core/gateway-spawn.js +156 -0
- package/dist/core/gateway-spawn.js.map +1 -0
- package/dist/core/model-caps.d.ts +85 -0
- package/dist/core/model-caps.d.ts.map +1 -0
- package/dist/core/model-caps.js +88 -2
- package/dist/core/model-caps.js.map +1 -0
- package/dist/core/port-inspect.d.ts +37 -0
- package/dist/core/port-inspect.d.ts.map +1 -0
- package/dist/core/port-inspect.js +165 -0
- package/dist/core/port-inspect.js.map +1 -0
- package/dist/core/server-lanes.d.ts +25 -0
- package/dist/core/server-lanes.d.ts.map +1 -0
- package/dist/core/server-lanes.js +31 -0
- package/dist/core/server-lanes.js.map +1 -0
- package/dist/core/server-methods/cron.d.ts +104 -0
- package/dist/core/server-methods/cron.d.ts.map +1 -0
- package/dist/core/server-methods/cron.js +183 -0
- package/dist/core/server-methods/cron.js.map +1 -0
- package/dist/core/server-methods/health.d.ts +36 -0
- package/dist/core/server-methods/health.d.ts.map +1 -0
- package/dist/core/server-methods/health.js +51 -0
- package/dist/core/server-methods/health.js.map +1 -0
- package/dist/core/server-methods/org.d.ts +93 -0
- package/dist/core/server-methods/org.d.ts.map +1 -0
- package/dist/core/server-methods/org.js +95 -0
- package/dist/core/server-methods/org.js.map +1 -0
- package/dist/core/server-methods/sessions.d.ts +133 -0
- package/dist/core/server-methods/sessions.d.ts.map +1 -0
- package/dist/core/server-methods/sessions.js +209 -0
- package/dist/core/server-methods/sessions.js.map +1 -0
- package/dist/core/server.d.ts +46 -0
- package/dist/core/server.d.ts.map +1 -0
- package/dist/core/server.js +4716 -249
- package/dist/core/server.js.map +1 -0
- package/dist/core/system-prompt.d.ts +92 -0
- package/dist/core/system-prompt.d.ts.map +1 -0
- package/dist/core/system-prompt.js +180 -1584
- package/dist/core/system-prompt.js.map +1 -0
- package/dist/core/version.d.ts +4 -0
- package/dist/core/version.d.ts.map +1 -0
- package/dist/core/version.js +8 -13
- package/dist/core/version.js.map +1 -0
- package/dist/core/webhook-guards.d.ts +131 -0
- package/dist/core/webhook-guards.d.ts.map +1 -0
- package/dist/core/webhook-guards.js +283 -0
- package/dist/core/webhook-guards.js.map +1 -0
- package/dist/core/ws-subscription-filter.d.ts +9 -0
- package/dist/core/ws-subscription-filter.d.ts.map +1 -0
- package/dist/core/ws-subscription-filter.js +39 -0
- package/dist/core/ws-subscription-filter.js.map +1 -0
- package/dist/cron/active-service.d.ts +30 -0
- package/dist/cron/active-service.d.ts.map +1 -0
- package/dist/cron/active-service.js +48 -0
- package/dist/cron/active-service.js.map +1 -0
- package/dist/cron/isolated-agent/run-executor.d.ts +49 -0
- package/dist/cron/isolated-agent/run-executor.d.ts.map +1 -0
- package/dist/cron/isolated-agent/run-executor.js +343 -0
- package/dist/cron/isolated-agent/run-executor.js.map +1 -0
- package/dist/cron/isolated-agent/run.d.ts +27 -0
- package/dist/cron/isolated-agent/run.d.ts.map +1 -0
- package/dist/cron/isolated-agent/run.js +29 -0
- package/dist/cron/isolated-agent/run.js.map +1 -0
- package/dist/cron/normalize.d.ts +103 -0
- package/dist/cron/normalize.d.ts.map +1 -0
- package/dist/cron/normalize.js +376 -0
- package/dist/cron/normalize.js.map +1 -0
- package/dist/cron/parse.d.ts +27 -0
- package/dist/cron/parse.d.ts.map +1 -0
- package/dist/cron/parse.js +55 -0
- package/dist/cron/parse.js.map +1 -0
- package/dist/cron/reminder-context.d.ts +78 -0
- package/dist/cron/reminder-context.d.ts.map +1 -0
- package/dist/cron/reminder-context.js +167 -0
- package/dist/cron/reminder-context.js.map +1 -0
- package/dist/cron/run-log.d.ts +48 -0
- package/dist/cron/run-log.d.ts.map +1 -0
- package/dist/cron/run-log.js +225 -0
- package/dist/cron/run-log.js.map +1 -0
- package/dist/cron/schedule.d.ts +46 -0
- package/dist/cron/schedule.d.ts.map +1 -0
- package/dist/cron/schedule.js +144 -0
- package/dist/cron/schedule.js.map +1 -0
- package/dist/cron/service/jobs.d.ts +138 -0
- package/dist/cron/service/jobs.d.ts.map +1 -0
- package/dist/cron/service/jobs.js +370 -0
- package/dist/cron/service/jobs.js.map +1 -0
- package/dist/cron/service/locked.d.ts +46 -0
- package/dist/cron/service/locked.d.ts.map +1 -0
- package/dist/cron/service/locked.js +54 -0
- package/dist/cron/service/locked.js.map +1 -0
- package/dist/cron/service/ops.d.ts +124 -0
- package/dist/cron/service/ops.d.ts.map +1 -0
- package/dist/cron/service/ops.js +415 -0
- package/dist/cron/service/ops.js.map +1 -0
- package/dist/cron/service/state.d.ts +254 -0
- package/dist/cron/service/state.d.ts.map +1 -0
- package/dist/cron/service/state.js +50 -0
- package/dist/cron/service/state.js.map +1 -0
- package/dist/cron/service/store.d.ts +65 -0
- package/dist/cron/service/store.d.ts.map +1 -0
- package/dist/cron/service/store.js +350 -0
- package/dist/cron/service/store.js.map +1 -0
- package/dist/cron/service/timer.d.ts +113 -0
- package/dist/cron/service/timer.d.ts.map +1 -0
- package/dist/cron/service/timer.js +1081 -0
- package/dist/cron/service/timer.js.map +1 -0
- package/dist/cron/session-reaper.d.ts +62 -0
- package/dist/cron/session-reaper.d.ts.map +1 -0
- package/dist/cron/session-reaper.js +152 -0
- package/dist/cron/session-reaper.js.map +1 -0
- package/dist/cron/session-target.d.ts +56 -0
- package/dist/cron/session-target.d.ts.map +1 -0
- package/dist/cron/session-target.js +96 -0
- package/dist/cron/session-target.js.map +1 -0
- package/dist/cron/stagger.d.ts +34 -0
- package/dist/cron/stagger.d.ts.map +1 -0
- package/dist/cron/stagger.js +69 -0
- package/dist/cron/stagger.js.map +1 -0
- package/dist/cron/types.d.ts +287 -0
- package/dist/cron/types.d.ts.map +1 -0
- package/dist/cron/types.js +22 -0
- package/dist/cron/types.js.map +1 -0
- package/dist/cron/validate-timestamp.d.ts +33 -0
- package/dist/cron/validate-timestamp.d.ts.map +1 -0
- package/dist/cron/validate-timestamp.js +54 -0
- package/dist/cron/validate-timestamp.js.map +1 -0
- package/dist/entry.d.ts +2 -0
- package/dist/entry.d.ts.map +1 -0
- package/dist/entry.js +57 -0
- package/dist/entry.js.map +1 -0
- package/dist/extension-sdk.d.ts +28 -0
- package/dist/extension-sdk.d.ts.map +1 -0
- package/dist/extension-sdk.js +26 -0
- package/dist/extension-sdk.js.map +1 -0
- package/dist/identity/device.d.ts +19 -0
- package/dist/identity/device.d.ts.map +1 -0
- package/dist/identity/device.js +88 -0
- package/dist/identity/device.js.map +1 -0
- package/dist/infra/backoff.d.ts +24 -0
- package/dist/infra/backoff.d.ts.map +1 -0
- package/dist/infra/backoff.js +48 -0
- package/dist/infra/backoff.js.map +1 -0
- package/dist/infra/errors.d.ts +35 -0
- package/dist/infra/errors.d.ts.map +1 -0
- package/dist/infra/errors.js +54 -0
- package/dist/infra/errors.js.map +1 -0
- package/dist/infra/fs/atomic-rename.d.ts +31 -0
- package/dist/infra/fs/atomic-rename.d.ts.map +1 -0
- package/dist/infra/fs/atomic-rename.js +75 -0
- package/dist/infra/fs/atomic-rename.js.map +1 -0
- package/dist/infra/json-file.d.ts +25 -0
- package/dist/infra/json-file.d.ts.map +1 -0
- package/dist/infra/json-file.js +49 -0
- package/dist/infra/json-file.js.map +1 -0
- package/dist/infra/json-utf8-bytes.d.ts +14 -0
- package/dist/infra/json-utf8-bytes.d.ts.map +1 -0
- package/dist/infra/json-utf8-bytes.js +20 -0
- package/dist/infra/json-utf8-bytes.js.map +1 -0
- package/dist/infra/net/dns-pinning.d.ts +66 -0
- package/dist/infra/net/dns-pinning.d.ts.map +1 -0
- package/dist/infra/net/dns-pinning.js +128 -0
- package/dist/infra/net/dns-pinning.js.map +1 -0
- package/dist/infra/net/fetch-guard.d.ts +85 -0
- package/dist/infra/net/fetch-guard.d.ts.map +1 -0
- package/dist/infra/net/fetch-guard.js +439 -0
- package/dist/infra/net/fetch-guard.js.map +1 -0
- package/dist/infra/prototype-keys.d.ts +19 -0
- package/dist/infra/prototype-keys.d.ts.map +1 -0
- package/dist/infra/prototype-keys.js +22 -0
- package/dist/infra/prototype-keys.js.map +1 -0
- package/dist/integrations/ollama.d.ts +67 -0
- package/dist/integrations/ollama.d.ts.map +1 -0
- package/dist/integrations/ollama.js +53 -0
- package/dist/integrations/ollama.js.map +1 -0
- package/dist/integrations/provider-discovery.d.ts +66 -0
- package/dist/integrations/provider-discovery.d.ts.map +1 -0
- package/dist/integrations/provider-discovery.js +166 -0
- package/dist/integrations/provider-discovery.js.map +1 -0
- package/dist/logging/redact.d.ts +28 -0
- package/dist/logging/redact.d.ts.map +1 -0
- package/dist/logging/redact.js +51 -0
- package/dist/logging/redact.js.map +1 -0
- package/dist/logging/subsystem-logger.d.ts +77 -0
- package/dist/logging/subsystem-logger.d.ts.map +1 -0
- package/dist/logging/subsystem-logger.js +577 -0
- package/dist/logging/subsystem-logger.js.map +1 -0
- package/dist/logging/subsystem.d.ts +13 -0
- package/dist/logging/subsystem.d.ts.map +1 -0
- package/dist/logging/subsystem.js +12 -0
- package/dist/logging/subsystem.js.map +1 -0
- package/dist/process/command-queue.d.ts +152 -0
- package/dist/process/command-queue.d.ts.map +1 -0
- package/dist/process/command-queue.js +420 -0
- package/dist/process/command-queue.js.map +1 -0
- package/dist/process/lanes.d.ts +102 -0
- package/dist/process/lanes.d.ts.map +1 -0
- package/dist/process/lanes.js +117 -0
- package/dist/process/lanes.js.map +1 -0
- package/dist/process/session-lane.d.ts +31 -0
- package/dist/process/session-lane.d.ts.map +1 -0
- package/dist/process/session-lane.js +45 -0
- package/dist/process/session-lane.js.map +1 -0
- package/dist/protocol/errors.d.ts +35 -0
- package/dist/protocol/errors.d.ts.map +1 -0
- package/dist/protocol/errors.js +36 -0
- package/dist/protocol/errors.js.map +1 -0
- package/dist/protocol/handshake.d.ts +101 -0
- package/dist/protocol/handshake.d.ts.map +1 -0
- package/dist/protocol/handshake.js +49 -0
- package/dist/protocol/handshake.js.map +1 -0
- package/dist/protocol/messages.d.ts +68 -0
- package/dist/protocol/messages.d.ts.map +1 -0
- package/dist/protocol/messages.js +20 -0
- package/dist/protocol/messages.js.map +1 -0
- package/dist/protocol/methods.d.ts +312 -0
- package/dist/protocol/methods.d.ts.map +1 -0
- package/dist/protocol/methods.js +16 -0
- package/dist/protocol/methods.js.map +1 -0
- package/dist/protocol.d.ts +598 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +12 -0
- package/dist/protocol.js.map +1 -0
- package/dist/providers/auth-methods.d.ts +82 -0
- package/dist/providers/auth-methods.d.ts.map +1 -0
- package/dist/providers/auth-methods.js +180 -0
- package/dist/providers/auth-methods.js.map +1 -0
- package/dist/providers/catalog.d.ts +85 -0
- package/dist/providers/catalog.d.ts.map +1 -0
- package/dist/providers/catalog.js +41 -0
- package/dist/providers/catalog.js.map +1 -0
- package/dist/providers/validate-key.d.ts +42 -0
- package/dist/providers/validate-key.d.ts.map +1 -0
- package/dist/providers/validate-key.js.map +1 -0
- package/dist/security/external-content.d.ts +67 -0
- package/dist/security/external-content.d.ts.map +1 -0
- package/dist/security/external-content.js +80 -0
- package/dist/security/external-content.js.map +1 -0
- package/dist/security/injection-patterns.d.ts +33 -0
- package/dist/security/injection-patterns.d.ts.map +1 -0
- package/dist/security/injection-patterns.js +97 -0
- package/dist/security/injection-patterns.js.map +1 -0
- package/dist/security/media-path-guard.d.ts +25 -0
- package/dist/security/media-path-guard.d.ts.map +1 -0
- package/dist/security/media-path-guard.js +98 -0
- package/dist/security/media-path-guard.js.map +1 -0
- package/dist/security/terminal-input-sanitizer.d.ts +30 -0
- package/dist/security/terminal-input-sanitizer.d.ts.map +1 -0
- package/dist/security/terminal-input-sanitizer.js +70 -0
- package/dist/security/terminal-input-sanitizer.js.map +1 -0
- package/dist/sessions/bootstrap-marker.d.ts +5 -0
- package/dist/sessions/bootstrap-marker.d.ts.map +1 -0
- package/dist/sessions/bootstrap-marker.js +120 -0
- package/dist/sessions/bootstrap-marker.js.map +1 -0
- package/dist/sessions/session-file-repair.d.ts +12 -0
- package/dist/sessions/session-file-repair.d.ts.map +1 -0
- package/dist/sessions/session-file-repair.js +155 -0
- package/dist/sessions/session-file-repair.js.map +1 -0
- package/dist/sessions/session-key-utils.d.ts +54 -0
- package/dist/sessions/session-key-utils.d.ts.map +1 -0
- package/dist/sessions/session-key-utils.js +133 -0
- package/dist/sessions/session-key-utils.js.map +1 -0
- package/dist/sessions/session-manager-factory.d.ts +21 -0
- package/dist/sessions/session-manager-factory.d.ts.map +1 -0
- package/dist/sessions/session-manager-factory.js +142 -0
- package/dist/sessions/session-manager-factory.js.map +1 -0
- package/dist/sessions/session-store.d.ts +154 -0
- package/dist/sessions/session-store.d.ts.map +1 -0
- package/dist/sessions/session-store.js +498 -0
- package/dist/sessions/session-store.js.map +1 -0
- package/dist/sessions/session-write-lock.d.ts +10 -0
- package/dist/sessions/session-write-lock.d.ts.map +1 -0
- package/dist/sessions/session-write-lock.js +167 -0
- package/dist/sessions/session-write-lock.js.map +1 -0
- package/dist/sessions/transcript-reader.d.ts +37 -0
- package/dist/sessions/transcript-reader.d.ts.map +1 -0
- package/dist/sessions/transcript-reader.js +136 -0
- package/dist/sessions/transcript-reader.js.map +1 -0
- package/dist/sessions/transcript-repair.d.ts +16 -0
- package/dist/sessions/transcript-repair.d.ts.map +1 -0
- package/dist/sessions/transcript-repair.js +214 -0
- package/dist/sessions/transcript-repair.js.map +1 -0
- package/dist/shared/global-singleton.d.ts +27 -0
- package/dist/shared/global-singleton.d.ts.map +1 -0
- package/dist/shared/global-singleton.js +35 -0
- package/dist/shared/global-singleton.js.map +1 -0
- package/dist/shared/string-coerce.d.ts +12 -0
- package/dist/shared/string-coerce.d.ts.map +1 -0
- package/dist/shared/string-coerce.js +12 -0
- package/dist/shared/string-coerce.js.map +1 -0
- package/dist/storage/boot.d.ts +28 -0
- package/dist/storage/boot.d.ts.map +1 -0
- package/dist/storage/boot.js +588 -0
- package/dist/storage/boot.js.map +1 -0
- package/dist/storage/config-cache.d.ts +23 -0
- package/dist/storage/config-cache.d.ts.map +1 -0
- package/dist/storage/config-cache.js +58 -0
- package/dist/storage/config-cache.js.map +1 -0
- package/dist/storage/convex/auth-store.d.ts +52 -0
- package/dist/storage/convex/auth-store.d.ts.map +1 -0
- package/dist/storage/convex/auth-store.js +282 -0
- package/dist/storage/convex/auth-store.js.map +1 -0
- package/dist/storage/convex/blob-store.d.ts +20 -0
- package/dist/storage/convex/blob-store.d.ts.map +1 -0
- package/dist/storage/convex/blob-store.js +74 -0
- package/dist/storage/convex/blob-store.js.map +1 -0
- package/dist/storage/convex/channel-store.d.ts +112 -0
- package/dist/storage/convex/channel-store.d.ts.map +1 -0
- package/dist/storage/convex/channel-store.js +267 -0
- package/dist/storage/convex/channel-store.js.map +1 -0
- package/dist/storage/convex/client.d.ts +53 -0
- package/dist/storage/convex/client.d.ts.map +1 -0
- package/dist/storage/convex/client.js +121 -0
- package/dist/storage/convex/client.js.map +1 -0
- package/dist/storage/convex/config-store.d.ts +29 -0
- package/dist/storage/convex/config-store.d.ts.map +1 -0
- package/dist/storage/convex/config-store.js +205 -0
- package/dist/storage/convex/config-store.js.map +1 -0
- package/dist/storage/convex/cron-store.d.ts +86 -0
- package/dist/storage/convex/cron-store.d.ts.map +1 -0
- package/dist/storage/convex/cron-store.js +428 -0
- package/dist/storage/convex/cron-store.js.map +1 -0
- package/dist/storage/convex/exec-approval-store.d.ts +38 -0
- package/dist/storage/convex/exec-approval-store.d.ts.map +1 -0
- package/dist/storage/convex/exec-approval-store.js +147 -0
- package/dist/storage/convex/exec-approval-store.js.map +1 -0
- package/dist/storage/convex/extension-store.d.ts +28 -0
- package/dist/storage/convex/extension-store.d.ts.map +1 -0
- package/dist/storage/convex/extension-store.js +39 -0
- package/dist/storage/convex/extension-store.js.map +1 -0
- package/dist/storage/convex/index.d.ts +35 -0
- package/dist/storage/convex/index.d.ts.map +1 -0
- package/dist/storage/convex/index.js +141 -0
- package/dist/storage/convex/index.js.map +1 -0
- package/dist/storage/convex/instance-store.d.ts +37 -0
- package/dist/storage/convex/instance-store.d.ts.map +1 -0
- package/dist/storage/convex/instance-store.js +88 -0
- package/dist/storage/convex/instance-store.js.map +1 -0
- package/dist/storage/convex/log-store.d.ts +36 -0
- package/dist/storage/convex/log-store.d.ts.map +1 -0
- package/dist/storage/convex/log-store.js +213 -0
- package/dist/storage/convex/log-store.js.map +1 -0
- package/dist/storage/convex/memory-store.d.ts +50 -0
- package/dist/storage/convex/memory-store.d.ts.map +1 -0
- package/dist/storage/convex/memory-store.js +537 -0
- package/dist/storage/convex/memory-store.js.map +1 -0
- package/dist/storage/convex/message-store.d.ts +32 -0
- package/dist/storage/convex/message-store.d.ts.map +1 -0
- package/dist/storage/convex/message-store.js +272 -0
- package/dist/storage/convex/message-store.js.map +1 -0
- package/dist/storage/convex/org-store.d.ts +46 -0
- package/dist/storage/convex/org-store.d.ts.map +1 -0
- package/dist/storage/convex/org-store.js +101 -0
- package/dist/storage/convex/org-store.js.map +1 -0
- package/dist/storage/convex/session-store.d.ts +44 -0
- package/dist/storage/convex/session-store.d.ts.map +1 -0
- package/dist/storage/convex/session-store.js +257 -0
- package/dist/storage/convex/session-store.js.map +1 -0
- package/dist/storage/convex/skill-store.d.ts +49 -0
- package/dist/storage/convex/skill-store.d.ts.map +1 -0
- package/dist/storage/convex/skill-store.js +84 -0
- package/dist/storage/convex/skill-store.js.map +1 -0
- package/dist/storage/convex/subagent-store.d.ts +28 -0
- package/dist/storage/convex/subagent-store.d.ts.map +1 -0
- package/dist/storage/convex/subagent-store.js +83 -0
- package/dist/storage/convex/subagent-store.js.map +1 -0
- package/dist/storage/convex/workspace-store.d.ts +25 -0
- package/dist/storage/convex/workspace-store.d.ts.map +1 -0
- package/dist/storage/convex/workspace-store.js +127 -0
- package/dist/storage/convex/workspace-store.js.map +1 -0
- package/dist/storage/cron-cache.d.ts +17 -0
- package/dist/storage/cron-cache.d.ts.map +1 -0
- package/dist/storage/cron-cache.js +67 -0
- package/dist/storage/cron-cache.js.map +1 -0
- package/dist/storage/encryption.d.ts +69 -0
- package/dist/storage/encryption.d.ts.map +1 -0
- package/dist/storage/encryption.js +389 -0
- package/dist/storage/encryption.js.map +1 -0
- package/dist/storage/factory-reset.d.ts +7 -0
- package/dist/storage/factory-reset.d.ts.map +1 -0
- package/dist/storage/factory-reset.js +34 -0
- package/dist/storage/factory-reset.js.map +1 -0
- package/dist/storage/facts-cache.d.ts +24 -0
- package/dist/storage/facts-cache.d.ts.map +1 -0
- package/dist/storage/facts-cache.js +110 -0
- package/dist/storage/facts-cache.js.map +1 -0
- package/dist/storage/flush.d.ts +4 -0
- package/dist/storage/flush.d.ts.map +1 -0
- package/dist/storage/flush.js +128 -0
- package/dist/storage/flush.js.map +1 -0
- package/dist/storage/instance-admin.d.ts +52 -0
- package/dist/storage/instance-admin.d.ts.map +1 -0
- package/dist/storage/instance-admin.js +91 -0
- package/dist/storage/instance-admin.js.map +1 -0
- package/dist/storage/local/auth-store.d.ts +44 -0
- package/dist/storage/local/auth-store.d.ts.map +1 -0
- package/dist/storage/local/auth-store.js +252 -0
- package/dist/storage/local/auth-store.js.map +1 -0
- package/dist/storage/local/blob-store.d.ts +14 -0
- package/dist/storage/local/blob-store.d.ts.map +1 -0
- package/dist/storage/local/blob-store.js +87 -0
- package/dist/storage/local/blob-store.js.map +1 -0
- package/dist/storage/local/channel-store.d.ts +107 -0
- package/dist/storage/local/channel-store.d.ts.map +1 -0
- package/dist/storage/local/channel-store.js +147 -0
- package/dist/storage/local/channel-store.js.map +1 -0
- package/dist/storage/local/config-store.d.ts +23 -0
- package/dist/storage/local/config-store.d.ts.map +1 -0
- package/dist/storage/local/config-store.js +98 -0
- package/dist/storage/local/config-store.js.map +1 -0
- package/dist/storage/local/cron-store.d.ts +30 -0
- package/dist/storage/local/cron-store.d.ts.map +1 -0
- package/dist/storage/local/cron-store.js +186 -0
- package/dist/storage/local/cron-store.js.map +1 -0
- package/dist/storage/local/exec-approval-store.d.ts +41 -0
- package/dist/storage/local/exec-approval-store.d.ts.map +1 -0
- package/dist/storage/local/exec-approval-store.js +78 -0
- package/dist/storage/local/exec-approval-store.js.map +1 -0
- package/dist/storage/local/extension-store.d.ts +13 -0
- package/dist/storage/local/extension-store.d.ts.map +1 -0
- package/dist/storage/local/extension-store.js +36 -0
- package/dist/storage/local/extension-store.js.map +1 -0
- package/dist/storage/local/file-watcher.d.ts +24 -0
- package/dist/storage/local/file-watcher.d.ts.map +1 -0
- package/dist/storage/local/file-watcher.js +141 -0
- package/dist/storage/local/file-watcher.js.map +1 -0
- package/dist/storage/local/index.d.ts +33 -0
- package/dist/storage/local/index.d.ts.map +1 -0
- package/dist/storage/local/index.js +143 -0
- package/dist/storage/local/index.js.map +1 -0
- package/dist/storage/local/instance-store.d.ts +30 -0
- package/dist/storage/local/instance-store.d.ts.map +1 -0
- package/dist/storage/local/instance-store.js +83 -0
- package/dist/storage/local/instance-store.js.map +1 -0
- package/dist/storage/local/log-store.d.ts +27 -0
- package/dist/storage/local/log-store.d.ts.map +1 -0
- package/dist/storage/local/log-store.js +185 -0
- package/dist/storage/local/log-store.js.map +1 -0
- package/dist/storage/local/memory-store.d.ts +39 -0
- package/dist/storage/local/memory-store.d.ts.map +1 -0
- package/dist/storage/local/memory-store.js +258 -0
- package/dist/storage/local/memory-store.js.map +1 -0
- package/dist/storage/local/message-store.d.ts +27 -0
- package/dist/storage/local/message-store.d.ts.map +1 -0
- package/dist/storage/local/message-store.js +253 -0
- package/dist/storage/local/message-store.js.map +1 -0
- package/dist/storage/local/org-store.d.ts +39 -0
- package/dist/storage/local/org-store.d.ts.map +1 -0
- package/dist/storage/local/org-store.js +155 -0
- package/dist/storage/local/org-store.js.map +1 -0
- package/dist/storage/local/session-store.d.ts +30 -0
- package/dist/storage/local/session-store.d.ts.map +1 -0
- package/dist/storage/local/session-store.js +82 -0
- package/dist/storage/local/session-store.js.map +1 -0
- package/dist/storage/local/skill-store.d.ts +40 -0
- package/dist/storage/local/skill-store.d.ts.map +1 -0
- package/dist/storage/local/skill-store.js +121 -0
- package/dist/storage/local/skill-store.js.map +1 -0
- package/dist/storage/local/subagent-store.d.ts +20 -0
- package/dist/storage/local/subagent-store.d.ts.map +1 -0
- package/dist/storage/local/subagent-store.js +71 -0
- package/dist/storage/local/subagent-store.js.map +1 -0
- package/dist/storage/local/workspace-store.d.ts +22 -0
- package/dist/storage/local/workspace-store.d.ts.map +1 -0
- package/dist/storage/local/workspace-store.js +190 -0
- package/dist/storage/local/workspace-store.js.map +1 -0
- package/dist/storage/migrate.d.ts +64 -0
- package/dist/storage/migrate.d.ts.map +1 -0
- package/dist/storage/migrate.js +585 -0
- package/dist/storage/migrate.js.map +1 -0
- package/dist/storage/runtime-context.d.ts +35 -0
- package/dist/storage/runtime-context.d.ts.map +1 -0
- package/dist/storage/runtime-context.js +145 -0
- package/dist/storage/runtime-context.js.map +1 -0
- package/dist/storage/sentinel.d.ts +28 -0
- package/dist/storage/sentinel.d.ts.map +1 -0
- package/dist/storage/sentinel.js +98 -0
- package/dist/storage/sentinel.js.map +1 -0
- package/dist/storage/session-cache.d.ts +15 -0
- package/dist/storage/session-cache.d.ts.map +1 -0
- package/dist/storage/session-cache.js +81 -0
- package/dist/storage/session-cache.js.map +1 -0
- package/dist/storage/store.d.ts +745 -0
- package/dist/storage/store.d.ts.map +1 -0
- package/dist/storage/store.js +36 -0
- package/dist/storage/store.js.map +1 -0
- package/dist/storage/strict-guard.d.ts +17 -0
- package/dist/storage/strict-guard.d.ts.map +1 -0
- package/dist/storage/strict-guard.js +200 -0
- package/dist/storage/strict-guard.js.map +1 -0
- package/dist/storage/workspace-live-mirror.d.ts +33 -0
- package/dist/storage/workspace-live-mirror.d.ts.map +1 -0
- package/dist/storage/workspace-live-mirror.js +207 -0
- package/dist/storage/workspace-live-mirror.js.map +1 -0
- package/dist/system-prompt/assembler.d.ts +113 -0
- package/dist/system-prompt/assembler.d.ts.map +1 -0
- package/dist/system-prompt/assembler.js +649 -0
- package/dist/system-prompt/assembler.js.map +1 -0
- package/dist/system-prompt/bootstrap-budget.d.ts +22 -0
- package/dist/system-prompt/bootstrap-budget.d.ts.map +1 -0
- package/dist/system-prompt/bootstrap-budget.js +83 -0
- package/dist/system-prompt/bootstrap-budget.js.map +1 -0
- package/dist/system-prompt/cache-boundary.d.ts +13 -0
- package/dist/system-prompt/cache-boundary.d.ts.map +1 -0
- package/dist/system-prompt/cache-boundary.js +56 -0
- package/dist/system-prompt/cache-boundary.js.map +1 -0
- package/dist/system-prompt/cache-stability.d.ts +3 -0
- package/dist/system-prompt/cache-stability.d.ts.map +1 -0
- package/dist/system-prompt/cache-stability.js +18 -0
- package/dist/system-prompt/cache-stability.js.map +1 -0
- package/dist/system-prompt/guidance.d.ts +147 -0
- package/dist/system-prompt/guidance.d.ts.map +1 -0
- package/dist/system-prompt/guidance.js +352 -0
- package/dist/system-prompt/guidance.js.map +1 -0
- package/dist/system-prompt/identity-defaults.d.ts +50 -0
- package/dist/system-prompt/identity-defaults.d.ts.map +1 -0
- package/dist/system-prompt/identity-defaults.js +119 -0
- package/dist/system-prompt/identity-defaults.js.map +1 -0
- package/dist/system-prompt/org/escalation-inbox.d.ts +53 -0
- package/dist/system-prompt/org/escalation-inbox.d.ts.map +1 -0
- package/dist/system-prompt/org/escalation-inbox.js +71 -0
- package/dist/system-prompt/org/escalation-inbox.js.map +1 -0
- package/dist/system-prompt/org/receiver-hint.d.ts +72 -0
- package/dist/system-prompt/org/receiver-hint.d.ts.map +1 -0
- package/dist/system-prompt/org/receiver-hint.js +116 -0
- package/dist/system-prompt/org/receiver-hint.js.map +1 -0
- package/dist/system-prompt/org/render-org-block.d.ts +42 -0
- package/dist/system-prompt/org/render-org-block.d.ts.map +1 -0
- package/dist/system-prompt/org/render-org-block.js +57 -0
- package/dist/system-prompt/org/render-org-block.js.map +1 -0
- package/dist/system-prompt/org/sub-agent-anchor.d.ts +30 -0
- package/dist/system-prompt/org/sub-agent-anchor.d.ts.map +1 -0
- package/dist/system-prompt/org/sub-agent-anchor.js +36 -0
- package/dist/system-prompt/org/sub-agent-anchor.js.map +1 -0
- package/dist/system-prompt/override.d.ts +7 -0
- package/dist/system-prompt/override.d.ts.map +1 -0
- package/dist/system-prompt/override.js +13 -0
- package/dist/system-prompt/override.js.map +1 -0
- package/dist/system-prompt/pi-injection.d.ts +5 -0
- package/dist/system-prompt/pi-injection.d.ts.map +1 -0
- package/dist/system-prompt/pi-injection.js +33 -0
- package/dist/system-prompt/pi-injection.js.map +1 -0
- package/dist/system-prompt/runtime-params.d.ts +34 -0
- package/dist/system-prompt/runtime-params.d.ts.map +1 -0
- package/dist/system-prompt/runtime-params.js +108 -0
- package/dist/system-prompt/runtime-params.js.map +1 -0
- package/dist/system-prompt/sanitize.d.ts +7 -0
- package/dist/system-prompt/sanitize.d.ts.map +1 -0
- package/dist/system-prompt/sanitize.js +31 -0
- package/dist/system-prompt/sanitize.js.map +1 -0
- package/dist/system-prompt/types.d.ts +7 -0
- package/dist/system-prompt/types.d.ts.map +1 -0
- package/dist/system-prompt/types.js +3 -0
- package/dist/system-prompt/types.js.map +1 -0
- package/dist/system-prompt/workspace-loader.d.ts +12 -0
- package/dist/system-prompt/workspace-loader.d.ts.map +1 -0
- package/dist/system-prompt/workspace-loader.js +115 -0
- package/dist/system-prompt/workspace-loader.js.map +1 -0
- package/dist/tideline/advanced.d.ts +25 -0
- package/dist/tideline/advanced.d.ts.map +1 -0
- package/dist/tideline/advanced.js +34 -0
- package/dist/tideline/advanced.js.map +1 -0
- package/dist/tideline/eval.d.ts +19 -0
- package/dist/tideline/eval.d.ts.map +1 -0
- package/dist/tideline/eval.js +24 -0
- package/dist/tideline/eval.js.map +1 -0
- package/dist/tideline/host-ports.standalone.d.ts +49 -0
- package/dist/tideline/host-ports.standalone.d.ts.map +1 -0
- package/dist/tideline/host-ports.standalone.js +61 -0
- package/dist/tideline/host-ports.standalone.js.map +1 -0
- package/dist/tideline/index.d.ts +34 -0
- package/dist/tideline/index.d.ts.map +1 -0
- package/dist/tideline/index.js +42 -0
- package/dist/tideline/index.js.map +1 -0
- package/dist/tui/approval-prompt.d.ts +73 -0
- package/dist/tui/approval-prompt.d.ts.map +1 -0
- package/dist/tui/approval-prompt.js +272 -0
- package/dist/tui/approval-prompt.js.map +1 -0
- package/dist/tui/client.d.ts +89 -0
- package/dist/tui/client.d.ts.map +1 -0
- package/dist/tui/client.js.map +1 -0
- package/dist/ui/brand-frames-cli.d.ts +19 -0
- package/dist/ui/brand-frames-cli.d.ts.map +1 -0
- package/dist/ui/brand-frames-cli.js +8 -13
- package/dist/ui/brand-frames-cli.js.map +1 -0
- package/dist/ui/brand.d.ts +41 -0
- package/dist/ui/brand.d.ts.map +1 -0
- package/dist/ui/brand.js +28 -6
- package/dist/ui/brand.js.map +1 -0
- package/dist/ui/editor.d.ts +30 -0
- package/dist/ui/editor.d.ts.map +1 -0
- package/dist/ui/editor.js +73 -0
- package/dist/ui/editor.js.map +1 -0
- package/dist/ui/format-session.d.ts +68 -0
- package/dist/ui/format-session.d.ts.map +1 -0
- package/dist/ui/format-session.js +181 -0
- package/dist/ui/format-session.js.map +1 -0
- package/dist/ui/markdown.d.ts +48 -0
- package/dist/ui/markdown.d.ts.map +1 -0
- package/dist/ui/markdown.js +60 -0
- package/dist/ui/markdown.js.map +1 -0
- package/dist/ui/onboard-storage-mode.d.ts +17 -0
- package/dist/ui/onboard-storage-mode.d.ts.map +1 -0
- package/dist/ui/onboard-storage-mode.js +638 -0
- package/dist/ui/onboard-storage-mode.js.map +1 -0
- package/dist/ui/onboarding.d.ts +97 -0
- package/dist/ui/onboarding.d.ts.map +1 -0
- package/dist/ui/onboarding.js +259 -111
- package/dist/ui/onboarding.js.map +1 -0
- package/dist/ui/searchable-select.d.ts +48 -0
- package/dist/ui/searchable-select.d.ts.map +1 -0
- package/dist/ui/searchable-select.js +108 -0
- package/dist/ui/searchable-select.js.map +1 -0
- package/dist/ui/syntax-theme.d.ts +30 -0
- package/dist/ui/syntax-theme.d.ts.map +1 -0
- package/dist/ui/syntax-theme.js +72 -0
- package/dist/ui/syntax-theme.js.map +1 -0
- package/dist/ui/terminal-cleanup.d.ts +46 -0
- package/dist/ui/terminal-cleanup.d.ts.map +1 -0
- package/dist/ui/terminal-cleanup.js +17 -5
- package/dist/ui/terminal-cleanup.js.map +1 -0
- package/dist/ui/theme.d.ts +21 -0
- package/dist/ui/theme.d.ts.map +1 -0
- package/dist/ui/theme.js +66 -2
- package/dist/ui/theme.js.map +1 -0
- package/dist/ui/tool-result.d.ts +47 -0
- package/dist/ui/tool-result.d.ts.map +1 -0
- package/dist/ui/tool-result.js +100 -0
- package/dist/ui/tool-result.js.map +1 -0
- package/dist/utils/delivery-context.d.ts +50 -0
- package/dist/utils/delivery-context.d.ts.map +1 -0
- package/dist/utils/delivery-context.js +82 -0
- package/dist/utils/delivery-context.js.map +1 -0
- package/dist/utils/message-channel.d.ts +60 -0
- package/dist/utils/message-channel.d.ts.map +1 -0
- package/dist/utils/message-channel.js +103 -0
- package/dist/utils/message-channel.js.map +1 -0
- package/dist/utils/string-coerce.d.ts +50 -0
- package/dist/utils/string-coerce.d.ts.map +1 -0
- package/dist/utils/string-coerce.js +101 -0
- package/dist/utils/string-coerce.js.map +1 -0
- package/dist/version.d.ts +20 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +54 -0
- package/dist/version.js.map +1 -0
- package/dist/workspace/bootstrap.d.ts +12 -0
- package/dist/workspace/bootstrap.d.ts.map +1 -0
- package/dist/workspace/bootstrap.js +123 -0
- package/dist/workspace/bootstrap.js.map +1 -0
- package/dist/workspace/fs-utils.d.ts +2 -0
- package/dist/workspace/fs-utils.d.ts.map +1 -0
- package/dist/workspace/fs-utils.js +14 -0
- package/dist/workspace/fs-utils.js.map +1 -0
- package/dist/workspace/git-init.d.ts +5 -0
- package/dist/workspace/git-init.d.ts.map +1 -0
- package/dist/workspace/git-init.js +71 -0
- package/dist/workspace/git-init.js.map +1 -0
- package/dist/workspace/state.d.ts +13 -0
- package/dist/workspace/state.d.ts.map +1 -0
- package/dist/workspace/state.js +128 -0
- package/dist/workspace/state.js.map +1 -0
- package/dist/workspace/template-loader.d.ts +15 -0
- package/dist/workspace/template-loader.d.ts.map +1 -0
- package/dist/workspace/template-loader.js +214 -0
- package/dist/workspace/template-loader.js.map +1 -0
- package/package.json +173 -68
- package/scripts/build-done.mjs +125 -0
- package/scripts/run-brigade.mjs +208 -0
- package/skills/1password/SKILL.md +70 -0
- package/skills/1password/references/cli-examples.md +29 -0
- package/skills/1password/references/get-started.md +17 -0
- package/skills/apple-notes/SKILL.md +77 -0
- package/skills/apple-reminders/SKILL.md +118 -0
- package/skills/bear-notes/SKILL.md +107 -0
- package/skills/blogwatcher/SKILL.md +69 -0
- package/skills/blucli/SKILL.md +47 -0
- package/skills/bluebubbles/SKILL.md +136 -0
- package/skills/camsnap/SKILL.md +45 -0
- package/skills/canvas/SKILL.md +204 -0
- package/skills/coding-agent/SKILL.md +316 -0
- package/skills/discord/SKILL.md +197 -0
- package/skills/eightctl/SKILL.md +50 -0
- package/skills/gemini/SKILL.md +43 -0
- package/skills/gh-issues/SKILL.md +885 -0
- package/skills/gifgrep/SKILL.md +79 -0
- package/skills/git-commit/SKILL.md +40 -0
- package/skills/github/SKILL.md +163 -0
- package/skills/gog/SKILL.md +116 -0
- package/skills/goplaces/SKILL.md +52 -0
- package/skills/healthcheck/SKILL.md +245 -0
- package/skills/himalaya/SKILL.md +257 -0
- package/skills/himalaya/references/configuration.md +184 -0
- package/skills/himalaya/references/message-composition.md +199 -0
- package/skills/imsg/SKILL.md +122 -0
- package/skills/lead-scout/SKILL.md +46 -0
- package/skills/mcporter/SKILL.md +61 -0
- package/skills/model-usage/SKILL.md +69 -0
- package/skills/nano-pdf/SKILL.md +38 -0
- package/skills/node-connect/SKILL.md +142 -0
- package/skills/notion/SKILL.md +174 -0
- package/skills/oauth-setup/SKILL.md +55 -0
- package/skills/obsidian/SKILL.md +81 -0
- package/skills/openai-whisper/SKILL.md +38 -0
- package/skills/openai-whisper-api/SKILL.md +62 -0
- package/skills/openai-whisper-api/scripts/transcribe.sh +88 -0
- package/skills/openhue/SKILL.md +112 -0
- package/skills/oracle/SKILL.md +125 -0
- package/skills/ordercli/SKILL.md +78 -0
- package/skills/peekaboo/SKILL.md +190 -0
- package/skills/sag/SKILL.md +87 -0
- package/skills/session-logs/SKILL.md +151 -0
- package/skills/share-skills/SKILL.md +72 -0
- package/skills/sherpa-onnx-tts/SKILL.md +109 -0
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
- package/skills/skill-creator/SKILL.md +372 -0
- package/skills/skill-creator/license.txt +202 -0
- package/skills/skill-creator/scripts/init_skill.py +378 -0
- package/skills/skill-creator/scripts/package_skill.py +139 -0
- package/skills/skill-creator/scripts/quick_validate.py +159 -0
- package/skills/skill-creator/scripts/test_package_skill.py +160 -0
- package/skills/skill-creator/scripts/test_quick_validate.py +72 -0
- package/skills/slack/SKILL.md +144 -0
- package/skills/songsee/SKILL.md +49 -0
- package/skills/sonoscli/SKILL.md +65 -0
- package/skills/spotify-player/SKILL.md +64 -0
- package/skills/summarize/SKILL.md +87 -0
- package/skills/taskflow/SKILL.md +149 -0
- package/skills/taskflow-inbox-triage/SKILL.md +119 -0
- package/skills/things-mac/SKILL.md +86 -0
- package/skills/tmux/SKILL.md +170 -0
- package/skills/tmux/scripts/find-sessions.sh +112 -0
- package/skills/tmux/scripts/wait-for-text.sh +83 -0
- package/skills/trello/SKILL.md +108 -0
- package/skills/video-frames/SKILL.md +46 -0
- package/skills/video-frames/scripts/frame.sh +81 -0
- package/skills/voice-call/SKILL.md +45 -0
- package/skills/wacli/SKILL.md +72 -0
- package/skills/weather/SKILL.md +129 -0
- package/skills/xurl/SKILL.md +461 -0
- package/templates/workspace/AGENTS.md +223 -0
- package/templates/workspace/BOOTSTRAP.md +64 -0
- package/templates/workspace/HEARTBEAT.md +15 -0
- package/templates/workspace/IDENTITY.md +31 -0
- package/templates/workspace/SOUL.md +47 -0
- package/templates/workspace/TOOLS.md +48 -0
- package/templates/workspace/USER.md +25 -0
- package/CHANGELOG.md +0 -48
- package/SECURITY.md +0 -208
- package/assets/brigade-wordmark.png +0 -0
- package/dist/cli/chat-cmd.js +0 -191
- package/dist/cli/config-cmd.js +0 -171
- package/dist/cli/connect-cmd.js +0 -487
- package/dist/cli/doctor-cmd.js +0 -387
- package/dist/cli/gateway-cmd.js +0 -155
- package/dist/cli.js +0 -328
- package/dist/core/agent.js +0 -1123
- package/dist/core/auth-label.js +0 -147
- package/dist/core/cli-error.js +0 -94
- package/dist/core/error-classifier.js +0 -354
- package/dist/core/provider-payload-mutators.js +0 -517
- package/dist/core/provider-quirks.js +0 -285
- package/dist/core/smart-compaction.js +0 -209
- package/dist/core/system-prompt-defaults.js +0 -264
- package/dist/core/system-prompt-guidance.js +0 -271
- package/dist/index.js +0 -32
- package/dist/ui/brand-frames.js +0 -36
- package/dist/ui/chat.js +0 -1008
|
@@ -0,0 +1,1195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Brigade extension seam — the contracts every capability plugs into.
|
|
3
|
+
*
|
|
4
|
+
* Brigade's plugin layer = Pi 0.73's native extension engine (agent-level:
|
|
5
|
+
* tools / hooks / commands / model providers) + thin Brigade "capability
|
|
6
|
+
* registries" for the product surfaces Pi has no concept of (channels, voice,
|
|
7
|
+
* media, integrations, memory backends). A single **module** registers across
|
|
8
|
+
* both through one context (`BrigadeExtensionContext`); the loader records each
|
|
9
|
+
* registration, replays the agent-level ones into every Pi session as an
|
|
10
|
+
* `ExtensionFactory`, and hands the product-level ones to the gateway.
|
|
11
|
+
*
|
|
12
|
+
* THE NO-REWRITE GUARANTEE: every capability contract below is fixed HERE, once.
|
|
13
|
+
* Adding a Slack channel, a background service, an HTTP webhook, or an RPC method
|
|
14
|
+
* means writing a module that calls `b.channel(...)` / `b.service(...)` /
|
|
15
|
+
* `b.httpRoute(...)` / `b.gatewayMethod(...)` — the gateway already consumes those
|
|
16
|
+
* registries, so existing code never changes. Voice (`b.tts`/`b.stt`) and media
|
|
17
|
+
* (`b.mediaGen`) contracts are likewise fixed; the gateway surfaces them today via
|
|
18
|
+
* `system.capabilities`, and the turn-time synthesis/transcription wiring lands
|
|
19
|
+
* with the Voice/Media phase against these same shapes.
|
|
20
|
+
*
|
|
21
|
+
* Provides a full plugin-API register surface, but realized as Pi extensions +
|
|
22
|
+
* light capability registries instead of a bespoke engine.
|
|
23
|
+
*/
|
|
24
|
+
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
25
|
+
import type { TSchema } from "typebox";
|
|
26
|
+
import type { BrigadeConfig } from "../../config/io.js";
|
|
27
|
+
import type { AnyBrigadeTool } from "../tools/types.js";
|
|
28
|
+
/** Outbound media payload — what the agent wants to send out via `sendMedia`. */
|
|
29
|
+
export interface OutboundMedia {
|
|
30
|
+
kind: "image" | "video" | "audio" | "voice" | "document" | "sticker";
|
|
31
|
+
/** Absolute path to the file on disk. */
|
|
32
|
+
path: string;
|
|
33
|
+
/** Override the file name surfaced to the recipient (documents). */
|
|
34
|
+
fileName?: string;
|
|
35
|
+
/** Caption to render alongside image/video/document. */
|
|
36
|
+
caption?: string;
|
|
37
|
+
/** Override MIME (defaults to a kind-specific value). */
|
|
38
|
+
mimeType?: string;
|
|
39
|
+
}
|
|
40
|
+
/** Inbound media attachment (image / voice note / document / sticker / video). */
|
|
41
|
+
export interface InboundMediaAttachment {
|
|
42
|
+
/** What it is. */
|
|
43
|
+
kind: "image" | "video" | "audio" | "voice" | "document" | "sticker";
|
|
44
|
+
/** Absolute path on disk where the adapter saved the bytes (under ~/.brigade). */
|
|
45
|
+
path: string;
|
|
46
|
+
/** Detected MIME type, e.g. "image/jpeg". */
|
|
47
|
+
mimeType?: string;
|
|
48
|
+
/** Original file name (documents) or sender-provided caption-extracted name. */
|
|
49
|
+
fileName?: string;
|
|
50
|
+
/** Caption sent alongside the media; surfaces as `text` when no other text was sent. */
|
|
51
|
+
caption?: string;
|
|
52
|
+
}
|
|
53
|
+
/** Context of a previous message the inbound is replying to. */
|
|
54
|
+
export interface InboundReplyContext {
|
|
55
|
+
/** Stable id of the quoted message, when the channel exposes one. */
|
|
56
|
+
messageId?: string;
|
|
57
|
+
/** A short excerpt of the quoted body so the LLM can see what was replied to. */
|
|
58
|
+
body?: string;
|
|
59
|
+
/** Sender id of the quoted message. */
|
|
60
|
+
from?: string;
|
|
61
|
+
}
|
|
62
|
+
/** A normalized inbound message from any channel (WhatsApp/Slack/Telegram/…). */
|
|
63
|
+
export interface InboundMessage {
|
|
64
|
+
/** Channel id, e.g. "whatsapp". */
|
|
65
|
+
channel: string;
|
|
66
|
+
/** Stable conversation/chat id within the channel (the session-key seed). */
|
|
67
|
+
conversationId: string;
|
|
68
|
+
/**
|
|
69
|
+
* Channel-native id of THIS inbound message (e.g. Baileys `msg.key.id`).
|
|
70
|
+
* Used by the manager to call `adapter.markRead` after the access-control
|
|
71
|
+
* gate allows the message. `undefined` for channels that don't expose a
|
|
72
|
+
* stable id per inbound.
|
|
73
|
+
*/
|
|
74
|
+
messageId?: string;
|
|
75
|
+
/**
|
|
76
|
+
* Channel-native id of the speaker on a group message (e.g. WhatsApp
|
|
77
|
+
* `msg.key.participant`). Used alongside `messageId` for read receipts on
|
|
78
|
+
* group rooms where the platform tracks read state per-participant.
|
|
79
|
+
*/
|
|
80
|
+
participantId?: string;
|
|
81
|
+
/**
|
|
82
|
+
* When the platform stamped this message (epoch ms). Compared against
|
|
83
|
+
* `adapter.connectedAt()` to detect "queued during the gateway downtime"
|
|
84
|
+
* messages — those are SUPPRESSED from triggering pairing challenges, so
|
|
85
|
+
* a Brigade restart doesn't burst-spam every stranger who DM'd while we
|
|
86
|
+
* were offline. `undefined` for channels without per-message timestamps.
|
|
87
|
+
*/
|
|
88
|
+
messageTimestampMs?: number;
|
|
89
|
+
/** Sender id within the channel (phone/user id). */
|
|
90
|
+
from: string;
|
|
91
|
+
/**
|
|
92
|
+
* Secondary sender id for channels (e.g. WhatsApp) where a sender can be
|
|
93
|
+
* addressed by more than one stable handle — specifically a privacy alias
|
|
94
|
+
* (`@lid`) alongside / instead of a phone number. When present, the
|
|
95
|
+
* access-control gate matches the sender if EITHER `from` OR `senderLid`
|
|
96
|
+
* appears on an allow-list. Undefined for channels / senders without an
|
|
97
|
+
* alias.
|
|
98
|
+
*/
|
|
99
|
+
senderLid?: string;
|
|
100
|
+
/** Plain text of the message (may be empty when media has no caption). */
|
|
101
|
+
text: string;
|
|
102
|
+
/** Optional display name of the sender. */
|
|
103
|
+
fromName?: string;
|
|
104
|
+
/**
|
|
105
|
+
* `direct` (a DM) or `group` (a multi-party room). Channels that don't
|
|
106
|
+
* carry the distinction (Slack channels behave like groups) should pick
|
|
107
|
+
* `group`. The access-control gate routes on this.
|
|
108
|
+
*/
|
|
109
|
+
chatType?: "direct" | "group";
|
|
110
|
+
/** True iff `chatType === "group"`. Convenience flag for gates that don't care about other distinctions. */
|
|
111
|
+
isGroup?: boolean;
|
|
112
|
+
/**
|
|
113
|
+
* Channel-native ids of accounts mentioned/@-tagged in the message
|
|
114
|
+
* (e.g. WhatsApp jids in a group). Empty when no @-mentions were used.
|
|
115
|
+
*/
|
|
116
|
+
mentions?: string[];
|
|
117
|
+
/**
|
|
118
|
+
* Quoted-reply context — what message this inbound is replying to.
|
|
119
|
+
* `undefined` when the inbound is a fresh message, not a reply.
|
|
120
|
+
*/
|
|
121
|
+
replyTo?: InboundReplyContext;
|
|
122
|
+
/**
|
|
123
|
+
* Thread id for channels that support threads (Slack/Discord/Telegram topics).
|
|
124
|
+
* `undefined` for WhatsApp and other flat-DM channels. Used by access-control
|
|
125
|
+
* and session-key for thread-scoped routing.
|
|
126
|
+
*/
|
|
127
|
+
threadId?: string;
|
|
128
|
+
/** Parent thread id when this inbound is a reply nested under another thread; channels without parent-thread tracking leave it undefined. */
|
|
129
|
+
threadParentId?: string;
|
|
130
|
+
/** Media attachments saved to disk, when the inbound carried any. */
|
|
131
|
+
media?: InboundMediaAttachment[];
|
|
132
|
+
/**
|
|
133
|
+
* DEFERRED media download — adapters that can detect attachments cheaply
|
|
134
|
+
* pass this thunk INSTEAD of eagerly-downloaded `media`. The inbound
|
|
135
|
+
* pipeline invokes it only AFTER the access-control gate admits the
|
|
136
|
+
* sender, so a blocked stranger's group video is never fetched, sealed,
|
|
137
|
+
* or archived. Adapters without a deferral path keep populating `media`
|
|
138
|
+
* directly — both shapes are honoured.
|
|
139
|
+
*/
|
|
140
|
+
resolveMedia?: () => Promise<InboundMediaAttachment[]>;
|
|
141
|
+
/**
|
|
142
|
+
* Discord guild id this message originated in. Populated by Discord
|
|
143
|
+
* adapters; left undefined by every other channel. The 8-tier route
|
|
144
|
+
* resolver uses `guildId` (with optional `memberRoleIds`) to pick the
|
|
145
|
+
* binding tier for guild + role-aware routing.
|
|
146
|
+
*/
|
|
147
|
+
guildId?: string;
|
|
148
|
+
/**
|
|
149
|
+
* Slack team id (workspace id) this message originated in. Populated
|
|
150
|
+
* by Slack adapters; left undefined elsewhere. Feeds the route
|
|
151
|
+
* resolver's `binding.team` tier.
|
|
152
|
+
*/
|
|
153
|
+
teamId?: string;
|
|
154
|
+
/**
|
|
155
|
+
* Discord member role ids carried with this inbound (role names are
|
|
156
|
+
* NOT used — only ids). Populated by Discord adapters when the
|
|
157
|
+
* message arrived in a guild. The resolver's `binding.guild+roles`
|
|
158
|
+
* tier matches if ANY role overlaps with the binding's `roles[]`.
|
|
159
|
+
*/
|
|
160
|
+
memberRoleIds?: string[];
|
|
161
|
+
/**
|
|
162
|
+
* Per-account-channel-peer scope: the channel account id this inbound
|
|
163
|
+
* arrived on (for adapters that run multiple accounts of the same
|
|
164
|
+
* channel — e.g. WhatsApp personal + work). When omitted, falls back
|
|
165
|
+
* to the channel-manager-level account-id resolution.
|
|
166
|
+
*/
|
|
167
|
+
accountId?: string;
|
|
168
|
+
/** Raw provider payload (for adapters that need more). */
|
|
169
|
+
raw?: unknown;
|
|
170
|
+
}
|
|
171
|
+
/** Context handed to a channel adapter when the gateway starts it. */
|
|
172
|
+
export interface ChannelStartContext {
|
|
173
|
+
/** Called by the adapter for every inbound message; Brigade runs a turn + replies. */
|
|
174
|
+
onInbound: (msg: InboundMessage) => Promise<void>;
|
|
175
|
+
/** Subsystem logger. */
|
|
176
|
+
log: (msg: string, meta?: Record<string, unknown>) => void;
|
|
177
|
+
/** Abort signal — adapter must stop cleanly when this fires. */
|
|
178
|
+
signal: AbortSignal;
|
|
179
|
+
/** A place to surface a QR / pairing code to the operator (e.g. WhatsApp). */
|
|
180
|
+
onPairing?: (info: {
|
|
181
|
+
kind: "qr" | "code";
|
|
182
|
+
value: string;
|
|
183
|
+
}) => void;
|
|
184
|
+
/**
|
|
185
|
+
* Called once the adapter completes its initial connection (e.g. WhatsApp
|
|
186
|
+
* reaches the `open` state after the QR is scanned). The CLI link command
|
|
187
|
+
* uses this as its "done" signal; the gateway can ignore it.
|
|
188
|
+
*/
|
|
189
|
+
onConnected?: () => void;
|
|
190
|
+
/**
|
|
191
|
+
* Called when the channel ends the session and re-linking is required
|
|
192
|
+
* (e.g. WhatsApp creds invalidated). The link/status commands surface this;
|
|
193
|
+
* the gateway logs it.
|
|
194
|
+
*/
|
|
195
|
+
onLoggedOut?: () => void;
|
|
196
|
+
/**
|
|
197
|
+
* One-shot link mode — the CLI's `channels link` command sets this so the
|
|
198
|
+
* adapter knows to skip aggressive reconnect-loops (those are right for the
|
|
199
|
+
* gateway, wrong for an interactive pair). Adapters that don't have a link
|
|
200
|
+
* vs serve distinction can ignore it.
|
|
201
|
+
*/
|
|
202
|
+
linkMode?: boolean;
|
|
203
|
+
/**
|
|
204
|
+
* Linking progress callback. The adapter emits short polished status
|
|
205
|
+
* strings here during multi-step link handshakes (e.g. WhatsApp's
|
|
206
|
+
* post-pair restart). The CLI renders them as clean status lines instead
|
|
207
|
+
* of letting protocol-level logs leak through. Only fires when `linkMode`
|
|
208
|
+
* is true.
|
|
209
|
+
*/
|
|
210
|
+
onLinkProgress?: (status: string) => void;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Optional outbound-send parameters. Channels that support threading (Slack,
|
|
214
|
+
* Discord) consume `threadId` to scope a reply to a specific thread; channels
|
|
215
|
+
* without threading silently ignore it. Adding fields here is backward-
|
|
216
|
+
* compatible because every consumer passes `opts?` and the channel decides
|
|
217
|
+
* what to honour.
|
|
218
|
+
*/
|
|
219
|
+
export interface OutboundSendOptions {
|
|
220
|
+
/** Reply within this thread (Slack thread_ts, Discord thread id). */
|
|
221
|
+
threadId?: string;
|
|
222
|
+
/** Which channel account to send from on multi-account adapters (e.g. Slack with two workspaces, WhatsApp with two linked numbers); `undefined` falls back to the adapter's default account. */
|
|
223
|
+
accountId?: string;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Per-adapter health status. Returned synchronously by `ChannelAdapter.health()`
|
|
227
|
+
* and consumed by every code path that's about to attempt an outbound send:
|
|
228
|
+
* the cron timer's announce dispatch, the `send_message` agent tool's
|
|
229
|
+
* pre-flight check, and the system-prompt assembler's `## Messaging` block
|
|
230
|
+
* (which highlights degraded channels so the model warns the operator
|
|
231
|
+
* BEFORE choosing them).
|
|
232
|
+
*
|
|
233
|
+
* Convention: `kind` is a stable enum for programmatic dispatch (e.g.
|
|
234
|
+
* "logged-out" → re-link prompt UX); `reason` is one human-readable line
|
|
235
|
+
* suitable for inline display; `remediation` is the CLI/UX action the
|
|
236
|
+
* operator runs to recover. All three are operator-facing.
|
|
237
|
+
*/
|
|
238
|
+
export type ChannelHealth = {
|
|
239
|
+
ok: true;
|
|
240
|
+
} | {
|
|
241
|
+
ok: false;
|
|
242
|
+
/** Stable, programmatic state. `logged-out` is the headline case (WhatsApp
|
|
243
|
+
* socket terminated by the phone, Slack token revoked, …). `disconnected`
|
|
244
|
+
* covers transient socket drops where reconnect is in flight.
|
|
245
|
+
* `degraded` is a catch-all for rate-limit / partial-availability states. */
|
|
246
|
+
kind: "logged-out" | "disconnected" | "starting" | "degraded";
|
|
247
|
+
/** One-liner the model / TUI / cron failure path surfaces verbatim. */
|
|
248
|
+
reason: string;
|
|
249
|
+
/** Optional CLI command the operator can run to recover. */
|
|
250
|
+
remediation?: string;
|
|
251
|
+
};
|
|
252
|
+
/**
|
|
253
|
+
* Per-channel pairing customization. Today the manager hard-codes a phone-
|
|
254
|
+
* vs-account heuristic + `🦁 Brigade` copy in the challenge card. As soon as
|
|
255
|
+
* a second channel ships, the operator-visible idLabel ("Your number" vs
|
|
256
|
+
* "Your account" vs "Your username") needs to vary per channel — that's
|
|
257
|
+
* what `idLabel` is for. `normalizeAllowEntry` lets a channel strip an
|
|
258
|
+
* operator-typed `@` prefix or `<@U…>` mention syntax before the entry
|
|
259
|
+
* lands in the allow-from store. `notifyApproval` is invoked by the CLI's
|
|
260
|
+
* `pairing approve` command so the requester sees confirmation in-channel.
|
|
261
|
+
*/
|
|
262
|
+
export interface ChannelPairingAdapter {
|
|
263
|
+
/** Friendly label for the sender id in the challenge card. */
|
|
264
|
+
idLabel: "phone" | "username" | "account";
|
|
265
|
+
/**
|
|
266
|
+
* Normalize an allow-from entry the operator typed before it's stored.
|
|
267
|
+
* Default behaviour (when omitted) is identity.
|
|
268
|
+
*/
|
|
269
|
+
normalizeAllowEntry?(entry: string): string;
|
|
270
|
+
/**
|
|
271
|
+
* Notify the requester they've been approved. Optional — channels that
|
|
272
|
+
* already auto-route can omit it; the CLI's `pairing approve` invokes
|
|
273
|
+
* this when present so the requester sees confirmation in-channel.
|
|
274
|
+
*/
|
|
275
|
+
notifyApproval?(args: {
|
|
276
|
+
senderId: string;
|
|
277
|
+
senderName?: string;
|
|
278
|
+
}): Promise<void>;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* A credential the channel needs to be configured (e.g. Slack bot token).
|
|
282
|
+
* The setup wizard prompts the operator for each declared key and writes the
|
|
283
|
+
* answer into `channels.<id>.*`. WhatsApp omits this entirely (QR pairing
|
|
284
|
+
* via `brigade channels link` covers it).
|
|
285
|
+
*/
|
|
286
|
+
export interface ChannelSetupCredentialKey {
|
|
287
|
+
/** Config path under `channels.<id>.*` (e.g. `"botToken"`). */
|
|
288
|
+
key: string;
|
|
289
|
+
/** Prompt shown to the operator. */
|
|
290
|
+
prompt: string;
|
|
291
|
+
/** When true, input is hidden in the terminal (passwords / tokens). */
|
|
292
|
+
secret?: boolean;
|
|
293
|
+
/** Optional env-var fallback the wizard reads if set. */
|
|
294
|
+
envVar?: string;
|
|
295
|
+
/** Optional reference URL shown next to the prompt. */
|
|
296
|
+
docsUrl?: string;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Channel-specific setup wizard. The `brigade channels add <id>` CLI walks
|
|
300
|
+
* the operator through these credential prompts and writes a fully-formed
|
|
301
|
+
* `channels.<id>` block to `brigade.json`. Channels that pair via QR/OAuth
|
|
302
|
+
* (WhatsApp) don't have a setup adapter — they use `channels link`.
|
|
303
|
+
*/
|
|
304
|
+
export interface ChannelSetupAdapter {
|
|
305
|
+
credentialKeys: ReadonlyArray<ChannelSetupCredentialKey>;
|
|
306
|
+
/**
|
|
307
|
+
* Optional validation of operator input. Return `null` to accept, or an
|
|
308
|
+
* error string to re-prompt.
|
|
309
|
+
*/
|
|
310
|
+
validateInput?(key: string, value: string): string | null;
|
|
311
|
+
/**
|
|
312
|
+
* Final assembly — given a map of {credentialKey: value}, produce the
|
|
313
|
+
* `channels.<id>` config block to merge into `brigade.json`. Default is
|
|
314
|
+
* identity (write keys verbatim under `channels.<id>`).
|
|
315
|
+
*/
|
|
316
|
+
buildAccountConfig?(values: Record<string, string>): Record<string, unknown>;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* A messaging channel (Channels phase). WhatsApp is the first implementer; Slack/
|
|
320
|
+
* Telegram/etc. implement the same shape. The gateway starts each configured
|
|
321
|
+
* channel once, routes inbound → agent turn → `sendText` for the reply.
|
|
322
|
+
*/
|
|
323
|
+
export interface ChannelAdapter {
|
|
324
|
+
id: string;
|
|
325
|
+
label: string;
|
|
326
|
+
/** Env vars / config the channel needs (gating). */
|
|
327
|
+
requiresEnv?: string[];
|
|
328
|
+
isConfigured(cfg: BrigadeConfig, env?: NodeJS.ProcessEnv): boolean;
|
|
329
|
+
/** Begin listening; call `ctx.onInbound` per message. Resolves once connected. */
|
|
330
|
+
start(ctx: ChannelStartContext): Promise<void>;
|
|
331
|
+
/** Stop listening + tear down. */
|
|
332
|
+
stop(): Promise<void>;
|
|
333
|
+
/**
|
|
334
|
+
* Send an outbound text reply to a conversation. Optional `opts` carries
|
|
335
|
+
* thread routing + future per-send hints; channels that don't honour an
|
|
336
|
+
* option silently ignore it.
|
|
337
|
+
*/
|
|
338
|
+
sendText(conversationId: string, text: string, opts?: OutboundSendOptions): Promise<void>;
|
|
339
|
+
/**
|
|
340
|
+
* Optional: send a media attachment (image / video / audio / voice / doc /
|
|
341
|
+
* sticker) to a conversation. Channels that don't support media omit this
|
|
342
|
+
* slot. The `send_media` tool REFUSES with a clear operator-facing error
|
|
343
|
+
* pointing at the file path; it does NOT auto-fallback to `sendText`. If
|
|
344
|
+
* you want a text fallback, the LLM calls `send_message` itself after the
|
|
345
|
+
* refusal. See `send-media-tool.ts` for the refusal branch.
|
|
346
|
+
*/
|
|
347
|
+
sendMedia?(conversationId: string, media: OutboundMedia): Promise<void>;
|
|
348
|
+
/**
|
|
349
|
+
* Optional: react to a previously-received message with an emoji (or pass
|
|
350
|
+
* `""` to clear a prior reaction). `messageId` is the inbound message id
|
|
351
|
+
* the adapter normalized into `InboundMessage.raw` (Baileys: `msg.key.id`).
|
|
352
|
+
*/
|
|
353
|
+
react?(conversationId: string, messageId: string, emoji: string): Promise<void>;
|
|
354
|
+
/**
|
|
355
|
+
* The linked self id (operator's own account on the channel) once connected.
|
|
356
|
+
* Used by the access-control gate to always allow the operator's own DMs.
|
|
357
|
+
* `undefined` before the first successful connection.
|
|
358
|
+
*/
|
|
359
|
+
selfId?(): string | undefined;
|
|
360
|
+
/**
|
|
361
|
+
* Epoch-ms of the channel's most recent successful connection. The manager
|
|
362
|
+
* uses this with `InboundMessage.messageTimestampMs` to detect "queued
|
|
363
|
+
* since last restart" inbounds and suppress pairing-challenge replies
|
|
364
|
+
* for them (avoids burst-spamming strangers with codes after every
|
|
365
|
+
* gateway restart). Returns `null` pre-connect or for channels that
|
|
366
|
+
* don't track connection timing.
|
|
367
|
+
*/
|
|
368
|
+
connectedAt?(): number | null;
|
|
369
|
+
/**
|
|
370
|
+
* Optional: mark a previously-received message as read (e.g. WhatsApp "blue
|
|
371
|
+
* ticks"). Called by the manager AFTER access control allows the inbound so
|
|
372
|
+
* a stranger waiting on a pairing challenge never sees a read receipt before
|
|
373
|
+
* the bot has decided to engage. `messageId`/`participant` are the channel-
|
|
374
|
+
* native ids; channels without read receipts omit this slot.
|
|
375
|
+
*/
|
|
376
|
+
markRead?(conversationId: string, messageId: string, participant?: string): Promise<void>;
|
|
377
|
+
/**
|
|
378
|
+
* Optional: signal "typing…" on the conversation while the agent thinks
|
|
379
|
+
* (`state: "composing"`) and clear it when done (`state: "paused"`). Called
|
|
380
|
+
* by the manager around the turn so a blocked stranger never sees a typing
|
|
381
|
+
* indicator. Best-effort — channels without presence omit this slot.
|
|
382
|
+
*/
|
|
383
|
+
setComposing?(conversationId: string, state: "composing" | "paused"): Promise<void>;
|
|
384
|
+
/**
|
|
385
|
+
* Optional: live health probe for this adapter. Distinguishes "started but
|
|
386
|
+
* actually unable to send right now" (e.g. WhatsApp logged out on the
|
|
387
|
+
* phone, Slack token expired, Discord rate-limited) from "started + ready".
|
|
388
|
+
* Cheap + synchronous-shape: must read CACHED connection state, NEVER
|
|
389
|
+
* round-trip the provider — the cron timer, `send_message` tool, and
|
|
390
|
+
* system-prompt assembler all call it on the hot path.
|
|
391
|
+
*
|
|
392
|
+
* Returns:
|
|
393
|
+
* - `{ ok: true }` — adapter is healthy, sends should succeed.
|
|
394
|
+
* - `{ ok: false, reason, remediation? }` — adapter is degraded; the
|
|
395
|
+
* caller surfaces `reason` (one-line operator-facing string) + an
|
|
396
|
+
* optional `remediation` CLI hint (`brigade channels link ...`).
|
|
397
|
+
*
|
|
398
|
+
* Channels without their own health concept omit this slot entirely;
|
|
399
|
+
* callers treat that as `{ ok: true }` (no information to gate on).
|
|
400
|
+
*/
|
|
401
|
+
health?(): ChannelHealth;
|
|
402
|
+
/**
|
|
403
|
+
* Optional: per-channel pairing customization. When present, the manager
|
|
404
|
+
* uses this adapter's `idLabel` for the challenge card's "Your X" line
|
|
405
|
+
* and calls `notifyApproval` after `brigade pairing approve` so the
|
|
406
|
+
* requester sees confirmation in-channel. When absent, the manager
|
|
407
|
+
* falls back to its built-in phone-vs-account heuristic.
|
|
408
|
+
*/
|
|
409
|
+
pairing?: ChannelPairingAdapter;
|
|
410
|
+
/**
|
|
411
|
+
* Optional: declarative setup wizard the CLI's `brigade channels add`
|
|
412
|
+
* walks the operator through. Channels with non-QR credentials (Slack
|
|
413
|
+
* bot token, Discord app token, etc.) MUST provide this; channels with
|
|
414
|
+
* QR/OAuth pairing (WhatsApp) leave it undefined.
|
|
415
|
+
*/
|
|
416
|
+
setup?: ChannelSetupAdapter;
|
|
417
|
+
}
|
|
418
|
+
/** Context for a channel command handler (a `/cmd` typed in a channel chat). */
|
|
419
|
+
export interface ChannelCommandContext {
|
|
420
|
+
/** Channel id the command came from. */
|
|
421
|
+
channel: string;
|
|
422
|
+
/** Conversation/chat id (where to reply). */
|
|
423
|
+
conversationId: string;
|
|
424
|
+
/** Sender id within the channel. */
|
|
425
|
+
from: string;
|
|
426
|
+
/** Sender display name, when known. */
|
|
427
|
+
fromName?: string;
|
|
428
|
+
/** Text after the command word, trimmed (e.g. `/echo hi there` → `hi there`). */
|
|
429
|
+
args: string;
|
|
430
|
+
/** Active config (for the handler to read its own settings / owner list). */
|
|
431
|
+
config: BrigadeConfig;
|
|
432
|
+
/**
|
|
433
|
+
* Optional: channel account id this command arrived on (for adapters
|
|
434
|
+
* that run multiple accounts of the same channel — e.g. WhatsApp
|
|
435
|
+
* personal + work). Legacy adapters that don't carry the field default
|
|
436
|
+
* to `"default"` at the consumer side. Additive — handlers that don't
|
|
437
|
+
* need account scoping can ignore it.
|
|
438
|
+
*/
|
|
439
|
+
accountId?: string;
|
|
440
|
+
/**
|
|
441
|
+
* Optional: `true` when the message arrived in a group/room rather
|
|
442
|
+
* than a 1:1 DM. Mirrors `InboundMessage.isGroup`. Handlers that
|
|
443
|
+
* scope bindings by peer kind read this; legacy adapters that don't
|
|
444
|
+
* surface a group/direct distinction leave it undefined and the
|
|
445
|
+
* consumer treats that as `direct`.
|
|
446
|
+
*/
|
|
447
|
+
isGroup?: boolean;
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* A channel command — a `/name ...` message handled BEFORE the LLM, returning a
|
|
451
|
+
* direct reply. Distinct from a Pi interactive slash-command (`b.command`),
|
|
452
|
+
* which is TUI-only. Auth is
|
|
453
|
+
* the command's own concern via `authorize` (Brigade has no channel ACL yet);
|
|
454
|
+
* default is allow-all, so gate sensitive commands explicitly.
|
|
455
|
+
*/
|
|
456
|
+
export interface ChannelCommand {
|
|
457
|
+
/** Command word without the leading slash, e.g. "status". */
|
|
458
|
+
name: string;
|
|
459
|
+
description?: string;
|
|
460
|
+
/** Optional gate; return false to refuse (the manager replies with a refusal). */
|
|
461
|
+
authorize?: (ctx: ChannelCommandContext) => boolean;
|
|
462
|
+
/** Handle the command; return reply text, or void/empty for no reply. */
|
|
463
|
+
handler: (ctx: ChannelCommandContext) => Promise<string | void> | string | void;
|
|
464
|
+
}
|
|
465
|
+
/** Text-to-speech provider (Voice phase). e.g. ElevenLabs, OpenAI, Edge TTS. */
|
|
466
|
+
export interface SpeechProvider {
|
|
467
|
+
id: string;
|
|
468
|
+
label: string;
|
|
469
|
+
requiresEnv?: string[];
|
|
470
|
+
isConfigured(cfg: BrigadeConfig, env?: NodeJS.ProcessEnv): boolean;
|
|
471
|
+
/** Synthesize speech; returns audio bytes + mime type. */
|
|
472
|
+
synthesize(text: string, opts?: {
|
|
473
|
+
voice?: string;
|
|
474
|
+
}): Promise<{
|
|
475
|
+
audio: Buffer;
|
|
476
|
+
mimeType: string;
|
|
477
|
+
}>;
|
|
478
|
+
}
|
|
479
|
+
/** Speech-to-text provider (Voice phase). e.g. Whisper, Groq, Deepgram. */
|
|
480
|
+
export interface TranscriptionProvider {
|
|
481
|
+
id: string;
|
|
482
|
+
label: string;
|
|
483
|
+
requiresEnv?: string[];
|
|
484
|
+
isConfigured(cfg: BrigadeConfig, env?: NodeJS.ProcessEnv): boolean;
|
|
485
|
+
/** Transcribe audio bytes to text. */
|
|
486
|
+
transcribe(audio: Buffer, opts?: {
|
|
487
|
+
mimeType?: string;
|
|
488
|
+
}): Promise<{
|
|
489
|
+
text: string;
|
|
490
|
+
}>;
|
|
491
|
+
}
|
|
492
|
+
/** Media generation provider (Media phase). e.g. image/video/music gen. */
|
|
493
|
+
export interface MediaGenProvider {
|
|
494
|
+
id: string;
|
|
495
|
+
label: string;
|
|
496
|
+
kind: "image" | "video" | "music";
|
|
497
|
+
requiresEnv?: string[];
|
|
498
|
+
isConfigured(cfg: BrigadeConfig, env?: NodeJS.ProcessEnv): boolean;
|
|
499
|
+
generate(prompt: string, opts?: Record<string, unknown>): Promise<{
|
|
500
|
+
data: Buffer;
|
|
501
|
+
mimeType: string;
|
|
502
|
+
}>;
|
|
503
|
+
}
|
|
504
|
+
/** A generic third-party API integration (any external service). */
|
|
505
|
+
export interface Integration {
|
|
506
|
+
id: string;
|
|
507
|
+
label: string;
|
|
508
|
+
requiresEnv?: string[];
|
|
509
|
+
isConfigured(cfg: BrigadeConfig, env?: NodeJS.ProcessEnv): boolean;
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* Context handed to a web provider when its `createTool(ctx)` factory runs.
|
|
513
|
+
* Carries the resolved Brigade config + env + per-tool config slice the
|
|
514
|
+
* resolver pulled out (e.g. `tools.web.search.providers.brave.apiKey`) so the
|
|
515
|
+
* provider can read its own credentials without re-deriving them.
|
|
516
|
+
*/
|
|
517
|
+
export interface WebProviderContext {
|
|
518
|
+
readonly config: BrigadeConfig;
|
|
519
|
+
readonly env: NodeJS.ProcessEnv;
|
|
520
|
+
readonly workspaceDir: string;
|
|
521
|
+
/** Provider-scoped config slice (e.g. `tools.web.search.providers.<id>`). */
|
|
522
|
+
readonly providerConfig?: Record<string, unknown>;
|
|
523
|
+
/** Runtime hints carried in from the resolver — currently just timeoutMs. */
|
|
524
|
+
readonly runtime?: {
|
|
525
|
+
timeoutMs?: number;
|
|
526
|
+
maxBytes?: number;
|
|
527
|
+
};
|
|
528
|
+
/**
|
|
529
|
+
* Resolved runtime metadata captured by the provider's optional
|
|
530
|
+
* `resolveRuntimeMetadata()` hook (transport choice, model selection,
|
|
531
|
+
* detected feature flags). Opaque per-provider — `createTool` reads it.
|
|
532
|
+
*/
|
|
533
|
+
readonly runtimeMetadata?: Record<string, unknown>;
|
|
534
|
+
}
|
|
535
|
+
/**
|
|
536
|
+
* Optional setup hook signature for a provider. The CLI's onboarding flow
|
|
537
|
+
* calls this when the operator picks a provider that ships its own wizard
|
|
538
|
+
* (Brave OAuth, Tavily API-key fetch, etc.). Returns a structured
|
|
539
|
+
* outcome the CLI renders + persists to `brigade.json`. Providers without
|
|
540
|
+
* a wizard omit the method — the CLI falls back to a generic env-var prompt.
|
|
541
|
+
*/
|
|
542
|
+
export interface WebProviderSetupContext {
|
|
543
|
+
readonly config: BrigadeConfig;
|
|
544
|
+
readonly env: NodeJS.ProcessEnv;
|
|
545
|
+
/** Mutate to persist secrets / config. The CLI flushes after success. */
|
|
546
|
+
readonly setSecret: (path: string, value: string) => void;
|
|
547
|
+
readonly setConfig: (path: string, value: unknown) => void;
|
|
548
|
+
/** Operator-facing prompt — pass-through to the CLI's TTY. */
|
|
549
|
+
readonly prompt: (question: string, opts?: {
|
|
550
|
+
mask?: boolean;
|
|
551
|
+
}) => Promise<string>;
|
|
552
|
+
readonly print: (line: string) => void;
|
|
553
|
+
}
|
|
554
|
+
export type WebProviderSetupOutcome = {
|
|
555
|
+
status: "configured";
|
|
556
|
+
summary?: string;
|
|
557
|
+
} | {
|
|
558
|
+
status: "skipped";
|
|
559
|
+
summary?: string;
|
|
560
|
+
} | {
|
|
561
|
+
status: "error";
|
|
562
|
+
message: string;
|
|
563
|
+
};
|
|
564
|
+
/**
|
|
565
|
+
* Shape of the tool the provider's factory returns. The runtime registers it
|
|
566
|
+
* under a stable name (`fetch_url`, `web_search`) and wraps the execute via
|
|
567
|
+
* `withToolUpdates` for `onUpdate` streaming. The provider declares its own
|
|
568
|
+
* `parameters` (TypeBox/JSON-schema record) and `execute` body; the result
|
|
569
|
+
* normalizer downstream forces every provider's free-form return into the
|
|
570
|
+
* canonical `{content, details}` envelope.
|
|
571
|
+
*/
|
|
572
|
+
export interface WebProviderToolDefinition {
|
|
573
|
+
description: string;
|
|
574
|
+
parameters: Record<string, unknown>;
|
|
575
|
+
execute(args: Record<string, unknown>, signal?: AbortSignal): Promise<Record<string, unknown>>;
|
|
576
|
+
}
|
|
577
|
+
/**
|
|
578
|
+
* A web-search provider (Brave / Tavily / Exa / DuckDuckGo / Serper / Kagi /
|
|
579
|
+
* SearXNG / Perplexity / etc.). Provider IS a tool factory — when active, its
|
|
580
|
+
* `createTool(ctx)` returns the `web_search` tool the agent calls. The
|
|
581
|
+
* runtime appends the resolved tool to the agent's `customTools` list
|
|
582
|
+
* alongside built-ins.
|
|
583
|
+
*
|
|
584
|
+
* Auto-selection: providers are sorted by `autoDetectOrder` ascending (lower
|
|
585
|
+
* wins), then the first credentialed one is picked. `requiresCredential:
|
|
586
|
+
* false` lets a provider win without any env/config (e.g. DuckDuckGo HTML
|
|
587
|
+
* scrape). The operator pins a specific provider via
|
|
588
|
+
* `tools.web.search.provider: "<id>"` in `brigade.json`.
|
|
589
|
+
*/
|
|
590
|
+
export interface WebSearchProvider {
|
|
591
|
+
id: string;
|
|
592
|
+
label: string;
|
|
593
|
+
hint: string;
|
|
594
|
+
requiresCredential?: boolean;
|
|
595
|
+
envVars?: string[];
|
|
596
|
+
placeholder?: string;
|
|
597
|
+
signupUrl?: string;
|
|
598
|
+
docsUrl?: string;
|
|
599
|
+
autoDetectOrder?: number;
|
|
600
|
+
/**
|
|
601
|
+
* Provider honors per-call filter args (country, language, freshness,
|
|
602
|
+
* date_after, date_before). When omitted/false, `web_search` returns a
|
|
603
|
+
* typed `unsupported_*` error BEFORE invoking the provider so the agent
|
|
604
|
+
* gets predictable feedback instead of silent drop. Brave + Perplexity
|
|
605
|
+
* are the only first-party providers that set this true.
|
|
606
|
+
*/
|
|
607
|
+
supportsFilters?: boolean;
|
|
608
|
+
isConfigured(cfg: BrigadeConfig, env?: NodeJS.ProcessEnv): boolean;
|
|
609
|
+
createTool(ctx: WebProviderContext): WebProviderToolDefinition | null;
|
|
610
|
+
/**
|
|
611
|
+
* Optional onboarding wizard — invoked by the CLI when the operator
|
|
612
|
+
* selects this provider in `brigade onboard`. Providers that ship a
|
|
613
|
+
* custom wizard (Brave OAuth flow, Tavily key validation) implement
|
|
614
|
+
* this; providers without one are handled by the generic env-var prompt.
|
|
615
|
+
*/
|
|
616
|
+
runSetup?(ctx: WebProviderSetupContext): Promise<WebProviderSetupOutcome>;
|
|
617
|
+
/**
|
|
618
|
+
* Optional runtime introspection — called once per turn before
|
|
619
|
+
* `createTool` to decide transport / model / feature-flag hints. Lands
|
|
620
|
+
* on `WebProviderContext.runtimeMetadata`. Used by providers with
|
|
621
|
+
* multi-transport choices (e.g. Perplexity Search-API vs Sonar-chat).
|
|
622
|
+
*/
|
|
623
|
+
resolveRuntimeMetadata?(cfg: BrigadeConfig, env?: NodeJS.ProcessEnv): Record<string, unknown> | null;
|
|
624
|
+
}
|
|
625
|
+
/**
|
|
626
|
+
* A web-fetch provider (Firecrawl / Jina-Reader / Browserless / raw HTTP).
|
|
627
|
+
* Same `createTool(ctx)` factory pattern as `WebSearchProvider`. Today
|
|
628
|
+
* Brigade also ships a BUILT-IN raw fetch tool that doesn't go through this
|
|
629
|
+
* abstraction — providers exist as the FALLBACK when the built-in errors or
|
|
630
|
+
* returns non-OK (JS-heavy pages, blocked-by-bot-detection sites).
|
|
631
|
+
*
|
|
632
|
+
* Auto-selection mirrors `WebSearchProvider`: sort by `autoDetectOrder`,
|
|
633
|
+
* first-credentialed wins; pin via `tools.web.fetch.provider`.
|
|
634
|
+
*/
|
|
635
|
+
export interface WebFetchProvider {
|
|
636
|
+
id: string;
|
|
637
|
+
label: string;
|
|
638
|
+
hint: string;
|
|
639
|
+
requiresCredential?: boolean;
|
|
640
|
+
envVars?: string[];
|
|
641
|
+
placeholder?: string;
|
|
642
|
+
signupUrl?: string;
|
|
643
|
+
docsUrl?: string;
|
|
644
|
+
autoDetectOrder?: number;
|
|
645
|
+
isConfigured(cfg: BrigadeConfig, env?: NodeJS.ProcessEnv): boolean;
|
|
646
|
+
createTool(ctx: WebProviderContext): WebProviderToolDefinition | null;
|
|
647
|
+
/** See `WebSearchProvider.runSetup` — same contract. */
|
|
648
|
+
runSetup?(ctx: WebProviderSetupContext): Promise<WebProviderSetupOutcome>;
|
|
649
|
+
/** See `WebSearchProvider.resolveRuntimeMetadata` — same contract. */
|
|
650
|
+
resolveRuntimeMetadata?(cfg: BrigadeConfig, env?: NodeJS.ProcessEnv): Record<string, unknown> | null;
|
|
651
|
+
}
|
|
652
|
+
/**
|
|
653
|
+
* Memory backend capability. A plugin can register an alternative memory
|
|
654
|
+
* backend (vector DB, knowledge graph, sqlite-fts) that replaces Brigade's
|
|
655
|
+
* bundled file-based store. Only one capability is active at a time — the
|
|
656
|
+
* `extensions.slots.memory` config knob picks the active plugin. When
|
|
657
|
+
* unset, Brigade uses the built-in file-based store.
|
|
658
|
+
*/
|
|
659
|
+
export interface MemoryCapability {
|
|
660
|
+
id: string;
|
|
661
|
+
label: string;
|
|
662
|
+
/** Search the memory store. Returns ranked hits with content + score. */
|
|
663
|
+
search(query: string, opts?: {
|
|
664
|
+
limit?: number;
|
|
665
|
+
sessionKey?: string;
|
|
666
|
+
}): Promise<{
|
|
667
|
+
id: string;
|
|
668
|
+
content: string;
|
|
669
|
+
score: number;
|
|
670
|
+
source: "memory" | "session";
|
|
671
|
+
}[]>;
|
|
672
|
+
/** Append a fact to the store. */
|
|
673
|
+
recordFact(content: string, opts?: {
|
|
674
|
+
meta?: Record<string, string>;
|
|
675
|
+
}): Promise<{
|
|
676
|
+
id: string;
|
|
677
|
+
}>;
|
|
678
|
+
/** Optional: backend health for `brigade doctor`. */
|
|
679
|
+
status?(): Promise<{
|
|
680
|
+
ready: boolean;
|
|
681
|
+
itemCount?: number;
|
|
682
|
+
details?: string;
|
|
683
|
+
}>;
|
|
684
|
+
}
|
|
685
|
+
/**
|
|
686
|
+
* Embedding provider for vector-search memory backends. Registered separately
|
|
687
|
+
* from `MemoryCapability` so a backend and an embedding model can be mixed
|
|
688
|
+
* (e.g. lancedb + an OpenAI embedding adapter; or local node-llama embeddings).
|
|
689
|
+
*/
|
|
690
|
+
export interface MemoryEmbeddingProvider {
|
|
691
|
+
id: string;
|
|
692
|
+
label: string;
|
|
693
|
+
requiresEnv?: string[];
|
|
694
|
+
isConfigured(cfg: BrigadeConfig, env?: NodeJS.ProcessEnv): boolean;
|
|
695
|
+
/** Embed a single query string. */
|
|
696
|
+
embedQuery(text: string): Promise<number[]>;
|
|
697
|
+
/** Embed a batch of strings (vector-index population). */
|
|
698
|
+
embedBatch(texts: ReadonlyArray<string>): Promise<number[][]>;
|
|
699
|
+
}
|
|
700
|
+
/**
|
|
701
|
+
* Context-engine capability. Owns assembling messages + estimating tokens +
|
|
702
|
+
* compacting on-demand. Brigade's default is pass-through (the agent loop
|
|
703
|
+
* uses Pi's session messages); a plugin can register an alternative
|
|
704
|
+
* (semantic packing, sliding window, etc). Picked via
|
|
705
|
+
* `extensions.slots.contextEngine`. Today this is shape-only — the
|
|
706
|
+
* consumer-side resolver lands when the first alternative engine ships.
|
|
707
|
+
*/
|
|
708
|
+
export interface ContextEngineCapability {
|
|
709
|
+
id: string;
|
|
710
|
+
label: string;
|
|
711
|
+
/**
|
|
712
|
+
* Assemble the context for the next turn. Returns the message array the
|
|
713
|
+
* agent loop should send and optionally a `systemPromptAddition`
|
|
714
|
+
* injected at the post-marker (ephemeral) slot. Omit `assemble` to use
|
|
715
|
+
* the session's own messages verbatim.
|
|
716
|
+
*/
|
|
717
|
+
assemble?(args: {
|
|
718
|
+
sessionMessages: ReadonlyArray<unknown>;
|
|
719
|
+
signal?: AbortSignal;
|
|
720
|
+
}): Promise<{
|
|
721
|
+
messages: ReadonlyArray<unknown>;
|
|
722
|
+
systemPromptAddition?: string;
|
|
723
|
+
}>;
|
|
724
|
+
/** Per-message ingest hook (e.g. for RAG indexing). */
|
|
725
|
+
ingest?(message: unknown): Promise<void>;
|
|
726
|
+
/** Post-turn callback (background work). */
|
|
727
|
+
afterTurn?(args: {
|
|
728
|
+
turnIndex: number;
|
|
729
|
+
}): Promise<void>;
|
|
730
|
+
}
|
|
731
|
+
/**
|
|
732
|
+
* Compaction provider — pluggable summarizer. Brigade's default is the
|
|
733
|
+
* head+tail truncation in `smart-compaction.ts`; a plugin can register a
|
|
734
|
+
* full LLM-summary-based compactor. Shape-only today.
|
|
735
|
+
*/
|
|
736
|
+
export interface CompactionProvider {
|
|
737
|
+
id: string;
|
|
738
|
+
label: string;
|
|
739
|
+
/**
|
|
740
|
+
* Summarize older messages into one. Receives the messages to compact
|
|
741
|
+
* + the compression target ratio (0..1; smaller = more aggressive).
|
|
742
|
+
*/
|
|
743
|
+
summarize(args: {
|
|
744
|
+
messages: ReadonlyArray<unknown>;
|
|
745
|
+
compressionRatio: number;
|
|
746
|
+
signal?: AbortSignal;
|
|
747
|
+
}): Promise<string>;
|
|
748
|
+
}
|
|
749
|
+
/**
|
|
750
|
+
* Agent harness — pluggable agent-loop shape (Pi / Codex / Claude-Code).
|
|
751
|
+
* Brigade's default is the Pi-coding-agent shape; a plugin can register an
|
|
752
|
+
* alternative that runs the turn through a different engine. The resolver
|
|
753
|
+
* picks based on `supports(ctx)` priority. Shape-only today; the consumer-
|
|
754
|
+
* side selection lives in `agent-loop.ts` and currently always picks Pi.
|
|
755
|
+
*/
|
|
756
|
+
export interface AgentHarness {
|
|
757
|
+
id: string;
|
|
758
|
+
label: string;
|
|
759
|
+
/** Higher numbers win when multiple harnesses match. Pi default is 0. */
|
|
760
|
+
priority: number;
|
|
761
|
+
/** Does this harness know how to drive the given provider/model? */
|
|
762
|
+
supports(ctx: {
|
|
763
|
+
provider: string;
|
|
764
|
+
model?: string;
|
|
765
|
+
}): boolean;
|
|
766
|
+
/** Run one turn through this harness shape. */
|
|
767
|
+
runAttempt(args: {
|
|
768
|
+
prompt: string;
|
|
769
|
+
signal?: AbortSignal;
|
|
770
|
+
}): Promise<{
|
|
771
|
+
reply: string;
|
|
772
|
+
toolCalls?: ReadonlyArray<unknown>;
|
|
773
|
+
}>;
|
|
774
|
+
}
|
|
775
|
+
/**
|
|
776
|
+
* Auth method a model provider supports. Multiple methods can coexist (e.g.
|
|
777
|
+
* Anthropic supports API key + CLI + OAuth). The onboarding wizard offers each
|
|
778
|
+
* configured method; the runtime resolves the first viable one at session
|
|
779
|
+
* start. Shape-only today; current providers use the bundled API-key flow.
|
|
780
|
+
*/
|
|
781
|
+
export interface ProviderAuthMethod {
|
|
782
|
+
id: string;
|
|
783
|
+
label: string;
|
|
784
|
+
/** Auth kind — drives the onboarding UI shape. */
|
|
785
|
+
kind: "api_key" | "oauth" | "cli_token" | "custom";
|
|
786
|
+
/**
|
|
787
|
+
* Interactive flow — invoked by `brigade onboard` to capture credentials.
|
|
788
|
+
* Receives a logger callback for prompts; returns the credential record
|
|
789
|
+
* to persist (or `null` if the operator cancelled).
|
|
790
|
+
*/
|
|
791
|
+
run?(args: {
|
|
792
|
+
logger: (msg: string) => void;
|
|
793
|
+
}): Promise<Record<string, unknown> | null>;
|
|
794
|
+
/**
|
|
795
|
+
* Non-interactive resolution — invoked when the gateway boots. Returns
|
|
796
|
+
* the credentials when discoverable from env/files/keychain, else `null`.
|
|
797
|
+
*/
|
|
798
|
+
runNonInteractive?(args: {
|
|
799
|
+
env: NodeJS.ProcessEnv;
|
|
800
|
+
}): Promise<Record<string, unknown> | null>;
|
|
801
|
+
/**
|
|
802
|
+
* OAuth refresh — invoked when the runtime detects an expired token.
|
|
803
|
+
* Returns the refreshed credentials. Only applicable to OAuth providers.
|
|
804
|
+
*/
|
|
805
|
+
refreshOAuth?(args: {
|
|
806
|
+
stored: Record<string, unknown>;
|
|
807
|
+
}): Promise<Record<string, unknown> | null>;
|
|
808
|
+
}
|
|
809
|
+
/**
|
|
810
|
+
* Hook result returned by a `modifying` or `claiming` hook handler.
|
|
811
|
+
* - `handled: true` (claiming pattern): this handler took ownership; later
|
|
812
|
+
* handlers are skipped.
|
|
813
|
+
* - `shouldStop: true` (modifying pattern): early-stop the chain after
|
|
814
|
+
* this handler's modifications are merged.
|
|
815
|
+
* - `modifications`: opaque shape — the hook runner merges these into the
|
|
816
|
+
* downstream payload per the hook's documented merge policy.
|
|
817
|
+
*/
|
|
818
|
+
export interface HookResult {
|
|
819
|
+
handled?: boolean;
|
|
820
|
+
shouldStop?: boolean;
|
|
821
|
+
modifications?: Record<string, unknown>;
|
|
822
|
+
}
|
|
823
|
+
/**
|
|
824
|
+
* Hook execution pattern. Each hook event declares its pattern; the runner
|
|
825
|
+
* dispatches accordingly:
|
|
826
|
+
* - `"void"` — handlers run in parallel via Promise.all; results discarded.
|
|
827
|
+
* Used for telemetry-only events (`turn_start`, `agent_end`).
|
|
828
|
+
* - `"modifying"` — handlers run sequentially by priority; each returns
|
|
829
|
+
* optional modifications merged into the payload. Early-stops on
|
|
830
|
+
* `{shouldStop: true}`.
|
|
831
|
+
* - `"claiming"` — handlers run sequentially; first to return
|
|
832
|
+
* `{handled: true}` wins, rest skipped. Used for `inbound_claim` /
|
|
833
|
+
* `before_dispatch` / `reply_dispatch` where one plugin owns the event.
|
|
834
|
+
* - `"sync"` — sequential synchronous; throws if a handler returned a
|
|
835
|
+
* Promise. Used for write-path-time mutators that must complete before
|
|
836
|
+
* the next operation (`tool_result_persist`, `before_message_write`).
|
|
837
|
+
*/
|
|
838
|
+
export type HookExecutionPattern = "void" | "modifying" | "claiming" | "sync";
|
|
839
|
+
/** Context handed to a background service when the gateway starts it. */
|
|
840
|
+
export interface ServiceStartContext {
|
|
841
|
+
/** Subsystem logger. */
|
|
842
|
+
log: (msg: string, meta?: Record<string, unknown>) => void;
|
|
843
|
+
/** Abort signal — the service must stop cleanly when this fires. */
|
|
844
|
+
signal: AbortSignal;
|
|
845
|
+
}
|
|
846
|
+
/**
|
|
847
|
+
* A long-lived background service started once at gateway boot and stopped on
|
|
848
|
+
* shutdown. Use for pollers, schedulers, webhook listeners, or anything that
|
|
849
|
+
* needs to run alongside the gateway.
|
|
850
|
+
*/
|
|
851
|
+
export interface Service {
|
|
852
|
+
id: string;
|
|
853
|
+
label?: string;
|
|
854
|
+
start(ctx: ServiceStartContext): Promise<void>;
|
|
855
|
+
stop(): Promise<void>;
|
|
856
|
+
}
|
|
857
|
+
/** A handler for a module-registered HTTP route on the gateway's server. */
|
|
858
|
+
export type HttpRouteHandler = (req: IncomingMessage, res: ServerResponse) => void | Promise<void>;
|
|
859
|
+
/** A module-registered HTTP route on the gateway's server. */
|
|
860
|
+
export interface HttpRoute {
|
|
861
|
+
/** HTTP method; defaults to any when omitted. */
|
|
862
|
+
method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
863
|
+
/** Path to match, e.g. `/webhooks/stripe`. Combined with `match`. */
|
|
864
|
+
path: string;
|
|
865
|
+
handler: HttpRouteHandler;
|
|
866
|
+
/**
|
|
867
|
+
* Authentication model for the route:
|
|
868
|
+
* - `"none"` (default for back-compat) — public; the handler is
|
|
869
|
+
* responsible for verifying signatures / HMAC. Use for inbound
|
|
870
|
+
* webhooks that authenticate via provider-signed payloads.
|
|
871
|
+
* - `"operator"` — gateway gates the route on the same operator-auth
|
|
872
|
+
* used for WS clients. Use for plugin-supplied admin endpoints.
|
|
873
|
+
* Plugin authors should set this deliberately — defaulting to `"none"`
|
|
874
|
+
* preserves existing routes but newly-added ones should pick.
|
|
875
|
+
*/
|
|
876
|
+
auth?: "none" | "operator";
|
|
877
|
+
/**
|
|
878
|
+
* Path-matching mode. `"exact"` (default) matches the literal path.
|
|
879
|
+
* `"prefix"` matches everything under the path (e.g. `/webhooks/stripe`
|
|
880
|
+
* also matches `/webhooks/stripe/foo`). Required for multi-event
|
|
881
|
+
* webhook endpoints that route on a sub-path.
|
|
882
|
+
*/
|
|
883
|
+
match?: "exact" | "prefix";
|
|
884
|
+
/**
|
|
885
|
+
* Body size cap in bytes. The gateway rejects requests larger than
|
|
886
|
+
* this with HTTP 413 BEFORE invoking the handler. Defaults to 1 MiB
|
|
887
|
+
* (matches the reference upstream's post-auth limit).
|
|
888
|
+
*/
|
|
889
|
+
maxBodyBytes?: number;
|
|
890
|
+
/**
|
|
891
|
+
* Total request-handling timeout (ms). The gateway sends HTTP 408 if
|
|
892
|
+
* the handler hasn't finished by then. Defaults to 30s.
|
|
893
|
+
*/
|
|
894
|
+
timeoutMs?: number;
|
|
895
|
+
/**
|
|
896
|
+
* Wave O0.8 — opt out of the dispatcher's default-pass session guard.
|
|
897
|
+
* The dispatcher inspects the request body for `sessionKey` / `agentId`
|
|
898
|
+
* fields and refuses cross-agent access by default; routes that take
|
|
899
|
+
* those fields BUT genuinely do not target per-session state (e.g. an
|
|
900
|
+
* incoming webhook whose `agentId` is the receiver, not the actor) can
|
|
901
|
+
* set this to opt out and perform their own auth instead.
|
|
902
|
+
*/
|
|
903
|
+
skipSessionGuard?: boolean;
|
|
904
|
+
}
|
|
905
|
+
/**
|
|
906
|
+
* Caller identity surfaced to gateway-RPC handlers. The gateway populates
|
|
907
|
+
* this from the WS connection's operator-auth state. Plugin handlers can
|
|
908
|
+
* gate on `scopes` to enforce per-method admin / write / read separation
|
|
909
|
+
* without re-implementing the auth check.
|
|
910
|
+
*/
|
|
911
|
+
export interface GatewayCaller {
|
|
912
|
+
/** Stable operator id from the WS connection (`null` for unauthenticated). */
|
|
913
|
+
readonly id: string | null;
|
|
914
|
+
/** Granted scopes — e.g. `["operator.read"]`, `["operator.admin"]`. */
|
|
915
|
+
readonly scopes: ReadonlyArray<string>;
|
|
916
|
+
}
|
|
917
|
+
/** A module-registered gateway RPC method clients can invoke. */
|
|
918
|
+
export interface GatewayMethodHandler {
|
|
919
|
+
/** Method name clients invoke; namespaced by convention, e.g. `whatsapp.status`. */
|
|
920
|
+
name: string;
|
|
921
|
+
/**
|
|
922
|
+
* Handler invoked when a WS client (or local CLI) calls this RPC.
|
|
923
|
+
* Receives parsed params plus an optional caller-identity snapshot —
|
|
924
|
+
* gate sensitive operations on `caller.scopes` to enforce per-method
|
|
925
|
+
* auth when WS is exposed beyond localhost. Existing handlers that
|
|
926
|
+
* only declare `(params)` keep working; new ones can declare
|
|
927
|
+
* `(params, caller)` to read the auth context.
|
|
928
|
+
*/
|
|
929
|
+
handler: (params: unknown, caller?: GatewayCaller) => Promise<unknown> | unknown;
|
|
930
|
+
/**
|
|
931
|
+
* Required scope to invoke this method. The gateway refuses calls from
|
|
932
|
+
* callers without the scope. Unset = anyone authenticated can invoke
|
|
933
|
+
* (read-equivalent). Use `"operator.admin"` for state-changing methods.
|
|
934
|
+
*/
|
|
935
|
+
scope?: "operator.read" | "operator.write" | "operator.admin";
|
|
936
|
+
/**
|
|
937
|
+
* Wave O0.8 — opt out of the dispatcher's default-pass session guard.
|
|
938
|
+
* The dispatcher inspects params for `sessionKey` / `agentId` fields
|
|
939
|
+
* (one level deep) and refuses cross-agent access by default; methods
|
|
940
|
+
* that take those fields BUT genuinely do not target per-session state
|
|
941
|
+
* (e.g. health pings keyed by agentId for filtering) can set this to
|
|
942
|
+
* opt out and perform their own auth instead.
|
|
943
|
+
*/
|
|
944
|
+
skipSessionGuard?: boolean;
|
|
945
|
+
}
|
|
946
|
+
/** A recorded model-provider registration (replayed into Pi via `pi.registerProvider`). */
|
|
947
|
+
export interface ModelProviderRegistration {
|
|
948
|
+
name: string;
|
|
949
|
+
config: unknown;
|
|
950
|
+
}
|
|
951
|
+
/**
|
|
952
|
+
* A recorded provider-auth-method registration. Brigade keeps these in its own
|
|
953
|
+
* registry (not replayed into Pi) because auth resolution happens BEFORE the Pi
|
|
954
|
+
* session boots — `runNonInteractive` is consulted at gateway start, `run`
|
|
955
|
+
* during onboarding. Multiple methods may register against the same
|
|
956
|
+
* `providerName`; iteration order = registration order.
|
|
957
|
+
*/
|
|
958
|
+
export interface ProviderAuthMethodRegistration {
|
|
959
|
+
providerName: string;
|
|
960
|
+
method: ProviderAuthMethod;
|
|
961
|
+
}
|
|
962
|
+
/** A recorded slash-command registration (replayed via `pi.registerCommand`). */
|
|
963
|
+
export interface CommandRegistration {
|
|
964
|
+
name: string;
|
|
965
|
+
options: unknown;
|
|
966
|
+
}
|
|
967
|
+
/** A recorded lifecycle-hook subscription (replayed via `pi.on(event, handler)`). */
|
|
968
|
+
export interface HookRegistration {
|
|
969
|
+
event: string;
|
|
970
|
+
handler: (...args: unknown[]) => unknown;
|
|
971
|
+
/**
|
|
972
|
+
* Higher runs earlier. Pi itself has no priority ordering (handlers fire in
|
|
973
|
+
* registration order), so Brigade sorts its recorded hooks by this value
|
|
974
|
+
* before replaying them into a Pi session — the one ordering lever the seam
|
|
975
|
+
* adds above Pi. Defaults to 0.
|
|
976
|
+
*/
|
|
977
|
+
priority?: number;
|
|
978
|
+
}
|
|
979
|
+
/** Wave K — per-turn context handed to a tool factory at session-init. */
|
|
980
|
+
export interface BrigadeToolFactoryContext {
|
|
981
|
+
/** The agent this Pi session belongs to. */
|
|
982
|
+
readonly agentId: string;
|
|
983
|
+
/** The session key the per-turn lane uses. */
|
|
984
|
+
readonly sessionKey: string;
|
|
985
|
+
}
|
|
986
|
+
/** Wave K — factory shape `b.tool()` accepts in addition to a bare tool. */
|
|
987
|
+
export interface BrigadeToolFactory {
|
|
988
|
+
create: (ctx: BrigadeToolFactoryContext) => AnyBrigadeTool;
|
|
989
|
+
}
|
|
990
|
+
/** Either a pre-built tool or a per-turn factory that produces one. */
|
|
991
|
+
export type BrigadeToolOrFactory = AnyBrigadeTool | BrigadeToolFactory;
|
|
992
|
+
/** A recorded tool registration + its enablement gate. */
|
|
993
|
+
export interface ToolRegistration {
|
|
994
|
+
/**
|
|
995
|
+
* Either a frozen tool (legacy / closure-over-meta path) or a factory
|
|
996
|
+
* whose `create({ agentId, sessionKey })` runs at session-init so the
|
|
997
|
+
* tool can scope state to the active turn. Both shapes coexist; the
|
|
998
|
+
* replay layer in `toPiExtensionFactory` dispatches on the field that's
|
|
999
|
+
* present.
|
|
1000
|
+
*/
|
|
1001
|
+
tool?: AnyBrigadeTool;
|
|
1002
|
+
factory?: BrigadeToolFactory;
|
|
1003
|
+
/**
|
|
1004
|
+
* Toolset grouping (e.g. `"minimal" | "coding" | "messaging" | "full"`)
|
|
1005
|
+
* — the registry filters by the active profile when one is set.
|
|
1006
|
+
*
|
|
1007
|
+
* Wiring: `BrigadeExtensionRegistry.eligibleTools({ toolset })` and
|
|
1008
|
+
* `toolNames({ toolset })` / `toPiExtensionFactory({ toolset })` honour
|
|
1009
|
+
* this field — a tool whose `toolset` differs from the active profile
|
|
1010
|
+
* is dropped from BOTH the unknown-tool allowlist and the Pi tool
|
|
1011
|
+
* surface. Tools registered with no `toolset` (or `"*"`) are universal
|
|
1012
|
+
* and always included, so un-tagged tools never disappear behind a
|
|
1013
|
+
* profile switch. The active profile is sourced from
|
|
1014
|
+
* `agents.defaults.toolset` in `brigade.json`; unset / `"full"` means
|
|
1015
|
+
* "no filter".
|
|
1016
|
+
*/
|
|
1017
|
+
toolset?: string;
|
|
1018
|
+
/** Eligibility gate (skills-style check_fn) — false → tool not offered this run. */
|
|
1019
|
+
eligible?: () => boolean;
|
|
1020
|
+
}
|
|
1021
|
+
/**
|
|
1022
|
+
* The single context a module registers through. Agent-level methods are RECORDED
|
|
1023
|
+
* and replayed into every Pi session; product-level methods register into Brigade's
|
|
1024
|
+
* gateway-level capability registries. (Recording — not live delegation — because
|
|
1025
|
+
* Brigade's gateway is per-turn: agent-level wiring re-applies each session, while
|
|
1026
|
+
* channels/services start once at gateway boot.)
|
|
1027
|
+
*
|
|
1028
|
+
* CAPTURE TRAP — every field on this context is AGENT-SCOPED. Modules that close
|
|
1029
|
+
* over `agentId` / `workspaceDir` / `cwd` / `config` / `moduleConfig` in handlers
|
|
1030
|
+
* passed to `tool()` / `hook()` / `modelProvider()` get those values frozen INTO
|
|
1031
|
+
* the recorded registration, which `toPiExtensionFactory` then replays per Pi
|
|
1032
|
+
* session. The registry-cache layer is keyed by `agentId` precisely so the meta
|
|
1033
|
+
* captured by agent A's modules never leaks into agent B's tools. Modules that
|
|
1034
|
+
* want per-turn / per-session values should read them from the runtime call
|
|
1035
|
+
* (e.g. the Pi tool `ctx`) rather than the context closure.
|
|
1036
|
+
*/
|
|
1037
|
+
export interface BrigadeExtensionContext {
|
|
1038
|
+
/** Active agent id. */
|
|
1039
|
+
readonly agentId: string;
|
|
1040
|
+
/** Resolved workspace dir. */
|
|
1041
|
+
readonly workspaceDir: string;
|
|
1042
|
+
/** Process cwd. */
|
|
1043
|
+
readonly cwd: string;
|
|
1044
|
+
/** The active Brigade config (read-only to modules). */
|
|
1045
|
+
readonly config: BrigadeConfig;
|
|
1046
|
+
/**
|
|
1047
|
+
* This module's own validated config block (`extensions.entries[id].config`),
|
|
1048
|
+
* checked against the module's `configSchema` by the loader before `register`
|
|
1049
|
+
* runs. `undefined` when the module declared no config / set none.
|
|
1050
|
+
*/
|
|
1051
|
+
readonly moduleConfig: unknown;
|
|
1052
|
+
/**
|
|
1053
|
+
* Register a tool — either a pre-built `AnyBrigadeTool` (legacy path; the
|
|
1054
|
+
* module closes over agent meta itself) or a `BrigadeToolFactory` whose
|
|
1055
|
+
* `create({ agentId, sessionKey })` runs once per Pi-session init so the
|
|
1056
|
+
* tool can scope state to the active turn (Wave K).
|
|
1057
|
+
*/
|
|
1058
|
+
tool(tool: BrigadeToolOrFactory, opts?: {
|
|
1059
|
+
toolset?: string;
|
|
1060
|
+
eligible?: () => boolean;
|
|
1061
|
+
}): void;
|
|
1062
|
+
/**
|
|
1063
|
+
* Subscribe to a Pi lifecycle event (replayed via `pi.on`). `priority` orders
|
|
1064
|
+
* Brigade's recorded hooks before replay (higher = earlier; Pi has no native
|
|
1065
|
+
* priority). NOTE: a `before_agent_start` handler may NOT replace the system
|
|
1066
|
+
* prompt — Brigade pins the persona, so any `systemPrompt` returned from that
|
|
1067
|
+
* event is stripped before Pi sees it (the rest of the result is kept).
|
|
1068
|
+
*/
|
|
1069
|
+
hook(event: string, handler: (...args: unknown[]) => unknown, opts?: {
|
|
1070
|
+
priority?: number;
|
|
1071
|
+
}): void;
|
|
1072
|
+
command(name: string, options: unknown): void;
|
|
1073
|
+
modelProvider(name: string, config: unknown): void;
|
|
1074
|
+
/**
|
|
1075
|
+
* Register a provider auth method (API key / OAuth / CLI token / custom).
|
|
1076
|
+
* `providerName` is the model provider id the method belongs to (e.g.
|
|
1077
|
+
* `"anthropic"`); a single provider can register multiple methods
|
|
1078
|
+
* (Anthropic ships API-key + OAuth + CLI). The onboarding wizard offers
|
|
1079
|
+
* each method the operator can satisfy; the runtime resolves the first
|
|
1080
|
+
* viable one at session start. Today this is shape-only — the consumer-
|
|
1081
|
+
* side resolver lands when the first OAuth provider ships as a plugin.
|
|
1082
|
+
*/
|
|
1083
|
+
providerAuthMethod(providerName: string, method: ProviderAuthMethod): void;
|
|
1084
|
+
channel(adapter: ChannelAdapter): void;
|
|
1085
|
+
/** Register a channel command (`/name`) handled before the LLM. */
|
|
1086
|
+
channelCommand(command: ChannelCommand): void;
|
|
1087
|
+
tts(provider: SpeechProvider): void;
|
|
1088
|
+
stt(provider: TranscriptionProvider): void;
|
|
1089
|
+
mediaGen(provider: MediaGenProvider): void;
|
|
1090
|
+
/** Register an alternative memory backend. Only one is active at a time
|
|
1091
|
+
* (picked via `extensions.slots.memory` config knob). */
|
|
1092
|
+
memory(capability: MemoryCapability): void;
|
|
1093
|
+
/** Register a memory embedding provider (for vector backends). */
|
|
1094
|
+
memoryEmbeddingProvider(provider: MemoryEmbeddingProvider): void;
|
|
1095
|
+
/** Register an alternative context engine (`extensions.slots.contextEngine` picks). */
|
|
1096
|
+
contextEngine(engine: ContextEngineCapability): void;
|
|
1097
|
+
/** Register an alternative compaction strategy. */
|
|
1098
|
+
compactionProvider(provider: CompactionProvider): void;
|
|
1099
|
+
/** Register an alternative agent harness shape (Codex / Claude-Code / etc). */
|
|
1100
|
+
agentHarness(harness: AgentHarness): void;
|
|
1101
|
+
/**
|
|
1102
|
+
* Register a web-search provider. Multiple providers can coexist; the
|
|
1103
|
+
* resolver picks based on `tools.web.search.provider` config OR the
|
|
1104
|
+
* first-credentialed candidate in `autoDetectOrder` priority. Each
|
|
1105
|
+
* provider's `createTool(ctx)` factory runs per-session to inject its
|
|
1106
|
+
* `web_search` tool into the agent's toolset.
|
|
1107
|
+
*/
|
|
1108
|
+
webSearch(provider: WebSearchProvider): void;
|
|
1109
|
+
/**
|
|
1110
|
+
* Register a web-fetch provider. Same factory shape as `webSearch`. These
|
|
1111
|
+
* act as the FALLBACK when the built-in raw-HTTP `fetch_url` returns
|
|
1112
|
+
* non-OK or errors (JS-heavy pages, bot-blocked sites). Operators ship
|
|
1113
|
+
* Firecrawl / Jina-Reader / Browserless as fallbacks.
|
|
1114
|
+
*/
|
|
1115
|
+
webFetch(provider: WebFetchProvider): void;
|
|
1116
|
+
integration(integration: Integration): void;
|
|
1117
|
+
/** Register a long-lived background service (started at boot, stopped on shutdown). */
|
|
1118
|
+
service(service: Service): void;
|
|
1119
|
+
/** Register an HTTP route on the gateway's server. */
|
|
1120
|
+
httpRoute(route: HttpRoute): void;
|
|
1121
|
+
/** Register a gateway RPC method clients can invoke. */
|
|
1122
|
+
gatewayMethod(method: GatewayMethodHandler): void;
|
|
1123
|
+
}
|
|
1124
|
+
/**
|
|
1125
|
+
* Optional declarative manifest a module can ship alongside `register()` to
|
|
1126
|
+
* surface its capability metadata WITHOUT requiring the module to be loaded.
|
|
1127
|
+
* Today the field is informational; the future discovery planner will consume
|
|
1128
|
+
* it to decide which modules to load for a given trigger (saving cold-boot
|
|
1129
|
+
* cost on installs with many modules).
|
|
1130
|
+
*/
|
|
1131
|
+
export interface BrigadeModuleManifest {
|
|
1132
|
+
id: string;
|
|
1133
|
+
name?: string;
|
|
1134
|
+
description?: string;
|
|
1135
|
+
version?: string;
|
|
1136
|
+
/** Whether bundled-origin modules are active by default (defaults to true). */
|
|
1137
|
+
enabledByDefault?: boolean;
|
|
1138
|
+
/** Capabilities this module CONTRIBUTES — used by the future planner. */
|
|
1139
|
+
provides?: {
|
|
1140
|
+
tools?: string[];
|
|
1141
|
+
hooks?: string[];
|
|
1142
|
+
channels?: string[];
|
|
1143
|
+
providers?: string[];
|
|
1144
|
+
memoryBackends?: string[];
|
|
1145
|
+
contextEngines?: string[];
|
|
1146
|
+
agentHarnesses?: string[];
|
|
1147
|
+
};
|
|
1148
|
+
/** Activation triggers — the planner only loads this module when one fires. */
|
|
1149
|
+
activation?: {
|
|
1150
|
+
onChannels?: string[];
|
|
1151
|
+
onProviders?: string[];
|
|
1152
|
+
onCommands?: string[];
|
|
1153
|
+
onCapabilities?: string[];
|
|
1154
|
+
};
|
|
1155
|
+
}
|
|
1156
|
+
/**
|
|
1157
|
+
* A Brigade module — the unit of extension. One module may register any mix of
|
|
1158
|
+
* tools/hooks/commands/providers (agent-level) and channels/voice/media/integrations
|
|
1159
|
+
* (product-level). Discovered + loaded by the extension loader; gated by `eligible`
|
|
1160
|
+
* + config allow/deny + `requiresEnv`.
|
|
1161
|
+
*/
|
|
1162
|
+
export interface BrigadeModule {
|
|
1163
|
+
id: string;
|
|
1164
|
+
/**
|
|
1165
|
+
* Optional declarative manifest — see `BrigadeModuleManifest`. Surfaces
|
|
1166
|
+
* what this module provides + when to activate it WITHOUT loading the
|
|
1167
|
+
* module's full register code. Future discovery planner will consume
|
|
1168
|
+
* this; today it's informational.
|
|
1169
|
+
*/
|
|
1170
|
+
manifest?: BrigadeModuleManifest;
|
|
1171
|
+
/** Env vars required for this module to load at all. */
|
|
1172
|
+
requiresEnv?: string[];
|
|
1173
|
+
/**
|
|
1174
|
+
* Optional TypeBox schema for this module's `extensions.entries[id].config`.
|
|
1175
|
+
* When present the loader validates the config before `register` runs and
|
|
1176
|
+
* skips the module (non-fatally) if it doesn't match.
|
|
1177
|
+
*/
|
|
1178
|
+
configSchema?: TSchema;
|
|
1179
|
+
/** Optional gate evaluated at load (os/bins/config, skills-style). */
|
|
1180
|
+
eligible?: (ctx: {
|
|
1181
|
+
config: BrigadeConfig;
|
|
1182
|
+
env: NodeJS.ProcessEnv;
|
|
1183
|
+
}) => boolean;
|
|
1184
|
+
/** Register this module's capabilities. */
|
|
1185
|
+
register(b: BrigadeExtensionContext): void | Promise<void>;
|
|
1186
|
+
/**
|
|
1187
|
+
* Optional reload hook. Called when the gateway reloads extensions so a module
|
|
1188
|
+
* can refresh in-memory state. Product capabilities (channels/services) are
|
|
1189
|
+
* stopped + restarted by the gateway around this regardless.
|
|
1190
|
+
*/
|
|
1191
|
+
reload?(): void | Promise<void>;
|
|
1192
|
+
}
|
|
1193
|
+
/** Identity helper for authoring a module (mirrors Pi's `defineTool`). */
|
|
1194
|
+
export declare function defineModule(module: BrigadeModule): BrigadeModule;
|
|
1195
|
+
//# sourceMappingURL=types.d.ts.map
|