@robota-sdk/agent-core 3.0.0-beta.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 +180 -0
- package/LICENSE +21 -0
- package/README.md +230 -0
- package/dist/abstracts/abstract-agent.d.ts +56 -0
- package/dist/abstracts/abstract-agent.d.ts.map +1 -0
- package/dist/abstracts/abstract-agent.js +55 -0
- package/dist/abstracts/abstract-agent.js.map +1 -0
- package/dist/abstracts/abstract-ai-provider.d.ts +187 -0
- package/dist/abstracts/abstract-ai-provider.d.ts.map +1 -0
- package/dist/abstracts/abstract-ai-provider.js +252 -0
- package/dist/abstracts/abstract-ai-provider.js.map +1 -0
- package/dist/abstracts/abstract-executor.d.ts +110 -0
- package/dist/abstracts/abstract-executor.d.ts.map +1 -0
- package/dist/abstracts/abstract-executor.js +156 -0
- package/dist/abstracts/abstract-executor.js.map +1 -0
- package/dist/abstracts/abstract-manager.d.ts +42 -0
- package/dist/abstracts/abstract-manager.d.ts.map +1 -0
- package/dist/abstracts/abstract-manager.js +49 -0
- package/dist/abstracts/abstract-manager.js.map +1 -0
- package/dist/abstracts/abstract-module.d.ts +365 -0
- package/dist/abstracts/abstract-module.d.ts.map +1 -0
- package/dist/abstracts/abstract-module.js +474 -0
- package/dist/abstracts/abstract-module.js.map +1 -0
- package/dist/abstracts/abstract-plugin.d.ts +369 -0
- package/dist/abstracts/abstract-plugin.d.ts.map +1 -0
- package/dist/abstracts/abstract-plugin.js +258 -0
- package/dist/abstracts/abstract-plugin.js.map +1 -0
- package/dist/abstracts/abstract-tool.d.ts +175 -0
- package/dist/abstracts/abstract-tool.d.ts.map +1 -0
- package/dist/abstracts/abstract-tool.js +140 -0
- package/dist/abstracts/abstract-tool.js.map +1 -0
- package/dist/abstracts/abstract-workflow-converter.d.ts +136 -0
- package/dist/abstracts/abstract-workflow-converter.d.ts.map +1 -0
- package/dist/abstracts/abstract-workflow-converter.js +252 -0
- package/dist/abstracts/abstract-workflow-converter.js.map +1 -0
- package/dist/abstracts/abstract-workflow-validator.d.ts +203 -0
- package/dist/abstracts/abstract-workflow-validator.d.ts.map +1 -0
- package/dist/abstracts/abstract-workflow-validator.js +447 -0
- package/dist/abstracts/abstract-workflow-validator.js.map +1 -0
- package/dist/abstracts/index.d.ts +6 -0
- package/dist/abstracts/index.d.ts.map +1 -0
- package/dist/abstracts/index.js +9 -0
- package/dist/abstracts/index.js.map +1 -0
- package/dist/agents/constants.d.ts +23 -0
- package/dist/agents/constants.d.ts.map +1 -0
- package/dist/agents/constants.js +22 -0
- package/dist/agents/constants.js.map +1 -0
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +4 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/robota.test.d.ts +2 -0
- package/dist/agents/robota.test.d.ts.map +1 -0
- package/dist/agents/robota.test.js +416 -0
- package/dist/agents/robota.test.js.map +1 -0
- package/dist/browser/builtin-templates.json +107 -0
- package/dist/browser/index.d.ts +4237 -0
- package/dist/browser/index.js +4 -0
- package/dist/core/robota.d.ts +694 -0
- package/dist/core/robota.d.ts.map +1 -0
- package/dist/core/robota.js +1277 -0
- package/dist/core/robota.js.map +1 -0
- package/dist/executors/local-executor.d.ts +96 -0
- package/dist/executors/local-executor.d.ts.map +1 -0
- package/dist/executors/local-executor.js +197 -0
- package/dist/executors/local-executor.js.map +1 -0
- package/dist/executors/local-executor.test.d.ts +2 -0
- package/dist/executors/local-executor.test.d.ts.map +1 -0
- package/dist/executors/local-executor.test.js +192 -0
- package/dist/executors/local-executor.test.js.map +1 -0
- package/dist/index.d.ts +274 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +235 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/agent.d.ts +198 -0
- package/dist/interfaces/agent.d.ts.map +1 -0
- package/dist/interfaces/agent.js +2 -0
- package/dist/interfaces/agent.js.map +1 -0
- package/dist/interfaces/event-service.d.ts +79 -0
- package/dist/interfaces/event-service.d.ts.map +1 -0
- package/dist/interfaces/event-service.js +2 -0
- package/dist/interfaces/event-service.js.map +1 -0
- package/dist/interfaces/executor.d.ts +128 -0
- package/dist/interfaces/executor.d.ts.map +1 -0
- package/dist/interfaces/executor.js +2 -0
- package/dist/interfaces/executor.js.map +1 -0
- package/dist/interfaces/history-module.d.ts +19 -0
- package/dist/interfaces/history-module.d.ts.map +1 -0
- package/dist/interfaces/history-module.js +2 -0
- package/dist/interfaces/history-module.js.map +1 -0
- package/dist/interfaces/index.d.ts +13 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/interfaces/index.js +4 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interfaces/manager.d.ts +142 -0
- package/dist/interfaces/manager.d.ts.map +1 -0
- package/dist/interfaces/manager.js +2 -0
- package/dist/interfaces/manager.js.map +1 -0
- package/dist/interfaces/messages.d.ts +75 -0
- package/dist/interfaces/messages.d.ts.map +1 -0
- package/dist/interfaces/messages.js +29 -0
- package/dist/interfaces/messages.js.map +1 -0
- package/dist/interfaces/progress-reporting.d.ts +86 -0
- package/dist/interfaces/progress-reporting.d.ts.map +1 -0
- package/dist/interfaces/progress-reporting.js +37 -0
- package/dist/interfaces/progress-reporting.js.map +1 -0
- package/dist/interfaces/provider.d.ts +217 -0
- package/dist/interfaces/provider.d.ts.map +1 -0
- package/dist/interfaces/provider.js +2 -0
- package/dist/interfaces/provider.js.map +1 -0
- package/dist/interfaces/service.d.ts +205 -0
- package/dist/interfaces/service.d.ts.map +1 -0
- package/dist/interfaces/service.js +6 -0
- package/dist/interfaces/service.js.map +1 -0
- package/dist/interfaces/tool.d.ts +248 -0
- package/dist/interfaces/tool.d.ts.map +1 -0
- package/dist/interfaces/tool.js +2 -0
- package/dist/interfaces/tool.js.map +1 -0
- package/dist/interfaces/types.d.ts +71 -0
- package/dist/interfaces/types.d.ts.map +1 -0
- package/dist/interfaces/types.js +33 -0
- package/dist/interfaces/types.js.map +1 -0
- package/dist/interfaces/workflow-converter.d.ts +193 -0
- package/dist/interfaces/workflow-converter.d.ts.map +1 -0
- package/dist/interfaces/workflow-converter.js +11 -0
- package/dist/interfaces/workflow-converter.js.map +1 -0
- package/dist/interfaces/workflow-validator.d.ts +209 -0
- package/dist/interfaces/workflow-validator.d.ts.map +1 -0
- package/dist/interfaces/workflow-validator.js +16 -0
- package/dist/interfaces/workflow-validator.js.map +1 -0
- package/dist/managers/agent-factory.d.ts +132 -0
- package/dist/managers/agent-factory.d.ts.map +1 -0
- package/dist/managers/agent-factory.js +284 -0
- package/dist/managers/agent-factory.js.map +1 -0
- package/dist/managers/agent-factory.test.d.ts +2 -0
- package/dist/managers/agent-factory.test.d.ts.map +1 -0
- package/dist/managers/agent-factory.test.js +249 -0
- package/dist/managers/agent-factory.test.js.map +1 -0
- package/dist/managers/agent-templates.d.ts +84 -0
- package/dist/managers/agent-templates.d.ts.map +1 -0
- package/dist/managers/agent-templates.js +159 -0
- package/dist/managers/agent-templates.js.map +1 -0
- package/dist/managers/ai-provider-manager.d.ts +80 -0
- package/dist/managers/ai-provider-manager.d.ts.map +1 -0
- package/dist/managers/ai-provider-manager.js +226 -0
- package/dist/managers/ai-provider-manager.js.map +1 -0
- package/dist/managers/conversation-history-manager.d.ts +455 -0
- package/dist/managers/conversation-history-manager.d.ts.map +1 -0
- package/dist/managers/conversation-history-manager.js +578 -0
- package/dist/managers/conversation-history-manager.js.map +1 -0
- package/dist/managers/conversation-history-manager.test.d.ts +2 -0
- package/dist/managers/conversation-history-manager.test.d.ts.map +1 -0
- package/dist/managers/conversation-history-manager.test.js +374 -0
- package/dist/managers/conversation-history-manager.test.js.map +1 -0
- package/dist/managers/index.d.ts +8 -0
- package/dist/managers/index.d.ts.map +1 -0
- package/dist/managers/index.js +8 -0
- package/dist/managers/index.js.map +1 -0
- package/dist/managers/module-registry.d.ts +161 -0
- package/dist/managers/module-registry.d.ts.map +1 -0
- package/dist/managers/module-registry.js +519 -0
- package/dist/managers/module-registry.js.map +1 -0
- package/dist/managers/module-type-registry.d.ts +113 -0
- package/dist/managers/module-type-registry.d.ts.map +1 -0
- package/dist/managers/module-type-registry.js +439 -0
- package/dist/managers/module-type-registry.js.map +1 -0
- package/dist/managers/plugins.d.ts +166 -0
- package/dist/managers/plugins.d.ts.map +1 -0
- package/dist/managers/plugins.js +339 -0
- package/dist/managers/plugins.js.map +1 -0
- package/dist/managers/tool-manager.d.ts +70 -0
- package/dist/managers/tool-manager.d.ts.map +1 -0
- package/dist/managers/tool-manager.js +138 -0
- package/dist/managers/tool-manager.js.map +1 -0
- package/dist/managers/tool-manager.test.d.ts +2 -0
- package/dist/managers/tool-manager.test.d.ts.map +1 -0
- package/dist/managers/tool-manager.test.js +186 -0
- package/dist/managers/tool-manager.test.js.map +1 -0
- package/dist/node/builtin-templates.json +107 -0
- package/dist/node/index.cjs +4 -0
- package/dist/node/index.d.cts +4237 -0
- package/dist/node/index.d.ts +4237 -0
- package/dist/node/index.js +4 -0
- package/dist/plugins/conversation-history/conversation-history-plugin.d.ts +67 -0
- package/dist/plugins/conversation-history/conversation-history-plugin.d.ts.map +1 -0
- package/dist/plugins/conversation-history/conversation-history-plugin.js +270 -0
- package/dist/plugins/conversation-history/conversation-history-plugin.js.map +1 -0
- package/dist/plugins/conversation-history/index.d.ts +3 -0
- package/dist/plugins/conversation-history/index.d.ts.map +1 -0
- package/dist/plugins/conversation-history/index.js +2 -0
- package/dist/plugins/conversation-history/index.js.map +1 -0
- package/dist/plugins/conversation-history/storages/database-storage.d.ts +19 -0
- package/dist/plugins/conversation-history/storages/database-storage.d.ts.map +1 -0
- package/dist/plugins/conversation-history/storages/database-storage.js +94 -0
- package/dist/plugins/conversation-history/storages/database-storage.js.map +1 -0
- package/dist/plugins/conversation-history/storages/file-storage.d.ts +15 -0
- package/dist/plugins/conversation-history/storages/file-storage.d.ts.map +1 -0
- package/dist/plugins/conversation-history/storages/file-storage.js +94 -0
- package/dist/plugins/conversation-history/storages/file-storage.js.map +1 -0
- package/dist/plugins/conversation-history/storages/index.d.ts +4 -0
- package/dist/plugins/conversation-history/storages/index.d.ts.map +1 -0
- package/dist/plugins/conversation-history/storages/index.js +4 -0
- package/dist/plugins/conversation-history/storages/index.js.map +1 -0
- package/dist/plugins/conversation-history/storages/memory-storage.d.ts +15 -0
- package/dist/plugins/conversation-history/storages/memory-storage.d.ts.map +1 -0
- package/dist/plugins/conversation-history/storages/memory-storage.js +33 -0
- package/dist/plugins/conversation-history/storages/memory-storage.js.map +1 -0
- package/dist/plugins/conversation-history/types.d.ts +61 -0
- package/dist/plugins/conversation-history/types.d.ts.map +1 -0
- package/dist/plugins/conversation-history/types.js +2 -0
- package/dist/plugins/conversation-history/types.js.map +1 -0
- package/dist/plugins/error-handling/context-adapter.d.ts +30 -0
- package/dist/plugins/error-handling/context-adapter.d.ts.map +1 -0
- package/dist/plugins/error-handling/context-adapter.js +41 -0
- package/dist/plugins/error-handling/context-adapter.js.map +1 -0
- package/dist/plugins/error-handling/error-handling-plugin.d.ts +49 -0
- package/dist/plugins/error-handling/error-handling-plugin.d.ts.map +1 -0
- package/dist/plugins/error-handling/error-handling-plugin.js +229 -0
- package/dist/plugins/error-handling/error-handling-plugin.js.map +1 -0
- package/dist/plugins/error-handling/index.d.ts +10 -0
- package/dist/plugins/error-handling/index.d.ts.map +1 -0
- package/dist/plugins/error-handling/index.js +10 -0
- package/dist/plugins/error-handling/index.js.map +1 -0
- package/dist/plugins/error-handling/types.d.ts +73 -0
- package/dist/plugins/error-handling/types.d.ts.map +1 -0
- package/dist/plugins/error-handling/types.js +14 -0
- package/dist/plugins/error-handling/types.js.map +1 -0
- package/dist/plugins/event-emitter/metrics.d.ts +17 -0
- package/dist/plugins/event-emitter/metrics.d.ts.map +1 -0
- package/dist/plugins/event-emitter/metrics.js +17 -0
- package/dist/plugins/event-emitter/metrics.js.map +1 -0
- package/dist/plugins/event-emitter/types.d.ts +112 -0
- package/dist/plugins/event-emitter/types.d.ts.map +1 -0
- package/dist/plugins/event-emitter/types.js +65 -0
- package/dist/plugins/event-emitter/types.js.map +1 -0
- package/dist/plugins/event-emitter-plugin.d.ts +222 -0
- package/dist/plugins/event-emitter-plugin.d.ts.map +1 -0
- package/dist/plugins/event-emitter-plugin.js +432 -0
- package/dist/plugins/event-emitter-plugin.js.map +1 -0
- package/dist/plugins/event-emitter-plugin.test.d.ts +2 -0
- package/dist/plugins/event-emitter-plugin.test.d.ts.map +1 -0
- package/dist/plugins/event-emitter-plugin.test.js +94 -0
- package/dist/plugins/event-emitter-plugin.test.js.map +1 -0
- package/dist/plugins/execution/execution-analytics-plugin.d.ts +129 -0
- package/dist/plugins/execution/execution-analytics-plugin.d.ts.map +1 -0
- package/dist/plugins/execution/execution-analytics-plugin.js +517 -0
- package/dist/plugins/execution/execution-analytics-plugin.js.map +1 -0
- package/dist/plugins/execution/index.d.ts +3 -0
- package/dist/plugins/execution/index.d.ts.map +1 -0
- package/dist/plugins/execution/index.js +2 -0
- package/dist/plugins/execution/index.js.map +1 -0
- package/dist/plugins/execution/types.d.ts +90 -0
- package/dist/plugins/execution/types.d.ts.map +1 -0
- package/dist/plugins/execution/types.js +2 -0
- package/dist/plugins/execution/types.js.map +1 -0
- package/dist/plugins/index.d.ts +10 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +11 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/limits/types.d.ts +61 -0
- package/dist/plugins/limits/types.d.ts.map +1 -0
- package/dist/plugins/limits/types.js +2 -0
- package/dist/plugins/limits/types.js.map +1 -0
- package/dist/plugins/limits-plugin.d.ts +113 -0
- package/dist/plugins/limits-plugin.d.ts.map +1 -0
- package/dist/plugins/limits-plugin.js +380 -0
- package/dist/plugins/limits-plugin.js.map +1 -0
- package/dist/plugins/logging/formatters.d.ts +14 -0
- package/dist/plugins/logging/formatters.d.ts.map +1 -0
- package/dist/plugins/logging/formatters.js +24 -0
- package/dist/plugins/logging/formatters.js.map +1 -0
- package/dist/plugins/logging/index.d.ts +3 -0
- package/dist/plugins/logging/index.d.ts.map +1 -0
- package/dist/plugins/logging/index.js +2 -0
- package/dist/plugins/logging/index.js.map +1 -0
- package/dist/plugins/logging/logging-plugin.d.ts +91 -0
- package/dist/plugins/logging/logging-plugin.d.ts.map +1 -0
- package/dist/plugins/logging/logging-plugin.js +335 -0
- package/dist/plugins/logging/logging-plugin.js.map +1 -0
- package/dist/plugins/logging/storages/console-storage.d.ts +14 -0
- package/dist/plugins/logging/storages/console-storage.d.ts.map +1 -0
- package/dist/plugins/logging/storages/console-storage.js +38 -0
- package/dist/plugins/logging/storages/console-storage.js.map +1 -0
- package/dist/plugins/logging/storages/file-storage.d.ts +14 -0
- package/dist/plugins/logging/storages/file-storage.d.ts.map +1 -0
- package/dist/plugins/logging/storages/file-storage.js +41 -0
- package/dist/plugins/logging/storages/file-storage.js.map +1 -0
- package/dist/plugins/logging/storages/index.d.ts +5 -0
- package/dist/plugins/logging/storages/index.d.ts.map +1 -0
- package/dist/plugins/logging/storages/index.js +5 -0
- package/dist/plugins/logging/storages/index.js.map +1 -0
- package/dist/plugins/logging/storages/remote-storage.d.ts +20 -0
- package/dist/plugins/logging/storages/remote-storage.d.ts.map +1 -0
- package/dist/plugins/logging/storages/remote-storage.js +61 -0
- package/dist/plugins/logging/storages/remote-storage.js.map +1 -0
- package/dist/plugins/logging/storages/silent-storage.d.ts +10 -0
- package/dist/plugins/logging/storages/silent-storage.d.ts.map +1 -0
- package/dist/plugins/logging/storages/silent-storage.js +15 -0
- package/dist/plugins/logging/storages/silent-storage.js.map +1 -0
- package/dist/plugins/logging/types.d.ts +84 -0
- package/dist/plugins/logging/types.d.ts.map +1 -0
- package/dist/plugins/logging/types.js +2 -0
- package/dist/plugins/logging/types.js.map +1 -0
- package/dist/plugins/performance/collectors/system-metrics-collector.d.ts +12 -0
- package/dist/plugins/performance/collectors/system-metrics-collector.d.ts.map +1 -0
- package/dist/plugins/performance/collectors/system-metrics-collector.js +65 -0
- package/dist/plugins/performance/collectors/system-metrics-collector.js.map +1 -0
- package/dist/plugins/performance/index.d.ts +5 -0
- package/dist/plugins/performance/index.d.ts.map +1 -0
- package/dist/plugins/performance/index.js +4 -0
- package/dist/plugins/performance/index.js.map +1 -0
- package/dist/plugins/performance/performance-plugin.d.ts +49 -0
- package/dist/plugins/performance/performance-plugin.d.ts.map +1 -0
- package/dist/plugins/performance/performance-plugin.js +293 -0
- package/dist/plugins/performance/performance-plugin.js.map +1 -0
- package/dist/plugins/performance/storages/index.d.ts +2 -0
- package/dist/plugins/performance/storages/index.d.ts.map +1 -0
- package/dist/plugins/performance/storages/index.js +4 -0
- package/dist/plugins/performance/storages/index.js.map +1 -0
- package/dist/plugins/performance/storages/memory-storage.d.ts +19 -0
- package/dist/plugins/performance/storages/memory-storage.d.ts.map +1 -0
- package/dist/plugins/performance/storages/memory-storage.js +69 -0
- package/dist/plugins/performance/storages/memory-storage.js.map +1 -0
- package/dist/plugins/performance/types.d.ts +154 -0
- package/dist/plugins/performance/types.d.ts.map +1 -0
- package/dist/plugins/performance/types.js +2 -0
- package/dist/plugins/performance/types.js.map +1 -0
- package/dist/plugins/usage/aggregate-usage-stats.d.ts +12 -0
- package/dist/plugins/usage/aggregate-usage-stats.d.ts.map +1 -0
- package/dist/plugins/usage/aggregate-usage-stats.js +115 -0
- package/dist/plugins/usage/aggregate-usage-stats.js.map +1 -0
- package/dist/plugins/usage/index.d.ts +5 -0
- package/dist/plugins/usage/index.d.ts.map +1 -0
- package/dist/plugins/usage/index.js +4 -0
- package/dist/plugins/usage/index.js.map +1 -0
- package/dist/plugins/usage/storages/file-storage.d.ts +22 -0
- package/dist/plugins/usage/storages/file-storage.d.ts.map +1 -0
- package/dist/plugins/usage/storages/file-storage.js +111 -0
- package/dist/plugins/usage/storages/file-storage.js.map +1 -0
- package/dist/plugins/usage/storages/index.d.ts +5 -0
- package/dist/plugins/usage/storages/index.d.ts.map +1 -0
- package/dist/plugins/usage/storages/index.js +5 -0
- package/dist/plugins/usage/storages/index.js.map +1 -0
- package/dist/plugins/usage/storages/memory-storage.d.ts +22 -0
- package/dist/plugins/usage/storages/memory-storage.d.ts.map +1 -0
- package/dist/plugins/usage/storages/memory-storage.js +42 -0
- package/dist/plugins/usage/storages/memory-storage.js.map +1 -0
- package/dist/plugins/usage/storages/remote-storage.d.ts +26 -0
- package/dist/plugins/usage/storages/remote-storage.d.ts.map +1 -0
- package/dist/plugins/usage/storages/remote-storage.js +115 -0
- package/dist/plugins/usage/storages/remote-storage.js.map +1 -0
- package/dist/plugins/usage/storages/silent-storage.d.ts +19 -0
- package/dist/plugins/usage/storages/silent-storage.d.ts.map +1 -0
- package/dist/plugins/usage/storages/silent-storage.js +26 -0
- package/dist/plugins/usage/storages/silent-storage.js.map +1 -0
- package/dist/plugins/usage/types.d.ts +127 -0
- package/dist/plugins/usage/types.d.ts.map +1 -0
- package/dist/plugins/usage/types.js +2 -0
- package/dist/plugins/usage/types.js.map +1 -0
- package/dist/plugins/usage/usage-plugin.d.ts +67 -0
- package/dist/plugins/usage/usage-plugin.d.ts.map +1 -0
- package/dist/plugins/usage/usage-plugin.js +309 -0
- package/dist/plugins/usage/usage-plugin.js.map +1 -0
- package/dist/plugins/webhook/http-client.d.ts +30 -0
- package/dist/plugins/webhook/http-client.d.ts.map +1 -0
- package/dist/plugins/webhook/http-client.js +110 -0
- package/dist/plugins/webhook/http-client.js.map +1 -0
- package/dist/plugins/webhook/index.d.ts +9 -0
- package/dist/plugins/webhook/index.d.ts.map +1 -0
- package/dist/plugins/webhook/index.js +9 -0
- package/dist/plugins/webhook/index.js.map +1 -0
- package/dist/plugins/webhook/transformer.d.ts +63 -0
- package/dist/plugins/webhook/transformer.d.ts.map +1 -0
- package/dist/plugins/webhook/transformer.js +157 -0
- package/dist/plugins/webhook/transformer.js.map +1 -0
- package/dist/plugins/webhook/types.d.ts +183 -0
- package/dist/plugins/webhook/types.d.ts.map +1 -0
- package/dist/plugins/webhook/types.js +2 -0
- package/dist/plugins/webhook/types.js.map +1 -0
- package/dist/plugins/webhook/webhook-plugin.d.ts +92 -0
- package/dist/plugins/webhook/webhook-plugin.d.ts.map +1 -0
- package/dist/plugins/webhook/webhook-plugin.js +328 -0
- package/dist/plugins/webhook/webhook-plugin.js.map +1 -0
- package/dist/schemas/agent-template-schema.d.ts +137 -0
- package/dist/schemas/agent-template-schema.d.ts.map +1 -0
- package/dist/schemas/agent-template-schema.js +87 -0
- package/dist/schemas/agent-template-schema.js.map +1 -0
- package/dist/services/conversation-service/index.d.ts +88 -0
- package/dist/services/conversation-service/index.d.ts.map +1 -0
- package/dist/services/conversation-service/index.js +441 -0
- package/dist/services/conversation-service/index.js.map +1 -0
- package/dist/services/conversation-service/types.d.ts +32 -0
- package/dist/services/conversation-service/types.d.ts.map +1 -0
- package/dist/services/conversation-service/types.js +8 -0
- package/dist/services/conversation-service/types.js.map +1 -0
- package/dist/services/event-service.d.ts +61 -0
- package/dist/services/event-service.d.ts.map +1 -0
- package/dist/services/event-service.js +110 -0
- package/dist/services/event-service.js.map +1 -0
- package/dist/services/event-service.test.d.ts +2 -0
- package/dist/services/event-service.test.d.ts.map +1 -0
- package/dist/services/event-service.test.js +86 -0
- package/dist/services/event-service.test.js.map +1 -0
- package/dist/services/execution-service.d.ts +151 -0
- package/dist/services/execution-service.d.ts.map +1 -0
- package/dist/services/execution-service.js +1262 -0
- package/dist/services/execution-service.js.map +1 -0
- package/dist/services/execution-service.test.d.ts +2 -0
- package/dist/services/execution-service.test.d.ts.map +1 -0
- package/dist/services/execution-service.test.js +338 -0
- package/dist/services/execution-service.test.js.map +1 -0
- package/dist/services/history-module.d.ts +15 -0
- package/dist/services/history-module.d.ts.map +1 -0
- package/dist/services/history-module.js +42 -0
- package/dist/services/history-module.js.map +1 -0
- package/dist/services/in-memory-history-store.d.ts +12 -0
- package/dist/services/in-memory-history-store.d.ts.map +1 -0
- package/dist/services/in-memory-history-store.js +41 -0
- package/dist/services/in-memory-history-store.js.map +1 -0
- package/dist/services/index.d.ts +7 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +13 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/task-events.d.ts +6 -0
- package/dist/services/task-events.d.ts.map +1 -0
- package/dist/services/task-events.js +6 -0
- package/dist/services/task-events.js.map +1 -0
- package/dist/services/tool-execution-service.d.ts +74 -0
- package/dist/services/tool-execution-service.d.ts.map +1 -0
- package/dist/services/tool-execution-service.js +189 -0
- package/dist/services/tool-execution-service.js.map +1 -0
- package/dist/services/user-events.d.ts +7 -0
- package/dist/services/user-events.d.ts.map +1 -0
- package/dist/services/user-events.js +6 -0
- package/dist/services/user-events.js.map +1 -0
- package/dist/tools/implementations/function-tool/index.d.ts +9 -0
- package/dist/tools/implementations/function-tool/index.d.ts.map +1 -0
- package/dist/tools/implementations/function-tool/index.js +13 -0
- package/dist/tools/implementations/function-tool/index.js.map +1 -0
- package/dist/tools/implementations/function-tool/schema-converter.d.ts +32 -0
- package/dist/tools/implementations/function-tool/schema-converter.d.ts.map +1 -0
- package/dist/tools/implementations/function-tool/schema-converter.js +164 -0
- package/dist/tools/implementations/function-tool/schema-converter.js.map +1 -0
- package/dist/tools/implementations/function-tool/types.d.ts +72 -0
- package/dist/tools/implementations/function-tool/types.d.ts.map +1 -0
- package/dist/tools/implementations/function-tool/types.js +14 -0
- package/dist/tools/implementations/function-tool/types.js.map +1 -0
- package/dist/tools/implementations/function-tool.d.ts +49 -0
- package/dist/tools/implementations/function-tool.d.ts.map +1 -0
- package/dist/tools/implementations/function-tool.js +223 -0
- package/dist/tools/implementations/function-tool.js.map +1 -0
- package/dist/tools/implementations/index.d.ts +4 -0
- package/dist/tools/implementations/index.d.ts.map +1 -0
- package/dist/tools/implementations/index.js +5 -0
- package/dist/tools/implementations/index.js.map +1 -0
- package/dist/tools/implementations/mcp-tool.d.ts +72 -0
- package/dist/tools/implementations/mcp-tool.d.ts.map +1 -0
- package/dist/tools/implementations/mcp-tool.js +246 -0
- package/dist/tools/implementations/mcp-tool.js.map +1 -0
- package/dist/tools/implementations/openapi-tool.d.ts +56 -0
- package/dist/tools/implementations/openapi-tool.d.ts.map +1 -0
- package/dist/tools/implementations/openapi-tool.js +324 -0
- package/dist/tools/implementations/openapi-tool.js.map +1 -0
- package/dist/tools/implementations/relay-mcp-tool.d.ts +38 -0
- package/dist/tools/implementations/relay-mcp-tool.d.ts.map +1 -0
- package/dist/tools/implementations/relay-mcp-tool.js +46 -0
- package/dist/tools/implementations/relay-mcp-tool.js.map +1 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/registry/index.d.ts +2 -0
- package/dist/tools/registry/index.d.ts.map +1 -0
- package/dist/tools/registry/index.js +3 -0
- package/dist/tools/registry/index.js.map +1 -0
- package/dist/tools/registry/tool-registry.d.ts +54 -0
- package/dist/tools/registry/tool-registry.d.ts.map +1 -0
- package/dist/tools/registry/tool-registry.js +146 -0
- package/dist/tools/registry/tool-registry.js.map +1 -0
- package/dist/utils/errors.d.ts +155 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +203 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/execution-proxy.d.ts +75 -0
- package/dist/utils/execution-proxy.d.ts.map +1 -0
- package/dist/utils/execution-proxy.js +230 -0
- package/dist/utils/execution-proxy.js.map +1 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +74 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +143 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/message-converter.d.ts +68 -0
- package/dist/utils/message-converter.d.ts.map +1 -0
- package/dist/utils/message-converter.js +87 -0
- package/dist/utils/message-converter.js.map +1 -0
- package/dist/utils/periodic-task.d.ts +14 -0
- package/dist/utils/periodic-task.d.ts.map +1 -0
- package/dist/utils/periodic-task.js +26 -0
- package/dist/utils/periodic-task.js.map +1 -0
- package/dist/utils/validation.d.ts +40 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +162 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +101 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { ValidationError } from '../../utils/errors';
|
|
2
|
+
import { logger } from '../../utils/logger';
|
|
3
|
+
/**
|
|
4
|
+
* Tool registry implementation
|
|
5
|
+
* Manages tool registration, validation, and retrieval
|
|
6
|
+
*/
|
|
7
|
+
export class ToolRegistry {
|
|
8
|
+
tools = new Map();
|
|
9
|
+
/**
|
|
10
|
+
* Register a tool
|
|
11
|
+
*/
|
|
12
|
+
register(tool) {
|
|
13
|
+
if (!tool.schema?.name) {
|
|
14
|
+
throw new ValidationError('Tool must have a valid schema with name');
|
|
15
|
+
}
|
|
16
|
+
const toolName = tool.schema.name;
|
|
17
|
+
// Validate tool schema
|
|
18
|
+
this.validateToolSchema(tool.schema);
|
|
19
|
+
// Check for duplicate registration
|
|
20
|
+
if (this.tools.has(toolName)) {
|
|
21
|
+
logger.warn(`Tool "${toolName}" is already registered, overriding`, {
|
|
22
|
+
toolName,
|
|
23
|
+
existingTool: this.tools.get(toolName)?.constructor.name
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
this.tools.set(toolName, tool);
|
|
27
|
+
logger.debug(`Tool "${toolName}" registered successfully`, {
|
|
28
|
+
toolName,
|
|
29
|
+
toolType: tool.constructor.name,
|
|
30
|
+
parameters: Object.keys(tool.schema.parameters?.properties || {})
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Unregister a tool
|
|
35
|
+
*/
|
|
36
|
+
unregister(name) {
|
|
37
|
+
if (!this.tools.has(name)) {
|
|
38
|
+
logger.warn(`Attempted to unregister non-existent tool "${name}"`);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.tools.delete(name);
|
|
42
|
+
logger.debug(`Tool "${name}" unregistered successfully`);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Get tool by name
|
|
46
|
+
*/
|
|
47
|
+
get(name) {
|
|
48
|
+
return this.tools.get(name);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get all registered tools
|
|
52
|
+
*/
|
|
53
|
+
getAll() {
|
|
54
|
+
return Array.from(this.tools.values());
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Get tool schemas
|
|
58
|
+
*/
|
|
59
|
+
getSchemas() {
|
|
60
|
+
const tools = this.getAll();
|
|
61
|
+
// 🔍 [TOOL-FLOW] ToolRegistry.getSchemas() - Extracting schemas from tools
|
|
62
|
+
logger.debug('[TOOL-FLOW] ToolRegistry.getSchemas() - Tools before schema extraction', {
|
|
63
|
+
count: tools.length,
|
|
64
|
+
tools: tools.map(t => ({
|
|
65
|
+
name: t.schema?.name ?? 'unnamed',
|
|
66
|
+
hasSchema: !!t.schema,
|
|
67
|
+
schemaType: typeof t.schema,
|
|
68
|
+
toolType: t.constructor?.name || 'unknown'
|
|
69
|
+
}))
|
|
70
|
+
});
|
|
71
|
+
return this.getAll().map(tool => tool.schema);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Check if tool exists
|
|
75
|
+
*/
|
|
76
|
+
has(name) {
|
|
77
|
+
return this.tools.has(name);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Clear all tools
|
|
81
|
+
*/
|
|
82
|
+
clear() {
|
|
83
|
+
const toolCount = this.tools.size;
|
|
84
|
+
this.tools.clear();
|
|
85
|
+
logger.debug(`Cleared ${toolCount} tools from registry`);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Get tool names
|
|
89
|
+
*/
|
|
90
|
+
getToolNames() {
|
|
91
|
+
return Array.from(this.tools.keys());
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get tools by pattern
|
|
95
|
+
*/
|
|
96
|
+
getToolsByPattern(pattern) {
|
|
97
|
+
const regex = typeof pattern === 'string' ? new RegExp(pattern) : pattern;
|
|
98
|
+
return this.getAll().filter(tool => regex.test(tool.schema.name));
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Get tool count
|
|
102
|
+
*/
|
|
103
|
+
size() {
|
|
104
|
+
return this.tools.size;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Validate tool schema
|
|
108
|
+
*/
|
|
109
|
+
validateToolSchema(schema) {
|
|
110
|
+
if (!schema.name || typeof schema.name !== 'string') {
|
|
111
|
+
throw new ValidationError('Tool schema must have a valid name');
|
|
112
|
+
}
|
|
113
|
+
if (!schema.description || typeof schema.description !== 'string') {
|
|
114
|
+
throw new ValidationError('Tool schema must have a description');
|
|
115
|
+
}
|
|
116
|
+
if (!schema.parameters || typeof schema.parameters !== 'object' || schema.parameters === null || Array.isArray(schema.parameters)) {
|
|
117
|
+
throw new ValidationError('Tool schema must have parameters object');
|
|
118
|
+
}
|
|
119
|
+
if (schema.parameters.type !== 'object') {
|
|
120
|
+
throw new ValidationError('Tool parameters type must be "object"');
|
|
121
|
+
}
|
|
122
|
+
// Validate parameter properties
|
|
123
|
+
if (schema.parameters.properties) {
|
|
124
|
+
for (const propName of Object.keys(schema.parameters.properties)) {
|
|
125
|
+
const propSchema = schema.parameters.properties[propName];
|
|
126
|
+
if (!propSchema?.type) {
|
|
127
|
+
throw new ValidationError(`Parameter "${propName}" must have a type`);
|
|
128
|
+
}
|
|
129
|
+
const validTypes = ['string', 'number', 'boolean', 'array', 'object'];
|
|
130
|
+
if (!validTypes.includes(propSchema.type)) {
|
|
131
|
+
throw new ValidationError(`Parameter "${propName}" has invalid type "${propSchema.type}"`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// Validate required fields exist in properties
|
|
136
|
+
if (schema.parameters.required) {
|
|
137
|
+
const properties = schema.parameters.properties || {};
|
|
138
|
+
for (const requiredField of schema.parameters.required) {
|
|
139
|
+
if (!properties[requiredField]) {
|
|
140
|
+
throw new ValidationError(`Required parameter "${requiredField}" is not defined in properties`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=tool-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../../src/tools/registry/tool-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable type definitions for error utilities
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Error context data type
|
|
6
|
+
* Used for storing contextual information in error instances
|
|
7
|
+
*/
|
|
8
|
+
export type TErrorContextData = Record<string, string | number | boolean | Date | Error | string[] | undefined>;
|
|
9
|
+
/**
|
|
10
|
+
* Error external input type
|
|
11
|
+
* Used for handling external errors from unknown sources
|
|
12
|
+
*/
|
|
13
|
+
export type TErrorExternalInput = Error | string | Record<string, string | number | boolean> | null | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Base error class for all Robota errors
|
|
16
|
+
*/
|
|
17
|
+
export declare abstract class RobotaError extends Error {
|
|
18
|
+
readonly context?: TErrorContextData | undefined;
|
|
19
|
+
abstract readonly code: string;
|
|
20
|
+
abstract readonly category: 'user' | 'system' | 'provider';
|
|
21
|
+
abstract readonly recoverable: boolean;
|
|
22
|
+
constructor(message: string, context?: TErrorContextData | undefined);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Configuration related errors
|
|
26
|
+
*/
|
|
27
|
+
export declare class ConfigurationError extends RobotaError {
|
|
28
|
+
readonly code = "CONFIGURATION_ERROR";
|
|
29
|
+
readonly category: "user";
|
|
30
|
+
readonly recoverable = false;
|
|
31
|
+
constructor(message: string, context?: TErrorContextData);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Input validation errors
|
|
35
|
+
*/
|
|
36
|
+
export declare class ValidationError extends RobotaError {
|
|
37
|
+
readonly field?: string | undefined;
|
|
38
|
+
readonly code = "VALIDATION_ERROR";
|
|
39
|
+
readonly category: "user";
|
|
40
|
+
readonly recoverable = false;
|
|
41
|
+
constructor(message: string, field?: string | undefined, context?: TErrorContextData);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Provider related errors
|
|
45
|
+
*/
|
|
46
|
+
export declare class ProviderError extends RobotaError {
|
|
47
|
+
readonly provider: string;
|
|
48
|
+
readonly originalError?: Error | undefined;
|
|
49
|
+
readonly code = "PROVIDER_ERROR";
|
|
50
|
+
readonly category: "provider";
|
|
51
|
+
readonly recoverable = true;
|
|
52
|
+
constructor(message: string, provider: string, originalError?: Error | undefined, context?: TErrorContextData);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Authentication errors
|
|
56
|
+
*/
|
|
57
|
+
export declare class AuthenticationError extends RobotaError {
|
|
58
|
+
readonly provider?: string | undefined;
|
|
59
|
+
readonly code = "AUTHENTICATION_ERROR";
|
|
60
|
+
readonly category: "user";
|
|
61
|
+
readonly recoverable = false;
|
|
62
|
+
constructor(message: string, provider?: string | undefined, context?: TErrorContextData);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Rate limit errors
|
|
66
|
+
*/
|
|
67
|
+
export declare class RateLimitError extends RobotaError {
|
|
68
|
+
readonly retryAfter?: number | undefined;
|
|
69
|
+
readonly provider?: string | undefined;
|
|
70
|
+
readonly code = "RATE_LIMIT_ERROR";
|
|
71
|
+
readonly category: "provider";
|
|
72
|
+
readonly recoverable = true;
|
|
73
|
+
constructor(message: string, retryAfter?: number | undefined, provider?: string | undefined, context?: TErrorContextData);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Network/connectivity errors
|
|
77
|
+
*/
|
|
78
|
+
export declare class NetworkError extends RobotaError {
|
|
79
|
+
readonly originalError?: Error | undefined;
|
|
80
|
+
readonly code = "NETWORK_ERROR";
|
|
81
|
+
readonly category: "system";
|
|
82
|
+
readonly recoverable = true;
|
|
83
|
+
constructor(message: string, originalError?: Error | undefined, context?: TErrorContextData);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Tool execution errors
|
|
87
|
+
*/
|
|
88
|
+
export declare class ToolExecutionError extends RobotaError {
|
|
89
|
+
readonly toolName: string;
|
|
90
|
+
readonly originalError?: Error | undefined;
|
|
91
|
+
readonly code = "TOOL_EXECUTION_ERROR";
|
|
92
|
+
readonly category: "system";
|
|
93
|
+
readonly recoverable = false;
|
|
94
|
+
constructor(message: string, toolName: string, originalError?: Error | undefined, context?: TErrorContextData);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Model not available errors
|
|
98
|
+
*/
|
|
99
|
+
export declare class ModelNotAvailableError extends RobotaError {
|
|
100
|
+
readonly availableModels?: string[] | undefined;
|
|
101
|
+
readonly code = "MODEL_NOT_AVAILABLE";
|
|
102
|
+
readonly category: "user";
|
|
103
|
+
readonly recoverable = false;
|
|
104
|
+
constructor(model: string, provider: string, availableModels?: string[] | undefined, context?: TErrorContextData);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Circuit breaker open error
|
|
108
|
+
*/
|
|
109
|
+
export declare class CircuitBreakerOpenError extends RobotaError {
|
|
110
|
+
readonly code = "CIRCUIT_BREAKER_OPEN";
|
|
111
|
+
readonly category: "system";
|
|
112
|
+
readonly recoverable = true;
|
|
113
|
+
constructor(message?: string, context?: TErrorContextData);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Plugin errors
|
|
117
|
+
*/
|
|
118
|
+
export declare class PluginError extends RobotaError {
|
|
119
|
+
readonly pluginName: string;
|
|
120
|
+
readonly code = "PLUGIN_ERROR";
|
|
121
|
+
readonly category: "system";
|
|
122
|
+
readonly recoverable = false;
|
|
123
|
+
constructor(message: string, pluginName: string, context?: TErrorContextData);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Storage related errors
|
|
127
|
+
*/
|
|
128
|
+
export declare class StorageError extends RobotaError {
|
|
129
|
+
readonly code = "STORAGE_ERROR";
|
|
130
|
+
readonly category: "system";
|
|
131
|
+
readonly recoverable = true;
|
|
132
|
+
constructor(message: string, context?: TErrorContextData);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Error utility functions
|
|
136
|
+
*/
|
|
137
|
+
export declare class ErrorUtils {
|
|
138
|
+
/**
|
|
139
|
+
* Check if error is recoverable
|
|
140
|
+
*/
|
|
141
|
+
static isRecoverable(error: Error): boolean;
|
|
142
|
+
/**
|
|
143
|
+
* Extract error code from any error
|
|
144
|
+
*/
|
|
145
|
+
static getErrorCode(error: Error): string;
|
|
146
|
+
/**
|
|
147
|
+
* Create error from unknown value
|
|
148
|
+
*/
|
|
149
|
+
static fromUnknown(error: TErrorExternalInput, defaultMessage?: string): RobotaError;
|
|
150
|
+
/**
|
|
151
|
+
* Wrap external errors
|
|
152
|
+
*/
|
|
153
|
+
static wrapProviderError(error: TErrorExternalInput, provider: string, operation: string): ProviderError;
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable type definitions for error utilities
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Base error class for all Robota errors
|
|
6
|
+
*/
|
|
7
|
+
export class RobotaError extends Error {
|
|
8
|
+
context;
|
|
9
|
+
constructor(message, context) {
|
|
10
|
+
super(message);
|
|
11
|
+
this.context = context;
|
|
12
|
+
this.name = this.constructor.name;
|
|
13
|
+
// Ensure proper prototype chain for instanceof checks
|
|
14
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Configuration related errors
|
|
19
|
+
*/
|
|
20
|
+
export class ConfigurationError extends RobotaError {
|
|
21
|
+
code = 'CONFIGURATION_ERROR';
|
|
22
|
+
category = 'user';
|
|
23
|
+
recoverable = false;
|
|
24
|
+
constructor(message, context) {
|
|
25
|
+
super(`Configuration Error: ${message}`, context);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Input validation errors
|
|
30
|
+
*/
|
|
31
|
+
export class ValidationError extends RobotaError {
|
|
32
|
+
field;
|
|
33
|
+
code = 'VALIDATION_ERROR';
|
|
34
|
+
category = 'user';
|
|
35
|
+
recoverable = false;
|
|
36
|
+
constructor(message, field, context) {
|
|
37
|
+
super(`Validation Error: ${message}`, context);
|
|
38
|
+
this.field = field;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Provider related errors
|
|
43
|
+
*/
|
|
44
|
+
export class ProviderError extends RobotaError {
|
|
45
|
+
provider;
|
|
46
|
+
originalError;
|
|
47
|
+
code = 'PROVIDER_ERROR';
|
|
48
|
+
category = 'provider';
|
|
49
|
+
recoverable = true;
|
|
50
|
+
constructor(message, provider, originalError, context) {
|
|
51
|
+
super(`Provider Error (${provider}): ${message}`, context);
|
|
52
|
+
this.provider = provider;
|
|
53
|
+
this.originalError = originalError;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Authentication errors
|
|
58
|
+
*/
|
|
59
|
+
export class AuthenticationError extends RobotaError {
|
|
60
|
+
provider;
|
|
61
|
+
code = 'AUTHENTICATION_ERROR';
|
|
62
|
+
category = 'user';
|
|
63
|
+
recoverable = false;
|
|
64
|
+
constructor(message, provider, context) {
|
|
65
|
+
super(`Authentication Error: ${message}`, context);
|
|
66
|
+
this.provider = provider;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Rate limit errors
|
|
71
|
+
*/
|
|
72
|
+
export class RateLimitError extends RobotaError {
|
|
73
|
+
retryAfter;
|
|
74
|
+
provider;
|
|
75
|
+
code = 'RATE_LIMIT_ERROR';
|
|
76
|
+
category = 'provider';
|
|
77
|
+
recoverable = true;
|
|
78
|
+
constructor(message, retryAfter, provider, context) {
|
|
79
|
+
super(`Rate Limit Error: ${message}`, context);
|
|
80
|
+
this.retryAfter = retryAfter;
|
|
81
|
+
this.provider = provider;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Network/connectivity errors
|
|
86
|
+
*/
|
|
87
|
+
export class NetworkError extends RobotaError {
|
|
88
|
+
originalError;
|
|
89
|
+
code = 'NETWORK_ERROR';
|
|
90
|
+
category = 'system';
|
|
91
|
+
recoverable = true;
|
|
92
|
+
constructor(message, originalError, context) {
|
|
93
|
+
super(`Network Error: ${message}`, context);
|
|
94
|
+
this.originalError = originalError;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Tool execution errors
|
|
99
|
+
*/
|
|
100
|
+
export class ToolExecutionError extends RobotaError {
|
|
101
|
+
toolName;
|
|
102
|
+
originalError;
|
|
103
|
+
code = 'TOOL_EXECUTION_ERROR';
|
|
104
|
+
category = 'system';
|
|
105
|
+
recoverable = false;
|
|
106
|
+
constructor(message, toolName, originalError, context) {
|
|
107
|
+
super(`Tool Execution Error (${toolName}): ${message}`, context);
|
|
108
|
+
this.toolName = toolName;
|
|
109
|
+
this.originalError = originalError;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Model not available errors
|
|
114
|
+
*/
|
|
115
|
+
export class ModelNotAvailableError extends RobotaError {
|
|
116
|
+
availableModels;
|
|
117
|
+
code = 'MODEL_NOT_AVAILABLE';
|
|
118
|
+
category = 'user';
|
|
119
|
+
recoverable = false;
|
|
120
|
+
constructor(model, provider, availableModels, context) {
|
|
121
|
+
super(`Model "${model}" is not available for provider "${provider}"`, context);
|
|
122
|
+
this.availableModels = availableModels;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Circuit breaker open error
|
|
127
|
+
*/
|
|
128
|
+
export class CircuitBreakerOpenError extends RobotaError {
|
|
129
|
+
code = 'CIRCUIT_BREAKER_OPEN';
|
|
130
|
+
category = 'system';
|
|
131
|
+
recoverable = true;
|
|
132
|
+
constructor(message = 'Circuit breaker is open', context) {
|
|
133
|
+
super(message, context);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Plugin errors
|
|
138
|
+
*/
|
|
139
|
+
export class PluginError extends RobotaError {
|
|
140
|
+
pluginName;
|
|
141
|
+
code = 'PLUGIN_ERROR';
|
|
142
|
+
category = 'system';
|
|
143
|
+
recoverable = false;
|
|
144
|
+
constructor(message, pluginName, context) {
|
|
145
|
+
super(`Plugin Error (${pluginName}): ${message}`, context);
|
|
146
|
+
this.pluginName = pluginName;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Storage related errors
|
|
151
|
+
*/
|
|
152
|
+
export class StorageError extends RobotaError {
|
|
153
|
+
code = 'STORAGE_ERROR';
|
|
154
|
+
category = 'system';
|
|
155
|
+
recoverable = true;
|
|
156
|
+
constructor(message, context) {
|
|
157
|
+
super(`Storage Error: ${message}`, context);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Error utility functions
|
|
162
|
+
*/
|
|
163
|
+
export class ErrorUtils {
|
|
164
|
+
/**
|
|
165
|
+
* Check if error is recoverable
|
|
166
|
+
*/
|
|
167
|
+
static isRecoverable(error) {
|
|
168
|
+
if (error instanceof RobotaError) {
|
|
169
|
+
return error.recoverable;
|
|
170
|
+
}
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Extract error code from any error
|
|
175
|
+
*/
|
|
176
|
+
static getErrorCode(error) {
|
|
177
|
+
if (error instanceof RobotaError) {
|
|
178
|
+
return error.code;
|
|
179
|
+
}
|
|
180
|
+
return 'UNKNOWN_ERROR';
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Create error from unknown value
|
|
184
|
+
*/
|
|
185
|
+
static fromUnknown(error, defaultMessage = 'An unknown error occurred') {
|
|
186
|
+
if (error instanceof RobotaError) {
|
|
187
|
+
return error;
|
|
188
|
+
}
|
|
189
|
+
if (error instanceof Error) {
|
|
190
|
+
return new ConfigurationError(error.message || defaultMessage);
|
|
191
|
+
}
|
|
192
|
+
const message = typeof error === 'string' ? error : defaultMessage;
|
|
193
|
+
return new ConfigurationError(message);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Wrap external errors
|
|
197
|
+
*/
|
|
198
|
+
static wrapProviderError(error, provider, operation) {
|
|
199
|
+
const originalError = error instanceof Error ? error : new Error(String(error));
|
|
200
|
+
return new ProviderError(`Failed to ${operation}`, provider, originalError, { operation });
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { IEventService } from '../services/event-service';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for execution proxy
|
|
4
|
+
*/
|
|
5
|
+
export interface IExecutionProxyConfig {
|
|
6
|
+
eventService: IEventService;
|
|
7
|
+
sourceType: 'agent' | 'team' | 'tool';
|
|
8
|
+
sourceId: string;
|
|
9
|
+
enabledEvents?: {
|
|
10
|
+
execution?: boolean;
|
|
11
|
+
toolCall?: boolean;
|
|
12
|
+
task?: boolean;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Metadata extractor function type
|
|
17
|
+
*/
|
|
18
|
+
export type TMetadataExtractor = (target: any, methodName: string, args: any[]) => Record<string, any>;
|
|
19
|
+
/**
|
|
20
|
+
* Method configuration for proxy
|
|
21
|
+
*/
|
|
22
|
+
export interface IMethodConfig {
|
|
23
|
+
startEvent?: string;
|
|
24
|
+
completeEvent?: string;
|
|
25
|
+
errorEvent?: string;
|
|
26
|
+
extractMetadata?: TMetadataExtractor;
|
|
27
|
+
extractResult?: (result: any) => any;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* ExecutionProxy - Automatic event emission using Proxy pattern
|
|
31
|
+
*
|
|
32
|
+
* This class wraps target objects and automatically emits events
|
|
33
|
+
* around method execution without modifying business logic.
|
|
34
|
+
*
|
|
35
|
+
* Benefits:
|
|
36
|
+
* - Zero business logic pollution
|
|
37
|
+
* - Automatic event emission
|
|
38
|
+
* - Configurable per method
|
|
39
|
+
* - AOP (Aspect-Oriented Programming) pattern
|
|
40
|
+
*/
|
|
41
|
+
export declare class ExecutionProxy<T extends object = object> {
|
|
42
|
+
private config;
|
|
43
|
+
private methodConfigs;
|
|
44
|
+
constructor(config: IExecutionProxyConfig);
|
|
45
|
+
/**
|
|
46
|
+
* Configure specific methods for event emission
|
|
47
|
+
*/
|
|
48
|
+
configureMethod(methodName: string, config: IMethodConfig): this;
|
|
49
|
+
/**
|
|
50
|
+
* Configure multiple methods with standard patterns
|
|
51
|
+
*/
|
|
52
|
+
configureStandardMethods(): this;
|
|
53
|
+
/**
|
|
54
|
+
* Create a proxy wrapper around the target object
|
|
55
|
+
*/
|
|
56
|
+
wrap(target: T): T;
|
|
57
|
+
/**
|
|
58
|
+
* Emit event with standard ServiceEventData format
|
|
59
|
+
*/
|
|
60
|
+
private emitEvent;
|
|
61
|
+
/**
|
|
62
|
+
* Generate unique execution ID
|
|
63
|
+
*/
|
|
64
|
+
private generateExecutionId;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Factory function to create execution proxy with standard configuration
|
|
68
|
+
*/
|
|
69
|
+
export declare function createExecutionProxy<T extends object>(target: T, config: IExecutionProxyConfig): T;
|
|
70
|
+
/**
|
|
71
|
+
* Decorator function for automatic event emission
|
|
72
|
+
* Usage: @withEventEmission(eventService, 'agent', 'agent-id')
|
|
73
|
+
*/
|
|
74
|
+
export declare function withEventEmission(eventService: IEventService, sourceType: 'agent' | 'team' | 'tool', sourceId: string): <T extends object>(target: T) => T;
|
|
75
|
+
//# sourceMappingURL=execution-proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-proxy.d.ts","sourceRoot":"","sources":["../../src/utils/execution-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAM/E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,YAAY,EAAE,aAAa,CAAC;IAC5B,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE;QACZ,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACL;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEvG;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CACxC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACjD,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,aAAa,CAAyC;gBAElD,MAAM,EAAE,qBAAqB;IAIzC;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAKhE;;OAEG;IACH,wBAAwB,IAAI,IAAI;IAoFhC;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC;IAmFlB;;OAEG;IACH,OAAO,CAAC,SAAS;IAejB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAG9B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACjD,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,qBAAqB,GAC9B,CAAC,CAIH;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC7B,YAAY,EAAE,aAAa,EAC3B,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EACrC,QAAQ,EAAE,MAAM,IAEC,CAAC,SAAS,MAAM,EAAE,QAAQ,CAAC,KAAG,CAAC,CAOnD"}
|