@robota-sdk/agent-core 3.0.0-beta.3 → 3.0.0-beta.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -184
- package/dist/abstracts/abstract-agent.d.ts.map +1 -1
- package/dist/abstracts/abstract-agent.js.map +1 -1
- package/dist/abstracts/abstract-ai-provider.d.ts +8 -7
- package/dist/abstracts/abstract-ai-provider.d.ts.map +1 -1
- package/dist/abstracts/abstract-ai-provider.js +21 -15
- package/dist/abstracts/abstract-ai-provider.js.map +1 -1
- package/dist/abstracts/abstract-executor.d.ts.map +1 -1
- package/dist/abstracts/abstract-executor.js +20 -12
- package/dist/abstracts/abstract-executor.js.map +1 -1
- package/dist/abstracts/abstract-manager.d.ts.map +1 -1
- package/dist/abstracts/abstract-manager.js.map +1 -1
- package/dist/abstracts/abstract-module-events.d.ts +77 -0
- package/dist/abstracts/abstract-module-events.d.ts.map +1 -0
- package/dist/abstracts/abstract-module-events.js +8 -0
- package/dist/abstracts/abstract-module-events.js.map +1 -0
- package/dist/abstracts/abstract-module-types.d.ts +110 -0
- package/dist/abstracts/abstract-module-types.d.ts.map +1 -0
- package/dist/abstracts/abstract-module-types.js +20 -0
- package/dist/abstracts/abstract-module-types.js.map +1 -0
- package/dist/abstracts/abstract-module.d.ts +13 -312
- package/dist/abstracts/abstract-module.d.ts.map +1 -1
- package/dist/abstracts/abstract-module.js +137 -302
- package/dist/abstracts/abstract-module.js.map +1 -1
- package/dist/abstracts/abstract-module.test.d.ts +2 -0
- package/dist/abstracts/abstract-module.test.d.ts.map +1 -0
- package/dist/abstracts/abstract-module.test.js +150 -0
- package/dist/abstracts/abstract-module.test.js.map +1 -0
- package/dist/abstracts/abstract-plugin-types.d.ts +152 -0
- package/dist/abstracts/abstract-plugin-types.d.ts.map +1 -0
- package/dist/abstracts/abstract-plugin-types.js +29 -0
- package/dist/abstracts/abstract-plugin-types.js.map +1 -0
- package/dist/abstracts/abstract-plugin.d.ts +15 -304
- package/dist/abstracts/abstract-plugin.d.ts.map +1 -1
- package/dist/abstracts/abstract-plugin.js +28 -144
- package/dist/abstracts/abstract-plugin.js.map +1 -1
- package/dist/abstracts/abstract-tool.d.ts +1 -1
- package/dist/abstracts/abstract-tool.d.ts.map +1 -1
- package/dist/abstracts/abstract-tool.js +2 -2
- package/dist/abstracts/abstract-tool.js.map +1 -1
- package/dist/abstracts/abstract-workflow-converter.d.ts.map +1 -1
- package/dist/abstracts/abstract-workflow-converter.js +29 -20
- package/dist/abstracts/abstract-workflow-converter.js.map +1 -1
- package/dist/abstracts/abstract-workflow-converter.test.d.ts +2 -0
- package/dist/abstracts/abstract-workflow-converter.test.d.ts.map +1 -0
- package/dist/abstracts/abstract-workflow-converter.test.js +144 -0
- package/dist/abstracts/abstract-workflow-converter.test.js.map +1 -0
- package/dist/abstracts/abstract-workflow-validator-helpers.d.ts +37 -0
- package/dist/abstracts/abstract-workflow-validator-helpers.d.ts.map +1 -0
- package/dist/abstracts/abstract-workflow-validator-helpers.js +147 -0
- package/dist/abstracts/abstract-workflow-validator-helpers.js.map +1 -0
- package/dist/abstracts/abstract-workflow-validator-helpers.test.d.ts +2 -0
- package/dist/abstracts/abstract-workflow-validator-helpers.test.d.ts.map +1 -0
- package/dist/abstracts/abstract-workflow-validator-helpers.test.js +157 -0
- package/dist/abstracts/abstract-workflow-validator-helpers.test.js.map +1 -0
- package/dist/abstracts/abstract-workflow-validator.d.ts +18 -130
- package/dist/abstracts/abstract-workflow-validator.d.ts.map +1 -1
- package/dist/abstracts/abstract-workflow-validator.js +58 -326
- package/dist/abstracts/abstract-workflow-validator.js.map +1 -1
- package/dist/abstracts/abstract-workflow-validator.test.d.ts +2 -0
- package/dist/abstracts/abstract-workflow-validator.test.d.ts.map +1 -0
- package/dist/abstracts/abstract-workflow-validator.test.js +142 -0
- package/dist/abstracts/abstract-workflow-validator.test.js.map +1 -0
- package/dist/abstracts/index.d.ts +1 -0
- package/dist/abstracts/index.d.ts.map +1 -1
- package/dist/abstracts/index.js +3 -2
- package/dist/abstracts/index.js.map +1 -1
- package/dist/agents/constants.d.ts +1 -1
- package/dist/agents/constants.d.ts.map +1 -1
- package/dist/agents/constants.js +1 -1
- package/dist/agents/constants.js.map +1 -1
- package/dist/agents/index.js +1 -1
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/robota.test.js +36 -36
- package/dist/agents/robota.test.js.map +1 -1
- package/dist/browser/index.d.ts +93 -10
- package/dist/browser/index.js +8 -4
- package/dist/context/index.d.ts +4 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +2 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/models.d.ts +27 -0
- package/dist/context/models.d.ts.map +1 -0
- package/dist/context/models.js +76 -0
- package/dist/context/models.js.map +1 -0
- package/dist/context/models.test.d.ts +2 -0
- package/dist/context/models.test.d.ts.map +1 -0
- package/dist/context/models.test.js +51 -0
- package/dist/context/models.test.js.map +1 -0
- package/dist/context/types.d.ts +25 -0
- package/dist/context/types.d.ts.map +1 -0
- package/dist/context/types.js +8 -0
- package/dist/context/types.js.map +1 -0
- package/dist/core/robota-config-manager.d.ts +78 -0
- package/dist/core/robota-config-manager.d.ts.map +1 -0
- package/dist/core/robota-config-manager.js +216 -0
- package/dist/core/robota-config-manager.js.map +1 -0
- package/dist/core/robota-execution.d.ts +23 -0
- package/dist/core/robota-execution.d.ts.map +1 -0
- package/dist/core/robota-execution.js +81 -0
- package/dist/core/robota-execution.js.map +1 -0
- package/dist/core/robota-initializer.d.ts +37 -0
- package/dist/core/robota-initializer.d.ts.map +1 -0
- package/dist/core/robota-initializer.js +77 -0
- package/dist/core/robota-initializer.js.map +1 -0
- package/dist/core/robota-lifecycle.d.ts +53 -0
- package/dist/core/robota-lifecycle.d.ts.map +1 -0
- package/dist/core/robota-lifecycle.js +73 -0
- package/dist/core/robota-lifecycle.js.map +1 -0
- package/dist/core/robota-module-manager.d.ts +78 -0
- package/dist/core/robota-module-manager.d.ts.map +1 -0
- package/dist/core/robota-module-manager.js +114 -0
- package/dist/core/robota-module-manager.js.map +1 -0
- package/dist/core/robota-plugin-manager.d.ts +40 -0
- package/dist/core/robota-plugin-manager.d.ts.map +1 -0
- package/dist/core/robota-plugin-manager.js +71 -0
- package/dist/core/robota-plugin-manager.js.map +1 -0
- package/dist/core/robota.d.ts +56 -606
- package/dist/core/robota.d.ts.map +1 -1
- package/dist/core/robota.js +210 -1152
- package/dist/core/robota.js.map +1 -1
- package/dist/core/robota.test.d.ts +2 -0
- package/dist/core/robota.test.d.ts.map +1 -0
- package/dist/core/robota.test.js +353 -0
- package/dist/core/robota.test.js.map +1 -0
- package/dist/event-service/event-service.d.ts +61 -0
- package/dist/event-service/event-service.d.ts.map +1 -0
- package/dist/event-service/event-service.js +120 -0
- package/dist/event-service/event-service.js.map +1 -0
- package/dist/event-service/index.d.ts +6 -0
- package/dist/event-service/index.d.ts.map +1 -0
- package/dist/event-service/index.js +4 -0
- package/dist/event-service/index.js.map +1 -0
- package/dist/event-service/interfaces.d.ts +98 -0
- package/dist/event-service/interfaces.d.ts.map +1 -0
- package/dist/event-service/interfaces.js +8 -0
- package/dist/event-service/interfaces.js.map +1 -0
- package/dist/event-service/task-events.d.ts +6 -0
- package/dist/event-service/task-events.d.ts.map +1 -0
- package/dist/event-service/task-events.js +6 -0
- package/dist/event-service/task-events.js.map +1 -0
- package/dist/event-service/user-events.d.ts +7 -0
- package/dist/event-service/user-events.d.ts.map +1 -0
- package/dist/event-service/user-events.js +6 -0
- package/dist/event-service/user-events.js.map +1 -0
- package/dist/executors/local-executor.d.ts +2 -2
- package/dist/executors/local-executor.d.ts.map +1 -1
- package/dist/executors/local-executor.js +7 -7
- package/dist/executors/local-executor.js.map +1 -1
- package/dist/executors/local-executor.test.js +16 -16
- package/dist/executors/local-executor.test.js.map +1 -1
- package/dist/hooks/hook-runner.d.ts +20 -0
- package/dist/hooks/hook-runner.d.ts.map +1 -0
- package/dist/hooks/hook-runner.js +95 -0
- package/dist/hooks/hook-runner.js.map +1 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/types.d.ts +40 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +5 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/index.d.ts +49 -75
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -71
- package/dist/index.js.map +1 -1
- package/dist/interfaces/agent.d.ts +3 -2
- package/dist/interfaces/agent.d.ts.map +1 -1
- package/dist/interfaces/cache.d.ts +64 -0
- package/dist/interfaces/cache.d.ts.map +1 -0
- package/dist/interfaces/cache.js +2 -0
- package/dist/interfaces/cache.js.map +1 -0
- package/dist/interfaces/event-service.d.ts +4 -75
- package/dist/interfaces/event-service.d.ts.map +1 -1
- package/dist/interfaces/executor.d.ts.map +1 -1
- package/dist/interfaces/history-module.d.ts.map +1 -1
- package/dist/interfaces/index.d.ts +12 -9
- package/dist/interfaces/index.d.ts.map +1 -1
- package/dist/interfaces/index.js +2 -1
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/manager.d.ts.map +1 -1
- package/dist/interfaces/media-provider.d.ts +86 -0
- package/dist/interfaces/media-provider.d.ts.map +1 -0
- package/dist/interfaces/media-provider.js +13 -0
- package/dist/interfaces/media-provider.js.map +1 -0
- package/dist/interfaces/messages.d.ts +23 -1
- package/dist/interfaces/messages.d.ts.map +1 -1
- package/dist/interfaces/messages.js.map +1 -1
- package/dist/interfaces/progress-reporting.d.ts.map +1 -1
- package/dist/interfaces/progress-reporting.js +1 -3
- package/dist/interfaces/progress-reporting.js.map +1 -1
- package/dist/interfaces/provider.d.ts +12 -1
- package/dist/interfaces/provider.d.ts.map +1 -1
- package/dist/interfaces/service.d.ts.map +1 -1
- package/dist/interfaces/tool.d.ts +1 -0
- package/dist/interfaces/tool.d.ts.map +1 -1
- package/dist/interfaces/types.d.ts.map +1 -1
- package/dist/interfaces/types.js +6 -6
- package/dist/interfaces/types.js.map +1 -1
- package/dist/interfaces/workflow-converter.d.ts.map +1 -1
- package/dist/interfaces/workflow-validator.d.ts.map +1 -1
- package/dist/interfaces/workflow-validator.js.map +1 -1
- package/dist/managers/agent-factory.d.ts.map +1 -1
- package/dist/managers/agent-factory.js +24 -16
- package/dist/managers/agent-factory.js.map +1 -1
- package/dist/managers/agent-factory.test.js +35 -25
- package/dist/managers/agent-factory.test.js.map +1 -1
- package/dist/managers/agent-templates.d.ts.map +1 -1
- package/dist/managers/agent-templates.js +22 -10
- package/dist/managers/agent-templates.js.map +1 -1
- package/dist/managers/agent-templates.test.d.ts +2 -0
- package/dist/managers/agent-templates.test.d.ts.map +1 -0
- package/dist/managers/agent-templates.test.js +175 -0
- package/dist/managers/agent-templates.test.js.map +1 -0
- package/dist/managers/ai-provider-manager.d.ts.map +1 -1
- package/dist/managers/ai-provider-manager.js +8 -10
- package/dist/managers/ai-provider-manager.js.map +1 -1
- package/dist/managers/ai-provider-manager.test.d.ts +2 -0
- package/dist/managers/ai-provider-manager.test.d.ts.map +1 -0
- package/dist/managers/ai-provider-manager.test.js +327 -0
- package/dist/managers/ai-provider-manager.test.js.map +1 -0
- package/dist/managers/conversation-history-manager.d.ts +13 -425
- package/dist/managers/conversation-history-manager.d.ts.map +1 -1
- package/dist/managers/conversation-history-manager.js +21 -537
- package/dist/managers/conversation-history-manager.js.map +1 -1
- package/dist/managers/conversation-history-manager.test.js +82 -43
- package/dist/managers/conversation-history-manager.test.js.map +1 -1
- package/dist/managers/conversation-message-factory.d.ts +40 -0
- package/dist/managers/conversation-message-factory.d.ts.map +1 -0
- package/dist/managers/conversation-message-factory.js +66 -0
- package/dist/managers/conversation-message-factory.js.map +1 -0
- package/dist/managers/conversation-message-factory.test.d.ts +2 -0
- package/dist/managers/conversation-message-factory.test.d.ts.map +1 -0
- package/dist/managers/conversation-message-factory.test.js +95 -0
- package/dist/managers/conversation-message-factory.test.js.map +1 -0
- package/dist/managers/conversation-session.d.ts +90 -0
- package/dist/managers/conversation-session.d.ts.map +1 -0
- package/dist/managers/conversation-session.js +177 -0
- package/dist/managers/conversation-session.js.map +1 -0
- package/dist/managers/index.d.ts +2 -2
- package/dist/managers/index.d.ts.map +1 -1
- package/dist/managers/index.js +1 -1
- package/dist/managers/index.js.map +1 -1
- package/dist/managers/module-registry-validation.d.ts +38 -0
- package/dist/managers/module-registry-validation.d.ts.map +1 -0
- package/dist/managers/module-registry-validation.js +100 -0
- package/dist/managers/module-registry-validation.js.map +1 -0
- package/dist/managers/module-registry-validation.test.d.ts +2 -0
- package/dist/managers/module-registry-validation.test.d.ts.map +1 -0
- package/dist/managers/module-registry-validation.test.js +144 -0
- package/dist/managers/module-registry-validation.test.js.map +1 -0
- package/dist/managers/module-registry.d.ts +13 -111
- package/dist/managers/module-registry.d.ts.map +1 -1
- package/dist/managers/module-registry.js +74 -344
- package/dist/managers/module-registry.js.map +1 -1
- package/dist/managers/module-type-registry-helpers.d.ts +34 -0
- package/dist/managers/module-type-registry-helpers.d.ts.map +1 -0
- package/dist/managers/module-type-registry-helpers.js +255 -0
- package/dist/managers/module-type-registry-helpers.js.map +1 -0
- package/dist/managers/module-type-registry.d.ts +10 -64
- package/dist/managers/module-type-registry.d.ts.map +1 -1
- package/dist/managers/module-type-registry.js +25 -373
- package/dist/managers/module-type-registry.js.map +1 -1
- package/dist/managers/plugins-helpers.d.ts +18 -0
- package/dist/managers/plugins-helpers.d.ts.map +1 -0
- package/dist/managers/plugins-helpers.js +118 -0
- package/dist/managers/plugins-helpers.js.map +1 -0
- package/dist/managers/plugins-helpers.test.d.ts +2 -0
- package/dist/managers/plugins-helpers.test.d.ts.map +1 -0
- package/dist/managers/plugins-helpers.test.js +68 -0
- package/dist/managers/plugins-helpers.test.js.map +1 -0
- package/dist/managers/plugins.d.ts +16 -109
- package/dist/managers/plugins.d.ts.map +1 -1
- package/dist/managers/plugins.js +29 -220
- package/dist/managers/plugins.js.map +1 -1
- package/dist/managers/plugins.test.d.ts +2 -0
- package/dist/managers/plugins.test.d.ts.map +1 -0
- package/dist/managers/plugins.test.js +160 -0
- package/dist/managers/plugins.test.js.map +1 -0
- package/dist/managers/tool-manager.d.ts +1 -1
- package/dist/managers/tool-manager.d.ts.map +1 -1
- package/dist/managers/tool-manager.js +15 -5
- package/dist/managers/tool-manager.js.map +1 -1
- package/dist/managers/tool-manager.test.js +32 -16
- package/dist/managers/tool-manager.test.js.map +1 -1
- package/dist/node/index.cjs +8 -4
- package/dist/node/index.d.cts +93 -10
- package/dist/node/index.d.ts +93 -10
- package/dist/node/index.js +8 -4
- package/dist/permissions/index.d.ts +7 -0
- package/dist/permissions/index.d.ts.map +1 -0
- package/dist/permissions/index.js +4 -0
- package/dist/permissions/index.js.map +1 -0
- package/dist/permissions/permission-gate.d.ts +38 -0
- package/dist/permissions/permission-gate.d.ts.map +1 -0
- package/dist/permissions/permission-gate.js +119 -0
- package/dist/permissions/permission-gate.js.map +1 -0
- package/dist/permissions/permission-mode.d.ts +25 -0
- package/dist/permissions/permission-mode.d.ts.map +1 -0
- package/dist/permissions/permission-mode.js +58 -0
- package/dist/permissions/permission-mode.js.map +1 -0
- package/dist/permissions/types.d.ts +27 -0
- package/dist/permissions/types.d.ts.map +1 -0
- package/dist/permissions/types.js +9 -0
- package/dist/permissions/types.js.map +1 -0
- package/dist/plugins/event-emitter/metrics.d.ts.map +1 -1
- package/dist/plugins/event-emitter/metrics.js +1 -1
- package/dist/plugins/event-emitter/metrics.js.map +1 -1
- package/dist/plugins/event-emitter/plugin-types.d.ts +88 -0
- package/dist/plugins/event-emitter/plugin-types.d.ts.map +1 -0
- package/dist/plugins/event-emitter/plugin-types.js +2 -0
- package/dist/plugins/event-emitter/plugin-types.js.map +1 -0
- package/dist/plugins/event-emitter/types.d.ts +3 -3
- package/dist/plugins/event-emitter/types.d.ts.map +1 -1
- package/dist/plugins/event-emitter/types.js +4 -4
- package/dist/plugins/event-emitter/types.js.map +1 -1
- package/dist/plugins/event-emitter-plugin.d.ts +9 -184
- package/dist/plugins/event-emitter-plugin.d.ts.map +1 -1
- package/dist/plugins/event-emitter-plugin.js +91 -235
- package/dist/plugins/event-emitter-plugin.js.map +1 -1
- package/dist/schemas/agent-template-schema.d.ts +12 -12
- package/dist/schemas/agent-template-schema.d.ts.map +1 -1
- package/dist/schemas/agent-template-schema.js +35 -33
- package/dist/schemas/agent-template-schema.js.map +1 -1
- package/dist/services/cache/cache-key-builder.d.ts +13 -0
- package/dist/services/cache/cache-key-builder.d.ts.map +1 -0
- package/dist/services/cache/cache-key-builder.js +30 -0
- package/dist/services/cache/cache-key-builder.js.map +1 -0
- package/dist/services/cache/cache-key-builder.test.d.ts +2 -0
- package/dist/services/cache/cache-key-builder.test.d.ts.map +1 -0
- package/dist/services/cache/cache-key-builder.test.js +56 -0
- package/dist/services/cache/cache-key-builder.test.js.map +1 -0
- package/dist/services/cache/execution-cache-service.d.ts +18 -0
- package/dist/services/cache/execution-cache-service.d.ts.map +1 -0
- package/dist/services/cache/execution-cache-service.js +26 -0
- package/dist/services/cache/execution-cache-service.js.map +1 -0
- package/dist/services/cache/execution-cache-service.test.d.ts +2 -0
- package/dist/services/cache/execution-cache-service.test.d.ts.map +1 -0
- package/dist/services/cache/execution-cache-service.test.js +59 -0
- package/dist/services/cache/execution-cache-service.test.js.map +1 -0
- package/dist/services/cache/index.d.ts +4 -0
- package/dist/services/cache/index.d.ts.map +1 -0
- package/dist/services/cache/index.js +4 -0
- package/dist/services/cache/index.js.map +1 -0
- package/dist/services/cache/memory-cache-storage.d.ts +25 -0
- package/dist/services/cache/memory-cache-storage.d.ts.map +1 -0
- package/dist/services/cache/memory-cache-storage.js +89 -0
- package/dist/services/cache/memory-cache-storage.js.map +1 -0
- package/dist/services/cache/memory-cache-storage.test.d.ts +2 -0
- package/dist/services/cache/memory-cache-storage.test.d.ts.map +1 -0
- package/dist/services/cache/memory-cache-storage.test.js +94 -0
- package/dist/services/cache/memory-cache-storage.test.js.map +1 -0
- package/dist/services/conversation-service/conversation-service.test.d.ts +2 -0
- package/dist/services/conversation-service/conversation-service.test.d.ts.map +1 -0
- package/dist/services/conversation-service/conversation-service.test.js +248 -0
- package/dist/services/conversation-service/conversation-service.test.js.map +1 -0
- package/dist/services/conversation-service/index.d.ts +10 -71
- package/dist/services/conversation-service/index.d.ts.map +1 -1
- package/dist/services/conversation-service/index.js +58 -355
- package/dist/services/conversation-service/index.js.map +1 -1
- package/dist/services/conversation-service/message-helpers.d.ts +47 -0
- package/dist/services/conversation-service/message-helpers.d.ts.map +1 -0
- package/dist/services/conversation-service/message-helpers.js +150 -0
- package/dist/services/conversation-service/message-helpers.js.map +1 -0
- package/dist/services/conversation-service/types.d.ts.map +1 -1
- package/dist/services/execution-constants.d.ts +16 -0
- package/dist/services/execution-constants.d.ts.map +1 -0
- package/dist/services/execution-constants.js +16 -0
- package/dist/services/execution-constants.js.map +1 -0
- package/dist/services/execution-event-emitter.d.ts +60 -0
- package/dist/services/execution-event-emitter.d.ts.map +1 -0
- package/dist/services/execution-event-emitter.js +323 -0
- package/dist/services/execution-event-emitter.js.map +1 -0
- package/dist/services/execution-round.d.ts +58 -0
- package/dist/services/execution-round.d.ts.map +1 -0
- package/dist/services/execution-round.js +323 -0
- package/dist/services/execution-round.js.map +1 -0
- package/dist/services/execution-round.test.d.ts +2 -0
- package/dist/services/execution-round.test.d.ts.map +1 -0
- package/dist/services/execution-round.test.js +188 -0
- package/dist/services/execution-round.test.js.map +1 -0
- package/dist/services/execution-service.d.ts +28 -125
- package/dist/services/execution-service.d.ts.map +1 -1
- package/dist/services/execution-service.js +222 -1134
- package/dist/services/execution-service.js.map +1 -1
- package/dist/services/execution-service.test.js +115 -72
- package/dist/services/execution-service.test.js.map +1 -1
- package/dist/services/execution-stream.d.ts +32 -0
- package/dist/services/execution-stream.d.ts.map +1 -0
- package/dist/services/execution-stream.js +268 -0
- package/dist/services/execution-stream.js.map +1 -0
- package/dist/services/execution-types.d.ts +122 -0
- package/dist/services/execution-types.d.ts.map +1 -0
- package/dist/services/execution-types.js +48 -0
- package/dist/services/execution-types.js.map +1 -0
- package/dist/services/history-module.d.ts.map +1 -1
- package/dist/services/history-module.js +1 -1
- package/dist/services/history-module.js.map +1 -1
- package/dist/services/history-module.test.d.ts +2 -0
- package/dist/services/history-module.test.d.ts.map +1 -0
- package/dist/services/history-module.test.js +137 -0
- package/dist/services/history-module.test.js.map +1 -0
- package/dist/services/in-memory-history-store.d.ts.map +1 -1
- package/dist/services/in-memory-history-store.js +1 -1
- package/dist/services/in-memory-history-store.js.map +1 -1
- package/dist/services/index.d.ts +0 -1
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +2 -3
- package/dist/services/index.js.map +1 -1
- package/dist/services/plugin-hook-dispatcher.d.ts +11 -0
- package/dist/services/plugin-hook-dispatcher.d.ts.map +1 -0
- package/dist/services/plugin-hook-dispatcher.js +68 -0
- package/dist/services/plugin-hook-dispatcher.js.map +1 -0
- package/dist/services/plugin-hook-dispatcher.test.d.ts +2 -0
- package/dist/services/plugin-hook-dispatcher.test.d.ts.map +1 -0
- package/dist/services/plugin-hook-dispatcher.test.js +93 -0
- package/dist/services/plugin-hook-dispatcher.test.js.map +1 -0
- package/dist/services/plugin-priority.test.d.ts +2 -0
- package/dist/services/plugin-priority.test.d.ts.map +1 -0
- package/dist/services/plugin-priority.test.js +119 -0
- package/dist/services/plugin-priority.test.js.map +1 -0
- package/dist/services/tool-execution-service.d.ts +1 -0
- package/dist/services/tool-execution-service.d.ts.map +1 -1
- package/dist/services/tool-execution-service.js +89 -46
- package/dist/services/tool-execution-service.js.map +1 -1
- package/dist/services/tool-execution-service.test.d.ts +2 -0
- package/dist/services/tool-execution-service.test.d.ts.map +1 -0
- package/dist/services/tool-execution-service.test.js +358 -0
- package/dist/services/tool-execution-service.test.js.map +1 -0
- package/dist/tool-registry/function-tool.d.ts +54 -0
- package/dist/tool-registry/function-tool.d.ts.map +1 -0
- package/dist/tool-registry/function-tool.js +190 -0
- package/dist/tool-registry/function-tool.js.map +1 -0
- package/dist/tool-registry/index.d.ts +3 -0
- package/dist/tool-registry/index.d.ts.map +1 -0
- package/dist/tool-registry/index.js +3 -0
- package/dist/tool-registry/index.js.map +1 -0
- package/dist/tool-registry/tool-registry.d.ts +54 -0
- package/dist/tool-registry/tool-registry.d.ts.map +1 -0
- package/dist/tool-registry/tool-registry.js +148 -0
- package/dist/tool-registry/tool-registry.js.map +1 -0
- package/dist/utils/errors.d.ts +11 -2
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +13 -2
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/errors.test.d.ts +2 -0
- package/dist/utils/errors.test.d.ts.map +1 -0
- package/dist/utils/errors.test.js +361 -0
- package/dist/utils/errors.test.js.map +1 -0
- package/dist/utils/execution-proxy.d.ts +7 -3
- package/dist/utils/execution-proxy.d.ts.map +1 -1
- package/dist/utils/execution-proxy.js +64 -42
- package/dist/utils/execution-proxy.js.map +1 -1
- package/dist/utils/execution-proxy.test.d.ts +2 -0
- package/dist/utils/execution-proxy.test.d.ts.map +1 -0
- package/dist/utils/execution-proxy.test.js +179 -0
- package/dist/utils/execution-proxy.test.js.map +1 -0
- package/dist/utils/logger.d.ts +3 -3
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +9 -5
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/message-converter.d.ts +1 -4
- package/dist/utils/message-converter.d.ts.map +1 -1
- package/dist/utils/message-converter.js +13 -12
- package/dist/utils/message-converter.js.map +1 -1
- package/dist/utils/message-converter.test.d.ts +2 -0
- package/dist/utils/message-converter.test.d.ts.map +1 -0
- package/dist/utils/message-converter.test.js +164 -0
- package/dist/utils/message-converter.test.js.map +1 -0
- package/dist/utils/periodic-task.d.ts +1 -1
- package/dist/utils/periodic-task.d.ts.map +1 -1
- package/dist/utils/periodic-task.js +1 -1
- package/dist/utils/periodic-task.js.map +1 -1
- package/dist/utils/periodic-task.test.d.ts +2 -0
- package/dist/utils/periodic-task.test.d.ts.map +1 -0
- package/dist/utils/periodic-task.test.js +87 -0
- package/dist/utils/periodic-task.test.js.map +1 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +17 -11
- package/dist/utils/validation.js.map +1 -1
- package/dist/utils/validation.test.d.ts +2 -0
- package/dist/utils/validation.test.d.ts.map +1 -0
- package/dist/utils/validation.test.js +249 -0
- package/dist/utils/validation.test.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,33 +1,27 @@
|
|
|
1
1
|
# @robota-sdk/agent-core
|
|
2
2
|
|
|
3
|
-
The
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
The `@robota-sdk/agent-core` package is the unified core of the Robota SDK, providing a complete AI agent system with advanced capabilities for conversation management, tool execution, and extensible plugin architecture.
|
|
3
|
+
The foundation layer of the Robota SDK. Provides the `Robota` agent class, abstract base classes for providers/tools/plugins, the permission system, hook system, event services, and error hierarchy.
|
|
8
4
|
|
|
9
5
|
## Installation
|
|
10
6
|
|
|
11
7
|
```bash
|
|
12
8
|
npm install @robota-sdk/agent-core
|
|
13
|
-
# or
|
|
14
|
-
pnpm add @robota-sdk/agent-core
|
|
15
9
|
```
|
|
16
10
|
|
|
17
11
|
## Quick Start
|
|
18
12
|
|
|
19
13
|
```typescript
|
|
20
14
|
import { Robota } from '@robota-sdk/agent-core';
|
|
21
|
-
import {
|
|
15
|
+
import { AnthropicProvider } from '@robota-sdk/agent-provider-anthropic';
|
|
22
16
|
|
|
23
|
-
const
|
|
17
|
+
const provider = new AnthropicProvider({ apiKey: process.env.ANTHROPIC_API_KEY });
|
|
24
18
|
|
|
25
19
|
const agent = new Robota({
|
|
26
20
|
name: 'MyAgent',
|
|
27
|
-
aiProviders: [
|
|
21
|
+
aiProviders: [provider],
|
|
28
22
|
defaultModel: {
|
|
29
|
-
provider: '
|
|
30
|
-
model: '
|
|
23
|
+
provider: 'anthropic',
|
|
24
|
+
model: 'claude-sonnet-4-6',
|
|
31
25
|
systemMessage: 'You are a helpful assistant.',
|
|
32
26
|
},
|
|
33
27
|
});
|
|
@@ -36,194 +30,80 @@ const response = await agent.run('Hello, world!');
|
|
|
36
30
|
console.log(response);
|
|
37
31
|
```
|
|
38
32
|
|
|
39
|
-
### Browser Quick Start
|
|
40
|
-
|
|
41
|
-
```typescript
|
|
42
|
-
import { Robota, LoggingPlugin, UsagePlugin } from '@robota-sdk/agent-core';
|
|
43
|
-
import { OpenAIProvider } from '@robota-sdk/agent-provider-openai';
|
|
44
|
-
|
|
45
|
-
const openaiProvider = new OpenAIProvider({
|
|
46
|
-
apiKey: process.env.NEXT_PUBLIC_OPENAI_API_KEY, // or proxy endpoint
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
// Browser-optimized configuration
|
|
50
|
-
const agent = new Robota({
|
|
51
|
-
name: 'BrowserAgent',
|
|
52
|
-
aiProviders: [openaiProvider],
|
|
53
|
-
defaultModel: {
|
|
54
|
-
provider: 'openai',
|
|
55
|
-
model: 'gpt-3.5-turbo',
|
|
56
|
-
},
|
|
57
|
-
plugins: [
|
|
58
|
-
new LoggingPlugin({ strategy: 'console' }), // Console logging
|
|
59
|
-
new UsagePlugin({ strategy: 'memory' }), // Memory storage
|
|
60
|
-
],
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
const response = await agent.run('Hello from browser!');
|
|
64
|
-
console.log(response);
|
|
65
|
-
```
|
|
66
|
-
|
|
67
33
|
## Key Features
|
|
68
34
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
- **
|
|
72
|
-
- **
|
|
73
|
-
- **
|
|
74
|
-
- **
|
|
75
|
-
- **
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
- **Type-Safe Architecture**: Full TypeScript support with generic type parameters
|
|
80
|
-
- **Robota Class**: Complete AI agent implementation with conversation + tool system + plugin integration
|
|
81
|
-
- **Stateless Service Layer**: ConversationService, ToolExecutionService, ExecutionService for business logic
|
|
82
|
-
- **Manager Layer**: AIProviders, Tools, AgentFactory, Plugins, ConversationHistory for resource management
|
|
83
|
-
- **Parallel Tool Execution**: Concurrent multi-tool calling support
|
|
84
|
-
|
|
85
|
-
### 🌊 Streaming Response System
|
|
86
|
-
|
|
87
|
-
- **Real-time Streaming**: Full streaming support across all AI providers
|
|
88
|
-
- **Modular Architecture**: Separate streaming/parsing logic for each provider
|
|
89
|
-
- **Provider Support**: OpenAI, Anthropic, Google with dedicated stream handlers
|
|
90
|
-
|
|
91
|
-
### 🔧 Tool System
|
|
92
|
-
|
|
93
|
-
- **Type-Safe Tools**: `BaseTool<TParameters, TResult>` with compile-time type checking
|
|
94
|
-
- **ToolRegistry**: Schema storage and validation system
|
|
95
|
-
- **Function Tools**: Zod schema-based function tool implementation
|
|
96
|
-
- **OpenAPI/MCP Support**: Basic structure for extensibility
|
|
97
|
-
|
|
98
|
-
## Recent Updates
|
|
99
|
-
|
|
100
|
-
- Tool execution results preserve `executionId` mappings for both success and failure to keep deterministic ordering.
|
|
101
|
-
|
|
102
|
-
### 🔌 Plugin System
|
|
103
|
-
|
|
104
|
-
Eight core plugins with type-safe configuration and BasePluginOptions integration:
|
|
105
|
-
|
|
106
|
-
- **ConversationHistoryPlugin**: Comprehensive conversation storage with support for memory, file, and database backends. Features auto-save, batch processing, and configurable limits.
|
|
107
|
-
- **UsagePlugin**: Advanced usage analytics including token counting, cost calculation, aggregated statistics, and multiple storage strategies (memory/file/remote).
|
|
108
|
-
- **LoggingPlugin**: Multi-level logging system with console, file, and remote endpoints. Supports custom formatters, batch processing, and structured logging.
|
|
109
|
-
- **PerformancePlugin**: Real-time performance monitoring including execution time tracking, memory usage, CPU metrics, and customizable performance thresholds.
|
|
110
|
-
- **ErrorHandlingPlugin**: Robust error management with multiple strategies (simple, exponential-backoff, circuit-breaker, silent) and custom error handlers.
|
|
111
|
-
- **LimitsPlugin**: Advanced rate limiting with token bucket, sliding window, and fixed window strategies. Supports cost tracking and custom calculators.
|
|
112
|
-
- **EventEmitterPlugin**: Comprehensive event system with async/sync event handling, filtering, buffering, and lifecycle event tracking.
|
|
113
|
-
- **WebhookPlugin**: HTTP webhook notifications with batch processing, retry logic, custom transformers, and concurrent request management.
|
|
35
|
+
- **Robota class**: AI agent with conversation history, tool execution, and plugin support
|
|
36
|
+
- **Multi-provider**: Register multiple providers, switch dynamically with `setModel()`
|
|
37
|
+
- **Permission system**: Deterministic 3-step policy evaluation (`evaluatePermission`)
|
|
38
|
+
- **Hook system**: Shell command-based lifecycle hooks (`runHooks`)
|
|
39
|
+
- **Plugin system**: `AbstractPlugin` base class with lifecycle hooks (beforeRun, afterRun, onError, etc.)
|
|
40
|
+
- **Event services**: Unified event emission with owner path tracking
|
|
41
|
+
- **Error hierarchy**: Typed errors extending `RobotaError` (ProviderError, RateLimitError, etc.)
|
|
42
|
+
- **Model definitions**: Central `CLAUDE_MODELS` registry with context windows, output limits, and human-readable names
|
|
43
|
+
- **Type safety**: Strict TypeScript, zero `any` in production code
|
|
114
44
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
- **Type Safety**: All plugins extend BasePluginOptions for consistent configuration
|
|
118
|
-
- **Lifecycle Integration**: Automatic integration with agent lifecycle events
|
|
119
|
-
- **Resource Management**: Built-in cleanup and resource optimization
|
|
120
|
-
- **Performance Monitoring**: All plugins include built-in statistics and monitoring
|
|
121
|
-
- **Error Resilience**: Graceful error handling across all plugin operations
|
|
122
|
-
|
|
123
|
-
#### Plugin Control and Configuration
|
|
124
|
-
|
|
125
|
-
- **Clear Disable Options**: Every plugin provides multiple ways to disable functionality
|
|
126
|
-
- **No Arbitrary Decisions**: Plugins avoid making policy decisions without explicit configuration
|
|
127
|
-
- **Explicit Configuration**: All automatic behaviors can be controlled through configuration
|
|
128
|
-
- **Silent Modes**: Most plugins support 'silent' strategies for performance-critical scenarios
|
|
45
|
+
## Robota API
|
|
129
46
|
|
|
130
47
|
```typescript
|
|
131
|
-
|
|
132
|
-
const agent = new Robota({
|
|
133
|
-
plugins: [], // No plugins
|
|
134
|
-
});
|
|
48
|
+
const agent = new Robota(config);
|
|
135
49
|
|
|
136
|
-
//
|
|
137
|
-
const
|
|
138
|
-
plugins: [
|
|
139
|
-
new LoggingPlugin({ strategy: 'silent', enabled: false }),
|
|
140
|
-
new LimitsPlugin({ strategy: 'none' }),
|
|
141
|
-
new UsagePlugin({ strategy: 'silent' }),
|
|
142
|
-
],
|
|
143
|
-
});
|
|
144
|
-
```
|
|
50
|
+
// Send a message (executes tool calls automatically)
|
|
51
|
+
const response = await agent.run('Hello');
|
|
145
52
|
|
|
146
|
-
|
|
53
|
+
// Conversation history
|
|
54
|
+
const history = agent.getHistory(); // TUniversalMessage[]
|
|
55
|
+
agent.clearHistory();
|
|
147
56
|
|
|
148
|
-
|
|
57
|
+
// Switch provider/model mid-conversation
|
|
58
|
+
agent.setModel({ provider: 'openai', model: 'gpt-4o' });
|
|
59
|
+
```
|
|
149
60
|
|
|
150
|
-
|
|
61
|
+
## IAgentConfig
|
|
151
62
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
63
|
+
| Field | Type | Description |
|
|
64
|
+
| ---------------------------- | -------------------------- | ------------------------------ |
|
|
65
|
+
| `name` | `string` | Agent name |
|
|
66
|
+
| `aiProviders` | `IAIProvider[]` | One or more provider instances |
|
|
67
|
+
| `defaultModel.provider` | `string` | Provider name |
|
|
68
|
+
| `defaultModel.model` | `string` | Model identifier |
|
|
69
|
+
| `defaultModel.systemMessage` | `string?` | System prompt |
|
|
70
|
+
| `tools` | `IToolWithEventService[]?` | Tools the agent can call |
|
|
71
|
+
| `plugins` | `IPluginContract[]?` | Plugins for lifecycle hooks |
|
|
156
72
|
|
|
157
73
|
## Architecture
|
|
158
74
|
|
|
159
|
-
### Core Abstraction Layers
|
|
160
|
-
|
|
161
|
-
```
|
|
162
|
-
BaseAgent<TConfig, TContext, TMessage> (Abstract Class)
|
|
163
|
-
└── Robota (Implementation - AI conversation + tool system + plugins)
|
|
164
|
-
|
|
165
|
-
BaseAIProvider<TConfig, TMessage, TResponse>
|
|
166
|
-
├── OpenAIProvider (via @robota-sdk/agent-provider-openai)
|
|
167
|
-
├── AnthropicProvider (via @robota-sdk/agent-provider-anthropic)
|
|
168
|
-
└── GoogleProvider (via @robota-sdk/agent-provider-google)
|
|
169
|
-
|
|
170
|
-
BaseTool<TParameters, TResult>
|
|
171
|
-
├── FunctionTool (Zod schema-based)
|
|
172
|
-
├── OpenAPITool (API specification-based)
|
|
173
|
-
└── MCPTool (Model Context Protocol)
|
|
174
|
-
|
|
175
|
-
BasePlugin<TOptions, TStats>
|
|
176
|
-
├── Core Plugins (8 essential plugins)
|
|
177
|
-
└── Custom Plugins (User-defined extensions)
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
### Module Structure
|
|
181
|
-
|
|
182
75
|
```
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
76
|
+
agent-core (this package — zero workspace dependencies)
|
|
77
|
+
↑
|
|
78
|
+
agent-sessions ← Session lifecycle
|
|
79
|
+
agent-tools ← Tool implementations
|
|
80
|
+
agent-providers ← AI provider implementations
|
|
81
|
+
agent-plugins ← Plugin implementations (8 extracted packages)
|
|
82
|
+
↑
|
|
83
|
+
agent-sdk ← Assembly layer
|
|
84
|
+
↑
|
|
85
|
+
agent-cli ← Terminal UI
|
|
192
86
|
```
|
|
193
87
|
|
|
194
|
-
##
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
##
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
## Package Compatibility
|
|
215
|
-
|
|
216
|
-
### Integrated Packages
|
|
217
|
-
|
|
218
|
-
- **@robota-sdk/agent-provider-openai**: Complete agents standard migration
|
|
219
|
-
- **@robota-sdk/agent-provider-anthropic**: Complete agents standard migration
|
|
220
|
-
- **@robota-sdk/agent-provider-google**: Complete agents standard migration
|
|
221
|
-
- **@robota-sdk/agent-team**: assignTask MCP tool collection (team creation removed)
|
|
222
|
-
|
|
223
|
-
### Deprecated Packages
|
|
224
|
-
|
|
225
|
-
- **@robota-sdk/core**: Deprecated - functionality moved to agents
|
|
226
|
-
- **@robota-sdk/agent-tools**: Deprecated - functionality moved to agents
|
|
88
|
+
## What This Package Provides
|
|
89
|
+
|
|
90
|
+
| Category | Exports |
|
|
91
|
+
| --------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
|
92
|
+
| **Core** | `Robota`, `AbstractAgent`, `AbstractAIProvider`, `AbstractPlugin`, `AbstractTool`, `AbstractExecutor`, `LocalExecutor` |
|
|
93
|
+
| **Permissions** | `evaluatePermission`, `MODE_POLICY`, `TRUST_TO_MODE`, `TPermissionMode`, `TToolArgs` |
|
|
94
|
+
| **Hooks** | `runHooks`, `THookEvent` (PreToolUse, PostToolUse, PreCompact, PostCompact, SessionStart, Stop) |
|
|
95
|
+
| **Events** | `AbstractEventService`, `DefaultEventService`, `StructuredEventService`, `EventEmitterPlugin` |
|
|
96
|
+
| **Models** | `CLAUDE_MODELS`, `getModelContextWindow()`, `getModelName()`, `formatTokenCount()`, `IModelDefinition` |
|
|
97
|
+
| **Types** | `TUniversalMessage`, `IAgentConfig`, `IAIProvider`, `IToolSchema`, `IContextWindowState` |
|
|
98
|
+
| **Errors** | `RobotaError`, `ProviderError`, `RateLimitError`, `AuthenticationError`, `ToolExecutionError`, etc. |
|
|
99
|
+
|
|
100
|
+
## What Moved Out in v3
|
|
101
|
+
|
|
102
|
+
| What | Moved to |
|
|
103
|
+
| --------------------------------------------- | ---------------------------- |
|
|
104
|
+
| `FunctionTool`, `ToolRegistry`, `OpenAPITool` | `@robota-sdk/agent-tools` |
|
|
105
|
+
| `MCPTool`, `RelayMcpTool` | `@robota-sdk/agent-tool-mcp` |
|
|
106
|
+
| 8 plugins (logging, usage, performance, etc.) | `@robota-sdk/agent-plugin-*` |
|
|
227
107
|
|
|
228
108
|
## License
|
|
229
109
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-agent.d.ts","sourceRoot":"","sources":["../../src/abstracts/abstract-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEhG,8BAAsB,aAAa,
|
|
1
|
+
{"version":3,"file":"abstract-agent.d.ts","sourceRoot":"","sources":["../../src/abstracts/abstract-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEhG,8BAAsB,aAAa,CACjC,OAAO,GAAG,YAAY,EACtB,QAAQ,GAAG,WAAW,EACtB,QAAQ,GAAG,iBAAiB,CAC5B,YAAW,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAE9C,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAM;IACnC,SAAS,CAAC,aAAa,UAAS;IAChC,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9C;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAEhE;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC;IAE1F;;OAEG;IACH,UAAU,IAAI,QAAQ,EAAE;IAIxB;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAI7C;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM5C;;OAEG;cACa,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOlD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-agent.js","sourceRoot":"","sources":["../../src/abstracts/abstract-agent.ts"],"names":[],"mappings":"AAWA,MAAM,OAAgB,aAAa;
|
|
1
|
+
{"version":3,"file":"abstract-agent.js","sourceRoot":"","sources":["../../src/abstracts/abstract-agent.ts"],"names":[],"mappings":"AAWA,MAAM,OAAgB,aAAa;IAMvB,OAAO,GAAe,EAAE,CAAC;IACzB,aAAa,GAAG,KAAK,CAAC;IACtB,MAAM,CAAW;IAO3B;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,MAAe;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACjC,CAAC;IAYD;;OAEG;IACH,UAAU;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED;;OAEG;IACO,UAAU,CAAC,OAAiB;QACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,KAAa;QACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,iBAAiB;QAC/B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -56,16 +56,16 @@ export interface IExecutorAwareProviderConfig {
|
|
|
56
56
|
* override readonly version = '1.0.0';
|
|
57
57
|
* ```
|
|
58
58
|
*
|
|
59
|
-
* 2. USE IMPORTS FROM @robota-sdk/
|
|
59
|
+
* 2. USE IMPORTS FROM @robota-sdk/agent-core:
|
|
60
60
|
* ```typescript
|
|
61
|
-
* import { AbstractAIProvider } from '@robota-sdk/
|
|
61
|
+
* import { AbstractAIProvider } from '@robota-sdk/agent-core';
|
|
62
62
|
* import type {
|
|
63
63
|
* TUniversalMessage,
|
|
64
64
|
* ChatOptions,
|
|
65
65
|
* IToolCall,
|
|
66
66
|
* ToolSchema,
|
|
67
67
|
* AssistantMessage
|
|
68
|
-
* } from '@robota-sdk/
|
|
68
|
+
* } from '@robota-sdk/agent-core';
|
|
69
69
|
* ```
|
|
70
70
|
*
|
|
71
71
|
* 3. USE OVERRIDE KEYWORD FOR ALL INHERITED METHODS:
|
|
@@ -75,7 +75,7 @@ export interface IExecutorAwareProviderConfig {
|
|
|
75
75
|
* - override validateConfig()
|
|
76
76
|
* - override async dispose()
|
|
77
77
|
*
|
|
78
|
-
* 4. DO NOT REDEFINE TYPES THAT EXIST IN @robota-sdk/
|
|
78
|
+
* 4. DO NOT REDEFINE TYPES THAT EXIST IN @robota-sdk/agent-core:
|
|
79
79
|
* - TUniversalMessage
|
|
80
80
|
* - ChatOptions
|
|
81
81
|
* - IToolCall
|
|
@@ -115,9 +115,10 @@ export declare abstract class AbstractAIProvider<TConfig = IProviderConfig> impl
|
|
|
115
115
|
protected readonly logger: ILogger;
|
|
116
116
|
constructor(logger?: ILogger);
|
|
117
117
|
/**
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
* Configure the provider with type-safe configuration
|
|
119
|
+
*/
|
|
120
120
|
configure(config: TConfig): Promise<void>;
|
|
121
|
+
private hasExecutor;
|
|
121
122
|
/**
|
|
122
123
|
* Each provider must implement chat using their own native SDK types internally
|
|
123
124
|
* @param messages - Array of messages from conversation history
|
|
@@ -131,7 +132,7 @@ export declare abstract class AbstractAIProvider<TConfig = IProviderConfig> impl
|
|
|
131
132
|
* @param options - Chat options including tools, model settings, etc.
|
|
132
133
|
* @returns AsyncIterable of response chunks
|
|
133
134
|
*/
|
|
134
|
-
|
|
135
|
+
chatStream?(messages: TUniversalMessage[], options?: IChatOptions): AsyncIterable<TUniversalMessage>;
|
|
135
136
|
/**
|
|
136
137
|
* Provider-agnostic raw response API.
|
|
137
138
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-ai-provider.d.ts","sourceRoot":"","sources":["../../src/abstracts/abstract-ai-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"abstract-ai-provider.d.ts","sourceRoot":"","sources":["../../src/abstracts/abstract-ai-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,16 +17,16 @@ import { SilentLogger } from '../utils/logger';
|
|
|
17
17
|
* override readonly version = '1.0.0';
|
|
18
18
|
* ```
|
|
19
19
|
*
|
|
20
|
-
* 2. USE IMPORTS FROM @robota-sdk/
|
|
20
|
+
* 2. USE IMPORTS FROM @robota-sdk/agent-core:
|
|
21
21
|
* ```typescript
|
|
22
|
-
* import { AbstractAIProvider } from '@robota-sdk/
|
|
22
|
+
* import { AbstractAIProvider } from '@robota-sdk/agent-core';
|
|
23
23
|
* import type {
|
|
24
24
|
* TUniversalMessage,
|
|
25
25
|
* ChatOptions,
|
|
26
26
|
* IToolCall,
|
|
27
27
|
* ToolSchema,
|
|
28
28
|
* AssistantMessage
|
|
29
|
-
* } from '@robota-sdk/
|
|
29
|
+
* } from '@robota-sdk/agent-core';
|
|
30
30
|
* ```
|
|
31
31
|
*
|
|
32
32
|
* 3. USE OVERRIDE KEYWORD FOR ALL INHERITED METHODS:
|
|
@@ -36,7 +36,7 @@ import { SilentLogger } from '../utils/logger';
|
|
|
36
36
|
* - override validateConfig()
|
|
37
37
|
* - override async dispose()
|
|
38
38
|
*
|
|
39
|
-
* 4. DO NOT REDEFINE TYPES THAT EXIST IN @robota-sdk/
|
|
39
|
+
* 4. DO NOT REDEFINE TYPES THAT EXIST IN @robota-sdk/agent-core:
|
|
40
40
|
* - TUniversalMessage
|
|
41
41
|
* - ChatOptions
|
|
42
42
|
* - IToolCall
|
|
@@ -76,16 +76,19 @@ export class AbstractAIProvider {
|
|
|
76
76
|
this.logger = logger;
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
* Configure the provider with type-safe configuration
|
|
80
|
+
*/
|
|
81
81
|
async configure(config) {
|
|
82
82
|
this.config = config;
|
|
83
83
|
// Check if config includes executor and set it
|
|
84
|
-
if (config &&
|
|
84
|
+
if (this.hasExecutor(config) && config.executor) {
|
|
85
85
|
this.executor = config.executor;
|
|
86
86
|
}
|
|
87
87
|
// Subclasses can override for additional setup
|
|
88
88
|
}
|
|
89
|
+
hasExecutor(config) {
|
|
90
|
+
return typeof config === 'object' && config !== null && 'executor' in config;
|
|
91
|
+
}
|
|
89
92
|
/**
|
|
90
93
|
* Provider-agnostic raw response API.
|
|
91
94
|
*
|
|
@@ -98,13 +101,13 @@ export class AbstractAIProvider {
|
|
|
98
101
|
...(payload.model !== undefined && { model: payload.model }),
|
|
99
102
|
...(payload.temperature !== undefined && { temperature: payload.temperature }),
|
|
100
103
|
...(payload.maxTokens !== undefined && { maxTokens: payload.maxTokens }),
|
|
101
|
-
...(payload.tools !== undefined && { tools: payload.tools })
|
|
104
|
+
...(payload.tools !== undefined && { tools: payload.tools }),
|
|
102
105
|
});
|
|
103
106
|
return {
|
|
104
107
|
content: response.content ?? null,
|
|
105
108
|
toolCalls: isAssistantMessage(response) ? response.toolCalls : undefined,
|
|
106
109
|
model: payload.model,
|
|
107
|
-
metadata: payload.metadata
|
|
110
|
+
metadata: payload.metadata,
|
|
108
111
|
};
|
|
109
112
|
}
|
|
110
113
|
/**
|
|
@@ -120,13 +123,13 @@ export class AbstractAIProvider {
|
|
|
120
123
|
...(payload.model !== undefined && { model: payload.model }),
|
|
121
124
|
...(payload.temperature !== undefined && { temperature: payload.temperature }),
|
|
122
125
|
...(payload.maxTokens !== undefined && { maxTokens: payload.maxTokens }),
|
|
123
|
-
...(payload.tools !== undefined && { tools: payload.tools })
|
|
126
|
+
...(payload.tools !== undefined && { tools: payload.tools }),
|
|
124
127
|
})) {
|
|
125
128
|
yield {
|
|
126
129
|
content: chunk.content ?? null,
|
|
127
130
|
toolCalls: isAssistantMessage(chunk) ? chunk.toolCalls : undefined,
|
|
128
131
|
model: payload.model,
|
|
129
|
-
metadata: payload.metadata
|
|
132
|
+
metadata: payload.metadata,
|
|
130
133
|
};
|
|
131
134
|
}
|
|
132
135
|
}
|
|
@@ -178,7 +181,10 @@ export class AbstractAIProvider {
|
|
|
178
181
|
if (!tool.description || typeof tool.description !== 'string') {
|
|
179
182
|
throw new Error('Tool must have a valid description');
|
|
180
183
|
}
|
|
181
|
-
if (!tool.parameters ||
|
|
184
|
+
if (!tool.parameters ||
|
|
185
|
+
typeof tool.parameters !== 'object' ||
|
|
186
|
+
tool.parameters === null ||
|
|
187
|
+
Array.isArray(tool.parameters)) {
|
|
182
188
|
throw new Error('Tool must have valid parameters');
|
|
183
189
|
}
|
|
184
190
|
}
|
|
@@ -200,7 +206,7 @@ export class AbstractAIProvider {
|
|
|
200
206
|
options,
|
|
201
207
|
provider: this.name,
|
|
202
208
|
model: options.model,
|
|
203
|
-
...(options.tools && { tools: options.tools })
|
|
209
|
+
...(options.tools && { tools: options.tools }),
|
|
204
210
|
});
|
|
205
211
|
return result;
|
|
206
212
|
}
|
|
@@ -222,7 +228,7 @@ export class AbstractAIProvider {
|
|
|
222
228
|
model: options.model,
|
|
223
229
|
hasTools: !!options.tools,
|
|
224
230
|
toolsCount: options.tools?.length || 0,
|
|
225
|
-
toolNames: options.tools?.map((t) => t.name) || []
|
|
231
|
+
toolNames: options.tools?.map((t) => t.name) || [],
|
|
226
232
|
});
|
|
227
233
|
const stream = this.executor.executeChatStream({
|
|
228
234
|
messages,
|
|
@@ -230,7 +236,7 @@ export class AbstractAIProvider {
|
|
|
230
236
|
provider: this.name,
|
|
231
237
|
model: options.model,
|
|
232
238
|
stream: true,
|
|
233
|
-
...(options.tools && { tools: options.tools })
|
|
239
|
+
...(options.tools && { tools: options.tools }),
|
|
234
240
|
});
|
|
235
241
|
for await (const chunk of stream) {
|
|
236
242
|
yield chunk;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-ai-provider.js","sourceRoot":"","sources":["../../src/abstracts/abstract-ai-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"abstract-ai-provider.js","sourceRoot":"","sources":["../../src/abstracts/abstract-ai-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-executor.d.ts","sourceRoot":"","sources":["../../src/abstracts/abstract-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"abstract-executor.d.ts","sourceRoot":"","sources":["../../src/abstracts/abstract-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG/C;;;;;;;;;;;;;;;;;GAiBG;AACH,8BAAsB,gBAAiB,YAAW,SAAS;IACzD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;gBAEvB,MAAM,GAAE,OAAsB;IAI1C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAEhF;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa,CAAC,iBAAiB,CAAC;IAE/F;;;OAGG;IACH,aAAa,IAAI,OAAO;IAIxB;;;OAGG;IACH,cAAc,IAAI,OAAO;IAIzB;;;OAGG;IACG,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B;;;;;;;OAOG;cACa,SAAS,CAAC,CAAC,EACzB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,UAAU,GAAE,MAAU,EACtB,UAAU,GAAE,MAAa,GACxB,OAAO,CAAC,CAAC,CAAC;IA0Bb;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAgB5E;;;;;OAKG;IACH,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI;IAI7D;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI;IAQ3E;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAc/D;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;CAc9D"}
|
|
@@ -66,7 +66,7 @@ export class AbstractExecutor {
|
|
|
66
66
|
this.logger.warn?.(`[${this.name}] Attempt ${attempt + 1} failed, retrying in ${retryDelay}ms`, {
|
|
67
67
|
error: lastError.message,
|
|
68
68
|
attempt: attempt + 1,
|
|
69
|
-
maxRetries
|
|
69
|
+
maxRetries,
|
|
70
70
|
});
|
|
71
71
|
await this.delay(retryDelay);
|
|
72
72
|
}
|
|
@@ -81,13 +81,17 @@ export class AbstractExecutor {
|
|
|
81
81
|
* @param timeoutMs - Timeout in milliseconds
|
|
82
82
|
* @returns Promise resolving to function result
|
|
83
83
|
*/
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
84
|
+
withTimeout(promise, timeoutMs) {
|
|
85
|
+
let timerId;
|
|
86
|
+
return Promise.race([
|
|
87
|
+
promise.then((result) => {
|
|
88
|
+
clearTimeout(timerId);
|
|
89
|
+
return result;
|
|
90
|
+
}),
|
|
91
|
+
new Promise((_, reject) => {
|
|
92
|
+
timerId = setTimeout(() => reject(new Error(`Operation timed out after ${timeoutMs}ms`)), timeoutMs);
|
|
93
|
+
}),
|
|
94
|
+
]);
|
|
91
95
|
}
|
|
92
96
|
/**
|
|
93
97
|
* Delay execution for specified milliseconds
|
|
@@ -96,7 +100,7 @@ export class AbstractExecutor {
|
|
|
96
100
|
* @returns Promise that resolves after the delay
|
|
97
101
|
*/
|
|
98
102
|
delay(ms) {
|
|
99
|
-
return new Promise(resolve => setTimeout(resolve, ms));
|
|
103
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
100
104
|
}
|
|
101
105
|
/**
|
|
102
106
|
* Log debug information (only if logging is enabled)
|
|
@@ -118,7 +122,7 @@ export class AbstractExecutor {
|
|
|
118
122
|
this.logger.error?.(`[${this.name}] ${message}`, {
|
|
119
123
|
error: error.message,
|
|
120
124
|
stack: error.stack,
|
|
121
|
-
...data
|
|
125
|
+
...data,
|
|
122
126
|
});
|
|
123
127
|
}
|
|
124
128
|
/**
|
|
@@ -148,8 +152,12 @@ export class AbstractExecutor {
|
|
|
148
152
|
if (!response.role) {
|
|
149
153
|
throw new Error('Response must have a role');
|
|
150
154
|
}
|
|
151
|
-
|
|
152
|
-
|
|
155
|
+
const hasToolCalls = response.role === 'assistant' &&
|
|
156
|
+
'toolCalls' in response &&
|
|
157
|
+
Array.isArray(response.toolCalls) &&
|
|
158
|
+
response.toolCalls.length > 0;
|
|
159
|
+
if (!response.content && !hasToolCalls) {
|
|
160
|
+
throw new Error('Response must have content or tool calls');
|
|
153
161
|
}
|
|
154
162
|
}
|
|
155
163
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-executor.js","sourceRoot":"","sources":["../../src/abstracts/abstract-executor.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAgB,gBAAgB;
|
|
1
|
+
{"version":3,"file":"abstract-executor.js","sourceRoot":"","sources":["../../src/abstracts/abstract-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-manager.d.ts","sourceRoot":"","sources":["../../src/abstracts/abstract-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,8BAAsB,eAAe;
|
|
1
|
+
{"version":3,"file":"abstract-manager.d.ts","sourceRoot":"","sources":["../../src/abstracts/abstract-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,8BAAsB,eAAe;IACnC,SAAS,CAAC,WAAW,UAAS;IAE9B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAEhD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAE7C;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;CAKpC"}
|