@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
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { createUserMessage } from "../../../../types/message/index.js";
|
|
2
|
+
import type { ChatCompletionResponse } from "../../../../types/provider/index.js";
|
|
3
|
+
import type { RunEvent } from "../../../../types/run/index.js";
|
|
4
|
+
import type { IterationContext } from "./context.js";
|
|
5
|
+
|
|
6
|
+
export type ToolReviewOutcome = "executed" | "rejected" | "stop";
|
|
7
|
+
|
|
8
|
+
export async function* runToolReview(
|
|
9
|
+
ctx: IterationContext,
|
|
10
|
+
response: ChatCompletionResponse,
|
|
11
|
+
iterationNum: number,
|
|
12
|
+
): AsyncGenerator<RunEvent, ToolReviewOutcome> {
|
|
13
|
+
const toolCalls = response.message.toolCalls!;
|
|
14
|
+
|
|
15
|
+
const toolCallSummaries = toolCalls.map((tc) => {
|
|
16
|
+
let input: unknown;
|
|
17
|
+
try {
|
|
18
|
+
input = JSON.parse(tc.function.arguments);
|
|
19
|
+
} catch {
|
|
20
|
+
input = tc.function.arguments;
|
|
21
|
+
}
|
|
22
|
+
const tool = ctx.tools.get(tc.function.name);
|
|
23
|
+
const isDestructive = tool?.isDestructive
|
|
24
|
+
? tool.isDestructive(input)
|
|
25
|
+
: false;
|
|
26
|
+
|
|
27
|
+
return {
|
|
28
|
+
id: tc.id,
|
|
29
|
+
name: tc.function.name,
|
|
30
|
+
input,
|
|
31
|
+
isDestructive,
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
const reviewCheckpoint = await ctx.checkpointMgr.create(
|
|
36
|
+
ctx.sessionMgr,
|
|
37
|
+
iterationNum,
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
await ctx.emitEvent({
|
|
41
|
+
type: "tool_review_requested",
|
|
42
|
+
runId: ctx.sessionMgr.id,
|
|
43
|
+
toolCalls: toolCallSummaries,
|
|
44
|
+
iteration: iterationNum,
|
|
45
|
+
});
|
|
46
|
+
yield* ctx.drainPending();
|
|
47
|
+
|
|
48
|
+
const reviewDecision = await ctx.resumeHandler({
|
|
49
|
+
type: "tool_review",
|
|
50
|
+
runId: ctx.sessionMgr.id,
|
|
51
|
+
checkpointId: reviewCheckpoint.id,
|
|
52
|
+
toolCalls: toolCallSummaries,
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
switch (reviewDecision.action) {
|
|
56
|
+
case "reject_tools": {
|
|
57
|
+
await ctx.emitEvent({
|
|
58
|
+
type: "tool_review_completed",
|
|
59
|
+
runId: ctx.sessionMgr.id,
|
|
60
|
+
decision: "rejected",
|
|
61
|
+
});
|
|
62
|
+
yield* ctx.drainPending();
|
|
63
|
+
|
|
64
|
+
const feedback =
|
|
65
|
+
reviewDecision.feedback || "User rejected the tool calls";
|
|
66
|
+
ctx.sessionMgr.pushMessage(
|
|
67
|
+
createUserMessage(`[SYSTEM] Tool calls rejected: ${feedback}`),
|
|
68
|
+
);
|
|
69
|
+
return "rejected";
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
case "modify_tools": {
|
|
73
|
+
await ctx.emitEvent({
|
|
74
|
+
type: "tool_review_completed",
|
|
75
|
+
runId: ctx.sessionMgr.id,
|
|
76
|
+
decision: "modified",
|
|
77
|
+
});
|
|
78
|
+
yield* ctx.drainPending();
|
|
79
|
+
|
|
80
|
+
for (const mod of reviewDecision.modifications) {
|
|
81
|
+
if (mod.action === "modify" && mod.modifiedInput !== undefined) {
|
|
82
|
+
const tc = toolCalls.find((t) => t.id === mod.toolCallId);
|
|
83
|
+
if (tc) {
|
|
84
|
+
tc.function.arguments = JSON.stringify(mod.modifiedInput);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
const deniedIds = new Set(
|
|
90
|
+
reviewDecision.modifications
|
|
91
|
+
.filter((m) => m.action === "deny")
|
|
92
|
+
.map((m) => m.toolCallId),
|
|
93
|
+
);
|
|
94
|
+
const filteredToolCalls = toolCalls.filter((tc) => !deniedIds.has(tc.id));
|
|
95
|
+
|
|
96
|
+
if (filteredToolCalls.length === 0) {
|
|
97
|
+
ctx.sessionMgr.pushMessage(
|
|
98
|
+
createUserMessage("[SYSTEM] All tool calls were denied by user"),
|
|
99
|
+
);
|
|
100
|
+
return "rejected";
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const batch = await ctx.toolExecutor.executeBatch({
|
|
104
|
+
...response,
|
|
105
|
+
message: { ...response.message, toolCalls: filteredToolCalls },
|
|
106
|
+
});
|
|
107
|
+
for (const msg of batch.messages) {
|
|
108
|
+
ctx.sessionMgr.pushMessage(msg);
|
|
109
|
+
}
|
|
110
|
+
return "executed";
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
case "pause": {
|
|
114
|
+
await ctx.emitEvent({
|
|
115
|
+
type: "tool_review_completed",
|
|
116
|
+
runId: ctx.sessionMgr.id,
|
|
117
|
+
decision: "rejected",
|
|
118
|
+
});
|
|
119
|
+
await ctx.emitEvent({
|
|
120
|
+
type: "run_paused",
|
|
121
|
+
runId: ctx.sessionMgr.id,
|
|
122
|
+
checkpointId: reviewCheckpoint.id,
|
|
123
|
+
reason: reviewDecision.reason,
|
|
124
|
+
});
|
|
125
|
+
yield* ctx.drainPending();
|
|
126
|
+
ctx.sessionMgr.setStopReason("paused");
|
|
127
|
+
return "stop";
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
case "abort": {
|
|
131
|
+
await ctx.emitEvent({
|
|
132
|
+
type: "tool_review_completed",
|
|
133
|
+
runId: ctx.sessionMgr.id,
|
|
134
|
+
decision: "rejected",
|
|
135
|
+
});
|
|
136
|
+
yield* ctx.drainPending();
|
|
137
|
+
ctx.sessionMgr.setStopReason("cancelled");
|
|
138
|
+
ctx.sessionMgr.markCancelled();
|
|
139
|
+
return "stop";
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
case "approve_tools":
|
|
143
|
+
case "continue": {
|
|
144
|
+
await ctx.emitEvent({
|
|
145
|
+
type: "tool_review_completed",
|
|
146
|
+
runId: ctx.sessionMgr.id,
|
|
147
|
+
decision: "approved",
|
|
148
|
+
});
|
|
149
|
+
yield* ctx.drainPending();
|
|
150
|
+
|
|
151
|
+
const batch = await ctx.toolExecutor.executeBatch(response);
|
|
152
|
+
for (const msg of batch.messages) {
|
|
153
|
+
ctx.sessionMgr.pushMessage(msg);
|
|
154
|
+
}
|
|
155
|
+
return "executed";
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
case "approve_plan":
|
|
159
|
+
case "reject_plan": {
|
|
160
|
+
ctx.log.warn("Unexpected plan decision during tool review", {
|
|
161
|
+
action: reviewDecision.action,
|
|
162
|
+
});
|
|
163
|
+
const batch = await ctx.toolExecutor.executeBatch(response);
|
|
164
|
+
for (const msg of batch.messages) {
|
|
165
|
+
ctx.sessionMgr.pushMessage(msg);
|
|
166
|
+
}
|
|
167
|
+
return "executed";
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
default: {
|
|
171
|
+
const _exhaustive: never = reviewDecision;
|
|
172
|
+
throw new Error(
|
|
173
|
+
`Unhandled tool review decision: ${(_exhaustive as { action: string }).action}`,
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { AgentPersona } from '../../types/persona/index.js'
|
|
2
|
+
import type { Skill } from '../../types/skills/index.js'
|
|
3
|
+
import type { ToolRegistry } from '../../registry/tool/execute.js'
|
|
4
|
+
import type { AgentContextLevel } from '../../types/agent/factory.js'
|
|
5
|
+
import { assembleSystemPrompt } from '../../persona/assembler.js'
|
|
6
|
+
|
|
7
|
+
const FILESYSTEM_TOOLS = new Set(['glob', 'read_file', 'write_file', 'bash'])
|
|
8
|
+
|
|
9
|
+
export interface PromptBuilderConfig {
|
|
10
|
+
systemPrompt?: string
|
|
11
|
+
|
|
12
|
+
persona?: AgentPersona
|
|
13
|
+
|
|
14
|
+
skills?: Skill[]
|
|
15
|
+
|
|
16
|
+
basePrompt?: string
|
|
17
|
+
|
|
18
|
+
tools: ToolRegistry
|
|
19
|
+
allowedTools?: string[]
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function buildEnvContext(workingDirectory: string): string {
|
|
23
|
+
return `<env>
|
|
24
|
+
Working directory: ${workingDirectory}
|
|
25
|
+
Platform: ${process.platform}
|
|
26
|
+
</env>
|
|
27
|
+
|
|
28
|
+
IMPORTANT: Always use absolute paths based on the working directory above. Before reading a file, use the glob tool to discover actual file paths — never guess or hallucinate paths.`
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function hasFilesystemTools(tools: ToolRegistry, allowedTools?: string[]): boolean {
|
|
32
|
+
const activeTools = allowedTools ?? tools.listNames()
|
|
33
|
+
return activeTools.some(name => FILESYSTEM_TOOLS.has(name))
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export class PromptBuilder {
|
|
37
|
+
private config: PromptBuilderConfig
|
|
38
|
+
|
|
39
|
+
constructor(config: PromptBuilderConfig) {
|
|
40
|
+
this.config = config
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
build(contextLevel: AgentContextLevel = 'full', workingDirectory?: string): string {
|
|
44
|
+
const parts: string[] = []
|
|
45
|
+
|
|
46
|
+
if (contextLevel === 'full' && this.config.basePrompt) {
|
|
47
|
+
parts.push(this.config.basePrompt)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (this.config.systemPrompt) {
|
|
51
|
+
parts.push(this.config.systemPrompt)
|
|
52
|
+
} else if (this.config.persona) {
|
|
53
|
+
parts.push(assembleSystemPrompt(this.config.persona, this.config.skills))
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (contextLevel !== 'minimal') {
|
|
57
|
+
const toolSection = this.config.tools.toPromptSection(this.config.allowedTools)
|
|
58
|
+
if (toolSection) {
|
|
59
|
+
parts.push(toolSection)
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (
|
|
64
|
+
contextLevel !== 'minimal' &&
|
|
65
|
+
workingDirectory &&
|
|
66
|
+
hasFilesystemTools(this.config.tools, this.config.allowedTools)
|
|
67
|
+
) {
|
|
68
|
+
parts.push(buildEnvContext(workingDirectory))
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return parts.join('\n\n---\n\n')
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { AgentRun, RunEvent } from '../../types/run/index.js'
|
|
2
|
+
import type { RunPersistence } from '../../manager/run/persistence.js'
|
|
3
|
+
import type { PlanManager } from '../../manager/plan/lifecycle.js'
|
|
4
|
+
import type { ActivityStore } from '../../store/activity/memory.js'
|
|
5
|
+
import type { Logger } from '../../utils/logger.js'
|
|
6
|
+
import type { EmitEvent } from './events.js'
|
|
7
|
+
import { SpanStatusCode } from '@opentelemetry/api'
|
|
8
|
+
import { toErrorMessage } from '../../utils/error.js'
|
|
9
|
+
import { GENAI, NAMZU } from '../../telemetry/attributes.js'
|
|
10
|
+
import type { Span } from '@opentelemetry/api'
|
|
11
|
+
|
|
12
|
+
export interface ResultAssemblerConfig {
|
|
13
|
+
sessionMgr: RunPersistence
|
|
14
|
+
planManager: PlanManager
|
|
15
|
+
activityStore: ActivityStore
|
|
16
|
+
log: Logger
|
|
17
|
+
emitEvent: EmitEvent
|
|
18
|
+
drainPending: () => Generator<RunEvent>
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export class ResultAssembler {
|
|
22
|
+
private config: ResultAssemblerConfig
|
|
23
|
+
|
|
24
|
+
constructor(config: ResultAssemblerConfig) {
|
|
25
|
+
this.config = config
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
async *completeRun(rootSpan: Span): AsyncGenerator<RunEvent> {
|
|
29
|
+
const { sessionMgr, activityStore, log, emitEvent, drainPending } = this.config
|
|
30
|
+
|
|
31
|
+
if (sessionMgr.status === 'running') {
|
|
32
|
+
sessionMgr.markCompleted(sessionMgr.stopReason)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
await emitEvent({
|
|
36
|
+
type: 'run_completed',
|
|
37
|
+
runId: sessionMgr.id,
|
|
38
|
+
result: sessionMgr.getRun().result ?? '',
|
|
39
|
+
})
|
|
40
|
+
yield* drainPending()
|
|
41
|
+
|
|
42
|
+
rootSpan.setAttributes({
|
|
43
|
+
[NAMZU.SESSION_STATUS]: sessionMgr.stopReason ?? 'completed',
|
|
44
|
+
[NAMZU.ITERATION]: sessionMgr.currentIteration,
|
|
45
|
+
[GENAI.USAGE_INPUT_TOKENS]: sessionMgr.tokenUsage.promptTokens,
|
|
46
|
+
[GENAI.USAGE_OUTPUT_TOKENS]: sessionMgr.tokenUsage.completionTokens,
|
|
47
|
+
})
|
|
48
|
+
rootSpan.setStatus({ code: SpanStatusCode.OK })
|
|
49
|
+
|
|
50
|
+
log.info('Query completed', {
|
|
51
|
+
runId: sessionMgr.id,
|
|
52
|
+
iterations: sessionMgr.currentIteration,
|
|
53
|
+
stopReason: sessionMgr.stopReason,
|
|
54
|
+
activityStats: activityStore.enabled ? activityStore.stats() : undefined,
|
|
55
|
+
})
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
async *completeSession(rootSpan: Span): AsyncGenerator<RunEvent> {
|
|
59
|
+
yield* this.completeRun(rootSpan)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
async *handleError(err: unknown, rootSpan: Span): AsyncGenerator<RunEvent> {
|
|
63
|
+
const { sessionMgr, planManager, log, emitEvent, drainPending } = this.config
|
|
64
|
+
const errorMessage = toErrorMessage(err)
|
|
65
|
+
sessionMgr.markFailed(errorMessage)
|
|
66
|
+
|
|
67
|
+
if (planManager.isActive) {
|
|
68
|
+
planManager.failPlan(errorMessage)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
await emitEvent({
|
|
72
|
+
type: 'run_failed',
|
|
73
|
+
runId: sessionMgr.id,
|
|
74
|
+
error: errorMessage,
|
|
75
|
+
})
|
|
76
|
+
yield* drainPending()
|
|
77
|
+
|
|
78
|
+
rootSpan.setAttributes({
|
|
79
|
+
[NAMZU.SESSION_STATUS]: 'error',
|
|
80
|
+
[NAMZU.ITERATION]: sessionMgr.currentIteration,
|
|
81
|
+
})
|
|
82
|
+
rootSpan.setStatus({ code: SpanStatusCode.ERROR, message: errorMessage })
|
|
83
|
+
rootSpan.recordException(err instanceof Error ? err : new Error(errorMessage))
|
|
84
|
+
|
|
85
|
+
log.error('Query failed', {
|
|
86
|
+
runId: sessionMgr.id,
|
|
87
|
+
error: errorMessage,
|
|
88
|
+
})
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
async finalize(): Promise<AgentRun> {
|
|
92
|
+
await this.config.sessionMgr.persist()
|
|
93
|
+
return this.config.sessionMgr.getRun()
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { PermissionMode } from '../../types/permission/index.js'
|
|
2
|
+
import type { RunEvent } from '../../types/run/index.js'
|
|
3
|
+
import type { RunId } from '../../types/ids/index.js'
|
|
4
|
+
import type { ToolRegistry } from '../../registry/tool/execute.js'
|
|
5
|
+
import type { ActivityStore } from '../../store/activity/memory.js'
|
|
6
|
+
import type { Logger } from '../../utils/logger.js'
|
|
7
|
+
import { ToolExecutor } from './executor.js'
|
|
8
|
+
|
|
9
|
+
export type EmitEvent = (event: RunEvent) => Promise<void>
|
|
10
|
+
|
|
11
|
+
export interface ToolingBootstrapConfig {
|
|
12
|
+
tools: ToolRegistry
|
|
13
|
+
runId: RunId
|
|
14
|
+
workingDirectory: string
|
|
15
|
+
permissionMode: PermissionMode
|
|
16
|
+
env: Record<string, string>
|
|
17
|
+
abortSignal: AbortSignal
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export class ToolingBootstrap {
|
|
21
|
+
static init(
|
|
22
|
+
config: ToolingBootstrapConfig,
|
|
23
|
+
activityStore: ActivityStore,
|
|
24
|
+
emitEvent: EmitEvent,
|
|
25
|
+
log: Logger,
|
|
26
|
+
): ToolExecutor {
|
|
27
|
+
return new ToolExecutor(
|
|
28
|
+
{
|
|
29
|
+
tools: config.tools,
|
|
30
|
+
runId: config.runId,
|
|
31
|
+
workingDirectory: config.workingDirectory,
|
|
32
|
+
permissionMode: config.permissionMode,
|
|
33
|
+
env: config.env,
|
|
34
|
+
abortSignal: config.abortSignal,
|
|
35
|
+
},
|
|
36
|
+
activityStore,
|
|
37
|
+
emitEvent,
|
|
38
|
+
log,
|
|
39
|
+
)
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { readFile, readdir, stat } from 'node:fs/promises'
|
|
2
|
+
import { join, basename } from 'node:path'
|
|
3
|
+
import type { Skill, SkillMetadata, SkillDisclosureLevel, SkillLoadResult } from '../types/skills/index.js'
|
|
4
|
+
import { getRootLogger } from '../utils/logger.js'
|
|
5
|
+
|
|
6
|
+
const logger = getRootLogger().child({ component: 'SkillLoader' })
|
|
7
|
+
|
|
8
|
+
const SKILL_FILENAME = 'SKILL.md'
|
|
9
|
+
const FRONTMATTER_DELIMITER = '---'
|
|
10
|
+
|
|
11
|
+
interface ParsedSkillMd {
|
|
12
|
+
metadata: SkillMetadata
|
|
13
|
+
body: string
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function parseSkillMd(raw: string, dirPath: string): ParsedSkillMd {
|
|
17
|
+
const trimmed = raw.trimStart()
|
|
18
|
+
|
|
19
|
+
if (!trimmed.startsWith(FRONTMATTER_DELIMITER)) {
|
|
20
|
+
throw new Error(`SKILL.md at "${dirPath}" has no YAML frontmatter`)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const endIdx = trimmed.indexOf(FRONTMATTER_DELIMITER, FRONTMATTER_DELIMITER.length)
|
|
24
|
+
if (endIdx === -1) {
|
|
25
|
+
throw new Error(`SKILL.md at "${dirPath}" has unclosed frontmatter`)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const frontmatterRaw = trimmed.slice(FRONTMATTER_DELIMITER.length, endIdx).trim()
|
|
29
|
+
const body = trimmed.slice(endIdx + FRONTMATTER_DELIMITER.length).trim()
|
|
30
|
+
|
|
31
|
+
const metadata = parseFlatYaml(frontmatterRaw, dirPath)
|
|
32
|
+
|
|
33
|
+
return { metadata, body }
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function parseFlatYaml(raw: string, dirPath: string): SkillMetadata {
|
|
37
|
+
const lines = raw.split('\n')
|
|
38
|
+
const kv: Record<string, string> = {}
|
|
39
|
+
|
|
40
|
+
for (const line of lines) {
|
|
41
|
+
const colonIdx = line.indexOf(':')
|
|
42
|
+
if (colonIdx === -1) continue
|
|
43
|
+
const key = line.slice(0, colonIdx).trim()
|
|
44
|
+
const value = line.slice(colonIdx + 1).trim()
|
|
45
|
+
|
|
46
|
+
kv[key] = value.replace(/^["']|["']$/g, '')
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if (!kv['name']) {
|
|
50
|
+
throw new Error(`SKILL.md at "${dirPath}" missing required field: name`)
|
|
51
|
+
}
|
|
52
|
+
if (!kv['description']) {
|
|
53
|
+
throw new Error(`SKILL.md at "${dirPath}" missing required field: description`)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
validateSkillName(kv['name'], dirPath)
|
|
57
|
+
validateDescription(kv['description'], dirPath)
|
|
58
|
+
|
|
59
|
+
const metadata: SkillMetadata = {
|
|
60
|
+
name: kv['name'],
|
|
61
|
+
description: kv['description'],
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (kv['compatibility']) {
|
|
65
|
+
if (kv['compatibility'].length > 500) {
|
|
66
|
+
throw new Error(`SKILL.md at "${dirPath}": compatibility exceeds 500 characters`)
|
|
67
|
+
}
|
|
68
|
+
metadata.compatibility = kv['compatibility']
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return metadata
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const SKILL_NAME_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/
|
|
75
|
+
|
|
76
|
+
function validateSkillName(name: string, dirPath: string): void {
|
|
77
|
+
if (name.length > 64) {
|
|
78
|
+
throw new Error(`SKILL.md at "${dirPath}": name exceeds 64 characters`)
|
|
79
|
+
}
|
|
80
|
+
if (!SKILL_NAME_PATTERN.test(name)) {
|
|
81
|
+
throw new Error(
|
|
82
|
+
`SKILL.md at "${dirPath}": name "${name}" must be lowercase alphanumeric with hyphens, ` +
|
|
83
|
+
`no leading/trailing hyphens, no consecutive hyphens`,
|
|
84
|
+
)
|
|
85
|
+
}
|
|
86
|
+
const expectedName = basename(dirPath)
|
|
87
|
+
if (name !== expectedName) {
|
|
88
|
+
throw new Error(
|
|
89
|
+
`SKILL.md at "${dirPath}": name "${name}" must match directory name "${expectedName}"`,
|
|
90
|
+
)
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function validateDescription(description: string, dirPath: string): void {
|
|
95
|
+
if (description.length === 0) {
|
|
96
|
+
throw new Error(`SKILL.md at "${dirPath}": description must not be empty`)
|
|
97
|
+
}
|
|
98
|
+
if (description.length > 1024) {
|
|
99
|
+
throw new Error(`SKILL.md at "${dirPath}": description exceeds 1024 characters`)
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const CHARS_PER_TOKEN = 4
|
|
104
|
+
|
|
105
|
+
function estimateTokens(text: string): number {
|
|
106
|
+
return Math.ceil(text.length / CHARS_PER_TOKEN)
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export async function loadSkill(
|
|
110
|
+
dirPath: string,
|
|
111
|
+
level: SkillDisclosureLevel = 'metadata',
|
|
112
|
+
): Promise<SkillLoadResult> {
|
|
113
|
+
const skillMdPath = join(dirPath, SKILL_FILENAME)
|
|
114
|
+
const raw = await readFile(skillMdPath, 'utf-8')
|
|
115
|
+
const parsed = parseSkillMd(raw, dirPath)
|
|
116
|
+
|
|
117
|
+
const skill: Skill = {
|
|
118
|
+
metadata: parsed.metadata,
|
|
119
|
+
dirPath,
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
if (level === 'full' || level === 'assets') {
|
|
123
|
+
skill.body = parsed.body
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
const metadataTokens = estimateTokens(`${parsed.metadata.name}: ${parsed.metadata.description}`)
|
|
127
|
+
const bodyTokens = skill.body ? estimateTokens(skill.body) : 0
|
|
128
|
+
|
|
129
|
+
logger.debug('Loaded skill', {
|
|
130
|
+
name: parsed.metadata.name,
|
|
131
|
+
level,
|
|
132
|
+
tokens: metadataTokens + bodyTokens,
|
|
133
|
+
})
|
|
134
|
+
|
|
135
|
+
return {
|
|
136
|
+
skill,
|
|
137
|
+
disclosureLevel: level,
|
|
138
|
+
tokenEstimate: metadataTokens + bodyTokens,
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export async function discoverSkills(parentDir: string): Promise<string[]> {
|
|
143
|
+
const dirs: string[] = []
|
|
144
|
+
|
|
145
|
+
try {
|
|
146
|
+
const entries = await readdir(parentDir)
|
|
147
|
+
for (const entry of entries) {
|
|
148
|
+
if (entry.startsWith('.') || entry.startsWith('_')) continue
|
|
149
|
+
const fullPath = join(parentDir, entry)
|
|
150
|
+
const s = await stat(fullPath)
|
|
151
|
+
if (!s.isDirectory()) continue
|
|
152
|
+
|
|
153
|
+
const skillMdPath = join(fullPath, SKILL_FILENAME)
|
|
154
|
+
try {
|
|
155
|
+
await stat(skillMdPath)
|
|
156
|
+
dirs.push(fullPath)
|
|
157
|
+
} catch {}
|
|
158
|
+
}
|
|
159
|
+
} catch {
|
|
160
|
+
logger.debug('Skills directory not found', { parentDir })
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
return dirs
|
|
164
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import type { Skill, SkillChain, SkillDisclosureLevel, SkillLoadResult } from '../types/skills/index.js'
|
|
2
|
+
import { discoverSkills, loadSkill } from './loader.js'
|
|
3
|
+
import { getRootLogger } from '../utils/logger.js'
|
|
4
|
+
|
|
5
|
+
const logger = getRootLogger().child({ component: 'SkillRegistry' })
|
|
6
|
+
|
|
7
|
+
export class SkillRegistry {
|
|
8
|
+
private skills = new Map<string, Skill>()
|
|
9
|
+
|
|
10
|
+
async register(dirPath: string, level: SkillDisclosureLevel = 'metadata'): Promise<Skill> {
|
|
11
|
+
const result = await loadSkill(dirPath, level)
|
|
12
|
+
this.skills.set(result.skill.metadata.name, result.skill)
|
|
13
|
+
return result.skill
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
async registerAll(parentDir: string, level: SkillDisclosureLevel = 'metadata'): Promise<Skill[]> {
|
|
17
|
+
const dirs = await discoverSkills(parentDir)
|
|
18
|
+
const results: Skill[] = []
|
|
19
|
+
|
|
20
|
+
for (const dir of dirs) {
|
|
21
|
+
const skill = await this.register(dir, level)
|
|
22
|
+
results.push(skill)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
logger.debug('Registered skills from directory', {
|
|
26
|
+
parentDir,
|
|
27
|
+
count: results.length,
|
|
28
|
+
names: results.map((s) => s.metadata.name),
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
return results
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
get(name: string): Skill | undefined {
|
|
35
|
+
return this.skills.get(name)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
async load(name: string, level: SkillDisclosureLevel = 'full'): Promise<SkillLoadResult | undefined> {
|
|
39
|
+
const existing = this.skills.get(name)
|
|
40
|
+
if (!existing) return undefined
|
|
41
|
+
|
|
42
|
+
if (level === 'metadata' || existing.body) {
|
|
43
|
+
return {
|
|
44
|
+
skill: existing,
|
|
45
|
+
disclosureLevel: existing.body ? 'full' : 'metadata',
|
|
46
|
+
tokenEstimate: 0,
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const result = await loadSkill(existing.dirPath, level)
|
|
51
|
+
this.skills.set(name, result.skill)
|
|
52
|
+
return result
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
list(): Skill[] {
|
|
56
|
+
return [...this.skills.values()]
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
get size(): number {
|
|
60
|
+
return this.skills.size
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
has(name: string): boolean {
|
|
64
|
+
return this.skills.has(name)
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export async function resolveSkillChain(
|
|
69
|
+
categorySkillsDir: string | undefined,
|
|
70
|
+
agentSkillsDir: string | undefined,
|
|
71
|
+
level: SkillDisclosureLevel = 'metadata',
|
|
72
|
+
): Promise<SkillChain> {
|
|
73
|
+
const categoryRegistry = new SkillRegistry()
|
|
74
|
+
const agentRegistry = new SkillRegistry()
|
|
75
|
+
|
|
76
|
+
const inherited = categorySkillsDir
|
|
77
|
+
? await categoryRegistry.registerAll(categorySkillsDir, level)
|
|
78
|
+
: []
|
|
79
|
+
|
|
80
|
+
const own = agentSkillsDir
|
|
81
|
+
? await agentRegistry.registerAll(agentSkillsDir, level)
|
|
82
|
+
: []
|
|
83
|
+
|
|
84
|
+
const resolvedMap = new Map<string, Skill>()
|
|
85
|
+
|
|
86
|
+
for (const skill of inherited) {
|
|
87
|
+
resolvedMap.set(skill.metadata.name, skill)
|
|
88
|
+
}
|
|
89
|
+
for (const skill of own) {
|
|
90
|
+
resolvedMap.set(skill.metadata.name, skill)
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const resolved = [...resolvedMap.values()]
|
|
94
|
+
|
|
95
|
+
logger.debug('Resolved skill chain', {
|
|
96
|
+
inherited: inherited.map((s) => s.metadata.name),
|
|
97
|
+
own: own.map((s) => s.metadata.name),
|
|
98
|
+
resolved: resolved.map((s) => s.metadata.name),
|
|
99
|
+
})
|
|
100
|
+
|
|
101
|
+
return { inherited, own, resolved }
|
|
102
|
+
}
|