@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,231 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { AgentState } from '../state.js';
|
|
3
|
+
describe('AgentState', () => {
|
|
4
|
+
describe('constructor', () => {
|
|
5
|
+
it('creates empty state when no initial state provided', () => {
|
|
6
|
+
const state = new AgentState();
|
|
7
|
+
expect(state.keys()).toEqual([]);
|
|
8
|
+
});
|
|
9
|
+
it('creates state with initial values', () => {
|
|
10
|
+
const state = new AgentState({ key1: 'value1', key2: 42 });
|
|
11
|
+
expect(state.get('key1')).toBe('value1');
|
|
12
|
+
expect(state.get('key2')).toBe(42);
|
|
13
|
+
});
|
|
14
|
+
it('stores deep copy of initial state', () => {
|
|
15
|
+
const initial = { nested: { value: 'test' } };
|
|
16
|
+
const state = new AgentState(initial);
|
|
17
|
+
// Mutate original
|
|
18
|
+
initial.nested.value = 'changed';
|
|
19
|
+
// State should not be affected
|
|
20
|
+
expect(state.get('nested')).toEqual({ value: 'test' });
|
|
21
|
+
});
|
|
22
|
+
it('throws error for function in initial state', () => {
|
|
23
|
+
const invalidState = { func: () => 'test', value: 'keep' };
|
|
24
|
+
expect(() => new AgentState(invalidState)).toThrow('initialState.func contains a function which cannot be serialized');
|
|
25
|
+
});
|
|
26
|
+
it('throws error for symbol in initial state', () => {
|
|
27
|
+
const sym = Symbol('test');
|
|
28
|
+
const invalidState = { sym, value: 'keep' };
|
|
29
|
+
expect(() => new AgentState(invalidState)).toThrow('initialState.sym contains a symbol which cannot be serialized');
|
|
30
|
+
});
|
|
31
|
+
it('throws error for undefined in initial state', () => {
|
|
32
|
+
const invalidState = { undef: undefined, value: 'keep' };
|
|
33
|
+
expect(() => new AgentState(invalidState)).toThrow('initialState.undef is undefined which cannot be serialized');
|
|
34
|
+
});
|
|
35
|
+
it('throws error for nested function in initial state', () => {
|
|
36
|
+
const invalidState = { nested: { func: () => 'test' } };
|
|
37
|
+
expect(() => new AgentState(invalidState)).toThrow('initialState.nested.func contains a function which cannot be serialized');
|
|
38
|
+
});
|
|
39
|
+
it('throws error for function in array in initial state', () => {
|
|
40
|
+
const invalidState = { arr: [1, () => 'test', 3] };
|
|
41
|
+
expect(() => new AgentState(invalidState)).toThrow('initialState.arr[1] contains a function which cannot be serialized');
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
describe('get', () => {
|
|
45
|
+
it('throws error when key is null or undefined', () => {
|
|
46
|
+
const state = new AgentState();
|
|
47
|
+
expect(() => state.get(null)).toThrow('key is required');
|
|
48
|
+
expect(() => state.get(undefined)).toThrow('key is required');
|
|
49
|
+
});
|
|
50
|
+
it('returns undefined when key does not exist', () => {
|
|
51
|
+
const state = new AgentState();
|
|
52
|
+
expect(state.get('nonexistent')).toBeUndefined();
|
|
53
|
+
});
|
|
54
|
+
it('returns value when key exists', () => {
|
|
55
|
+
const state = new AgentState({ key1: 'value1' });
|
|
56
|
+
expect(state.get('key1')).toBe('value1');
|
|
57
|
+
});
|
|
58
|
+
it('returns deep copy that cannot mutate stored state', () => {
|
|
59
|
+
const state = new AgentState({ nested: { value: 'test' } });
|
|
60
|
+
const retrieved = state.get('nested');
|
|
61
|
+
// Mutate retrieved value
|
|
62
|
+
retrieved.value = 'changed';
|
|
63
|
+
// Stored state should not be affected
|
|
64
|
+
expect(state.get('nested')).toEqual({ value: 'test' });
|
|
65
|
+
});
|
|
66
|
+
it('infers correct type with generic state interface', () => {
|
|
67
|
+
const state = new AgentState({ user: { name: 'John', age: 30 }, count: 5, items: ['a', 'b'] });
|
|
68
|
+
// Type inference tests
|
|
69
|
+
const user = state.get('user');
|
|
70
|
+
const count = state.get('count');
|
|
71
|
+
const items = state.get('items');
|
|
72
|
+
expect(user).toEqual({ name: 'John', age: 30 });
|
|
73
|
+
expect(count).toBe(5);
|
|
74
|
+
expect(items).toEqual(['a', 'b']);
|
|
75
|
+
});
|
|
76
|
+
it('returns undefined for non-existent key with typed interface', () => {
|
|
77
|
+
const state = new AgentState({ existing: 'value' });
|
|
78
|
+
const result = state.get('existing');
|
|
79
|
+
expect(result).toBe('value');
|
|
80
|
+
// Non-existent key
|
|
81
|
+
const state2 = new AgentState();
|
|
82
|
+
const missing = state2.get('existing');
|
|
83
|
+
expect(missing).toBeUndefined();
|
|
84
|
+
// @ts-expect-error properties not on the TestsState are an error
|
|
85
|
+
state2.get('not-really');
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
describe('set', () => {
|
|
89
|
+
it('sets string value successfully', () => {
|
|
90
|
+
const state = new AgentState();
|
|
91
|
+
state.set('key1', 'value1');
|
|
92
|
+
expect(state.get('key1')).toBe('value1');
|
|
93
|
+
});
|
|
94
|
+
it('sets number value successfully', () => {
|
|
95
|
+
const state = new AgentState();
|
|
96
|
+
state.set('key1', 42);
|
|
97
|
+
expect(state.get('key1')).toBe(42);
|
|
98
|
+
});
|
|
99
|
+
it('sets boolean value successfully', () => {
|
|
100
|
+
const state = new AgentState();
|
|
101
|
+
state.set('key1', true);
|
|
102
|
+
expect(state.get('key1')).toBe(true);
|
|
103
|
+
});
|
|
104
|
+
it('sets null value successfully', () => {
|
|
105
|
+
const state = new AgentState();
|
|
106
|
+
state.set('key1', null);
|
|
107
|
+
expect(state.get('key1')).toBeNull();
|
|
108
|
+
});
|
|
109
|
+
it('sets object value successfully', () => {
|
|
110
|
+
const state = new AgentState();
|
|
111
|
+
state.set('key1', { nested: 'value' });
|
|
112
|
+
expect(state.get('key1')).toEqual({ nested: 'value' });
|
|
113
|
+
});
|
|
114
|
+
it('sets array value successfully', () => {
|
|
115
|
+
const state = new AgentState();
|
|
116
|
+
state.set('key1', [1, 2, 3]);
|
|
117
|
+
expect(state.get('key1')).toEqual([1, 2, 3]);
|
|
118
|
+
});
|
|
119
|
+
it('overwrites existing value', () => {
|
|
120
|
+
const state = new AgentState({ key1: 'old' });
|
|
121
|
+
state.set('key1', 'new');
|
|
122
|
+
expect(state.get('key1')).toBe('new');
|
|
123
|
+
});
|
|
124
|
+
it('stores deep copy that cannot mutate stored state', () => {
|
|
125
|
+
const state = new AgentState();
|
|
126
|
+
const value = { nested: { value: 'test' } };
|
|
127
|
+
state.set('key1', value);
|
|
128
|
+
// Mutate original
|
|
129
|
+
value.nested.value = 'changed';
|
|
130
|
+
// Stored state should not be affected
|
|
131
|
+
expect(state.get('key1')).toEqual({ nested: { value: 'test' } });
|
|
132
|
+
});
|
|
133
|
+
it('throws error for function in value', () => {
|
|
134
|
+
const state = new AgentState({ existing: 'value' });
|
|
135
|
+
const obj = { func: () => 'test', value: 'keep' };
|
|
136
|
+
expect(() => state.set('key1', obj)).toThrow('value for key "key1".func contains a function which cannot be serialized');
|
|
137
|
+
});
|
|
138
|
+
it('throws error for symbol in value', () => {
|
|
139
|
+
const state = new AgentState();
|
|
140
|
+
const sym = Symbol('test');
|
|
141
|
+
expect(() => state.set('key1', { sym })).toThrow('value for key "key1".sym contains a symbol which cannot be serialized');
|
|
142
|
+
});
|
|
143
|
+
it('throws error for nested function in value', () => {
|
|
144
|
+
const state = new AgentState();
|
|
145
|
+
const obj = { nested: { func: () => 'test' } };
|
|
146
|
+
expect(() => state.set('key1', obj)).toThrow('value for key "key1".nested.func contains a function which cannot be serialized');
|
|
147
|
+
});
|
|
148
|
+
it('throws error for function in array', () => {
|
|
149
|
+
const state = new AgentState();
|
|
150
|
+
const arr = [1, () => 'test', 3];
|
|
151
|
+
expect(() => state.set('key1', arr)).toThrow('value for key "key1"[1] contains a function which cannot be serialized');
|
|
152
|
+
});
|
|
153
|
+
it('throws error for top-level symbol values', () => {
|
|
154
|
+
const state = new AgentState();
|
|
155
|
+
expect(() => state.set('key1', Symbol('test'))).toThrow('value for key "key1" contains a symbol which cannot be serialized');
|
|
156
|
+
});
|
|
157
|
+
it('throws error for top-level undefined values', () => {
|
|
158
|
+
const state = new AgentState();
|
|
159
|
+
expect(() => state.set('key1', undefined)).toThrow('value for key "key1" is undefined which cannot be serialized');
|
|
160
|
+
});
|
|
161
|
+
it('accepts typed value with generic state interface', () => {
|
|
162
|
+
const state = new AgentState();
|
|
163
|
+
state.set('user', { name: 'Alice', age: 25 });
|
|
164
|
+
state.set('count', 10);
|
|
165
|
+
expect(state.get('user')).toEqual({ name: 'Alice', age: 25 });
|
|
166
|
+
expect(state.get('count')).toBe(10);
|
|
167
|
+
// @ts-expect-error properties not on the TestsState are an error
|
|
168
|
+
state.set('not-really', 'nope');
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
describe('delete', () => {
|
|
172
|
+
it('removes existing key', () => {
|
|
173
|
+
const state = new AgentState({ key1: 'value1', key2: 'value2' });
|
|
174
|
+
state.delete('key1');
|
|
175
|
+
expect(state.get('key1')).toBeUndefined();
|
|
176
|
+
expect(state.get('key2')).toBe('value2');
|
|
177
|
+
});
|
|
178
|
+
it('does not throw error for non-existent key', () => {
|
|
179
|
+
const state = new AgentState();
|
|
180
|
+
expect(() => state.delete('nonexistent')).not.toThrow();
|
|
181
|
+
});
|
|
182
|
+
it('supports typed usage with generic state interface', () => {
|
|
183
|
+
const state = new AgentState({ user: { name: 'Alice' }, count: 5 });
|
|
184
|
+
// Typed delete
|
|
185
|
+
state.delete('user');
|
|
186
|
+
expect(state.get('user')).toBeUndefined();
|
|
187
|
+
expect(state.get('count')).toBe(5);
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
describe('clear', () => {
|
|
191
|
+
it('removes all values', () => {
|
|
192
|
+
const state = new AgentState({ key1: 'value1', key2: 'value2' });
|
|
193
|
+
state.clear();
|
|
194
|
+
expect(state.keys()).toEqual([]);
|
|
195
|
+
expect(state.get('key1')).toBeUndefined();
|
|
196
|
+
expect(state.get('key2')).toBeUndefined();
|
|
197
|
+
});
|
|
198
|
+
it('works on empty state', () => {
|
|
199
|
+
const state = new AgentState();
|
|
200
|
+
expect(() => state.clear()).not.toThrow();
|
|
201
|
+
expect(state.keys()).toEqual([]);
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
describe('getAll', () => {
|
|
205
|
+
it('returns object with all state', () => {
|
|
206
|
+
const state = new AgentState({ key1: 'value1', key2: 42 });
|
|
207
|
+
expect(state.getAll()).toEqual({ key1: 'value1', key2: 42 });
|
|
208
|
+
});
|
|
209
|
+
it('returns empty object for empty state', () => {
|
|
210
|
+
const state = new AgentState();
|
|
211
|
+
expect(state.getAll()).toEqual({});
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
describe('keys', () => {
|
|
215
|
+
it('returns array of all keys', () => {
|
|
216
|
+
const state = new AgentState({ key1: 'value1', key2: 'value2' });
|
|
217
|
+
expect(state.keys().sort()).toEqual(['key1', 'key2']);
|
|
218
|
+
});
|
|
219
|
+
it('returns empty array for empty state', () => {
|
|
220
|
+
const state = new AgentState();
|
|
221
|
+
expect(state.keys()).toEqual([]);
|
|
222
|
+
});
|
|
223
|
+
it('returns new array each time', () => {
|
|
224
|
+
const state = new AgentState({ key1: 'value1' });
|
|
225
|
+
const keys1 = state.keys();
|
|
226
|
+
const keys2 = state.keys();
|
|
227
|
+
expect(keys1).not.toBe(keys2);
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
//# sourceMappingURL=state.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.test.js","sourceRoot":"","sources":["../../../../src/agent/__tests__/state.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;YAC1D,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACxC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAA;YAC7C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;YAErC,kBAAkB;YAClB,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAA;YAEhC,+BAA+B;YAC/B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;YAC1D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,YAAqB,CAAC,CAAC,CAAC,OAAO,CACzD,kEAAkE,CACnE,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;YAC1B,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;YAC3C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,YAAqB,CAAC,CAAC,CAAC,OAAO,CACzD,+DAA+D,CAChE,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,YAAY,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;YACxD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,YAAqB,CAAC,CAAC,CAAC,OAAO,CACzD,4DAA4D,CAC7D,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,YAAY,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAA;YACvD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,YAAqB,CAAC,CAAC,CAAC,OAAO,CACzD,yEAAyE,CAC1E,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAA;YAClD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,YAAqB,CAAC,CAAC,CAAC,OAAO,CACzD,oEAAoE,CACrE,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAW,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;YAC/D,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,SAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QACtE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;QAClD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;YAChD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;YAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAgC,QAAQ,CAAC,CAAA;YAEpE,yBAAyB;YACzB,SAAU,CAAC,KAAK,GAAG,SAAS,CAAA;YAE5B,sCAAsC;YACtC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAO1D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;YAE9F,uBAAuB;YACvB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAY,MAAM,CAAC,CAAA;YACzC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAY,OAAO,CAAC,CAAA;YAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAY,OAAO,CAAC,CAAA;YAE3C,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAA;YAC/C,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACrB,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YAKrE,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;YACnD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAY,UAAU,CAAC,CAAA;YAE/C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAE5B,mBAAmB;YACnB,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;YAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAY,UAAU,CAAC,CAAA;YAEjD,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAA;YAE/B,iEAAiE;YACjE,MAAM,CAAC,GAAG,CAAY,YAAY,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YAC3B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YACrB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACvB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACvB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QACtC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;YACtC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;YAC7C,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YACxB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAA;YAC3C,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YAExB,kBAAkB;YAClB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAA;YAE9B,sCAAsC;YACtC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;YACnD,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;YACjD,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAC1C,0EAA0E,CAC3E,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;YAC1B,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,EAAW,CAAC,CAAC,CAAC,OAAO,CACvD,uEAAuE,CACxE,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAA;YAC9C,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAC1C,iFAAiF,CAClF,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAChC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAC1C,wEAAwE,CACzE,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CACrD,mEAAmE,CACpE,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAA;QACpH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAM1D,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAE9B,KAAK,CAAC,GAAG,CAAY,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAA;YACxD,KAAK,CAAC,GAAG,CAAY,OAAO,EAAE,EAAE,CAAC,CAAA;YAEjC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAA;YAC7D,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEnC,iEAAiE;YACjE,KAAK,CAAC,GAAG,CAAY,YAAY,EAAE,MAAM,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC9B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;YAChE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACpB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;YACzC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QACzD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAM3D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;YAEnE,eAAe;YACf,KAAK,CAAC,MAAM,CAAY,MAAM,CAAC,CAAA;YAC/B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;YACzC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAC5B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;YAChE,KAAK,CAAC,KAAK,EAAE,CAAA;YACb,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAChC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;YACzC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;QAC3C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC9B,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;YACzC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;YAC1D,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;YAChE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;YAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;YAChD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;YAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;YAC1B,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { AgentResult, type AgentStreamEvent, type JSONValue, McpClient, Message, type MessageData, type SystemPrompt, type SystemPromptData, type Tool } from '../index.js';
|
|
2
|
+
import type { BaseModelConfig, Model } from '../models/model.js';
|
|
3
|
+
import { ToolRegistry } from '../registry/tool-registry.js';
|
|
4
|
+
import { AgentState } from './state.js';
|
|
5
|
+
import type { AgentData } from '../types/agent.js';
|
|
6
|
+
import type { HookProvider } from '../hooks/types.js';
|
|
7
|
+
import { HookRegistryImplementation } from '../hooks/registry.js';
|
|
8
|
+
/**
|
|
9
|
+
* Recursive type definition for nested tool arrays.
|
|
10
|
+
* Allows tools to be organized in nested arrays of any depth.
|
|
11
|
+
*/
|
|
12
|
+
export type ToolList = (Tool | McpClient | ToolList)[];
|
|
13
|
+
/**
|
|
14
|
+
* Configuration object for creating a new Agent.
|
|
15
|
+
*/
|
|
16
|
+
export type AgentConfig = {
|
|
17
|
+
/** The model instance that the agent will use to make decisions. */
|
|
18
|
+
model?: Model<BaseModelConfig>;
|
|
19
|
+
/** An initial set of messages to seed the agent's conversation history. */
|
|
20
|
+
messages?: Message[] | MessageData[];
|
|
21
|
+
/**
|
|
22
|
+
* An initial set of tools to register with the agent.
|
|
23
|
+
* Accepts nested arrays of tools at any depth, which will be flattened automatically.
|
|
24
|
+
*/
|
|
25
|
+
tools?: ToolList;
|
|
26
|
+
/**
|
|
27
|
+
* A system prompt which guides model behavior.
|
|
28
|
+
*/
|
|
29
|
+
systemPrompt?: SystemPrompt | SystemPromptData;
|
|
30
|
+
/** Optional initial state values for the agent. */
|
|
31
|
+
state?: Record<string, JSONValue>;
|
|
32
|
+
/**
|
|
33
|
+
* Enable automatic printing of agent output to console.
|
|
34
|
+
* When true, prints text generation, reasoning, and tool usage as they occur.
|
|
35
|
+
* Defaults to true.
|
|
36
|
+
*/
|
|
37
|
+
printer?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Conversation manager for handling message history and context overflow.
|
|
40
|
+
* Defaults to SlidingWindowConversationManager with windowSize of 40.
|
|
41
|
+
*/
|
|
42
|
+
conversationManager?: HookProvider;
|
|
43
|
+
/**
|
|
44
|
+
* Hook providers to register with the agent.
|
|
45
|
+
* Hooks enable observing and extending agent behavior.
|
|
46
|
+
*/
|
|
47
|
+
hooks?: HookProvider[];
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Arguments for invoking an agent.
|
|
51
|
+
*
|
|
52
|
+
* A plain string represents user input to an agent.
|
|
53
|
+
*/
|
|
54
|
+
export type InvokeArgs = string;
|
|
55
|
+
/**
|
|
56
|
+
* Orchestrates the interaction between a model, a set of tools, and MCP clients.
|
|
57
|
+
* The Agent is responsible for managing the lifecycle of tools and clients
|
|
58
|
+
* and invoking the core decision-making loop.
|
|
59
|
+
*/
|
|
60
|
+
export declare class Agent implements AgentData {
|
|
61
|
+
/**
|
|
62
|
+
* The conversation history of messages between user and assistant.
|
|
63
|
+
*/
|
|
64
|
+
readonly messages: Message[];
|
|
65
|
+
/**
|
|
66
|
+
* Agent state storage accessible to tools and application logic.
|
|
67
|
+
* State is not passed to the model during inference.
|
|
68
|
+
*/
|
|
69
|
+
readonly state: AgentState;
|
|
70
|
+
/**
|
|
71
|
+
* Conversation manager for handling message history and context overflow.
|
|
72
|
+
*/
|
|
73
|
+
readonly conversationManager: HookProvider;
|
|
74
|
+
/**
|
|
75
|
+
* Hook registry for managing event callbacks.
|
|
76
|
+
* Hooks enable observing and extending agent behavior.
|
|
77
|
+
*/
|
|
78
|
+
readonly hooks: HookRegistryImplementation;
|
|
79
|
+
/**
|
|
80
|
+
* The model provider used by the agent for inference.
|
|
81
|
+
*/
|
|
82
|
+
model: Model;
|
|
83
|
+
private _toolRegistry;
|
|
84
|
+
private _mcpClients;
|
|
85
|
+
private _systemPrompt?;
|
|
86
|
+
private _initialized;
|
|
87
|
+
private _isInvoking;
|
|
88
|
+
private _printer?;
|
|
89
|
+
/**
|
|
90
|
+
* Creates an instance of the Agent.
|
|
91
|
+
* @param config - The configuration for the agent.
|
|
92
|
+
*/
|
|
93
|
+
constructor(config?: AgentConfig);
|
|
94
|
+
initialize(): Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* Acquires a lock to prevent concurrent invocations.
|
|
97
|
+
* Returns a Disposable that releases the lock when disposed.
|
|
98
|
+
*/
|
|
99
|
+
private acquireLock;
|
|
100
|
+
/**
|
|
101
|
+
* The tools this agent can use.
|
|
102
|
+
*/
|
|
103
|
+
get tools(): Tool[];
|
|
104
|
+
/**
|
|
105
|
+
* The tool registry for managing the agent's tools.
|
|
106
|
+
*/
|
|
107
|
+
get toolRegistry(): ToolRegistry;
|
|
108
|
+
/**
|
|
109
|
+
* Invokes the agent and returns the final result.
|
|
110
|
+
*
|
|
111
|
+
* This is a convenience method that consumes the stream() method and returns
|
|
112
|
+
* only the final AgentResult. Use stream() if you need access to intermediate
|
|
113
|
+
* streaming events.
|
|
114
|
+
*
|
|
115
|
+
* @param args - Arguments for invoking the agent
|
|
116
|
+
* @returns Promise that resolves to the final AgentResult
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* const agent = new Agent({ model, tools })
|
|
121
|
+
* const result = await agent.invoke('What is 2 + 2?')
|
|
122
|
+
* console.log(result.lastMessage) // Agent's response
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
invoke(args: InvokeArgs): Promise<AgentResult>;
|
|
126
|
+
/**
|
|
127
|
+
* Streams the agent execution, yielding events and returning the final result.
|
|
128
|
+
*
|
|
129
|
+
* The agent loop manages the conversation flow by:
|
|
130
|
+
* 1. Streaming model responses and yielding all events
|
|
131
|
+
* 2. Executing tools when the model requests them
|
|
132
|
+
* 3. Continuing the loop until the model completes without tool use
|
|
133
|
+
*
|
|
134
|
+
* Use this method when you need access to intermediate streaming events.
|
|
135
|
+
* For simple request/response without streaming, use invoke() instead.
|
|
136
|
+
*
|
|
137
|
+
* An explicit goal of this method is to always leave the message array in a way that
|
|
138
|
+
* the agent can be reinvoked with a user prompt after this method completes. To that end
|
|
139
|
+
* assistant messages containing tool uses are only added after tool execution succeeds
|
|
140
|
+
* with valid toolResponses
|
|
141
|
+
*
|
|
142
|
+
* @param args - Arguments for invoking the agent
|
|
143
|
+
* @returns Async generator that yields AgentStreamEvent objects and returns AgentResult
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```typescript
|
|
147
|
+
* const agent = new Agent({ model, tools })
|
|
148
|
+
*
|
|
149
|
+
* for await (const event of agent.stream('Hello')) {
|
|
150
|
+
* console.log('Event:', event.type)
|
|
151
|
+
* }
|
|
152
|
+
* // Messages array is mutated in place and contains the full conversation
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
stream(args: InvokeArgs): AsyncGenerator<AgentStreamEvent, AgentResult, undefined>;
|
|
156
|
+
/**
|
|
157
|
+
* Internal implementation of the agent streaming logic.
|
|
158
|
+
* Separated to centralize printer event processing in the public stream method.
|
|
159
|
+
*
|
|
160
|
+
* @param args - Arguments for invoking the agent
|
|
161
|
+
* @returns Async generator that yields AgentStreamEvent objects and returns AgentResult
|
|
162
|
+
*/
|
|
163
|
+
private _stream;
|
|
164
|
+
/**
|
|
165
|
+
* Invokes the model provider and streams all events.
|
|
166
|
+
*
|
|
167
|
+
* @param args - Optional arguments for invoking the model
|
|
168
|
+
* @returns Object containing the assistant message and stop reason
|
|
169
|
+
*/
|
|
170
|
+
private invokeModel;
|
|
171
|
+
/**
|
|
172
|
+
* Streams events from the model and fires ModelStreamEventHook for each event.
|
|
173
|
+
*
|
|
174
|
+
* @param messages - Messages to send to the model
|
|
175
|
+
* @param streamOptions - Options for streaming
|
|
176
|
+
* @returns Object containing the assistant message and stop reason
|
|
177
|
+
*/
|
|
178
|
+
private _streamFromModel;
|
|
179
|
+
/**
|
|
180
|
+
* Executes tools sequentially and streams all tool events.
|
|
181
|
+
*
|
|
182
|
+
* @param assistantMessage - The assistant message containing tool use blocks
|
|
183
|
+
* @param toolRegistry - Registry containing available tools
|
|
184
|
+
* @returns User message containing tool results
|
|
185
|
+
*/
|
|
186
|
+
private executeTools;
|
|
187
|
+
/**
|
|
188
|
+
* Executes a single tool and returns the result.
|
|
189
|
+
* If the tool is not found or fails to return a result, returns an error ToolResult
|
|
190
|
+
* instead of throwing an exception. This allows the agent loop to continue and
|
|
191
|
+
* let the model handle the error gracefully.
|
|
192
|
+
*
|
|
193
|
+
* @param toolUseBlock - Tool use block to execute
|
|
194
|
+
* @param toolRegistry - Registry containing available tools
|
|
195
|
+
* @returns Tool result block
|
|
196
|
+
*/
|
|
197
|
+
private executeTool;
|
|
198
|
+
/**
|
|
199
|
+
* Appends a message to the conversation history, invokes MessageAddedEvent hook,
|
|
200
|
+
* and returns the event for yielding.
|
|
201
|
+
*
|
|
202
|
+
* @param message - The message to append
|
|
203
|
+
* @returns MessageAddedEvent to be yielded (hook already invoked)
|
|
204
|
+
*/
|
|
205
|
+
private _appendMessage;
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/agent/agent.ts"],"names":[],"mappings":"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"}
|