@namzu/sdk 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/LICENSE.md +110 -0
- package/README.md +607 -0
- package/dist/agents/AbstractAgent.d.ts +21 -0
- package/dist/agents/AbstractAgent.d.ts.map +1 -0
- package/dist/agents/AbstractAgent.js +56 -0
- package/dist/agents/AbstractAgent.js.map +1 -0
- package/dist/agents/PipelineAgent.d.ts +9 -0
- package/dist/agents/PipelineAgent.d.ts.map +1 -0
- package/dist/agents/PipelineAgent.js +127 -0
- package/dist/agents/PipelineAgent.js.map +1 -0
- package/dist/agents/ReactiveAgent.d.ts +10 -0
- package/dist/agents/ReactiveAgent.d.ts.map +1 -0
- package/dist/agents/ReactiveAgent.js +76 -0
- package/dist/agents/ReactiveAgent.js.map +1 -0
- package/dist/agents/RouterAgent.d.ts +10 -0
- package/dist/agents/RouterAgent.d.ts.map +1 -0
- package/dist/agents/RouterAgent.js +177 -0
- package/dist/agents/RouterAgent.js.map +1 -0
- package/dist/agents/SupervisorAgent.d.ts +9 -0
- package/dist/agents/SupervisorAgent.d.ts.map +1 -0
- package/dist/agents/SupervisorAgent.js +127 -0
- package/dist/agents/SupervisorAgent.js.map +1 -0
- package/dist/agents/defineAgent.d.ts +15 -0
- package/dist/agents/defineAgent.d.ts.map +1 -0
- package/dist/agents/defineAgent.js +35 -0
- package/dist/agents/defineAgent.js.map +1 -0
- package/dist/agents/index.d.ts +8 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +7 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/bridge/a2a/agent-card.d.ts +5 -0
- package/dist/bridge/a2a/agent-card.d.ts.map +1 -0
- package/dist/bridge/a2a/agent-card.js +60 -0
- package/dist/bridge/a2a/agent-card.js.map +1 -0
- package/dist/bridge/a2a/index.d.ts +5 -0
- package/dist/bridge/a2a/index.d.ts.map +1 -0
- package/dist/bridge/a2a/index.js +5 -0
- package/dist/bridge/a2a/index.js.map +1 -0
- package/dist/bridge/a2a/mapper.d.ts +5 -0
- package/dist/bridge/a2a/mapper.d.ts.map +1 -0
- package/dist/bridge/a2a/mapper.js +120 -0
- package/dist/bridge/a2a/mapper.js.map +1 -0
- package/dist/bridge/a2a/message.d.ts +8 -0
- package/dist/bridge/a2a/message.d.ts.map +1 -0
- package/dist/bridge/a2a/message.js +76 -0
- package/dist/bridge/a2a/message.js.map +1 -0
- package/dist/bridge/a2a/task.d.ts +13 -0
- package/dist/bridge/a2a/task.d.ts.map +1 -0
- package/dist/bridge/a2a/task.js +87 -0
- package/dist/bridge/a2a/task.js.map +1 -0
- package/dist/bridge/mcp/connector/adapter.d.ts +20 -0
- package/dist/bridge/mcp/connector/adapter.d.ts.map +1 -0
- package/dist/bridge/mcp/connector/adapter.js +92 -0
- package/dist/bridge/mcp/connector/adapter.js.map +1 -0
- package/dist/bridge/sse/index.d.ts +3 -0
- package/dist/bridge/sse/index.d.ts.map +1 -0
- package/dist/bridge/sse/index.js +2 -0
- package/dist/bridge/sse/index.js.map +1 -0
- package/dist/bridge/sse/mapper.d.ts +10 -0
- package/dist/bridge/sse/mapper.d.ts.map +1 -0
- package/dist/bridge/sse/mapper.js +207 -0
- package/dist/bridge/sse/mapper.js.map +1 -0
- package/dist/bridge/tools/connector/adapter.d.ts +28 -0
- package/dist/bridge/tools/connector/adapter.d.ts.map +1 -0
- package/dist/bridge/tools/connector/adapter.js +110 -0
- package/dist/bridge/tools/connector/adapter.js.map +1 -0
- package/dist/bridge/tools/connector/definitions.d.ts +9 -0
- package/dist/bridge/tools/connector/definitions.d.ts.map +1 -0
- package/dist/bridge/tools/connector/definitions.js +109 -0
- package/dist/bridge/tools/connector/definitions.js.map +1 -0
- package/dist/bridge/tools/connector/index.d.ts +7 -0
- package/dist/bridge/tools/connector/index.d.ts.map +1 -0
- package/dist/bridge/tools/connector/index.js +4 -0
- package/dist/bridge/tools/connector/index.js.map +1 -0
- package/dist/bridge/tools/connector/router.d.ts +19 -0
- package/dist/bridge/tools/connector/router.d.ts.map +1 -0
- package/dist/bridge/tools/connector/router.js +54 -0
- package/dist/bridge/tools/connector/router.js.map +1 -0
- package/dist/config/runtime.d.ts +26 -0
- package/dist/config/runtime.d.ts.map +1 -0
- package/dist/config/runtime.js +11 -0
- package/dist/config/runtime.js.map +1 -0
- package/dist/connector/BaseConnector.d.ts +28 -0
- package/dist/connector/BaseConnector.d.ts.map +1 -0
- package/dist/connector/BaseConnector.js +48 -0
- package/dist/connector/BaseConnector.js.map +1 -0
- package/dist/connector/builtins/http.d.ts +33 -0
- package/dist/connector/builtins/http.d.ts.map +1 -0
- package/dist/connector/builtins/http.js +162 -0
- package/dist/connector/builtins/http.js.map +1 -0
- package/dist/connector/builtins/index.d.ts +3 -0
- package/dist/connector/builtins/index.d.ts.map +1 -0
- package/dist/connector/builtins/index.js +3 -0
- package/dist/connector/builtins/index.js.map +1 -0
- package/dist/connector/builtins/webhook.d.ts +36 -0
- package/dist/connector/builtins/webhook.d.ts.map +1 -0
- package/dist/connector/builtins/webhook.js +125 -0
- package/dist/connector/builtins/webhook.js.map +1 -0
- package/dist/connector/execution/factory.d.ts +12 -0
- package/dist/connector/execution/factory.d.ts.map +1 -0
- package/dist/connector/execution/factory.js +45 -0
- package/dist/connector/execution/factory.js.map +1 -0
- package/dist/connector/execution/hybrid.d.ts +40 -0
- package/dist/connector/execution/hybrid.d.ts.map +1 -0
- package/dist/connector/execution/hybrid.js +147 -0
- package/dist/connector/execution/hybrid.js.map +1 -0
- package/dist/connector/execution/index.d.ts +6 -0
- package/dist/connector/execution/index.d.ts.map +1 -0
- package/dist/connector/execution/index.js +4 -0
- package/dist/connector/execution/index.js.map +1 -0
- package/dist/connector/execution/remote.d.ts +31 -0
- package/dist/connector/execution/remote.d.ts.map +1 -0
- package/dist/connector/execution/remote.js +96 -0
- package/dist/connector/execution/remote.js.map +1 -0
- package/dist/connector/index.d.ts +25 -0
- package/dist/connector/index.d.ts.map +1 -0
- package/dist/connector/index.js +19 -0
- package/dist/connector/index.js.map +1 -0
- package/dist/connector/mcp/adapter.d.ts +11 -0
- package/dist/connector/mcp/adapter.d.ts.map +1 -0
- package/dist/connector/mcp/adapter.js +104 -0
- package/dist/connector/mcp/adapter.js.map +1 -0
- package/dist/connector/mcp/client.d.ts +33 -0
- package/dist/connector/mcp/client.d.ts.map +1 -0
- package/dist/connector/mcp/client.js +181 -0
- package/dist/connector/mcp/client.js.map +1 -0
- package/dist/connector/mcp/discovery.d.ts +14 -0
- package/dist/connector/mcp/discovery.d.ts.map +1 -0
- package/dist/connector/mcp/discovery.js +57 -0
- package/dist/connector/mcp/discovery.js.map +1 -0
- package/dist/connector/mcp/http-sse.d.ts +23 -0
- package/dist/connector/mcp/http-sse.d.ts.map +1 -0
- package/dist/connector/mcp/http-sse.js +123 -0
- package/dist/connector/mcp/http-sse.js.map +1 -0
- package/dist/connector/mcp/index.d.ts +9 -0
- package/dist/connector/mcp/index.d.ts.map +1 -0
- package/dist/connector/mcp/index.js +8 -0
- package/dist/connector/mcp/index.js.map +1 -0
- package/dist/connector/mcp/server.d.ts +36 -0
- package/dist/connector/mcp/server.d.ts.map +1 -0
- package/dist/connector/mcp/server.js +157 -0
- package/dist/connector/mcp/server.js.map +1 -0
- package/dist/connector/mcp/stdio.d.ts +21 -0
- package/dist/connector/mcp/stdio.d.ts.map +1 -0
- package/dist/connector/mcp/stdio.js +90 -0
- package/dist/connector/mcp/stdio.js.map +1 -0
- package/dist/contracts/a2a.d.ts +1313 -0
- package/dist/contracts/a2a.d.ts.map +1 -0
- package/dist/contracts/a2a.js +94 -0
- package/dist/contracts/a2a.js.map +1 -0
- package/dist/contracts/api.d.ts +145 -0
- package/dist/contracts/api.d.ts.map +1 -0
- package/dist/contracts/api.js +2 -0
- package/dist/contracts/api.js.map +1 -0
- package/dist/contracts/ids.d.ts +2 -0
- package/dist/contracts/ids.d.ts.map +1 -0
- package/dist/contracts/ids.js +2 -0
- package/dist/contracts/ids.js.map +1 -0
- package/dist/contracts/index.d.ts +4 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +3 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/schemas.d.ts +207 -0
- package/dist/contracts/schemas.d.ts.map +1 -0
- package/dist/contracts/schemas.js +52 -0
- package/dist/contracts/schemas.js.map +1 -0
- package/dist/execution/base.d.ts +25 -0
- package/dist/execution/base.d.ts.map +1 -0
- package/dist/execution/base.js +59 -0
- package/dist/execution/base.js.map +1 -0
- package/dist/execution/index.d.ts +4 -0
- package/dist/execution/index.d.ts.map +1 -0
- package/dist/execution/index.js +3 -0
- package/dist/execution/index.js.map +1 -0
- package/dist/execution/local.d.ts +34 -0
- package/dist/execution/local.d.ts.map +1 -0
- package/dist/execution/local.js +117 -0
- package/dist/execution/local.js.map +1 -0
- package/dist/gateway/local.d.ts +23 -0
- package/dist/gateway/local.d.ts.map +1 -0
- package/dist/gateway/local.js +80 -0
- package/dist/gateway/local.js.map +1 -0
- package/dist/index.d.ts +92 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +74 -0
- package/dist/index.js.map +1 -0
- package/dist/manager/agent/index.d.ts +2 -0
- package/dist/manager/agent/index.d.ts.map +1 -0
- package/dist/manager/agent/index.js +2 -0
- package/dist/manager/agent/index.js.map +1 -0
- package/dist/manager/agent/lifecycle.d.ts +43 -0
- package/dist/manager/agent/lifecycle.d.ts.map +1 -0
- package/dist/manager/agent/lifecycle.js +335 -0
- package/dist/manager/agent/lifecycle.js.map +1 -0
- package/dist/manager/connector/environment.d.ts +50 -0
- package/dist/manager/connector/environment.d.ts.map +1 -0
- package/dist/manager/connector/environment.js +164 -0
- package/dist/manager/connector/environment.js.map +1 -0
- package/dist/manager/connector/index.d.ts +7 -0
- package/dist/manager/connector/index.d.ts.map +1 -0
- package/dist/manager/connector/index.js +4 -0
- package/dist/manager/connector/index.js.map +1 -0
- package/dist/manager/connector/lifecycle.d.ts +35 -0
- package/dist/manager/connector/lifecycle.d.ts.map +1 -0
- package/dist/manager/connector/lifecycle.js +191 -0
- package/dist/manager/connector/lifecycle.js.map +1 -0
- package/dist/manager/connector/tenant.d.ts +45 -0
- package/dist/manager/connector/tenant.d.ts.map +1 -0
- package/dist/manager/connector/tenant.js +201 -0
- package/dist/manager/connector/tenant.js.map +1 -0
- package/dist/manager/index.d.ts +11 -0
- package/dist/manager/index.d.ts.map +1 -0
- package/dist/manager/index.js +7 -0
- package/dist/manager/index.js.map +1 -0
- package/dist/manager/plan/lifecycle.d.ts +34 -0
- package/dist/manager/plan/lifecycle.d.ts.map +1 -0
- package/dist/manager/plan/lifecycle.js +191 -0
- package/dist/manager/plan/lifecycle.js.map +1 -0
- package/dist/manager/run/persistence.d.ts +39 -0
- package/dist/manager/run/persistence.d.ts.map +1 -0
- package/dist/manager/run/persistence.js +134 -0
- package/dist/manager/run/persistence.js.map +1 -0
- package/dist/manager/session/lifecycle.d.ts +3 -0
- package/dist/manager/session/lifecycle.d.ts.map +1 -0
- package/dist/manager/session/lifecycle.js +3 -0
- package/dist/manager/session/lifecycle.js.map +1 -0
- package/dist/persona/assembler.d.ts +6 -0
- package/dist/persona/assembler.d.ts.map +1 -0
- package/dist/persona/assembler.js +55 -0
- package/dist/persona/assembler.js.map +1 -0
- package/dist/persona/index.d.ts +2 -0
- package/dist/persona/index.d.ts.map +1 -0
- package/dist/persona/index.js +2 -0
- package/dist/persona/index.js.map +1 -0
- package/dist/provider/bedrock/client.d.ts +14 -0
- package/dist/provider/bedrock/client.d.ts.map +1 -0
- package/dist/provider/bedrock/client.js +464 -0
- package/dist/provider/bedrock/client.js.map +1 -0
- package/dist/provider/factory.d.ts +39 -0
- package/dist/provider/factory.d.ts.map +1 -0
- package/dist/provider/factory.js +140 -0
- package/dist/provider/factory.js.map +1 -0
- package/dist/provider/index.d.ts +4 -0
- package/dist/provider/index.d.ts.map +1 -0
- package/dist/provider/index.js +4 -0
- package/dist/provider/index.js.map +1 -0
- package/dist/provider/openrouter/client.d.ts +17 -0
- package/dist/provider/openrouter/client.d.ts.map +1 -0
- package/dist/provider/openrouter/client.js +299 -0
- package/dist/provider/openrouter/client.js.map +1 -0
- package/dist/provider/telemetry/setup.d.ts +19 -0
- package/dist/provider/telemetry/setup.d.ts.map +1 -0
- package/dist/provider/telemetry/setup.js +106 -0
- package/dist/provider/telemetry/setup.js.map +1 -0
- package/dist/rag/chunking.d.ts +13 -0
- package/dist/rag/chunking.d.ts.map +1 -0
- package/dist/rag/chunking.js +124 -0
- package/dist/rag/chunking.js.map +1 -0
- package/dist/rag/context-assembler.d.ts +4 -0
- package/dist/rag/context-assembler.d.ts.map +1 -0
- package/dist/rag/context-assembler.js +51 -0
- package/dist/rag/context-assembler.js.map +1 -0
- package/dist/rag/embedding.d.ts +14 -0
- package/dist/rag/embedding.d.ts.map +1 -0
- package/dist/rag/embedding.js +51 -0
- package/dist/rag/embedding.js.map +1 -0
- package/dist/rag/index.d.ts +10 -0
- package/dist/rag/index.d.ts.map +1 -0
- package/dist/rag/index.js +9 -0
- package/dist/rag/index.js.map +1 -0
- package/dist/rag/ingestion.d.ts +12 -0
- package/dist/rag/ingestion.d.ts.map +1 -0
- package/dist/rag/ingestion.js +52 -0
- package/dist/rag/ingestion.js.map +1 -0
- package/dist/rag/knowledge-base.d.ts +16 -0
- package/dist/rag/knowledge-base.d.ts.map +1 -0
- package/dist/rag/knowledge-base.js +44 -0
- package/dist/rag/knowledge-base.js.map +1 -0
- package/dist/rag/rag-tool.d.ts +7 -0
- package/dist/rag/rag-tool.d.ts.map +1 -0
- package/dist/rag/rag-tool.js +52 -0
- package/dist/rag/rag-tool.js.map +1 -0
- package/dist/rag/retriever.d.ts +17 -0
- package/dist/rag/retriever.d.ts.map +1 -0
- package/dist/rag/retriever.js +137 -0
- package/dist/rag/retriever.js.map +1 -0
- package/dist/rag/vector-store.d.ts +12 -0
- package/dist/rag/vector-store.d.ts.map +1 -0
- package/dist/rag/vector-store.js +70 -0
- package/dist/rag/vector-store.js.map +1 -0
- package/dist/registry/ManagedRegistry.d.ts +17 -0
- package/dist/registry/ManagedRegistry.d.ts.map +1 -0
- package/dist/registry/ManagedRegistry.js +36 -0
- package/dist/registry/ManagedRegistry.js.map +1 -0
- package/dist/registry/Registry.d.ts +12 -0
- package/dist/registry/Registry.d.ts.map +1 -0
- package/dist/registry/Registry.js +28 -0
- package/dist/registry/Registry.js.map +1 -0
- package/dist/registry/agent/definitions.d.ts +18 -0
- package/dist/registry/agent/definitions.d.ts.map +1 -0
- package/dist/registry/agent/definitions.js +51 -0
- package/dist/registry/agent/definitions.js.map +1 -0
- package/dist/registry/agent/index.d.ts +2 -0
- package/dist/registry/agent/index.d.ts.map +1 -0
- package/dist/registry/agent/index.js +2 -0
- package/dist/registry/agent/index.js.map +1 -0
- package/dist/registry/connector/definitions.d.ts +12 -0
- package/dist/registry/connector/definitions.d.ts.map +1 -0
- package/dist/registry/connector/definitions.js +35 -0
- package/dist/registry/connector/definitions.js.map +1 -0
- package/dist/registry/connector/scoped.d.ts +14 -0
- package/dist/registry/connector/scoped.d.ts.map +1 -0
- package/dist/registry/connector/scoped.js +99 -0
- package/dist/registry/connector/scoped.js.map +1 -0
- package/dist/registry/index.d.ts +9 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +7 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/tool/execute.d.ts +31 -0
- package/dist/registry/tool/execute.d.ts.map +1 -0
- package/dist/registry/tool/execute.js +240 -0
- package/dist/registry/tool/execute.js.map +1 -0
- package/dist/run/LimitChecker.d.ts +21 -0
- package/dist/run/LimitChecker.d.ts.map +1 -0
- package/dist/run/LimitChecker.js +51 -0
- package/dist/run/LimitChecker.js.map +1 -0
- package/dist/run/index.d.ts +7 -0
- package/dist/run/index.d.ts.map +1 -0
- package/dist/run/index.js +5 -0
- package/dist/run/index.js.map +1 -0
- package/dist/run/reporter.d.ts +10 -0
- package/dist/run/reporter.d.ts.map +1 -0
- package/dist/run/reporter.js +157 -0
- package/dist/run/reporter.js.map +1 -0
- package/dist/runtime/decision/fallback.d.ts +11 -0
- package/dist/runtime/decision/fallback.d.ts.map +1 -0
- package/dist/runtime/decision/fallback.js +80 -0
- package/dist/runtime/decision/fallback.js.map +1 -0
- package/dist/runtime/decision/index.d.ts +3 -0
- package/dist/runtime/decision/index.d.ts.map +1 -0
- package/dist/runtime/decision/index.js +3 -0
- package/dist/runtime/decision/index.js.map +1 -0
- package/dist/runtime/decision/parser.d.ts +10 -0
- package/dist/runtime/decision/parser.d.ts.map +1 -0
- package/dist/runtime/decision/parser.js +132 -0
- package/dist/runtime/decision/parser.js.map +1 -0
- package/dist/runtime/query/checkpoint.d.ts +22 -0
- package/dist/runtime/query/checkpoint.d.ts.map +1 -0
- package/dist/runtime/query/checkpoint.js +62 -0
- package/dist/runtime/query/checkpoint.js.map +1 -0
- package/dist/runtime/query/context-cache.d.ts +29 -0
- package/dist/runtime/query/context-cache.d.ts.map +1 -0
- package/dist/runtime/query/context-cache.js +57 -0
- package/dist/runtime/query/context-cache.js.map +1 -0
- package/dist/runtime/query/context.d.ts +43 -0
- package/dist/runtime/query/context.d.ts.map +1 -0
- package/dist/runtime/query/context.js +58 -0
- package/dist/runtime/query/context.js.map +1 -0
- package/dist/runtime/query/events.d.ts +18 -0
- package/dist/runtime/query/events.d.ts.map +1 -0
- package/dist/runtime/query/events.js +128 -0
- package/dist/runtime/query/events.js.map +1 -0
- package/dist/runtime/query/executor.d.ts +35 -0
- package/dist/runtime/query/executor.d.ts.map +1 -0
- package/dist/runtime/query/executor.js +110 -0
- package/dist/runtime/query/executor.js.map +1 -0
- package/dist/runtime/query/guard.d.ts +21 -0
- package/dist/runtime/query/guard.d.ts.map +1 -0
- package/dist/runtime/query/guard.js +41 -0
- package/dist/runtime/query/guard.js.map +1 -0
- package/dist/runtime/query/index.d.ts +51 -0
- package/dist/runtime/query/index.d.ts.map +1 -0
- package/dist/runtime/query/index.js +211 -0
- package/dist/runtime/query/index.js.map +1 -0
- package/dist/runtime/query/iteration/index.d.ts +34 -0
- package/dist/runtime/query/iteration/index.d.ts.map +1 -0
- package/dist/runtime/query/iteration/index.js +340 -0
- package/dist/runtime/query/iteration/index.js.map +1 -0
- package/dist/runtime/query/iteration/phases/checkpoint.d.ts +4 -0
- package/dist/runtime/query/iteration/phases/checkpoint.d.ts.map +1 -0
- package/dist/runtime/query/iteration/phases/checkpoint.js +21 -0
- package/dist/runtime/query/iteration/phases/checkpoint.js.map +1 -0
- package/dist/runtime/query/iteration/phases/context.d.ts +44 -0
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -0
- package/dist/runtime/query/iteration/phases/context.js +54 -0
- package/dist/runtime/query/iteration/phases/context.js.map +1 -0
- package/dist/runtime/query/iteration/phases/index.d.ts +7 -0
- package/dist/runtime/query/iteration/phases/index.d.ts.map +1 -0
- package/dist/runtime/query/iteration/phases/index.js +5 -0
- package/dist/runtime/query/iteration/phases/index.js.map +1 -0
- package/dist/runtime/query/iteration/phases/plan.d.ts +4 -0
- package/dist/runtime/query/iteration/phases/plan.d.ts.map +1 -0
- package/dist/runtime/query/iteration/phases/plan.js +34 -0
- package/dist/runtime/query/iteration/phases/plan.js.map +1 -0
- package/dist/runtime/query/iteration/phases/tool-review.d.ts +6 -0
- package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -0
- package/dist/runtime/query/iteration/phases/tool-review.js +139 -0
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -0
- package/dist/runtime/query/prompt.d.ts +18 -0
- package/dist/runtime/query/prompt.d.ts.map +1 -0
- package/dist/runtime/query/prompt.js +45 -0
- package/dist/runtime/query/prompt.js.map +1 -0
- package/dist/runtime/query/result.d.ts +24 -0
- package/dist/runtime/query/result.d.ts.map +1 -0
- package/dist/runtime/query/result.js +66 -0
- package/dist/runtime/query/result.js.map +1 -0
- package/dist/runtime/query/tooling.d.ts +20 -0
- package/dist/runtime/query/tooling.d.ts.map +1 -0
- package/dist/runtime/query/tooling.js +14 -0
- package/dist/runtime/query/tooling.js.map +1 -0
- package/dist/session/LimitChecker.d.ts +3 -0
- package/dist/session/LimitChecker.d.ts.map +1 -0
- package/dist/session/LimitChecker.js +3 -0
- package/dist/session/LimitChecker.js.map +1 -0
- package/dist/session/index.d.ts +3 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +3 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/reporter.d.ts +3 -0
- package/dist/session/reporter.d.ts.map +1 -0
- package/dist/session/reporter.js +3 -0
- package/dist/session/reporter.js.map +1 -0
- package/dist/skills/index.d.ts +3 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +3 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/loader.d.ts +4 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +126 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/registry.d.ts +13 -0
- package/dist/skills/registry.d.ts.map +1 -0
- package/dist/skills/registry.js +77 -0
- package/dist/skills/registry.js.map +1 -0
- package/dist/store/InMemoryStore.d.ts +19 -0
- package/dist/store/InMemoryStore.d.ts.map +1 -0
- package/dist/store/InMemoryStore.js +50 -0
- package/dist/store/InMemoryStore.js.map +1 -0
- package/dist/store/activity/memory.d.ts +49 -0
- package/dist/store/activity/memory.d.ts.map +1 -0
- package/dist/store/activity/memory.js +173 -0
- package/dist/store/activity/memory.js.map +1 -0
- package/dist/store/conversation/memory.d.ts +21 -0
- package/dist/store/conversation/memory.d.ts.map +1 -0
- package/dist/store/conversation/memory.js +76 -0
- package/dist/store/conversation/memory.js.map +1 -0
- package/dist/store/index.d.ts +11 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +7 -0
- package/dist/store/index.js.map +1 -0
- package/dist/store/run/disk.d.ts +32 -0
- package/dist/store/run/disk.d.ts.map +1 -0
- package/dist/store/run/disk.js +190 -0
- package/dist/store/run/disk.js.map +1 -0
- package/dist/store/session/disk.d.ts +3 -0
- package/dist/store/session/disk.d.ts.map +1 -0
- package/dist/store/session/disk.js +3 -0
- package/dist/store/session/disk.js.map +1 -0
- package/dist/store/task/disk.d.ts +38 -0
- package/dist/store/task/disk.d.ts.map +1 -0
- package/dist/store/task/disk.js +290 -0
- package/dist/store/task/disk.js.map +1 -0
- package/dist/store/task/memory.d.ts +21 -0
- package/dist/store/task/memory.d.ts.map +1 -0
- package/dist/store/task/memory.js +158 -0
- package/dist/store/task/memory.js.map +1 -0
- package/dist/telemetry/attributes.d.ts +33 -0
- package/dist/telemetry/attributes.d.ts.map +1 -0
- package/dist/telemetry/attributes.js +41 -0
- package/dist/telemetry/attributes.js.map +1 -0
- package/dist/telemetry/index.d.ts +6 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +4 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/metrics.d.ts +8 -0
- package/dist/telemetry/metrics.d.ts.map +1 -0
- package/dist/telemetry/metrics.js +53 -0
- package/dist/telemetry/metrics.js.map +1 -0
- package/dist/tools/builtins/bash.d.ts +5 -0
- package/dist/tools/builtins/bash.d.ts.map +1 -0
- package/dist/tools/builtins/bash.js +55 -0
- package/dist/tools/builtins/bash.js.map +1 -0
- package/dist/tools/builtins/glob.d.ts +5 -0
- package/dist/tools/builtins/glob.d.ts.map +1 -0
- package/dist/tools/builtins/glob.js +75 -0
- package/dist/tools/builtins/glob.js.map +1 -0
- package/dist/tools/builtins/index.d.ts +8 -0
- package/dist/tools/builtins/index.d.ts.map +1 -0
- package/dist/tools/builtins/index.js +14 -0
- package/dist/tools/builtins/index.js.map +1 -0
- package/dist/tools/builtins/read-file.d.ts +6 -0
- package/dist/tools/builtins/read-file.d.ts.map +1 -0
- package/dist/tools/builtins/read-file.js +48 -0
- package/dist/tools/builtins/read-file.js.map +1 -0
- package/dist/tools/builtins/search-tools.d.ts +4 -0
- package/dist/tools/builtins/search-tools.d.ts.map +1 -0
- package/dist/tools/builtins/search-tools.js +45 -0
- package/dist/tools/builtins/search-tools.js.map +1 -0
- package/dist/tools/builtins/write-file.d.ts +5 -0
- package/dist/tools/builtins/write-file.d.ts.map +1 -0
- package/dist/tools/builtins/write-file.js +29 -0
- package/dist/tools/builtins/write-file.js.map +1 -0
- package/dist/tools/coordinator/index.d.ts +21 -0
- package/dist/tools/coordinator/index.d.ts.map +1 -0
- package/dist/tools/coordinator/index.js +163 -0
- package/dist/tools/coordinator/index.js.map +1 -0
- package/dist/tools/defineTool.d.ts +15 -0
- package/dist/tools/defineTool.d.ts.map +1 -0
- package/dist/tools/defineTool.js +29 -0
- package/dist/tools/defineTool.js.map +1 -0
- package/dist/tools/task/create.d.ts +5 -0
- package/dist/tools/task/create.d.ts.map +1 -0
- package/dist/tools/task/create.js +38 -0
- package/dist/tools/task/create.js.map +1 -0
- package/dist/tools/task/index.d.ts +8 -0
- package/dist/tools/task/index.d.ts.map +1 -0
- package/dist/tools/task/index.js +14 -0
- package/dist/tools/task/index.js.map +1 -0
- package/dist/tools/task/list.d.ts +5 -0
- package/dist/tools/task/list.d.ts.map +1 -0
- package/dist/tools/task/list.js +46 -0
- package/dist/tools/task/list.js.map +1 -0
- package/dist/tools/task/update.d.ts +4 -0
- package/dist/tools/task/update.d.ts.map +1 -0
- package/dist/tools/task/update.js +61 -0
- package/dist/tools/task/update.js.map +1 -0
- package/dist/types/a2a/index.d.ts +173 -0
- package/dist/types/a2a/index.d.ts.map +1 -0
- package/dist/types/a2a/index.js +11 -0
- package/dist/types/a2a/index.js.map +1 -0
- package/dist/types/activity/index.d.ts +37 -0
- package/dist/types/activity/index.d.ts.map +1 -0
- package/dist/types/activity/index.js +10 -0
- package/dist/types/activity/index.js.map +1 -0
- package/dist/types/agent/base.d.ts +60 -0
- package/dist/types/agent/base.d.ts.map +1 -0
- package/dist/types/agent/base.js +2 -0
- package/dist/types/agent/base.js.map +1 -0
- package/dist/types/agent/core.d.ts +10 -0
- package/dist/types/agent/core.d.ts.map +1 -0
- package/dist/types/agent/core.js +2 -0
- package/dist/types/agent/core.js.map +1 -0
- package/dist/types/agent/factory.d.ts +35 -0
- package/dist/types/agent/factory.d.ts.map +1 -0
- package/dist/types/agent/factory.js +2 -0
- package/dist/types/agent/factory.js.map +1 -0
- package/dist/types/agent/gateway.d.ts +27 -0
- package/dist/types/agent/gateway.d.ts.map +1 -0
- package/dist/types/agent/gateway.js +2 -0
- package/dist/types/agent/gateway.js.map +1 -0
- package/dist/types/agent/index.d.ts +11 -0
- package/dist/types/agent/index.d.ts.map +1 -0
- package/dist/types/agent/index.js +11 -0
- package/dist/types/agent/index.js.map +1 -0
- package/dist/types/agent/lifecycle-event.d.ts +30 -0
- package/dist/types/agent/lifecycle-event.d.ts.map +1 -0
- package/dist/types/agent/lifecycle-event.js +2 -0
- package/dist/types/agent/lifecycle-event.js.map +1 -0
- package/dist/types/agent/pipeline.d.ts +37 -0
- package/dist/types/agent/pipeline.d.ts.map +1 -0
- package/dist/types/agent/pipeline.js +2 -0
- package/dist/types/agent/pipeline.js.map +1 -0
- package/dist/types/agent/reactive.d.ts +17 -0
- package/dist/types/agent/reactive.d.ts.map +1 -0
- package/dist/types/agent/reactive.js +2 -0
- package/dist/types/agent/reactive.js.map +1 -0
- package/dist/types/agent/router.d.ts +30 -0
- package/dist/types/agent/router.d.ts.map +1 -0
- package/dist/types/agent/router.js +2 -0
- package/dist/types/agent/router.js.map +1 -0
- package/dist/types/agent/supervisor.d.ts +25 -0
- package/dist/types/agent/supervisor.d.ts.map +1 -0
- package/dist/types/agent/supervisor.js +2 -0
- package/dist/types/agent/supervisor.js.map +1 -0
- package/dist/types/agent/task.d.ts +59 -0
- package/dist/types/agent/task.d.ts.map +1 -0
- package/dist/types/agent/task.js +13 -0
- package/dist/types/agent/task.js.map +1 -0
- package/dist/types/common/index.d.ts +24 -0
- package/dist/types/common/index.d.ts.map +1 -0
- package/dist/types/common/index.js +20 -0
- package/dist/types/common/index.js.map +1 -0
- package/dist/types/connector/core.d.ts +31 -0
- package/dist/types/connector/core.d.ts.map +1 -0
- package/dist/types/connector/core.js +4 -0
- package/dist/types/connector/core.js.map +1 -0
- package/dist/types/connector/definition.d.ts +88 -0
- package/dist/types/connector/definition.d.ts.map +1 -0
- package/dist/types/connector/definition.js +2 -0
- package/dist/types/connector/definition.js.map +1 -0
- package/dist/types/connector/execution-context.d.ts +41 -0
- package/dist/types/connector/execution-context.d.ts.map +1 -0
- package/dist/types/connector/execution-context.js +2 -0
- package/dist/types/connector/execution-context.js.map +1 -0
- package/dist/types/connector/http.d.ts +20 -0
- package/dist/types/connector/http.d.ts.map +1 -0
- package/dist/types/connector/http.js +2 -0
- package/dist/types/connector/http.js.map +1 -0
- package/dist/types/connector/index.d.ts +9 -0
- package/dist/types/connector/index.d.ts.map +1 -0
- package/dist/types/connector/index.js +9 -0
- package/dist/types/connector/index.js.map +1 -0
- package/dist/types/connector/mcp.d.ts +228 -0
- package/dist/types/connector/mcp.d.ts.map +1 -0
- package/dist/types/connector/mcp.js +2 -0
- package/dist/types/connector/mcp.js.map +1 -0
- package/dist/types/connector/scope.d.ts +26 -0
- package/dist/types/connector/scope.d.ts.map +1 -0
- package/dist/types/connector/scope.js +8 -0
- package/dist/types/connector/scope.js.map +1 -0
- package/dist/types/connector/tenant.d.ts +35 -0
- package/dist/types/connector/tenant.d.ts.map +1 -0
- package/dist/types/connector/tenant.js +2 -0
- package/dist/types/connector/tenant.js.map +1 -0
- package/dist/types/connector/webhook.d.ts +17 -0
- package/dist/types/connector/webhook.d.ts.map +1 -0
- package/dist/types/connector/webhook.js +2 -0
- package/dist/types/connector/webhook.js.map +1 -0
- package/dist/types/conversation/index.d.ts +7 -0
- package/dist/types/conversation/index.d.ts.map +1 -0
- package/dist/types/conversation/index.js +2 -0
- package/dist/types/conversation/index.js.map +1 -0
- package/dist/types/decision/index.d.ts +49 -0
- package/dist/types/decision/index.d.ts.map +1 -0
- package/dist/types/decision/index.js +7 -0
- package/dist/types/decision/index.js.map +1 -0
- package/dist/types/execution/index.d.ts +49 -0
- package/dist/types/execution/index.d.ts.map +1 -0
- package/dist/types/execution/index.js +2 -0
- package/dist/types/execution/index.js.map +1 -0
- package/dist/types/hitl/index.d.ts +107 -0
- package/dist/types/hitl/index.d.ts.map +1 -0
- package/dist/types/hitl/index.js +15 -0
- package/dist/types/hitl/index.js.map +1 -0
- package/dist/types/ids/index.d.ts +22 -0
- package/dist/types/ids/index.d.ts.map +1 -0
- package/dist/types/ids/index.js +2 -0
- package/dist/types/ids/index.js.map +1 -0
- package/dist/types/message/index.d.ts +38 -0
- package/dist/types/message/index.d.ts.map +1 -0
- package/dist/types/message/index.js +13 -0
- package/dist/types/message/index.js.map +1 -0
- package/dist/types/permission/index.d.ts +2 -0
- package/dist/types/permission/index.d.ts.map +1 -0
- package/dist/types/permission/index.js +2 -0
- package/dist/types/permission/index.js.map +1 -0
- package/dist/types/persona/index.d.ts +38 -0
- package/dist/types/persona/index.d.ts.map +1 -0
- package/dist/types/persona/index.js +2 -0
- package/dist/types/persona/index.js.map +1 -0
- package/dist/types/plan/index.d.ts +41 -0
- package/dist/types/plan/index.d.ts.map +1 -0
- package/dist/types/plan/index.js +4 -0
- package/dist/types/plan/index.js.map +1 -0
- package/dist/types/provider/chat.d.ts +59 -0
- package/dist/types/provider/chat.d.ts.map +1 -0
- package/dist/types/provider/chat.js +2 -0
- package/dist/types/provider/chat.js.map +1 -0
- package/dist/types/provider/config.d.ts +40 -0
- package/dist/types/provider/config.d.ts.map +1 -0
- package/dist/types/provider/config.js +2 -0
- package/dist/types/provider/config.js.map +1 -0
- package/dist/types/provider/index.d.ts +6 -0
- package/dist/types/provider/index.d.ts.map +1 -0
- package/dist/types/provider/index.js +2 -0
- package/dist/types/provider/index.js.map +1 -0
- package/dist/types/provider/interface.d.ts +12 -0
- package/dist/types/provider/interface.d.ts.map +1 -0
- package/dist/types/provider/interface.js +2 -0
- package/dist/types/provider/interface.js.map +1 -0
- package/dist/types/provider/model.d.ts +11 -0
- package/dist/types/provider/model.d.ts.map +1 -0
- package/dist/types/provider/model.js +2 -0
- package/dist/types/provider/model.js.map +1 -0
- package/dist/types/provider/stream.d.ts +20 -0
- package/dist/types/provider/stream.d.ts.map +1 -0
- package/dist/types/provider/stream.js +2 -0
- package/dist/types/provider/stream.js.map +1 -0
- package/dist/types/rag/chunking.d.ts +15 -0
- package/dist/types/rag/chunking.d.ts.map +1 -0
- package/dist/types/rag/chunking.js +2 -0
- package/dist/types/rag/chunking.js.map +1 -0
- package/dist/types/rag/context.d.ts +29 -0
- package/dist/types/rag/context.d.ts.map +1 -0
- package/dist/types/rag/context.js +2 -0
- package/dist/types/rag/context.js.map +1 -0
- package/dist/types/rag/embedding.d.ts +17 -0
- package/dist/types/rag/embedding.d.ts.map +1 -0
- package/dist/types/rag/embedding.js +2 -0
- package/dist/types/rag/embedding.js.map +1 -0
- package/dist/types/rag/index.d.ts +10 -0
- package/dist/types/rag/index.d.ts.map +1 -0
- package/dist/types/rag/index.js +10 -0
- package/dist/types/rag/index.js.map +1 -0
- package/dist/types/rag/ingestion.d.ts +13 -0
- package/dist/types/rag/ingestion.d.ts.map +1 -0
- package/dist/types/rag/ingestion.js +2 -0
- package/dist/types/rag/ingestion.js.map +1 -0
- package/dist/types/rag/knowledge-base.d.ts +25 -0
- package/dist/types/rag/knowledge-base.d.ts.map +1 -0
- package/dist/types/rag/knowledge-base.js +2 -0
- package/dist/types/rag/knowledge-base.js.map +1 -0
- package/dist/types/rag/retrieval.d.ts +27 -0
- package/dist/types/rag/retrieval.d.ts.map +1 -0
- package/dist/types/rag/retrieval.js +2 -0
- package/dist/types/rag/retrieval.js.map +1 -0
- package/dist/types/rag/scope.d.ts +13 -0
- package/dist/types/rag/scope.d.ts.map +1 -0
- package/dist/types/rag/scope.js +2 -0
- package/dist/types/rag/scope.js.map +1 -0
- package/dist/types/rag/storage.d.ts +24 -0
- package/dist/types/rag/storage.d.ts.map +1 -0
- package/dist/types/rag/storage.js +2 -0
- package/dist/types/rag/storage.js.map +1 -0
- package/dist/types/rag/vector.d.ts +22 -0
- package/dist/types/rag/vector.d.ts.map +1 -0
- package/dist/types/rag/vector.js +2 -0
- package/dist/types/rag/vector.js.map +1 -0
- package/dist/types/run/config.d.ts +42 -0
- package/dist/types/run/config.d.ts.map +1 -0
- package/dist/types/run/config.js +2 -0
- package/dist/types/run/config.js.map +1 -0
- package/dist/types/run/events.d.ts +144 -0
- package/dist/types/run/events.d.ts.map +1 -0
- package/dist/types/run/events.js +2 -0
- package/dist/types/run/events.js.map +1 -0
- package/dist/types/run/index.d.ts +5 -0
- package/dist/types/run/index.d.ts.map +1 -0
- package/dist/types/run/index.js +5 -0
- package/dist/types/run/index.js.map +1 -0
- package/dist/types/run/metadata.d.ts +35 -0
- package/dist/types/run/metadata.d.ts.map +1 -0
- package/dist/types/run/metadata.js +2 -0
- package/dist/types/run/metadata.js.map +1 -0
- package/dist/types/run/state.d.ts +30 -0
- package/dist/types/run/state.d.ts.map +1 -0
- package/dist/types/run/state.js +2 -0
- package/dist/types/run/state.js.map +1 -0
- package/dist/types/session/config.d.ts +2 -0
- package/dist/types/session/config.d.ts.map +1 -0
- package/dist/types/session/config.js +2 -0
- package/dist/types/session/config.js.map +1 -0
- package/dist/types/session/events.d.ts +2 -0
- package/dist/types/session/events.d.ts.map +1 -0
- package/dist/types/session/events.js +2 -0
- package/dist/types/session/events.js.map +1 -0
- package/dist/types/session/index.d.ts +4 -0
- package/dist/types/session/index.d.ts.map +1 -0
- package/dist/types/session/index.js +4 -0
- package/dist/types/session/index.js.map +1 -0
- package/dist/types/session/state.d.ts +2 -0
- package/dist/types/session/state.d.ts.map +1 -0
- package/dist/types/session/state.js +2 -0
- package/dist/types/session/state.js.map +1 -0
- package/dist/types/skills/index.d.ts +23 -0
- package/dist/types/skills/index.d.ts.map +1 -0
- package/dist/types/skills/index.js +2 -0
- package/dist/types/skills/index.js.map +1 -0
- package/dist/types/task/index.d.ts +63 -0
- package/dist/types/task/index.d.ts.map +1 -0
- package/dist/types/task/index.js +16 -0
- package/dist/types/task/index.js.map +1 -0
- package/dist/types/telemetry/index.d.ts +10 -0
- package/dist/types/telemetry/index.d.ts.map +1 -0
- package/dist/types/telemetry/index.js +2 -0
- package/dist/types/telemetry/index.js.map +1 -0
- package/dist/types/tool/index.d.ts +54 -0
- package/dist/types/tool/index.d.ts.map +1 -0
- package/dist/types/tool/index.js +2 -0
- package/dist/types/tool/index.js.map +1 -0
- package/dist/utils/abort.d.ts +2 -0
- package/dist/utils/abort.d.ts.map +1 -0
- package/dist/utils/abort.js +20 -0
- package/dist/utils/abort.js.map +1 -0
- package/dist/utils/conversation.d.ts +3 -0
- package/dist/utils/conversation.d.ts.map +1 -0
- package/dist/utils/conversation.js +13 -0
- package/dist/utils/conversation.js.map +1 -0
- package/dist/utils/cost.d.ts +10 -0
- package/dist/utils/cost.d.ts.map +1 -0
- package/dist/utils/cost.js +34 -0
- package/dist/utils/cost.js.map +1 -0
- package/dist/utils/error.d.ts +2 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +4 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/hash.d.ts +8 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/hash.js +13 -0
- package/dist/utils/hash.js.map +1 -0
- package/dist/utils/id.d.ts +26 -0
- package/dist/utils/id.d.ts.map +1 -0
- package/dist/utils/id.js +91 -0
- package/dist/utils/id.js.map +1 -0
- package/dist/utils/logger.d.ts +14 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +44 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/memoize.d.ts +4 -0
- package/dist/utils/memoize.d.ts.map +1 -0
- package/dist/utils/memoize.js +15 -0
- package/dist/utils/memoize.js.map +1 -0
- package/dist/vault/InMemoryCredentialVault.d.ts +13 -0
- package/dist/vault/InMemoryCredentialVault.d.ts.map +1 -0
- package/dist/vault/InMemoryCredentialVault.js +49 -0
- package/dist/vault/InMemoryCredentialVault.js.map +1 -0
- package/dist/vault/index.d.ts +2 -0
- package/dist/vault/index.d.ts.map +1 -0
- package/dist/vault/index.js +2 -0
- package/dist/vault/index.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +5 -0
- package/dist/version.js.map +1 -0
- package/package.json +53 -0
- package/src/agents/AbstractAgent.ts +95 -0
- package/src/agents/PipelineAgent.ts +165 -0
- package/src/agents/ReactiveAgent.ts +97 -0
- package/src/agents/RouterAgent.ts +236 -0
- package/src/agents/SupervisorAgent.ts +162 -0
- package/src/agents/defineAgent.ts +73 -0
- package/src/agents/index.ts +7 -0
- package/src/bridge/a2a/agent-card.ts +77 -0
- package/src/bridge/a2a/index.ts +18 -0
- package/src/bridge/a2a/mapper.ts +172 -0
- package/src/bridge/a2a/message.ts +97 -0
- package/src/bridge/a2a/task.ts +125 -0
- package/src/bridge/mcp/connector/adapter.ts +123 -0
- package/src/bridge/sse/index.ts +2 -0
- package/src/bridge/sse/mapper.ts +261 -0
- package/src/bridge/tools/connector/adapter.ts +143 -0
- package/src/bridge/tools/connector/definitions.ts +143 -0
- package/src/bridge/tools/connector/index.ts +17 -0
- package/src/bridge/tools/connector/router.ts +71 -0
- package/src/config/runtime.ts +14 -0
- package/src/connector/BaseConnector.ts +81 -0
- package/src/connector/builtins/http.ts +189 -0
- package/src/connector/builtins/index.ts +2 -0
- package/src/connector/builtins/webhook.ts +153 -0
- package/src/connector/execution/factory.ts +53 -0
- package/src/connector/execution/hybrid.ts +201 -0
- package/src/connector/execution/index.ts +5 -0
- package/src/connector/execution/remote.ts +131 -0
- package/src/connector/index.ts +54 -0
- package/src/connector/mcp/adapter.ts +131 -0
- package/src/connector/mcp/client.ts +226 -0
- package/src/connector/mcp/discovery.ts +69 -0
- package/src/connector/mcp/http-sse.ts +137 -0
- package/src/connector/mcp/index.ts +20 -0
- package/src/connector/mcp/server.ts +204 -0
- package/src/connector/mcp/stdio.ts +102 -0
- package/src/contracts/a2a.ts +113 -0
- package/src/contracts/api.ts +215 -0
- package/src/contracts/ids.ts +1 -0
- package/src/contracts/index.ts +40 -0
- package/src/contracts/schemas.ts +64 -0
- package/src/execution/base.ts +80 -0
- package/src/execution/index.ts +3 -0
- package/src/execution/local.ts +159 -0
- package/src/gateway/local.ts +112 -0
- package/src/index.ts +218 -0
- package/src/manager/agent/index.ts +1 -0
- package/src/manager/agent/lifecycle.ts +429 -0
- package/src/manager/connector/environment.ts +255 -0
- package/src/manager/connector/index.ts +11 -0
- package/src/manager/connector/lifecycle.ts +240 -0
- package/src/manager/connector/tenant.ts +300 -0
- package/src/manager/index.ts +18 -0
- package/src/manager/plan/lifecycle.ts +238 -0
- package/src/manager/run/persistence.ts +176 -0
- package/src/persona/assembler.ts +79 -0
- package/src/persona/index.ts +1 -0
- package/src/provider/bedrock/client.ts +579 -0
- package/src/provider/factory.ts +173 -0
- package/src/provider/index.ts +3 -0
- package/src/provider/openrouter/client.ts +396 -0
- package/src/provider/telemetry/setup.ts +135 -0
- package/src/rag/chunking.ts +145 -0
- package/src/rag/context-assembler.ts +65 -0
- package/src/rag/embedding.ts +72 -0
- package/src/rag/index.ts +43 -0
- package/src/rag/ingestion.ts +77 -0
- package/src/rag/knowledge-base.ts +72 -0
- package/src/rag/rag-tool.ts +62 -0
- package/src/rag/retriever.ts +184 -0
- package/src/rag/vector-store.ts +84 -0
- package/src/registry/ManagedRegistry.ts +56 -0
- package/src/registry/Registry.ts +35 -0
- package/src/registry/agent/definitions.ts +74 -0
- package/src/registry/agent/index.ts +1 -0
- package/src/registry/connector/definitions.ts +52 -0
- package/src/registry/connector/scoped.ts +129 -0
- package/src/registry/index.ts +11 -0
- package/src/registry/tool/execute.ts +323 -0
- package/src/run/LimitChecker.ts +86 -0
- package/src/run/index.ts +9 -0
- package/src/run/reporter.ts +191 -0
- package/src/runtime/decision/fallback.ts +93 -0
- package/src/runtime/decision/index.ts +2 -0
- package/src/runtime/decision/parser.ts +150 -0
- package/src/runtime/query/checkpoint.ts +83 -0
- package/src/runtime/query/context-cache.ts +86 -0
- package/src/runtime/query/context.ts +105 -0
- package/src/runtime/query/events.ts +141 -0
- package/src/runtime/query/executor.ts +171 -0
- package/src/runtime/query/guard.ts +71 -0
- package/src/runtime/query/index.ts +321 -0
- package/src/runtime/query/iteration/index.ts +474 -0
- package/src/runtime/query/iteration/phases/checkpoint.ts +37 -0
- package/src/runtime/query/iteration/phases/context.ts +117 -0
- package/src/runtime/query/iteration/phases/index.ts +6 -0
- package/src/runtime/query/iteration/phases/plan.ts +47 -0
- package/src/runtime/query/iteration/phases/tool-review.ts +177 -0
- package/src/runtime/query/prompt.ts +73 -0
- package/src/runtime/query/result.ts +95 -0
- package/src/runtime/query/tooling.ts +41 -0
- package/src/skills/index.ts +2 -0
- package/src/skills/loader.ts +164 -0
- package/src/skills/registry.ts +102 -0
- package/src/store/InMemoryStore.ts +72 -0
- package/src/store/activity/memory.ts +221 -0
- package/src/store/conversation/memory.ts +107 -0
- package/src/store/index.ts +14 -0
- package/src/store/run/disk.ts +222 -0
- package/src/store/task/disk.ts +333 -0
- package/src/store/task/memory.ts +183 -0
- package/src/telemetry/attributes.ts +50 -0
- package/src/telemetry/index.ts +14 -0
- package/src/telemetry/metrics.ts +70 -0
- package/src/tools/builtins/bash.ts +70 -0
- package/src/tools/builtins/glob.ts +96 -0
- package/src/tools/builtins/index.ts +16 -0
- package/src/tools/builtins/read-file.ts +54 -0
- package/src/tools/builtins/search-tools.ts +53 -0
- package/src/tools/builtins/write-file.ts +34 -0
- package/src/tools/coordinator/index.ts +205 -0
- package/src/tools/defineTool.ts +47 -0
- package/src/tools/task/create.ts +45 -0
- package/src/tools/task/index.ts +21 -0
- package/src/tools/task/list.ts +59 -0
- package/src/tools/task/update.ts +71 -0
- package/src/types/a2a/index.ts +239 -0
- package/src/types/activity/index.ts +54 -0
- package/src/types/agent/base.ts +73 -0
- package/src/types/agent/core.ts +26 -0
- package/src/types/agent/factory.ts +46 -0
- package/src/types/agent/gateway.ts +38 -0
- package/src/types/agent/index.ts +10 -0
- package/src/types/agent/lifecycle-event.ts +21 -0
- package/src/types/agent/pipeline.ts +41 -0
- package/src/types/agent/reactive.ts +21 -0
- package/src/types/agent/router.ts +34 -0
- package/src/types/agent/supervisor.ts +32 -0
- package/src/types/agent/task.ts +101 -0
- package/src/types/common/index.ts +54 -0
- package/src/types/connector/core.ts +47 -0
- package/src/types/connector/definition.ts +69 -0
- package/src/types/connector/execution-context.ts +51 -0
- package/src/types/connector/http.ts +22 -0
- package/src/types/connector/index.ts +8 -0
- package/src/types/connector/mcp.ts +205 -0
- package/src/types/connector/scope.ts +42 -0
- package/src/types/connector/tenant.ts +41 -0
- package/src/types/connector/webhook.ts +18 -0
- package/src/types/conversation/index.ts +8 -0
- package/src/types/decision/index.ts +30 -0
- package/src/types/execution/index.ts +48 -0
- package/src/types/hitl/index.ts +106 -0
- package/src/types/ids/index.ts +21 -0
- package/src/types/message/index.ts +62 -0
- package/src/types/permission/index.ts +1 -0
- package/src/types/persona/index.ts +55 -0
- package/src/types/plan/index.ts +56 -0
- package/src/types/provider/chat.ts +59 -0
- package/src/types/provider/config.ts +50 -0
- package/src/types/provider/index.ts +15 -0
- package/src/types/provider/interface.ts +16 -0
- package/src/types/provider/model.ts +10 -0
- package/src/types/provider/stream.ts +20 -0
- package/src/types/rag/chunking.ts +17 -0
- package/src/types/rag/context.ts +28 -0
- package/src/types/rag/embedding.ts +19 -0
- package/src/types/rag/index.ts +9 -0
- package/src/types/rag/ingestion.ts +20 -0
- package/src/types/rag/knowledge-base.ts +27 -0
- package/src/types/rag/retrieval.ts +35 -0
- package/src/types/rag/scope.ts +13 -0
- package/src/types/rag/storage.ts +25 -0
- package/src/types/rag/vector.ts +24 -0
- package/src/types/run/config.ts +50 -0
- package/src/types/run/events.ts +159 -0
- package/src/types/run/index.ts +4 -0
- package/src/types/run/metadata.ts +39 -0
- package/src/types/run/state.ts +35 -0
- package/src/types/skills/index.ts +34 -0
- package/src/types/task/index.ts +97 -0
- package/src/types/telemetry/index.ts +10 -0
- package/src/types/tool/index.ts +69 -0
- package/src/utils/abort.ts +31 -0
- package/src/utils/conversation.ts +16 -0
- package/src/utils/cost.ts +51 -0
- package/src/utils/error.ts +3 -0
- package/src/utils/hash.ts +16 -0
- package/src/utils/id.ts +116 -0
- package/src/utils/logger.ts +74 -0
- package/src/utils/memoize.ts +16 -0
- package/src/vault/InMemoryCredentialVault.ts +64 -0
- package/src/vault/index.ts +1 -0
- package/src/version.ts +6 -0
package/README.md
ADDED
|
@@ -0,0 +1,607 @@
|
|
|
1
|
+
# Namzu
|
|
2
|
+
|
|
3
|
+
TypeScript SDK for building AI agents with tool use, multi-model support, orchestration patterns, RAG, MCP integration, and A2A protocol compatibility.
|
|
4
|
+
|
|
5
|
+
> **Our goal is to build an open, community-driven agent framework that reduces systemic dependencies on proprietary platforms — so that everyone can build, own, and run AI agents freely.** Namzu is designed to work with any LLM provider through a bring-your-own-key model, and every version becomes fully open source (MIT) after two years. If this vision resonates with you, we'd love your help — whether it's a bug report, a feature idea, a pull request, or just spreading the word. Every contribution matters.
|
|
6
|
+
|
|
7
|
+
## Why Namzu?
|
|
8
|
+
|
|
9
|
+
There are great agent frameworks out there — LangChain, CrewAI, AutoGen, Vercel AI SDK, OpenAI Agents SDK. Each solves a real problem. Namzu exists because we think some things are still missing.
|
|
10
|
+
|
|
11
|
+
**True provider independence.** Most frameworks say they're provider-agnostic but are optimized for one vendor. Namzu treats every provider as a first-class citizen through BYOK (Bring Your Own Key). Switch from OpenRouter to Bedrock by changing one line. No performance penalties, no second-class APIs.
|
|
12
|
+
|
|
13
|
+
**Thread/Run separation.** Other frameworks mix conversation history with execution traces. Namzu cleanly separates threads (user↔assistant conversation) from runs (tool calls, iterations, internal state). Multi-turn conversations carry only the context that matters.
|
|
14
|
+
|
|
15
|
+
**A2A + MCP in one SDK.** Google's Agent-to-Agent protocol and Anthropic's Model Context Protocol are usually separate integrations. Namzu bridges both natively — your agents can expose capabilities via A2A agent cards and consume external tools via MCP, out of the box.
|
|
16
|
+
|
|
17
|
+
**Multi-tenant from day one.** Most frameworks assume single-user, single-process. Namzu ships with tenant isolation, scoped connector registries, and environment-aware configuration. Building a platform where multiple teams run agents? That's the default, not an afterthought.
|
|
18
|
+
|
|
19
|
+
**Human-in-the-loop that actually works.** Not just "pause and wait for input." Namzu has structured plan review, per-tool approval with destructiveness flags, checkpoint/resume across sessions, and a decision framework that gives humans real control without breaking the agent loop.
|
|
20
|
+
|
|
21
|
+
**Persona system with inheritance.** Define agent identity, expertise, reflexes, and output format as structured data. Specialize agents through inheritance — a base researcher persona becomes an ML researcher by merging one field. No prompt string concatenation.
|
|
22
|
+
|
|
23
|
+
**Progressive tool disclosure.** Agents don't see all tools at once. Tools start as deferred (searchable but not active), get activated on demand, and can be suspended. This keeps the LLM's context focused and reduces hallucinated tool calls.
|
|
24
|
+
|
|
25
|
+
| | Namzu | LangChain/LangGraph | CrewAI | OpenAI Agents SDK | Vercel AI SDK |
|
|
26
|
+
|---|---|---|---|---|---|
|
|
27
|
+
| Language | TypeScript | Python/JS | Python | Python/JS | TypeScript |
|
|
28
|
+
| Provider lock-in | None (BYOK) | Low | Low | Optimized for OpenAI | Low |
|
|
29
|
+
| Agent patterns | 4 (reactive, pipeline, router, supervisor) | Graph-based | Role-based crews | Handoffs | Single-agent |
|
|
30
|
+
| A2A protocol | Native | No | No | No | No |
|
|
31
|
+
| MCP support | Native (client + server) | Plugin | No | Client only | No |
|
|
32
|
+
| Multi-tenant | Built-in | No | No | No | No |
|
|
33
|
+
| Thread/Run separation | Yes | No | No | Sessions | No |
|
|
34
|
+
| Plan review (HITL) | Structured | Graph interrupts | No | Basic | Tool approval |
|
|
35
|
+
| Persona inheritance | Yes | No | Role strings | Instructions | System prompt |
|
|
36
|
+
| Progressive tool loading | Yes | No | No | No | No |
|
|
37
|
+
| RAG built-in | Full pipeline | Via integrations | Via integrations | Via tools | No |
|
|
38
|
+
| Telemetry | OpenTelemetry | LangSmith | CrewAI+ | Built-in tracing | No |
|
|
39
|
+
|
|
40
|
+
### Architecture Quality Scores
|
|
41
|
+
|
|
42
|
+
> **Note:** These scores are AI-generated based on public documentation, community feedback, and (for Namzu) direct codebase analysis. They are not official benchmarks — treat them as an informed architectural comparison, not a definitive ranking. We tried to be fair; if you disagree with a score, open an issue and let's discuss.
|
|
43
|
+
|
|
44
|
+
| Criterion | Namzu | LangChain/LangGraph | CrewAI | OpenAI Agents SDK | Vercel AI SDK |
|
|
45
|
+
|---|---|---|---|---|---|
|
|
46
|
+
| Type Safety | 9 | 5 | 7 | 7 | 9 |
|
|
47
|
+
| Modularity | 9 | 5 | 7 | 8 | 9 |
|
|
48
|
+
| Interface Segregation | 8 | 4 | 6 | 8 | 8 |
|
|
49
|
+
| Extensibility | 9 | 7 | 6 | 6 | 7 |
|
|
50
|
+
| Convention Consistency | 8 | 5 | 7 | 8 | 8 |
|
|
51
|
+
| Dependency Direction | 9 | 4 | 6 | 8 | 8 |
|
|
52
|
+
| **Overall** | **8.7** | **5.0** | **6.5** | **7.5** | **8.2** |
|
|
53
|
+
|
|
54
|
+
**What the scores tell us:**
|
|
55
|
+
|
|
56
|
+
- **Namzu** scores highest on type safety, extensibility, and dependency direction — its branded ID system, abstract base patterns, and clean acyclic module graph are genuine strengths.
|
|
57
|
+
|
|
58
|
+
- **LangChain/LangGraph** suffers from well-documented abstraction bloat and dependency issues. The community consistently reports difficulty debugging, deep coupling between modules, and frequent breaking changes.
|
|
59
|
+
|
|
60
|
+
- **CrewAI** offers clean role-based design with Pydantic validation, but is Python-only with limited extensibility for custom agent patterns beyond crews. Security-conscious with task-level tool scoping.
|
|
61
|
+
|
|
62
|
+
- **OpenAI Agents SDK** is deliberately minimal — four primitives, clean design, good type safety in its TypeScript variant. Limited by a narrow scope: no RAG, no multi-tenant, no A2A. Optimized for OpenAI models.
|
|
63
|
+
|
|
64
|
+
- **Vercel AI SDK** has the strongest frontend integration and end-to-end type safety from server to client. Clean modular architecture. Focused on web/chat UIs rather than backend agent orchestration.
|
|
65
|
+
|
|
66
|
+
**Where Namzu needs to improve:** Test coverage is the next priority — the focus so far has been getting the architecture and core abstractions right. Now that the foundation is solid, comprehensive testing is next. Contributions are very welcome here.
|
|
67
|
+
|
|
68
|
+
## What Can You Build?
|
|
69
|
+
|
|
70
|
+
Namzu is not a toy framework for chatbot demos. It's designed for real workloads — whether you're automating your homelab, streamlining business operations, or building a full agent platform.
|
|
71
|
+
|
|
72
|
+
### Personal & Homelab
|
|
73
|
+
|
|
74
|
+
**Your own AI assistant that actually does things.** Not just answers questions — executes. Connect it to your file system, your scripts, your local services via MCP, and let it manage your infrastructure through conversation.
|
|
75
|
+
|
|
76
|
+
- **Home automation agent** — monitors logs, restarts services, runs health checks, alerts you when something breaks. Give it bash + read-file tools and a reactive loop.
|
|
77
|
+
- **Personal research agent** — feeds documents into the RAG pipeline, builds a knowledge base from your notes/PDFs/bookmarks, and answers questions with citations from your own data.
|
|
78
|
+
- **Code review agent** — watches your repos, reviews PRs with a pipeline agent (extract diff → analyze → write review), posts feedback automatically.
|
|
79
|
+
- **Media organizer** — scans your library, categorizes files, renames based on metadata, deduplicates. A pipeline agent with file tools handles this end to end.
|
|
80
|
+
|
|
81
|
+
### Business & Team
|
|
82
|
+
|
|
83
|
+
**Agents that plug into your existing workflows.** Namzu's connector system and multi-tenant isolation mean you can deploy agents for different teams without them stepping on each other.
|
|
84
|
+
|
|
85
|
+
- **Customer support triage** — a router agent classifies incoming tickets and delegates to specialized agents (billing, technical, general). Each agent has its own persona, tools, and knowledge base.
|
|
86
|
+
- **Document processing pipeline** — ingest contracts, invoices, or reports through RAG. Agents extract key data, flag anomalies, and generate summaries. Human-in-the-loop ensures nothing gets approved without review.
|
|
87
|
+
- **Internal ops bot** — connects to your existing tools (Slack, Jira, databases) via HTTP connectors or MCP servers. Team members ask questions in natural language, the agent queries the right systems and responds.
|
|
88
|
+
- **Compliance checker** — a supervisor agent coordinates specialized sub-agents that each check a different regulation. Results are aggregated, flagged items go through plan review before any action is taken.
|
|
89
|
+
|
|
90
|
+
### Platform & SaaS
|
|
91
|
+
|
|
92
|
+
**Build a multi-tenant agent platform for your users.** This is what Namzu was designed for from the start.
|
|
93
|
+
|
|
94
|
+
- **Agent-as-a-Service** — each customer gets isolated agents with their own API keys (BYOK), connector configs, and knowledge bases. Tenant isolation is built in, not bolted on.
|
|
95
|
+
- **Agent marketplace** — define agents as portable definitions (info + tools + persona), publish them, let others deploy with their own keys and customize via persona inheritance.
|
|
96
|
+
- **Cross-organization workflows** — agents from different companies discover each other via A2A agent cards and collaborate on shared tasks without a central authority.
|
|
97
|
+
|
|
98
|
+
## Install
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
npm install @namzu/sdk
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Quick Start
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
import { defineAgent, defineTool, ProviderFactory } from '@namzu/sdk'
|
|
108
|
+
import { z } from 'zod'
|
|
109
|
+
|
|
110
|
+
// Define a tool
|
|
111
|
+
const searchWeb = defineTool({
|
|
112
|
+
name: 'search_web',
|
|
113
|
+
description: 'Search the web for information',
|
|
114
|
+
inputSchema: z.object({ query: z.string() }),
|
|
115
|
+
execute: async ({ query }) => {
|
|
116
|
+
const results = await fetch(`https://api.search.com?q=${query}`)
|
|
117
|
+
return { success: true, output: await results.text() }
|
|
118
|
+
},
|
|
119
|
+
})
|
|
120
|
+
|
|
121
|
+
// Create a provider
|
|
122
|
+
const provider = ProviderFactory.createProvider({
|
|
123
|
+
type: 'openrouter',
|
|
124
|
+
apiKey: process.env.OPENROUTER_KEY!,
|
|
125
|
+
model: 'anthropic/claude-sonnet-4-20250514',
|
|
126
|
+
})
|
|
127
|
+
|
|
128
|
+
// Define an agent
|
|
129
|
+
const agent = defineAgent({
|
|
130
|
+
info: {
|
|
131
|
+
id: 'researcher',
|
|
132
|
+
name: 'Research Assistant',
|
|
133
|
+
version: '1.0.0',
|
|
134
|
+
category: 'research',
|
|
135
|
+
description: 'Finds and synthesizes information from the web',
|
|
136
|
+
tools: ['search_web'],
|
|
137
|
+
defaults: { model: 'anthropic/claude-sonnet-4-20250514', tokenBudget: 8192 },
|
|
138
|
+
},
|
|
139
|
+
tools: [searchWeb],
|
|
140
|
+
})
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Agent Types
|
|
144
|
+
|
|
145
|
+
Namzu provides four agent orchestration patterns, each designed for different execution models.
|
|
146
|
+
|
|
147
|
+
### Reactive Agent
|
|
148
|
+
|
|
149
|
+
The core agentic loop. Sends messages to an LLM, executes tool calls, and iterates until the task is complete or a stop condition is hit (token budget, cost limit, timeout, max iterations).
|
|
150
|
+
|
|
151
|
+
```typescript
|
|
152
|
+
import { ReactiveAgent } from '@namzu/sdk'
|
|
153
|
+
|
|
154
|
+
const agent = new ReactiveAgent({ id: 'solver', name: 'Problem Solver' })
|
|
155
|
+
const result = await agent.run(
|
|
156
|
+
{ messages: [{ role: 'user', content: 'Analyze this dataset and find trends' }] },
|
|
157
|
+
{ provider, tools, systemPrompt: 'You are a data analyst.' },
|
|
158
|
+
)
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Pipeline Agent
|
|
162
|
+
|
|
163
|
+
Deterministic, sequential step execution. Each step receives the output of the previous one. Supports rollback on failure.
|
|
164
|
+
|
|
165
|
+
```typescript
|
|
166
|
+
import { PipelineAgent } from '@namzu/sdk'
|
|
167
|
+
|
|
168
|
+
const etl = new PipelineAgent({ id: 'etl', name: 'ETL Pipeline' })
|
|
169
|
+
const result = await etl.run(input, {
|
|
170
|
+
steps: [
|
|
171
|
+
{ name: 'extract', execute: async (inp) => await readSource(inp.path) },
|
|
172
|
+
{ name: 'transform', execute: async (data) => normalize(data) },
|
|
173
|
+
{ name: 'load', execute: async (data) => await writeToDb(data) },
|
|
174
|
+
],
|
|
175
|
+
})
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Router Agent
|
|
179
|
+
|
|
180
|
+
Intelligent delegation. An LLM analyzes the input and routes it to the best-suited agent from a set of candidates.
|
|
181
|
+
|
|
182
|
+
```typescript
|
|
183
|
+
import { RouterAgent } from '@namzu/sdk'
|
|
184
|
+
|
|
185
|
+
const router = new RouterAgent({ id: 'dispatcher', name: 'Task Router' })
|
|
186
|
+
const result = await router.run(input, {
|
|
187
|
+
provider,
|
|
188
|
+
routes: [
|
|
189
|
+
{ agentId: 'math-solver', agent: mathAgent, description: 'Solves equations' },
|
|
190
|
+
{ agentId: 'writer', agent: writerAgent, description: 'Writes content' },
|
|
191
|
+
],
|
|
192
|
+
fallbackAgentId: 'writer',
|
|
193
|
+
})
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Supervisor Agent
|
|
197
|
+
|
|
198
|
+
Multi-agent coordinator. Manages child agents, delegates tasks, aggregates results, and tracks the full run hierarchy.
|
|
199
|
+
|
|
200
|
+
```typescript
|
|
201
|
+
import { SupervisorAgent, AgentManager } from '@namzu/sdk'
|
|
202
|
+
|
|
203
|
+
const supervisor = new SupervisorAgent({ id: 'lead', name: 'Project Lead' })
|
|
204
|
+
const result = await supervisor.run(input, {
|
|
205
|
+
provider,
|
|
206
|
+
agentManager,
|
|
207
|
+
agentDefinitions: [researcherDef, writerDef, reviewerDef],
|
|
208
|
+
})
|
|
209
|
+
// Child runs tracked via parent_run_id and depth
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
## Tool System
|
|
213
|
+
|
|
214
|
+
Define tools with Zod schemas, permission declarations, and destructiveness flags. The SDK includes built-in tools for file I/O, shell commands, and glob search.
|
|
215
|
+
|
|
216
|
+
```typescript
|
|
217
|
+
import { defineTool, ToolRegistry, getBuiltinTools } from '@namzu/sdk'
|
|
218
|
+
import { z } from 'zod'
|
|
219
|
+
|
|
220
|
+
const fetchApi = defineTool({
|
|
221
|
+
name: 'fetch_api',
|
|
222
|
+
description: 'Call an external API endpoint',
|
|
223
|
+
inputSchema: z.object({ url: z.string().url(), method: z.enum(['GET', 'POST']) }),
|
|
224
|
+
category: 'network',
|
|
225
|
+
permissions: ['network_access'],
|
|
226
|
+
readOnly: true,
|
|
227
|
+
destructive: false,
|
|
228
|
+
execute: async ({ url, method }) => {
|
|
229
|
+
const resp = await fetch(url, { method })
|
|
230
|
+
return { success: true, output: await resp.text() }
|
|
231
|
+
},
|
|
232
|
+
})
|
|
233
|
+
|
|
234
|
+
// Tool registry with progressive activation
|
|
235
|
+
const registry = new ToolRegistry()
|
|
236
|
+
registry.register(getBuiltinTools(), 'deferred')
|
|
237
|
+
registry.register(fetchApi, 'active')
|
|
238
|
+
|
|
239
|
+
// Agents can search deferred tools and activate on demand
|
|
240
|
+
registry.activate(['read_file', 'bash'])
|
|
241
|
+
const llmTools = registry.toLLMTools() // Only active + suspended tools
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
Built-in tools: `ReadFileTool`, `WriteFileTool`, `BashTool`, `GlobTool`, `SearchToolsTool`
|
|
245
|
+
|
|
246
|
+
## Providers
|
|
247
|
+
|
|
248
|
+
Pluggable LLM backends with a unified interface for chat, streaming, and model discovery.
|
|
249
|
+
|
|
250
|
+
```typescript
|
|
251
|
+
import { ProviderFactory, OpenRouterProvider, BedrockProvider } from '@namzu/sdk'
|
|
252
|
+
|
|
253
|
+
// OpenRouter (BYOK)
|
|
254
|
+
const openrouter = ProviderFactory.createProvider({
|
|
255
|
+
type: 'openrouter',
|
|
256
|
+
apiKey: process.env.OPENROUTER_KEY!,
|
|
257
|
+
model: 'anthropic/claude-sonnet-4-20250514',
|
|
258
|
+
})
|
|
259
|
+
|
|
260
|
+
// AWS Bedrock
|
|
261
|
+
const bedrock = ProviderFactory.createProvider({
|
|
262
|
+
type: 'bedrock',
|
|
263
|
+
region: 'us-east-1',
|
|
264
|
+
model: 'anthropic.claude-3-sonnet-20240229-v1:0',
|
|
265
|
+
})
|
|
266
|
+
|
|
267
|
+
// Streaming
|
|
268
|
+
for await (const chunk of provider.chatStream(params)) {
|
|
269
|
+
process.stdout.write(chunk.delta?.content ?? '')
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
// Model discovery
|
|
273
|
+
const models = await provider.listModels()
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
## RAG
|
|
277
|
+
|
|
278
|
+
End-to-end retrieval-augmented generation: chunk documents, embed them, store and search vectors, and inject context into agent prompts.
|
|
279
|
+
|
|
280
|
+
```typescript
|
|
281
|
+
import {
|
|
282
|
+
TextChunker,
|
|
283
|
+
OpenRouterEmbeddingProvider,
|
|
284
|
+
InMemoryVectorStore,
|
|
285
|
+
DefaultRetriever,
|
|
286
|
+
DefaultIngestionPipeline,
|
|
287
|
+
DefaultKnowledgeBase,
|
|
288
|
+
createRAGTool,
|
|
289
|
+
} from '@namzu/sdk'
|
|
290
|
+
|
|
291
|
+
// Chunking (fixed-size, sentence, paragraph, or recursive)
|
|
292
|
+
const chunker = new TextChunker()
|
|
293
|
+
const chunks = chunker.chunk(document, {
|
|
294
|
+
strategy: 'recursive',
|
|
295
|
+
chunkSize: 512,
|
|
296
|
+
chunkOverlap: 64,
|
|
297
|
+
})
|
|
298
|
+
|
|
299
|
+
// Embedding
|
|
300
|
+
const embedder = new OpenRouterEmbeddingProvider({
|
|
301
|
+
model: 'openai/text-embedding-3-small',
|
|
302
|
+
apiKey: process.env.OPENROUTER_KEY!,
|
|
303
|
+
})
|
|
304
|
+
|
|
305
|
+
// Vector store and retriever
|
|
306
|
+
const vectorStore = new InMemoryVectorStore()
|
|
307
|
+
const retriever = new DefaultRetriever(vectorStore)
|
|
308
|
+
|
|
309
|
+
// Knowledge base
|
|
310
|
+
const kb = new DefaultKnowledgeBase({ retriever, ingestionPipeline })
|
|
311
|
+
await kb.ingest({ id: 'doc-1', title: 'API Guide', content: apiDoc })
|
|
312
|
+
const results = await kb.query({ text: 'How do I authenticate?', config: { topK: 5 } })
|
|
313
|
+
|
|
314
|
+
// Attach to agent as a tool
|
|
315
|
+
const ragTool = createRAGTool({
|
|
316
|
+
knowledgeBases: new Map([['docs', kb]]),
|
|
317
|
+
defaultKnowledgeBaseId: 'docs',
|
|
318
|
+
})
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
## Connectors
|
|
322
|
+
|
|
323
|
+
Unified framework for integrating external services — HTTP APIs, webhooks, and MCP servers — with execution contexts and multi-tenant isolation.
|
|
324
|
+
|
|
325
|
+
```typescript
|
|
326
|
+
import {
|
|
327
|
+
HttpConnector,
|
|
328
|
+
ConnectorRegistry,
|
|
329
|
+
MCPClient,
|
|
330
|
+
MCPConnectorBridge,
|
|
331
|
+
TenantConnectorManager,
|
|
332
|
+
} from '@namzu/sdk'
|
|
333
|
+
|
|
334
|
+
// HTTP connector
|
|
335
|
+
const slack = new HttpConnector({
|
|
336
|
+
id: 'slack',
|
|
337
|
+
baseUrl: 'https://slack.com/api',
|
|
338
|
+
methods: [
|
|
339
|
+
{ name: 'send_message', path: '/chat.postMessage', httpMethod: 'POST' },
|
|
340
|
+
],
|
|
341
|
+
})
|
|
342
|
+
|
|
343
|
+
// MCP client (stdio or HTTP-SSE transport)
|
|
344
|
+
const mcpClient = new MCPClient({
|
|
345
|
+
serverName: 'my-tools',
|
|
346
|
+
transport: { type: 'stdio', command: 'node', args: ['server.js'] },
|
|
347
|
+
})
|
|
348
|
+
await mcpClient.connect()
|
|
349
|
+
const tools = await mcpClient.listTools()
|
|
350
|
+
const result = await mcpClient.callTool('my_tool', { input: 'value' })
|
|
351
|
+
|
|
352
|
+
// Bridge MCP tools into Namzu tool system
|
|
353
|
+
const bridge = new MCPConnectorBridge(mcpClient)
|
|
354
|
+
const namzuTools = bridge.toToolDefinitions()
|
|
355
|
+
|
|
356
|
+
// Multi-tenant isolation
|
|
357
|
+
const tenantManager = new TenantConnectorManager({
|
|
358
|
+
connectorRegistry,
|
|
359
|
+
tenantId: 'org-123',
|
|
360
|
+
})
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
## Human-in-the-Loop
|
|
364
|
+
|
|
365
|
+
Pause agent execution for human review of plans and tool calls. Checkpoint and resume runs across sessions.
|
|
366
|
+
|
|
367
|
+
```typescript
|
|
368
|
+
import { PlanManager } from '@namzu/sdk'
|
|
369
|
+
|
|
370
|
+
const planManager = new PlanManager(runId, async (request) => {
|
|
371
|
+
if (request.type === 'plan_approval') {
|
|
372
|
+
// Present plan to user, get approval
|
|
373
|
+
const userDecision = await showPlanUI(request.plan)
|
|
374
|
+
return { approved: userDecision.approved }
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
if (request.type === 'tool_review') {
|
|
378
|
+
// Review tool calls before execution
|
|
379
|
+
const hasDestructive = request.toolCalls.some((t) => t.isDestructive)
|
|
380
|
+
if (hasDestructive) {
|
|
381
|
+
return { approved: false, feedback: 'Destructive tool blocked' }
|
|
382
|
+
}
|
|
383
|
+
return { approved: true }
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
return { action: 'continue' }
|
|
387
|
+
})
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
Checkpoint/resume enables long-running agents to pause and restart without losing state.
|
|
391
|
+
|
|
392
|
+
## A2A Protocol
|
|
393
|
+
|
|
394
|
+
Agent-to-Agent protocol support for cross-platform agent interoperability. Publish agent cards, accept A2A messages, and bridge between Namzu runs and A2A tasks.
|
|
395
|
+
|
|
396
|
+
```typescript
|
|
397
|
+
import { buildAgentCard, runToA2ATask, a2aMessageToCreateRun } from '@namzu/sdk'
|
|
398
|
+
|
|
399
|
+
// Publish agent capabilities as an A2A Agent Card
|
|
400
|
+
const card = buildAgentCard(agentInfo, {
|
|
401
|
+
baseUrl: 'https://api.example.com',
|
|
402
|
+
transport: 'rest',
|
|
403
|
+
providerOrganization: 'Cogitave',
|
|
404
|
+
})
|
|
405
|
+
// Serve at /.well-known/agent-card.json
|
|
406
|
+
|
|
407
|
+
// Convert inbound A2A message to a Namzu run
|
|
408
|
+
const runParams = a2aMessageToCreateRun(agentId, a2aMessage)
|
|
409
|
+
|
|
410
|
+
// Convert completed run to A2A task response
|
|
411
|
+
const a2aTask = runToA2ATask(run, messages)
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
## Streaming (SSE)
|
|
415
|
+
|
|
416
|
+
Map internal agent execution events to Server-Sent Events for real-time client updates.
|
|
417
|
+
|
|
418
|
+
```typescript
|
|
419
|
+
import { mapRunToStreamEvent } from '@namzu/sdk'
|
|
420
|
+
|
|
421
|
+
// 28 event types: run.*, iteration.*, tool.*, message.*, plan.*, agent.*, task.*
|
|
422
|
+
agent.on('event', (event) => {
|
|
423
|
+
const sseEvent = mapRunToStreamEvent(event, runId)
|
|
424
|
+
if (sseEvent) {
|
|
425
|
+
response.write(`event: ${sseEvent.wire}\ndata: ${JSON.stringify(sseEvent.data)}\n\n`)
|
|
426
|
+
}
|
|
427
|
+
})
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
## Persona System
|
|
431
|
+
|
|
432
|
+
Layer-based system prompt assembly with inheritance. Define identity, expertise, reflexes, and output format as structured data.
|
|
433
|
+
|
|
434
|
+
```typescript
|
|
435
|
+
import { assembleSystemPrompt, mergePersonas, withSessionContext } from '@namzu/sdk'
|
|
436
|
+
|
|
437
|
+
const basePersona = {
|
|
438
|
+
identity: { role: 'Research Agent', description: 'Gathers and synthesizes information' },
|
|
439
|
+
expertise: { domains: ['academic research', 'data analysis'] },
|
|
440
|
+
reflexes: { constraints: ['Always cite sources', 'Be concise'] },
|
|
441
|
+
output: { format: 'markdown' },
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
// Specialize via inheritance
|
|
445
|
+
const mlResearcher = mergePersonas(basePersona, {
|
|
446
|
+
expertise: { domains: ['machine learning', 'NLP'] },
|
|
447
|
+
})
|
|
448
|
+
|
|
449
|
+
// Assemble final system prompt with skills injected
|
|
450
|
+
const systemPrompt = assembleSystemPrompt(mlResearcher, loadedSkills)
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
## Skills System
|
|
454
|
+
|
|
455
|
+
Reusable agent behaviors with progressive disclosure (metadata-only → full body) and inheritance chains.
|
|
456
|
+
|
|
457
|
+
```typescript
|
|
458
|
+
import { SkillRegistry, resolveSkillChain } from '@namzu/sdk'
|
|
459
|
+
|
|
460
|
+
const registry = new SkillRegistry()
|
|
461
|
+
await registry.registerAll('/path/to/skills', 'metadata')
|
|
462
|
+
|
|
463
|
+
// Load full skill content on demand
|
|
464
|
+
const skill = await registry.load('web-search', 'full')
|
|
465
|
+
|
|
466
|
+
// Resolve inheritance: category skills + agent-specific overrides
|
|
467
|
+
const chain = await resolveSkillChain(
|
|
468
|
+
'/skills/shared',
|
|
469
|
+
'/skills/agent-specific',
|
|
470
|
+
'metadata',
|
|
471
|
+
)
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
## Threads & Conversations
|
|
475
|
+
|
|
476
|
+
Namzu separates **threads** (clean user↔assistant conversation history) from **runs** (full execution traces with tool calls, iterations, and internal state). This means multi-turn conversations carry only the relevant context — no tool noise leaking between runs.
|
|
477
|
+
|
|
478
|
+
```typescript
|
|
479
|
+
import { InMemoryConversationStore } from '@namzu/sdk'
|
|
480
|
+
|
|
481
|
+
const store = new InMemoryConversationStore({ maxMessages: 50 })
|
|
482
|
+
|
|
483
|
+
// Start a thread
|
|
484
|
+
store.createThread('thd_abc123')
|
|
485
|
+
store.addUserMessage('thd_abc123', 'What is the capital of France?')
|
|
486
|
+
|
|
487
|
+
// After a run completes, persist only the final assistant response
|
|
488
|
+
store.persistRunResult('thd_abc123', runId, runMessages)
|
|
489
|
+
|
|
490
|
+
// Next run loads clean conversation history (no tool calls, no system messages)
|
|
491
|
+
const history = store.loadMessages('thd_abc123')
|
|
492
|
+
// → [{ role: 'user', content: '...' }, { role: 'assistant', content: '...' }]
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
The `ConversationStore` interface is pluggable — swap in SQLite, Postgres, or any backend. The SDK ships with `InMemoryConversationStore` as the default.
|
|
496
|
+
|
|
497
|
+
## Persistence
|
|
498
|
+
|
|
499
|
+
In-memory and disk-backed stores for runs, tasks, conversations, and activities.
|
|
500
|
+
|
|
501
|
+
```typescript
|
|
502
|
+
import { RunPersistence, DiskTaskStore, InMemoryConversationStore } from '@namzu/sdk'
|
|
503
|
+
|
|
504
|
+
// Run persistence with token/cost tracking
|
|
505
|
+
const persistence = new RunPersistence({
|
|
506
|
+
runId,
|
|
507
|
+
agentId,
|
|
508
|
+
outputDir: './runs',
|
|
509
|
+
sessionConfig: { model: 'claude-3', temperature: 0.7 },
|
|
510
|
+
})
|
|
511
|
+
await persistence.init()
|
|
512
|
+
persistence.accumulateUsage({ promptTokens: 100, completionTokens: 50 })
|
|
513
|
+
await persistence.persist()
|
|
514
|
+
|
|
515
|
+
// Multi-tenant task store with atomic writes
|
|
516
|
+
const taskStore = new DiskTaskStore({
|
|
517
|
+
baseDir: './tasks',
|
|
518
|
+
defaultRunId: runId,
|
|
519
|
+
tenantId: 'org-1',
|
|
520
|
+
})
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
## Telemetry
|
|
524
|
+
|
|
525
|
+
OpenTelemetry integration for distributed tracing and metrics across agents, tools, and providers.
|
|
526
|
+
|
|
527
|
+
```typescript
|
|
528
|
+
import { initTelemetry, getTracer, getMeter, createPlatformMetrics } from '@namzu/sdk'
|
|
529
|
+
|
|
530
|
+
initTelemetry({
|
|
531
|
+
serviceName: 'agent-platform',
|
|
532
|
+
traceExporter: { endpoint: 'http://localhost:4318/v1/traces' },
|
|
533
|
+
metricsExporter: { endpoint: 'http://localhost:4318/v1/metrics' },
|
|
534
|
+
})
|
|
535
|
+
|
|
536
|
+
const tracer = getTracer()
|
|
537
|
+
const metrics = createPlatformMetrics()
|
|
538
|
+
|
|
539
|
+
const span = tracer.startSpan('agent.run')
|
|
540
|
+
metrics.tokenCounter.add(150, { agent_id: 'researcher', model: 'claude-3' })
|
|
541
|
+
span.end()
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
## Architecture
|
|
545
|
+
|
|
546
|
+
```
|
|
547
|
+
@namzu/sdk
|
|
548
|
+
├── agents/ Reactive, Pipeline, Router, Supervisor
|
|
549
|
+
├── bridge/ A2A protocol, SSE mapping, connector tools
|
|
550
|
+
├── config/ Runtime configuration with Zod schemas
|
|
551
|
+
├── connector/ HTTP, webhook, MCP client/server, tenant isolation
|
|
552
|
+
├── contracts/ API wire types and validation schemas
|
|
553
|
+
├── gateway/ Local task gateway
|
|
554
|
+
├── manager/ Plan lifecycle, agent coordination, run persistence
|
|
555
|
+
├── persona/ System prompt assembly and merging
|
|
556
|
+
├── provider/ OpenRouter, Bedrock, Mock LLM providers
|
|
557
|
+
├── rag/ Chunking, embedding, vector store, retrieval
|
|
558
|
+
├── registry/ Agent, tool, and managed registries
|
|
559
|
+
├── runtime/ Query engine, decision parser, context cache
|
|
560
|
+
├── skills/ Skill registry, discovery, and chaining
|
|
561
|
+
├── store/ In-memory, disk, conversation, activity stores
|
|
562
|
+
├── telemetry/ OpenTelemetry tracing and metrics
|
|
563
|
+
├── tools/ defineTool, built-in tools, task tools
|
|
564
|
+
├── types/ Full type system (57 files)
|
|
565
|
+
├── utils/ ID generation, cost calc, hashing, logging
|
|
566
|
+
└── vault/ Credential management
|
|
567
|
+
```
|
|
568
|
+
|
|
569
|
+
## Vision
|
|
570
|
+
|
|
571
|
+
AI agents shouldn't be locked behind walled gardens. Today, building production-grade agents means choosing a platform and accepting its constraints — its models, its pricing, its rules. We believe agent infrastructure should be open, composable, and owned by the people who build on it.
|
|
572
|
+
|
|
573
|
+
Namzu exists to make that real. A single SDK that works with any LLM, any tool ecosystem, any deployment model. No vendor lock-in. No surprise pricing changes. No permission needed.
|
|
574
|
+
|
|
575
|
+
### Where we're headed
|
|
576
|
+
|
|
577
|
+
**Now** — Core SDK with multi-agent orchestration, tool system, RAG, MCP, and A2A support. Everything you need to build and run agents locally or on your own infrastructure.
|
|
578
|
+
|
|
579
|
+
**Next** — Managed runtime for deploying agents at scale, conversational agent builder (build, configure, and deploy agents entirely through chat), and a marketplace for sharing agent definitions and tool connectors.
|
|
580
|
+
|
|
581
|
+
**Later** — Decentralized agent network where agents discover and collaborate with each other across organizations via A2A, without a central authority.
|
|
582
|
+
|
|
583
|
+
We're building this in the open because we believe the agent layer of the stack should belong to everyone. If you share this belief, come build with us.
|
|
584
|
+
|
|
585
|
+
## License
|
|
586
|
+
|
|
587
|
+
This software is licensed under the [Functional Source License, Version 1.1, MIT Future License (FSL-1.1-MIT)](./LICENSE.md).
|
|
588
|
+
|
|
589
|
+
**What this means:**
|
|
590
|
+
|
|
591
|
+
- **Free for internal use, education, and research**
|
|
592
|
+
- **Free to use in your own products** (as long as you're not building a competing agent platform)
|
|
593
|
+
- **Each version converts to MIT after 2 years** — fully open source, no strings attached
|
|
594
|
+
|
|
595
|
+
Enterprise licensing is available for organizations that need to build competing products or services. Contact us at enterprise@cogitave.com.
|
|
596
|
+
|
|
597
|
+
## Contributing
|
|
598
|
+
|
|
599
|
+
We welcome contributions! Please read our contributing guidelines (coming soon) before submitting a PR.
|
|
600
|
+
|
|
601
|
+
## Security
|
|
602
|
+
|
|
603
|
+
Found a vulnerability? Please report it responsibly. See [SECURITY.md](./SECURITY.md) for details.
|
|
604
|
+
|
|
605
|
+
---
|
|
606
|
+
|
|
607
|
+
Built by [@bahadirarda](https://github.com/bahadirarda) · [Cogitave](https://github.com/Cogitave)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AgentManager } from "../manager/agent/lifecycle.js";
|
|
2
|
+
import type { Agent, AgentCapabilities, AgentInput, AgentMetadata, AgentType, BaseAgentConfig, BaseAgentResult } from "../types/agent/index.js";
|
|
3
|
+
import type { RunId } from "../types/ids/index.js";
|
|
4
|
+
import type { RunEvent, RunEventListener } from "../types/run/index.js";
|
|
5
|
+
import { type Logger } from "../utils/logger.js";
|
|
6
|
+
export declare abstract class AbstractAgent<TConfig extends BaseAgentConfig = BaseAgentConfig, TResult extends BaseAgentResult = BaseAgentResult> implements Agent<TConfig, TResult> {
|
|
7
|
+
abstract readonly type: AgentType;
|
|
8
|
+
readonly metadata: AgentMetadata;
|
|
9
|
+
protected log: Logger;
|
|
10
|
+
protected abortController: AbortController;
|
|
11
|
+
protected agentManager?: AgentManager;
|
|
12
|
+
protected currentRunId?: RunId;
|
|
13
|
+
constructor(metadata: AgentMetadata);
|
|
14
|
+
abstract run(input: AgentInput, config: TConfig, listener?: RunEventListener): Promise<TResult>;
|
|
15
|
+
cancel(): Promise<void>;
|
|
16
|
+
getCapabilities(): AgentCapabilities;
|
|
17
|
+
protected createRunId(): RunId;
|
|
18
|
+
protected createEmptyResult(runId: RunId, startTime: number): BaseAgentResult;
|
|
19
|
+
protected emitEvent(event: RunEvent, listener?: RunEventListener): Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=AbstractAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractAgent.d.ts","sourceRoot":"","sources":["../../src/agents/AbstractAgent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EACX,KAAK,EACL,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,SAAS,EACT,eAAe,EACf,eAAe,EACf,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EACX,QAAQ,EACR,gBAAgB,EAChB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,oBAAoB,CAAC;AAEhE,8BAAsB,aAAa,CAClC,OAAO,SAAS,eAAe,GAAG,eAAe,EACjD,OAAO,SAAS,eAAe,GAAG,eAAe,CAChD,YAAW,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAEnC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAE3C,SAAS,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IAEtC,SAAS,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;gBAEnB,QAAQ,EAAE,aAAa;IASnC,QAAQ,CAAC,GAAG,CACX,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,OAAO,CAAC;IAEb,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ7B,eAAe,IAAI,iBAAiB;IAIpC,SAAS,CAAC,WAAW,IAAI,KAAK;IAI9B,SAAS,CAAC,iBAAiB,CAC1B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,GACf,eAAe;cAYF,SAAS,CACxB,KAAK,EAAE,QAAQ,EACf,QAAQ,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,CAAC;CAUhB"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { EMPTY_TOKEN_USAGE } from "../types/common/index.js";
|
|
2
|
+
import { ZERO_COST } from "../utils/cost.js";
|
|
3
|
+
import { toErrorMessage } from "../utils/error.js";
|
|
4
|
+
import { generateRunId } from "../utils/id.js";
|
|
5
|
+
import { getRootLogger } from "../utils/logger.js";
|
|
6
|
+
export class AbstractAgent {
|
|
7
|
+
metadata;
|
|
8
|
+
log;
|
|
9
|
+
abortController;
|
|
10
|
+
agentManager;
|
|
11
|
+
currentRunId;
|
|
12
|
+
constructor(metadata) {
|
|
13
|
+
this.metadata = metadata;
|
|
14
|
+
this.abortController = new AbortController();
|
|
15
|
+
this.log = getRootLogger().child({
|
|
16
|
+
component: `Agent:${metadata.type}`,
|
|
17
|
+
agentId: metadata.id,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
async cancel() {
|
|
21
|
+
this.abortController.abort();
|
|
22
|
+
if (this.agentManager && this.currentRunId) {
|
|
23
|
+
this.agentManager.cancelAll(this.currentRunId);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
getCapabilities() {
|
|
27
|
+
return this.metadata.capabilities;
|
|
28
|
+
}
|
|
29
|
+
createRunId() {
|
|
30
|
+
return generateRunId();
|
|
31
|
+
}
|
|
32
|
+
createEmptyResult(runId, startTime) {
|
|
33
|
+
return {
|
|
34
|
+
runId,
|
|
35
|
+
status: "idle",
|
|
36
|
+
usage: { ...EMPTY_TOKEN_USAGE },
|
|
37
|
+
cost: { ...ZERO_COST },
|
|
38
|
+
iterations: 0,
|
|
39
|
+
durationMs: Date.now() - startTime,
|
|
40
|
+
messages: [],
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
async emitEvent(event, listener) {
|
|
44
|
+
if (!listener)
|
|
45
|
+
return;
|
|
46
|
+
try {
|
|
47
|
+
await listener(event);
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
this.log.error("Event listener error", {
|
|
51
|
+
error: toErrorMessage(err),
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=AbstractAgent.js.map
|