@strands-agents/sdk 1.4.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 +11 -11
- 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.map +1 -1
- package/dist/src/__fixtures__/test-sandbox.node.js +4 -3
- package/dist/src/__fixtures__/test-sandbox.node.js.map +1 -1
- 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/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.tracer.test.node.js +14 -0
- package/dist/src/agent/__tests__/agent.tracer.test.node.js.map +1 -1
- package/dist/src/agent/agent.d.ts +132 -2
- package/dist/src/agent/agent.d.ts.map +1 -1
- package/dist/src/agent/agent.js +478 -188
- package/dist/src/agent/agent.js.map +1 -1
- 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 +8 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +11 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/index.d.ts +8 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7 -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/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 +16 -1
- package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
- package/dist/src/models/__tests__/bedrock.test.js +39 -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.js +2 -2
- package/dist/src/models/anthropic.js.map +1 -1
- package/dist/src/models/bedrock.d.ts.map +1 -1
- package/dist/src/models/bedrock.js +12 -5
- 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__/responses.test.js +8 -14
- package/dist/src/models/openai/__tests__/responses.test.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.js +50 -4
- package/dist/src/sandbox/__tests__/posix-shell.test.node.js.map +1 -1
- 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 +22 -4
- package/dist/src/sandbox/base.d.ts.map +1 -1
- package/dist/src/sandbox/base.js +15 -2
- package/dist/src/sandbox/base.js.map +1 -1
- package/dist/src/sandbox/constants.d.ts +18 -0
- package/dist/src/sandbox/constants.d.ts.map +1 -1
- package/dist/src/sandbox/constants.js +20 -0
- package/dist/src/sandbox/constants.js.map +1 -1
- 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 +21 -0
- package/dist/src/sandbox/posix-shell.d.ts.map +1 -1
- package/dist/src/sandbox/posix-shell.js +41 -3
- package/dist/src/sandbox/posix-shell.js.map +1 -1
- 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.map +1 -1
- package/dist/src/sandbox/stream-process.js +3 -2
- package/dist/src/sandbox/stream-process.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types/agent.d.ts +21 -0
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/agent.js.map +1 -1
- package/dist/src/types/messages.d.ts +1 -1
- package/dist/src/types/messages.d.ts.map +1 -1
- package/dist/src/types/messages.js.map +1 -1
- 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 +2 -1
- package/dist/src/vended-plugins/index.d.ts.map +1 -1
- package/dist/src/vended-plugins/index.js +2 -1
- package/dist/src/vended-plugins/index.js.map +1 -1
- 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/package.json +41 -6
- package/dist/src/utils/shell-quote.d.ts +0 -12
- package/dist/src/utils/shell-quote.d.ts.map +0 -1
- package/dist/src/utils/shell-quote.js +0 -14
- package/dist/src/utils/shell-quote.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extraction.test.js","sourceRoot":"","sources":["../../../../../src/memory/extraction/__tests__/extraction.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-extractor.test.d.ts","sourceRoot":"","sources":["../../../../../src/memory/extraction/__tests__/model-extractor.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { ModelExtractor } from '../model-extractor.js';
|
|
3
|
+
import { MockMessageModel } from '../../../__fixtures__/mock-message-model.js';
|
|
4
|
+
function userTurn(text) {
|
|
5
|
+
return { role: 'user', content: [{ text }] };
|
|
6
|
+
}
|
|
7
|
+
describe('ModelExtractor', () => {
|
|
8
|
+
it('parses a JSON array of entries from the model response', async () => {
|
|
9
|
+
const model = new MockMessageModel();
|
|
10
|
+
model.addTurn({
|
|
11
|
+
type: 'textBlock',
|
|
12
|
+
text: '[{"content": "User prefers dark mode"}, {"content": "Lives in Berlin"}]',
|
|
13
|
+
});
|
|
14
|
+
const extractor = new ModelExtractor({ model: model });
|
|
15
|
+
const entries = await extractor.extract([userTurn('I like dark mode and live in Berlin')]);
|
|
16
|
+
expect(entries).toEqual([{ content: 'User prefers dark mode' }, { content: 'Lives in Berlin' }]);
|
|
17
|
+
});
|
|
18
|
+
it('extracts a JSON array even when wrapped in prose or a code fence', async () => {
|
|
19
|
+
const model = new MockMessageModel();
|
|
20
|
+
model.addTurn({
|
|
21
|
+
type: 'textBlock',
|
|
22
|
+
text: 'Here are the facts:\n```json\n[{"content": "fact"}]\n```\nHope that helps.',
|
|
23
|
+
});
|
|
24
|
+
const extractor = new ModelExtractor({ model: model });
|
|
25
|
+
const entries = await extractor.extract([userTurn('something')]);
|
|
26
|
+
expect(entries).toEqual([{ content: 'fact' }]);
|
|
27
|
+
});
|
|
28
|
+
it('preserves entry metadata', async () => {
|
|
29
|
+
const model = new MockMessageModel();
|
|
30
|
+
model.addTurn({ type: 'textBlock', text: '[{"content": "fact", "metadata": {"topic": "pref"}}]' });
|
|
31
|
+
const extractor = new ModelExtractor({ model: model });
|
|
32
|
+
const entries = await extractor.extract([userTurn('x')]);
|
|
33
|
+
expect(entries).toEqual([{ content: 'fact', metadata: { topic: 'pref' } }]);
|
|
34
|
+
});
|
|
35
|
+
it('returns no entries on malformed JSON without throwing', async () => {
|
|
36
|
+
const model = new MockMessageModel();
|
|
37
|
+
model.addTurn({ type: 'textBlock', text: 'not json at all' });
|
|
38
|
+
const extractor = new ModelExtractor({ model: model });
|
|
39
|
+
const entries = await extractor.extract([userTurn('x')]);
|
|
40
|
+
expect(entries).toEqual([]);
|
|
41
|
+
});
|
|
42
|
+
it('drops entries without a string content and empty strings', async () => {
|
|
43
|
+
const model = new MockMessageModel();
|
|
44
|
+
model.addTurn({ type: 'textBlock', text: '[{"content": "keep"}, {"content": ""}, {"foo": "bar"}, "loose"]' });
|
|
45
|
+
const extractor = new ModelExtractor({ model: model });
|
|
46
|
+
const entries = await extractor.extract([userTurn('x')]);
|
|
47
|
+
expect(entries).toEqual([{ content: 'keep' }]);
|
|
48
|
+
});
|
|
49
|
+
it('returns [] for an empty message batch without calling the model', async () => {
|
|
50
|
+
const model = new MockMessageModel();
|
|
51
|
+
const extractor = new ModelExtractor({ model: model });
|
|
52
|
+
const entries = await extractor.extract([]);
|
|
53
|
+
expect(entries).toEqual([]);
|
|
54
|
+
expect(model.callCount).toBe(0);
|
|
55
|
+
});
|
|
56
|
+
it('falls back to the default model from context when none configured', async () => {
|
|
57
|
+
const model = new MockMessageModel();
|
|
58
|
+
model.addTurn({ type: 'textBlock', text: '[{"content": "fact"}]' });
|
|
59
|
+
const extractor = new ModelExtractor();
|
|
60
|
+
const entries = await extractor.extract([userTurn('x')], { defaultModel: model });
|
|
61
|
+
expect(entries).toEqual([{ content: 'fact' }]);
|
|
62
|
+
});
|
|
63
|
+
it('throws when no model is configured and no default is provided', async () => {
|
|
64
|
+
const extractor = new ModelExtractor();
|
|
65
|
+
await expect(extractor.extract([userTurn('x')])).rejects.toThrow('no model configured');
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=model-extractor.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-extractor.test.js","sourceRoot":"","sources":["../../../../../src/memory/extraction/__tests__/model-extractor.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-extraction-config.test.d.ts","sourceRoot":"","sources":["../../../../../src/memory/extraction/__tests__/resolve-extraction-config.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
+
import { resolveExtractionConfig, DEFAULT_EXTRACTION_TRIGGER_TURNS } from '../resolve-extraction-config.js';
|
|
3
|
+
import { IntervalTrigger, InvocationTrigger } from '../triggers.js';
|
|
4
|
+
import { ModelExtractor } from '../model-extractor.js';
|
|
5
|
+
import { DEFAULT_MEMORY_MESSAGE_FILTER } from '../types.js';
|
|
6
|
+
/** A minimal store stub exposing only the write sinks the resolver inspects. */
|
|
7
|
+
function sinks(have) {
|
|
8
|
+
return {
|
|
9
|
+
...((have === 'add' || have === 'both') && { add: vi.fn() }),
|
|
10
|
+
...((have === 'addMessages' || have === 'both') && { addMessages: vi.fn() }),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
describe('resolveExtractionConfig', () => {
|
|
14
|
+
describe('enablement shorthand', () => {
|
|
15
|
+
it('returns undefined when extraction is false', () => {
|
|
16
|
+
expect(resolveExtractionConfig(false, sinks('add'))).toBeUndefined();
|
|
17
|
+
});
|
|
18
|
+
it('returns undefined when extraction is undefined', () => {
|
|
19
|
+
expect(resolveExtractionConfig(undefined, sinks('add'))).toBeUndefined();
|
|
20
|
+
});
|
|
21
|
+
it('resolves true to a fully-defaulted config', () => {
|
|
22
|
+
const resolved = resolveExtractionConfig(true, sinks('add'));
|
|
23
|
+
expect(resolved).toBeDefined();
|
|
24
|
+
expect(resolved.triggers).toHaveLength(1);
|
|
25
|
+
expect(resolved.triggers[0]).toBeInstanceOf(IntervalTrigger);
|
|
26
|
+
expect(resolved.filter).toBe(DEFAULT_MEMORY_MESSAGE_FILTER);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
describe('trigger defaulting and normalization', () => {
|
|
30
|
+
it('defaults an omitted trigger to an IntervalTrigger of DEFAULT_EXTRACTION_TRIGGER_TURNS', () => {
|
|
31
|
+
const resolved = resolveExtractionConfig({}, sinks('addMessages'));
|
|
32
|
+
// Structural equality compares the constructed IntervalTrigger (including its turns) without
|
|
33
|
+
// reaching into private fields, so it stays valid if IntervalTrigger's internals change.
|
|
34
|
+
expect(resolved.triggers).toEqual([new IntervalTrigger({ turns: DEFAULT_EXTRACTION_TRIGGER_TURNS })]);
|
|
35
|
+
expect(DEFAULT_EXTRACTION_TRIGGER_TURNS).toBe(5);
|
|
36
|
+
});
|
|
37
|
+
it('wraps a single trigger into an array', () => {
|
|
38
|
+
const trigger = new InvocationTrigger();
|
|
39
|
+
const resolved = resolveExtractionConfig({ trigger }, sinks('addMessages'));
|
|
40
|
+
expect(resolved.triggers).toEqual([trigger]);
|
|
41
|
+
});
|
|
42
|
+
it('passes an explicit trigger array through unchanged', () => {
|
|
43
|
+
const triggers = [new InvocationTrigger(), new IntervalTrigger({ turns: 2 })];
|
|
44
|
+
const resolved = resolveExtractionConfig({ trigger: triggers }, sinks('addMessages'));
|
|
45
|
+
expect(resolved.triggers).toEqual(triggers);
|
|
46
|
+
});
|
|
47
|
+
it('leaves an explicit empty trigger array empty (so the manager can reject it)', () => {
|
|
48
|
+
const resolved = resolveExtractionConfig({ trigger: [] }, sinks('addMessages'));
|
|
49
|
+
expect(resolved.triggers).toEqual([]);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
describe('capability-based extractor default', () => {
|
|
53
|
+
it('defaults an add-only store to a ModelExtractor', () => {
|
|
54
|
+
const resolved = resolveExtractionConfig(true, sinks('add'));
|
|
55
|
+
expect(resolved.extractor).toBeInstanceOf(ModelExtractor);
|
|
56
|
+
});
|
|
57
|
+
it('defaults an addMessages-only store to the passthrough (no extractor)', () => {
|
|
58
|
+
const resolved = resolveExtractionConfig(true, sinks('addMessages'));
|
|
59
|
+
expect(resolved.extractor).toBeUndefined();
|
|
60
|
+
});
|
|
61
|
+
it('defaults a both-sinks store to the passthrough (no extractor)', () => {
|
|
62
|
+
const resolved = resolveExtractionConfig(true, sinks('both'));
|
|
63
|
+
expect(resolved.extractor).toBeUndefined();
|
|
64
|
+
});
|
|
65
|
+
it('keeps an explicit extractor even on an addMessages store', () => {
|
|
66
|
+
const extractor = { extract: vi.fn() };
|
|
67
|
+
const resolved = resolveExtractionConfig({ extractor }, sinks('both'));
|
|
68
|
+
expect(resolved.extractor).toBe(extractor);
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
describe('filter defaulting', () => {
|
|
72
|
+
it('defaults to DEFAULT_MEMORY_MESSAGE_FILTER', () => {
|
|
73
|
+
expect(resolveExtractionConfig(true, sinks('add')).filter).toBe(DEFAULT_MEMORY_MESSAGE_FILTER);
|
|
74
|
+
});
|
|
75
|
+
it('passes an explicit filter through', () => {
|
|
76
|
+
const filter = { exclude: [] };
|
|
77
|
+
expect(resolveExtractionConfig({ filter }, sinks('add')).filter).toBe(filter);
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
//# sourceMappingURL=resolve-extraction-config.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-extraction-config.test.js","sourceRoot":"","sources":["../../../../../src/memory/extraction/__tests__/resolve-extraction-config.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import type { MemoryStore } from '../types.js';
|
|
2
|
+
import type { MessageData } from '../../types/messages.js';
|
|
3
|
+
import type { Model } from '../../models/model.js';
|
|
4
|
+
import type { ResolvedExtractionConfig } from './resolve-extraction-config.js';
|
|
5
|
+
/**
|
|
6
|
+
* A store paired with its fully-resolved extraction config.
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export interface ExtractionBinding {
|
|
10
|
+
/** The memory store to extract into. */
|
|
11
|
+
store: MemoryStore;
|
|
12
|
+
/** The store's fully-resolved extraction config (triggers, extractor, filter). */
|
|
13
|
+
config: ResolvedExtractionConfig;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Number of consecutive save failures after which a store backs off (stops trying every turn).
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
export declare const SAVE_FAILURES_BEFORE_BACKOFF = 10;
|
|
20
|
+
/**
|
|
21
|
+
* While backed off, a store retries only once every this many save attempts (a probe).
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export declare const BACKOFF_PROBE_INTERVAL = 3;
|
|
25
|
+
/**
|
|
26
|
+
* Saves conversation messages to memory stores, in the background, without slowing the agent down.
|
|
27
|
+
*
|
|
28
|
+
* How it works, in three pieces:
|
|
29
|
+
*
|
|
30
|
+
* 1. **The buffer.** Every message the agent produces is copied into one shared list (`_pending`).
|
|
31
|
+
* Each gets a number (`seq`) that only ever counts up, so we can tell which messages are newer.
|
|
32
|
+
* We keep our own copy here (rather than reading the agent's live message list) because the agent
|
|
33
|
+
* can delete old messages to stay within its context window; our copy means we never lose one
|
|
34
|
+
* before it's saved.
|
|
35
|
+
*
|
|
36
|
+
* 2. **Per-store progress.** Each store can save at its own pace, so we remember, per store, the
|
|
37
|
+
* `seq` of the last message it has already saved (`_marks`). When a store saves, it only looks at
|
|
38
|
+
* messages newer than that number, so the same message is never saved twice to the same store.
|
|
39
|
+
*
|
|
40
|
+
* 3. **One save at a time per store.** A store might be asked to save again while a previous save is
|
|
41
|
+
* still running. We chain each store's saves one after another (`_chains`) so they can't overlap
|
|
42
|
+
* or run out of order.
|
|
43
|
+
*
|
|
44
|
+
* If a store fails to save {@link SAVE_FAILURES_BEFORE_BACKOFF} times in a row, it backs off: instead
|
|
45
|
+
* of trying every turn, it retries only once every {@link BACKOFF_PROBE_INTERVAL} attempts (a probe).
|
|
46
|
+
* A successful probe clears the failure streak and resumes normal saving - so a transient outage
|
|
47
|
+
* recovers on its own and the messages buffered during it are saved once the store comes back. A
|
|
48
|
+
* permanently broken store keeps probing and logs an error each time, surfacing the misconfiguration.
|
|
49
|
+
*
|
|
50
|
+
* Saving itself either runs the store's extractor to pull out facts, or hands the raw messages to the
|
|
51
|
+
* store - see {@link _write}.
|
|
52
|
+
* @internal
|
|
53
|
+
*/
|
|
54
|
+
export declare class ExtractionCoordinator {
|
|
55
|
+
private readonly _stores;
|
|
56
|
+
/** Per store: its resolved extraction config (triggers, extractor, filter). */
|
|
57
|
+
private readonly _storeToExtractionConfig;
|
|
58
|
+
private readonly _defaultModel;
|
|
59
|
+
/** The shared list of messages waiting to be saved, oldest first. Each is tagged with its `seq`. */
|
|
60
|
+
private _pending;
|
|
61
|
+
/** The number to give the next message added to the buffer. Only ever increases. */
|
|
62
|
+
private _nextSeq;
|
|
63
|
+
/** Per store: the `seq` of the last message that store has already saved. Starts at -1 (saved none). */
|
|
64
|
+
private readonly _marks;
|
|
65
|
+
/** Per store: a promise for that store's currently-running save, so the next save waits its turn. */
|
|
66
|
+
private readonly _chains;
|
|
67
|
+
/** Per store: how many saves have failed in a row. Reset to 0 on a successful save. */
|
|
68
|
+
private readonly _consecutiveFailures;
|
|
69
|
+
/** Per store: while backed off, counts save requests so we can let every Nth through as a probe. */
|
|
70
|
+
private readonly _backoffCounters;
|
|
71
|
+
/**
|
|
72
|
+
* @param stores - The extraction-configured stores this coordinator manages, each with its resolved config
|
|
73
|
+
* @param defaultModel - The agent's model, passed to extractors that don't configure their own
|
|
74
|
+
*/
|
|
75
|
+
constructor(stores: ExtractionBinding[], defaultModel: Model);
|
|
76
|
+
/** Adds a message to the buffer. */
|
|
77
|
+
record(message: MessageData): void;
|
|
78
|
+
/**
|
|
79
|
+
* Saves this store's unsaved messages, in the background. Queued behind the store's previous save so
|
|
80
|
+
* two never run at once. Failures are logged and swallowed - saving must never break the agent loop.
|
|
81
|
+
* The returned promise is for {@link flush}; callers (triggers) ignore it so they don't block.
|
|
82
|
+
*/
|
|
83
|
+
process(store: MemoryStore): Promise<void>;
|
|
84
|
+
/** Queues a save for the store behind its previous one, so saves never overlap or reorder. */
|
|
85
|
+
private _enqueue;
|
|
86
|
+
/**
|
|
87
|
+
* Whether to attempt a save now. A healthy store always attempts. A backed-off store (too many
|
|
88
|
+
* failures in a row) attempts only once every {@link BACKOFF_PROBE_INTERVAL} requests - a probe to
|
|
89
|
+
* see if it has recovered - and skips the rest.
|
|
90
|
+
*/
|
|
91
|
+
private _shouldAttempt;
|
|
92
|
+
/**
|
|
93
|
+
* Saves every store's remaining messages and waits for all saves to finish. Call this once at a
|
|
94
|
+
* boundary you control - typically app shutdown - to make sure nothing in the buffer is lost.
|
|
95
|
+
*
|
|
96
|
+
* It first tells every store to save (even one whose trigger hasn't fired this turn, or one that is
|
|
97
|
+
* backed off - flush bypasses backoff so a recovered store still writes its backlog); stores with
|
|
98
|
+
* nothing to save do nothing. Then it waits, re-checking until no new save has started, so saves
|
|
99
|
+
* that begin while we're waiting are also covered.
|
|
100
|
+
*/
|
|
101
|
+
flush(): Promise<void>;
|
|
102
|
+
private _extract;
|
|
103
|
+
/**
|
|
104
|
+
* Handles a failed save. Puts the mark back so the messages retry next time. Once a store has failed
|
|
105
|
+
* {@link SAVE_FAILURES_BEFORE_BACKOFF} times in a row it logs an error and enters backoff (it then
|
|
106
|
+
* retries only on probes - see {@link _shouldAttempt}); before that it logs a warning. The messages
|
|
107
|
+
* stay buffered either way, so a store that recovers saves them.
|
|
108
|
+
*/
|
|
109
|
+
private _onSaveFailed;
|
|
110
|
+
/**
|
|
111
|
+
* Saves the messages to the store, one of two ways:
|
|
112
|
+
* - store has an extractor: run it to pull out facts, then write each fact via `add`.
|
|
113
|
+
* - no extractor: hand the raw messages to `addMessages` so the store keeps their roles.
|
|
114
|
+
*
|
|
115
|
+
* Fact writes run in parallel. If any fails we throw, which makes the caller retry the whole batch
|
|
116
|
+
* next time - so a fact that already saved may be written again (stores should expect duplicates).
|
|
117
|
+
*/
|
|
118
|
+
private _write;
|
|
119
|
+
/**
|
|
120
|
+
* Removes messages from the buffer once every store has saved them (so none still needs them).
|
|
121
|
+
*
|
|
122
|
+
* A store that hasn't saved a message yet - because its trigger hasn't fired, or it's failing and
|
|
123
|
+
* waiting to recover - keeps that message buffered. So a store stuck failing for good slowly grows
|
|
124
|
+
* the buffer; that surfaces as repeated error logs and is bounded by the (non-persisted) session.
|
|
125
|
+
*/
|
|
126
|
+
private _trim;
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=coordinator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../../src/memory/extraction/coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,yBAAyB,CAAA;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAIlD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AAE9E;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,KAAK,EAAE,WAAW,CAAA;IAClB,kFAAkF;IAClF,MAAM,EAAE,wBAAwB,CAAA;CACjC;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,KAAK,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAA;AAsCvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAmD;IAC5F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAO;IACrC,oGAAoG;IACpG,OAAO,CAAC,QAAQ,CAAwB;IACxC,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAI;IACpB,wGAAwG;IACxG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,qGAAqG;IACrG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAiC;IACtE,oGAAoG;IACpG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiC;IAElE;;;OAGG;gBACS,MAAM,EAAE,iBAAiB,EAAE,EAAE,YAAY,EAAE,KAAK;IAS5D,oCAAoC;IACpC,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAIlC;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1C,8FAA8F;IAC9F,OAAO,CAAC,QAAQ;IAOhB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAStB;;;;;;;;OAQG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAcd,QAAQ;IA+BtB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAerB;;;;;;;OAOG;YACW,MAAM;IAqBpB;;;;;;OAMG;IACH,OAAO,CAAC,KAAK;CAUd"}
|