@strands-agents/sdk 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +175 -0
- package/README.md +185 -0
- package/dist/__fixtures__/model-test-helpers.d.ts +56 -0
- package/dist/__fixtures__/model-test-helpers.d.ts.map +1 -0
- package/dist/__fixtures__/model-test-helpers.js +85 -0
- package/dist/__fixtures__/model-test-helpers.js.map +1 -0
- package/dist/__fixtures__/tool-helpers.d.ts +15 -0
- package/dist/__fixtures__/tool-helpers.d.ts.map +1 -0
- package/dist/__fixtures__/tool-helpers.js +22 -0
- package/dist/__fixtures__/tool-helpers.js.map +1 -0
- package/dist/__tests__/errors.test.d.ts +2 -0
- package/dist/__tests__/errors.test.d.ts.map +1 -0
- package/dist/__tests__/errors.test.js +20 -0
- package/dist/__tests__/errors.test.js.map +1 -0
- package/dist/__tests__/index.test.d.ts +2 -0
- package/dist/__tests__/index.test.d.ts.map +1 -0
- package/dist/__tests__/index.test.js +27 -0
- package/dist/__tests__/index.test.js.map +1 -0
- package/dist/errors.d.ts +22 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +25 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/models/__tests__/bedrock.test.d.ts +2 -0
- package/dist/models/__tests__/bedrock.test.d.ts.map +1 -0
- package/dist/models/__tests__/bedrock.test.js +1161 -0
- package/dist/models/__tests__/bedrock.test.js.map +1 -0
- package/dist/models/__tests__/model.test.d.ts +2 -0
- package/dist/models/__tests__/model.test.d.ts.map +1 -0
- package/dist/models/__tests__/model.test.js +297 -0
- package/dist/models/__tests__/model.test.js.map +1 -0
- package/dist/models/__tests__/openai.test.d.ts +2 -0
- package/dist/models/__tests__/openai.test.d.ts.map +1 -0
- package/dist/models/__tests__/openai.test.js +1016 -0
- package/dist/models/__tests__/openai.test.js.map +1 -0
- package/dist/models/__tests__/test-utils.d.ts +10 -0
- package/dist/models/__tests__/test-utils.d.ts.map +1 -0
- package/dist/models/__tests__/test-utils.js +17 -0
- package/dist/models/__tests__/test-utils.js.map +1 -0
- package/dist/models/bedrock.d.ts +272 -0
- package/dist/models/bedrock.d.ts.map +1 -0
- package/dist/models/bedrock.js +679 -0
- package/dist/models/bedrock.js.map +1 -0
- package/dist/models/model.d.ts +89 -0
- package/dist/models/model.d.ts.map +1 -0
- package/dist/models/model.js +122 -0
- package/dist/models/model.js.map +1 -0
- package/dist/models/openai.d.ts +262 -0
- package/dist/models/openai.d.ts.map +1 -0
- package/dist/models/openai.js +625 -0
- package/dist/models/openai.js.map +1 -0
- package/dist/models/streaming.d.ts +226 -0
- package/dist/models/streaming.d.ts.map +1 -0
- package/dist/models/streaming.js +2 -0
- package/dist/models/streaming.js.map +1 -0
- package/dist/src/__fixtures__/agent-helpers.d.ts +29 -0
- package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -0
- package/dist/src/__fixtures__/agent-helpers.js +19 -0
- package/dist/src/__fixtures__/agent-helpers.js.map +1 -0
- package/dist/src/__fixtures__/environment.d.ts +12 -0
- package/dist/src/__fixtures__/environment.d.ts.map +1 -0
- package/dist/src/__fixtures__/environment.js +12 -0
- package/dist/src/__fixtures__/environment.js.map +1 -0
- package/dist/src/__fixtures__/mock-hook-provider.d.ts +14 -0
- package/dist/src/__fixtures__/mock-hook-provider.d.ts.map +1 -0
- package/dist/src/__fixtures__/mock-hook-provider.js +33 -0
- package/dist/src/__fixtures__/mock-hook-provider.js.map +1 -0
- package/dist/src/__fixtures__/mock-message-model.d.ts +93 -0
- package/dist/src/__fixtures__/mock-message-model.d.ts.map +1 -0
- package/dist/src/__fixtures__/mock-message-model.js +226 -0
- package/dist/src/__fixtures__/mock-message-model.js.map +1 -0
- package/dist/src/__fixtures__/model-test-helpers.d.ts +56 -0
- package/dist/src/__fixtures__/model-test-helpers.d.ts.map +1 -0
- package/dist/src/__fixtures__/model-test-helpers.js +85 -0
- package/dist/src/__fixtures__/model-test-helpers.js.map +1 -0
- package/dist/src/__fixtures__/tool-helpers.d.ts +37 -0
- package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -0
- package/dist/src/__fixtures__/tool-helpers.js +78 -0
- package/dist/src/__fixtures__/tool-helpers.js.map +1 -0
- package/dist/src/__tests__/errors.test.d.ts +2 -0
- package/dist/src/__tests__/errors.test.d.ts.map +1 -0
- package/dist/src/__tests__/errors.test.js +64 -0
- package/dist/src/__tests__/errors.test.js.map +1 -0
- package/dist/src/__tests__/index.test.d.ts +2 -0
- package/dist/src/__tests__/index.test.d.ts.map +1 -0
- package/dist/src/__tests__/index.test.js +27 -0
- package/dist/src/__tests__/index.test.js.map +1 -0
- package/dist/src/__tests__/mcp.test.d.ts +2 -0
- package/dist/src/__tests__/mcp.test.d.ts.map +1 -0
- package/dist/src/__tests__/mcp.test.js +166 -0
- package/dist/src/__tests__/mcp.test.js.map +1 -0
- package/dist/src/agent/__tests__/agent.hook.test.d.ts +2 -0
- package/dist/src/agent/__tests__/agent.hook.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/agent.hook.test.js +250 -0
- package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -0
- package/dist/src/agent/__tests__/agent.test.d.ts +2 -0
- package/dist/src/agent/__tests__/agent.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/agent.test.js +414 -0
- package/dist/src/agent/__tests__/agent.test.js.map +1 -0
- package/dist/src/agent/__tests__/printer.test.d.ts +2 -0
- package/dist/src/agent/__tests__/printer.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/printer.test.js +152 -0
- package/dist/src/agent/__tests__/printer.test.js.map +1 -0
- package/dist/src/agent/__tests__/state.test.d.ts +2 -0
- package/dist/src/agent/__tests__/state.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/state.test.js +231 -0
- package/dist/src/agent/__tests__/state.test.js.map +1 -0
- package/dist/src/agent/agent.d.ts +207 -0
- package/dist/src/agent/agent.d.ts.map +1 -0
- package/dist/src/agent/agent.js +481 -0
- package/dist/src/agent/agent.js.map +1 -0
- package/dist/src/agent/printer.d.ts +73 -0
- package/dist/src/agent/printer.d.ts.map +1 -0
- package/dist/src/agent/printer.js +145 -0
- package/dist/src/agent/printer.js.map +1 -0
- package/dist/src/agent/state.d.ts +102 -0
- package/dist/src/agent/state.d.ts.map +1 -0
- package/dist/src/agent/state.js +73 -0
- package/dist/src/agent/state.js.map +1 -0
- package/dist/src/agent/streaming.d.ts +91 -0
- package/dist/src/agent/streaming.d.ts.map +1 -0
- package/dist/src/agent/streaming.js +2 -0
- package/dist/src/agent/streaming.js.map +1 -0
- package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts +2 -0
- package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts.map +1 -0
- package/dist/src/conversation-manager/__tests__/conversation-manager.test.js +10 -0
- package/dist/src/conversation-manager/__tests__/conversation-manager.test.js.map +1 -0
- package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.d.ts +2 -0
- package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.d.ts.map +1 -0
- package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js +35 -0
- package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js.map +1 -0
- package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.d.ts +2 -0
- package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.d.ts.map +1 -0
- package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +553 -0
- package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -0
- package/dist/src/conversation-manager/conversation-manager.d.ts +73 -0
- package/dist/src/conversation-manager/conversation-manager.d.ts.map +1 -0
- package/dist/src/conversation-manager/conversation-manager.js +24 -0
- package/dist/src/conversation-manager/conversation-manager.js.map +1 -0
- package/dist/src/conversation-manager/index.d.ts +8 -0
- package/dist/src/conversation-manager/index.d.ts.map +1 -0
- package/dist/src/conversation-manager/index.js +8 -0
- package/dist/src/conversation-manager/index.js.map +1 -0
- package/dist/src/conversation-manager/null-conversation-manager.d.ts +23 -0
- package/dist/src/conversation-manager/null-conversation-manager.d.ts.map +1 -0
- package/dist/src/conversation-manager/null-conversation-manager.js +23 -0
- package/dist/src/conversation-manager/null-conversation-manager.js.map +1 -0
- package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +105 -0
- package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -0
- package/dist/src/conversation-manager/sliding-window-conversation-manager.js +212 -0
- package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -0
- package/dist/src/errors.d.ts +83 -0
- package/dist/src/errors.d.ts.map +1 -0
- package/dist/src/errors.js +97 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/hooks/__tests__/events.test.d.ts +2 -0
- package/dist/src/hooks/__tests__/events.test.d.ts.map +1 -0
- package/dist/src/hooks/__tests__/events.test.js +347 -0
- package/dist/src/hooks/__tests__/events.test.js.map +1 -0
- package/dist/src/hooks/__tests__/registry.test.d.ts +2 -0
- package/dist/src/hooks/__tests__/registry.test.d.ts.map +1 -0
- package/dist/src/hooks/__tests__/registry.test.js +154 -0
- package/dist/src/hooks/__tests__/registry.test.js.map +1 -0
- package/dist/src/hooks/events.d.ts +199 -0
- package/dist/src/hooks/events.d.ts.map +1 -0
- package/dist/src/hooks/events.js +191 -0
- package/dist/src/hooks/events.js.map +1 -0
- package/dist/src/hooks/index.d.ts +11 -0
- package/dist/src/hooks/index.d.ts.map +1 -0
- package/dist/src/hooks/index.js +11 -0
- package/dist/src/hooks/index.js.map +1 -0
- package/dist/src/hooks/registry.d.ts +65 -0
- package/dist/src/hooks/registry.d.ts.map +1 -0
- package/dist/src/hooks/registry.js +65 -0
- package/dist/src/hooks/registry.js.map +1 -0
- package/dist/src/hooks/types.d.ts +49 -0
- package/dist/src/hooks/types.d.ts.map +1 -0
- package/dist/src/hooks/types.js +2 -0
- package/dist/src/hooks/types.js.map +1 -0
- package/dist/src/index.d.ts +32 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +29 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/mcp.d.ts +51 -0
- package/dist/src/mcp.d.ts.map +1 -0
- package/dist/src/mcp.js +91 -0
- package/dist/src/mcp.js.map +1 -0
- package/dist/src/models/__tests__/bedrock.test.d.ts +2 -0
- package/dist/src/models/__tests__/bedrock.test.d.ts.map +1 -0
- package/dist/src/models/__tests__/bedrock.test.js +1388 -0
- package/dist/src/models/__tests__/bedrock.test.js.map +1 -0
- package/dist/src/models/__tests__/model.test.d.ts +2 -0
- package/dist/src/models/__tests__/model.test.d.ts.map +1 -0
- package/dist/src/models/__tests__/model.test.js +342 -0
- package/dist/src/models/__tests__/model.test.js.map +1 -0
- package/dist/src/models/__tests__/openai.test.d.ts +2 -0
- package/dist/src/models/__tests__/openai.test.d.ts.map +1 -0
- package/dist/src/models/__tests__/openai.test.js +1189 -0
- package/dist/src/models/__tests__/openai.test.js.map +1 -0
- package/dist/src/models/__tests__/test-utils.d.ts +10 -0
- package/dist/src/models/__tests__/test-utils.d.ts.map +1 -0
- package/dist/src/models/__tests__/test-utils.js +17 -0
- package/dist/src/models/__tests__/test-utils.js.map +1 -0
- package/dist/src/models/bedrock.d.ts +289 -0
- package/dist/src/models/bedrock.d.ts.map +1 -0
- package/dist/src/models/bedrock.js +804 -0
- package/dist/src/models/bedrock.js.map +1 -0
- package/dist/src/models/model.d.ts +99 -0
- package/dist/src/models/model.d.ts.map +1 -0
- package/dist/src/models/model.js +169 -0
- package/dist/src/models/model.js.map +1 -0
- package/dist/src/models/openai.d.ts +262 -0
- package/dist/src/models/openai.d.ts.map +1 -0
- package/dist/src/models/openai.js +752 -0
- package/dist/src/models/openai.js.map +1 -0
- package/dist/src/models/streaming.d.ts +318 -0
- package/dist/src/models/streaming.d.ts.map +1 -0
- package/dist/src/models/streaming.js +122 -0
- package/dist/src/models/streaming.js.map +1 -0
- package/dist/src/registry/registry.d.ts +117 -0
- package/dist/src/registry/registry.d.ts.map +1 -0
- package/dist/src/registry/registry.js +298 -0
- package/dist/src/registry/registry.js.map +1 -0
- package/dist/src/registry/tool-registry.d.ts +34 -0
- package/dist/src/registry/tool-registry.d.ts.map +1 -0
- package/dist/src/registry/tool-registry.js +178 -0
- package/dist/src/registry/tool-registry.js.map +1 -0
- package/dist/src/tools/__tests__/tool.test.d.ts +2 -0
- package/dist/src/tools/__tests__/tool.test.d.ts.map +1 -0
- package/dist/src/tools/__tests__/tool.test.js +877 -0
- package/dist/src/tools/__tests__/tool.test.js.map +1 -0
- package/dist/src/tools/__tests__/zod-tool.test-d.d.ts +2 -0
- package/dist/src/tools/__tests__/zod-tool.test-d.d.ts.map +1 -0
- package/dist/src/tools/__tests__/zod-tool.test-d.js +227 -0
- package/dist/src/tools/__tests__/zod-tool.test-d.js.map +1 -0
- package/dist/src/tools/__tests__/zod-tool.test.d.ts +2 -0
- package/dist/src/tools/__tests__/zod-tool.test.d.ts.map +1 -0
- package/dist/src/tools/__tests__/zod-tool.test.js +372 -0
- package/dist/src/tools/__tests__/zod-tool.test.js.map +1 -0
- package/dist/src/tools/function-tool.d.ts +146 -0
- package/dist/src/tools/function-tool.d.ts.map +1 -0
- package/dist/src/tools/function-tool.js +188 -0
- package/dist/src/tools/function-tool.js.map +1 -0
- package/dist/src/tools/mcp-tool.d.ts +36 -0
- package/dist/src/tools/mcp-tool.d.ts.map +1 -0
- package/dist/src/tools/mcp-tool.js +78 -0
- package/dist/src/tools/mcp-tool.js.map +1 -0
- package/dist/src/tools/tool.d.ts +167 -0
- package/dist/src/tools/tool.d.ts.map +1 -0
- package/dist/src/tools/tool.js +68 -0
- package/dist/src/tools/tool.js.map +1 -0
- package/dist/src/tools/types.d.ts +62 -0
- package/dist/src/tools/types.d.ts.map +1 -0
- package/dist/src/tools/types.js +2 -0
- package/dist/src/tools/types.js.map +1 -0
- package/dist/src/tools/zod-tool.d.ts +70 -0
- package/dist/src/tools/zod-tool.d.ts.map +1 -0
- package/dist/src/tools/zod-tool.js +149 -0
- package/dist/src/tools/zod-tool.js.map +1 -0
- package/dist/src/types/__tests__/agent.test.d.ts +2 -0
- package/dist/src/types/__tests__/agent.test.d.ts.map +1 -0
- package/dist/src/types/__tests__/agent.test.js +155 -0
- package/dist/src/types/__tests__/agent.test.js.map +1 -0
- package/dist/src/types/__tests__/json.test.d.ts +2 -0
- package/dist/src/types/__tests__/json.test.d.ts.map +1 -0
- package/dist/src/types/__tests__/json.test.js +298 -0
- package/dist/src/types/__tests__/json.test.js.map +1 -0
- package/dist/src/types/__tests__/media.test.d.ts +2 -0
- package/dist/src/types/__tests__/media.test.d.ts.map +1 -0
- package/dist/src/types/__tests__/media.test.js +257 -0
- package/dist/src/types/__tests__/media.test.js.map +1 -0
- package/dist/src/types/__tests__/messages.test.d.ts +2 -0
- package/dist/src/types/__tests__/messages.test.d.ts.map +1 -0
- package/dist/src/types/__tests__/messages.test.js +364 -0
- package/dist/src/types/__tests__/messages.test.js.map +1 -0
- package/dist/src/types/__tests__/validation.test.d.ts +2 -0
- package/dist/src/types/__tests__/validation.test.d.ts.map +1 -0
- package/dist/src/types/__tests__/validation.test.js +30 -0
- package/dist/src/types/__tests__/validation.test.js.map +1 -0
- package/dist/src/types/agent.d.ts +57 -0
- package/dist/src/types/agent.d.ts.map +1 -0
- package/dist/src/types/agent.js +47 -0
- package/dist/src/types/agent.js.map +1 -0
- package/dist/src/types/json.d.ts +55 -0
- package/dist/src/types/json.d.ts.map +1 -0
- package/dist/src/types/json.js +72 -0
- package/dist/src/types/json.js.map +1 -0
- package/dist/src/types/media.d.ts +249 -0
- package/dist/src/types/media.d.ts.map +1 -0
- package/dist/src/types/media.js +173 -0
- package/dist/src/types/media.js.map +1 -0
- package/dist/src/types/messages.d.ts +438 -0
- package/dist/src/types/messages.d.ts.map +1 -0
- package/dist/src/types/messages.js +286 -0
- package/dist/src/types/messages.js.map +1 -0
- package/dist/src/types/validation.d.ts +10 -0
- package/dist/src/types/validation.d.ts.map +1 -0
- package/dist/src/types/validation.js +15 -0
- package/dist/src/types/validation.js.map +1 -0
- package/dist/tools/__tests__/registry.test.d.ts +2 -0
- package/dist/tools/__tests__/registry.test.d.ts.map +1 -0
- package/dist/tools/__tests__/registry.test.js +253 -0
- package/dist/tools/__tests__/registry.test.js.map +1 -0
- package/dist/tools/__tests__/tool.test.d.ts +2 -0
- package/dist/tools/__tests__/tool.test.d.ts.map +1 -0
- package/dist/tools/__tests__/tool.test.js +761 -0
- package/dist/tools/__tests__/tool.test.js.map +1 -0
- package/dist/tools/__tests__/zod-tool.test-d.d.ts +2 -0
- package/dist/tools/__tests__/zod-tool.test-d.d.ts.map +1 -0
- package/dist/tools/__tests__/zod-tool.test-d.js +227 -0
- package/dist/tools/__tests__/zod-tool.test-d.js.map +1 -0
- package/dist/tools/__tests__/zod-tool.test.d.ts +2 -0
- package/dist/tools/__tests__/zod-tool.test.d.ts.map +1 -0
- package/dist/tools/__tests__/zod-tool.test.js +342 -0
- package/dist/tools/__tests__/zod-tool.test.js.map +1 -0
- package/dist/tools/function-tool.d.ts +156 -0
- package/dist/tools/function-tool.d.ts.map +1 -0
- package/dist/tools/function-tool.js +237 -0
- package/dist/tools/function-tool.js.map +1 -0
- package/dist/tools/registry.d.ts +43 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +82 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/tool.d.ts +157 -0
- package/dist/tools/tool.d.ts.map +1 -0
- package/dist/tools/tool.js +2 -0
- package/dist/tools/tool.js.map +1 -0
- package/dist/tools/types.d.ts +119 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +2 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/zod-tool.d.ts +70 -0
- package/dist/tools/zod-tool.d.ts.map +1 -0
- package/dist/tools/zod-tool.js +96 -0
- package/dist/tools/zod-tool.js.map +1 -0
- package/dist/types/__tests__/json.test.d.ts +2 -0
- package/dist/types/__tests__/json.test.d.ts.map +1 -0
- package/dist/types/__tests__/json.test.js +129 -0
- package/dist/types/__tests__/json.test.js.map +1 -0
- package/dist/types/__tests__/validation.test.d.ts +2 -0
- package/dist/types/__tests__/validation.test.d.ts.map +1 -0
- package/dist/types/__tests__/validation.test.js +30 -0
- package/dist/types/__tests__/validation.test.js.map +1 -0
- package/dist/types/json.d.ts +45 -0
- package/dist/types/json.d.ts.map +1 -0
- package/dist/types/json.js +17 -0
- package/dist/types/json.js.map +1 -0
- package/dist/types/messages.d.ts +160 -0
- package/dist/types/messages.d.ts.map +1 -0
- package/dist/types/messages.js +2 -0
- package/dist/types/messages.js.map +1 -0
- package/dist/types/validation.d.ts +10 -0
- package/dist/types/validation.d.ts.map +1 -0
- package/dist/types/validation.js +15 -0
- package/dist/types/validation.js.map +1 -0
- package/dist/vended_tools/bash/__tests__/bash.test.d.ts +2 -0
- package/dist/vended_tools/bash/__tests__/bash.test.d.ts.map +1 -0
- package/dist/vended_tools/bash/__tests__/bash.test.js +333 -0
- package/dist/vended_tools/bash/__tests__/bash.test.js.map +1 -0
- package/dist/vended_tools/bash/bash.d.ts +33 -0
- package/dist/vended_tools/bash/bash.d.ts.map +1 -0
- package/dist/vended_tools/bash/bash.js +264 -0
- package/dist/vended_tools/bash/bash.js.map +1 -0
- package/dist/vended_tools/bash/index.d.ts +7 -0
- package/dist/vended_tools/bash/index.d.ts.map +1 -0
- package/dist/vended_tools/bash/index.js +6 -0
- package/dist/vended_tools/bash/index.js.map +1 -0
- package/dist/vended_tools/bash/types.d.ts +65 -0
- package/dist/vended_tools/bash/types.d.ts.map +1 -0
- package/dist/vended_tools/bash/types.js +22 -0
- package/dist/vended_tools/bash/types.js.map +1 -0
- package/dist/vended_tools/file_editor/__tests__/file-editor.test.d.ts +2 -0
- package/dist/vended_tools/file_editor/__tests__/file-editor.test.d.ts.map +1 -0
- package/dist/vended_tools/file_editor/__tests__/file-editor.test.js +359 -0
- package/dist/vended_tools/file_editor/__tests__/file-editor.test.js.map +1 -0
- package/dist/vended_tools/file_editor/file-editor.d.ts +31 -0
- package/dist/vended_tools/file_editor/file-editor.d.ts.map +1 -0
- package/dist/vended_tools/file_editor/file-editor.js +353 -0
- package/dist/vended_tools/file_editor/file-editor.js.map +1 -0
- package/dist/vended_tools/file_editor/index.d.ts +6 -0
- package/dist/vended_tools/file_editor/index.d.ts.map +1 -0
- package/dist/vended_tools/file_editor/index.js +5 -0
- package/dist/vended_tools/file_editor/index.js.map +1 -0
- package/dist/vended_tools/file_editor/types.d.ts +61 -0
- package/dist/vended_tools/file_editor/types.d.ts.map +1 -0
- package/dist/vended_tools/file_editor/types.js +2 -0
- package/dist/vended_tools/file_editor/types.js.map +1 -0
- package/dist/vended_tools/http_request/__tests__/http-request.test.d.ts +2 -0
- package/dist/vended_tools/http_request/__tests__/http-request.test.d.ts.map +1 -0
- package/dist/vended_tools/http_request/__tests__/http-request.test.js +189 -0
- package/dist/vended_tools/http_request/__tests__/http-request.test.js.map +1 -0
- package/dist/vended_tools/http_request/http-request.d.ts +35 -0
- package/dist/vended_tools/http_request/http-request.d.ts.map +1 -0
- package/dist/vended_tools/http_request/http-request.js +95 -0
- package/dist/vended_tools/http_request/http-request.js.map +1 -0
- package/dist/vended_tools/http_request/index.d.ts +6 -0
- package/dist/vended_tools/http_request/index.d.ts.map +1 -0
- package/dist/vended_tools/http_request/index.js +5 -0
- package/dist/vended_tools/http_request/index.js.map +1 -0
- package/dist/vended_tools/http_request/types.d.ts +47 -0
- package/dist/vended_tools/http_request/types.d.ts.map +1 -0
- package/dist/vended_tools/http_request/types.js +2 -0
- package/dist/vended_tools/http_request/types.js.map +1 -0
- package/dist/vended_tools/notebook/__tests__/notebook.test.d.ts +2 -0
- package/dist/vended_tools/notebook/__tests__/notebook.test.d.ts.map +1 -0
- package/dist/vended_tools/notebook/__tests__/notebook.test.js +371 -0
- package/dist/vended_tools/notebook/__tests__/notebook.test.js.map +1 -0
- package/dist/vended_tools/notebook/index.d.ts +6 -0
- package/dist/vended_tools/notebook/index.d.ts.map +1 -0
- package/dist/vended_tools/notebook/index.js +5 -0
- package/dist/vended_tools/notebook/index.js.map +1 -0
- package/dist/vended_tools/notebook/notebook.d.ts +29 -0
- package/dist/vended_tools/notebook/notebook.d.ts.map +1 -0
- package/dist/vended_tools/notebook/notebook.js +215 -0
- package/dist/vended_tools/notebook/notebook.js.map +1 -0
- package/dist/vended_tools/notebook/types.d.ts +79 -0
- package/dist/vended_tools/notebook/types.d.ts.map +1 -0
- package/dist/vended_tools/notebook/types.js +2 -0
- package/dist/vended_tools/notebook/types.js.map +1 -0
- package/package.json +112 -0
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import type { AgentData } from '../types/agent.js';
|
|
2
|
+
import type { ContentBlock, Message, ToolResultBlock } from '../types/messages.js';
|
|
3
|
+
import type { Tool } from '../tools/tool.js';
|
|
4
|
+
import type { JSONValue } from '../types/json.js';
|
|
5
|
+
import type { ModelStreamEvent } from '../models/streaming.js';
|
|
6
|
+
/**
|
|
7
|
+
* Base class for all hook events.
|
|
8
|
+
* Hook events are emitted at specific points in the agent lifecycle.
|
|
9
|
+
*/
|
|
10
|
+
export declare abstract class HookEvent {
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
* Check if callbacks should be reversed for this event.
|
|
14
|
+
* Used by HookRegistry for callback ordering.
|
|
15
|
+
*/
|
|
16
|
+
_shouldReverseCallbacks(): boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Event triggered at the beginning of a new agent request.
|
|
20
|
+
* Fired before any model inference or tool execution occurs.
|
|
21
|
+
*/
|
|
22
|
+
export declare class BeforeInvocationEvent extends HookEvent {
|
|
23
|
+
readonly type: "beforeInvocationEvent";
|
|
24
|
+
readonly agent: AgentData;
|
|
25
|
+
constructor(data: {
|
|
26
|
+
agent: AgentData;
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Event triggered at the end of an agent request.
|
|
31
|
+
* Fired after all processing completes, regardless of success or error.
|
|
32
|
+
* Uses reverse callback ordering for proper cleanup semantics.
|
|
33
|
+
*/
|
|
34
|
+
export declare class AfterInvocationEvent extends HookEvent {
|
|
35
|
+
readonly type: "afterInvocationEvent";
|
|
36
|
+
readonly agent: AgentData;
|
|
37
|
+
constructor(data: {
|
|
38
|
+
agent: AgentData;
|
|
39
|
+
});
|
|
40
|
+
_shouldReverseCallbacks(): boolean;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Event triggered when the framework adds a message to the conversation history.
|
|
44
|
+
* Fired during the agent loop execution for framework-generated messages.
|
|
45
|
+
* Does not fire for initial messages from AgentConfig or user input messages.
|
|
46
|
+
*/
|
|
47
|
+
export declare class MessageAddedEvent extends HookEvent {
|
|
48
|
+
readonly type: "messageAddedEvent";
|
|
49
|
+
readonly agent: AgentData;
|
|
50
|
+
readonly message: Message;
|
|
51
|
+
constructor(data: {
|
|
52
|
+
agent: AgentData;
|
|
53
|
+
message: Message;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Event triggered just before a tool is executed.
|
|
58
|
+
* Fired after tool lookup but before execution begins.
|
|
59
|
+
*/
|
|
60
|
+
export declare class BeforeToolCallEvent extends HookEvent {
|
|
61
|
+
readonly type: "beforeToolCallEvent";
|
|
62
|
+
readonly agent: AgentData;
|
|
63
|
+
readonly toolUse: {
|
|
64
|
+
name: string;
|
|
65
|
+
toolUseId: string;
|
|
66
|
+
input: JSONValue;
|
|
67
|
+
};
|
|
68
|
+
readonly tool: Tool | undefined;
|
|
69
|
+
constructor(data: {
|
|
70
|
+
agent: AgentData;
|
|
71
|
+
toolUse: {
|
|
72
|
+
name: string;
|
|
73
|
+
toolUseId: string;
|
|
74
|
+
input: JSONValue;
|
|
75
|
+
};
|
|
76
|
+
tool: Tool | undefined;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Event triggered after a tool execution completes.
|
|
81
|
+
* Fired after tool execution finishes, whether successful or failed.
|
|
82
|
+
* Uses reverse callback ordering for proper cleanup semantics.
|
|
83
|
+
*/
|
|
84
|
+
export declare class AfterToolCallEvent extends HookEvent {
|
|
85
|
+
readonly type: "afterToolCallEvent";
|
|
86
|
+
readonly agent: AgentData;
|
|
87
|
+
readonly toolUse: {
|
|
88
|
+
name: string;
|
|
89
|
+
toolUseId: string;
|
|
90
|
+
input: JSONValue;
|
|
91
|
+
};
|
|
92
|
+
readonly tool: Tool | undefined;
|
|
93
|
+
readonly result: ToolResultBlock;
|
|
94
|
+
readonly error?: Error;
|
|
95
|
+
constructor(data: {
|
|
96
|
+
agent: AgentData;
|
|
97
|
+
toolUse: {
|
|
98
|
+
name: string;
|
|
99
|
+
toolUseId: string;
|
|
100
|
+
input: JSONValue;
|
|
101
|
+
};
|
|
102
|
+
tool: Tool | undefined;
|
|
103
|
+
result: ToolResultBlock;
|
|
104
|
+
error?: Error;
|
|
105
|
+
});
|
|
106
|
+
_shouldReverseCallbacks(): boolean;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Event triggered just before the model is invoked.
|
|
110
|
+
* Fired before sending messages to the model for inference.
|
|
111
|
+
*/
|
|
112
|
+
export declare class BeforeModelCallEvent extends HookEvent {
|
|
113
|
+
readonly type: "beforeModelCallEvent";
|
|
114
|
+
readonly agent: AgentData;
|
|
115
|
+
constructor(data: {
|
|
116
|
+
agent: AgentData;
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Response from a model invocation containing the message and stop reason.
|
|
121
|
+
*/
|
|
122
|
+
export interface ModelStopData {
|
|
123
|
+
/**
|
|
124
|
+
* The message returned by the model.
|
|
125
|
+
*/
|
|
126
|
+
readonly message: Message;
|
|
127
|
+
/**
|
|
128
|
+
* The reason the model stopped generating.
|
|
129
|
+
*/
|
|
130
|
+
readonly stopReason: string;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Event triggered after the model invocation completes.
|
|
134
|
+
* Fired after the model finishes generating a response, whether successful or failed.
|
|
135
|
+
* Uses reverse callback ordering for proper cleanup semantics.
|
|
136
|
+
*
|
|
137
|
+
* Note: stopData may be undefined if an error occurs before the model completes.
|
|
138
|
+
*/
|
|
139
|
+
export declare class AfterModelCallEvent extends HookEvent {
|
|
140
|
+
readonly type: "afterModelCallEvent";
|
|
141
|
+
readonly agent: AgentData;
|
|
142
|
+
readonly stopData?: ModelStopData;
|
|
143
|
+
readonly error?: Error;
|
|
144
|
+
/**
|
|
145
|
+
* Optional flag that can be set by hook callbacks to request a retry of the model call.
|
|
146
|
+
* Only valid when an error is present. When set to true, the agent will retry the model invocation.
|
|
147
|
+
* Typically used after reducing context size in response to a ContextWindowOverflowError.
|
|
148
|
+
*/
|
|
149
|
+
retryModelCall?: boolean;
|
|
150
|
+
constructor(data: {
|
|
151
|
+
agent: AgentData;
|
|
152
|
+
stopData?: ModelStopData;
|
|
153
|
+
error?: Error;
|
|
154
|
+
});
|
|
155
|
+
_shouldReverseCallbacks(): boolean;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Event triggered for each streaming event from the model.
|
|
159
|
+
* Allows hooks to observe individual streaming events during model inference.
|
|
160
|
+
* Provides read-only access to streaming events.
|
|
161
|
+
*/
|
|
162
|
+
export declare class ModelStreamEventHook extends HookEvent {
|
|
163
|
+
readonly type: "modelStreamEventHook";
|
|
164
|
+
readonly agent: AgentData;
|
|
165
|
+
readonly event: ModelStreamEvent | ContentBlock;
|
|
166
|
+
constructor(data: {
|
|
167
|
+
agent: AgentData;
|
|
168
|
+
event: ModelStreamEvent | ContentBlock;
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Event triggered before executing tools.
|
|
173
|
+
* Fired when the model returns tool use blocks that need to be executed.
|
|
174
|
+
*/
|
|
175
|
+
export declare class BeforeToolsEvent extends HookEvent {
|
|
176
|
+
readonly type: "beforeToolsEvent";
|
|
177
|
+
readonly agent: AgentData;
|
|
178
|
+
readonly message: Message;
|
|
179
|
+
constructor(data: {
|
|
180
|
+
agent: AgentData;
|
|
181
|
+
message: Message;
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Event triggered after all tools complete execution.
|
|
186
|
+
* Fired after tool results are collected and ready to be added to conversation.
|
|
187
|
+
* Uses reverse callback ordering for proper cleanup semantics.
|
|
188
|
+
*/
|
|
189
|
+
export declare class AfterToolsEvent extends HookEvent {
|
|
190
|
+
readonly type: "afterToolsEvent";
|
|
191
|
+
readonly agent: AgentData;
|
|
192
|
+
readonly message: Message;
|
|
193
|
+
constructor(data: {
|
|
194
|
+
agent: AgentData;
|
|
195
|
+
message: Message;
|
|
196
|
+
});
|
|
197
|
+
_shouldReverseCallbacks(): boolean;
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/hooks/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base class for all hook events.
|
|
3
|
+
* Hook events are emitted at specific points in the agent lifecycle.
|
|
4
|
+
*/
|
|
5
|
+
export class HookEvent {
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
* Check if callbacks should be reversed for this event.
|
|
9
|
+
* Used by HookRegistry for callback ordering.
|
|
10
|
+
*/
|
|
11
|
+
_shouldReverseCallbacks() {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Event triggered at the beginning of a new agent request.
|
|
17
|
+
* Fired before any model inference or tool execution occurs.
|
|
18
|
+
*/
|
|
19
|
+
export class BeforeInvocationEvent extends HookEvent {
|
|
20
|
+
type = 'beforeInvocationEvent';
|
|
21
|
+
agent;
|
|
22
|
+
constructor(data) {
|
|
23
|
+
super();
|
|
24
|
+
this.agent = data.agent;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Event triggered at the end of an agent request.
|
|
29
|
+
* Fired after all processing completes, regardless of success or error.
|
|
30
|
+
* Uses reverse callback ordering for proper cleanup semantics.
|
|
31
|
+
*/
|
|
32
|
+
export class AfterInvocationEvent extends HookEvent {
|
|
33
|
+
type = 'afterInvocationEvent';
|
|
34
|
+
agent;
|
|
35
|
+
constructor(data) {
|
|
36
|
+
super();
|
|
37
|
+
this.agent = data.agent;
|
|
38
|
+
}
|
|
39
|
+
_shouldReverseCallbacks() {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Event triggered when the framework adds a message to the conversation history.
|
|
45
|
+
* Fired during the agent loop execution for framework-generated messages.
|
|
46
|
+
* Does not fire for initial messages from AgentConfig or user input messages.
|
|
47
|
+
*/
|
|
48
|
+
export class MessageAddedEvent extends HookEvent {
|
|
49
|
+
type = 'messageAddedEvent';
|
|
50
|
+
agent;
|
|
51
|
+
message;
|
|
52
|
+
constructor(data) {
|
|
53
|
+
super();
|
|
54
|
+
this.agent = data.agent;
|
|
55
|
+
this.message = data.message;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Event triggered just before a tool is executed.
|
|
60
|
+
* Fired after tool lookup but before execution begins.
|
|
61
|
+
*/
|
|
62
|
+
export class BeforeToolCallEvent extends HookEvent {
|
|
63
|
+
type = 'beforeToolCallEvent';
|
|
64
|
+
agent;
|
|
65
|
+
toolUse;
|
|
66
|
+
tool;
|
|
67
|
+
constructor(data) {
|
|
68
|
+
super();
|
|
69
|
+
this.agent = data.agent;
|
|
70
|
+
this.toolUse = data.toolUse;
|
|
71
|
+
this.tool = data.tool;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Event triggered after a tool execution completes.
|
|
76
|
+
* Fired after tool execution finishes, whether successful or failed.
|
|
77
|
+
* Uses reverse callback ordering for proper cleanup semantics.
|
|
78
|
+
*/
|
|
79
|
+
export class AfterToolCallEvent extends HookEvent {
|
|
80
|
+
type = 'afterToolCallEvent';
|
|
81
|
+
agent;
|
|
82
|
+
toolUse;
|
|
83
|
+
tool;
|
|
84
|
+
result;
|
|
85
|
+
error;
|
|
86
|
+
constructor(data) {
|
|
87
|
+
super();
|
|
88
|
+
this.agent = data.agent;
|
|
89
|
+
this.toolUse = data.toolUse;
|
|
90
|
+
this.tool = data.tool;
|
|
91
|
+
this.result = data.result;
|
|
92
|
+
if (data.error !== undefined) {
|
|
93
|
+
this.error = data.error;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
_shouldReverseCallbacks() {
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Event triggered just before the model is invoked.
|
|
102
|
+
* Fired before sending messages to the model for inference.
|
|
103
|
+
*/
|
|
104
|
+
export class BeforeModelCallEvent extends HookEvent {
|
|
105
|
+
type = 'beforeModelCallEvent';
|
|
106
|
+
agent;
|
|
107
|
+
constructor(data) {
|
|
108
|
+
super();
|
|
109
|
+
this.agent = data.agent;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Event triggered after the model invocation completes.
|
|
114
|
+
* Fired after the model finishes generating a response, whether successful or failed.
|
|
115
|
+
* Uses reverse callback ordering for proper cleanup semantics.
|
|
116
|
+
*
|
|
117
|
+
* Note: stopData may be undefined if an error occurs before the model completes.
|
|
118
|
+
*/
|
|
119
|
+
export class AfterModelCallEvent extends HookEvent {
|
|
120
|
+
type = 'afterModelCallEvent';
|
|
121
|
+
agent;
|
|
122
|
+
stopData;
|
|
123
|
+
error;
|
|
124
|
+
/**
|
|
125
|
+
* Optional flag that can be set by hook callbacks to request a retry of the model call.
|
|
126
|
+
* Only valid when an error is present. When set to true, the agent will retry the model invocation.
|
|
127
|
+
* Typically used after reducing context size in response to a ContextWindowOverflowError.
|
|
128
|
+
*/
|
|
129
|
+
retryModelCall;
|
|
130
|
+
constructor(data) {
|
|
131
|
+
super();
|
|
132
|
+
this.agent = data.agent;
|
|
133
|
+
if (data.stopData !== undefined) {
|
|
134
|
+
this.stopData = data.stopData;
|
|
135
|
+
}
|
|
136
|
+
if (data.error !== undefined) {
|
|
137
|
+
this.error = data.error;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
_shouldReverseCallbacks() {
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Event triggered for each streaming event from the model.
|
|
146
|
+
* Allows hooks to observe individual streaming events during model inference.
|
|
147
|
+
* Provides read-only access to streaming events.
|
|
148
|
+
*/
|
|
149
|
+
export class ModelStreamEventHook extends HookEvent {
|
|
150
|
+
type = 'modelStreamEventHook';
|
|
151
|
+
agent;
|
|
152
|
+
event;
|
|
153
|
+
constructor(data) {
|
|
154
|
+
super();
|
|
155
|
+
this.agent = data.agent;
|
|
156
|
+
this.event = data.event;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Event triggered before executing tools.
|
|
161
|
+
* Fired when the model returns tool use blocks that need to be executed.
|
|
162
|
+
*/
|
|
163
|
+
export class BeforeToolsEvent extends HookEvent {
|
|
164
|
+
type = 'beforeToolsEvent';
|
|
165
|
+
agent;
|
|
166
|
+
message;
|
|
167
|
+
constructor(data) {
|
|
168
|
+
super();
|
|
169
|
+
this.agent = data.agent;
|
|
170
|
+
this.message = data.message;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Event triggered after all tools complete execution.
|
|
175
|
+
* Fired after tool results are collected and ready to be added to conversation.
|
|
176
|
+
* Uses reverse callback ordering for proper cleanup semantics.
|
|
177
|
+
*/
|
|
178
|
+
export class AfterToolsEvent extends HookEvent {
|
|
179
|
+
type = 'afterToolsEvent';
|
|
180
|
+
agent;
|
|
181
|
+
message;
|
|
182
|
+
constructor(data) {
|
|
183
|
+
super();
|
|
184
|
+
this.agent = data.agent;
|
|
185
|
+
this.message = data.message;
|
|
186
|
+
}
|
|
187
|
+
_shouldReverseCallbacks() {
|
|
188
|
+
return true;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/hooks/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hooks module for event-driven extensibility.
|
|
3
|
+
*
|
|
4
|
+
* Hooks provide a composable mechanism for extending agent functionality
|
|
5
|
+
* by subscribing to events throughout the agent lifecycle.
|
|
6
|
+
*/
|
|
7
|
+
export { HookEvent, BeforeInvocationEvent, AfterInvocationEvent, MessageAddedEvent, BeforeToolCallEvent, AfterToolCallEvent, BeforeModelCallEvent, AfterModelCallEvent, ModelStreamEventHook, BeforeToolsEvent, AfterToolsEvent, } from './events.js';
|
|
8
|
+
export type { ModelStopData as ModelStopResponse } from './events.js';
|
|
9
|
+
export { HookRegistryImplementation as HookRegistry } from './registry.js';
|
|
10
|
+
export type { HookCallback, HookProvider, HookEventConstructor } from './types.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,GAChB,MAAM,aAAa,CAAA;AAGpB,YAAY,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAGrE,OAAO,EAAE,0BAA0B,IAAI,YAAY,EAAE,MAAM,eAAe,CAAA;AAG1E,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hooks module for event-driven extensibility.
|
|
3
|
+
*
|
|
4
|
+
* Hooks provide a composable mechanism for extending agent functionality
|
|
5
|
+
* by subscribing to events throughout the agent lifecycle.
|
|
6
|
+
*/
|
|
7
|
+
// Event classes
|
|
8
|
+
export { HookEvent, BeforeInvocationEvent, AfterInvocationEvent, MessageAddedEvent, BeforeToolCallEvent, AfterToolCallEvent, BeforeModelCallEvent, AfterModelCallEvent, ModelStreamEventHook, BeforeToolsEvent, AfterToolsEvent, } from './events.js';
|
|
9
|
+
// Registry
|
|
10
|
+
export { HookRegistryImplementation as HookRegistry } from './registry.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gBAAgB;AAChB,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,GAChB,MAAM,aAAa,CAAA;AAKpB,WAAW;AACX,OAAO,EAAE,0BAA0B,IAAI,YAAY,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { HookEvent } from './events.js';
|
|
2
|
+
import type { HookCallback, HookProvider, HookEventConstructor } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Interface for hook registry operations.
|
|
5
|
+
* Enables registration of hook callbacks for event-driven extensibility.
|
|
6
|
+
*/
|
|
7
|
+
export interface HookRegistry {
|
|
8
|
+
/**
|
|
9
|
+
* Register a callback function for a specific event type.
|
|
10
|
+
*
|
|
11
|
+
* @param eventType - The event class constructor to register the callback for
|
|
12
|
+
* @param callback - The callback function to invoke when the event occurs
|
|
13
|
+
*/
|
|
14
|
+
addCallback<T extends HookEvent>(eventType: HookEventConstructor<T>, callback: HookCallback<T>): void;
|
|
15
|
+
/**
|
|
16
|
+
* Register all callbacks from a hook provider.
|
|
17
|
+
*
|
|
18
|
+
* @param provider - The hook provider to register
|
|
19
|
+
*/
|
|
20
|
+
addHook(provider: HookProvider): void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Implementation of the hook registry for managing hook callbacks.
|
|
24
|
+
* Maintains mappings between event types and callback functions.
|
|
25
|
+
*/
|
|
26
|
+
export declare class HookRegistryImplementation implements HookRegistry {
|
|
27
|
+
private readonly _callbacks;
|
|
28
|
+
constructor();
|
|
29
|
+
/**
|
|
30
|
+
* Register a callback function for a specific event type.
|
|
31
|
+
*
|
|
32
|
+
* @param eventType - The event class constructor to register the callback for
|
|
33
|
+
* @param callback - The callback function to invoke when the event occurs
|
|
34
|
+
*/
|
|
35
|
+
addCallback<T extends HookEvent>(eventType: HookEventConstructor<T>, callback: HookCallback<T>): void;
|
|
36
|
+
/**
|
|
37
|
+
* Register all callbacks from a hook provider.
|
|
38
|
+
*
|
|
39
|
+
* @param provider - The hook provider to register
|
|
40
|
+
*/
|
|
41
|
+
addHook(provider: HookProvider): void;
|
|
42
|
+
/**
|
|
43
|
+
* Register all callbacks from multiple hook providers.
|
|
44
|
+
*
|
|
45
|
+
* @param providers - Array of hook providers to register
|
|
46
|
+
*/
|
|
47
|
+
addAllHooks(providers: HookProvider[]): void;
|
|
48
|
+
/**
|
|
49
|
+
* Invoke all registered callbacks for the given event.
|
|
50
|
+
* Awaits each callback, supporting both sync and async.
|
|
51
|
+
*
|
|
52
|
+
* @param event - The event to invoke callbacks for
|
|
53
|
+
* @returns The event after all callbacks have been invoked
|
|
54
|
+
*/
|
|
55
|
+
invokeCallbacks<T extends HookEvent>(event: T): Promise<T>;
|
|
56
|
+
/**
|
|
57
|
+
* Get callbacks for a specific event with proper ordering.
|
|
58
|
+
* Returns callbacks in reverse order if event should reverse callbacks.
|
|
59
|
+
*
|
|
60
|
+
* @param event - The event to get callbacks for
|
|
61
|
+
* @returns Array of callbacks for the event
|
|
62
|
+
*/
|
|
63
|
+
private getCallbacksFor;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/hooks/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAElF;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAErG;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;CACtC;AAED;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,YAAY;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsD;;IAMjF;;;;;OAKG;IACH,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAMrG;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIrC;;;;OAIG;IACH,WAAW,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,IAAI;IAM5C;;;;;;OAMG;IACG,eAAe,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAQhE;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;CAIxB"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Implementation of the hook registry for managing hook callbacks.
|
|
3
|
+
* Maintains mappings between event types and callback functions.
|
|
4
|
+
*/
|
|
5
|
+
export class HookRegistryImplementation {
|
|
6
|
+
_callbacks;
|
|
7
|
+
constructor() {
|
|
8
|
+
this._callbacks = new Map();
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Register a callback function for a specific event type.
|
|
12
|
+
*
|
|
13
|
+
* @param eventType - The event class constructor to register the callback for
|
|
14
|
+
* @param callback - The callback function to invoke when the event occurs
|
|
15
|
+
*/
|
|
16
|
+
addCallback(eventType, callback) {
|
|
17
|
+
const callbacks = this._callbacks.get(eventType) ?? [];
|
|
18
|
+
callbacks.push(callback);
|
|
19
|
+
this._callbacks.set(eventType, callbacks);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Register all callbacks from a hook provider.
|
|
23
|
+
*
|
|
24
|
+
* @param provider - The hook provider to register
|
|
25
|
+
*/
|
|
26
|
+
addHook(provider) {
|
|
27
|
+
provider.registerCallbacks(this);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Register all callbacks from multiple hook providers.
|
|
31
|
+
*
|
|
32
|
+
* @param providers - Array of hook providers to register
|
|
33
|
+
*/
|
|
34
|
+
addAllHooks(providers) {
|
|
35
|
+
for (const provider of providers) {
|
|
36
|
+
this.addHook(provider);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Invoke all registered callbacks for the given event.
|
|
41
|
+
* Awaits each callback, supporting both sync and async.
|
|
42
|
+
*
|
|
43
|
+
* @param event - The event to invoke callbacks for
|
|
44
|
+
* @returns The event after all callbacks have been invoked
|
|
45
|
+
*/
|
|
46
|
+
async invokeCallbacks(event) {
|
|
47
|
+
const callbacks = this.getCallbacksFor(event);
|
|
48
|
+
for (const callback of callbacks) {
|
|
49
|
+
await callback(event);
|
|
50
|
+
}
|
|
51
|
+
return event;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Get callbacks for a specific event with proper ordering.
|
|
55
|
+
* Returns callbacks in reverse order if event should reverse callbacks.
|
|
56
|
+
*
|
|
57
|
+
* @param event - The event to get callbacks for
|
|
58
|
+
* @returns Array of callbacks for the event
|
|
59
|
+
*/
|
|
60
|
+
getCallbacksFor(event) {
|
|
61
|
+
const callbacks = this._callbacks.get(event.constructor) ?? [];
|
|
62
|
+
return (event._shouldReverseCallbacks() ? [...callbacks].reverse() : callbacks);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/hooks/registry.ts"],"names":[],"mappings":"AAwBA;;;GAGG;AACH,MAAM,OAAO,0BAA0B;IACpB,UAAU,CAAsD;IAEjF;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;IAC7B,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAsB,SAAkC,EAAE,QAAyB;QAC5F,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;QACtD,SAAS,CAAC,IAAI,CAAC,QAAmC,CAAC,CAAA;QACnD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAC3C,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,QAAsB;QAC5B,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,SAAyB;QACnC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CAAsB,KAAQ;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QAC7C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;;OAMG;IACK,eAAe,CAAsB,KAAQ;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,WAAsC,CAAC,IAAI,EAAE,CAAA;QACzF,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAsB,CAAA;IACtG,CAAC;CACF"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { HookEvent } from './events.js';
|
|
2
|
+
import type { HookRegistry } from './registry.js';
|
|
3
|
+
/**
|
|
4
|
+
* Type for a constructor function that creates HookEvent instances.
|
|
5
|
+
*/
|
|
6
|
+
export type HookEventConstructor<T extends HookEvent = HookEvent> = new (...args: any[]) => T;
|
|
7
|
+
/**
|
|
8
|
+
* Type for callback functions that handle hook events.
|
|
9
|
+
* Callbacks can be synchronous or asynchronous.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const callback: HookCallback<BeforeInvocationEvent> = (event) => {
|
|
14
|
+
* console.log('Agent invocation started')
|
|
15
|
+
* }
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export type HookCallback<T extends HookEvent> = (event: T) => void | Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Protocol for objects that provide hook callbacks to an agent.
|
|
21
|
+
* Enables composable extension of agent functionality.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* class MyHooks implements HookProvider {
|
|
26
|
+
* registerCallbacks(registry: HookRegistry): void {
|
|
27
|
+
* registry.addCallback(BeforeInvocationEvent, this.onStart)
|
|
28
|
+
* registry.addCallback(AfterInvocationEvent, this.onEnd)
|
|
29
|
+
* }
|
|
30
|
+
*
|
|
31
|
+
* private onStart = (event: BeforeInvocationEvent): void => {
|
|
32
|
+
* console.log('Agent started')
|
|
33
|
+
* }
|
|
34
|
+
*
|
|
35
|
+
* private onEnd = (event: AfterInvocationEvent): void => {
|
|
36
|
+
* console.log('Agent completed')
|
|
37
|
+
* }
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export interface HookProvider {
|
|
42
|
+
/**
|
|
43
|
+
* Register callback functions for specific event types.
|
|
44
|
+
*
|
|
45
|
+
* @param registry - The hook registry to register callbacks with
|
|
46
|
+
*/
|
|
47
|
+
registerCallbacks(registry: HookRegistry): void;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD;;GAEG;AAEH,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAE7F;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAElF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;CAChD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/hooks/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main entry point for the Strands Agents TypeScript SDK.
|
|
3
|
+
*
|
|
4
|
+
* This is the primary export module for the SDK, providing access to all
|
|
5
|
+
* public APIs and functionality.
|
|
6
|
+
*/
|
|
7
|
+
export { Agent } from './agent/agent.js';
|
|
8
|
+
export type { AgentState } from './agent/state.js';
|
|
9
|
+
export type { AgentData } from './types/agent.js';
|
|
10
|
+
export { AgentResult } from './types/agent.js';
|
|
11
|
+
export type { AgentConfig, ToolList } from './agent/agent.js';
|
|
12
|
+
export { ContextWindowOverflowError, MaxTokensError, JsonValidationError, ConcurrentInvocationError } from './errors.js';
|
|
13
|
+
export type { JSONSchema, JSONValue } from './types/json.js';
|
|
14
|
+
export type { Role, StopReason, TextBlockData, ToolUseBlockData, ToolResultBlockData, ReasoningBlockData, CachePointBlockData, GuardContentBlockData, GuardContentText, GuardContentImage, GuardQualifier, GuardImageFormat, GuardImageSource, ContentBlock, ContentBlockData, MessageData, SystemPrompt, SystemPromptData, SystemContentBlock, ToolResultContent, } from './types/messages.js';
|
|
15
|
+
export { TextBlock, ToolUseBlock, ToolResultBlock, ReasoningBlock, CachePointBlock, GuardContentBlock, Message, JsonBlock, } from './types/messages.js';
|
|
16
|
+
export { S3Location, ImageBlock, VideoBlock, DocumentBlock } from './types/media.js';
|
|
17
|
+
export type { S3LocationData, ImageFormat, ImageSource, ImageSourceData, ImageBlockData, VideoFormat, VideoSource, VideoSourceData, VideoBlockData, DocumentFormat, DocumentSource, DocumentSourceData, DocumentBlockData, DocumentContentBlock, DocumentContentBlockData, } from './types/media.js';
|
|
18
|
+
export type { ToolSpec, ToolUse, ToolResultStatus, ToolChoice } from './tools/types.js';
|
|
19
|
+
export type { Tool, InvokableTool, ToolContext, ToolStreamEventData, ToolStreamEvent, ToolStreamGenerator, } from './tools/tool.js';
|
|
20
|
+
export { FunctionTool } from './tools/function-tool.js';
|
|
21
|
+
export { tool } from './tools/zod-tool.js';
|
|
22
|
+
export type { Usage, Metrics, ModelMessageStartEventData, ModelMessageStartEvent, ToolUseStart, ContentBlockStart, ModelContentBlockStartEventData, ModelContentBlockStartEvent, TextDelta, ToolUseInputDelta, ReasoningContentDelta, ContentBlockDelta, ModelContentBlockDeltaEventData, ModelContentBlockDeltaEvent, ModelContentBlockStopEvent, ModelMessageStopEventData, ModelMessageStopEvent, ModelMetadataEventData, ModelMetadataEvent, ModelStreamEvent, } from './models/streaming.js';
|
|
23
|
+
export type { BaseModelConfig, StreamOptions, Model } from './models/model.js';
|
|
24
|
+
export { BedrockModel as BedrockModel } from './models/bedrock.js';
|
|
25
|
+
export type { BedrockModelConfig, BedrockModelOptions } from './models/bedrock.js';
|
|
26
|
+
export type { AgentStreamEvent } from './types/agent.js';
|
|
27
|
+
export { HookRegistry, HookEvent, BeforeInvocationEvent, AfterInvocationEvent, MessageAddedEvent, BeforeToolCallEvent, AfterToolCallEvent, BeforeModelCallEvent, AfterModelCallEvent, BeforeToolsEvent, AfterToolsEvent, ModelStreamEventHook, } from './hooks/index.js';
|
|
28
|
+
export type { HookCallback, HookProvider, HookEventConstructor, ModelStopResponse } from './hooks/index.js';
|
|
29
|
+
export { NullConversationManager } from './conversation-manager/null-conversation-manager.js';
|
|
30
|
+
export { SlidingWindowConversationManager, type SlidingWindowConversationManagerConfig, } from './conversation-manager/sliding-window-conversation-manager.js';
|
|
31
|
+
export { type McpClientConfig, McpClient } from './mcp.js';
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|