@strands-agents/sdk 1.3.0 → 1.5.0
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/README.md +16 -16
- package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
- package/dist/src/__fixtures__/agent-helpers.js +6 -0
- package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
- package/dist/src/__fixtures__/register-node-defaults.d.ts +2 -0
- package/dist/src/__fixtures__/register-node-defaults.d.ts.map +1 -0
- package/dist/src/__fixtures__/register-node-defaults.js +6 -0
- package/dist/src/__fixtures__/register-node-defaults.js.map +1 -0
- package/dist/src/__fixtures__/test-sandbox.node.d.ts +15 -0
- package/dist/src/__fixtures__/test-sandbox.node.d.ts.map +1 -0
- package/dist/src/__fixtures__/test-sandbox.node.js +23 -0
- package/dist/src/__fixtures__/test-sandbox.node.js.map +1 -0
- package/dist/src/__tests__/default-slot.test.d.ts +2 -0
- package/dist/src/__tests__/default-slot.test.d.ts.map +1 -0
- package/dist/src/__tests__/default-slot.test.js +33 -0
- package/dist/src/__tests__/default-slot.test.js.map +1 -0
- package/dist/src/__tests__/mcp.test.js +14 -14
- package/dist/src/__tests__/mcp.test.js.map +1 -1
- package/dist/src/a2a/__tests__/async-lock.test.d.ts +2 -0
- package/dist/src/a2a/__tests__/async-lock.test.d.ts.map +1 -0
- package/dist/src/a2a/__tests__/async-lock.test.js +137 -0
- package/dist/src/a2a/__tests__/async-lock.test.js.map +1 -0
- package/dist/src/a2a/__tests__/executor.test.js +146 -8
- package/dist/src/a2a/__tests__/executor.test.js.map +1 -1
- package/dist/src/a2a/__tests__/server.test.js +20 -0
- package/dist/src/a2a/__tests__/server.test.js.map +1 -1
- package/dist/src/a2a/async-lock.d.ts +22 -0
- package/dist/src/a2a/async-lock.d.ts.map +1 -0
- package/dist/src/a2a/async-lock.js +38 -0
- package/dist/src/a2a/async-lock.js.map +1 -0
- package/dist/src/a2a/executor.d.ts +59 -24
- package/dist/src/a2a/executor.d.ts.map +1 -1
- package/dist/src/a2a/executor.js +209 -32
- package/dist/src/a2a/executor.js.map +1 -1
- package/dist/src/a2a/index.d.ts +1 -1
- package/dist/src/a2a/index.d.ts.map +1 -1
- package/dist/src/a2a/index.js +1 -1
- package/dist/src/a2a/index.js.map +1 -1
- package/dist/src/a2a/server.d.ts +18 -2
- package/dist/src/a2a/server.d.ts.map +1 -1
- package/dist/src/a2a/server.js +13 -2
- package/dist/src/a2a/server.js.map +1 -1
- package/dist/src/agent/__tests__/agent.context-manager.test.d.ts +2 -0
- package/dist/src/agent/__tests__/agent.context-manager.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/agent.context-manager.test.js +107 -0
- package/dist/src/agent/__tests__/agent.context-manager.test.js.map +1 -0
- package/dist/src/agent/__tests__/agent.test.js +195 -0
- package/dist/src/agent/__tests__/agent.test.js.map +1 -1
- package/dist/src/agent/__tests__/agent.tracer.test.node.js +14 -0
- package/dist/src/agent/__tests__/agent.tracer.test.node.js.map +1 -1
- package/dist/src/agent/__tests__/tool-caller.test.d.ts +2 -0
- package/dist/src/agent/__tests__/tool-caller.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/tool-caller.test.js +459 -0
- package/dist/src/agent/__tests__/tool-caller.test.js.map +1 -0
- package/dist/src/agent/agent.d.ts +194 -4
- package/dist/src/agent/agent.d.ts.map +1 -1
- package/dist/src/agent/agent.js +599 -253
- package/dist/src/agent/agent.js.map +1 -1
- package/dist/src/agent/tool-caller.d.ts +149 -0
- package/dist/src/agent/tool-caller.d.ts.map +1 -0
- package/dist/src/agent/tool-caller.js +198 -0
- package/dist/src/agent/tool-caller.js.map +1 -0
- package/dist/src/conversation-manager/__tests__/pin.test.d.ts +2 -0
- package/dist/src/conversation-manager/__tests__/pin.test.d.ts.map +1 -0
- package/dist/src/conversation-manager/__tests__/pin.test.js +119 -0
- package/dist/src/conversation-manager/__tests__/pin.test.js.map +1 -0
- package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +49 -0
- package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
- package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js +58 -0
- package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js.map +1 -1
- package/dist/src/conversation-manager/pin-message.d.ts +45 -0
- package/dist/src/conversation-manager/pin-message.d.ts.map +1 -0
- package/dist/src/conversation-manager/pin-message.js +106 -0
- package/dist/src/conversation-manager/pin-message.js.map +1 -0
- package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +7 -0
- package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
- package/dist/src/conversation-manager/sliding-window-conversation-manager.js +27 -4
- package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
- package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts +7 -0
- package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts.map +1 -1
- package/dist/src/conversation-manager/summarizing-conversation-manager.js +18 -4
- package/dist/src/conversation-manager/summarizing-conversation-manager.js.map +1 -1
- package/dist/src/default-slot.d.ts +6 -0
- package/dist/src/default-slot.d.ts.map +1 -0
- package/dist/src/default-slot.js +18 -0
- package/dist/src/default-slot.js.map +1 -0
- package/dist/src/errors.d.ts +25 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +32 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/index.d.ts +15 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +10 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/index.node.d.ts +2 -0
- package/dist/src/index.node.d.ts.map +1 -0
- package/dist/src/index.node.js +9 -0
- package/dist/src/index.node.js.map +1 -0
- package/dist/src/interrupt.d.ts +5 -1
- package/dist/src/interrupt.d.ts.map +1 -1
- package/dist/src/interrupt.js +6 -0
- package/dist/src/interrupt.js.map +1 -1
- package/dist/src/interventions/handler.d.ts +1 -2
- package/dist/src/interventions/handler.d.ts.map +1 -1
- package/dist/src/interventions/registry.d.ts +2 -0
- package/dist/src/interventions/registry.d.ts.map +1 -1
- package/dist/src/interventions/registry.js +4 -0
- package/dist/src/interventions/registry.js.map +1 -1
- package/dist/src/mcp.d.ts +20 -15
- package/dist/src/mcp.d.ts.map +1 -1
- package/dist/src/mcp.js +15 -8
- package/dist/src/mcp.js.map +1 -1
- package/dist/src/memory/__tests__/memory-manager.test.d.ts +2 -0
- package/dist/src/memory/__tests__/memory-manager.test.d.ts.map +1 -0
- package/dist/src/memory/__tests__/memory-manager.test.js +493 -0
- package/dist/src/memory/__tests__/memory-manager.test.js.map +1 -0
- package/dist/src/memory/extraction/__tests__/extraction.test.d.ts +2 -0
- package/dist/src/memory/extraction/__tests__/extraction.test.d.ts.map +1 -0
- package/dist/src/memory/extraction/__tests__/extraction.test.js +637 -0
- package/dist/src/memory/extraction/__tests__/extraction.test.js.map +1 -0
- package/dist/src/memory/extraction/__tests__/model-extractor.test.d.ts +2 -0
- package/dist/src/memory/extraction/__tests__/model-extractor.test.d.ts.map +1 -0
- package/dist/src/memory/extraction/__tests__/model-extractor.test.js +68 -0
- package/dist/src/memory/extraction/__tests__/model-extractor.test.js.map +1 -0
- package/dist/src/memory/extraction/__tests__/resolve-extraction-config.test.d.ts +2 -0
- package/dist/src/memory/extraction/__tests__/resolve-extraction-config.test.d.ts.map +1 -0
- package/dist/src/memory/extraction/__tests__/resolve-extraction-config.test.js +81 -0
- package/dist/src/memory/extraction/__tests__/resolve-extraction-config.test.js.map +1 -0
- package/dist/src/memory/extraction/coordinator.d.ts +128 -0
- package/dist/src/memory/extraction/coordinator.d.ts.map +1 -0
- package/dist/src/memory/extraction/coordinator.js +245 -0
- package/dist/src/memory/extraction/coordinator.js.map +1 -0
- package/dist/src/memory/extraction/model-extractor.d.ts +32 -0
- package/dist/src/memory/extraction/model-extractor.d.ts.map +1 -0
- package/dist/src/memory/extraction/model-extractor.js +118 -0
- package/dist/src/memory/extraction/model-extractor.js.map +1 -0
- package/dist/src/memory/extraction/resolve-extraction-config.d.ts +46 -0
- package/dist/src/memory/extraction/resolve-extraction-config.d.ts.map +1 -0
- package/dist/src/memory/extraction/resolve-extraction-config.js +59 -0
- package/dist/src/memory/extraction/resolve-extraction-config.js.map +1 -0
- package/dist/src/memory/extraction/triggers.d.ts +41 -0
- package/dist/src/memory/extraction/triggers.d.ts.map +1 -0
- package/dist/src/memory/extraction/triggers.js +59 -0
- package/dist/src/memory/extraction/triggers.js.map +1 -0
- package/dist/src/memory/extraction/types.d.ts +133 -0
- package/dist/src/memory/extraction/types.d.ts.map +1 -0
- package/dist/src/memory/extraction/types.js +19 -0
- package/dist/src/memory/extraction/types.js.map +1 -0
- package/dist/src/memory/index.d.ts +9 -0
- package/dist/src/memory/index.d.ts.map +1 -0
- package/dist/src/memory/index.js +5 -0
- package/dist/src/memory/index.js.map +1 -0
- package/dist/src/memory/memory-manager.d.ts +131 -0
- package/dist/src/memory/memory-manager.d.ts.map +1 -0
- package/dist/src/memory/memory-manager.js +404 -0
- package/dist/src/memory/memory-manager.js.map +1 -0
- package/dist/src/memory/types.d.ts +213 -0
- package/dist/src/memory/types.d.ts.map +1 -0
- package/dist/src/memory/types.js +2 -0
- package/dist/src/memory/types.js.map +1 -0
- package/dist/src/middleware/__tests__/agent-middleware.test.d.ts +2 -0
- package/dist/src/middleware/__tests__/agent-middleware.test.d.ts.map +1 -0
- package/dist/src/middleware/__tests__/agent-middleware.test.js +1207 -0
- package/dist/src/middleware/__tests__/agent-middleware.test.js.map +1 -0
- package/dist/src/middleware/__tests__/custom-stages.test.d.ts +2 -0
- package/dist/src/middleware/__tests__/custom-stages.test.d.ts.map +1 -0
- package/dist/src/middleware/__tests__/custom-stages.test.js +97 -0
- package/dist/src/middleware/__tests__/custom-stages.test.js.map +1 -0
- package/dist/src/middleware/__tests__/middleware-interrupts.test.d.ts +2 -0
- package/dist/src/middleware/__tests__/middleware-interrupts.test.d.ts.map +1 -0
- package/dist/src/middleware/__tests__/middleware-interrupts.test.js +267 -0
- package/dist/src/middleware/__tests__/middleware-interrupts.test.js.map +1 -0
- package/dist/src/middleware/__tests__/registry.test.d.ts +2 -0
- package/dist/src/middleware/__tests__/registry.test.d.ts.map +1 -0
- package/dist/src/middleware/__tests__/registry.test.js +525 -0
- package/dist/src/middleware/__tests__/registry.test.js.map +1 -0
- package/dist/src/middleware/index.d.ts +5 -0
- package/dist/src/middleware/index.d.ts.map +1 -0
- package/dist/src/middleware/index.js +3 -0
- package/dist/src/middleware/index.js.map +1 -0
- package/dist/src/middleware/registry.d.ts +58 -0
- package/dist/src/middleware/registry.d.ts.map +1 -0
- package/dist/src/middleware/registry.js +107 -0
- package/dist/src/middleware/registry.js.map +1 -0
- package/dist/src/middleware/stages.d.ts +138 -0
- package/dist/src/middleware/stages.d.ts.map +1 -0
- package/dist/src/middleware/stages.js +31 -0
- package/dist/src/middleware/stages.js.map +1 -0
- package/dist/src/middleware/types.d.ts +88 -0
- package/dist/src/middleware/types.d.ts.map +1 -0
- package/dist/src/middleware/types.js +2 -0
- package/dist/src/middleware/types.js.map +1 -0
- package/dist/src/models/__tests__/anthropic.test.js +37 -7
- package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
- package/dist/src/models/__tests__/bedrock.test.js +181 -0
- package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
- package/dist/src/models/__tests__/model.test.js +46 -3
- package/dist/src/models/__tests__/model.test.js.map +1 -1
- package/dist/src/models/anthropic.d.ts.map +1 -1
- package/dist/src/models/anthropic.js +7 -4
- package/dist/src/models/anthropic.js.map +1 -1
- package/dist/src/models/bedrock.d.ts +26 -1
- package/dist/src/models/bedrock.d.ts.map +1 -1
- package/dist/src/models/bedrock.js +34 -9
- package/dist/src/models/bedrock.js.map +1 -1
- package/dist/src/models/defaults.d.ts.map +1 -1
- package/dist/src/models/defaults.js +2 -0
- package/dist/src/models/defaults.js.map +1 -1
- package/dist/src/models/model.d.ts.map +1 -1
- package/dist/src/models/model.js +7 -3
- package/dist/src/models/model.js.map +1 -1
- package/dist/src/models/openai/__tests__/chat.test.js +2 -10
- package/dist/src/models/openai/__tests__/chat.test.js.map +1 -1
- package/dist/src/models/openai/__tests__/errors.test.d.ts +2 -0
- package/dist/src/models/openai/__tests__/errors.test.d.ts.map +1 -0
- package/dist/src/models/openai/__tests__/errors.test.js +30 -0
- package/dist/src/models/openai/__tests__/errors.test.js.map +1 -0
- package/dist/src/models/openai/__tests__/responses.test.js +8 -33
- package/dist/src/models/openai/__tests__/responses.test.js.map +1 -1
- package/dist/src/models/openai/errors.d.ts.map +1 -1
- package/dist/src/models/openai/errors.js +5 -3
- package/dist/src/models/openai/errors.js.map +1 -1
- package/dist/src/multiagent/__tests__/nodes.test.js +50 -0
- package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
- package/dist/src/multiagent/nodes.d.ts +23 -2
- package/dist/src/multiagent/nodes.d.ts.map +1 -1
- package/dist/src/multiagent/nodes.js +18 -4
- package/dist/src/multiagent/nodes.js.map +1 -1
- package/dist/src/registry/__tests__/tool-registry.test.js +50 -1
- package/dist/src/registry/__tests__/tool-registry.test.js.map +1 -1
- package/dist/src/registry/tool-registry.d.ts +13 -0
- package/dist/src/registry/tool-registry.d.ts.map +1 -1
- package/dist/src/registry/tool-registry.js +35 -1
- package/dist/src/registry/tool-registry.js.map +1 -1
- package/dist/src/sandbox/__tests__/default.test.browser.d.ts +2 -0
- package/dist/src/sandbox/__tests__/default.test.browser.d.ts.map +1 -0
- package/dist/src/sandbox/__tests__/default.test.browser.js +11 -0
- package/dist/src/sandbox/__tests__/default.test.browser.js.map +1 -0
- package/dist/src/sandbox/__tests__/default.test.node.d.ts +2 -0
- package/dist/src/sandbox/__tests__/default.test.node.d.ts.map +1 -0
- package/dist/src/sandbox/__tests__/default.test.node.js +23 -0
- package/dist/src/sandbox/__tests__/default.test.node.js.map +1 -0
- package/dist/src/sandbox/__tests__/docker.test.node.d.ts +2 -0
- package/dist/src/sandbox/__tests__/docker.test.node.d.ts.map +1 -0
- package/dist/src/sandbox/__tests__/docker.test.node.js +89 -0
- package/dist/src/sandbox/__tests__/docker.test.node.js.map +1 -0
- package/dist/src/sandbox/__tests__/errors.test.node.d.ts +2 -0
- package/dist/src/sandbox/__tests__/errors.test.node.d.ts.map +1 -0
- package/dist/src/sandbox/__tests__/errors.test.node.js +33 -0
- package/dist/src/sandbox/__tests__/errors.test.node.js.map +1 -0
- package/dist/src/sandbox/__tests__/not-a-sandbox-local-environment.test.node.d.ts +2 -0
- package/dist/src/sandbox/__tests__/not-a-sandbox-local-environment.test.node.d.ts.map +1 -0
- package/dist/src/sandbox/__tests__/not-a-sandbox-local-environment.test.node.js +124 -0
- package/dist/src/sandbox/__tests__/not-a-sandbox-local-environment.test.node.js.map +1 -0
- package/dist/src/sandbox/__tests__/posix-shell.test.node.d.ts +2 -0
- package/dist/src/sandbox/__tests__/posix-shell.test.node.d.ts.map +1 -0
- package/dist/src/sandbox/__tests__/posix-shell.test.node.js +298 -0
- package/dist/src/sandbox/__tests__/posix-shell.test.node.js.map +1 -0
- package/dist/src/sandbox/__tests__/ssh.test.node.d.ts +2 -0
- package/dist/src/sandbox/__tests__/ssh.test.node.d.ts.map +1 -0
- package/dist/src/sandbox/__tests__/ssh.test.node.js +262 -0
- package/dist/src/sandbox/__tests__/ssh.test.node.js.map +1 -0
- package/dist/src/sandbox/base.d.ts +156 -0
- package/dist/src/sandbox/base.d.ts.map +1 -0
- package/dist/src/sandbox/base.js +97 -0
- package/dist/src/sandbox/base.js.map +1 -0
- package/dist/src/sandbox/constants.d.ts +25 -0
- package/dist/src/sandbox/constants.d.ts.map +1 -0
- package/dist/src/sandbox/constants.js +27 -0
- package/dist/src/sandbox/constants.js.map +1 -0
- package/dist/src/sandbox/default.d.ts +3 -0
- package/dist/src/sandbox/default.d.ts.map +1 -0
- package/dist/src/sandbox/default.js +3 -0
- package/dist/src/sandbox/default.js.map +1 -0
- package/dist/src/sandbox/docker.d.ts +38 -0
- package/dist/src/sandbox/docker.d.ts.map +1 -0
- package/dist/src/sandbox/docker.js +59 -0
- package/dist/src/sandbox/docker.js.map +1 -0
- package/dist/src/sandbox/errors.d.ts +26 -0
- package/dist/src/sandbox/errors.d.ts.map +1 -0
- package/dist/src/sandbox/errors.js +35 -0
- package/dist/src/sandbox/errors.js.map +1 -0
- package/dist/src/sandbox/index.d.ts +5 -0
- package/dist/src/sandbox/index.d.ts.map +1 -0
- package/dist/src/sandbox/index.js +4 -0
- package/dist/src/sandbox/index.js.map +1 -0
- package/dist/src/sandbox/not-a-sandbox-local-environment.d.ts +16 -0
- package/dist/src/sandbox/not-a-sandbox-local-environment.d.ts.map +1 -0
- package/dist/src/sandbox/not-a-sandbox-local-environment.js +83 -0
- package/dist/src/sandbox/not-a-sandbox-local-environment.js.map +1 -0
- package/dist/src/sandbox/posix-shell.d.ts +53 -0
- package/dist/src/sandbox/posix-shell.d.ts.map +1 -0
- package/dist/src/sandbox/posix-shell.js +116 -0
- package/dist/src/sandbox/posix-shell.js.map +1 -0
- package/dist/src/sandbox/ssh.d.ts +56 -0
- package/dist/src/sandbox/ssh.d.ts.map +1 -0
- package/dist/src/sandbox/ssh.js +119 -0
- package/dist/src/sandbox/ssh.js.map +1 -0
- package/dist/src/sandbox/stream-process.d.ts +32 -0
- package/dist/src/sandbox/stream-process.d.ts.map +1 -0
- package/dist/src/sandbox/stream-process.js +161 -0
- package/dist/src/sandbox/stream-process.js.map +1 -0
- package/dist/src/sandbox/types.d.ts +57 -0
- package/dist/src/sandbox/types.d.ts.map +1 -0
- package/dist/src/sandbox/types.js +8 -0
- package/dist/src/sandbox/types.js.map +1 -0
- package/dist/src/telemetry/__tests__/meter.test.js +11 -0
- package/dist/src/telemetry/__tests__/meter.test.js.map +1 -1
- package/dist/src/telemetry/meter.d.ts +10 -6
- package/dist/src/telemetry/meter.d.ts.map +1 -1
- package/dist/src/telemetry/meter.js +16 -3
- package/dist/src/telemetry/meter.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types/__tests__/messages.test.js +28 -0
- package/dist/src/types/__tests__/messages.test.js.map +1 -1
- package/dist/src/types/agent.d.ts +72 -0
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/agent.js.map +1 -1
- package/dist/src/types/lifecycle-observer.d.ts +18 -0
- package/dist/src/types/lifecycle-observer.d.ts.map +1 -0
- package/dist/src/types/lifecycle-observer.js +2 -0
- package/dist/src/types/lifecycle-observer.js.map +1 -0
- package/dist/src/types/messages.d.ts +19 -3
- package/dist/src/types/messages.d.ts.map +1 -1
- package/dist/src/types/messages.js +9 -0
- package/dist/src/types/messages.js.map +1 -1
- package/dist/src/vended-interventions/hitl/__tests__/hitl.test.d.ts +2 -0
- package/dist/src/vended-interventions/hitl/__tests__/hitl.test.d.ts.map +1 -0
- package/dist/src/vended-interventions/hitl/__tests__/hitl.test.js +358 -0
- package/dist/src/vended-interventions/hitl/__tests__/hitl.test.js.map +1 -0
- package/dist/src/vended-interventions/hitl/hitl.d.ts +115 -0
- package/dist/src/vended-interventions/hitl/hitl.d.ts.map +1 -0
- package/dist/src/vended-interventions/hitl/hitl.js +138 -0
- package/dist/src/vended-interventions/hitl/hitl.js.map +1 -0
- package/dist/src/vended-interventions/hitl/index.d.ts +24 -0
- package/dist/src/vended-interventions/hitl/index.d.ts.map +1 -0
- package/dist/src/vended-interventions/hitl/index.js +23 -0
- package/dist/src/vended-interventions/hitl/index.js.map +1 -0
- package/dist/src/vended-interventions/steering/__tests__/handler.test.d.ts +2 -0
- package/dist/src/vended-interventions/steering/__tests__/handler.test.d.ts.map +1 -0
- package/dist/src/vended-interventions/steering/__tests__/handler.test.js +163 -0
- package/dist/src/vended-interventions/steering/__tests__/handler.test.js.map +1 -0
- package/dist/src/vended-interventions/steering/__tests__/llm.test.d.ts +2 -0
- package/dist/src/vended-interventions/steering/__tests__/llm.test.d.ts.map +1 -0
- package/dist/src/vended-interventions/steering/__tests__/llm.test.js +60 -0
- package/dist/src/vended-interventions/steering/__tests__/llm.test.js.map +1 -0
- package/dist/src/vended-interventions/steering/__tests__/tool-ledger.test.d.ts +2 -0
- package/dist/src/vended-interventions/steering/__tests__/tool-ledger.test.d.ts.map +1 -0
- package/dist/src/vended-interventions/steering/__tests__/tool-ledger.test.js +94 -0
- package/dist/src/vended-interventions/steering/__tests__/tool-ledger.test.js.map +1 -0
- package/dist/src/vended-interventions/steering/handlers/handler.d.ts +64 -0
- package/dist/src/vended-interventions/steering/handlers/handler.d.ts.map +1 -0
- package/dist/src/vended-interventions/steering/handlers/handler.js +71 -0
- package/dist/src/vended-interventions/steering/handlers/handler.js.map +1 -0
- package/dist/src/vended-interventions/steering/handlers/llm.d.ts +72 -0
- package/dist/src/vended-interventions/steering/handlers/llm.d.ts.map +1 -0
- package/dist/src/vended-interventions/steering/handlers/llm.js +177 -0
- package/dist/src/vended-interventions/steering/handlers/llm.js.map +1 -0
- package/dist/src/vended-interventions/steering/index.d.ts +31 -0
- package/dist/src/vended-interventions/steering/index.d.ts.map +1 -0
- package/dist/src/vended-interventions/steering/index.js +32 -0
- package/dist/src/vended-interventions/steering/index.js.map +1 -0
- package/dist/src/vended-interventions/steering/providers/context-provider.d.ts +55 -0
- package/dist/src/vended-interventions/steering/providers/context-provider.d.ts.map +1 -0
- package/dist/src/vended-interventions/steering/providers/context-provider.js +8 -0
- package/dist/src/vended-interventions/steering/providers/context-provider.js.map +1 -0
- package/dist/src/vended-interventions/steering/providers/tool-ledger.d.ts +49 -0
- package/dist/src/vended-interventions/steering/providers/tool-ledger.d.ts.map +1 -0
- package/dist/src/vended-interventions/steering/providers/tool-ledger.js +75 -0
- package/dist/src/vended-interventions/steering/providers/tool-ledger.js.map +1 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.d.ts +2 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.d.ts.map +1 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.js +611 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.js.map +1 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.d.ts +2 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.d.ts.map +1 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.js +2 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.js.map +1 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts +230 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts.map +1 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js +370 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js.map +1 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/file-storage-sandbox.test.node.d.ts +2 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/file-storage-sandbox.test.node.d.ts.map +1 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/file-storage-sandbox.test.node.js +68 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/file-storage-sandbox.test.node.js.map +1 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.d.ts +2 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.d.ts.map +1 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.js +93 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.js.map +1 -0
- package/dist/src/vended-plugins/context-offloader/index.d.ts +1 -1
- package/dist/src/vended-plugins/context-offloader/index.d.ts.map +1 -1
- package/dist/src/vended-plugins/context-offloader/plugin.d.ts +4 -1
- package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -1
- package/dist/src/vended-plugins/context-offloader/plugin.js +29 -7
- package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -1
- package/dist/src/vended-plugins/context-offloader/search.d.ts.map +1 -1
- package/dist/src/vended-plugins/context-offloader/search.js +3 -5
- package/dist/src/vended-plugins/context-offloader/search.js.map +1 -1
- package/dist/src/vended-plugins/context-offloader/storage.d.ts +29 -5
- package/dist/src/vended-plugins/context-offloader/storage.d.ts.map +1 -1
- package/dist/src/vended-plugins/context-offloader/storage.js +75 -11
- package/dist/src/vended-plugins/context-offloader/storage.js.map +1 -1
- package/dist/src/vended-plugins/goal/__tests__/plugin.test.d.ts +2 -0
- package/dist/src/vended-plugins/goal/__tests__/plugin.test.d.ts.map +1 -0
- package/dist/src/vended-plugins/goal/__tests__/plugin.test.js +736 -0
- package/dist/src/vended-plugins/goal/__tests__/plugin.test.js.map +1 -0
- package/dist/src/vended-plugins/goal/index.d.ts +21 -0
- package/dist/src/vended-plugins/goal/index.d.ts.map +1 -0
- package/dist/src/vended-plugins/goal/index.js +20 -0
- package/dist/src/vended-plugins/goal/index.js.map +1 -0
- package/dist/src/vended-plugins/goal/judge.d.ts +41 -0
- package/dist/src/vended-plugins/goal/judge.d.ts.map +1 -0
- package/dist/src/vended-plugins/goal/judge.js +92 -0
- package/dist/src/vended-plugins/goal/judge.js.map +1 -0
- package/dist/src/vended-plugins/goal/plugin.d.ts +214 -0
- package/dist/src/vended-plugins/goal/plugin.d.ts.map +1 -0
- package/dist/src/vended-plugins/goal/plugin.js +287 -0
- package/dist/src/vended-plugins/goal/plugin.js.map +1 -0
- package/dist/src/vended-plugins/index.d.ts +12 -0
- package/dist/src/vended-plugins/index.d.ts.map +1 -0
- package/dist/src/vended-plugins/index.js +12 -0
- package/dist/src/vended-plugins/index.js.map +1 -0
- package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js +17 -7
- package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js.map +1 -1
- package/dist/src/vended-plugins/skills/agent-skills.d.ts +21 -7
- package/dist/src/vended-plugins/skills/agent-skills.d.ts.map +1 -1
- package/dist/src/vended-plugins/skills/agent-skills.js +144 -77
- package/dist/src/vended-plugins/skills/agent-skills.js.map +1 -1
- package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +44 -4
- package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -1
- package/dist/src/vended-tools/bash/bash.d.ts +3 -24
- package/dist/src/vended-tools/bash/bash.d.ts.map +1 -1
- package/dist/src/vended-tools/bash/bash.js +9 -9
- package/dist/src/vended-tools/bash/bash.js.map +1 -1
- package/dist/src/vended-tools/bash/index.d.ts +3 -1
- package/dist/src/vended-tools/bash/index.d.ts.map +1 -1
- package/dist/src/vended-tools/bash/index.js +2 -1
- package/dist/src/vended-tools/bash/index.js.map +1 -1
- package/dist/src/vended-tools/bash/make-bash.d.ts +22 -0
- package/dist/src/vended-tools/bash/make-bash.d.ts.map +1 -0
- package/dist/src/vended-tools/bash/make-bash.js +40 -0
- package/dist/src/vended-tools/bash/make-bash.js.map +1 -0
- package/dist/src/vended-tools/bash/types.d.ts +1 -0
- package/dist/src/vended-tools/bash/types.d.ts.map +1 -1
- package/dist/src/vended-tools/bash/types.js +2 -0
- package/dist/src/vended-tools/bash/types.js.map +1 -1
- package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js +83 -1
- package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js.map +1 -1
- package/dist/src/vended-tools/file-editor/file-editor.d.ts +19 -10
- package/dist/src/vended-tools/file-editor/file-editor.d.ts.map +1 -1
- package/dist/src/vended-tools/file-editor/file-editor.js +188 -218
- package/dist/src/vended-tools/file-editor/file-editor.js.map +1 -1
- package/dist/src/vended-tools/file-editor/index.d.ts +2 -1
- package/dist/src/vended-tools/file-editor/index.d.ts.map +1 -1
- package/dist/src/vended-tools/file-editor/index.js +1 -1
- package/dist/src/vended-tools/file-editor/index.js.map +1 -1
- package/dist/src/vended-tools/index.d.ts +17 -0
- package/dist/src/vended-tools/index.d.ts.map +1 -0
- package/dist/src/vended-tools/index.js +17 -0
- package/dist/src/vended-tools/index.js.map +1 -0
- package/package.json +66 -15
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../../../../src/vended-interventions/steering/handlers/llm.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAA2B,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,MAAM,mCAAmC,CAAA;AACnH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAEpG,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAM9C;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,MAAM,GAAG,YAAY,EAAE,CAAA;AAoG1G;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,0DAA0D;IAC1D,YAAY,EAAE,YAAY,CAAA;IAE1B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,KAAK,CAAA;IAEb,sFAAsF;IACtF,aAAa,CAAC,EAAE,aAAa,CAAA;IAE7B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,uBAAuB,EAAE,CAAA;IAE5C;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAcD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,SAAkB,IAAI,EAAE,MAAM,CAAA;IAE9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAc;gBAEhC,MAAM,EAAE,wBAAwB;IAW7B,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;YAkB/E,OAAO;CAgBtB"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LLM-based steering handler that uses an LLM to provide contextual guidance.
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { Agent } from '../../../agent/agent.js';
|
|
6
|
+
import { confirm, guide, proceed } from '../../../interventions/actions.js';
|
|
7
|
+
import { CachePointBlock, TextBlock } from '../../../types/messages.js';
|
|
8
|
+
import { ToolLedgerProvider } from '../providers/tool-ledger.js';
|
|
9
|
+
import { SteeringHandler } from './handler.js';
|
|
10
|
+
/**
|
|
11
|
+
* Default prompt builder. Returns content blocks with a cache point
|
|
12
|
+
* between static instructions and dynamic context/event data.
|
|
13
|
+
*
|
|
14
|
+
* See: https://github.com/strands-agents/agent-sop
|
|
15
|
+
*/
|
|
16
|
+
function defaultPromptBuilder(context, toolUse) {
|
|
17
|
+
const contextStr = context.length > 0 ? JSON.stringify(context, null, 2) : 'No context available';
|
|
18
|
+
const actionType = toolUse ? 'tool call' : 'action';
|
|
19
|
+
const actionTypeTitle = toolUse ? 'Tool Call' : 'Action';
|
|
20
|
+
const eventDescription = toolUse
|
|
21
|
+
? `Tool: ${toolUse.name}\nArguments: ${JSON.stringify(toolUse.input, null, 2)}`
|
|
22
|
+
: 'General evaluation';
|
|
23
|
+
const hasLedger = context.some((c) => c.type === 'toolLedger');
|
|
24
|
+
const ledgerExplanation = hasLedger
|
|
25
|
+
? `
|
|
26
|
+
|
|
27
|
+
### Understanding Ledger Tool States
|
|
28
|
+
|
|
29
|
+
If the context includes a ledger with tool_calls, the "status" field indicates:
|
|
30
|
+
|
|
31
|
+
- **"pending"**: The tool is CURRENTLY being evaluated by you (the steering agent).
|
|
32
|
+
This is NOT a duplicate call — it's the tool you're deciding whether to approve.
|
|
33
|
+
The tool has NOT started executing yet.
|
|
34
|
+
- **"success"**: The tool completed successfully in a previous turn
|
|
35
|
+
- **"error"**: The tool failed or was cancelled in a previous turn
|
|
36
|
+
|
|
37
|
+
**IMPORTANT**: When you see a tool with status="pending" that matches the tool you're evaluating,
|
|
38
|
+
that IS the current tool being evaluated. It is NOT already executing or a duplicate.`
|
|
39
|
+
: '';
|
|
40
|
+
// Static framing (cached): role, constraints, decision criteria, ledger semantics.
|
|
41
|
+
const instructions = `# Steering Evaluation
|
|
42
|
+
|
|
43
|
+
## Overview
|
|
44
|
+
|
|
45
|
+
You are a STEERING AGENT that evaluates a ${actionType} that ANOTHER AGENT is attempting to make.
|
|
46
|
+
Your job is to provide contextual guidance to help the other agent navigate workflows effectively.
|
|
47
|
+
You act as a safety net that can intervene when patterns in the context data suggest the agent
|
|
48
|
+
should try a different approach or get human input.
|
|
49
|
+
|
|
50
|
+
**YOUR ROLE:**
|
|
51
|
+
- Analyze context data for concerning patterns (repeated failures, inappropriate timing, etc.)
|
|
52
|
+
- Provide just-in-time guidance when the agent is going down an ineffective path
|
|
53
|
+
- Allow normal operations to proceed when context shows no issues
|
|
54
|
+
|
|
55
|
+
**CRITICAL CONSTRAINTS:**
|
|
56
|
+
- Base decisions ONLY on the context data provided
|
|
57
|
+
- Do NOT use external knowledge about domains, URLs, or tool purposes
|
|
58
|
+
- Do NOT make assumptions about what tools "should" or "shouldn't" do
|
|
59
|
+
- Focus ONLY on patterns in the context data${ledgerExplanation}
|
|
60
|
+
|
|
61
|
+
## Steps
|
|
62
|
+
|
|
63
|
+
### 1. Analyze the ${actionTypeTitle}
|
|
64
|
+
|
|
65
|
+
Review ONLY the context data. Look for patterns in the data that indicate:
|
|
66
|
+
|
|
67
|
+
- Previous failures or successes with this tool
|
|
68
|
+
- Frequency of attempts
|
|
69
|
+
- Any relevant tracking information
|
|
70
|
+
|
|
71
|
+
**Constraints:**
|
|
72
|
+
- You MUST base analysis ONLY on the provided context data
|
|
73
|
+
- You MUST NOT use external knowledge about tool purposes or domains
|
|
74
|
+
- You SHOULD identify patterns in the context data
|
|
75
|
+
- You MAY reference relevant context data to inform your decision
|
|
76
|
+
|
|
77
|
+
### 2. Make Steering Decision
|
|
78
|
+
|
|
79
|
+
**Constraints:**
|
|
80
|
+
- You MUST respond with exactly one of: "proceed", "guide", or "confirm"
|
|
81
|
+
- You MUST base the decision ONLY on context data patterns
|
|
82
|
+
- Your reason will be shown to the AGENT as guidance
|
|
83
|
+
|
|
84
|
+
**Decision Options:**
|
|
85
|
+
- "proceed" if context data shows no concerning patterns
|
|
86
|
+
- "guide" if context data shows patterns requiring intervention
|
|
87
|
+
- "confirm" if context data shows patterns requiring human input`;
|
|
88
|
+
// Dynamic block (uncached): per-call context and event payload.
|
|
89
|
+
const dynamic = `## Context
|
|
90
|
+
|
|
91
|
+
${contextStr}
|
|
92
|
+
|
|
93
|
+
## Event to Evaluate
|
|
94
|
+
|
|
95
|
+
${eventDescription}`;
|
|
96
|
+
return [new TextBlock(instructions), new CachePointBlock({ cacheType: 'default' }), new TextBlock(dynamic)];
|
|
97
|
+
}
|
|
98
|
+
/** Schema returned by the steering LLM. */
|
|
99
|
+
const STEERING_DECISION = z.object({
|
|
100
|
+
type: z
|
|
101
|
+
.enum(['proceed', 'guide', 'confirm'])
|
|
102
|
+
.describe("Steering decision: 'proceed' to continue, 'guide' to provide feedback, 'confirm' to pause for human approval"),
|
|
103
|
+
reason: z.string().describe('Clear explanation of the steering decision and any guidance provided'),
|
|
104
|
+
});
|
|
105
|
+
/**
|
|
106
|
+
* Steering handler that uses an LLM to provide contextual guidance.
|
|
107
|
+
*
|
|
108
|
+
* Uses natural language prompts to evaluate tool calls and produce an
|
|
109
|
+
* intervention action.
|
|
110
|
+
*
|
|
111
|
+
* Only `beforeToolCall` is implemented — model-output steering is not
|
|
112
|
+
* delegated to the LLM. Subclass and override `afterModelCall` (which
|
|
113
|
+
* carries the narrowed `Proceed | Guide` return) to add LLM-driven
|
|
114
|
+
* evaluation of model responses.
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* import { Agent } from '@strands-agents/sdk'
|
|
119
|
+
* import { LLMSteeringHandler } from '@strands-agents/sdk/vended-interventions/steering'
|
|
120
|
+
*
|
|
121
|
+
* const handler = new LLMSteeringHandler({
|
|
122
|
+
* systemPrompt: `You ensure emails maintain a cheerful, positive tone.`,
|
|
123
|
+
* })
|
|
124
|
+
*
|
|
125
|
+
* const agent = new Agent({ tools: [sendEmail], interventions: [handler] })
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
export class LLMSteeringHandler extends SteeringHandler {
|
|
129
|
+
name;
|
|
130
|
+
_promptBuilder;
|
|
131
|
+
_configuredModel;
|
|
132
|
+
_agentModel;
|
|
133
|
+
_systemPrompt;
|
|
134
|
+
constructor(config) {
|
|
135
|
+
const contextProviders = config.contextProviders === undefined ? [new ToolLedgerProvider()] : config.contextProviders;
|
|
136
|
+
super({ contextProviders });
|
|
137
|
+
this.name = config.name ?? 'strands:llm-steering-handler';
|
|
138
|
+
this._promptBuilder = config.promptBuilder ?? defaultPromptBuilder;
|
|
139
|
+
this._configuredModel = config.model;
|
|
140
|
+
this._systemPrompt = config.systemPrompt;
|
|
141
|
+
}
|
|
142
|
+
async observeAgent(agent) {
|
|
143
|
+
this._agentModel = agent.model;
|
|
144
|
+
await super.observeAgent(agent);
|
|
145
|
+
}
|
|
146
|
+
async beforeToolCall(event) {
|
|
147
|
+
const context = this.getSteeringContext();
|
|
148
|
+
const prompt = this._promptBuilder(context, event.toolUse);
|
|
149
|
+
const decision = await this._invoke(prompt);
|
|
150
|
+
switch (decision.type) {
|
|
151
|
+
case 'proceed':
|
|
152
|
+
return proceed({ reason: decision.reason });
|
|
153
|
+
case 'guide':
|
|
154
|
+
return guide(decision.reason);
|
|
155
|
+
case 'confirm':
|
|
156
|
+
return confirm(decision.reason, { reason: decision.reason });
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
// Constructs a fresh inner agent per call so the handler has no shared
|
|
160
|
+
// mutable state between invocations — this keeps it safe to attach to
|
|
161
|
+
// multiple parent agents (whose tool calls may evaluate concurrently).
|
|
162
|
+
async _invoke(prompt) {
|
|
163
|
+
const model = this._configuredModel ?? this._agentModel;
|
|
164
|
+
if (!model) {
|
|
165
|
+
throw new Error('LLMSteeringHandler has no model — pass `model` in config, or attach the handler to an agent before invoking it.');
|
|
166
|
+
}
|
|
167
|
+
const inner = new Agent({
|
|
168
|
+
model,
|
|
169
|
+
systemPrompt: this._systemPrompt,
|
|
170
|
+
structuredOutputSchema: STEERING_DECISION,
|
|
171
|
+
printer: false,
|
|
172
|
+
});
|
|
173
|
+
const result = await inner.invoke(prompt);
|
|
174
|
+
return STEERING_DECISION.parse(result.structuredOutput);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=llm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../../../../../src/vended-interventions/steering/handlers/llm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Steering system for Strands agents.
|
|
3
|
+
*
|
|
4
|
+
* Provides contextual guidance for agents through modular prompting.
|
|
5
|
+
* Instead of front-loading all instructions, steering handlers provide
|
|
6
|
+
* just-in-time feedback based on context data from registered providers.
|
|
7
|
+
*
|
|
8
|
+
* Steering handlers are {@link InterventionHandler}s — register them on the
|
|
9
|
+
* agent via the `interventions:` option, not `plugins:`.
|
|
10
|
+
*
|
|
11
|
+
* Core components:
|
|
12
|
+
* - SteeringHandler: base class for guidance logic
|
|
13
|
+
* - SteeringContextProvider: interface for context data providers
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import { Agent } from '@strands-agents/sdk'
|
|
18
|
+
* import { LLMSteeringHandler } from '@strands-agents/sdk/vended-interventions/steering'
|
|
19
|
+
*
|
|
20
|
+
* const handler = new LLMSteeringHandler({
|
|
21
|
+
* systemPrompt: '...',
|
|
22
|
+
* model: new BedrockModel(),
|
|
23
|
+
* })
|
|
24
|
+
* const agent = new Agent({ tools: [...], interventions: [handler] })
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export type { SteeringContextData, SteeringContextProvider } from './providers/context-provider.js';
|
|
28
|
+
export { SteeringHandler, type SteeringHandlerConfig } from './handlers/handler.js';
|
|
29
|
+
export { ToolLedgerProvider, type ToolLedgerProviderConfig } from './providers/tool-ledger.js';
|
|
30
|
+
export { LLMSteeringHandler, type LLMSteeringHandlerConfig, type PromptBuilder } from './handlers/llm.js';
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vended-interventions/steering/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,YAAY,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AACnG,OAAO,EAAE,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAGnF,OAAO,EAAE,kBAAkB,EAAE,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAG9F,OAAO,EAAE,kBAAkB,EAAE,KAAK,wBAAwB,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Steering system for Strands agents.
|
|
3
|
+
*
|
|
4
|
+
* Provides contextual guidance for agents through modular prompting.
|
|
5
|
+
* Instead of front-loading all instructions, steering handlers provide
|
|
6
|
+
* just-in-time feedback based on context data from registered providers.
|
|
7
|
+
*
|
|
8
|
+
* Steering handlers are {@link InterventionHandler}s — register them on the
|
|
9
|
+
* agent via the `interventions:` option, not `plugins:`.
|
|
10
|
+
*
|
|
11
|
+
* Core components:
|
|
12
|
+
* - SteeringHandler: base class for guidance logic
|
|
13
|
+
* - SteeringContextProvider: interface for context data providers
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import { Agent } from '@strands-agents/sdk'
|
|
18
|
+
* import { LLMSteeringHandler } from '@strands-agents/sdk/vended-interventions/steering'
|
|
19
|
+
*
|
|
20
|
+
* const handler = new LLMSteeringHandler({
|
|
21
|
+
* systemPrompt: '...',
|
|
22
|
+
* model: new BedrockModel(),
|
|
23
|
+
* })
|
|
24
|
+
* const agent = new Agent({ tools: [...], interventions: [handler] })
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export { SteeringHandler } from './handlers/handler.js';
|
|
28
|
+
// Context providers
|
|
29
|
+
export { ToolLedgerProvider } from './providers/tool-ledger.js';
|
|
30
|
+
// Handler implementations
|
|
31
|
+
export { LLMSteeringHandler } from './handlers/llm.js';
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/vended-interventions/steering/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,EAAE,eAAe,EAA8B,MAAM,uBAAuB,CAAA;AAEnF,oBAAoB;AACpB,OAAO,EAAE,kBAAkB,EAAiC,MAAM,4BAA4B,CAAA;AAE9F,0BAA0B;AAC1B,OAAO,EAAE,kBAAkB,EAAqD,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Steering context provider interface.
|
|
3
|
+
*
|
|
4
|
+
* Providers track agent activity and supply context data to steering handlers
|
|
5
|
+
* for evaluation decisions.
|
|
6
|
+
*/
|
|
7
|
+
import type { LocalAgent } from '../../../types/agent.js';
|
|
8
|
+
import type { LifecycleObserver } from '../../../types/lifecycle-observer.js';
|
|
9
|
+
import type { JSONValue } from '../../../types/json.js';
|
|
10
|
+
/**
|
|
11
|
+
* Context data returned by a SteeringContextProvider.
|
|
12
|
+
* The type field identifies which provider produced the data.
|
|
13
|
+
*/
|
|
14
|
+
export interface SteeringContextData {
|
|
15
|
+
/** Discriminator identifying the context provider. */
|
|
16
|
+
readonly type: string;
|
|
17
|
+
/** Additional context fields. */
|
|
18
|
+
[key: string]: JSONValue;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* A passive observer that accumulates data from agent lifecycle events.
|
|
22
|
+
*
|
|
23
|
+
* Providers self-register hook callbacks via {@link LifecycleObserver.observeAgent},
|
|
24
|
+
* which the owning {@link SteeringHandler} invokes once at registration time.
|
|
25
|
+
*
|
|
26
|
+
* Providers expose accumulated state through the `context` getter, which the
|
|
27
|
+
* handler reads when making steering decisions.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* class CostTracker implements SteeringContextProvider {
|
|
32
|
+
* readonly name = 'costTracker'
|
|
33
|
+
* private _toolCalls = 0
|
|
34
|
+
*
|
|
35
|
+
* observeAgent(agent: LocalAgent): void {
|
|
36
|
+
* agent.addHook(AfterToolCallEvent, () => {
|
|
37
|
+
* this._toolCalls += 1
|
|
38
|
+
* })
|
|
39
|
+
* }
|
|
40
|
+
*
|
|
41
|
+
* get context(): SteeringContextData {
|
|
42
|
+
* return { type: 'costTracker', toolCalls: this._toolCalls }
|
|
43
|
+
* }
|
|
44
|
+
* }
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export interface SteeringContextProvider extends LifecycleObserver {
|
|
48
|
+
/** Identifier for this provider instance. */
|
|
49
|
+
readonly name: string;
|
|
50
|
+
/** Subscribe to hooks on the owning agent. Required for providers. */
|
|
51
|
+
observeAgent(agent: LocalAgent): void | Promise<void>;
|
|
52
|
+
/** Return the current context snapshot for steering evaluation. */
|
|
53
|
+
get context(): SteeringContextData;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=context-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-provider.d.ts","sourceRoot":"","sources":["../../../../../src/vended-interventions/steering/providers/context-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEvD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,iCAAiC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB,sEAAsE;IACtE,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAErD,mEAAmE;IACnE,IAAI,OAAO,IAAI,mBAAmB,CAAA;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-provider.js","sourceRoot":"","sources":["../../../../../src/vended-interventions/steering/providers/context-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ledger context provider for comprehensive agent activity tracking.
|
|
3
|
+
*
|
|
4
|
+
* Tracks tool call history with inputs, outputs, timing, and success/failure status.
|
|
5
|
+
* This audit trail enables steering handlers to make informed guidance decisions
|
|
6
|
+
* based on agent behavior patterns and history.
|
|
7
|
+
*/
|
|
8
|
+
import type { LocalAgent } from '../../../types/agent.js';
|
|
9
|
+
import type { SteeringContextData, SteeringContextProvider } from './context-provider.js';
|
|
10
|
+
/**
|
|
11
|
+
* Configuration for {@link ToolLedgerProvider}.
|
|
12
|
+
*/
|
|
13
|
+
export interface ToolLedgerProviderConfig {
|
|
14
|
+
/** Maximum number of tool calls to retain. Older entries are dropped. Defaults to 100. */
|
|
15
|
+
maxEntries?: number;
|
|
16
|
+
/** Identifier for this provider instance. Defaults to `'strands:steering:toolLedger'`. */
|
|
17
|
+
name?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Context provider that tracks tool call history within a single invocation.
|
|
21
|
+
*
|
|
22
|
+
* Records every tool invocation with inputs, execution time, and success/failure status.
|
|
23
|
+
* The ledger is available to steering handlers for pattern detection
|
|
24
|
+
* (e.g., repeated failures, excessive retries).
|
|
25
|
+
*
|
|
26
|
+
* When the ledger exceeds maxEntries, the oldest entries are dropped.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* const handler = new LLMSteeringHandler({
|
|
31
|
+
* systemPrompt: '...',
|
|
32
|
+
* contextProviders: [new ToolLedgerProvider()],
|
|
33
|
+
* })
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare class ToolLedgerProvider implements SteeringContextProvider {
|
|
37
|
+
readonly name: string;
|
|
38
|
+
private readonly _maxEntries;
|
|
39
|
+
private readonly _toolCalls;
|
|
40
|
+
constructor(config?: ToolLedgerProviderConfig);
|
|
41
|
+
observeAgent(agent: LocalAgent): void;
|
|
42
|
+
private _onBeforeToolCall;
|
|
43
|
+
private _onAfterToolCall;
|
|
44
|
+
/**
|
|
45
|
+
* Return the current ledger snapshot.
|
|
46
|
+
*/
|
|
47
|
+
get context(): SteeringContextData;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=tool-ledger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-ledger.d.ts","sourceRoot":"","sources":["../../../../../src/vended-interventions/steering/providers/tool-ledger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAGzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAwBzF;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,0FAA0F;IAC1F,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,0FAA0F;IAC1F,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,kBAAmB,YAAW,uBAAuB;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;gBAEtC,MAAM,CAAC,EAAE,wBAAwB;IAO7C,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAKrC,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,IAAI,OAAO,IAAI,mBAAmB,CAKjC;CACF"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ledger context provider for comprehensive agent activity tracking.
|
|
3
|
+
*
|
|
4
|
+
* Tracks tool call history with inputs, outputs, timing, and success/failure status.
|
|
5
|
+
* This audit trail enables steering handlers to make informed guidance decisions
|
|
6
|
+
* based on agent behavior patterns and history.
|
|
7
|
+
*/
|
|
8
|
+
import { AfterToolCallEvent, BeforeToolCallEvent } from '../../../hooks/events.js';
|
|
9
|
+
/**
|
|
10
|
+
* Context provider that tracks tool call history within a single invocation.
|
|
11
|
+
*
|
|
12
|
+
* Records every tool invocation with inputs, execution time, and success/failure status.
|
|
13
|
+
* The ledger is available to steering handlers for pattern detection
|
|
14
|
+
* (e.g., repeated failures, excessive retries).
|
|
15
|
+
*
|
|
16
|
+
* When the ledger exceeds maxEntries, the oldest entries are dropped.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* const handler = new LLMSteeringHandler({
|
|
21
|
+
* systemPrompt: '...',
|
|
22
|
+
* contextProviders: [new ToolLedgerProvider()],
|
|
23
|
+
* })
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export class ToolLedgerProvider {
|
|
27
|
+
name;
|
|
28
|
+
_maxEntries = 100;
|
|
29
|
+
_toolCalls = [];
|
|
30
|
+
constructor(config) {
|
|
31
|
+
this.name = config?.name ?? 'strands:steering:toolLedger';
|
|
32
|
+
if (config?.maxEntries !== undefined) {
|
|
33
|
+
this._maxEntries = config.maxEntries;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
observeAgent(agent) {
|
|
37
|
+
agent.addHook(BeforeToolCallEvent, (event) => this._onBeforeToolCall(event));
|
|
38
|
+
agent.addHook(AfterToolCallEvent, (event) => this._onAfterToolCall(event));
|
|
39
|
+
}
|
|
40
|
+
_onBeforeToolCall(event) {
|
|
41
|
+
this._toolCalls.push({
|
|
42
|
+
startTime: new Date().toISOString(),
|
|
43
|
+
id: event.toolUse.toolUseId,
|
|
44
|
+
name: event.toolUse.name,
|
|
45
|
+
args: event.toolUse.input,
|
|
46
|
+
status: 'pending',
|
|
47
|
+
});
|
|
48
|
+
if (this._toolCalls.length > this._maxEntries) {
|
|
49
|
+
this._toolCalls.splice(0, this._toolCalls.length - this._maxEntries);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
_onAfterToolCall(event) {
|
|
53
|
+
const toolUseId = event.toolUse.toolUseId;
|
|
54
|
+
for (let i = this._toolCalls.length - 1; i >= 0; i--) {
|
|
55
|
+
const call = this._toolCalls[i];
|
|
56
|
+
if (call?.id === toolUseId) {
|
|
57
|
+
call.endTime = new Date().toISOString();
|
|
58
|
+
call.status = event.result.status;
|
|
59
|
+
call.result = event.result.content.map((block) => block.toJSON());
|
|
60
|
+
call.error = event.error ? event.error.message : null;
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Return the current ledger snapshot.
|
|
67
|
+
*/
|
|
68
|
+
get context() {
|
|
69
|
+
return {
|
|
70
|
+
type: 'toolLedger',
|
|
71
|
+
calls: this._toolCalls,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=tool-ledger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-ledger.js","sourceRoot":"","sources":["../../../../../src/vended-interventions/steering/providers/tool-ledger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAsClF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,kBAAkB;IACpB,IAAI,CAAQ;IACJ,WAAW,GAAW,GAAG,CAAA;IACzB,UAAU,GAAqB,EAAE,CAAA;IAElD,YAAY,MAAiC;QAC3C,IAAI,CAAC,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,6BAA6B,CAAA;QACzD,IAAI,MAAM,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAA;QACtC,CAAC;IACH,CAAC;IAED,YAAY,CAAC,KAAiB;QAC5B,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;QAC5E,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5E,CAAC;IAEO,iBAAiB,CAAC,KAA0B;QAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;YAC3B,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;YACxB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;YACzB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAA;QACF,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;QACtE,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,KAAyB;QAChD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAA;QACzC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;YAC/B,IAAI,IAAI,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;gBACvC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAA;gBACjC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAc,CAAA;gBAC9E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;gBACrD,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,IAAI,CAAC,UAAkC;SAC/C,CAAA;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bedrock-knowledge-base-store.test.d.ts","sourceRoot":"","sources":["../../../../../src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.ts"],"names":[],"mappings":""}
|