@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 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/hooks/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { DEFAULT_CONFIG_DIR } from "../constants.js";
|
|
2
|
+
import { getGlobalHooksPath, getProjectHooksPath, loadHooksConfig } from "./config.js";
|
|
3
|
+
import { runHooksForEvent } from "./executor.js";
|
|
4
|
+
//#region src/hooks/manager.ts
|
|
5
|
+
/**
|
|
6
|
+
* HookManager — high-level orchestration for the hooks system.
|
|
7
|
+
* Created once at startup, provides methods for each lifecycle event.
|
|
8
|
+
*/
|
|
9
|
+
const emptyResult = () => ({
|
|
10
|
+
allowed: true,
|
|
11
|
+
results: [],
|
|
12
|
+
warnings: []
|
|
13
|
+
});
|
|
14
|
+
var HookManager = class {
|
|
15
|
+
config;
|
|
16
|
+
projectDir;
|
|
17
|
+
sessionId;
|
|
18
|
+
configDirName;
|
|
19
|
+
homeDir;
|
|
20
|
+
runId;
|
|
21
|
+
worktree;
|
|
22
|
+
constructor(projectDir, sessionId, configDirName = DEFAULT_CONFIG_DIR, homeDir, worktree) {
|
|
23
|
+
this.worktree = worktree;
|
|
24
|
+
this.projectDir = projectDir;
|
|
25
|
+
this.sessionId = sessionId;
|
|
26
|
+
this.configDirName = configDirName;
|
|
27
|
+
this.homeDir = homeDir;
|
|
28
|
+
this.config = loadHooksConfig(projectDir, configDirName, homeDir);
|
|
29
|
+
}
|
|
30
|
+
reload() {
|
|
31
|
+
this.config = loadHooksConfig(this.projectDir, this.configDirName, this.homeDir);
|
|
32
|
+
}
|
|
33
|
+
setSessionId(sessionId) {
|
|
34
|
+
this.sessionId = sessionId;
|
|
35
|
+
}
|
|
36
|
+
/** Set the active agent run id. Included as `run_id` in all hook stdin while a run is active. */
|
|
37
|
+
setRunId(runId) {
|
|
38
|
+
this.runId = runId;
|
|
39
|
+
}
|
|
40
|
+
/** Clear the active run id. Call only after end-of-run hooks (AgentEnd, Stop) have been dispatched. */
|
|
41
|
+
clearRunId() {
|
|
42
|
+
this.runId = void 0;
|
|
43
|
+
}
|
|
44
|
+
getRunId() {
|
|
45
|
+
return this.runId;
|
|
46
|
+
}
|
|
47
|
+
hasHooks() {
|
|
48
|
+
return Object.keys(this.config).length > 0;
|
|
49
|
+
}
|
|
50
|
+
getConfig() {
|
|
51
|
+
return this.config;
|
|
52
|
+
}
|
|
53
|
+
getConfigPaths() {
|
|
54
|
+
return {
|
|
55
|
+
project: getProjectHooksPath(this.projectDir, this.configDirName),
|
|
56
|
+
global: getGlobalHooksPath(this.configDirName, this.homeDir)
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Build the common stdin base fields. `run_id` is included when an active run
|
|
61
|
+
* is set, so every event dispatched during a run carries the same identifier.
|
|
62
|
+
*/
|
|
63
|
+
baseStdinFields(hook_event_name) {
|
|
64
|
+
const base = {
|
|
65
|
+
session_id: this.sessionId,
|
|
66
|
+
cwd: this.projectDir,
|
|
67
|
+
hook_event_name
|
|
68
|
+
};
|
|
69
|
+
if (this.runId) base.run_id = this.runId;
|
|
70
|
+
return base;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Session stdin, carrying worktree identity when there is one. Emitted on both
|
|
74
|
+
* session events so a hook that provisions on start can tear down on end using
|
|
75
|
+
* the same fields.
|
|
76
|
+
*/
|
|
77
|
+
sessionStdin(hook_event_name) {
|
|
78
|
+
const stdin = this.baseStdinFields(hook_event_name);
|
|
79
|
+
if (this.worktree) {
|
|
80
|
+
stdin.worktree_path = this.worktree.path;
|
|
81
|
+
if (this.worktree.branch) stdin.branch = this.worktree.branch;
|
|
82
|
+
if (this.worktree.mainRepoPath) stdin.main_repo_path = this.worktree.mainRepoPath;
|
|
83
|
+
}
|
|
84
|
+
return stdin;
|
|
85
|
+
}
|
|
86
|
+
async runPreToolUse(toolName, toolInput) {
|
|
87
|
+
const hooks = this.config.PreToolUse;
|
|
88
|
+
if (!hooks || hooks.length === 0) return emptyResult();
|
|
89
|
+
return runHooksForEvent(hooks, {
|
|
90
|
+
...this.baseStdinFields("PreToolUse"),
|
|
91
|
+
tool_name: toolName,
|
|
92
|
+
tool_input: toolInput
|
|
93
|
+
}, { tool_name: toolName });
|
|
94
|
+
}
|
|
95
|
+
async runPostToolUse(toolName, toolInput, toolOutput, toolError) {
|
|
96
|
+
const hooks = this.config.PostToolUse;
|
|
97
|
+
if (!hooks || hooks.length === 0) return emptyResult();
|
|
98
|
+
return runHooksForEvent(hooks, {
|
|
99
|
+
...this.baseStdinFields("PostToolUse"),
|
|
100
|
+
tool_name: toolName,
|
|
101
|
+
tool_input: toolInput,
|
|
102
|
+
tool_output: toolOutput,
|
|
103
|
+
tool_error: toolError
|
|
104
|
+
}, { tool_name: toolName });
|
|
105
|
+
}
|
|
106
|
+
async runUserPromptSubmit(userMessage) {
|
|
107
|
+
const hooks = this.config.UserPromptSubmit;
|
|
108
|
+
if (!hooks || hooks.length === 0) return emptyResult();
|
|
109
|
+
return runHooksForEvent(hooks, {
|
|
110
|
+
...this.baseStdinFields("UserPromptSubmit"),
|
|
111
|
+
user_message: userMessage
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
async runStop(assistantMessage, stopReason) {
|
|
115
|
+
const hooks = this.config.Stop;
|
|
116
|
+
if (!hooks || hooks.length === 0) return emptyResult();
|
|
117
|
+
return runHooksForEvent(hooks, {
|
|
118
|
+
...this.baseStdinFields("Stop"),
|
|
119
|
+
assistant_message: assistantMessage,
|
|
120
|
+
stop_reason: stopReason
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
async runSessionStart() {
|
|
124
|
+
const hooks = this.config.SessionStart;
|
|
125
|
+
if (!hooks || hooks.length === 0) return emptyResult();
|
|
126
|
+
return runHooksForEvent(hooks, this.sessionStdin("SessionStart"));
|
|
127
|
+
}
|
|
128
|
+
async runSessionEnd() {
|
|
129
|
+
const hooks = this.config.SessionEnd;
|
|
130
|
+
if (!hooks || hooks.length === 0) return emptyResult();
|
|
131
|
+
return runHooksForEvent(hooks, this.sessionStdin("SessionEnd"));
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Fire notification hooks (non-blocking, fire-and-forget).
|
|
135
|
+
* Called when the TUI is waiting for user input.
|
|
136
|
+
*/
|
|
137
|
+
runNotification(reason, message) {
|
|
138
|
+
const hooks = this.config.Notification;
|
|
139
|
+
if (!hooks || hooks.length === 0) return;
|
|
140
|
+
runHooksForEvent(hooks, {
|
|
141
|
+
...this.baseStdinFields("Notification"),
|
|
142
|
+
reason,
|
|
143
|
+
message
|
|
144
|
+
}).catch(() => {});
|
|
145
|
+
}
|
|
146
|
+
async runAgentStart() {
|
|
147
|
+
const hooks = this.config.AgentStart;
|
|
148
|
+
if (!hooks || hooks.length === 0) return emptyResult();
|
|
149
|
+
const runId = this.runId;
|
|
150
|
+
if (!runId) return emptyResult();
|
|
151
|
+
return runHooksForEvent(hooks, {
|
|
152
|
+
...this.baseStdinFields("AgentStart"),
|
|
153
|
+
run_id: runId
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
async runAgentEnd(stopReason) {
|
|
157
|
+
const hooks = this.config.AgentEnd;
|
|
158
|
+
if (!hooks || hooks.length === 0) return emptyResult();
|
|
159
|
+
const runId = this.runId;
|
|
160
|
+
if (!runId) return emptyResult();
|
|
161
|
+
return runHooksForEvent(hooks, {
|
|
162
|
+
...this.baseStdinFields("AgentEnd"),
|
|
163
|
+
run_id: runId,
|
|
164
|
+
stop_reason: stopReason
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
async runPermissionRequest(permissionKind, toolCallId, toolName, toolInput) {
|
|
168
|
+
const hooks = this.config.PermissionRequest;
|
|
169
|
+
if (!hooks || hooks.length === 0) return emptyResult();
|
|
170
|
+
const runId = this.runId;
|
|
171
|
+
if (!runId) return emptyResult();
|
|
172
|
+
return runHooksForEvent(hooks, {
|
|
173
|
+
...this.baseStdinFields("PermissionRequest"),
|
|
174
|
+
run_id: runId,
|
|
175
|
+
permission_kind: permissionKind,
|
|
176
|
+
tool_call_id: toolCallId,
|
|
177
|
+
tool_name: toolName,
|
|
178
|
+
...toolInput !== void 0 ? { tool_input: toolInput } : {}
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
async runPermissionResult(permissionKind, toolCallId, toolName, decision, toolInput) {
|
|
182
|
+
const hooks = this.config.PermissionResult;
|
|
183
|
+
if (!hooks || hooks.length === 0) return emptyResult();
|
|
184
|
+
const runId = this.runId;
|
|
185
|
+
if (!runId) return emptyResult();
|
|
186
|
+
return runHooksForEvent(hooks, {
|
|
187
|
+
...this.baseStdinFields("PermissionResult"),
|
|
188
|
+
run_id: runId,
|
|
189
|
+
permission_kind: permissionKind,
|
|
190
|
+
tool_call_id: toolCallId,
|
|
191
|
+
tool_name: toolName,
|
|
192
|
+
decision,
|
|
193
|
+
...toolInput !== void 0 ? { tool_input: toolInput } : {}
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
async runInterrupt(reason) {
|
|
197
|
+
const hooks = this.config.Interrupt;
|
|
198
|
+
if (!hooks || hooks.length === 0) return emptyResult();
|
|
199
|
+
const runId = this.runId;
|
|
200
|
+
if (!runId) return emptyResult();
|
|
201
|
+
return runHooksForEvent(hooks, {
|
|
202
|
+
...this.baseStdinFields("Interrupt"),
|
|
203
|
+
run_id: runId,
|
|
204
|
+
reason
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
async runSubagentStart(toolCallId, agentType, task, modelId, forked) {
|
|
208
|
+
const hooks = this.config.SubagentStart;
|
|
209
|
+
if (!hooks || hooks.length === 0) return emptyResult();
|
|
210
|
+
const runId = this.runId;
|
|
211
|
+
if (!runId) return emptyResult();
|
|
212
|
+
return runHooksForEvent(hooks, {
|
|
213
|
+
...this.baseStdinFields("SubagentStart"),
|
|
214
|
+
run_id: runId,
|
|
215
|
+
tool_call_id: toolCallId,
|
|
216
|
+
agent_type: agentType,
|
|
217
|
+
task,
|
|
218
|
+
...modelId !== void 0 ? { model_id: modelId } : {},
|
|
219
|
+
...forked !== void 0 ? { forked } : {}
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
async runSubagentEnd(toolCallId, agentType, result, isError, durationMs) {
|
|
223
|
+
const hooks = this.config.SubagentEnd;
|
|
224
|
+
if (!hooks || hooks.length === 0) return emptyResult();
|
|
225
|
+
const runId = this.runId;
|
|
226
|
+
if (!runId) return emptyResult();
|
|
227
|
+
return runHooksForEvent(hooks, {
|
|
228
|
+
...this.baseStdinFields("SubagentEnd"),
|
|
229
|
+
run_id: runId,
|
|
230
|
+
tool_call_id: toolCallId,
|
|
231
|
+
agent_type: agentType,
|
|
232
|
+
result,
|
|
233
|
+
is_error: isError,
|
|
234
|
+
duration_ms: durationMs
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
//#endregion
|
|
239
|
+
export { HookManager };
|
|
240
|
+
|
|
241
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","names":[],"sources":["../../src/hooks/manager.ts"],"sourcesContent":["/**\n * HookManager — high-level orchestration for the hooks system.\n * Created once at startup, provides methods for each lifecycle event.\n */\nimport { DEFAULT_CONFIG_DIR } from '../constants.js';\nimport { loadHooksConfig, getProjectHooksPath, getGlobalHooksPath } from './config.js';\nimport { runHooksForEvent } from './executor.js';\nimport type {\n HooksConfig,\n HookEventResult,\n HookEventName,\n HookStdinToolEvent,\n HookStdinUserPrompt,\n HookStdinStop,\n HookStdinSession,\n HookStdinNotification,\n HookStdinAgentStart,\n HookStdinAgentEnd,\n HookStdinPermissionRequest,\n HookStdinPermissionResult,\n HookStdinInterrupt,\n HookStdinSubagentStart,\n HookStdinSubagentEnd,\n PermissionKind,\n PermissionDecision,\n InterruptReason,\n SessionWorktreeInfo,\n} from './types.js';\n\nconst emptyResult = (): HookEventResult => ({ allowed: true, results: [], warnings: [] });\n\nexport class HookManager {\n private config: HooksConfig;\n private projectDir: string;\n private sessionId: string;\n private configDirName: string;\n private homeDir?: string;\n private runId?: string;\n private worktree?: SessionWorktreeInfo;\n\n constructor(\n projectDir: string,\n sessionId: string,\n configDirName = DEFAULT_CONFIG_DIR,\n homeDir?: string,\n worktree?: SessionWorktreeInfo,\n ) {\n this.worktree = worktree;\n this.projectDir = projectDir;\n this.sessionId = sessionId;\n this.configDirName = configDirName;\n this.homeDir = homeDir;\n this.config = loadHooksConfig(projectDir, configDirName, homeDir);\n }\n\n reload(): void {\n this.config = loadHooksConfig(this.projectDir, this.configDirName, this.homeDir);\n }\n\n setSessionId(sessionId: string): void {\n this.sessionId = sessionId;\n }\n\n /** Set the active agent run id. Included as `run_id` in all hook stdin while a run is active. */\n setRunId(runId: string): void {\n this.runId = runId;\n }\n\n /** Clear the active run id. Call only after end-of-run hooks (AgentEnd, Stop) have been dispatched. */\n clearRunId(): void {\n this.runId = undefined;\n }\n\n getRunId(): string | undefined {\n return this.runId;\n }\n\n hasHooks(): boolean {\n return Object.keys(this.config).length > 0;\n }\n\n getConfig(): HooksConfig {\n return this.config;\n }\n\n getConfigPaths(): { project: string; global: string } {\n return {\n project: getProjectHooksPath(this.projectDir, this.configDirName),\n global: getGlobalHooksPath(this.configDirName, this.homeDir),\n };\n }\n\n // =========================================================================\n // Stdin Helpers\n // =========================================================================\n\n /**\n * Build the common stdin base fields. `run_id` is included when an active run\n * is set, so every event dispatched during a run carries the same identifier.\n */\n private baseStdinFields<T extends HookEventName>(\n hook_event_name: T,\n ): {\n session_id: string;\n cwd: string;\n hook_event_name: T;\n run_id?: string;\n } {\n const base: { session_id: string; cwd: string; hook_event_name: T; run_id?: string } = {\n session_id: this.sessionId,\n cwd: this.projectDir,\n hook_event_name,\n };\n if (this.runId) base.run_id = this.runId;\n return base;\n }\n\n /**\n * Session stdin, carrying worktree identity when there is one. Emitted on both\n * session events so a hook that provisions on start can tear down on end using\n * the same fields.\n */\n private sessionStdin(hook_event_name: 'SessionStart' | 'SessionEnd'): HookStdinSession {\n const stdin: HookStdinSession = this.baseStdinFields(hook_event_name);\n if (this.worktree) {\n stdin.worktree_path = this.worktree.path;\n if (this.worktree.branch) stdin.branch = this.worktree.branch;\n if (this.worktree.mainRepoPath) stdin.main_repo_path = this.worktree.mainRepoPath;\n }\n return stdin;\n }\n\n // =========================================================================\n // Blocking Event Methods (decisions enforced by callers)\n // =========================================================================\n\n async runPreToolUse(toolName: string, toolInput: unknown): Promise<HookEventResult> {\n const hooks = this.config.PreToolUse;\n if (!hooks || hooks.length === 0) {\n return emptyResult();\n }\n\n const stdin: HookStdinToolEvent = {\n ...this.baseStdinFields('PreToolUse'),\n tool_name: toolName,\n tool_input: toolInput,\n };\n\n return runHooksForEvent(hooks, stdin, { tool_name: toolName });\n }\n\n async runPostToolUse(\n toolName: string,\n toolInput: unknown,\n toolOutput: unknown,\n toolError: boolean,\n ): Promise<HookEventResult> {\n const hooks = this.config.PostToolUse;\n if (!hooks || hooks.length === 0) {\n return emptyResult();\n }\n\n const stdin: HookStdinToolEvent = {\n ...this.baseStdinFields('PostToolUse'),\n tool_name: toolName,\n tool_input: toolInput,\n tool_output: toolOutput,\n tool_error: toolError,\n };\n\n return runHooksForEvent(hooks, stdin, { tool_name: toolName });\n }\n\n async runUserPromptSubmit(userMessage: string): Promise<HookEventResult> {\n const hooks = this.config.UserPromptSubmit;\n if (!hooks || hooks.length === 0) {\n return emptyResult();\n }\n\n const stdin: HookStdinUserPrompt = {\n ...this.baseStdinFields('UserPromptSubmit'),\n user_message: userMessage,\n };\n\n return runHooksForEvent(hooks, stdin);\n }\n\n async runStop(\n assistantMessage: string | undefined,\n stopReason: 'complete' | 'aborted' | 'error',\n ): Promise<HookEventResult> {\n const hooks = this.config.Stop;\n if (!hooks || hooks.length === 0) {\n return emptyResult();\n }\n\n const stdin: HookStdinStop = {\n ...this.baseStdinFields('Stop'),\n assistant_message: assistantMessage,\n stop_reason: stopReason,\n };\n\n return runHooksForEvent(hooks, stdin);\n }\n\n async runSessionStart(): Promise<HookEventResult> {\n const hooks = this.config.SessionStart;\n if (!hooks || hooks.length === 0) {\n return emptyResult();\n }\n\n const stdin: HookStdinSession = this.sessionStdin('SessionStart');\n\n return runHooksForEvent(hooks, stdin);\n }\n async runSessionEnd(): Promise<HookEventResult> {\n const hooks = this.config.SessionEnd;\n if (!hooks || hooks.length === 0) {\n return emptyResult();\n }\n\n const stdin: HookStdinSession = this.sessionStdin('SessionEnd');\n\n return runHooksForEvent(hooks, stdin);\n }\n\n /**\n * Fire notification hooks (non-blocking, fire-and-forget).\n * Called when the TUI is waiting for user input.\n */\n runNotification(reason: string, message?: string): void {\n const hooks = this.config.Notification;\n if (!hooks || hooks.length === 0) return;\n\n const stdin: HookStdinNotification = {\n ...this.baseStdinFields('Notification'),\n reason,\n message,\n };\n\n // Fire-and-forget — don't await\n runHooksForEvent(hooks, stdin).catch(() => {});\n }\n\n // =========================================================================\n // Lifecycle Event Methods (non-blocking: observe behavior, never enforce)\n // =========================================================================\n\n async runAgentStart(): Promise<HookEventResult> {\n const hooks = this.config.AgentStart;\n if (!hooks || hooks.length === 0) {\n return emptyResult();\n }\n const runId = this.runId;\n if (!runId) {\n return emptyResult();\n }\n\n const stdin: HookStdinAgentStart = {\n ...this.baseStdinFields('AgentStart'),\n run_id: runId,\n };\n\n return runHooksForEvent(hooks, stdin);\n }\n\n async runAgentEnd(stopReason: 'complete' | 'aborted' | 'error' | 'suspended'): Promise<HookEventResult> {\n const hooks = this.config.AgentEnd;\n if (!hooks || hooks.length === 0) {\n return emptyResult();\n }\n const runId = this.runId;\n if (!runId) {\n return emptyResult();\n }\n\n const stdin: HookStdinAgentEnd = {\n ...this.baseStdinFields('AgentEnd'),\n run_id: runId,\n stop_reason: stopReason,\n };\n\n return runHooksForEvent(hooks, stdin);\n }\n\n async runPermissionRequest(\n permissionKind: PermissionKind,\n toolCallId: string,\n toolName: string,\n toolInput?: unknown,\n ): Promise<HookEventResult> {\n const hooks = this.config.PermissionRequest;\n if (!hooks || hooks.length === 0) {\n return emptyResult();\n }\n const runId = this.runId;\n if (!runId) {\n return emptyResult();\n }\n\n const stdin: HookStdinPermissionRequest = {\n ...this.baseStdinFields('PermissionRequest'),\n run_id: runId,\n permission_kind: permissionKind,\n tool_call_id: toolCallId,\n tool_name: toolName,\n ...(toolInput !== undefined ? { tool_input: toolInput } : {}),\n };\n\n return runHooksForEvent(hooks, stdin);\n }\n\n async runPermissionResult(\n permissionKind: PermissionKind,\n toolCallId: string,\n toolName: string,\n decision: PermissionDecision,\n toolInput?: unknown,\n ): Promise<HookEventResult> {\n const hooks = this.config.PermissionResult;\n if (!hooks || hooks.length === 0) {\n return emptyResult();\n }\n\n const runId = this.runId;\n if (!runId) {\n return emptyResult();\n }\n\n const stdin: HookStdinPermissionResult = {\n ...this.baseStdinFields('PermissionResult'),\n run_id: runId,\n permission_kind: permissionKind,\n tool_call_id: toolCallId,\n tool_name: toolName,\n decision,\n ...(toolInput !== undefined ? { tool_input: toolInput } : {}),\n };\n\n return runHooksForEvent(hooks, stdin);\n }\n\n async runInterrupt(reason: InterruptReason): Promise<HookEventResult> {\n const hooks = this.config.Interrupt;\n if (!hooks || hooks.length === 0) {\n return emptyResult();\n }\n\n const runId = this.runId;\n if (!runId) {\n return emptyResult();\n }\n\n const stdin: HookStdinInterrupt = {\n ...this.baseStdinFields('Interrupt'),\n run_id: runId,\n reason,\n };\n\n return runHooksForEvent(hooks, stdin);\n }\n\n async runSubagentStart(\n toolCallId: string,\n agentType: string,\n task: string,\n modelId?: string,\n forked?: boolean,\n ): Promise<HookEventResult> {\n const hooks = this.config.SubagentStart;\n if (!hooks || hooks.length === 0) {\n return emptyResult();\n }\n const runId = this.runId;\n if (!runId) {\n return emptyResult();\n }\n\n const stdin: HookStdinSubagentStart = {\n ...this.baseStdinFields('SubagentStart'),\n run_id: runId,\n tool_call_id: toolCallId,\n agent_type: agentType,\n task,\n ...(modelId !== undefined ? { model_id: modelId } : {}),\n ...(forked !== undefined ? { forked } : {}),\n };\n\n return runHooksForEvent(hooks, stdin);\n }\n\n async runSubagentEnd(\n toolCallId: string,\n agentType: string,\n result: unknown,\n isError: boolean,\n durationMs: number,\n ): Promise<HookEventResult> {\n const hooks = this.config.SubagentEnd;\n if (!hooks || hooks.length === 0) {\n return emptyResult();\n }\n const runId = this.runId;\n if (!runId) {\n return emptyResult();\n }\n\n const stdin: HookStdinSubagentEnd = {\n ...this.baseStdinFields('SubagentEnd'),\n run_id: runId,\n tool_call_id: toolCallId,\n agent_type: agentType,\n result,\n is_error: isError,\n duration_ms: durationMs,\n };\n\n return runHooksForEvent(hooks, stdin);\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the hooks system.
|
|
3
|
+
* Hooks are user-configured shell commands that run at lifecycle events.
|
|
4
|
+
*/
|
|
5
|
+
export type HookEventName = 'PreToolUse' | 'PostToolUse' | 'Stop' | 'UserPromptSubmit' | 'SessionStart' | 'SessionEnd' | 'Notification' | 'AgentStart' | 'AgentEnd' | 'PermissionRequest' | 'PermissionResult' | 'Interrupt' | 'SubagentStart' | 'SubagentEnd';
|
|
6
|
+
export type BlockingHookEvent = 'PreToolUse' | 'Stop' | 'UserPromptSubmit';
|
|
7
|
+
/** Lifecycle hook events are non-blocking: they observe behavior without changing it. */
|
|
8
|
+
export type LifecycleHookEvent = 'AgentStart' | 'AgentEnd' | 'PermissionRequest' | 'PermissionResult' | 'Interrupt' | 'SubagentStart' | 'SubagentEnd';
|
|
9
|
+
export declare function isBlockingEvent(event: HookEventName): event is BlockingHookEvent;
|
|
10
|
+
export interface HookMatcher {
|
|
11
|
+
/** Regex pattern matched against tool_name (PreToolUse/PostToolUse only). */
|
|
12
|
+
tool_name?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface HookDefinition {
|
|
15
|
+
/** Hook type. Only "command" supported in phase 1. */
|
|
16
|
+
type: 'command';
|
|
17
|
+
/** Shell command to execute via /bin/sh -c. */
|
|
18
|
+
command: string;
|
|
19
|
+
/** Optional matcher to filter when this hook runs. */
|
|
20
|
+
matcher?: HookMatcher;
|
|
21
|
+
/** Timeout in ms. Default 10000. Process killed after timeout. */
|
|
22
|
+
timeout?: number;
|
|
23
|
+
/** Human-readable description for /hooks display. */
|
|
24
|
+
description?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface HooksConfig {
|
|
27
|
+
PreToolUse?: HookDefinition[];
|
|
28
|
+
PostToolUse?: HookDefinition[];
|
|
29
|
+
Stop?: HookDefinition[];
|
|
30
|
+
UserPromptSubmit?: HookDefinition[];
|
|
31
|
+
SessionStart?: HookDefinition[];
|
|
32
|
+
SessionEnd?: HookDefinition[];
|
|
33
|
+
Notification?: HookDefinition[];
|
|
34
|
+
AgentStart?: HookDefinition[];
|
|
35
|
+
AgentEnd?: HookDefinition[];
|
|
36
|
+
PermissionRequest?: HookDefinition[];
|
|
37
|
+
PermissionResult?: HookDefinition[];
|
|
38
|
+
Interrupt?: HookDefinition[];
|
|
39
|
+
SubagentStart?: HookDefinition[];
|
|
40
|
+
SubagentEnd?: HookDefinition[];
|
|
41
|
+
}
|
|
42
|
+
export interface HookStdinBase {
|
|
43
|
+
session_id: string;
|
|
44
|
+
cwd: string;
|
|
45
|
+
hook_event_name: HookEventName;
|
|
46
|
+
/**
|
|
47
|
+
* Stable MastraCode-generated id for the active agent run. Present on events
|
|
48
|
+
* emitted while a run is active (AgentStart..AgentEnd, tool hooks, Stop).
|
|
49
|
+
* Absent outside a run (SessionStart, SessionEnd, Notification fired idle).
|
|
50
|
+
*/
|
|
51
|
+
run_id?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface HookStdinToolEvent extends HookStdinBase {
|
|
54
|
+
hook_event_name: 'PreToolUse' | 'PostToolUse';
|
|
55
|
+
tool_name: string;
|
|
56
|
+
tool_input: unknown;
|
|
57
|
+
tool_output?: unknown;
|
|
58
|
+
tool_error?: boolean;
|
|
59
|
+
}
|
|
60
|
+
export interface HookStdinUserPrompt extends HookStdinBase {
|
|
61
|
+
hook_event_name: 'UserPromptSubmit';
|
|
62
|
+
user_message: string;
|
|
63
|
+
}
|
|
64
|
+
export interface HookStdinStop extends HookStdinBase {
|
|
65
|
+
hook_event_name: 'Stop';
|
|
66
|
+
assistant_message?: string;
|
|
67
|
+
stop_reason: 'complete' | 'aborted' | 'error';
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Describes the git worktree a session is running in. Absent for sessions
|
|
71
|
+
* started in an ordinary checkout.
|
|
72
|
+
*/
|
|
73
|
+
export interface SessionWorktreeInfo {
|
|
74
|
+
/** Absolute path to the worktree root. */
|
|
75
|
+
path: string;
|
|
76
|
+
/** Branch checked out in the worktree, when it can be resolved. */
|
|
77
|
+
branch?: string;
|
|
78
|
+
/** Absolute path to the main repository the worktree is linked to. */
|
|
79
|
+
mainRepoPath?: string;
|
|
80
|
+
}
|
|
81
|
+
export interface HookStdinSession extends HookStdinBase {
|
|
82
|
+
hook_event_name: 'SessionStart' | 'SessionEnd';
|
|
83
|
+
/**
|
|
84
|
+
* Set only when the session's project directory is a git worktree, so a hook
|
|
85
|
+
* can provision or tear down per-worktree resources (a database, a bucket, a
|
|
86
|
+
* dev server) and distinguish that from a session in the main checkout.
|
|
87
|
+
*/
|
|
88
|
+
worktree_path?: string;
|
|
89
|
+
branch?: string;
|
|
90
|
+
main_repo_path?: string;
|
|
91
|
+
}
|
|
92
|
+
export interface HookStdinNotification extends HookStdinBase {
|
|
93
|
+
hook_event_name: 'Notification';
|
|
94
|
+
/** Why the notification fired: agent_done, ask_question, tool_approval, plan_approval, sandbox_access */
|
|
95
|
+
reason: string;
|
|
96
|
+
/** Optional human-readable message for the notification. */
|
|
97
|
+
message?: string;
|
|
98
|
+
}
|
|
99
|
+
export interface HookStdinAgentStart extends HookStdinBase {
|
|
100
|
+
hook_event_name: 'AgentStart';
|
|
101
|
+
run_id: string;
|
|
102
|
+
}
|
|
103
|
+
export interface HookStdinAgentEnd extends HookStdinBase {
|
|
104
|
+
hook_event_name: 'AgentEnd';
|
|
105
|
+
run_id: string;
|
|
106
|
+
stop_reason: 'complete' | 'aborted' | 'error' | 'suspended';
|
|
107
|
+
}
|
|
108
|
+
export type PermissionKind = 'tool_approval' | 'sandbox_access' | 'plan_approval';
|
|
109
|
+
export interface HookStdinPermissionRequest extends HookStdinBase {
|
|
110
|
+
hook_event_name: 'PermissionRequest';
|
|
111
|
+
run_id: string;
|
|
112
|
+
permission_kind: PermissionKind;
|
|
113
|
+
tool_call_id: string;
|
|
114
|
+
tool_name: string;
|
|
115
|
+
tool_input?: unknown;
|
|
116
|
+
}
|
|
117
|
+
export type PermissionDecision = 'approved' | 'declined' | 'dismissed' | 'auto_approved' | 'auto_declined';
|
|
118
|
+
export interface HookStdinPermissionResult extends HookStdinBase {
|
|
119
|
+
hook_event_name: 'PermissionResult';
|
|
120
|
+
run_id: string;
|
|
121
|
+
permission_kind: PermissionKind;
|
|
122
|
+
tool_call_id: string;
|
|
123
|
+
tool_name: string;
|
|
124
|
+
tool_input?: unknown;
|
|
125
|
+
decision: PermissionDecision;
|
|
126
|
+
}
|
|
127
|
+
export type InterruptReason = 'user_interrupt' | 'goal_judge_interrupt' | 'process_sigint';
|
|
128
|
+
export interface HookStdinInterrupt extends HookStdinBase {
|
|
129
|
+
hook_event_name: 'Interrupt';
|
|
130
|
+
run_id: string;
|
|
131
|
+
reason: InterruptReason;
|
|
132
|
+
}
|
|
133
|
+
export interface HookStdinSubagentStart extends HookStdinBase {
|
|
134
|
+
hook_event_name: 'SubagentStart';
|
|
135
|
+
run_id: string;
|
|
136
|
+
tool_call_id: string;
|
|
137
|
+
agent_type: string;
|
|
138
|
+
task: string;
|
|
139
|
+
model_id?: string;
|
|
140
|
+
forked?: boolean;
|
|
141
|
+
}
|
|
142
|
+
export interface HookStdinSubagentEnd extends HookStdinBase {
|
|
143
|
+
hook_event_name: 'SubagentEnd';
|
|
144
|
+
run_id: string;
|
|
145
|
+
tool_call_id: string;
|
|
146
|
+
agent_type: string;
|
|
147
|
+
result: unknown;
|
|
148
|
+
is_error: boolean;
|
|
149
|
+
duration_ms: number;
|
|
150
|
+
}
|
|
151
|
+
export type HookStdin = HookStdinToolEvent | HookStdinUserPrompt | HookStdinStop | HookStdinSession | HookStdinNotification | HookStdinAgentStart | HookStdinAgentEnd | HookStdinPermissionRequest | HookStdinPermissionResult | HookStdinInterrupt | HookStdinSubagentStart | HookStdinSubagentEnd;
|
|
152
|
+
export interface HookStdout {
|
|
153
|
+
decision?: 'allow' | 'block';
|
|
154
|
+
reason?: string;
|
|
155
|
+
additionalContext?: string;
|
|
156
|
+
}
|
|
157
|
+
export interface HookResult {
|
|
158
|
+
hook: HookDefinition;
|
|
159
|
+
exitCode: number;
|
|
160
|
+
stdout?: HookStdout;
|
|
161
|
+
stderr?: string;
|
|
162
|
+
timedOut: boolean;
|
|
163
|
+
durationMs: number;
|
|
164
|
+
}
|
|
165
|
+
export interface HookEventResult {
|
|
166
|
+
allowed: boolean;
|
|
167
|
+
blockReason?: string;
|
|
168
|
+
additionalContext?: string;
|
|
169
|
+
results: HookResult[];
|
|
170
|
+
warnings: string[];
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../src/hooks/types.ts"],"sourcesContent":["/**\n * Type definitions for the hooks system.\n * Hooks are user-configured shell commands that run at lifecycle events.\n */\n\n// =============================================================================\n// Hook Event Names\n// =============================================================================\nexport type HookEventName =\n | 'PreToolUse'\n | 'PostToolUse'\n | 'Stop'\n | 'UserPromptSubmit'\n | 'SessionStart'\n | 'SessionEnd'\n | 'Notification'\n | 'AgentStart'\n | 'AgentEnd'\n | 'PermissionRequest'\n | 'PermissionResult'\n | 'Interrupt'\n | 'SubagentStart'\n | 'SubagentEnd';\n\nexport type BlockingHookEvent = 'PreToolUse' | 'Stop' | 'UserPromptSubmit';\n\n/** Lifecycle hook events are non-blocking: they observe behavior without changing it. */\nexport type LifecycleHookEvent =\n | 'AgentStart'\n | 'AgentEnd'\n | 'PermissionRequest'\n | 'PermissionResult'\n | 'Interrupt'\n | 'SubagentStart'\n | 'SubagentEnd';\n\nexport function isBlockingEvent(event: HookEventName): event is BlockingHookEvent {\n return event === 'PreToolUse' || event === 'Stop' || event === 'UserPromptSubmit';\n}\n\n// =============================================================================\n// Hook Configuration\n// =============================================================================\n\nexport interface HookMatcher {\n /** Regex pattern matched against tool_name (PreToolUse/PostToolUse only). */\n tool_name?: string;\n}\n\nexport interface HookDefinition {\n /** Hook type. Only \"command\" supported in phase 1. */\n type: 'command';\n /** Shell command to execute via /bin/sh -c. */\n command: string;\n /** Optional matcher to filter when this hook runs. */\n matcher?: HookMatcher;\n /** Timeout in ms. Default 10000. Process killed after timeout. */\n timeout?: number;\n /** Human-readable description for /hooks display. */\n description?: string;\n}\nexport interface HooksConfig {\n PreToolUse?: HookDefinition[];\n PostToolUse?: HookDefinition[];\n Stop?: HookDefinition[];\n UserPromptSubmit?: HookDefinition[];\n SessionStart?: HookDefinition[];\n SessionEnd?: HookDefinition[];\n Notification?: HookDefinition[];\n AgentStart?: HookDefinition[];\n AgentEnd?: HookDefinition[];\n PermissionRequest?: HookDefinition[];\n PermissionResult?: HookDefinition[];\n Interrupt?: HookDefinition[];\n SubagentStart?: HookDefinition[];\n SubagentEnd?: HookDefinition[];\n}\n\n// =============================================================================\n// Stdin Protocol (JSON sent to hook process)\n// =============================================================================\n\nexport interface HookStdinBase {\n session_id: string;\n cwd: string;\n hook_event_name: HookEventName;\n /**\n * Stable MastraCode-generated id for the active agent run. Present on events\n * emitted while a run is active (AgentStart..AgentEnd, tool hooks, Stop).\n * Absent outside a run (SessionStart, SessionEnd, Notification fired idle).\n */\n run_id?: string;\n}\n\nexport interface HookStdinToolEvent extends HookStdinBase {\n hook_event_name: 'PreToolUse' | 'PostToolUse';\n tool_name: string;\n tool_input: unknown;\n tool_output?: unknown;\n tool_error?: boolean;\n}\n\nexport interface HookStdinUserPrompt extends HookStdinBase {\n hook_event_name: 'UserPromptSubmit';\n user_message: string;\n}\n\nexport interface HookStdinStop extends HookStdinBase {\n hook_event_name: 'Stop';\n assistant_message?: string;\n stop_reason: 'complete' | 'aborted' | 'error';\n}\n/**\n * Describes the git worktree a session is running in. Absent for sessions\n * started in an ordinary checkout.\n */\nexport interface SessionWorktreeInfo {\n /** Absolute path to the worktree root. */\n path: string;\n /** Branch checked out in the worktree, when it can be resolved. */\n branch?: string;\n /** Absolute path to the main repository the worktree is linked to. */\n mainRepoPath?: string;\n}\n\nexport interface HookStdinSession extends HookStdinBase {\n hook_event_name: 'SessionStart' | 'SessionEnd';\n /**\n * Set only when the session's project directory is a git worktree, so a hook\n * can provision or tear down per-worktree resources (a database, a bucket, a\n * dev server) and distinguish that from a session in the main checkout.\n */\n worktree_path?: string;\n branch?: string;\n main_repo_path?: string;\n}\n\nexport interface HookStdinNotification extends HookStdinBase {\n hook_event_name: 'Notification';\n /** Why the notification fired: agent_done, ask_question, tool_approval, plan_approval, sandbox_access */\n reason: string;\n /** Optional human-readable message for the notification. */\n message?: string;\n}\n\nexport interface HookStdinAgentStart extends HookStdinBase {\n hook_event_name: 'AgentStart';\n run_id: string;\n}\n\nexport interface HookStdinAgentEnd extends HookStdinBase {\n hook_event_name: 'AgentEnd';\n run_id: string;\n stop_reason: 'complete' | 'aborted' | 'error' | 'suspended';\n}\n\nexport type PermissionKind = 'tool_approval' | 'sandbox_access' | 'plan_approval';\n\nexport interface HookStdinPermissionRequest extends HookStdinBase {\n hook_event_name: 'PermissionRequest';\n run_id: string;\n permission_kind: PermissionKind;\n tool_call_id: string;\n tool_name: string;\n tool_input?: unknown;\n}\n\nexport type PermissionDecision = 'approved' | 'declined' | 'dismissed' | 'auto_approved' | 'auto_declined';\n\nexport interface HookStdinPermissionResult extends HookStdinBase {\n hook_event_name: 'PermissionResult';\n run_id: string;\n permission_kind: PermissionKind;\n tool_call_id: string;\n tool_name: string;\n tool_input?: unknown;\n decision: PermissionDecision;\n}\n\nexport type InterruptReason = 'user_interrupt' | 'goal_judge_interrupt' | 'process_sigint';\n\nexport interface HookStdinInterrupt extends HookStdinBase {\n hook_event_name: 'Interrupt';\n run_id: string;\n reason: InterruptReason;\n}\n\nexport interface HookStdinSubagentStart extends HookStdinBase {\n hook_event_name: 'SubagentStart';\n run_id: string;\n tool_call_id: string;\n agent_type: string;\n task: string;\n model_id?: string;\n forked?: boolean;\n}\n\nexport interface HookStdinSubagentEnd extends HookStdinBase {\n hook_event_name: 'SubagentEnd';\n run_id: string;\n tool_call_id: string;\n agent_type: string;\n result: unknown;\n is_error: boolean;\n duration_ms: number;\n}\n\nexport type HookStdin =\n | HookStdinToolEvent\n | HookStdinUserPrompt\n | HookStdinStop\n | HookStdinSession\n | HookStdinNotification\n | HookStdinAgentStart\n | HookStdinAgentEnd\n | HookStdinPermissionRequest\n | HookStdinPermissionResult\n | HookStdinInterrupt\n | HookStdinSubagentStart\n | HookStdinSubagentEnd;\n\n// =============================================================================\n// Stdout Protocol (JSON read from hook process)\n// =============================================================================\n\nexport interface HookStdout {\n decision?: 'allow' | 'block';\n reason?: string;\n additionalContext?: string;\n}\n\n// =============================================================================\n// Execution Results\n// =============================================================================\n\nexport interface HookResult {\n hook: HookDefinition;\n exitCode: number;\n stdout?: HookStdout;\n stderr?: string;\n timedOut: boolean;\n durationMs: number;\n}\n\nexport interface HookEventResult {\n allowed: boolean;\n blockReason?: string;\n additionalContext?: string;\n results: HookResult[];\n warnings: string[];\n}\n"],"mappings":";AAoCA,SAAgB,gBAAgB,OAAkD;CAChF,OAAO,UAAU,gBAAgB,UAAU,UAAU,UAAU;AACjE"}
|