@mastra/code-sdk 0.0.0-aggregate-trace-20261015182851
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.md +32 -0
- package/README.md +284 -0
- package/dist/acp/agent.d.ts +48 -0
- package/dist/acp/agent.d.ts.map +1 -0
- package/dist/acp/agent.js +416 -0
- package/dist/acp/agent.js.map +1 -0
- package/dist/acp/errors.d.ts +3 -0
- package/dist/acp/errors.d.ts.map +1 -0
- package/dist/acp/errors.js +14 -0
- package/dist/acp/errors.js.map +1 -0
- package/dist/acp/event-mapper.d.ts +28 -0
- package/dist/acp/event-mapper.d.ts.map +1 -0
- package/dist/acp/event-mapper.js +279 -0
- package/dist/acp/event-mapper.js.map +1 -0
- package/dist/acp/index.d.ts +9 -0
- package/dist/acp/index.d.ts.map +1 -0
- package/dist/acp/index.js +24 -0
- package/dist/acp/index.js.map +1 -0
- package/dist/acp/runtime.d.ts +5 -0
- package/dist/acp/runtime.d.ts.map +1 -0
- package/dist/acp/runtime.js +91 -0
- package/dist/acp/runtime.js.map +1 -0
- package/dist/acp/server.d.ts +4 -0
- package/dist/acp/server.d.ts.map +1 -0
- package/dist/acp/server.js +38 -0
- package/dist/acp/server.js.map +1 -0
- package/dist/acp/skills.d.ts +6 -0
- package/dist/acp/skills.d.ts.map +1 -0
- package/dist/acp/skills.js +33 -0
- package/dist/acp/skills.js.map +1 -0
- package/dist/acp.d.ts +2 -0
- package/dist/acp.d.ts.map +1 -0
- package/dist/acp.js +2 -0
- package/dist/agent-connections/messaging-processor.d.ts +17 -0
- package/dist/agent-connections/messaging-processor.d.ts.map +1 -0
- package/dist/agent-connections/messaging-processor.js +134 -0
- package/dist/agent-connections/messaging-processor.js.map +1 -0
- package/dist/agent-connections/ownership.d.ts +24 -0
- package/dist/agent-connections/ownership.d.ts.map +1 -0
- package/dist/agent-connections/ownership.js +99 -0
- package/dist/agent-connections/ownership.js.map +1 -0
- package/dist/agent-connections/registry.d.ts +20 -0
- package/dist/agent-connections/registry.d.ts.map +1 -0
- package/dist/agent-connections/registry.js +170 -0
- package/dist/agent-connections/registry.js.map +1 -0
- package/dist/agent-connections/session-advertisement.d.ts +27 -0
- package/dist/agent-connections/session-advertisement.d.ts.map +1 -0
- package/dist/agent-connections/session-advertisement.js +89 -0
- package/dist/agent-connections/session-advertisement.js.map +1 -0
- package/dist/agent-connections/signal-provider.d.ts +141 -0
- package/dist/agent-connections/signal-provider.d.ts.map +1 -0
- package/dist/agent-connections/signal-provider.js +38 -0
- package/dist/agent-connections/signal-provider.js.map +1 -0
- package/dist/agent-connections/state-processor.d.ts +23 -0
- package/dist/agent-connections/state-processor.d.ts.map +1 -0
- package/dist/agent-connections/state-processor.js +273 -0
- package/dist/agent-connections/state-processor.js.map +1 -0
- package/dist/agent-connections/thread-state.d.ts +41 -0
- package/dist/agent-connections/thread-state.d.ts.map +1 -0
- package/dist/agent-connections/thread-state.js +160 -0
- package/dist/agent-connections/thread-state.js.map +1 -0
- package/dist/agent-connections/tools.d.ts +133 -0
- package/dist/agent-connections/tools.d.ts.map +1 -0
- package/dist/agent-connections/tools.js +552 -0
- package/dist/agent-connections/tools.js.map +1 -0
- package/dist/agent-connections/types.d.ts +99 -0
- package/dist/agent-connections/types.d.ts.map +1 -0
- package/dist/agent-connections/types.js +7 -0
- package/dist/agent-connections/types.js.map +1 -0
- package/dist/agent-connections/untrusted-text.d.ts +5 -0
- package/dist/agent-connections/untrusted-text.d.ts.map +1 -0
- package/dist/agent-connections/untrusted-text.js +22 -0
- package/dist/agent-connections/untrusted-text.js.map +1 -0
- package/dist/agents/background-completion-events.d.ts +16 -0
- package/dist/agents/background-completion-events.d.ts.map +1 -0
- package/dist/agents/background-completion-events.js +19 -0
- package/dist/agents/background-completion-events.js.map +1 -0
- package/dist/agents/background-completion.d.ts +9 -0
- package/dist/agents/background-completion.d.ts.map +1 -0
- package/dist/agents/background-completion.js +59 -0
- package/dist/agents/background-completion.js.map +1 -0
- package/dist/agents/context-audit.d.ts +84 -0
- package/dist/agents/context-audit.d.ts.map +1 -0
- package/dist/agents/context-audit.js +118 -0
- package/dist/agents/context-audit.js.map +1 -0
- package/dist/agents/credential-resolver.d.ts +67 -0
- package/dist/agents/credential-resolver.d.ts.map +1 -0
- package/dist/agents/credential-resolver.js +136 -0
- package/dist/agents/credential-resolver.js.map +1 -0
- package/dist/agents/custom-provider-source.d.ts +35 -0
- package/dist/agents/custom-provider-source.d.ts.map +1 -0
- package/dist/agents/custom-provider-source.js +25 -0
- package/dist/agents/custom-provider-source.js.map +1 -0
- package/dist/agents/instructions.d.ts +40 -0
- package/dist/agents/instructions.d.ts.map +1 -0
- package/dist/agents/instructions.js +63 -0
- package/dist/agents/instructions.js.map +1 -0
- package/dist/agents/mastracode-gateway.d.ts +76 -0
- package/dist/agents/mastracode-gateway.d.ts.map +1 -0
- package/dist/agents/mastracode-gateway.js +434 -0
- package/dist/agents/mastracode-gateway.js.map +1 -0
- package/dist/agents/memory.d.ts +39 -0
- package/dist/agents/memory.d.ts.map +1 -0
- package/dist/agents/memory.js +266 -0
- package/dist/agents/memory.js.map +1 -0
- package/dist/agents/model.d.ts +123 -0
- package/dist/agents/model.d.ts.map +1 -0
- package/dist/agents/model.js +295 -0
- package/dist/agents/model.js.map +1 -0
- package/dist/agents/modes/build.d.ts +12 -0
- package/dist/agents/modes/build.d.ts.map +1 -0
- package/dist/agents/modes/build.js +36 -0
- package/dist/agents/modes/build.js.map +1 -0
- package/dist/agents/modes/explore.d.ts +10 -0
- package/dist/agents/modes/explore.d.ts.map +1 -0
- package/dist/agents/modes/explore.js +28 -0
- package/dist/agents/modes/explore.js.map +1 -0
- package/dist/agents/modes/plan.d.ts +8 -0
- package/dist/agents/modes/plan.d.ts.map +1 -0
- package/dist/agents/modes/plan.js +46 -0
- package/dist/agents/modes/plan.js.map +1 -0
- package/dist/agents/prompts/agent-instructions.d.ts +99 -0
- package/dist/agents/prompts/agent-instructions.d.ts.map +1 -0
- package/dist/agents/prompts/agent-instructions.js +275 -0
- package/dist/agents/prompts/agent-instructions.js.map +1 -0
- package/dist/agents/prompts/build.d.ts +12 -0
- package/dist/agents/prompts/build.d.ts.map +1 -0
- package/dist/agents/prompts/build.js +76 -0
- package/dist/agents/prompts/build.js.map +1 -0
- package/dist/agents/prompts/fast.d.ts +5 -0
- package/dist/agents/prompts/fast.d.ts.map +1 -0
- package/dist/agents/prompts/fast.js +26 -0
- package/dist/agents/prompts/fast.js.map +1 -0
- package/dist/agents/prompts/index.d.ts +54 -0
- package/dist/agents/prompts/index.d.ts.map +1 -0
- package/dist/agents/prompts/index.js +127 -0
- package/dist/agents/prompts/index.js.map +1 -0
- package/dist/agents/prompts/model.d.ts +5 -0
- package/dist/agents/prompts/model.d.ts.map +1 -0
- package/dist/agents/prompts/model.js +23 -0
- package/dist/agents/prompts/model.js.map +1 -0
- package/dist/agents/prompts/plan.d.ts +8 -0
- package/dist/agents/prompts/plan.d.ts.map +1 -0
- package/dist/agents/prompts/plan.js +129 -0
- package/dist/agents/prompts/plan.js.map +1 -0
- package/dist/agents/prompts/tool-guidance.d.ts +18 -0
- package/dist/agents/prompts/tool-guidance.d.ts.map +1 -0
- package/dist/agents/prompts/tool-guidance.js +181 -0
- package/dist/agents/prompts/tool-guidance.js.map +1 -0
- package/dist/agents/sandbox-filesystem.d.ts +151 -0
- package/dist/agents/sandbox-filesystem.d.ts.map +1 -0
- package/dist/agents/sandbox-filesystem.js +581 -0
- package/dist/agents/sandbox-filesystem.js.map +1 -0
- package/dist/agents/subagents/execute.d.ts +3 -0
- package/dist/agents/subagents/execute.d.ts.map +1 -0
- package/dist/agents/subagents/execute.js +27 -0
- package/dist/agents/subagents/execute.js.map +1 -0
- package/dist/agents/subagents/explore.d.ts +3 -0
- package/dist/agents/subagents/explore.d.ts.map +1 -0
- package/dist/agents/subagents/explore.js +18 -0
- package/dist/agents/subagents/explore.js.map +1 -0
- package/dist/agents/subagents/plan.d.ts +3 -0
- package/dist/agents/subagents/plan.d.ts.map +1 -0
- package/dist/agents/subagents/plan.js +18 -0
- package/dist/agents/subagents/plan.js.map +1 -0
- package/dist/agents/thread-caveman-state.d.ts +17 -0
- package/dist/agents/thread-caveman-state.d.ts.map +1 -0
- package/dist/agents/thread-caveman-state.js +107 -0
- package/dist/agents/thread-caveman-state.js.map +1 -0
- package/dist/agents/tool-availability.d.ts +12 -0
- package/dist/agents/tool-availability.d.ts.map +1 -0
- package/dist/agents/tool-availability.js +129 -0
- package/dist/agents/tool-availability.js.map +1 -0
- package/dist/agents/tools.d.ts +37 -0
- package/dist/agents/tools.d.ts.map +1 -0
- package/dist/agents/tools.js +131 -0
- package/dist/agents/tools.js.map +1 -0
- package/dist/agents/workflow-builder-agent.d.ts +2 -0
- package/dist/agents/workflow-builder-agent.d.ts.map +1 -0
- package/dist/agents/workflow-builder-agent.js +82 -0
- package/dist/agents/workflow-builder-agent.js.map +1 -0
- package/dist/agents/workspace.d.ts +33 -0
- package/dist/agents/workspace.d.ts.map +1 -0
- package/dist/agents/workspace.js +208 -0
- package/dist/agents/workspace.js.map +1 -0
- package/dist/analytics.d.ts +18 -0
- package/dist/analytics.d.ts.map +1 -0
- package/dist/analytics.js +162 -0
- package/dist/analytics.js.map +1 -0
- package/dist/auth/account-rotation-processor.d.ts +182 -0
- package/dist/auth/account-rotation-processor.d.ts.map +1 -0
- package/dist/auth/account-rotation-processor.js +609 -0
- package/dist/auth/account-rotation-processor.js.map +1 -0
- package/dist/auth/account-routing-context.d.ts +13 -0
- package/dist/auth/account-routing-context.d.ts.map +1 -0
- package/dist/auth/account-routing-context.js +41 -0
- package/dist/auth/account-routing-context.js.map +1 -0
- package/dist/auth/authorization-input.d.ts +16 -0
- package/dist/auth/authorization-input.d.ts.map +1 -0
- package/dist/auth/authorization-input.js +42 -0
- package/dist/auth/authorization-input.js.map +1 -0
- package/dist/auth/device-code.d.ts +93 -0
- package/dist/auth/device-code.d.ts.map +1 -0
- package/dist/auth/device-code.js +129 -0
- package/dist/auth/device-code.js.map +1 -0
- package/dist/auth/index.d.ts +13 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +9 -0
- package/dist/auth/pkce.d.ts +13 -0
- package/dist/auth/pkce.d.ts.map +1 -0
- package/dist/auth/pkce.js +32 -0
- package/dist/auth/pkce.js.map +1 -0
- package/dist/auth/provider-auth-error.d.ts +12 -0
- package/dist/auth/provider-auth-error.d.ts.map +1 -0
- package/dist/auth/provider-auth-error.js +16 -0
- package/dist/auth/provider-auth-error.js.map +1 -0
- package/dist/auth/providers/anthropic.d.ts +40 -0
- package/dist/auth/providers/anthropic.d.ts.map +1 -0
- package/dist/auth/providers/anthropic.js +120 -0
- package/dist/auth/providers/anthropic.js.map +1 -0
- package/dist/auth/providers/github-copilot.d.ts +154 -0
- package/dist/auth/providers/github-copilot.d.ts.map +1 -0
- package/dist/auth/providers/github-copilot.js +362 -0
- package/dist/auth/providers/github-copilot.js.map +1 -0
- package/dist/auth/providers/kimi-coding.d.ts +38 -0
- package/dist/auth/providers/kimi-coding.d.ts.map +1 -0
- package/dist/auth/providers/kimi-coding.js +228 -0
- package/dist/auth/providers/kimi-coding.js.map +1 -0
- package/dist/auth/providers/openai-codex.d.ts +141 -0
- package/dist/auth/providers/openai-codex.d.ts.map +1 -0
- package/dist/auth/providers/openai-codex.js +533 -0
- package/dist/auth/providers/openai-codex.js.map +1 -0
- package/dist/auth/providers/xai.d.ts +64 -0
- package/dist/auth/providers/xai.d.ts.map +1 -0
- package/dist/auth/providers/xai.js +226 -0
- package/dist/auth/providers/xai.js.map +1 -0
- package/dist/auth/storage.d.ts +214 -0
- package/dist/auth/storage.d.ts.map +1 -0
- package/dist/auth/storage.js +774 -0
- package/dist/auth/storage.js.map +1 -0
- package/dist/auth/types.d.ts +164 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +1 -0
- package/dist/clipboard/index.d.ts +26 -0
- package/dist/clipboard/index.d.ts.map +1 -0
- package/dist/clipboard/index.js +226 -0
- package/dist/clipboard/index.js.map +1 -0
- package/dist/constants.d.ts +12 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +20 -0
- package/dist/constants.js.map +1 -0
- package/dist/error-classification.d.ts +10 -0
- package/dist/error-classification.d.ts.map +1 -0
- package/dist/error-classification.js +22 -0
- package/dist/error-classification.js.map +1 -0
- package/dist/evals/context-builder.d.ts +41 -0
- package/dist/evals/context-builder.d.ts.map +1 -0
- package/dist/evals/context-builder.js +161 -0
- package/dist/evals/context-builder.js.map +1 -0
- package/dist/evals/index.d.ts +4 -0
- package/dist/evals/index.d.ts.map +1 -0
- package/dist/evals/index.js +5 -0
- package/dist/evals/scorers/classify-command.d.ts +31 -0
- package/dist/evals/scorers/classify-command.d.ts.map +1 -0
- package/dist/evals/scorers/classify-command.js +73 -0
- package/dist/evals/scorers/classify-command.js.map +1 -0
- package/dist/evals/scorers/efficiency.d.ts +44 -0
- package/dist/evals/scorers/efficiency.d.ts.map +1 -0
- package/dist/evals/scorers/efficiency.js +259 -0
- package/dist/evals/scorers/efficiency.js.map +1 -0
- package/dist/evals/scorers/extract-tools.d.ts +25 -0
- package/dist/evals/scorers/extract-tools.d.ts.map +1 -0
- package/dist/evals/scorers/extract-tools.js +60 -0
- package/dist/evals/scorers/extract-tools.js.map +1 -0
- package/dist/evals/scorers/index.d.ts +3 -0
- package/dist/evals/scorers/index.d.ts.map +1 -0
- package/dist/evals/scorers/index.js +3 -0
- package/dist/evals/scorers/outcome.d.ts +49 -0
- package/dist/evals/scorers/outcome.d.ts.map +1 -0
- package/dist/evals/scorers/outcome.js +347 -0
- package/dist/evals/scorers/outcome.js.map +1 -0
- package/dist/experimental-agent.d.ts +11 -0
- package/dist/experimental-agent.d.ts.map +1 -0
- package/dist/experimental-agent.js +36 -0
- package/dist/experimental-agent.js.map +1 -0
- package/dist/goal-manager.d.ts +114 -0
- package/dist/goal-manager.d.ts.map +1 -0
- package/dist/goal-manager.js +354 -0
- package/dist/goal-manager.js.map +1 -0
- package/dist/goal-signal.d.ts +14 -0
- package/dist/goal-signal.d.ts.map +1 -0
- package/dist/goal-signal.js +17 -0
- package/dist/goal-signal.js.map +1 -0
- package/dist/headless/cli.d.ts +48 -0
- package/dist/headless/cli.d.ts.map +1 -0
- package/dist/headless/cli.js +239 -0
- package/dist/headless/cli.js.map +1 -0
- package/dist/headless/flags.d.ts +33 -0
- package/dist/headless/flags.d.ts.map +1 -0
- package/dist/headless/flags.js +203 -0
- package/dist/headless/flags.js.map +1 -0
- package/dist/headless/format.d.ts +39 -0
- package/dist/headless/format.d.ts.map +1 -0
- package/dist/headless/format.js +85 -0
- package/dist/headless/format.js.map +1 -0
- package/dist/headless/index.d.ts +25 -0
- package/dist/headless/index.d.ts.map +1 -0
- package/dist/headless/index.js +6 -0
- package/dist/headless/policy.d.ts +17 -0
- package/dist/headless/policy.d.ts.map +1 -0
- package/dist/headless/policy.js +42 -0
- package/dist/headless/policy.js.map +1 -0
- package/dist/headless/run-mc.d.ts +7 -0
- package/dist/headless/run-mc.d.ts.map +1 -0
- package/dist/headless/run-mc.js +408 -0
- package/dist/headless/run-mc.js.map +1 -0
- package/dist/headless/types.d.ts +174 -0
- package/dist/headless/types.d.ts.map +1 -0
- package/dist/headless/types.js +19 -0
- package/dist/headless/types.js.map +1 -0
- package/dist/hooks/config.d.ts +11 -0
- package/dist/hooks/config.d.ts.map +1 -0
- package/dist/hooks/config.js +80 -0
- package/dist/hooks/config.js.map +1 -0
- package/dist/hooks/executor.d.ts +13 -0
- package/dist/hooks/executor.d.ts.map +1 -0
- package/dist/hooks/executor.js +129 -0
- package/dist/hooks/executor.js.map +1 -0
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +5 -0
- package/dist/hooks/manager.d.ts +54 -0
- package/dist/hooks/manager.d.ts.map +1 -0
- package/dist/hooks/manager.js +241 -0
- package/dist/hooks/manager.js.map +1 -0
- package/dist/hooks/types.d.ts +172 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +8 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/index.d.ts +463 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1305 -0
- package/dist/index.js.map +1 -0
- package/dist/ipc/ipc-reporter.d.ts +14 -0
- package/dist/ipc/ipc-reporter.d.ts.map +1 -0
- package/dist/ipc/ipc-reporter.js +21 -0
- package/dist/ipc/ipc-reporter.js.map +1 -0
- package/dist/knowledge-inspector.d.ts +123 -0
- package/dist/knowledge-inspector.d.ts.map +1 -0
- package/dist/knowledge-inspector.js +516 -0
- package/dist/knowledge-inspector.js.map +1 -0
- package/dist/knowledge-scope.d.ts +35 -0
- package/dist/knowledge-scope.d.ts.map +1 -0
- package/dist/knowledge-scope.js +47 -0
- package/dist/knowledge-scope.js.map +1 -0
- package/dist/lsp/client.d.ts +56 -0
- package/dist/lsp/client.d.ts.map +1 -0
- package/dist/lsp/client.js +251 -0
- package/dist/lsp/client.js.map +1 -0
- package/dist/lsp/index.d.ts +4 -0
- package/dist/lsp/index.d.ts.map +1 -0
- package/dist/lsp/index.js +4 -0
- package/dist/lsp/language.d.ts +9 -0
- package/dist/lsp/language.d.ts.map +1 -0
- package/dist/lsp/language.js +44 -0
- package/dist/lsp/language.js.map +1 -0
- package/dist/lsp/manager.d.ts +34 -0
- package/dist/lsp/manager.d.ts.map +1 -0
- package/dist/lsp/manager.js +82 -0
- package/dist/lsp/manager.js.map +1 -0
- package/dist/lsp/server.d.ts +27 -0
- package/dist/lsp/server.d.ts.map +1 -0
- package/dist/lsp/server.js +159 -0
- package/dist/lsp/server.js.map +1 -0
- package/dist/lsp/workspace.d.ts +9 -0
- package/dist/lsp/workspace.d.ts.map +1 -0
- package/dist/lsp/workspace.js +55 -0
- package/dist/lsp/workspace.js.map +1 -0
- package/dist/mcp/config.d.ts +77 -0
- package/dist/mcp/config.d.ts.map +1 -0
- package/dist/mcp/config.js +316 -0
- package/dist/mcp/config.js.map +1 -0
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +3 -0
- package/dist/mcp/manager.d.ts +102 -0
- package/dist/mcp/manager.d.ts.map +1 -0
- package/dist/mcp/manager.js +650 -0
- package/dist/mcp/manager.js.map +1 -0
- package/dist/mcp/state.d.ts +35 -0
- package/dist/mcp/state.d.ts.map +1 -0
- package/dist/mcp/state.js +97 -0
- package/dist/mcp/state.js.map +1 -0
- package/dist/mcp/types.d.ts +139 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +1 -0
- package/dist/onboarding/custom-packs.d.ts +7 -0
- package/dist/onboarding/custom-packs.d.ts.map +1 -0
- package/dist/onboarding/custom-packs.js +20 -0
- package/dist/onboarding/custom-packs.js.map +1 -0
- package/dist/onboarding/custom-providers.d.ts +4 -0
- package/dist/onboarding/custom-providers.d.ts.map +1 -0
- package/dist/onboarding/custom-providers.js +30 -0
- package/dist/onboarding/custom-providers.js.map +1 -0
- package/dist/onboarding/index.d.ts +5 -0
- package/dist/onboarding/index.d.ts.map +1 -0
- package/dist/onboarding/index.js +3 -0
- package/dist/onboarding/om-settings.d.ts +47 -0
- package/dist/onboarding/om-settings.d.ts.map +1 -0
- package/dist/onboarding/om-settings.js +83 -0
- package/dist/onboarding/om-settings.js.map +1 -0
- package/dist/onboarding/pack-activation.d.ts +52 -0
- package/dist/onboarding/pack-activation.d.ts.map +1 -0
- package/dist/onboarding/pack-activation.js +108 -0
- package/dist/onboarding/pack-activation.js.map +1 -0
- package/dist/onboarding/packs.d.ts +102 -0
- package/dist/onboarding/packs.d.ts.map +1 -0
- package/dist/onboarding/packs.js +278 -0
- package/dist/onboarding/packs.js.map +1 -0
- package/dist/onboarding/settings.d.ts +538 -0
- package/dist/onboarding/settings.d.ts.map +1 -0
- package/dist/onboarding/settings.js +1060 -0
- package/dist/onboarding/settings.js.map +1 -0
- package/dist/permissions.d.ts +55 -0
- package/dist/permissions.d.ts.map +1 -0
- package/dist/permissions.js +142 -0
- package/dist/permissions.js.map +1 -0
- package/dist/plugin.d.ts +156 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +30 -0
- package/dist/plugin.js.map +1 -0
- package/dist/plugins/dependencies.d.ts +9 -0
- package/dist/plugins/dependencies.d.ts.map +1 -0
- package/dist/plugins/dependencies.js +87 -0
- package/dist/plugins/dependencies.js.map +1 -0
- package/dist/plugins/install.d.ts +21 -0
- package/dist/plugins/install.d.ts.map +1 -0
- package/dist/plugins/install.js +190 -0
- package/dist/plugins/install.js.map +1 -0
- package/dist/plugins/loader.d.ts +19 -0
- package/dist/plugins/loader.d.ts.map +1 -0
- package/dist/plugins/loader.js +260 -0
- package/dist/plugins/loader.js.map +1 -0
- package/dist/plugins/manager.d.ts +98 -0
- package/dist/plugins/manager.d.ts.map +1 -0
- package/dist/plugins/manager.js +456 -0
- package/dist/plugins/manager.js.map +1 -0
- package/dist/plugins/manifest.d.ts +14 -0
- package/dist/plugins/manifest.d.ts.map +1 -0
- package/dist/plugins/manifest.js +50 -0
- package/dist/plugins/manifest.js.map +1 -0
- package/dist/plugins/package-link.d.ts +3 -0
- package/dist/plugins/package-link.d.ts.map +1 -0
- package/dist/plugins/package-link.js +61 -0
- package/dist/plugins/package-link.js.map +1 -0
- package/dist/plugins/paths.d.ts +10 -0
- package/dist/plugins/paths.d.ts.map +1 -0
- package/dist/plugins/paths.js +25 -0
- package/dist/plugins/paths.js.map +1 -0
- package/dist/plugins/registry.d.ts +8 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +112 -0
- package/dist/plugins/registry.js.map +1 -0
- package/dist/plugins/scaffold.d.ts +10 -0
- package/dist/plugins/scaffold.d.ts.map +1 -0
- package/dist/plugins/scaffold.js +116 -0
- package/dist/plugins/scaffold.js.map +1 -0
- package/dist/plugins/signal-lane.d.ts +58 -0
- package/dist/plugins/signal-lane.d.ts.map +1 -0
- package/dist/plugins/signal-lane.js +166 -0
- package/dist/plugins/signal-lane.js.map +1 -0
- package/dist/plugins/types.d.ts +81 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +1 -0
- package/dist/process-memory-diagnostics.d.ts +135 -0
- package/dist/process-memory-diagnostics.d.ts.map +1 -0
- package/dist/process-memory-diagnostics.js +499 -0
- package/dist/process-memory-diagnostics.js.map +1 -0
- package/dist/processors/plan-rejection-abort.d.ts +12 -0
- package/dist/processors/plan-rejection-abort.d.ts.map +1 -0
- package/dist/processors/plan-rejection-abort.js +54 -0
- package/dist/processors/plan-rejection-abort.js.map +1 -0
- package/dist/providers/amazon-bedrock-gateway.d.ts +47 -0
- package/dist/providers/amazon-bedrock-gateway.d.ts.map +1 -0
- package/dist/providers/amazon-bedrock-gateway.js +144 -0
- package/dist/providers/amazon-bedrock-gateway.js.map +1 -0
- package/dist/providers/amazon-bedrock.d.ts +28 -0
- package/dist/providers/amazon-bedrock.d.ts.map +1 -0
- package/dist/providers/amazon-bedrock.js +102 -0
- package/dist/providers/amazon-bedrock.js.map +1 -0
- package/dist/providers/anthropic-prompt-cache.d.ts +19 -0
- package/dist/providers/anthropic-prompt-cache.d.ts.map +1 -0
- package/dist/providers/anthropic-prompt-cache.js +11 -0
- package/dist/providers/anthropic-prompt-cache.js.map +1 -0
- package/dist/providers/anthropic-thinking.d.ts +5 -0
- package/dist/providers/anthropic-thinking.d.ts.map +1 -0
- package/dist/providers/anthropic-thinking.js +25 -0
- package/dist/providers/anthropic-thinking.js.map +1 -0
- package/dist/providers/claude-max.d.ts +67 -0
- package/dist/providers/claude-max.d.ts.map +1 -0
- package/dist/providers/claude-max.js +226 -0
- package/dist/providers/claude-max.js.map +1 -0
- package/dist/providers/github-copilot-gateway.d.ts +35 -0
- package/dist/providers/github-copilot-gateway.d.ts.map +1 -0
- package/dist/providers/github-copilot-gateway.js +61 -0
- package/dist/providers/github-copilot-gateway.js.map +1 -0
- package/dist/providers/github-copilot.d.ts +60 -0
- package/dist/providers/github-copilot.d.ts.map +1 -0
- package/dist/providers/github-copilot.js +318 -0
- package/dist/providers/github-copilot.js.map +1 -0
- package/dist/providers/google-thinking.d.ts +31 -0
- package/dist/providers/google-thinking.d.ts.map +1 -0
- package/dist/providers/google-thinking.js +67 -0
- package/dist/providers/google-thinking.js.map +1 -0
- package/dist/providers/kimi-coding.d.ts +14 -0
- package/dist/providers/kimi-coding.d.ts.map +1 -0
- package/dist/providers/kimi-coding.js +78 -0
- package/dist/providers/kimi-coding.js.map +1 -0
- package/dist/providers/model-ids.d.ts +30 -0
- package/dist/providers/model-ids.d.ts.map +1 -0
- package/dist/providers/model-ids.js +79 -0
- package/dist/providers/model-ids.js.map +1 -0
- package/dist/providers/openai-codex.d.ts +84 -0
- package/dist/providers/openai-codex.d.ts.map +1 -0
- package/dist/providers/openai-codex.js +347 -0
- package/dist/providers/openai-codex.js.map +1 -0
- package/dist/providers/provider-thinking.d.ts +23 -0
- package/dist/providers/provider-thinking.d.ts.map +1 -0
- package/dist/providers/provider-thinking.js +64 -0
- package/dist/providers/provider-thinking.js.map +1 -0
- package/dist/providers/thinking-request.d.ts +14 -0
- package/dist/providers/thinking-request.d.ts.map +1 -0
- package/dist/providers/thinking-request.js +90 -0
- package/dist/providers/thinking-request.js.map +1 -0
- package/dist/providers/xai.d.ts +33 -0
- package/dist/providers/xai.d.ts.map +1 -0
- package/dist/providers/xai.js +71 -0
- package/dist/providers/xai.js.map +1 -0
- package/dist/schedules/index.d.ts +10 -0
- package/dist/schedules/index.d.ts.map +1 -0
- package/dist/schedules/index.js +6 -0
- package/dist/schedules/interval.d.ts +49 -0
- package/dist/schedules/interval.d.ts.map +1 -0
- package/dist/schedules/interval.js +215 -0
- package/dist/schedules/interval.js.map +1 -0
- package/dist/schedules/prompt.d.ts +36 -0
- package/dist/schedules/prompt.d.ts.map +1 -0
- package/dist/schedules/prompt.js +39 -0
- package/dist/schedules/prompt.js.map +1 -0
- package/dist/schedules/run-script.d.ts +8 -0
- package/dist/schedules/run-script.d.ts.map +1 -0
- package/dist/schedules/run-script.js +83 -0
- package/dist/schedules/run-script.js.map +1 -0
- package/dist/schedules/scheduler.d.ts +101 -0
- package/dist/schedules/scheduler.d.ts.map +1 -0
- package/dist/schedules/scheduler.js +169 -0
- package/dist/schedules/scheduler.js.map +1 -0
- package/dist/schedules/tools.d.ts +57 -0
- package/dist/schedules/tools.d.ts.map +1 -0
- package/dist/schedules/tools.js +220 -0
- package/dist/schedules/tools.js.map +1 -0
- package/dist/schema.d.ts +499 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +134 -0
- package/dist/schema.js.map +1 -0
- package/dist/theme-palette.d.ts +17 -0
- package/dist/theme-palette.d.ts.map +1 -0
- package/dist/theme-palette.js +21 -0
- package/dist/theme-palette.js.map +1 -0
- package/dist/thinking-catalog.d.ts +4 -0
- package/dist/thinking-catalog.d.ts.map +1 -0
- package/dist/thinking-catalog.js +13 -0
- package/dist/thinking-catalog.js.map +1 -0
- package/dist/thinking.d.ts +37 -0
- package/dist/thinking.d.ts.map +1 -0
- package/dist/thinking.js +137 -0
- package/dist/thinking.js.map +1 -0
- package/dist/tool-names.d.ts +77 -0
- package/dist/tool-names.d.ts.map +1 -0
- package/dist/tool-names.js +56 -0
- package/dist/tool-names.js.map +1 -0
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +3 -0
- package/dist/tools/request-sandbox-access.d.ts +6 -0
- package/dist/tools/request-sandbox-access.d.ts.map +1 -0
- package/dist/tools/request-sandbox-access.js +80 -0
- package/dist/tools/request-sandbox-access.js.map +1 -0
- package/dist/tools/utils.d.ts +20 -0
- package/dist/tools/utils.d.ts.map +1 -0
- package/dist/tools/utils.js +32 -0
- package/dist/tools/utils.js.map +1 -0
- package/dist/tools/web-search.d.ts +114 -0
- package/dist/tools/web-search.d.ts.map +1 -0
- package/dist/tools/web-search.js +155 -0
- package/dist/tools/web-search.js.map +1 -0
- package/dist/tools/workflows/create-workflow.d.ts +7 -0
- package/dist/tools/workflows/create-workflow.d.ts.map +1 -0
- package/dist/tools/workflows/create-workflow.js +81 -0
- package/dist/tools/workflows/create-workflow.js.map +1 -0
- package/dist/tools/workflows/delete-workflow.d.ts +7 -0
- package/dist/tools/workflows/delete-workflow.d.ts.map +1 -0
- package/dist/tools/workflows/delete-workflow.js +21 -0
- package/dist/tools/workflows/delete-workflow.js.map +1 -0
- package/dist/tools/workflows/ephemeral-memory.d.ts +28 -0
- package/dist/tools/workflows/ephemeral-memory.d.ts.map +1 -0
- package/dist/tools/workflows/ephemeral-memory.js +44 -0
- package/dist/tools/workflows/ephemeral-memory.js.map +1 -0
- package/dist/tools/workflows/extract-json-schema.d.ts +12 -0
- package/dist/tools/workflows/extract-json-schema.d.ts.map +1 -0
- package/dist/tools/workflows/extract-json-schema.js +22 -0
- package/dist/tools/workflows/extract-json-schema.js.map +1 -0
- package/dist/tools/workflows/get-workflow.d.ts +11 -0
- package/dist/tools/workflows/get-workflow.d.ts.map +1 -0
- package/dist/tools/workflows/get-workflow.js +34 -0
- package/dist/tools/workflows/get-workflow.js.map +1 -0
- package/dist/tools/workflows/list-available-agents.d.ts +8 -0
- package/dist/tools/workflows/list-available-agents.d.ts.map +1 -0
- package/dist/tools/workflows/list-available-agents.js +32 -0
- package/dist/tools/workflows/list-available-agents.js.map +1 -0
- package/dist/tools/workflows/list-available-classifiers.d.ts +19 -0
- package/dist/tools/workflows/list-available-classifiers.d.ts.map +1 -0
- package/dist/tools/workflows/list-available-classifiers.js +56 -0
- package/dist/tools/workflows/list-available-classifiers.js.map +1 -0
- package/dist/tools/workflows/list-available-tools.d.ts +9 -0
- package/dist/tools/workflows/list-available-tools.d.ts.map +1 -0
- package/dist/tools/workflows/list-available-tools.js +40 -0
- package/dist/tools/workflows/list-available-tools.js.map +1 -0
- package/dist/tools/workflows/list-available-workflows.d.ts +9 -0
- package/dist/tools/workflows/list-available-workflows.d.ts.map +1 -0
- package/dist/tools/workflows/list-available-workflows.js +32 -0
- package/dist/tools/workflows/list-available-workflows.js.map +1 -0
- package/dist/tools/workflows/list-workflows.d.ts +9 -0
- package/dist/tools/workflows/list-workflows.d.ts.map +1 -0
- package/dist/tools/workflows/list-workflows.js +33 -0
- package/dist/tools/workflows/list-workflows.js.map +1 -0
- package/dist/tools/workflows/run-workflow.d.ts +9 -0
- package/dist/tools/workflows/run-workflow.d.ts.map +1 -0
- package/dist/tools/workflows/run-workflow.js +52 -0
- package/dist/tools/workflows/run-workflow.js.map +1 -0
- package/dist/tools/workflows/save-workflow.d.ts +1125 -0
- package/dist/tools/workflows/save-workflow.d.ts.map +1 -0
- package/dist/tools/workflows/save-workflow.js +28 -0
- package/dist/tools/workflows/save-workflow.js.map +1 -0
- package/dist/tools/workflows/tool-ids.d.ts +16 -0
- package/dist/tools/workflows/tool-ids.d.ts.map +1 -0
- package/dist/tools/workflows/tool-ids.js +20 -0
- package/dist/tools/workflows/tool-ids.js.map +1 -0
- package/dist/utils/binaries.d.ts +7 -0
- package/dist/utils/binaries.d.ts.map +1 -0
- package/dist/utils/binaries.js +78 -0
- package/dist/utils/binaries.js.map +1 -0
- package/dist/utils/debug-log.d.ts +12 -0
- package/dist/utils/debug-log.d.ts.map +1 -0
- package/dist/utils/debug-log.js +59 -0
- package/dist/utils/debug-log.js.map +1 -0
- package/dist/utils/discarding-scores-storage.d.ts +33 -0
- package/dist/utils/discarding-scores-storage.d.ts.map +1 -0
- package/dist/utils/discarding-scores-storage.js +54 -0
- package/dist/utils/discarding-scores-storage.js.map +1 -0
- package/dist/utils/errors.d.ts +36 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +196 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/gateway-sync.d.ts +26 -0
- package/dist/utils/gateway-sync.d.ts.map +1 -0
- package/dist/utils/gateway-sync.js +61 -0
- package/dist/utils/gateway-sync.js.map +1 -0
- package/dist/utils/maintenance-lock.d.ts +42 -0
- package/dist/utils/maintenance-lock.d.ts.map +1 -0
- package/dist/utils/maintenance-lock.js +199 -0
- package/dist/utils/maintenance-lock.js.map +1 -0
- package/dist/utils/notification-dispatch.d.ts +59 -0
- package/dist/utils/notification-dispatch.d.ts.map +1 -0
- package/dist/utils/notification-dispatch.js +109 -0
- package/dist/utils/notification-dispatch.js.map +1 -0
- package/dist/utils/open-url.d.ts +10 -0
- package/dist/utils/open-url.d.ts.map +1 -0
- package/dist/utils/open-url.js +30 -0
- package/dist/utils/open-url.js.map +1 -0
- package/dist/utils/path-security.d.ts +2 -0
- package/dist/utils/path-security.d.ts.map +1 -0
- package/dist/utils/path-security.js +10 -0
- package/dist/utils/path-security.js.map +1 -0
- package/dist/utils/plan-diff.d.ts +25 -0
- package/dist/utils/plan-diff.d.ts.map +1 -0
- package/dist/utils/plan-diff.js +62 -0
- package/dist/utils/plan-diff.js.map +1 -0
- package/dist/utils/plans.d.ts +59 -0
- package/dist/utils/plans.d.ts.map +1 -0
- package/dist/utils/plans.js +117 -0
- package/dist/utils/plans.js.map +1 -0
- package/dist/utils/project.d.ts +160 -0
- package/dist/utils/project.d.ts.map +1 -0
- package/dist/utils/project.js +364 -0
- package/dist/utils/project.js.map +1 -0
- package/dist/utils/prune-cli.d.ts +24 -0
- package/dist/utils/prune-cli.d.ts.map +1 -0
- package/dist/utils/prune-cli.js +125 -0
- package/dist/utils/prune-cli.js.map +1 -0
- package/dist/utils/signals-pubsub.d.ts +101 -0
- package/dist/utils/signals-pubsub.d.ts.map +1 -0
- package/dist/utils/signals-pubsub.js +410 -0
- package/dist/utils/signals-pubsub.js.map +1 -0
- package/dist/utils/slash-command-loader.d.ts +52 -0
- package/dist/utils/slash-command-loader.d.ts.map +1 -0
- package/dist/utils/slash-command-loader.js +142 -0
- package/dist/utils/slash-command-loader.js.map +1 -0
- package/dist/utils/slash-command-processor.d.ts +14 -0
- package/dist/utils/slash-command-processor.d.ts.map +1 -0
- package/dist/utils/slash-command-processor.js +109 -0
- package/dist/utils/slash-command-processor.js.map +1 -0
- package/dist/utils/stdin-pipe.d.ts +33 -0
- package/dist/utils/stdin-pipe.d.ts.map +1 -0
- package/dist/utils/stdin-pipe.js +96 -0
- package/dist/utils/stdin-pipe.js.map +1 -0
- package/dist/utils/storage-factory.d.ts +50 -0
- package/dist/utils/storage-factory.d.ts.map +1 -0
- package/dist/utils/storage-factory.js +121 -0
- package/dist/utils/storage-factory.js.map +1 -0
- package/dist/utils/storage-maintenance.d.ts +121 -0
- package/dist/utils/storage-maintenance.d.ts.map +1 -0
- package/dist/utils/storage-maintenance.js +355 -0
- package/dist/utils/storage-maintenance.js.map +1 -0
- package/dist/utils/thread-lock.d.ts +26 -0
- package/dist/utils/thread-lock.d.ts.map +1 -0
- package/dist/utils/thread-lock.js +112 -0
- package/dist/utils/thread-lock.js.map +1 -0
- package/dist/utils/token-estimator.d.ts +3 -0
- package/dist/utils/token-estimator.d.ts.map +1 -0
- package/dist/utils/token-estimator.js +21 -0
- package/dist/utils/token-estimator.js.map +1 -0
- package/dist/utils/update-check.d.ts +151 -0
- package/dist/utils/update-check.d.ts.map +1 -0
- package/dist/utils/update-check.js +432 -0
- package/dist/utils/update-check.js.map +1 -0
- package/dist/voice/stt-registry.d.ts +64 -0
- package/dist/voice/stt-registry.d.ts.map +1 -0
- package/dist/voice/stt-registry.js +144 -0
- package/dist/voice/stt-registry.js.map +1 -0
- package/dist/workflows/register-primitives.d.ts +52 -0
- package/dist/workflows/register-primitives.d.ts.map +1 -0
- package/dist/workflows/register-primitives.js +40 -0
- package/dist/workflows/register-primitives.js.map +1 -0
- package/dist/workflows/service.d.ts +64 -0
- package/dist/workflows/service.d.ts.map +1 -0
- package/dist/workflows/service.js +53 -0
- package/dist/workflows/service.js.map +1 -0
- package/package.json +107 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
export declare const AGENT_CONNECTIONS_STATE_ID = "agent-connections";
|
|
2
|
+
export declare const AGENT_CONNECTIONS_STATE_TYPE = "agent_connection";
|
|
3
|
+
export type AgentPeerRelationship = 'none' | 'saved';
|
|
4
|
+
export type AgentPeerPresence = 'advertised' | 'absent';
|
|
5
|
+
export type AgentPeerDisplayStatus = 'discovered' | 'connected' | 'saved';
|
|
6
|
+
export type AgentSignalPriority = 'low' | 'medium' | 'high' | 'urgent';
|
|
7
|
+
export type AgentSignalRoutingAction = 'wake' | 'deliver' | 'persist' | 'discard' | 'blocked';
|
|
8
|
+
export interface AgentPeerIdentity {
|
|
9
|
+
/** Stable model-facing id used by tools. Discovery ids must match the canonical routing tuple id. */
|
|
10
|
+
id?: string;
|
|
11
|
+
/** Target agent id. Defaults to the current code agent when omitted by discovery. */
|
|
12
|
+
agentId?: string;
|
|
13
|
+
resourceId: string;
|
|
14
|
+
threadId: string;
|
|
15
|
+
label?: string;
|
|
16
|
+
title?: string;
|
|
17
|
+
mode?: string;
|
|
18
|
+
pid?: number;
|
|
19
|
+
lastSeenAt?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface AgentPeerView {
|
|
22
|
+
id: string;
|
|
23
|
+
agentId: string;
|
|
24
|
+
resourceId: string;
|
|
25
|
+
threadId: string;
|
|
26
|
+
label?: string;
|
|
27
|
+
title?: string;
|
|
28
|
+
mode?: string;
|
|
29
|
+
relationship: AgentPeerRelationship;
|
|
30
|
+
presence: AgentPeerPresence;
|
|
31
|
+
displayStatus: AgentPeerDisplayStatus;
|
|
32
|
+
canAttemptSend: boolean;
|
|
33
|
+
pid?: number;
|
|
34
|
+
connectedAt?: number;
|
|
35
|
+
lastSeenAt?: number;
|
|
36
|
+
}
|
|
37
|
+
export interface ConnectedAgentPeer extends AgentPeerIdentity {
|
|
38
|
+
id: string;
|
|
39
|
+
connectedAt: number;
|
|
40
|
+
lastSeenAt: number;
|
|
41
|
+
}
|
|
42
|
+
export interface SentAgentSignal {
|
|
43
|
+
messageId: string;
|
|
44
|
+
fingerprint: string;
|
|
45
|
+
targetId: string;
|
|
46
|
+
priority: AgentSignalPriority;
|
|
47
|
+
expectsReply: boolean;
|
|
48
|
+
replyTo?: string;
|
|
49
|
+
returnPeerId: string;
|
|
50
|
+
routingAction?: AgentSignalRoutingAction;
|
|
51
|
+
runId?: string;
|
|
52
|
+
sentAt: number;
|
|
53
|
+
}
|
|
54
|
+
export interface AgentConnectionsState {
|
|
55
|
+
peers: ConnectedAgentPeer[];
|
|
56
|
+
sentSignals?: SentAgentSignal[];
|
|
57
|
+
}
|
|
58
|
+
export interface AgentConnectionDeltaOp {
|
|
59
|
+
op: 'connect' | 'disconnect' | 'presence-change' | 'update';
|
|
60
|
+
id: string;
|
|
61
|
+
peer?: AgentPeerView;
|
|
62
|
+
presence?: AgentPeerPresence;
|
|
63
|
+
displayStatus?: AgentPeerDisplayStatus;
|
|
64
|
+
}
|
|
65
|
+
export interface AgentConnectionListResult {
|
|
66
|
+
content: string;
|
|
67
|
+
peers: AgentPeerView[];
|
|
68
|
+
savedCount: number;
|
|
69
|
+
isError?: boolean;
|
|
70
|
+
}
|
|
71
|
+
export interface AgentConnectResult {
|
|
72
|
+
content: string;
|
|
73
|
+
connected: ConnectedAgentPeer[];
|
|
74
|
+
changed: AgentConnectionDeltaOp[];
|
|
75
|
+
isError?: boolean;
|
|
76
|
+
}
|
|
77
|
+
export interface AgentDisconnectResult {
|
|
78
|
+
content: string;
|
|
79
|
+
connected: ConnectedAgentPeer[];
|
|
80
|
+
disconnectedIds: string[];
|
|
81
|
+
alreadyDisconnectedIds: string[];
|
|
82
|
+
changed: AgentConnectionDeltaOp[];
|
|
83
|
+
isError?: boolean;
|
|
84
|
+
}
|
|
85
|
+
export interface AgentSignalSendResult {
|
|
86
|
+
content: string;
|
|
87
|
+
target?: AgentPeerView;
|
|
88
|
+
priority?: AgentSignalPriority;
|
|
89
|
+
expectsReply?: boolean;
|
|
90
|
+
messageId?: string;
|
|
91
|
+
replyTo?: string;
|
|
92
|
+
returnPeerId?: string;
|
|
93
|
+
routingAction?: AgentSignalRoutingAction;
|
|
94
|
+
replyOutcome?: 'peer-unavailable';
|
|
95
|
+
runId?: string;
|
|
96
|
+
duplicate?: boolean;
|
|
97
|
+
isError?: boolean;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent-connections/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,sBAAsB,CAAC;AAC9D,eAAO,MAAM,4BAA4B,qBAAqB,CAAC;AAE/D,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,CAAC;AACrD,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,QAAQ,CAAC;AACxD,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;AAC1E,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AACvE,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9F,MAAM,WAAW,iBAAiB;IAChC,qGAAqG;IACrG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,qBAAqB,CAAC;IACpC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,aAAa,EAAE,sBAAsB,CAAC;IACtC,cAAc,EAAE,OAAO,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,SAAS,GAAG,YAAY,GAAG,iBAAiB,GAAG,QAAQ,CAAC;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,aAAa,CAAC,EAAE,sBAAsB,CAAC;CACxC;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
//#region src/agent-connections/types.ts
|
|
2
|
+
const AGENT_CONNECTIONS_STATE_ID = "agent-connections";
|
|
3
|
+
const AGENT_CONNECTIONS_STATE_TYPE = "agent_connection";
|
|
4
|
+
//#endregion
|
|
5
|
+
export { AGENT_CONNECTIONS_STATE_ID, AGENT_CONNECTIONS_STATE_TYPE };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../src/agent-connections/types.ts"],"sourcesContent":["export const AGENT_CONNECTIONS_STATE_ID = 'agent-connections';\nexport const AGENT_CONNECTIONS_STATE_TYPE = 'agent_connection';\n\nexport type AgentPeerRelationship = 'none' | 'saved';\nexport type AgentPeerPresence = 'advertised' | 'absent';\nexport type AgentPeerDisplayStatus = 'discovered' | 'connected' | 'saved';\nexport type AgentSignalPriority = 'low' | 'medium' | 'high' | 'urgent';\nexport type AgentSignalRoutingAction = 'wake' | 'deliver' | 'persist' | 'discard' | 'blocked';\n\nexport interface AgentPeerIdentity {\n /** Stable model-facing id used by tools. Discovery ids must match the canonical routing tuple id. */\n id?: string;\n /** Target agent id. Defaults to the current code agent when omitted by discovery. */\n agentId?: string;\n resourceId: string;\n threadId: string;\n label?: string;\n title?: string;\n mode?: string;\n pid?: number;\n lastSeenAt?: number;\n}\n\nexport interface AgentPeerView {\n id: string;\n agentId: string;\n resourceId: string;\n threadId: string;\n label?: string;\n title?: string;\n mode?: string;\n relationship: AgentPeerRelationship;\n presence: AgentPeerPresence;\n displayStatus: AgentPeerDisplayStatus;\n canAttemptSend: boolean;\n pid?: number;\n connectedAt?: number;\n lastSeenAt?: number;\n}\n\nexport interface ConnectedAgentPeer extends AgentPeerIdentity {\n id: string;\n connectedAt: number;\n lastSeenAt: number;\n}\n\nexport interface SentAgentSignal {\n messageId: string;\n fingerprint: string;\n targetId: string;\n priority: AgentSignalPriority;\n expectsReply: boolean;\n replyTo?: string;\n returnPeerId: string;\n routingAction?: AgentSignalRoutingAction;\n runId?: string;\n sentAt: number;\n}\n\nexport interface AgentConnectionsState {\n peers: ConnectedAgentPeer[];\n sentSignals?: SentAgentSignal[];\n}\n\nexport interface AgentConnectionDeltaOp {\n op: 'connect' | 'disconnect' | 'presence-change' | 'update';\n id: string;\n peer?: AgentPeerView;\n presence?: AgentPeerPresence;\n displayStatus?: AgentPeerDisplayStatus;\n}\n\nexport interface AgentConnectionListResult {\n content: string;\n peers: AgentPeerView[];\n savedCount: number;\n isError?: boolean;\n}\n\nexport interface AgentConnectResult {\n content: string;\n connected: ConnectedAgentPeer[];\n changed: AgentConnectionDeltaOp[];\n isError?: boolean;\n}\n\nexport interface AgentDisconnectResult {\n content: string;\n connected: ConnectedAgentPeer[];\n disconnectedIds: string[];\n alreadyDisconnectedIds: string[];\n changed: AgentConnectionDeltaOp[];\n isError?: boolean;\n}\n\nexport interface AgentSignalSendResult {\n content: string;\n target?: AgentPeerView;\n priority?: AgentSignalPriority;\n expectsReply?: boolean;\n messageId?: string;\n replyTo?: string;\n returnPeerId?: string;\n routingAction?: AgentSignalRoutingAction;\n replyOutcome?: 'peer-unavailable';\n runId?: string;\n duplicate?: boolean;\n isError?: boolean;\n}\n"],"mappings":";AAAA,MAAa,6BAA6B;AAC1C,MAAa,+BAA+B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const UNTRUSTED_PEER_ID_MAX_LENGTH = 512;
|
|
2
|
+
export declare const UNTRUSTED_PEER_METADATA_MAX_LENGTH = 256;
|
|
3
|
+
export declare function boundUntrustedText(value: string | undefined, maxLength: number): string | undefined;
|
|
4
|
+
export declare function serializeUntrustedData(value: unknown): string;
|
|
5
|
+
//# sourceMappingURL=untrusted-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"untrusted-text.d.ts","sourceRoot":"","sources":["../../src/agent-connections/untrusted-text.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,kCAAkC,MAAM,CAAC;AAEtD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGnG;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAe7D"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/agent-connections/untrusted-text.ts
|
|
2
|
+
const UNTRUSTED_PEER_ID_MAX_LENGTH = 512;
|
|
3
|
+
const UNTRUSTED_PEER_METADATA_MAX_LENGTH = 256;
|
|
4
|
+
function boundUntrustedText(value, maxLength) {
|
|
5
|
+
if (value === void 0 || value.length <= maxLength) return value;
|
|
6
|
+
return `${value.slice(0, maxLength)}…`;
|
|
7
|
+
}
|
|
8
|
+
function serializeUntrustedData(value) {
|
|
9
|
+
return JSON.stringify(value).replace(/[<>&\u2028\u2029]/g, (character) => {
|
|
10
|
+
switch (character) {
|
|
11
|
+
case "<": return "\\u003c";
|
|
12
|
+
case ">": return "\\u003e";
|
|
13
|
+
case "&": return "\\u0026";
|
|
14
|
+
case "\u2028": return "\\u2028";
|
|
15
|
+
default: return "\\u2029";
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { UNTRUSTED_PEER_ID_MAX_LENGTH, UNTRUSTED_PEER_METADATA_MAX_LENGTH, boundUntrustedText, serializeUntrustedData };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=untrusted-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"untrusted-text.js","names":[],"sources":["../../src/agent-connections/untrusted-text.ts"],"sourcesContent":["export const UNTRUSTED_PEER_ID_MAX_LENGTH = 512;\nexport const UNTRUSTED_PEER_METADATA_MAX_LENGTH = 256;\n\nexport function boundUntrustedText(value: string | undefined, maxLength: number): string | undefined {\n if (value === undefined || value.length <= maxLength) return value;\n return `${value.slice(0, maxLength)}…`;\n}\n\nexport function serializeUntrustedData(value: unknown): string {\n return JSON.stringify(value).replace(/[<>&\\u2028\\u2029]/g, character => {\n switch (character) {\n case '<':\n return '\\\\u003c';\n case '>':\n return '\\\\u003e';\n case '&':\n return '\\\\u0026';\n case '\\u2028':\n return '\\\\u2028';\n default:\n return '\\\\u2029';\n }\n });\n}\n"],"mappings":";AAAA,MAAa,+BAA+B;AAC5C,MAAa,qCAAqC;AAElD,SAAgB,mBAAmB,OAA2B,WAAuC;CACnG,IAAI,UAAU,KAAA,KAAa,MAAM,UAAU,WAAW,OAAO;CAC7D,OAAO,GAAG,MAAM,MAAM,GAAG,SAAS,EAAE;AACtC;AAEA,SAAgB,uBAAuB,OAAwB;CAC7D,OAAO,KAAK,UAAU,KAAK,CAAC,CAAC,QAAQ,uBAAsB,cAAa;EACtE,QAAQ,WAAR;GACE,KAAK,KACH,OAAO;GACT,KAAK,KACH,OAAO;GACT,KAAK,KACH,OAAO;GACT,KAAK,UACH,OAAO;GACT,SACE,OAAO;EACX;CACF,CAAC;AACH"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface BackgroundCompletionEvent {
|
|
2
|
+
id: string;
|
|
3
|
+
taskId: string;
|
|
4
|
+
originRunId: string;
|
|
5
|
+
originToolCallId: string;
|
|
6
|
+
resourceId: string;
|
|
7
|
+
threadId: string;
|
|
8
|
+
toolName: string;
|
|
9
|
+
status: 'completed' | 'failed' | 'cancelled';
|
|
10
|
+
}
|
|
11
|
+
export interface BackgroundCompletionEvents {
|
|
12
|
+
publish(event: BackgroundCompletionEvent): void;
|
|
13
|
+
subscribe(listener: (event: BackgroundCompletionEvent) => void): () => void;
|
|
14
|
+
}
|
|
15
|
+
export declare function createBackgroundCompletionEvents(): BackgroundCompletionEvents;
|
|
16
|
+
//# sourceMappingURL=background-completion-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-completion-events.d.ts","sourceRoot":"","sources":["../../src/agents/background-completion-events.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;CAC9C;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAChD,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAC7E;AAED,wBAAgB,gCAAgC,IAAI,0BAA0B,CAkB7E"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/agents/background-completion-events.ts
|
|
2
|
+
function createBackgroundCompletionEvents() {
|
|
3
|
+
const listeners = /* @__PURE__ */ new Set();
|
|
4
|
+
return {
|
|
5
|
+
publish(event) {
|
|
6
|
+
for (const listener of listeners) try {
|
|
7
|
+
listener(event);
|
|
8
|
+
} catch {}
|
|
9
|
+
},
|
|
10
|
+
subscribe(listener) {
|
|
11
|
+
listeners.add(listener);
|
|
12
|
+
return () => listeners.delete(listener);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { createBackgroundCompletionEvents };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=background-completion-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-completion-events.js","names":[],"sources":["../../src/agents/background-completion-events.ts"],"sourcesContent":["export interface BackgroundCompletionEvent {\n id: string;\n taskId: string;\n originRunId: string;\n originToolCallId: string;\n resourceId: string;\n threadId: string;\n toolName: string;\n status: 'completed' | 'failed' | 'cancelled';\n}\n\nexport interface BackgroundCompletionEvents {\n publish(event: BackgroundCompletionEvent): void;\n subscribe(listener: (event: BackgroundCompletionEvent) => void): () => void;\n}\n\nexport function createBackgroundCompletionEvents(): BackgroundCompletionEvents {\n const listeners = new Set<(event: BackgroundCompletionEvent) => void>();\n\n return {\n publish(event) {\n for (const listener of listeners) {\n try {\n listener(event);\n } catch {\n // A listener must not prevent other subscribers from receiving the completion.\n }\n }\n },\n subscribe(listener) {\n listeners.add(listener);\n return () => listeners.delete(listener);\n },\n };\n}\n"],"mappings":";AAgBA,SAAgB,mCAA+D;CAC7E,MAAM,4BAAY,IAAI,IAAgD;CAEtE,OAAO;EACL,QAAQ,OAAO;GACb,KAAK,MAAM,YAAY,WACrB,IAAI;IACF,SAAS,KAAK;GAChB,QAAQ,CAER;EAEJ;EACA,UAAU,UAAU;GAClB,UAAU,IAAI,QAAQ;GACtB,aAAa,UAAU,OAAO,QAAQ;EACxC;CACF;AACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Session } from '@mastra/core/agent-controller';
|
|
2
|
+
import type { BackgroundTaskManagerConfig } from '@mastra/core/background-tasks';
|
|
3
|
+
import type { BackgroundCompletionEvents } from './background-completion-events.js';
|
|
4
|
+
interface BackgroundCompletionRouter {
|
|
5
|
+
getSessionByResource(resourceId: string): Promise<Session<unknown> | undefined>;
|
|
6
|
+
}
|
|
7
|
+
export declare function createBackgroundCompletionCallbacks(getController: () => BackgroundCompletionRouter, events?: BackgroundCompletionEvents): Pick<BackgroundTaskManagerConfig, 'onTaskComplete' | 'onTaskFailed' | 'onTaskCancelled'>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=background-completion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-completion.d.ts","sourceRoot":"","sources":["../../src/agents/background-completion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAkB,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,UAAU,0BAA0B;IAClC,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;CACjF;AAwCD,wBAAgB,mCAAmC,CACjD,aAAa,EAAE,MAAM,0BAA0B,EAC/C,MAAM,CAAC,EAAE,0BAA0B,GAClC,IAAI,CAAC,2BAA2B,EAAE,gBAAgB,GAAG,cAAc,GAAG,iBAAiB,CAAC,CAyB1F"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
//#region src/agents/background-completion.ts
|
|
2
|
+
async function persistBackgroundCompletion(controller, task, status) {
|
|
3
|
+
if (!task.resourceId || !task.threadId) return;
|
|
4
|
+
const session = await controller.getSessionByResource(task.resourceId);
|
|
5
|
+
if (!session) return;
|
|
6
|
+
const eventId = `background-task:${task.id}:${status}`;
|
|
7
|
+
await session.sendSignalToThread({
|
|
8
|
+
id: eventId,
|
|
9
|
+
type: "notification",
|
|
10
|
+
tagName: "notification",
|
|
11
|
+
contents: `${task.toolName} ${status} in background`,
|
|
12
|
+
attributes: {
|
|
13
|
+
source: "background-work",
|
|
14
|
+
kind: `background-task-${status}`,
|
|
15
|
+
priority: status === "failed" ? "high" : "low",
|
|
16
|
+
status
|
|
17
|
+
},
|
|
18
|
+
metadata: { backgroundCompletion: {
|
|
19
|
+
eventId,
|
|
20
|
+
taskId: task.id,
|
|
21
|
+
originRunId: task.runId,
|
|
22
|
+
originToolCallId: task.toolCallId,
|
|
23
|
+
toolName: task.toolName,
|
|
24
|
+
status
|
|
25
|
+
} }
|
|
26
|
+
}, {
|
|
27
|
+
resourceId: task.resourceId,
|
|
28
|
+
threadId: task.threadId
|
|
29
|
+
}).accepted;
|
|
30
|
+
}
|
|
31
|
+
function createBackgroundCompletionCallbacks(getController, events) {
|
|
32
|
+
const deliver = async (task, status) => {
|
|
33
|
+
if (!task.resourceId || !task.threadId) return;
|
|
34
|
+
const event = {
|
|
35
|
+
id: `background-task:${task.id}:${status}`,
|
|
36
|
+
taskId: task.id,
|
|
37
|
+
originRunId: task.runId,
|
|
38
|
+
originToolCallId: task.toolCallId,
|
|
39
|
+
resourceId: task.resourceId,
|
|
40
|
+
threadId: task.threadId,
|
|
41
|
+
toolName: task.toolName,
|
|
42
|
+
status
|
|
43
|
+
};
|
|
44
|
+
try {
|
|
45
|
+
await persistBackgroundCompletion(getController(), task, status);
|
|
46
|
+
} finally {
|
|
47
|
+
events?.publish(event);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
return {
|
|
51
|
+
onTaskComplete: (task) => deliver(task, "completed"),
|
|
52
|
+
onTaskFailed: (task) => deliver(task, "failed"),
|
|
53
|
+
onTaskCancelled: (task) => deliver(task, "cancelled")
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
export { createBackgroundCompletionCallbacks };
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=background-completion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-completion.js","names":[],"sources":["../../src/agents/background-completion.ts"],"sourcesContent":["import type { Session } from '@mastra/core/agent-controller';\nimport type { BackgroundTask, BackgroundTaskManagerConfig } from '@mastra/core/background-tasks';\nimport type { BackgroundCompletionEvents } from './background-completion-events.js';\n\ninterface BackgroundCompletionRouter {\n getSessionByResource(resourceId: string): Promise<Session<unknown> | undefined>;\n}\n\nasync function persistBackgroundCompletion(\n controller: BackgroundCompletionRouter,\n task: BackgroundTask,\n status: 'completed' | 'failed' | 'cancelled',\n): Promise<void> {\n if (!task.resourceId || !task.threadId) return;\n\n const session = await controller.getSessionByResource(task.resourceId);\n if (!session) return;\n\n const eventId = `background-task:${task.id}:${status}`;\n await session.sendSignalToThread(\n {\n id: eventId,\n type: 'notification',\n tagName: 'notification',\n contents: `${task.toolName} ${status} in background`,\n attributes: {\n source: 'background-work',\n kind: `background-task-${status}`,\n priority: status === 'failed' ? 'high' : 'low',\n status,\n },\n metadata: {\n backgroundCompletion: {\n eventId,\n taskId: task.id,\n originRunId: task.runId,\n originToolCallId: task.toolCallId,\n toolName: task.toolName,\n status,\n },\n },\n },\n { resourceId: task.resourceId, threadId: task.threadId },\n ).accepted;\n}\n\nexport function createBackgroundCompletionCallbacks(\n getController: () => BackgroundCompletionRouter,\n events?: BackgroundCompletionEvents,\n): Pick<BackgroundTaskManagerConfig, 'onTaskComplete' | 'onTaskFailed' | 'onTaskCancelled'> {\n const deliver = async (task: BackgroundTask, status: 'completed' | 'failed' | 'cancelled') => {\n if (!task.resourceId || !task.threadId) return;\n const event = {\n id: `background-task:${task.id}:${status}`,\n taskId: task.id,\n originRunId: task.runId,\n originToolCallId: task.toolCallId,\n resourceId: task.resourceId,\n threadId: task.threadId,\n toolName: task.toolName,\n status,\n };\n try {\n await persistBackgroundCompletion(getController(), task, status);\n } finally {\n events?.publish(event);\n }\n };\n\n return {\n onTaskComplete: task => deliver(task, 'completed'),\n onTaskFailed: task => deliver(task, 'failed'),\n onTaskCancelled: task => deliver(task, 'cancelled'),\n };\n}\n"],"mappings":";AAQA,eAAe,4BACb,YACA,MACA,QACe;CACf,IAAI,CAAC,KAAK,cAAc,CAAC,KAAK,UAAU;CAExC,MAAM,UAAU,MAAM,WAAW,qBAAqB,KAAK,UAAU;CACrE,IAAI,CAAC,SAAS;CAEd,MAAM,UAAU,mBAAmB,KAAK,GAAG,GAAG;CAC9C,MAAM,QAAQ,mBACZ;EACE,IAAI;EACJ,MAAM;EACN,SAAS;EACT,UAAU,GAAG,KAAK,SAAS,GAAG,OAAO;EACrC,YAAY;GACV,QAAQ;GACR,MAAM,mBAAmB;GACzB,UAAU,WAAW,WAAW,SAAS;GACzC;EACF;EACA,UAAU,EACR,sBAAsB;GACpB;GACA,QAAQ,KAAK;GACb,aAAa,KAAK;GAClB,kBAAkB,KAAK;GACvB,UAAU,KAAK;GACf;EACF,EACF;CACF,GACA;EAAE,YAAY,KAAK;EAAY,UAAU,KAAK;CAAS,CACzD,CAAC,CAAC;AACJ;AAEA,SAAgB,oCACd,eACA,QAC0F;CAC1F,MAAM,UAAU,OAAO,MAAsB,WAAiD;EAC5F,IAAI,CAAC,KAAK,cAAc,CAAC,KAAK,UAAU;EACxC,MAAM,QAAQ;GACZ,IAAI,mBAAmB,KAAK,GAAG,GAAG;GAClC,QAAQ,KAAK;GACb,aAAa,KAAK;GAClB,kBAAkB,KAAK;GACvB,YAAY,KAAK;GACjB,UAAU,KAAK;GACf,UAAU,KAAK;GACf;EACF;EACA,IAAI;GACF,MAAM,4BAA4B,cAAc,GAAG,MAAM,MAAM;EACjE,UAAU;GACR,QAAQ,QAAQ,KAAK;EACvB;CACF;CAEA,OAAO;EACL,iBAAgB,SAAQ,QAAQ,MAAM,WAAW;EACjD,eAAc,SAAQ,QAAQ,MAAM,QAAQ;EAC5C,kBAAiB,SAAQ,QAAQ,MAAM,WAAW;CACpD;AACF"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { PromptSection } from './prompts/index.js';
|
|
2
|
+
/** A single measured contributor to the context window. */
|
|
3
|
+
export interface ContextAuditEntry {
|
|
4
|
+
id: string;
|
|
5
|
+
label: string;
|
|
6
|
+
/** Provenance: file path, server name, model id — whatever identifies the source. */
|
|
7
|
+
detail?: string;
|
|
8
|
+
tokens: number;
|
|
9
|
+
characters: number;
|
|
10
|
+
/** Share of the audit total, 0-100. */
|
|
11
|
+
percent: number;
|
|
12
|
+
}
|
|
13
|
+
/** A category of contributors (e.g. all agent instruction files). */
|
|
14
|
+
export interface ContextAuditGroup {
|
|
15
|
+
id: string;
|
|
16
|
+
label: string;
|
|
17
|
+
tokens: number;
|
|
18
|
+
/** Share of the audit total, 0-100. */
|
|
19
|
+
percent: number;
|
|
20
|
+
entries: ContextAuditEntry[];
|
|
21
|
+
/** Shown alongside the group when its numbers need qualifying. */
|
|
22
|
+
note?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface ContextAudit {
|
|
25
|
+
/** Context present before the first message: system prompt, skills, tools. */
|
|
26
|
+
startup: {
|
|
27
|
+
tokens: number;
|
|
28
|
+
percent: number;
|
|
29
|
+
groups: ContextAuditGroup[];
|
|
30
|
+
};
|
|
31
|
+
/** Context accumulated by the session: conversation and observation memory. */
|
|
32
|
+
accumulated: {
|
|
33
|
+
tokens: number;
|
|
34
|
+
percent: number;
|
|
35
|
+
groups: ContextAuditGroup[];
|
|
36
|
+
};
|
|
37
|
+
/** Startup + accumulated. Percentages elsewhere are shares of this. */
|
|
38
|
+
totalTokens: number;
|
|
39
|
+
/** Estimated rather than measured: token counts come from a heuristic estimator. */
|
|
40
|
+
estimated: true;
|
|
41
|
+
}
|
|
42
|
+
/** A tool definition as advertised to the model. */
|
|
43
|
+
export interface ContextAuditTool {
|
|
44
|
+
name: string;
|
|
45
|
+
description?: string;
|
|
46
|
+
/** JSON schema (or any serializable shape) sent with the definition. */
|
|
47
|
+
parameters?: unknown;
|
|
48
|
+
/** MCP server that provides the tool, when it is not built in. */
|
|
49
|
+
server?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface ContextAuditInput {
|
|
52
|
+
/** Labeled sections of the assembled system prompt. */
|
|
53
|
+
promptSections?: PromptSection[];
|
|
54
|
+
/** Labeled sections of the per-request dynamic instructions. */
|
|
55
|
+
instructionSections?: PromptSection[];
|
|
56
|
+
/** The skills catalog exactly as injected into the system message. */
|
|
57
|
+
skillsCatalog?: string;
|
|
58
|
+
/** Tool definitions advertised to the model. */
|
|
59
|
+
tools?: ContextAuditTool[];
|
|
60
|
+
/**
|
|
61
|
+
* Observation memory currently occupying the context window, either as the
|
|
62
|
+
* injected text or as a token count reported by the memory subsystem.
|
|
63
|
+
*
|
|
64
|
+
* Only observations that are actually in the context belong here.
|
|
65
|
+
* Observations that merely sit in storage cost nothing until recalled, and
|
|
66
|
+
* conflating the two is exactly the confusion this audit exists to resolve.
|
|
67
|
+
*/
|
|
68
|
+
injectedObservations?: string | {
|
|
69
|
+
tokens: number;
|
|
70
|
+
};
|
|
71
|
+
/** Prompt tokens the provider reported for the most recent request. */
|
|
72
|
+
conversation?: {
|
|
73
|
+
promptTokens?: number;
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Build a context audit from already-collected context.
|
|
78
|
+
*
|
|
79
|
+
* Percentages are shares of the audited total, not of the model's context
|
|
80
|
+
* window: window size is not exposed by the model registry, and inventing one
|
|
81
|
+
* would make every number wrong for models that disagree with the guess.
|
|
82
|
+
*/
|
|
83
|
+
export declare function buildContextAudit(input: ContextAuditInput): ContextAudit;
|
|
84
|
+
//# sourceMappingURL=context-audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-audit.d.ts","sourceRoot":"","sources":["../../src/agents/context-audit.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qEAAqE;AACrE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,8EAA8E;IAC9E,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAC;IAC1E,+EAA+E;IAC/E,WAAW,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAC;IAC9E,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,oDAAoD;AACpD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC;IACtC,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,uEAAuE;IACvE,YAAY,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AA2CD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAsFxE"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { tokenEstimate } from "../utils/token-estimator.js";
|
|
2
|
+
//#region src/agents/context-audit.ts
|
|
3
|
+
/**
|
|
4
|
+
* Context audit — accounts for what occupies the model's context window.
|
|
5
|
+
*
|
|
6
|
+
* Deliberately pure: callers collect the real strings (prompt sections, the
|
|
7
|
+
* injected skills catalog, tool definitions) and this module only measures and
|
|
8
|
+
* groups them. That keeps the audit honest — it reports on the same text the
|
|
9
|
+
* model receives rather than a description of it — and keeps it testable
|
|
10
|
+
* without a live session.
|
|
11
|
+
*
|
|
12
|
+
* Nothing here reads file contents or secrets: entries carry labels, origins
|
|
13
|
+
* and sizes only, never the underlying text, so an audit can be shown or
|
|
14
|
+
* pasted without leaking whatever the context happens to contain.
|
|
15
|
+
*/
|
|
16
|
+
function measure(id, label, content, detail) {
|
|
17
|
+
return {
|
|
18
|
+
id,
|
|
19
|
+
label,
|
|
20
|
+
detail,
|
|
21
|
+
tokens: tokenEstimate(content),
|
|
22
|
+
characters: content.length,
|
|
23
|
+
percent: 0
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function sectionEntries(sections, prefix) {
|
|
27
|
+
return sections.filter((section) => section.content.length > 0).map((section) => measure(`${prefix}:${section.id}`, section.label, section.content, section.detail));
|
|
28
|
+
}
|
|
29
|
+
function group(id, label, entries, note) {
|
|
30
|
+
if (entries.length === 0) return void 0;
|
|
31
|
+
return {
|
|
32
|
+
id,
|
|
33
|
+
label,
|
|
34
|
+
tokens: entries.reduce((sum, entry) => sum + entry.tokens, 0),
|
|
35
|
+
percent: 0,
|
|
36
|
+
entries,
|
|
37
|
+
note
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Group tool definitions by their provider so a chatty MCP server is visible as
|
|
42
|
+
* one line rather than fifty. Per-tool entries stay available underneath.
|
|
43
|
+
*/
|
|
44
|
+
function toolEntries(tools) {
|
|
45
|
+
return tools.map((tool) => {
|
|
46
|
+
const serialized = [
|
|
47
|
+
tool.name,
|
|
48
|
+
tool.description ?? "",
|
|
49
|
+
tool.parameters ? JSON.stringify(tool.parameters) : ""
|
|
50
|
+
].join("\n");
|
|
51
|
+
return measure(`tool:${tool.server ?? "built-in"}:${tool.name}`, tool.name, serialized, tool.server);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function withPercent(items, total) {
|
|
55
|
+
for (const item of items) item.percent = total > 0 ? item.tokens / total * 100 : 0;
|
|
56
|
+
return items;
|
|
57
|
+
}
|
|
58
|
+
function sumTokens(groups) {
|
|
59
|
+
return groups.reduce((sum, entry) => sum + entry.tokens, 0);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Build a context audit from already-collected context.
|
|
63
|
+
*
|
|
64
|
+
* Percentages are shares of the audited total, not of the model's context
|
|
65
|
+
* window: window size is not exposed by the model registry, and inventing one
|
|
66
|
+
* would make every number wrong for models that disagree with the guess.
|
|
67
|
+
*/
|
|
68
|
+
function buildContextAudit(input) {
|
|
69
|
+
const startupGroups = [
|
|
70
|
+
group("system-prompt", "System prompt", sectionEntries(input.promptSections ?? [], "prompt")),
|
|
71
|
+
group("dynamic-instructions", "Dynamic instructions", sectionEntries(input.instructionSections ?? [], "dynamic")),
|
|
72
|
+
group("skills", "Skills catalog", input.skillsCatalog ? [measure("skills:catalog", "Available skills", input.skillsCatalog)] : [], "Skill instructions are loaded on demand and are not counted here."),
|
|
73
|
+
group("tools", "Tool definitions", toolEntries(input.tools ?? []))
|
|
74
|
+
].filter((entry) => entry !== void 0);
|
|
75
|
+
const observationEntries = [];
|
|
76
|
+
if (typeof input.injectedObservations === "string") observationEntries.push(measure("observations:injected", "Injected into context", input.injectedObservations));
|
|
77
|
+
else if (input.injectedObservations && input.injectedObservations.tokens > 0) observationEntries.push({
|
|
78
|
+
id: "observations:injected",
|
|
79
|
+
label: "Injected into context",
|
|
80
|
+
tokens: input.injectedObservations.tokens,
|
|
81
|
+
characters: 0,
|
|
82
|
+
percent: 0
|
|
83
|
+
});
|
|
84
|
+
const startupTokens = sumTokens(startupGroups);
|
|
85
|
+
const injectedObservationTokens = observationEntries.reduce((sum, entry) => sum + entry.tokens, 0);
|
|
86
|
+
const promptTokens = input.conversation?.promptTokens ?? 0;
|
|
87
|
+
const conversationTokens = Math.max(0, promptTokens - startupTokens - injectedObservationTokens);
|
|
88
|
+
const accumulatedGroups = [group("conversation", "Conversation", promptTokens > 0 ? [{
|
|
89
|
+
id: "conversation:messages",
|
|
90
|
+
label: "Messages, tool calls and results",
|
|
91
|
+
tokens: conversationTokens,
|
|
92
|
+
characters: 0,
|
|
93
|
+
percent: 0
|
|
94
|
+
}] : [], `Derived from the provider's last request (~${promptTokens} prompt tokens) minus the startup context measured above.`), group("observations", "Observation memory", observationEntries, "Observations kept only in storage are not counted: they cost nothing until recalled.")].filter((entry) => entry !== void 0);
|
|
95
|
+
const accumulatedTokens = sumTokens(accumulatedGroups);
|
|
96
|
+
const totalTokens = startupTokens + accumulatedTokens;
|
|
97
|
+
for (const entry of [...startupGroups, ...accumulatedGroups]) withPercent(entry.entries, totalTokens);
|
|
98
|
+
withPercent(startupGroups, totalTokens);
|
|
99
|
+
withPercent(accumulatedGroups, totalTokens);
|
|
100
|
+
return {
|
|
101
|
+
startup: {
|
|
102
|
+
tokens: startupTokens,
|
|
103
|
+
percent: totalTokens > 0 ? startupTokens / totalTokens * 100 : 0,
|
|
104
|
+
groups: startupGroups
|
|
105
|
+
},
|
|
106
|
+
accumulated: {
|
|
107
|
+
tokens: accumulatedTokens,
|
|
108
|
+
percent: totalTokens > 0 ? accumulatedTokens / totalTokens * 100 : 0,
|
|
109
|
+
groups: accumulatedGroups
|
|
110
|
+
},
|
|
111
|
+
totalTokens,
|
|
112
|
+
estimated: true
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
//#endregion
|
|
116
|
+
export { buildContextAudit };
|
|
117
|
+
|
|
118
|
+
//# sourceMappingURL=context-audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-audit.js","names":[],"sources":["../../src/agents/context-audit.ts"],"sourcesContent":["/**\n * Context audit — accounts for what occupies the model's context window.\n *\n * Deliberately pure: callers collect the real strings (prompt sections, the\n * injected skills catalog, tool definitions) and this module only measures and\n * groups them. That keeps the audit honest — it reports on the same text the\n * model receives rather than a description of it — and keeps it testable\n * without a live session.\n *\n * Nothing here reads file contents or secrets: entries carry labels, origins\n * and sizes only, never the underlying text, so an audit can be shown or\n * pasted without leaking whatever the context happens to contain.\n */\nimport { tokenEstimate } from '../utils/token-estimator.js';\nimport type { PromptSection } from './prompts/index.js';\n\n/** A single measured contributor to the context window. */\nexport interface ContextAuditEntry {\n id: string;\n label: string;\n /** Provenance: file path, server name, model id — whatever identifies the source. */\n detail?: string;\n tokens: number;\n characters: number;\n /** Share of the audit total, 0-100. */\n percent: number;\n}\n\n/** A category of contributors (e.g. all agent instruction files). */\nexport interface ContextAuditGroup {\n id: string;\n label: string;\n tokens: number;\n /** Share of the audit total, 0-100. */\n percent: number;\n entries: ContextAuditEntry[];\n /** Shown alongside the group when its numbers need qualifying. */\n note?: string;\n}\n\nexport interface ContextAudit {\n /** Context present before the first message: system prompt, skills, tools. */\n startup: { tokens: number; percent: number; groups: ContextAuditGroup[] };\n /** Context accumulated by the session: conversation and observation memory. */\n accumulated: { tokens: number; percent: number; groups: ContextAuditGroup[] };\n /** Startup + accumulated. Percentages elsewhere are shares of this. */\n totalTokens: number;\n /** Estimated rather than measured: token counts come from a heuristic estimator. */\n estimated: true;\n}\n\n/** A tool definition as advertised to the model. */\nexport interface ContextAuditTool {\n name: string;\n description?: string;\n /** JSON schema (or any serializable shape) sent with the definition. */\n parameters?: unknown;\n /** MCP server that provides the tool, when it is not built in. */\n server?: string;\n}\n\nexport interface ContextAuditInput {\n /** Labeled sections of the assembled system prompt. */\n promptSections?: PromptSection[];\n /** Labeled sections of the per-request dynamic instructions. */\n instructionSections?: PromptSection[];\n /** The skills catalog exactly as injected into the system message. */\n skillsCatalog?: string;\n /** Tool definitions advertised to the model. */\n tools?: ContextAuditTool[];\n /**\n * Observation memory currently occupying the context window, either as the\n * injected text or as a token count reported by the memory subsystem.\n *\n * Only observations that are actually in the context belong here.\n * Observations that merely sit in storage cost nothing until recalled, and\n * conflating the two is exactly the confusion this audit exists to resolve.\n */\n injectedObservations?: string | { tokens: number };\n /** Prompt tokens the provider reported for the most recent request. */\n conversation?: { promptTokens?: number };\n}\n\nfunction measure(id: string, label: string, content: string, detail?: string): ContextAuditEntry {\n return { id, label, detail, tokens: tokenEstimate(content), characters: content.length, percent: 0 };\n}\n\nfunction sectionEntries(sections: PromptSection[], prefix: string): ContextAuditEntry[] {\n return sections\n .filter(section => section.content.length > 0)\n .map(section => measure(`${prefix}:${section.id}`, section.label, section.content, section.detail));\n}\n\nfunction group(id: string, label: string, entries: ContextAuditEntry[], note?: string): ContextAuditGroup | undefined {\n if (entries.length === 0) return undefined;\n return { id, label, tokens: entries.reduce((sum, entry) => sum + entry.tokens, 0), percent: 0, entries, note };\n}\n\n/**\n * Group tool definitions by their provider so a chatty MCP server is visible as\n * one line rather than fifty. Per-tool entries stay available underneath.\n */\nfunction toolEntries(tools: ContextAuditTool[]): ContextAuditEntry[] {\n return tools.map(tool => {\n // Approximates the serialized definition: name, description and schema are\n // what a provider sends, and the exact wire framing is provider-specific.\n const serialized = [tool.name, tool.description ?? '', tool.parameters ? JSON.stringify(tool.parameters) : ''].join(\n '\\n',\n );\n return measure(`tool:${tool.server ?? 'built-in'}:${tool.name}`, tool.name, serialized, tool.server);\n });\n}\n\nfunction withPercent<T extends { tokens: number; percent: number }>(items: T[], total: number): T[] {\n for (const item of items) {\n item.percent = total > 0 ? (item.tokens / total) * 100 : 0;\n }\n return items;\n}\n\nfunction sumTokens(groups: ContextAuditGroup[]): number {\n return groups.reduce((sum, entry) => sum + entry.tokens, 0);\n}\n\n/**\n * Build a context audit from already-collected context.\n *\n * Percentages are shares of the audited total, not of the model's context\n * window: window size is not exposed by the model registry, and inventing one\n * would make every number wrong for models that disagree with the guess.\n */\nexport function buildContextAudit(input: ContextAuditInput): ContextAudit {\n const startupGroups = [\n group('system-prompt', 'System prompt', sectionEntries(input.promptSections ?? [], 'prompt')),\n group('dynamic-instructions', 'Dynamic instructions', sectionEntries(input.instructionSections ?? [], 'dynamic')),\n group(\n 'skills',\n 'Skills catalog',\n input.skillsCatalog ? [measure('skills:catalog', 'Available skills', input.skillsCatalog)] : [],\n 'Skill instructions are loaded on demand and are not counted here.',\n ),\n group('tools', 'Tool definitions', toolEntries(input.tools ?? [])),\n ].filter((entry): entry is ContextAuditGroup => entry !== undefined);\n\n const observationEntries: ContextAuditEntry[] = [];\n if (typeof input.injectedObservations === 'string') {\n observationEntries.push(measure('observations:injected', 'Injected into context', input.injectedObservations));\n } else if (input.injectedObservations && input.injectedObservations.tokens > 0) {\n observationEntries.push({\n id: 'observations:injected',\n label: 'Injected into context',\n tokens: input.injectedObservations.tokens,\n characters: 0,\n percent: 0,\n });\n }\n\n const startupTokens = sumTokens(startupGroups);\n const injectedObservationTokens = observationEntries.reduce((sum, entry) => sum + entry.tokens, 0);\n\n // The provider's prompt token count covers the whole request — startup\n // context and injected observations included — so the conversation's own\n // contribution is what is left after subtracting everything already\n // accounted for. Using the raw prompt count would double-count all of it.\n const promptTokens = input.conversation?.promptTokens ?? 0;\n const conversationTokens = Math.max(0, promptTokens - startupTokens - injectedObservationTokens);\n const conversationEntries: ContextAuditEntry[] =\n promptTokens > 0\n ? [\n {\n id: 'conversation:messages',\n label: 'Messages, tool calls and results',\n tokens: conversationTokens,\n characters: 0,\n percent: 0,\n },\n ]\n : [];\n\n const accumulatedGroups = [\n group(\n 'conversation',\n 'Conversation',\n conversationEntries,\n `Derived from the provider's last request (~${promptTokens} prompt tokens) minus the startup context measured above.`,\n ),\n group(\n 'observations',\n 'Observation memory',\n observationEntries,\n 'Observations kept only in storage are not counted: they cost nothing until recalled.',\n ),\n ].filter((entry): entry is ContextAuditGroup => entry !== undefined);\n\n const accumulatedTokens = sumTokens(accumulatedGroups);\n const totalTokens = startupTokens + accumulatedTokens;\n\n for (const entry of [...startupGroups, ...accumulatedGroups]) {\n withPercent(entry.entries, totalTokens);\n }\n withPercent(startupGroups, totalTokens);\n withPercent(accumulatedGroups, totalTokens);\n\n return {\n startup: {\n tokens: startupTokens,\n percent: totalTokens > 0 ? (startupTokens / totalTokens) * 100 : 0,\n groups: startupGroups,\n },\n accumulated: {\n tokens: accumulatedTokens,\n percent: totalTokens > 0 ? (accumulatedTokens / totalTokens) * 100 : 0,\n groups: accumulatedGroups,\n },\n totalTokens,\n estimated: true,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;AAmFA,SAAS,QAAQ,IAAY,OAAe,SAAiB,QAAoC;CAC/F,OAAO;EAAE;EAAI;EAAO;EAAQ,QAAQ,cAAc,OAAO;EAAG,YAAY,QAAQ;EAAQ,SAAS;CAAE;AACrG;AAEA,SAAS,eAAe,UAA2B,QAAqC;CACtF,OAAO,SACJ,QAAO,YAAW,QAAQ,QAAQ,SAAS,CAAC,CAAC,CAC7C,KAAI,YAAW,QAAQ,GAAG,OAAO,GAAG,QAAQ,MAAM,QAAQ,OAAO,QAAQ,SAAS,QAAQ,MAAM,CAAC;AACtG;AAEA,SAAS,MAAM,IAAY,OAAe,SAA8B,MAA8C;CACpH,IAAI,QAAQ,WAAW,GAAG,OAAO,KAAA;CACjC,OAAO;EAAE;EAAI;EAAO,QAAQ,QAAQ,QAAQ,KAAK,UAAU,MAAM,MAAM,QAAQ,CAAC;EAAG,SAAS;EAAG;EAAS;CAAK;AAC/G;;;;;AAMA,SAAS,YAAY,OAAgD;CACnE,OAAO,MAAM,KAAI,SAAQ;EAGvB,MAAM,aAAa;GAAC,KAAK;GAAM,KAAK,eAAe;GAAI,KAAK,aAAa,KAAK,UAAU,KAAK,UAAU,IAAI;EAAE,CAAC,CAAC,KAC7G,IACF;EACA,OAAO,QAAQ,QAAQ,KAAK,UAAU,WAAW,GAAG,KAAK,QAAQ,KAAK,MAAM,YAAY,KAAK,MAAM;CACrG,CAAC;AACH;AAEA,SAAS,YAA2D,OAAY,OAAoB;CAClG,KAAK,MAAM,QAAQ,OACjB,KAAK,UAAU,QAAQ,IAAK,KAAK,SAAS,QAAS,MAAM;CAE3D,OAAO;AACT;AAEA,SAAS,UAAU,QAAqC;CACtD,OAAO,OAAO,QAAQ,KAAK,UAAU,MAAM,MAAM,QAAQ,CAAC;AAC5D;;;;;;;;AASA,SAAgB,kBAAkB,OAAwC;CACxE,MAAM,gBAAgB;EACpB,MAAM,iBAAiB,iBAAiB,eAAe,MAAM,kBAAkB,CAAC,GAAG,QAAQ,CAAC;EAC5F,MAAM,wBAAwB,wBAAwB,eAAe,MAAM,uBAAuB,CAAC,GAAG,SAAS,CAAC;EAChH,MACE,UACA,kBACA,MAAM,gBAAgB,CAAC,QAAQ,kBAAkB,oBAAoB,MAAM,aAAa,CAAC,IAAI,CAAC,GAC9F,mEACF;EACA,MAAM,SAAS,oBAAoB,YAAY,MAAM,SAAS,CAAC,CAAC,CAAC;CACnE,CAAC,CAAC,QAAQ,UAAsC,UAAU,KAAA,CAAS;CAEnE,MAAM,qBAA0C,CAAC;CACjD,IAAI,OAAO,MAAM,yBAAyB,UACxC,mBAAmB,KAAK,QAAQ,yBAAyB,yBAAyB,MAAM,oBAAoB,CAAC;MACxG,IAAI,MAAM,wBAAwB,MAAM,qBAAqB,SAAS,GAC3E,mBAAmB,KAAK;EACtB,IAAI;EACJ,OAAO;EACP,QAAQ,MAAM,qBAAqB;EACnC,YAAY;EACZ,SAAS;CACX,CAAC;CAGH,MAAM,gBAAgB,UAAU,aAAa;CAC7C,MAAM,4BAA4B,mBAAmB,QAAQ,KAAK,UAAU,MAAM,MAAM,QAAQ,CAAC;CAMjG,MAAM,eAAe,MAAM,cAAc,gBAAgB;CACzD,MAAM,qBAAqB,KAAK,IAAI,GAAG,eAAe,gBAAgB,yBAAyB;CAc/F,MAAM,oBAAoB,CACxB,MACE,gBACA,gBAfF,eAAe,IACX,CACE;EACE,IAAI;EACJ,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,SAAS;CACX,CACF,IACA,CAAC,GAOH,8CAA8C,aAAa,0DAC7D,GACA,MACE,gBACA,sBACA,oBACA,sFACF,CACF,CAAC,CAAC,QAAQ,UAAsC,UAAU,KAAA,CAAS;CAEnE,MAAM,oBAAoB,UAAU,iBAAiB;CACrD,MAAM,cAAc,gBAAgB;CAEpC,KAAK,MAAM,SAAS,CAAC,GAAG,eAAe,GAAG,iBAAiB,GACzD,YAAY,MAAM,SAAS,WAAW;CAExC,YAAY,eAAe,WAAW;CACtC,YAAY,mBAAmB,WAAW;CAE1C,OAAO;EACL,SAAS;GACP,QAAQ;GACR,SAAS,cAAc,IAAK,gBAAgB,cAAe,MAAM;GACjE,QAAQ;EACV;EACA,aAAa;GACX,QAAQ;GACR,SAAS,cAAc,IAAK,oBAAoB,cAAe,MAAM;GACrE,QAAQ;EACV;EACA;EACA,WAAW;CACb;AACF"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-tenant credential resolution seam for deployed (multi-user) servers.
|
|
3
|
+
*
|
|
4
|
+
* Locally, model resolution reads the server-global file-backed `AuthStorage`.
|
|
5
|
+
* A deployed web host registers a {@link CredentialStoreProvider} at boot; from
|
|
6
|
+
* then on `resolveModel` uses the host's trusted execution policy, never mutable
|
|
7
|
+
* session state. Factory scope reads organization credentials only. User scope reads
|
|
8
|
+
* the Factory session owner's credentials only, or the authenticated principal
|
|
9
|
+
* for project-less personal sessions.
|
|
10
|
+
*
|
|
11
|
+
* When no provider is registered (TUI, local web), everything falls through to
|
|
12
|
+
* the existing global behavior unchanged.
|
|
13
|
+
*/
|
|
14
|
+
import type { RequestContext } from '@mastra/core/request-context';
|
|
15
|
+
import type { CredentialStore } from '../auth/types.js';
|
|
16
|
+
export type CredentialScope = 'factory' | 'user';
|
|
17
|
+
/** The identity and exclusive scope a credential lookup is resolved against. */
|
|
18
|
+
export interface CredentialTenant {
|
|
19
|
+
/** Org tenant; absent for personal accounts (store impls may synthesize one). */
|
|
20
|
+
orgId?: string;
|
|
21
|
+
/** Stable user id used for user-scoped credentials and tenant cache keys. */
|
|
22
|
+
userId: string;
|
|
23
|
+
/** Exclusive credential scope for this request. */
|
|
24
|
+
credentialScope: CredentialScope;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Returns a tenant-scoped {@link CredentialStore}, or `undefined` when tenant
|
|
28
|
+
* storage is unavailable. Must be synchronous — implementations serve from a
|
|
29
|
+
* primed snapshot and do authoritative async work inside `getApiKey`.
|
|
30
|
+
*/
|
|
31
|
+
export type CredentialStoreProvider = (tenant: CredentialTenant) => CredentialStore | undefined;
|
|
32
|
+
export type CredentialTenantResolver = (requestContext: RequestContext) => Promise<CredentialTenant | undefined>;
|
|
33
|
+
/** Register (or clear) the tenant credential store provider. Deployed-web only. */
|
|
34
|
+
export declare function setCredentialStoreProvider(provider: CredentialStoreProvider | undefined, resolveTenant?: CredentialTenantResolver): void;
|
|
35
|
+
/** Refresh authority before a fresh model invocation; cloned contexts inherit only an opaque token. */
|
|
36
|
+
export declare function prepareCredentialTenant(requestContext?: RequestContext): Promise<void>;
|
|
37
|
+
export declare function withCredentialTenantPreparation<T>(resolve: (ctx: {
|
|
38
|
+
requestContext: RequestContext;
|
|
39
|
+
}) => T): (ctx: {
|
|
40
|
+
requestContext: RequestContext;
|
|
41
|
+
}) => Promise<T>;
|
|
42
|
+
/**
|
|
43
|
+
* Whether a tenant provider is registered. Used to disable the
|
|
44
|
+
* `loadStoredApiKeysIntoEnv` side-channel in deployed mode — per-tenant
|
|
45
|
+
* credentials must never leak into process-global env vars.
|
|
46
|
+
*/
|
|
47
|
+
export declare function hasCredentialStoreProvider(): boolean;
|
|
48
|
+
export declare function hasCredentialTenantResolver(): boolean;
|
|
49
|
+
export declare function resolveCredentialScope(requestContext?: RequestContext): CredentialScope;
|
|
50
|
+
/**
|
|
51
|
+
* Derive the calling tenant from a request context, if an authenticated web
|
|
52
|
+
* user was stashed on it. Mirrors the web layer's stable-id resolution
|
|
53
|
+
* (`workosId` falling back to the provider `id`).
|
|
54
|
+
*
|
|
55
|
+
* Session state and HTTP-supplied policy values never establish credential authority.
|
|
56
|
+
*/
|
|
57
|
+
export declare function resolveTenantFromRequestContext(requestContext?: RequestContext): CredentialTenant | undefined;
|
|
58
|
+
/** Authenticated principal only, for hosts resolving durable session ownership. */
|
|
59
|
+
export declare function resolveAuthenticatedCredentialTenant(requestContext?: RequestContext): CredentialTenant | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Resolve the credential store for a request. Local mode returns `undefined`
|
|
62
|
+
* and keeps the global `AuthStorage` behavior. Once deployed web registers a
|
|
63
|
+
* provider, missing tenant identity or unavailable tenant storage fails closed
|
|
64
|
+
* through an empty store that also disables process-environment fallback.
|
|
65
|
+
*/
|
|
66
|
+
export declare function resolveCredentialStore(requestContext?: RequestContext): CredentialStore | undefined;
|
|
67
|
+
//# sourceMappingURL=credential-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-resolver.d.ts","sourceRoot":"","sources":["../../src/agents/credential-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,CAAC;AAEjD,gFAAgF;AAChF,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,eAAe,EAAE,eAAe,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,eAAe,GAAG,SAAS,CAAC;AAEhG,MAAM,MAAM,wBAAwB,GAAG,CAAC,cAAc,EAAE,cAAc,KAAK,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;AAqBjH,mFAAmF;AACnF,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,uBAAuB,GAAG,SAAS,EAC7C,aAAa,CAAC,EAAE,wBAAwB,GACvC,IAAI,CAIN;AAED,uGAAuG;AACvG,wBAAsB,uBAAuB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5F;AA0BD,wBAAgB,+BAA+B,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE;IAAE,cAAc,EAAE,cAAc,CAAA;CAAE,KAAK,CAAC,IAC1F,KAAK;IAAE,cAAc,EAAE,cAAc,CAAA;CAAE,KAAG,OAAO,CAAC,CAAC,CAAC,CAInE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAEpD;AAED,wBAAgB,2BAA2B,IAAI,OAAO,CAErD;AAkBD,wBAAgB,sBAAsB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,eAAe,CAEvF;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,gBAAgB,GAAG,SAAS,CAI7G;AAED,mFAAmF;AACnF,wBAAgB,oCAAoC,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,gBAAgB,GAAG,SAAS,CAclH;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,eAAe,GAAG,SAAS,CAsBnG"}
|