@strands-agents/sdk 0.6.0 → 0.7.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 +64 -0
- package/dist/src/__fixtures__/agent-helpers.d.ts +37 -4
- package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
- package/dist/src/__fixtures__/agent-helpers.js +31 -4
- package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
- package/dist/src/__fixtures__/metrics-helpers.d.ts +30 -0
- package/dist/src/__fixtures__/metrics-helpers.d.ts.map +1 -1
- package/dist/src/__fixtures__/metrics-helpers.js +29 -6
- package/dist/src/__fixtures__/metrics-helpers.js.map +1 -1
- package/dist/src/__fixtures__/mock-message-model.d.ts +8 -4
- package/dist/src/__fixtures__/mock-message-model.d.ts.map +1 -1
- package/dist/src/__fixtures__/mock-message-model.js +13 -7
- package/dist/src/__fixtures__/mock-message-model.js.map +1 -1
- package/dist/src/__fixtures__/mock-meter.d.ts +32 -0
- package/dist/src/__fixtures__/mock-meter.d.ts.map +1 -0
- package/dist/src/__fixtures__/mock-meter.js +47 -0
- package/dist/src/__fixtures__/mock-meter.js.map +1 -0
- package/dist/src/__fixtures__/mock-plugin.d.ts +13 -0
- package/dist/src/__fixtures__/mock-plugin.d.ts.map +1 -0
- package/dist/src/__fixtures__/{mock-hook-provider.js → mock-plugin.js} +8 -5
- package/dist/src/__fixtures__/mock-plugin.js.map +1 -0
- package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
- package/dist/src/__fixtures__/tool-helpers.js +5 -2
- package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
- package/dist/src/__tests__/index.test.js +21 -0
- package/dist/src/__tests__/index.test.js.map +1 -1
- package/dist/src/__tests__/mcp.test.js.map +1 -1
- package/dist/src/__tests__/mime.test.d.ts +2 -0
- package/dist/src/__tests__/mime.test.d.ts.map +1 -0
- package/dist/src/__tests__/mime.test.js +83 -0
- package/dist/src/__tests__/mime.test.js.map +1 -0
- package/dist/src/__tests__/state-store.test.d.ts +2 -0
- package/dist/src/__tests__/state-store.test.d.ts.map +1 -0
- package/dist/src/__tests__/{app-state.test.js → state-store.test.js} +86 -51
- package/dist/src/__tests__/state-store.test.js.map +1 -0
- package/dist/src/a2a/__tests__/a2a-agent.test.d.ts +2 -0
- package/dist/src/a2a/__tests__/a2a-agent.test.d.ts.map +1 -0
- package/dist/src/a2a/__tests__/a2a-agent.test.js +364 -0
- package/dist/src/a2a/__tests__/a2a-agent.test.js.map +1 -0
- package/dist/src/a2a/__tests__/adapters.test.d.ts +2 -0
- package/dist/src/a2a/__tests__/adapters.test.d.ts.map +1 -0
- package/dist/src/a2a/__tests__/adapters.test.js +151 -0
- package/dist/src/a2a/__tests__/adapters.test.js.map +1 -0
- package/dist/src/a2a/__tests__/executor.test.d.ts +2 -0
- package/dist/src/a2a/__tests__/executor.test.d.ts.map +1 -0
- package/dist/src/a2a/__tests__/executor.test.js +196 -0
- package/dist/src/a2a/__tests__/executor.test.js.map +1 -0
- package/dist/src/a2a/__tests__/server.test.d.ts +2 -0
- package/dist/src/a2a/__tests__/server.test.d.ts.map +1 -0
- package/dist/src/a2a/__tests__/server.test.js +51 -0
- package/dist/src/a2a/__tests__/server.test.js.map +1 -0
- package/dist/src/a2a/__tests__/server.test.node.d.ts +2 -0
- package/dist/src/a2a/__tests__/server.test.node.d.ts.map +1 -0
- package/dist/src/a2a/__tests__/server.test.node.js +110 -0
- package/dist/src/a2a/__tests__/server.test.node.js.map +1 -0
- package/dist/src/a2a/a2a-agent.d.ts +132 -0
- package/dist/src/a2a/a2a-agent.d.ts.map +1 -0
- package/dist/src/a2a/a2a-agent.js +255 -0
- package/dist/src/a2a/a2a-agent.js.map +1 -0
- package/dist/src/a2a/adapters.d.ts +27 -0
- package/dist/src/a2a/adapters.d.ts.map +1 -0
- package/dist/src/a2a/adapters.js +175 -0
- package/dist/src/a2a/adapters.js.map +1 -0
- package/dist/src/a2a/events.d.ts +42 -0
- package/dist/src/a2a/events.d.ts.map +1 -0
- package/dist/src/a2a/events.js +35 -0
- package/dist/src/a2a/events.js.map +1 -0
- package/dist/src/a2a/executor.d.ts +57 -0
- package/dist/src/a2a/executor.d.ts.map +1 -0
- package/dist/src/a2a/executor.js +130 -0
- package/dist/src/a2a/executor.js.map +1 -0
- package/dist/src/a2a/express-server.d.ts +67 -0
- package/dist/src/a2a/express-server.d.ts.map +1 -0
- package/dist/src/a2a/express-server.js +95 -0
- package/dist/src/a2a/express-server.js.map +1 -0
- package/dist/src/a2a/index.d.ts +16 -0
- package/dist/src/a2a/index.d.ts.map +1 -0
- package/dist/src/a2a/index.js +16 -0
- package/dist/src/a2a/index.js.map +1 -0
- package/dist/src/a2a/logging.d.ts +8 -0
- package/dist/src/a2a/logging.d.ts.map +1 -0
- package/dist/src/a2a/logging.js +15 -0
- package/dist/src/a2a/logging.js.map +1 -0
- package/dist/src/a2a/server.d.ts +67 -0
- package/dist/src/a2a/server.d.ts.map +1 -0
- package/dist/src/a2a/server.js +67 -0
- package/dist/src/a2a/server.js.map +1 -0
- package/dist/src/agent/__tests__/agent.hook.test.js +87 -51
- package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -1
- package/dist/src/agent/__tests__/agent.test.js +87 -10
- package/dist/src/agent/__tests__/agent.test.js.map +1 -1
- package/dist/src/agent/__tests__/agent.tracer.test.js +10 -10
- package/dist/src/agent/__tests__/agent.tracer.test.js.map +1 -1
- package/dist/src/agent/__tests__/snapshot.test.js +11 -11
- package/dist/src/agent/__tests__/snapshot.test.js.map +1 -1
- package/dist/src/agent/agent.d.ts +39 -43
- package/dist/src/agent/agent.d.ts.map +1 -1
- package/dist/src/agent/agent.js +66 -40
- package/dist/src/agent/agent.js.map +1 -1
- package/dist/src/agent/snapshot.d.ts.map +1 -1
- package/dist/src/agent/snapshot.js +3 -2
- package/dist/src/agent/snapshot.js.map +1 -1
- package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts +2 -0
- package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts.map +1 -0
- package/dist/src/conversation-manager/__tests__/conversation-manager.test.js +100 -0
- package/dist/src/conversation-manager/__tests__/conversation-manager.test.js.map +1 -0
- package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js +26 -10
- package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js.map +1 -1
- package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +84 -21
- package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
- package/dist/src/conversation-manager/conversation-manager.d.ts +87 -0
- package/dist/src/conversation-manager/conversation-manager.d.ts.map +1 -0
- package/dist/src/conversation-manager/conversation-manager.js +59 -0
- package/dist/src/conversation-manager/conversation-manager.js.map +1 -0
- package/dist/src/conversation-manager/index.d.ts +1 -0
- package/dist/src/conversation-manager/index.d.ts.map +1 -1
- package/dist/src/conversation-manager/index.js +1 -0
- package/dist/src/conversation-manager/index.js.map +1 -1
- package/dist/src/conversation-manager/null-conversation-manager.d.ts +12 -8
- package/dist/src/conversation-manager/null-conversation-manager.d.ts.map +1 -1
- package/dist/src/conversation-manager/null-conversation-manager.js +13 -7
- package/dist/src/conversation-manager/null-conversation-manager.js.map +1 -1
- package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +28 -19
- package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
- package/dist/src/conversation-manager/sliding-window-conversation-manager.js +44 -36
- package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
- package/dist/src/hooks/__tests__/registry.test.js +10 -154
- package/dist/src/hooks/__tests__/registry.test.js.map +1 -1
- package/dist/src/hooks/events.d.ts +44 -44
- package/dist/src/hooks/events.d.ts.map +1 -1
- package/dist/src/hooks/events.js +11 -11
- package/dist/src/hooks/events.js.map +1 -1
- package/dist/src/hooks/index.d.ts +3 -3
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/index.js +2 -2
- package/dist/src/hooks/registry.d.ts +1 -32
- package/dist/src/hooks/registry.d.ts.map +1 -1
- package/dist/src/hooks/registry.js +1 -47
- package/dist/src/hooks/registry.js.map +1 -1
- package/dist/src/hooks/types.d.ts +0 -31
- package/dist/src/hooks/types.d.ts.map +1 -1
- package/dist/src/index.d.ts +12 -12
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -8
- package/dist/src/index.js.map +1 -1
- package/dist/src/mime.d.ts +24 -0
- package/dist/src/mime.d.ts.map +1 -0
- package/dist/src/mime.js +82 -0
- package/dist/src/mime.js.map +1 -0
- package/dist/src/models/__tests__/anthropic.test.js +78 -1
- package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
- package/dist/src/models/__tests__/bedrock.test.js +1844 -613
- package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
- package/dist/src/models/__tests__/gemini.test.js +100 -1
- package/dist/src/models/__tests__/gemini.test.js.map +1 -1
- package/dist/src/models/__tests__/model.test.js +25 -0
- package/dist/src/models/__tests__/model.test.js.map +1 -1
- package/dist/src/models/__tests__/openai.test.js +184 -32
- package/dist/src/models/__tests__/openai.test.js.map +1 -1
- package/dist/src/models/anthropic.d.ts.map +1 -1
- package/dist/src/models/anthropic.js +6 -7
- package/dist/src/models/anthropic.js.map +1 -1
- package/dist/src/models/bedrock.d.ts +64 -10
- package/dist/src/models/bedrock.d.ts.map +1 -1
- package/dist/src/models/bedrock.js +202 -23
- package/dist/src/models/bedrock.js.map +1 -1
- package/dist/src/models/gemini/adapters.d.ts.map +1 -1
- package/dist/src/models/gemini/adapters.js +65 -14
- package/dist/src/models/gemini/adapters.js.map +1 -1
- package/dist/src/models/model.d.ts +12 -0
- package/dist/src/models/model.d.ts.map +1 -1
- package/dist/src/models/model.js +5 -9
- package/dist/src/models/model.js.map +1 -1
- package/dist/src/models/openai.d.ts +15 -0
- package/dist/src/models/openai.d.ts.map +1 -1
- package/dist/src/models/openai.js +108 -64
- package/dist/src/models/openai.js.map +1 -1
- package/dist/src/models/streaming.d.ts +5 -0
- package/dist/src/models/streaming.d.ts.map +1 -1
- package/dist/src/multiagent/__tests__/events.test.js +24 -7
- package/dist/src/multiagent/__tests__/events.test.js.map +1 -1
- package/dist/src/multiagent/__tests__/graph.test.js +28 -13
- package/dist/src/multiagent/__tests__/graph.test.js.map +1 -1
- package/dist/src/multiagent/__tests__/nodes.test.js +28 -10
- package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
- package/dist/src/multiagent/__tests__/swarm.test.js +33 -10
- package/dist/src/multiagent/__tests__/swarm.test.js.map +1 -1
- package/dist/src/multiagent/events.d.ts +48 -14
- package/dist/src/multiagent/events.d.ts.map +1 -1
- package/dist/src/multiagent/events.js +11 -3
- package/dist/src/multiagent/events.js.map +1 -1
- package/dist/src/multiagent/graph.d.ts +21 -11
- package/dist/src/multiagent/graph.d.ts.map +1 -1
- package/dist/src/multiagent/graph.js +35 -29
- package/dist/src/multiagent/graph.js.map +1 -1
- package/dist/src/multiagent/index.d.ts +3 -2
- package/dist/src/multiagent/index.d.ts.map +1 -1
- package/dist/src/multiagent/index.js.map +1 -1
- package/dist/src/multiagent/multiagent.d.ts +41 -0
- package/dist/src/multiagent/multiagent.d.ts.map +1 -0
- package/dist/src/multiagent/multiagent.js +2 -0
- package/dist/src/multiagent/multiagent.js.map +1 -0
- package/dist/src/multiagent/nodes.d.ts +18 -21
- package/dist/src/multiagent/nodes.d.ts.map +1 -1
- package/dist/src/multiagent/nodes.js +27 -11
- package/dist/src/multiagent/nodes.js.map +1 -1
- package/dist/src/multiagent/plugins.d.ts +70 -0
- package/dist/src/multiagent/plugins.d.ts.map +1 -0
- package/dist/src/multiagent/plugins.js +70 -0
- package/dist/src/multiagent/plugins.js.map +1 -0
- package/dist/src/multiagent/state.d.ts +2 -2
- package/dist/src/multiagent/state.d.ts.map +1 -1
- package/dist/src/multiagent/state.js +2 -2
- package/dist/src/multiagent/state.js.map +1 -1
- package/dist/src/multiagent/swarm.d.ts +26 -16
- package/dist/src/multiagent/swarm.d.ts.map +1 -1
- package/dist/src/multiagent/swarm.js +31 -13
- package/dist/src/multiagent/swarm.js.map +1 -1
- package/dist/src/plugins/__tests__/plugin.test.d.ts +2 -0
- package/dist/src/plugins/__tests__/plugin.test.d.ts.map +1 -0
- package/dist/src/plugins/__tests__/plugin.test.js +114 -0
- package/dist/src/plugins/__tests__/plugin.test.js.map +1 -0
- package/dist/src/plugins/__tests__/registry.test.d.ts +2 -0
- package/dist/src/plugins/__tests__/registry.test.d.ts.map +1 -0
- package/dist/src/plugins/__tests__/registry.test.js +147 -0
- package/dist/src/plugins/__tests__/registry.test.js.map +1 -0
- package/dist/src/plugins/index.d.ts +30 -0
- package/dist/src/plugins/index.d.ts.map +1 -0
- package/dist/src/plugins/index.js +30 -0
- package/dist/src/plugins/index.js.map +1 -0
- package/dist/src/plugins/plugin.d.ts +74 -0
- package/dist/src/plugins/plugin.d.ts.map +1 -0
- package/dist/src/plugins/plugin.js +8 -0
- package/dist/src/plugins/plugin.js.map +1 -0
- package/dist/src/plugins/registry.d.ts +25 -0
- package/dist/src/plugins/registry.d.ts.map +1 -0
- package/dist/src/plugins/registry.js +41 -0
- package/dist/src/plugins/registry.js.map +1 -0
- package/dist/src/session/__tests__/session-manager.test.js +74 -92
- package/dist/src/session/__tests__/session-manager.test.js.map +1 -1
- package/dist/src/session/index.d.ts +0 -1
- package/dist/src/session/index.d.ts.map +1 -1
- package/dist/src/session/index.js +0 -1
- package/dist/src/session/index.js.map +1 -1
- package/dist/src/session/session-manager.d.ts +9 -5
- package/dist/src/session/session-manager.d.ts.map +1 -1
- package/dist/src/session/session-manager.js +14 -8
- package/dist/src/session/session-manager.js.map +1 -1
- package/dist/src/session/storage.d.ts +1 -1
- package/dist/src/session/storage.d.ts.map +1 -1
- package/dist/src/session/types.d.ts +2 -2
- package/dist/src/session/types.d.ts.map +1 -1
- package/dist/src/{app-state.d.ts → state-store.d.ts} +11 -11
- package/dist/src/state-store.d.ts.map +1 -0
- package/dist/src/{app-state.js → state-store.js} +8 -7
- package/dist/src/state-store.js.map +1 -0
- package/dist/src/telemetry/__tests__/config.test.js +24 -0
- package/dist/src/telemetry/__tests__/config.test.js.map +1 -1
- package/dist/src/telemetry/__tests__/config.test.node.js +56 -0
- package/dist/src/telemetry/__tests__/config.test.node.js.map +1 -1
- package/dist/src/telemetry/__tests__/meter.test.js +176 -9
- package/dist/src/telemetry/__tests__/meter.test.js.map +1 -1
- package/dist/src/telemetry/__tests__/tracer.test.node.js +123 -2
- package/dist/src/telemetry/__tests__/tracer.test.node.js.map +1 -1
- package/dist/src/telemetry/config.d.ts +72 -12
- package/dist/src/telemetry/config.d.ts.map +1 -1
- package/dist/src/telemetry/config.js +101 -24
- package/dist/src/telemetry/config.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +10 -7
- package/dist/src/telemetry/index.d.ts.map +1 -1
- package/dist/src/telemetry/index.js +9 -6
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/meter.d.ts +23 -4
- package/dist/src/telemetry/meter.d.ts.map +1 -1
- package/dist/src/telemetry/meter.js +78 -5
- package/dist/src/telemetry/meter.js.map +1 -1
- package/dist/src/telemetry/tracer.d.ts +27 -0
- package/dist/src/telemetry/tracer.d.ts.map +1 -1
- package/dist/src/telemetry/tracer.js +80 -5
- package/dist/src/telemetry/tracer.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +2 -0
- package/dist/src/telemetry/types.d.ts.map +1 -1
- package/dist/src/telemetry/utils.d.ts +10 -0
- package/dist/src/telemetry/utils.d.ts.map +1 -0
- package/dist/src/telemetry/utils.js +13 -0
- package/dist/src/telemetry/utils.js.map +1 -0
- package/dist/src/tools/__tests__/tool.test.js +22 -1
- package/dist/src/tools/__tests__/tool.test.js.map +1 -1
- package/dist/src/tools/function-tool.d.ts +11 -1
- package/dist/src/tools/function-tool.d.ts.map +1 -1
- package/dist/src/tools/function-tool.js +64 -3
- package/dist/src/tools/function-tool.js.map +1 -1
- package/dist/src/tools/tool.d.ts +2 -2
- package/dist/src/tools/tool.d.ts.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types/__tests__/media.test.js +22 -16
- package/dist/src/types/__tests__/media.test.js.map +1 -1
- package/dist/src/types/agent.d.ts +75 -7
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/agent.js.map +1 -1
- package/dist/src/types/media.d.ts +27 -30
- package/dist/src/types/media.d.ts.map +1 -1
- package/dist/src/types/media.js +15 -56
- package/dist/src/types/media.js.map +1 -1
- package/dist/src/types/messages.d.ts +18 -4
- package/dist/src/types/messages.d.ts.map +1 -1
- package/dist/src/types/messages.js +22 -26
- package/dist/src/types/messages.js.map +1 -1
- package/dist/src/types/serializable.d.ts +34 -4
- package/dist/src/types/serializable.d.ts.map +1 -1
- package/dist/src/types/serializable.js +31 -2
- package/dist/src/types/serializable.js.map +1 -1
- package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +5 -4
- package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -1
- package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.d.ts.map +1 -0
- package/dist/src/vended-tools/{file_editor → file-editor}/__tests__/file-editor.test.node.js +11 -4
- package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js.map +1 -0
- package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.d.ts +1 -1
- package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.d.ts.map +1 -1
- package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.js +2 -2
- package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.js.map +1 -1
- package/dist/src/vended-tools/{file_editor → file-editor}/index.d.ts.map +1 -1
- package/dist/src/vended-tools/file-editor/index.js.map +1 -0
- package/dist/src/vended-tools/{file_editor → file-editor}/types.d.ts.map +1 -1
- package/dist/src/vended-tools/file-editor/types.js.map +1 -0
- package/dist/src/vended-tools/http-request/__tests__/http-request.test.d.ts.map +1 -0
- package/dist/src/vended-tools/{http_request → http-request}/__tests__/http-request.test.js.map +1 -1
- package/dist/src/vended-tools/{http_request → http-request}/http-request.d.ts.map +1 -1
- package/dist/src/vended-tools/{http_request → http-request}/http-request.js.map +1 -1
- package/dist/src/vended-tools/{http_request → http-request}/index.d.ts.map +1 -1
- package/dist/src/vended-tools/http-request/index.js.map +1 -0
- package/dist/src/vended-tools/{http_request → http-request}/types.d.ts.map +1 -1
- package/dist/src/vended-tools/http-request/types.js.map +1 -0
- package/dist/src/vended-tools/notebook/__tests__/notebook.test.js +5 -4
- package/dist/src/vended-tools/notebook/__tests__/notebook.test.js.map +1 -1
- package/dist/src/vended-tools/notebook/notebook.js +2 -2
- package/dist/src/vended-tools/notebook/notebook.js.map +1 -1
- package/package.json +52 -10
- package/dist/src/__fixtures__/mock-hook-provider.d.ts +0 -10
- package/dist/src/__fixtures__/mock-hook-provider.d.ts.map +0 -1
- package/dist/src/__fixtures__/mock-hook-provider.js.map +0 -1
- package/dist/src/__tests__/app-state.test.d.ts +0 -2
- package/dist/src/__tests__/app-state.test.d.ts.map +0 -1
- package/dist/src/__tests__/app-state.test.js.map +0 -1
- package/dist/src/app-state.d.ts.map +0 -1
- package/dist/src/app-state.js.map +0 -1
- package/dist/src/multiagent/base.d.ts +0 -25
- package/dist/src/multiagent/base.d.ts.map +0 -1
- package/dist/src/multiagent/base.js +0 -2
- package/dist/src/multiagent/base.js.map +0 -1
- package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.d.ts.map +0 -1
- package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.js.map +0 -1
- package/dist/src/vended-tools/file_editor/index.js.map +0 -1
- package/dist/src/vended-tools/file_editor/types.js.map +0 -1
- package/dist/src/vended-tools/http_request/__tests__/http-request.test.d.ts.map +0 -1
- package/dist/src/vended-tools/http_request/index.js.map +0 -1
- package/dist/src/vended-tools/http_request/types.js.map +0 -1
- /package/dist/src/vended-tools/{file_editor → file-editor}/__tests__/file-editor.test.node.d.ts +0 -0
- /package/dist/src/vended-tools/{file_editor → file-editor}/index.d.ts +0 -0
- /package/dist/src/vended-tools/{file_editor → file-editor}/index.js +0 -0
- /package/dist/src/vended-tools/{file_editor → file-editor}/types.d.ts +0 -0
- /package/dist/src/vended-tools/{file_editor → file-editor}/types.js +0 -0
- /package/dist/src/vended-tools/{http_request → http-request}/__tests__/http-request.test.d.ts +0 -0
- /package/dist/src/vended-tools/{http_request → http-request}/__tests__/http-request.test.js +0 -0
- /package/dist/src/vended-tools/{http_request → http-request}/http-request.d.ts +0 -0
- /package/dist/src/vended-tools/{http_request → http-request}/http-request.js +0 -0
- /package/dist/src/vended-tools/{http_request → http-request}/index.d.ts +0 -0
- /package/dist/src/vended-tools/{http_request → http-request}/index.js +0 -0
- /package/dist/src/vended-tools/{http_request → http-request}/types.d.ts +0 -0
- /package/dist/src/vended-tools/{http_request → http-request}/types.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiagent.d.ts","sourceRoot":"","sources":["../../../src/multiagent/multiagent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC5F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,CAAC,CAAA;AAE5E;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IAEnB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAEzD;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,cAAc,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAA;IAElG;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,wBAAwB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW,CAAA;CACjH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiagent.js","sourceRoot":"","sources":["../../../src/multiagent/multiagent.ts"],"names":[],"mappings":""}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { InvokableAgent } from '../types/agent.js';
|
|
2
|
+
import type { MultiAgentInput } from './multiagent.js';
|
|
2
3
|
import type { MultiAgentStreamEvent } from './events.js';
|
|
3
4
|
import { NodeResult } from './state.js';
|
|
4
5
|
import type { MultiAgentState, NodeResultUpdate } from './state.js';
|
|
5
|
-
import type {
|
|
6
|
+
import type { MultiAgent } from './multiagent.js';
|
|
6
7
|
/**
|
|
7
8
|
* Known node type identifiers with extensibility for custom nodes.
|
|
8
9
|
*/
|
|
@@ -38,38 +39,38 @@ export declare abstract class Node {
|
|
|
38
39
|
* Execute the node. Handles duration measurement, error capture,
|
|
39
40
|
* and delegates to handle() for node-specific logic.
|
|
40
41
|
*
|
|
41
|
-
* @param args - Input to pass to the node (string
|
|
42
|
+
* @param args - Input to pass to the node (string or content blocks)
|
|
42
43
|
* @param state - The current multi-agent state
|
|
43
44
|
* @returns Async generator yielding streaming events and returning a NodeResult
|
|
44
45
|
*/
|
|
45
|
-
stream(args:
|
|
46
|
+
stream(args: MultiAgentInput, state: MultiAgentState): AsyncGenerator<MultiAgentStreamEvent, NodeResult, undefined>;
|
|
46
47
|
/**
|
|
47
48
|
* Node-specific execution logic implemented by subclasses.
|
|
48
49
|
*
|
|
49
|
-
* @param args - Input to process (string
|
|
50
|
+
* @param args - Input to process (string or content blocks)
|
|
50
51
|
* @param state - The current multi-agent state
|
|
51
52
|
* @returns Async generator yielding streaming events and returning a partial result
|
|
52
53
|
*/
|
|
53
|
-
abstract handle(args:
|
|
54
|
+
abstract handle(args: MultiAgentInput, state: MultiAgentState): AsyncGenerator<MultiAgentStreamEvent, NodeResultUpdate, undefined>;
|
|
54
55
|
}
|
|
55
56
|
/**
|
|
56
57
|
* Options for creating an {@link AgentNode}.
|
|
57
58
|
*/
|
|
58
59
|
export interface AgentNodeOptions {
|
|
59
60
|
/** The agent to wrap as a node. */
|
|
60
|
-
agent:
|
|
61
|
+
agent: InvokableAgent;
|
|
61
62
|
}
|
|
62
63
|
/**
|
|
63
|
-
* Node that wraps an
|
|
64
|
+
* Node that wraps an {@link InvokableAgent} instance for multi-agent orchestration.
|
|
64
65
|
*
|
|
65
|
-
* Each execution is isolated
|
|
66
|
-
* is unchanged after the node completes.
|
|
66
|
+
* Each execution is isolated. When the wrapped agent is an {@link Agent} instance,
|
|
67
|
+
* its internal state is snapshot/restored so it remains unchanged after the node completes.
|
|
67
68
|
*/
|
|
68
69
|
export declare class AgentNode extends Node {
|
|
69
70
|
readonly type: "agentNode";
|
|
70
71
|
private readonly _agent;
|
|
71
72
|
constructor(options: AgentNodeOptions);
|
|
72
|
-
get agent():
|
|
73
|
+
get agent(): InvokableAgent;
|
|
73
74
|
/**
|
|
74
75
|
* Executes the wrapped agent, yielding each agent streaming event
|
|
75
76
|
* wrapped in a {@link NodeStreamUpdateEvent}.
|
|
@@ -78,14 +79,14 @@ export declare class AgentNode extends Node {
|
|
|
78
79
|
* @param state - The current multi-agent state
|
|
79
80
|
* @returns Async generator yielding streaming events and returning the agent's content blocks
|
|
80
81
|
*/
|
|
81
|
-
handle(args:
|
|
82
|
+
handle(args: MultiAgentInput, state: MultiAgentState): AsyncGenerator<MultiAgentStreamEvent, NodeResultUpdate, undefined>;
|
|
82
83
|
}
|
|
83
84
|
/**
|
|
84
85
|
* Options for creating a {@link MultiAgentNode}.
|
|
85
86
|
*/
|
|
86
87
|
export interface MultiAgentNodeOptions extends NodeConfig {
|
|
87
88
|
/** The orchestrator to wrap as a node. */
|
|
88
|
-
orchestrator:
|
|
89
|
+
orchestrator: MultiAgent;
|
|
89
90
|
}
|
|
90
91
|
/**
|
|
91
92
|
* Node that wraps a multi-agent orchestrator (e.g. Graph) for nested composition.
|
|
@@ -98,7 +99,7 @@ export declare class MultiAgentNode extends Node {
|
|
|
98
99
|
readonly type: "multiAgentNode";
|
|
99
100
|
private readonly _orchestrator;
|
|
100
101
|
constructor(options: MultiAgentNodeOptions);
|
|
101
|
-
get orchestrator():
|
|
102
|
+
get orchestrator(): MultiAgent;
|
|
102
103
|
/**
|
|
103
104
|
* Executes the wrapped orchestrator. Inner {@link NodeStreamUpdateEvent}s
|
|
104
105
|
* pass through as-is; all other events are wrapped in a new
|
|
@@ -108,18 +109,14 @@ export declare class MultiAgentNode extends Node {
|
|
|
108
109
|
* @param _state - The current multi-agent state (unused)
|
|
109
110
|
* @returns Async generator yielding streaming events and returning the orchestrator's content
|
|
110
111
|
*/
|
|
111
|
-
handle(args:
|
|
112
|
+
handle(args: MultiAgentInput, state: MultiAgentState): AsyncGenerator<MultiAgentStreamEvent, NodeResultUpdate, undefined>;
|
|
112
113
|
}
|
|
113
114
|
/**
|
|
114
115
|
* A node definition accepted by orchestration constructors.
|
|
115
116
|
*
|
|
116
|
-
* Pass an {@link
|
|
117
|
+
* Pass an {@link InvokableAgent} or {@link MultiAgent} directly for the simple case,
|
|
117
118
|
* use typed options objects for per-node configuration, or provide pre-built
|
|
118
119
|
* {@link Node} instances for full control.
|
|
119
120
|
*/
|
|
120
|
-
export type NodeDefinition =
|
|
121
|
-
type: 'agent';
|
|
122
|
-
}) | (MultiAgentNodeOptions & {
|
|
123
|
-
type: 'multiAgent';
|
|
124
|
-
});
|
|
121
|
+
export type NodeDefinition = InvokableAgent | MultiAgent | Node | AgentNodeOptions | MultiAgentNodeOptions;
|
|
125
122
|
//# sourceMappingURL=nodes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../src/multiagent/nodes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../src/multiagent/nodes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,cAAc,EAAoB,MAAM,mBAAmB,CAAA;AACxF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAExD,OAAO,EAAE,UAAU,EAAU,MAAM,YAAY,CAAA;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAGjD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAErE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;GAMG;AACH,8BAAsB,IAAI;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAE3B;;;OAGG;gBACS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;IAK1C;;;;;;;OAOG;IACI,MAAM,CACX,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,eAAe,GACrB,cAAc,CAAC,qBAAqB,EAAE,UAAU,EAAE,SAAS,CAAC;IAgC/D;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CACb,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,eAAe,GACrB,cAAc,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,SAAS,CAAC;CACtE;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,KAAK,EAAE,cAAc,CAAA;CACtB;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,IAAI;IACjC,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAE3B,OAAO,EAAE,gBAAgB;IAWrC,IAAI,KAAK,IAAI,cAAc,CAE1B;IAED;;;;;;;OAOG;IACI,MAAM,CACX,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,eAAe,GACrB,cAAc,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,SAAS,CAAC;CAkCtE;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD,0CAA0C;IAC1C,YAAY,EAAE,UAAU,CAAA;CACzB;AAED;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,IAAI;IACtC,QAAQ,CAAC,IAAI,EAAG,gBAAgB,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAY;gBAE9B,OAAO,EAAE,qBAAqB;IAM1C,IAAI,YAAY,IAAI,UAAU,CAE7B;IAED;;;;;;;;OAQG;IACI,MAAM,CACX,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,eAAe,GACrB,cAAc,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,SAAS,CAAC;CAmBtE;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,UAAU,GAAG,IAAI,GAAG,gBAAgB,GAAG,qBAAqB,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Agent } from '../agent/agent.js';
|
|
1
2
|
import { takeSnapshot, loadSnapshot } from '../agent/snapshot.js';
|
|
2
3
|
import { NodeStreamUpdateEvent, NodeResultEvent } from './events.js';
|
|
3
4
|
import { NodeResult, Status } from './state.js';
|
|
@@ -27,7 +28,7 @@ export class Node {
|
|
|
27
28
|
* Execute the node. Handles duration measurement, error capture,
|
|
28
29
|
* and delegates to handle() for node-specific logic.
|
|
29
30
|
*
|
|
30
|
-
* @param args - Input to pass to the node (string
|
|
31
|
+
* @param args - Input to pass to the node (string or content blocks)
|
|
31
32
|
* @param state - The current multi-agent state
|
|
32
33
|
* @returns Async generator yielding streaming events and returning a NodeResult
|
|
33
34
|
*/
|
|
@@ -59,22 +60,22 @@ export class Node {
|
|
|
59
60
|
nodeState.status = result.status;
|
|
60
61
|
nodeState.results.push(result);
|
|
61
62
|
}
|
|
62
|
-
yield new NodeResultEvent({ nodeId: this.id, nodeType: this.type, result });
|
|
63
|
+
yield new NodeResultEvent({ nodeId: this.id, nodeType: this.type, state, result });
|
|
63
64
|
return result;
|
|
64
65
|
}
|
|
65
66
|
}
|
|
66
67
|
/**
|
|
67
|
-
* Node that wraps an
|
|
68
|
+
* Node that wraps an {@link InvokableAgent} instance for multi-agent orchestration.
|
|
68
69
|
*
|
|
69
|
-
* Each execution is isolated
|
|
70
|
-
* is unchanged after the node completes.
|
|
70
|
+
* Each execution is isolated. When the wrapped agent is an {@link Agent} instance,
|
|
71
|
+
* its internal state is snapshot/restored so it remains unchanged after the node completes.
|
|
71
72
|
*/
|
|
72
73
|
export class AgentNode extends Node {
|
|
73
74
|
type = 'agentNode';
|
|
74
75
|
_agent;
|
|
75
76
|
constructor(options) {
|
|
76
77
|
const { agent, ...config } = options;
|
|
77
|
-
super(agent.
|
|
78
|
+
super(agent.id, {
|
|
78
79
|
...config,
|
|
79
80
|
...(agent.description !== undefined && { description: agent.description }),
|
|
80
81
|
});
|
|
@@ -92,7 +93,8 @@ export class AgentNode extends Node {
|
|
|
92
93
|
* @returns Async generator yielding streaming events and returning the agent's content blocks
|
|
93
94
|
*/
|
|
94
95
|
async *handle(args, state) {
|
|
95
|
-
|
|
96
|
+
// Only Agent instances support snapshot/restore for state isolation
|
|
97
|
+
const snapshot = this._agent instanceof Agent ? takeSnapshot(this._agent, { include: ['messages', 'state'] }) : undefined;
|
|
96
98
|
try {
|
|
97
99
|
const options = {
|
|
98
100
|
...(state.structuredOutputSchema && { structuredOutputSchema: state.structuredOutputSchema }),
|
|
@@ -100,7 +102,14 @@ export class AgentNode extends Node {
|
|
|
100
102
|
const gen = this._agent.stream(args, options);
|
|
101
103
|
let next = await gen.next();
|
|
102
104
|
while (!next.done) {
|
|
103
|
-
yield new NodeStreamUpdateEvent({
|
|
105
|
+
yield new NodeStreamUpdateEvent({
|
|
106
|
+
nodeId: this.id,
|
|
107
|
+
nodeType: this.type,
|
|
108
|
+
state,
|
|
109
|
+
inner: this._agent instanceof Agent
|
|
110
|
+
? { source: 'agent', event: next.value }
|
|
111
|
+
: { source: 'custom', event: next.value },
|
|
112
|
+
});
|
|
104
113
|
next = await gen.next();
|
|
105
114
|
}
|
|
106
115
|
return {
|
|
@@ -109,7 +118,9 @@ export class AgentNode extends Node {
|
|
|
109
118
|
};
|
|
110
119
|
}
|
|
111
120
|
finally {
|
|
112
|
-
|
|
121
|
+
if (snapshot) {
|
|
122
|
+
loadSnapshot(this._agent, snapshot);
|
|
123
|
+
}
|
|
113
124
|
}
|
|
114
125
|
}
|
|
115
126
|
}
|
|
@@ -140,7 +151,7 @@ export class MultiAgentNode extends Node {
|
|
|
140
151
|
* @param _state - The current multi-agent state (unused)
|
|
141
152
|
* @returns Async generator yielding streaming events and returning the orchestrator's content
|
|
142
153
|
*/
|
|
143
|
-
async *handle(args,
|
|
154
|
+
async *handle(args, state) {
|
|
144
155
|
const gen = this._orchestrator.stream(args);
|
|
145
156
|
let next = await gen.next();
|
|
146
157
|
while (!next.done) {
|
|
@@ -149,7 +160,12 @@ export class MultiAgentNode extends Node {
|
|
|
149
160
|
yield event;
|
|
150
161
|
}
|
|
151
162
|
else {
|
|
152
|
-
yield new NodeStreamUpdateEvent({
|
|
163
|
+
yield new NodeStreamUpdateEvent({
|
|
164
|
+
nodeId: this.id,
|
|
165
|
+
nodeType: this.type,
|
|
166
|
+
state,
|
|
167
|
+
inner: { source: 'multiAgent', event },
|
|
168
|
+
});
|
|
153
169
|
}
|
|
154
170
|
next = await gen.next();
|
|
155
171
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../../src/multiagent/nodes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../../src/multiagent/nodes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin interface and registry for extending multi-agent orchestrator functionality.
|
|
3
|
+
*
|
|
4
|
+
* This module defines the MultiAgentPlugin abstract class and MultiAgentPluginRegistry,
|
|
5
|
+
* which provide a composable way to add behavior to multi-agent orchestrators (e.g. Swarm, Graph)
|
|
6
|
+
* through hook registration and custom initialization.
|
|
7
|
+
*/
|
|
8
|
+
import type { MultiAgent } from './multiagent.js';
|
|
9
|
+
/**
|
|
10
|
+
* Abstract base class for plugins that extend multi-agent orchestrator functionality.
|
|
11
|
+
*
|
|
12
|
+
* MultiAgentPlugins provide a composable way to add behavior to orchestrators
|
|
13
|
+
* by registering hook callbacks in their `initMultiAgent` method.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* class LoggingPlugin extends MultiAgentPlugin {
|
|
18
|
+
* get name(): string {
|
|
19
|
+
* return 'logging-plugin'
|
|
20
|
+
* }
|
|
21
|
+
*
|
|
22
|
+
* override initMultiAgent(orchestrator: MultiAgent): void {
|
|
23
|
+
* orchestrator.addHook(BeforeNodeCallEvent, (event) => {
|
|
24
|
+
* console.log(`Node ${event.nodeId} starting`)
|
|
25
|
+
* })
|
|
26
|
+
* }
|
|
27
|
+
* }
|
|
28
|
+
*
|
|
29
|
+
* const swarm = new Swarm({
|
|
30
|
+
* nodes: [agentA, agentB],
|
|
31
|
+
* start: 'agentA',
|
|
32
|
+
* plugins: [new LoggingPlugin()],
|
|
33
|
+
* })
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare abstract class MultiAgentPlugin {
|
|
37
|
+
/**
|
|
38
|
+
* A stable string identifier for the plugin.
|
|
39
|
+
* Used for logging, duplicate detection, and plugin management.
|
|
40
|
+
*/
|
|
41
|
+
abstract readonly name: string;
|
|
42
|
+
/**
|
|
43
|
+
* Initialize the plugin with the orchestrator instance.
|
|
44
|
+
*
|
|
45
|
+
* Override this method to register hooks and perform custom initialization.
|
|
46
|
+
*
|
|
47
|
+
* @param orchestrator - The orchestrator this plugin is being attached to
|
|
48
|
+
*/
|
|
49
|
+
abstract initMultiAgent(orchestrator: MultiAgent): void | Promise<void>;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Registry for managing plugins attached to a multi-agent orchestrator.
|
|
53
|
+
*
|
|
54
|
+
* Holds pending plugins and initializes them on first use.
|
|
55
|
+
* Handles duplicate detection and calls each plugin's initMultiAgent method.
|
|
56
|
+
*/
|
|
57
|
+
export declare class MultiAgentPluginRegistry {
|
|
58
|
+
private readonly _plugins;
|
|
59
|
+
private readonly _pending;
|
|
60
|
+
constructor(plugins?: MultiAgentPlugin[]);
|
|
61
|
+
/**
|
|
62
|
+
* Initialize all pending plugins with the orchestrator.
|
|
63
|
+
* Safe to call multiple times — only runs once.
|
|
64
|
+
*
|
|
65
|
+
* @param orchestrator - The orchestrator instance to initialize plugins with
|
|
66
|
+
*/
|
|
67
|
+
initialize(orchestrator: MultiAgent): Promise<void>;
|
|
68
|
+
private _addAndInit;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=plugins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../src/multiagent/plugins.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,8BAAsB,gBAAgB;IACpC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAE9B;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CACxE;AAED;;;;;GAKG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAEjC,OAAO,GAAE,gBAAgB,EAAO;IAK5C;;;;;OAKG;IACG,UAAU,CAAC,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;YAO3C,WAAW;CAO1B"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin interface and registry for extending multi-agent orchestrator functionality.
|
|
3
|
+
*
|
|
4
|
+
* This module defines the MultiAgentPlugin abstract class and MultiAgentPluginRegistry,
|
|
5
|
+
* which provide a composable way to add behavior to multi-agent orchestrators (e.g. Swarm, Graph)
|
|
6
|
+
* through hook registration and custom initialization.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Abstract base class for plugins that extend multi-agent orchestrator functionality.
|
|
10
|
+
*
|
|
11
|
+
* MultiAgentPlugins provide a composable way to add behavior to orchestrators
|
|
12
|
+
* by registering hook callbacks in their `initMultiAgent` method.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* class LoggingPlugin extends MultiAgentPlugin {
|
|
17
|
+
* get name(): string {
|
|
18
|
+
* return 'logging-plugin'
|
|
19
|
+
* }
|
|
20
|
+
*
|
|
21
|
+
* override initMultiAgent(orchestrator: MultiAgent): void {
|
|
22
|
+
* orchestrator.addHook(BeforeNodeCallEvent, (event) => {
|
|
23
|
+
* console.log(`Node ${event.nodeId} starting`)
|
|
24
|
+
* })
|
|
25
|
+
* }
|
|
26
|
+
* }
|
|
27
|
+
*
|
|
28
|
+
* const swarm = new Swarm({
|
|
29
|
+
* nodes: [agentA, agentB],
|
|
30
|
+
* start: 'agentA',
|
|
31
|
+
* plugins: [new LoggingPlugin()],
|
|
32
|
+
* })
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export class MultiAgentPlugin {
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Registry for managing plugins attached to a multi-agent orchestrator.
|
|
39
|
+
*
|
|
40
|
+
* Holds pending plugins and initializes them on first use.
|
|
41
|
+
* Handles duplicate detection and calls each plugin's initMultiAgent method.
|
|
42
|
+
*/
|
|
43
|
+
export class MultiAgentPluginRegistry {
|
|
44
|
+
_plugins;
|
|
45
|
+
_pending;
|
|
46
|
+
constructor(plugins = []) {
|
|
47
|
+
this._plugins = new Map();
|
|
48
|
+
this._pending = [...plugins];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Initialize all pending plugins with the orchestrator.
|
|
52
|
+
* Safe to call multiple times — only runs once.
|
|
53
|
+
*
|
|
54
|
+
* @param orchestrator - The orchestrator instance to initialize plugins with
|
|
55
|
+
*/
|
|
56
|
+
async initialize(orchestrator) {
|
|
57
|
+
while (this._pending.length > 0) {
|
|
58
|
+
const plugin = this._pending.shift();
|
|
59
|
+
await this._addAndInit(plugin, orchestrator);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async _addAndInit(plugin, orchestrator) {
|
|
63
|
+
if (this._plugins.has(plugin.name)) {
|
|
64
|
+
throw new Error(`plugin_name=<${plugin.name}> | plugin already registered`);
|
|
65
|
+
}
|
|
66
|
+
this._plugins.set(plugin.name, plugin);
|
|
67
|
+
await plugin.initMultiAgent(orchestrator);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=plugins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/multiagent/plugins.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAgB,gBAAgB;CAerC;AAED;;;;;GAKG;AACH,MAAM,OAAO,wBAAwB;IAClB,QAAQ,CAA+B;IACvC,QAAQ,CAAoB;IAE7C,YAAY,UAA8B,EAAE;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,CAAA;IAC9B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,YAAwB;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAG,CAAA;YACrC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,MAAwB,EAAE,YAAwB;QAC1E,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,CAAC,IAAI,+BAA+B,CAAC,CAAA;QAC7E,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACtC,MAAM,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;IAC3C,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StateStore } from '../state-store.js';
|
|
2
2
|
import type { ContentBlock } from '../types/messages.js';
|
|
3
3
|
import type { z } from 'zod';
|
|
4
4
|
/**
|
|
@@ -101,7 +101,7 @@ export declare class MultiAgentState {
|
|
|
101
101
|
/** All node results in completion order. */
|
|
102
102
|
readonly results: NodeResult[];
|
|
103
103
|
/** App-level key-value state accessible from hooks, edge handlers, and custom nodes. */
|
|
104
|
-
readonly app:
|
|
104
|
+
readonly app: StateStore;
|
|
105
105
|
/** Structured output schema to apply to node invocations. */
|
|
106
106
|
readonly structuredOutputSchema?: z.ZodSchema;
|
|
107
107
|
private readonly _nodes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/multiagent/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/multiagent/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB,qCAAqC;;IAErC,0CAA0C;;IAE1C,uCAAuC;;IAEvC,sCAAsC;;IAEtC,2DAA2D;;CAEnD,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAA;AAEzD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,MAAM,CAAC,SAAS,GAAG,OAAO,MAAM,CAAC,MAAM,GAAG,OAAO,MAAM,CAAC,SAAS,CAAA;AAEnG;;GAEG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAS;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;gBAEnC,IAAI,EAAE;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE,YAAY,CAAA;QACpB,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;QACxB,KAAK,CAAC,EAAE,KAAK,CAAA;QACb,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;KACvC;CAQF;AAED;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA;AAEhE;;GAEG;AACH,qBAAa,SAAS;IACpB,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAS;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,qEAAqE;IACrE,QAAQ,EAAE,OAAO,CAAA;IACjB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,CAAA;;IAS9B,mEAAmE;IACnE,IAAI,OAAO,IAAI,SAAS,YAAY,EAAE,CAGrC;CACF;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,IAAI,EAAG,kBAAkB,CAAS;IAC3C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,CAAA;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAA;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;gBAEV,IAAI,EAAE;QAChB,MAAM,CAAC,EAAE,YAAY,CAAA;QACrB,OAAO,EAAE,UAAU,EAAE,CAAA;QACrB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;QACxB,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,CAAC,EAAE,KAAK,CAAA;KACd;IAQD,iEAAiE;IACjE,OAAO,CAAC,cAAc;CAKvB;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,wDAAwD;IACxD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,CAAA;IAC9B,wFAAwF;IACxF,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;IACxB,6DAA6D;IAC7D,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,SAAS,CAAA;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;gBAEnC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,SAAS,CAAA;KAAE;IAY/E;;;;;OAKG;IACH,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIvC;;OAEG;IACH,IAAI,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAE1C;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StateStore } from '../state-store.js';
|
|
2
2
|
/**
|
|
3
3
|
* Execution lifecycle status shared across all multi-agent patterns.
|
|
4
4
|
*/
|
|
@@ -108,7 +108,7 @@ export class MultiAgentState {
|
|
|
108
108
|
this.startTime = Date.now();
|
|
109
109
|
this.steps = 0;
|
|
110
110
|
this.results = [];
|
|
111
|
-
this.app = new
|
|
111
|
+
this.app = new StateStore();
|
|
112
112
|
if (data?.structuredOutputSchema)
|
|
113
113
|
this.structuredOutputSchema = data.structuredOutputSchema;
|
|
114
114
|
this._nodes = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/multiagent/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/multiagent/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
3
|
-
import {
|
|
4
|
-
import type {
|
|
1
|
+
import type { InvokableAgent } from '../types/agent.js';
|
|
2
|
+
import type { MultiAgentInput } from './multiagent.js';
|
|
3
|
+
import { HookableEvent } from '../hooks/events.js';
|
|
4
|
+
import type { HookCallback, HookableEventConstructor, HookCleanup } from '../hooks/types.js';
|
|
5
|
+
import type { MultiAgentPlugin } from './plugins.js';
|
|
5
6
|
import type { AgentNodeOptions } from './nodes.js';
|
|
6
7
|
import { AgentNode } from './nodes.js';
|
|
7
8
|
import { MultiAgentResult } from './state.js';
|
|
8
|
-
import type {
|
|
9
|
+
import type { MultiAgent } from './multiagent.js';
|
|
9
10
|
import type { MultiAgentStreamEvent } from './events.js';
|
|
10
11
|
/**
|
|
11
12
|
* Runtime configuration for swarm execution.
|
|
@@ -18,19 +19,19 @@ export interface SwarmConfig {
|
|
|
18
19
|
* Options for creating a Swarm instance.
|
|
19
20
|
*/
|
|
20
21
|
/**
|
|
21
|
-
* Input type for swarm nodes. Pass an {@link
|
|
22
|
+
* Input type for swarm nodes. Pass an {@link InvokableAgent} directly for the simple case,
|
|
22
23
|
* or {@link AgentNodeOptions} for per-node config.
|
|
23
24
|
*/
|
|
24
|
-
export type SwarmNodeDefinition =
|
|
25
|
+
export type SwarmNodeDefinition = InvokableAgent | AgentNodeOptions;
|
|
25
26
|
export interface SwarmOptions extends SwarmConfig {
|
|
26
27
|
/** Unique identifier. Defaults to `'swarm'`. */
|
|
27
28
|
id?: string;
|
|
28
29
|
/** Swarm agents. Pass agents directly or use {@link AgentNodeOptions} for per-node config. */
|
|
29
30
|
nodes: SwarmNodeDefinition[];
|
|
30
|
-
/** Agent id that receives the initial input. */
|
|
31
|
-
start
|
|
32
|
-
/**
|
|
33
|
-
|
|
31
|
+
/** Agent id that receives the initial input. Defaults to the first agent in `nodes`. */
|
|
32
|
+
start?: string;
|
|
33
|
+
/** Plugins for event-driven extensibility. */
|
|
34
|
+
plugins?: MultiAgentPlugin[];
|
|
34
35
|
}
|
|
35
36
|
/**
|
|
36
37
|
* Swarm multi-agent orchestration pattern.
|
|
@@ -60,12 +61,13 @@ export interface SwarmOptions extends SwarmConfig {
|
|
|
60
61
|
* const result = await swarm.invoke('Explain quantum computing')
|
|
61
62
|
* ```
|
|
62
63
|
*/
|
|
63
|
-
export declare class Swarm implements
|
|
64
|
+
export declare class Swarm implements MultiAgent {
|
|
64
65
|
readonly id: string;
|
|
65
66
|
readonly nodes: ReadonlyMap<string, AgentNode>;
|
|
66
67
|
readonly config: Required<SwarmConfig>;
|
|
67
|
-
readonly
|
|
68
|
-
private readonly
|
|
68
|
+
private readonly _pluginRegistry;
|
|
69
|
+
private readonly _hookRegistry;
|
|
70
|
+
readonly start: AgentNode;
|
|
69
71
|
private readonly _handoffSchema;
|
|
70
72
|
private _initialized;
|
|
71
73
|
constructor(options: SwarmOptions);
|
|
@@ -74,13 +76,21 @@ export declare class Swarm implements MultiAgentBase {
|
|
|
74
76
|
* Called automatically on first invocation.
|
|
75
77
|
*/
|
|
76
78
|
initialize(): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Register a hook callback for a specific swarm event type.
|
|
81
|
+
*
|
|
82
|
+
* @param eventType - The event class constructor to register the callback for
|
|
83
|
+
* @param callback - The callback function to invoke when the event occurs
|
|
84
|
+
* @returns Cleanup function that removes the callback when invoked
|
|
85
|
+
*/
|
|
86
|
+
addHook<T extends HookableEvent>(eventType: HookableEventConstructor<T>, callback: HookCallback<T>): HookCleanup;
|
|
77
87
|
/**
|
|
78
88
|
* Invoke swarm and return final result (consumes stream).
|
|
79
89
|
*
|
|
80
90
|
* @param input - The input to pass to the start agent
|
|
81
91
|
* @returns Promise resolving to the final MultiAgentResult
|
|
82
92
|
*/
|
|
83
|
-
invoke(input:
|
|
93
|
+
invoke(input: MultiAgentInput): Promise<MultiAgentResult>;
|
|
84
94
|
/**
|
|
85
95
|
* Stream swarm execution, yielding events as agents execute.
|
|
86
96
|
* Invokes hook callbacks for each event before yielding.
|
|
@@ -88,7 +98,7 @@ export declare class Swarm implements MultiAgentBase {
|
|
|
88
98
|
* @param input - The input to pass to the start agent
|
|
89
99
|
* @returns Async generator yielding streaming events and returning a MultiAgentResult
|
|
90
100
|
*/
|
|
91
|
-
stream(input:
|
|
101
|
+
stream(input: MultiAgentInput): AsyncGenerator<MultiAgentStreamEvent, MultiAgentResult, undefined>;
|
|
92
102
|
private _stream;
|
|
93
103
|
private _streamNode;
|
|
94
104
|
private _validateConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../../src/multiagent/swarm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../../src/multiagent/swarm.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAIpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAmB,gBAAgB,EAAsB,MAAM,YAAY,CAAA;AAClF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAYxD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAiBD;;GAEG;AACH;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,gBAAgB,CAAA;AAEnE,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,gDAAgD;IAChD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,8FAA8F;IAC9F,KAAK,EAAE,mBAAmB,EAAE,CAAA;IAC5B,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8CAA8C;IAC9C,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,KAAM,YAAW,UAAU;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC9C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAC1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IACzD,OAAO,CAAC,YAAY,CAAS;gBAEjB,OAAO,EAAE,YAAY;IAoBjC;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,wBAAwB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW;IAIhH;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAS/D;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,cAAc,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,SAAS,CAAC;YAe1F,OAAO;YA8CP,WAAW;IA4C1B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,mBAAmB;CAsB5B"}
|