@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 @@
|
|
|
1
|
+
{"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../src/models/bedrock.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { type ContentBlock, Message, type SystemPrompt } from '../types/messages.js';
|
|
2
|
+
import type { ToolChoice, ToolSpec } from '../tools/types.js';
|
|
3
|
+
import { type ModelStreamEvent } from './streaming.js';
|
|
4
|
+
/**
|
|
5
|
+
* Base configuration interface for all model providers.
|
|
6
|
+
*
|
|
7
|
+
* This interface defines the common configuration properties that all
|
|
8
|
+
* model providers should support. Provider-specific configurations
|
|
9
|
+
* should extend this interface.
|
|
10
|
+
*/
|
|
11
|
+
export interface BaseModelConfig {
|
|
12
|
+
/**
|
|
13
|
+
* The model identifier.
|
|
14
|
+
* This typically specifies which model to use from the provider's catalog.
|
|
15
|
+
*/
|
|
16
|
+
modelId?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Options interface for configuring streaming model invocation.
|
|
20
|
+
*/
|
|
21
|
+
export interface StreamOptions {
|
|
22
|
+
/**
|
|
23
|
+
* System prompt to guide the model's behavior.
|
|
24
|
+
* Can be a simple string or an array of content blocks for advanced caching.
|
|
25
|
+
*/
|
|
26
|
+
systemPrompt?: SystemPrompt;
|
|
27
|
+
/**
|
|
28
|
+
* Array of tool specifications that the model can use.
|
|
29
|
+
*/
|
|
30
|
+
toolSpecs?: ToolSpec[];
|
|
31
|
+
/**
|
|
32
|
+
* Controls how the model selects tools to use.
|
|
33
|
+
*/
|
|
34
|
+
toolChoice?: ToolChoice;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Base abstract class for model providers.
|
|
38
|
+
* Defines the contract that all model provider implementations must follow.
|
|
39
|
+
*
|
|
40
|
+
* Model providers handle communication with LLM APIs and implement streaming
|
|
41
|
+
* responses using async iterables.
|
|
42
|
+
*
|
|
43
|
+
* @typeParam T - Model configuration type extending BaseModelConfig
|
|
44
|
+
*/
|
|
45
|
+
export declare abstract class Model<T extends BaseModelConfig = BaseModelConfig> {
|
|
46
|
+
/**
|
|
47
|
+
* Updates the model configuration.
|
|
48
|
+
* Merges the provided configuration with existing settings.
|
|
49
|
+
*
|
|
50
|
+
* @param modelConfig - Configuration object with model-specific settings to update
|
|
51
|
+
*/
|
|
52
|
+
abstract updateConfig(modelConfig: T): void;
|
|
53
|
+
/**
|
|
54
|
+
* Retrieves the current model configuration.
|
|
55
|
+
*
|
|
56
|
+
* @returns The current configuration object
|
|
57
|
+
*/
|
|
58
|
+
abstract getConfig(): T;
|
|
59
|
+
/**
|
|
60
|
+
* Streams a conversation with the model.
|
|
61
|
+
* Returns an async iterable that yields streaming events as they occur.
|
|
62
|
+
*
|
|
63
|
+
* @param messages - Array of conversation messages
|
|
64
|
+
* @param options - Optional streaming configuration
|
|
65
|
+
* @returns Async iterable of streaming events
|
|
66
|
+
*/
|
|
67
|
+
abstract stream(messages: Message[], options?: StreamOptions): AsyncIterable<ModelStreamEvent>;
|
|
68
|
+
/**
|
|
69
|
+
* Converts event data to event class representation
|
|
70
|
+
*
|
|
71
|
+
* @param event_data - Interface representation of event
|
|
72
|
+
* @returns Class representation of event
|
|
73
|
+
*/
|
|
74
|
+
private _convert_to_class_event;
|
|
75
|
+
/**
|
|
76
|
+
* Streams a conversation with aggregated content blocks and messages.
|
|
77
|
+
* Returns an async generator that yields streaming events and content blocks, and returns the final message with stop reason.
|
|
78
|
+
*
|
|
79
|
+
* This method enhances the basic stream() by collecting streaming events into complete
|
|
80
|
+
* ContentBlock and Message objects, which are needed by the agentic loop for tool execution
|
|
81
|
+
* and conversation management.
|
|
82
|
+
*
|
|
83
|
+
* The method yields:
|
|
84
|
+
* - ModelStreamEvent - Original streaming events (passed through)
|
|
85
|
+
* - ContentBlock - Complete content block (emitted when block completes)
|
|
86
|
+
*
|
|
87
|
+
* The method returns:
|
|
88
|
+
* - Object containing the complete message and stop reason
|
|
89
|
+
*
|
|
90
|
+
* @param messages - Array of conversation messages
|
|
91
|
+
* @param options - Optional streaming configuration
|
|
92
|
+
* @returns Async generator yielding ModelStreamEvent | ContentBlock and returning an object with message and stopReason
|
|
93
|
+
*/
|
|
94
|
+
streamAggregated(messages: Message[], options?: StreamOptions): AsyncGenerator<ModelStreamEvent | ContentBlock, {
|
|
95
|
+
message: Message;
|
|
96
|
+
stopReason: string;
|
|
97
|
+
}, undefined>;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/models/model.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,OAAO,EAGP,KAAK,YAAY,EAGlB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAOL,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAA;AAGvB;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;IAE3B;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAED;;;;;;;;GAQG;AACH,8BAAsB,KAAK,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IACrE;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI;IAE3C;;;;OAIG;IACH,QAAQ,CAAC,SAAS,IAAI,CAAC;IAEvB;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC,gBAAgB,CAAC;IAE9F;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;;;;;;;;;;;;;;;;;OAkBG;IACI,gBAAgB,CACrB,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,CAAC,EAAE,aAAa,GACtB,cAAc,CAAC,gBAAgB,GAAG,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,SAAS,CAAC;CA0HxG"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { Message, ReasoningBlock, TextBlock, ToolUseBlock, } from '../types/messages.js';
|
|
2
|
+
import { ModelContentBlockDeltaEvent, ModelContentBlockStartEvent, ModelContentBlockStopEvent, ModelMessageStartEvent, ModelMessageStopEvent, ModelMetadataEvent, } from './streaming.js';
|
|
3
|
+
import { MaxTokensError } from '../errors.js';
|
|
4
|
+
/**
|
|
5
|
+
* Base abstract class for model providers.
|
|
6
|
+
* Defines the contract that all model provider implementations must follow.
|
|
7
|
+
*
|
|
8
|
+
* Model providers handle communication with LLM APIs and implement streaming
|
|
9
|
+
* responses using async iterables.
|
|
10
|
+
*
|
|
11
|
+
* @typeParam T - Model configuration type extending BaseModelConfig
|
|
12
|
+
*/
|
|
13
|
+
export class Model {
|
|
14
|
+
/**
|
|
15
|
+
* Converts event data to event class representation
|
|
16
|
+
*
|
|
17
|
+
* @param event_data - Interface representation of event
|
|
18
|
+
* @returns Class representation of event
|
|
19
|
+
*/
|
|
20
|
+
_convert_to_class_event(event_data) {
|
|
21
|
+
switch (event_data.type) {
|
|
22
|
+
case 'modelMessageStartEvent':
|
|
23
|
+
return new ModelMessageStartEvent(event_data);
|
|
24
|
+
case 'modelContentBlockStartEvent':
|
|
25
|
+
return new ModelContentBlockStartEvent(event_data);
|
|
26
|
+
case 'modelContentBlockDeltaEvent':
|
|
27
|
+
return new ModelContentBlockDeltaEvent(event_data);
|
|
28
|
+
case 'modelContentBlockStopEvent':
|
|
29
|
+
return new ModelContentBlockStopEvent(event_data);
|
|
30
|
+
case 'modelMessageStopEvent':
|
|
31
|
+
return new ModelMessageStopEvent(event_data);
|
|
32
|
+
case 'modelMetadataEvent':
|
|
33
|
+
return new ModelMetadataEvent(event_data);
|
|
34
|
+
default:
|
|
35
|
+
throw new Error(`Unsupported event type: ${event_data}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Streams a conversation with aggregated content blocks and messages.
|
|
40
|
+
* Returns an async generator that yields streaming events and content blocks, and returns the final message with stop reason.
|
|
41
|
+
*
|
|
42
|
+
* This method enhances the basic stream() by collecting streaming events into complete
|
|
43
|
+
* ContentBlock and Message objects, which are needed by the agentic loop for tool execution
|
|
44
|
+
* and conversation management.
|
|
45
|
+
*
|
|
46
|
+
* The method yields:
|
|
47
|
+
* - ModelStreamEvent - Original streaming events (passed through)
|
|
48
|
+
* - ContentBlock - Complete content block (emitted when block completes)
|
|
49
|
+
*
|
|
50
|
+
* The method returns:
|
|
51
|
+
* - Object containing the complete message and stop reason
|
|
52
|
+
*
|
|
53
|
+
* @param messages - Array of conversation messages
|
|
54
|
+
* @param options - Optional streaming configuration
|
|
55
|
+
* @returns Async generator yielding ModelStreamEvent | ContentBlock and returning an object with message and stopReason
|
|
56
|
+
*/
|
|
57
|
+
async *streamAggregated(messages, options) {
|
|
58
|
+
// State maintained in closure
|
|
59
|
+
let messageRole = null;
|
|
60
|
+
const contentBlocks = [];
|
|
61
|
+
let accumulatedText = '';
|
|
62
|
+
let accumulatedToolInput = '';
|
|
63
|
+
let toolName = '';
|
|
64
|
+
let toolUseId = '';
|
|
65
|
+
let accumulatedReasoning = {};
|
|
66
|
+
let errorToThrow = undefined;
|
|
67
|
+
for await (const event_data of this.stream(messages, options)) {
|
|
68
|
+
const event = this._convert_to_class_event(event_data);
|
|
69
|
+
yield event; // Pass through immediately
|
|
70
|
+
// Aggregation logic based on event type
|
|
71
|
+
switch (event.type) {
|
|
72
|
+
case 'modelMessageStartEvent':
|
|
73
|
+
messageRole = event.role;
|
|
74
|
+
contentBlocks.length = 0; // Reset
|
|
75
|
+
break;
|
|
76
|
+
case 'modelContentBlockStartEvent':
|
|
77
|
+
if (event.start?.type === 'toolUseStart') {
|
|
78
|
+
toolName = event.start.name;
|
|
79
|
+
toolUseId = event.start.toolUseId;
|
|
80
|
+
}
|
|
81
|
+
accumulatedToolInput = '';
|
|
82
|
+
accumulatedText = '';
|
|
83
|
+
accumulatedReasoning = {};
|
|
84
|
+
break;
|
|
85
|
+
case 'modelContentBlockDeltaEvent':
|
|
86
|
+
switch (event.delta.type) {
|
|
87
|
+
case 'textDelta':
|
|
88
|
+
accumulatedText += event.delta.text;
|
|
89
|
+
break;
|
|
90
|
+
case 'toolUseInputDelta':
|
|
91
|
+
accumulatedToolInput += event.delta.input;
|
|
92
|
+
break;
|
|
93
|
+
case 'reasoningContentDelta':
|
|
94
|
+
if (event.delta.text)
|
|
95
|
+
accumulatedReasoning.text = (accumulatedReasoning.text ?? '') + event.delta.text;
|
|
96
|
+
if (event.delta.signature)
|
|
97
|
+
accumulatedReasoning.signature = event.delta.signature;
|
|
98
|
+
if (event.delta.redactedContent)
|
|
99
|
+
accumulatedReasoning.redactedContent = event.delta.redactedContent;
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
break;
|
|
103
|
+
case 'modelContentBlockStopEvent': {
|
|
104
|
+
// Finalize and emit complete ContentBlock
|
|
105
|
+
let block;
|
|
106
|
+
try {
|
|
107
|
+
if (toolUseId) {
|
|
108
|
+
block = new ToolUseBlock({
|
|
109
|
+
name: toolName,
|
|
110
|
+
toolUseId: toolUseId,
|
|
111
|
+
input: JSON.parse(accumulatedToolInput),
|
|
112
|
+
});
|
|
113
|
+
toolUseId = ''; // Reset
|
|
114
|
+
toolName = '';
|
|
115
|
+
}
|
|
116
|
+
else if (Object.keys(accumulatedReasoning).length > 0) {
|
|
117
|
+
block = new ReasoningBlock({
|
|
118
|
+
...accumulatedReasoning,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
block = new TextBlock(accumulatedText);
|
|
123
|
+
}
|
|
124
|
+
contentBlocks.push(block);
|
|
125
|
+
yield block;
|
|
126
|
+
}
|
|
127
|
+
catch (e) {
|
|
128
|
+
if (e instanceof SyntaxError) {
|
|
129
|
+
console.error('Unable to parse JSON string.');
|
|
130
|
+
errorToThrow = e;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
case 'modelMessageStopEvent':
|
|
136
|
+
// Complete message and return with stop reason
|
|
137
|
+
if (messageRole) {
|
|
138
|
+
const message = new Message({
|
|
139
|
+
role: messageRole,
|
|
140
|
+
content: [...contentBlocks],
|
|
141
|
+
});
|
|
142
|
+
// Handle stop reason
|
|
143
|
+
if (event.stopReason === 'maxTokens') {
|
|
144
|
+
const maxTokensError = new MaxTokensError('Model reached maximum token limit. This is an unrecoverable state that requires intervention.', message);
|
|
145
|
+
if (errorToThrow !== undefined) {
|
|
146
|
+
errorToThrow.cause = maxTokensError;
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
errorToThrow = maxTokensError;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (errorToThrow !== undefined) {
|
|
153
|
+
throw errorToThrow;
|
|
154
|
+
}
|
|
155
|
+
return { message, stopReason: event.stopReason };
|
|
156
|
+
}
|
|
157
|
+
break;
|
|
158
|
+
case 'modelMetadataEvent':
|
|
159
|
+
// TODO: Implement metadata events: https://github.com/strands-agents/sdk-typescript/issues/70
|
|
160
|
+
break;
|
|
161
|
+
default:
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
// If we exit the loop without returning a message, throw an error
|
|
166
|
+
throw new Error('Stream ended without completing a message');
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/models/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI model provider implementation.
|
|
3
|
+
*
|
|
4
|
+
* This module provides integration with OpenAI's Chat Completions API,
|
|
5
|
+
* supporting streaming responses, tool use, and configurable model parameters.
|
|
6
|
+
*
|
|
7
|
+
* @see https://platform.openai.com/docs/api-reference/chat/create
|
|
8
|
+
*/
|
|
9
|
+
import OpenAI, { type ClientOptions } from 'openai';
|
|
10
|
+
import { Model } from '../models/model.js';
|
|
11
|
+
import type { BaseModelConfig, StreamOptions } from '../models/model.js';
|
|
12
|
+
import type { Message } from '../types/messages.js';
|
|
13
|
+
import type { ModelStreamEvent } from '../models/streaming.js';
|
|
14
|
+
/**
|
|
15
|
+
* Configuration interface for OpenAI model provider.
|
|
16
|
+
*
|
|
17
|
+
* Extends BaseModelConfig with OpenAI-specific configuration options
|
|
18
|
+
* for model parameters and request settings.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const config: OpenAIModelConfig = {
|
|
23
|
+
* modelId: 'gpt-4o',
|
|
24
|
+
* temperature: 0.7,
|
|
25
|
+
* maxTokens: 1024
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export interface OpenAIModelConfig extends BaseModelConfig {
|
|
30
|
+
/**
|
|
31
|
+
* OpenAI model identifier (e.g., gpt-4o, gpt-3.5-turbo).
|
|
32
|
+
*/
|
|
33
|
+
modelId?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Controls randomness in generation (0 to 2).
|
|
36
|
+
*/
|
|
37
|
+
temperature?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Maximum number of tokens to generate in the response.
|
|
40
|
+
*/
|
|
41
|
+
maxTokens?: number;
|
|
42
|
+
/**
|
|
43
|
+
* Controls diversity via nucleus sampling (0 to 1).
|
|
44
|
+
*/
|
|
45
|
+
topP?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Reduces repetition of token sequences (-2.0 to 2.0).
|
|
48
|
+
*/
|
|
49
|
+
frequencyPenalty?: number;
|
|
50
|
+
/**
|
|
51
|
+
* Encourages the model to talk about new topics (-2.0 to 2.0).
|
|
52
|
+
*/
|
|
53
|
+
presencePenalty?: number;
|
|
54
|
+
/**
|
|
55
|
+
* Additional parameters to pass through to the OpenAI API.
|
|
56
|
+
* This field provides forward compatibility for any new parameters
|
|
57
|
+
* that OpenAI introduces. All properties in this object will be
|
|
58
|
+
* spread into the API request.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* // Pass stop sequences
|
|
63
|
+
* { params: { stop: ['END', 'STOP'] } }
|
|
64
|
+
*
|
|
65
|
+
* // Pass any future OpenAI parameters
|
|
66
|
+
* { params: { newParameter: 'value' } }
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
params?: Record<string, unknown>;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Options interface for creating an OpenAIModel instance.
|
|
73
|
+
*/
|
|
74
|
+
export interface OpenAIModelOptions extends OpenAIModelConfig {
|
|
75
|
+
/**
|
|
76
|
+
* OpenAI API key (falls back to OPENAI_API_KEY environment variable).
|
|
77
|
+
*/
|
|
78
|
+
apiKey?: string;
|
|
79
|
+
/**
|
|
80
|
+
* Pre-configured OpenAI client instance.
|
|
81
|
+
* If provided, this client will be used instead of creating a new one.
|
|
82
|
+
*/
|
|
83
|
+
client?: OpenAI;
|
|
84
|
+
/**
|
|
85
|
+
* Additional OpenAI client configuration.
|
|
86
|
+
* Only used if client is not provided.
|
|
87
|
+
*/
|
|
88
|
+
clientConfig?: ClientOptions;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* OpenAI model provider implementation.
|
|
92
|
+
*
|
|
93
|
+
* Implements the Model interface for OpenAI using the Chat Completions API.
|
|
94
|
+
* Supports streaming responses, tool use, and comprehensive configuration.
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```typescript
|
|
98
|
+
* const provider = new OpenAIModel({
|
|
99
|
+
* apiKey: 'sk-...',
|
|
100
|
+
* modelId: 'gpt-4o',
|
|
101
|
+
* temperature: 0.7,
|
|
102
|
+
* maxTokens: 1024
|
|
103
|
+
* })
|
|
104
|
+
*
|
|
105
|
+
* const messages: Message[] = [
|
|
106
|
+
* { role: 'user', content: [{ type: 'textBlock', text: 'Hello!' }] }
|
|
107
|
+
* ]
|
|
108
|
+
*
|
|
109
|
+
* for await (const event of provider.stream(messages)) {
|
|
110
|
+
* if (event.type === 'modelContentBlockDeltaEvent' && event.delta.type === 'textDelta') {
|
|
111
|
+
* process.stdout.write(event.delta.text)
|
|
112
|
+
* }
|
|
113
|
+
* }
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
export declare class OpenAIModel extends Model<OpenAIModelConfig> {
|
|
117
|
+
private _config;
|
|
118
|
+
private _client;
|
|
119
|
+
/**
|
|
120
|
+
* Creates a new OpenAIModel instance.
|
|
121
|
+
*
|
|
122
|
+
* @param options - Configuration for model and client (modelId is required)
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```typescript
|
|
126
|
+
* // Minimal configuration with API key and model ID
|
|
127
|
+
* const provider = new OpenAIModel({
|
|
128
|
+
* modelId: 'gpt-4o',
|
|
129
|
+
* apiKey: 'sk-...'
|
|
130
|
+
* })
|
|
131
|
+
*
|
|
132
|
+
* // With additional model configuration
|
|
133
|
+
* const provider = new OpenAIModel({
|
|
134
|
+
* modelId: 'gpt-4o',
|
|
135
|
+
* apiKey: 'sk-...',
|
|
136
|
+
* temperature: 0.8,
|
|
137
|
+
* maxTokens: 2048
|
|
138
|
+
* })
|
|
139
|
+
*
|
|
140
|
+
* // Using environment variable for API key
|
|
141
|
+
* const provider = new OpenAIModel({
|
|
142
|
+
* modelId: 'gpt-3.5-turbo'
|
|
143
|
+
* })
|
|
144
|
+
*
|
|
145
|
+
* // Using a pre-configured client instance
|
|
146
|
+
* const client = new OpenAI({ apiKey: 'sk-...', timeout: 60000 })
|
|
147
|
+
* const provider = new OpenAIModel({
|
|
148
|
+
* modelId: 'gpt-4o',
|
|
149
|
+
* client
|
|
150
|
+
* })
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
constructor(options?: OpenAIModelOptions);
|
|
154
|
+
/**
|
|
155
|
+
* Updates the model configuration.
|
|
156
|
+
* Merges the provided configuration with existing settings.
|
|
157
|
+
*
|
|
158
|
+
* @param modelConfig - Configuration object with model-specific settings to update
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```typescript
|
|
162
|
+
* // Update temperature and maxTokens
|
|
163
|
+
* provider.updateConfig({
|
|
164
|
+
* temperature: 0.9,
|
|
165
|
+
* maxTokens: 2048
|
|
166
|
+
* })
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
169
|
+
updateConfig(modelConfig: OpenAIModelConfig): void;
|
|
170
|
+
/**
|
|
171
|
+
* Retrieves the current model configuration.
|
|
172
|
+
*
|
|
173
|
+
* @returns The current configuration object
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```typescript
|
|
177
|
+
* const config = provider.getConfig()
|
|
178
|
+
* console.log(config.modelId)
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
getConfig(): OpenAIModelConfig;
|
|
182
|
+
/**
|
|
183
|
+
* Streams a conversation with the OpenAI model.
|
|
184
|
+
* Returns an async iterable that yields streaming events as they occur.
|
|
185
|
+
*
|
|
186
|
+
* @param messages - Array of conversation messages
|
|
187
|
+
* @param options - Optional streaming configuration
|
|
188
|
+
* @returns Async iterable of streaming events
|
|
189
|
+
*
|
|
190
|
+
* @throws \{ContextWindowOverflowError\} When input exceeds the model's context window
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```typescript
|
|
194
|
+
* const provider = new OpenAIModel({ modelId: 'gpt-4o', apiKey: 'sk-...' })
|
|
195
|
+
* const messages: Message[] = [
|
|
196
|
+
* { role: 'user', content: [{ type: 'textBlock', text: 'What is 2+2?' }] }
|
|
197
|
+
* ]
|
|
198
|
+
*
|
|
199
|
+
* for await (const event of provider.stream(messages)) {
|
|
200
|
+
* if (event.type === 'modelContentBlockDeltaEvent' && event.delta.type === 'textDelta') {
|
|
201
|
+
* process.stdout.write(event.delta.text)
|
|
202
|
+
* }
|
|
203
|
+
* }
|
|
204
|
+
* ```
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* ```typescript
|
|
208
|
+
* // With tool use
|
|
209
|
+
* const options: StreamOptions = {
|
|
210
|
+
* systemPrompt: 'You are a helpful assistant',
|
|
211
|
+
* toolSpecs: [calculatorTool]
|
|
212
|
+
* }
|
|
213
|
+
*
|
|
214
|
+
* for await (const event of provider.stream(messages, options)) {
|
|
215
|
+
* if (event.type === 'modelMessageStopEvent' && event.stopReason === 'toolUse') {
|
|
216
|
+
* console.log('Model wants to use a tool')
|
|
217
|
+
* }
|
|
218
|
+
* }
|
|
219
|
+
* ```
|
|
220
|
+
*/
|
|
221
|
+
stream(messages: Message[], options?: StreamOptions): AsyncIterable<ModelStreamEvent>;
|
|
222
|
+
/**
|
|
223
|
+
* Formats a request for the OpenAI Chat Completions API.
|
|
224
|
+
*
|
|
225
|
+
* @param messages - Conversation messages
|
|
226
|
+
* @param options - Stream options
|
|
227
|
+
* @returns Formatted OpenAI request
|
|
228
|
+
*/
|
|
229
|
+
private _formatRequest;
|
|
230
|
+
/**
|
|
231
|
+
* Formats messages for OpenAI API.
|
|
232
|
+
* Handles splitting tool results into separate messages.
|
|
233
|
+
*
|
|
234
|
+
* @param messages - SDK messages
|
|
235
|
+
* @returns OpenAI-formatted messages
|
|
236
|
+
*/
|
|
237
|
+
private _formatMessages;
|
|
238
|
+
/**
|
|
239
|
+
* Converts a snake_case string to camelCase.
|
|
240
|
+
* Used for mapping OpenAI stop reasons to SDK format.
|
|
241
|
+
*
|
|
242
|
+
* @param str - Snake case string (e.g., 'content_filter')
|
|
243
|
+
* @returns Camel case string (e.g., 'contentFilter')
|
|
244
|
+
*
|
|
245
|
+
* @example
|
|
246
|
+
* ```typescript
|
|
247
|
+
* _snakeToCamel('context_length_exceeded') // => 'contextLengthExceeded'
|
|
248
|
+
* _snakeToCamel('tool_calls') // => 'toolCalls'
|
|
249
|
+
* ```
|
|
250
|
+
*/
|
|
251
|
+
private _snakeToCamel;
|
|
252
|
+
/**
|
|
253
|
+
* Maps an OpenAI chunk to SDK streaming events.
|
|
254
|
+
*
|
|
255
|
+
* @param chunk - OpenAI chunk
|
|
256
|
+
* @param streamState - Mutable state object tracking message and content block state
|
|
257
|
+
* @param activeToolCalls - Map tracking active tool calls by index
|
|
258
|
+
* @returns Array of SDK streaming events
|
|
259
|
+
*/
|
|
260
|
+
private _mapOpenAIChunkToSDKEvents;
|
|
261
|
+
}
|
|
262
|
+
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/models/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,MAAM,EAAE,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAGnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AA+E9D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,YAAY,CAAC,EAAE,aAAa,CAAA;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,WAAY,SAAQ,KAAK,CAAC,iBAAiB,CAAC;IACvD,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,OAAO,CAAQ;IAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;gBACS,OAAO,CAAC,EAAE,kBAAkB;IA+BxC;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI;IAIlD;;;;;;;;;;OAUG;IACH,SAAS,IAAI,iBAAiB;IAI9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACI,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC,gBAAgB,CAAC;IAgF5F;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAwHtB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAsOvB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,aAAa;IAIrB;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;CA2InC"}
|