@robota-sdk/agent-core 3.0.0-beta.2 → 3.0.0-beta.20
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 +32 -2
- package/dist/browser/index.js +6 -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 +6 -4
- package/dist/node/index.d.cts +32 -2
- package/dist/node/index.d.ts +32 -2
- package/dist/node/index.js +6 -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/dist/core/robota.d.ts
CHANGED
|
@@ -1,108 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core Robota agent class.
|
|
3
|
+
*
|
|
4
|
+
* Heavy logic is delegated to extracted helpers:
|
|
5
|
+
* - {@link RobotaModuleManager} — module lifecycle
|
|
6
|
+
* - {@link RobotaPluginManager} — plugin lifecycle
|
|
7
|
+
* - {@link RobotaConfigManager} — config/tool/model management
|
|
8
|
+
* - {@link performAsyncInitialization} — async boot sequence
|
|
9
|
+
* - {@link robotaRun}, {@link robotaRunStream} — execution turns
|
|
10
|
+
* - {@link buildAgentStats}, {@link destroyAgent} — stats and teardown
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
1
13
|
import { AbstractAgent } from '../abstracts/abstract-agent';
|
|
2
14
|
import { TUniversalMessage, IAgentConfig, IRunOptions, IAgent } from '../interfaces/agent';
|
|
3
15
|
import type { IPluginContract, IPluginHooks, IPluginOptions, IPluginStats } from '../abstracts/abstract-plugin';
|
|
4
16
|
import type { IModule } from '../abstracts/abstract-module';
|
|
5
|
-
import { AbstractTool,
|
|
17
|
+
import type { AbstractTool, IToolWithEventService } from '../abstracts/abstract-tool';
|
|
6
18
|
import type { IModuleResultData } from '../abstracts/abstract-module';
|
|
19
|
+
export type { TAgentStatsMetadata } from './robota-config-manager';
|
|
7
20
|
/**
|
|
8
|
-
*
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Agent statistics metadata type
|
|
12
|
-
* Used for storing statistics and performance data in getStats method
|
|
13
|
-
*/
|
|
14
|
-
export type TAgentStatsMetadata = Record<string, string | number | boolean | Date | string[]>;
|
|
15
|
-
/**
|
|
16
|
-
* Configuration options for creating a Robota instance.
|
|
17
|
-
* Extends AgentConfig with additional options specific to the Robota agent system.
|
|
18
|
-
*
|
|
21
|
+
* Core AI agent integrating multiple AI providers, tools, and plugins
|
|
22
|
+
* into a unified conversational interface.
|
|
19
23
|
* @public
|
|
20
|
-
* @interface
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* const config: AgentConfig = {
|
|
24
|
-
* name: 'MyAgent',
|
|
25
|
-
* aiProviders: [new OpenAIProvider()],
|
|
26
|
-
* defaultModel: {
|
|
27
|
-
* provider: 'openai',
|
|
28
|
-
* model: 'gpt-4'
|
|
29
|
-
* },
|
|
30
|
-
* tools: [weatherTool, calculatorTool],
|
|
31
|
-
* plugins: [new LoggingPlugin(), new UsagePlugin()],
|
|
32
|
-
* logging: { level: 'info', enabled: true }
|
|
33
|
-
* };
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
/**
|
|
37
|
-
* Core AI agent implementation for the Robota SDK.
|
|
38
|
-
*
|
|
39
|
-
* Robota is a comprehensive AI agent that integrates multiple AI providers, tools, and plugins
|
|
40
|
-
* into a unified conversational interface. Each instance is completely independent with its own
|
|
41
|
-
* managers and services - NO GLOBAL SINGLETONS are used.
|
|
42
|
-
*
|
|
43
|
-
* Key Features:
|
|
44
|
-
* - Multiple AI provider support (OpenAI, Anthropic, Google)
|
|
45
|
-
* - Function/tool calling with Zod schema validation
|
|
46
|
-
* - Plugin system for extensible functionality
|
|
47
|
-
* - Streaming response support
|
|
48
|
-
* - Conversation history management
|
|
49
|
-
* - Instance-specific resource management
|
|
50
|
-
*
|
|
51
|
-
* @public
|
|
52
|
-
* @class
|
|
53
|
-
* @implements AgentInterface
|
|
54
|
-
*
|
|
55
|
-
* @example Basic Usage
|
|
56
|
-
* ```typescript
|
|
57
|
-
* import { Robota } from '@robota-sdk/agents';
|
|
58
|
-
* import { OpenAIProvider } from '@robota-sdk/openai';
|
|
59
|
-
*
|
|
60
|
-
* const robota = new Robota({
|
|
61
|
-
* name: 'MyAgent',
|
|
62
|
-
* aiProviders: [new OpenAIProvider({ apiKey: 'sk-...' })],
|
|
63
|
-
* defaultModel: {
|
|
64
|
-
* provider: 'openai',
|
|
65
|
-
* model: 'gpt-4'
|
|
66
|
-
* }
|
|
67
|
-
* });
|
|
68
|
-
*
|
|
69
|
-
* const response = await robota.run('Hello, how are you?');
|
|
70
|
-
* console.log(response);
|
|
71
|
-
* ```
|
|
72
|
-
*
|
|
73
|
-
* @example With Tools and Plugins
|
|
74
|
-
* ```typescript
|
|
75
|
-
* import { Robota, LoggingPlugin, UsagePlugin } from '@robota-sdk/agents';
|
|
76
|
-
* import { weatherTool, calculatorTool } from './my-tools';
|
|
77
|
-
*
|
|
78
|
-
* const robota = new Robota({
|
|
79
|
-
* name: 'AdvancedAgent',
|
|
80
|
-
* aiProviders: [openaiProvider],
|
|
81
|
-
* defaultModel: {
|
|
82
|
-
* provider: 'openai',
|
|
83
|
-
* model: 'gpt-4'
|
|
84
|
-
* },
|
|
85
|
-
* tools: [weatherTool, calculatorTool],
|
|
86
|
-
* plugins: [
|
|
87
|
-
* new LoggingPlugin({ level: 'info' }),
|
|
88
|
-
* new UsagePlugin({ trackTokens: true })
|
|
89
|
-
* ]
|
|
90
|
-
* });
|
|
91
|
-
*
|
|
92
|
-
* const response = await robota.run('What\'s the weather in Tokyo?');
|
|
93
|
-
* ```
|
|
94
|
-
*
|
|
95
|
-
* @example Streaming Response
|
|
96
|
-
* ```typescript
|
|
97
|
-
* for await (const chunk of robota.runStream('Tell me a story')) {
|
|
98
|
-
* process.stdout.write(chunk);
|
|
99
|
-
* }
|
|
100
|
-
* ```
|
|
101
24
|
*/
|
|
102
25
|
export declare class Robota extends AbstractAgent<IAgentConfig, IRunOptions, TUniversalMessage> implements IAgent<IAgentConfig, IRunOptions, TUniversalMessage> {
|
|
103
|
-
/** The name of this agent instance */
|
|
104
26
|
readonly name: string;
|
|
105
|
-
/** The version of the Robota agent implementation */
|
|
106
27
|
readonly version: string;
|
|
107
28
|
private aiProviders;
|
|
108
29
|
private tools;
|
|
@@ -121,52 +42,25 @@ export declare class Robota extends AbstractAgent<IAgentConfig, IRunOptions, TUn
|
|
|
121
42
|
private startTime;
|
|
122
43
|
private configVersion;
|
|
123
44
|
private configUpdatedAt;
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
* The constructor performs synchronous initialization and validation.
|
|
128
|
-
* Async initialization (AI provider setup, tool registration) is deferred
|
|
129
|
-
* until the first run() call for optimal performance.
|
|
130
|
-
*
|
|
131
|
-
* @param config - Configuration options for the agent
|
|
132
|
-
* @throws {ConfigurationError} When required configuration is missing or invalid
|
|
133
|
-
* @throws {ValidationError} When configuration values are invalid
|
|
134
|
-
*
|
|
135
|
-
* @example
|
|
136
|
-
* ```typescript
|
|
137
|
-
* const robota = new Robota({
|
|
138
|
-
* name: 'CustomerSupport',
|
|
139
|
-
* aiProviders: [
|
|
140
|
-
* new OpenAIProvider({ apiKey: process.env.OPENAI_API_KEY }),
|
|
141
|
-
* new AnthropicProvider({ apiKey: process.env.ANTHROPIC_API_KEY })
|
|
142
|
-
* ],
|
|
143
|
-
* defaultModel: {
|
|
144
|
-
* provider: 'openai',
|
|
145
|
-
* model: 'gpt-4',
|
|
146
|
-
* temperature: 0.7
|
|
147
|
-
* },
|
|
148
|
-
* tools: [emailTool, ticketTool],
|
|
149
|
-
* plugins: [new LoggingPlugin(), new ErrorHandlingPlugin()]
|
|
150
|
-
* });
|
|
151
|
-
* ```
|
|
152
|
-
*/
|
|
45
|
+
private moduleManager;
|
|
46
|
+
private pluginManager;
|
|
47
|
+
private configManager;
|
|
153
48
|
constructor(config: IAgentConfig);
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
49
|
+
private initDelegates;
|
|
50
|
+
private emitCreatedEvent;
|
|
51
|
+
run(input: string, options?: IRunOptions): Promise<string>;
|
|
52
|
+
runStream(input: string, options?: IRunOptions): AsyncGenerator<string, void, undefined>;
|
|
53
|
+
private executionDeps;
|
|
54
|
+
getHistory(): TUniversalMessage[];
|
|
55
|
+
clearHistory(): void;
|
|
56
|
+
/** Inject a message into conversation history without triggering execution. */
|
|
57
|
+
injectMessage(role: 'user' | 'assistant' | 'system', content: string): void;
|
|
158
58
|
updateTools(next: Array<IToolWithEventService>): Promise<{
|
|
159
59
|
version: number;
|
|
160
60
|
}>;
|
|
161
|
-
/**
|
|
162
|
-
* Update configuration partially. Currently supports tools.
|
|
163
|
-
*/
|
|
164
61
|
updateConfiguration(patch: Partial<IAgentConfig>): Promise<{
|
|
165
62
|
version: number;
|
|
166
63
|
}>;
|
|
167
|
-
/**
|
|
168
|
-
* Read-only configuration overview for UI.
|
|
169
|
-
*/
|
|
170
64
|
getConfiguration(): Promise<{
|
|
171
65
|
version: number;
|
|
172
66
|
tools: Array<{
|
|
@@ -174,299 +68,41 @@ export declare class Robota extends AbstractAgent<IAgentConfig, IRunOptions, TUn
|
|
|
174
68
|
parameters?: string[];
|
|
175
69
|
}>;
|
|
176
70
|
updatedAt: number;
|
|
177
|
-
metadata?: TAgentStatsMetadata;
|
|
178
71
|
}>;
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
* Create instance-specific EventEmitter plugin
|
|
199
|
-
*/
|
|
200
|
-
private createEventEmitterInstance;
|
|
201
|
-
/**
|
|
202
|
-
* Create instance-specific ModuleRegistry
|
|
203
|
-
*/
|
|
204
|
-
private createModuleRegistryInstance;
|
|
205
|
-
/**
|
|
206
|
-
* Ensure full initialization has occurred
|
|
207
|
-
*/
|
|
208
|
-
private ensureFullyInitialized;
|
|
209
|
-
/**
|
|
210
|
-
* Perform actual async initialization
|
|
211
|
-
*/
|
|
212
|
-
private performAsyncInitialization;
|
|
213
|
-
/**
|
|
214
|
-
* Initialize the agent if not already done
|
|
215
|
-
*
|
|
216
|
-
* Note: This is a protected lifecycle hook required by AbstractAgent.
|
|
217
|
-
* Do not mark it as an internal tag, because DTS generation uses `stripInternal`
|
|
218
|
-
* and would remove this method from the public type surface, breaking the
|
|
219
|
-
* abstract contract in `.d.ts`.
|
|
220
|
-
*/
|
|
221
|
-
protected initialize(): Promise<void>;
|
|
222
|
-
/**
|
|
223
|
-
* Execute a conversation turn with the AI agent.
|
|
224
|
-
*
|
|
225
|
-
* This is the primary method for interacting with the agent. It processes user input,
|
|
226
|
-
* manages conversation history, executes any required tools, and returns the AI response.
|
|
227
|
-
* The method automatically initializes the agent on first use.
|
|
228
|
-
*
|
|
229
|
-
* @param input - The user's message or prompt to send to the AI
|
|
230
|
-
* @param options - Optional configuration for this specific execution
|
|
231
|
-
* @returns Promise that resolves to the AI's response as a string
|
|
232
|
-
*
|
|
233
|
-
* @throws {ConfigurationError} When the agent configuration is invalid
|
|
234
|
-
* @throws {ProviderError} When the AI provider encounters an error
|
|
235
|
-
* @throws {ToolExecutionError} When a tool execution fails
|
|
236
|
-
*
|
|
237
|
-
* @example Basic conversation
|
|
238
|
-
* ```typescript
|
|
239
|
-
* const response = await robota.run('Hello, how are you?');
|
|
240
|
-
* console.log(response); // "Hello! I'm doing well, thank you for asking..."
|
|
241
|
-
* ```
|
|
242
|
-
*
|
|
243
|
-
* @example With execution options
|
|
244
|
-
* ```typescript
|
|
245
|
-
* const response = await robota.run('Analyze this data', {
|
|
246
|
-
* sessionId: 'user-123',
|
|
247
|
-
* userId: 'john.doe',
|
|
248
|
-
* metadata: { source: 'web-app', priority: 'high' }
|
|
249
|
-
* });
|
|
250
|
-
* ```
|
|
251
|
-
*
|
|
252
|
-
* @example Error handling
|
|
253
|
-
* ```typescript
|
|
254
|
-
* try {
|
|
255
|
-
* const response = await robota.run('Complex request');
|
|
256
|
-
* } catch (error) {
|
|
257
|
-
* if (error instanceof ToolExecutionError) {
|
|
258
|
-
* console.error('Tool failed:', error.toolName, error.message);
|
|
259
|
-
* }
|
|
260
|
-
* }
|
|
261
|
-
* ```
|
|
262
|
-
*/
|
|
263
|
-
run(input: string, options?: IRunOptions): Promise<string>;
|
|
264
|
-
/**
|
|
265
|
-
* Execute a conversation turn with streaming response.
|
|
266
|
-
*
|
|
267
|
-
* Similar to run() but returns an async generator that yields response chunks
|
|
268
|
-
* as they arrive from the AI provider. This enables real-time streaming of
|
|
269
|
-
* the AI's response for better user experience.
|
|
270
|
-
*
|
|
271
|
-
* @param input - The user's message or prompt to send to the AI
|
|
272
|
-
* @param options - Optional configuration for this specific execution
|
|
273
|
-
* @returns AsyncGenerator that yields string chunks of the AI response
|
|
274
|
-
*
|
|
275
|
-
* @throws {ConfigurationError} When the agent configuration is invalid
|
|
276
|
-
* @throws {ProviderError} When the AI provider encounters an error
|
|
277
|
-
* @throws {ToolExecutionError} When a tool execution fails
|
|
278
|
-
*
|
|
279
|
-
* @example Basic streaming
|
|
280
|
-
* ```typescript
|
|
281
|
-
* for await (const chunk of robota.runStream('Tell me a story')) {
|
|
282
|
-
* process.stdout.write(chunk);
|
|
283
|
-
* }
|
|
284
|
-
* console.log('\n'); // New line after story
|
|
285
|
-
* ```
|
|
286
|
-
*
|
|
287
|
-
* @example Collecting full response
|
|
288
|
-
* ```typescript
|
|
289
|
-
* let fullResponse = '';
|
|
290
|
-
* for await (const chunk of robota.runStream('Explain quantum computing')) {
|
|
291
|
-
* fullResponse += chunk;
|
|
292
|
-
* updateUI(chunk); // Update UI in real-time
|
|
293
|
-
* }
|
|
294
|
-
* console.log('Complete response:', fullResponse);
|
|
295
|
-
* ```
|
|
296
|
-
*
|
|
297
|
-
* @example Error handling in streams
|
|
298
|
-
* ```typescript
|
|
299
|
-
* try {
|
|
300
|
-
* for await (const chunk of robota.runStream('Complex request')) {
|
|
301
|
-
* handleChunk(chunk);
|
|
302
|
-
* }
|
|
303
|
-
* } catch (error) {
|
|
304
|
-
* console.error('Streaming failed:', error.message);
|
|
305
|
-
* }
|
|
306
|
-
* ```
|
|
307
|
-
*/
|
|
308
|
-
runStream(input: string, options?: IRunOptions): AsyncGenerator<string, void, undefined>;
|
|
309
|
-
/**
|
|
310
|
-
* Get the conversation history for this agent instance.
|
|
311
|
-
*
|
|
312
|
-
* Returns an array of messages representing the complete conversation history
|
|
313
|
-
* for this agent's conversation session. The history includes user messages,
|
|
314
|
-
* assistant responses, and tool call results.
|
|
315
|
-
*
|
|
316
|
-
* @returns Array of TUniversalMessage objects representing the conversation history
|
|
317
|
-
*
|
|
318
|
-
* @example
|
|
319
|
-
* ```typescript
|
|
320
|
-
* await robota.run('What is 2 + 2?');
|
|
321
|
-
* await robota.run('What about 3 + 3?');
|
|
322
|
-
*
|
|
323
|
-
* const history = robota.getHistory();
|
|
324
|
-
* console.log(history.length); // 4 (2 user messages, 2 assistant responses)
|
|
325
|
-
* console.log(history[0].role); // 'user'
|
|
326
|
-
* console.log(history[0].content); // 'What is 2 + 2?'
|
|
327
|
-
* ```
|
|
328
|
-
*/
|
|
329
|
-
getHistory(): TUniversalMessage[];
|
|
330
|
-
/**
|
|
331
|
-
* Clear the conversation history for this agent instance.
|
|
332
|
-
*
|
|
333
|
-
* Removes all messages from the conversation history, starting fresh.
|
|
334
|
-
* This does not affect the agent's configuration or other state.
|
|
335
|
-
*
|
|
336
|
-
* @example
|
|
337
|
-
* ```typescript
|
|
338
|
-
* await robota.run('First message');
|
|
339
|
-
* console.log(robota.getHistory().length); // 2 (user + assistant)
|
|
340
|
-
*
|
|
341
|
-
* robota.clearHistory();
|
|
342
|
-
* console.log(robota.getHistory().length); // 0
|
|
343
|
-
* ```
|
|
344
|
-
*/
|
|
345
|
-
clearHistory(): void;
|
|
346
|
-
/**
|
|
347
|
-
* Add a plugin to the agent at runtime.
|
|
348
|
-
*
|
|
349
|
-
* Plugins provide extensible functionality through lifecycle hooks.
|
|
350
|
-
* This method allows dynamic addition of plugins after agent creation.
|
|
351
|
-
*
|
|
352
|
-
* @param plugin - The plugin instance to add
|
|
353
|
-
*
|
|
354
|
-
* @example
|
|
355
|
-
* ```typescript
|
|
356
|
-
* import { UsagePlugin, PerformancePlugin } from '@robota-sdk/agents';
|
|
357
|
-
*
|
|
358
|
-
* const robota = new Robota(config);
|
|
359
|
-
*
|
|
360
|
-
* // Add plugins dynamically
|
|
361
|
-
* robota.addPlugin(new UsagePlugin({ trackTokens: true }));
|
|
362
|
-
* robota.addPlugin(new PerformancePlugin({ trackMemory: true }));
|
|
363
|
-
* ```
|
|
364
|
-
*/
|
|
72
|
+
setModel(mc: {
|
|
73
|
+
provider: string;
|
|
74
|
+
model: string;
|
|
75
|
+
temperature?: number;
|
|
76
|
+
maxTokens?: number;
|
|
77
|
+
topP?: number;
|
|
78
|
+
systemMessage?: string;
|
|
79
|
+
}): void;
|
|
80
|
+
getModel(): {
|
|
81
|
+
provider: string;
|
|
82
|
+
model: string;
|
|
83
|
+
temperature?: number;
|
|
84
|
+
maxTokens?: number;
|
|
85
|
+
topP?: number;
|
|
86
|
+
systemMessage?: string;
|
|
87
|
+
};
|
|
88
|
+
registerTool(tool: AbstractTool): void;
|
|
89
|
+
unregisterTool(toolName: string): void;
|
|
90
|
+
getConfig(): IAgentConfig;
|
|
365
91
|
addPlugin(plugin: IPluginContract<IPluginOptions, IPluginStats> & IPluginHooks): void;
|
|
366
|
-
/**
|
|
367
|
-
* Remove a plugin from the agent by name.
|
|
368
|
-
*
|
|
369
|
-
* @param pluginName - The name of the plugin to remove
|
|
370
|
-
* @returns true if the plugin was found and removed, false otherwise
|
|
371
|
-
*
|
|
372
|
-
* @example
|
|
373
|
-
* ```typescript
|
|
374
|
-
* const removed = robota.removePlugin('usage-plugin');
|
|
375
|
-
* if (removed) {
|
|
376
|
-
* console.log('Plugin removed successfully');
|
|
377
|
-
* } else {
|
|
378
|
-
* console.log('Plugin not found');
|
|
379
|
-
* }
|
|
380
|
-
* ```
|
|
381
|
-
*/
|
|
382
92
|
removePlugin(pluginName: string): boolean;
|
|
383
|
-
|
|
384
|
-
* Get a specific plugin by name with type safety.
|
|
385
|
-
*
|
|
386
|
-
* @template T - The expected plugin type extending AbstractPlugin
|
|
387
|
-
* @param pluginName - The name of the plugin to retrieve
|
|
388
|
-
* @returns The plugin instance if found, null otherwise
|
|
389
|
-
*
|
|
390
|
-
* @example
|
|
391
|
-
* ```typescript
|
|
392
|
-
* import { UsagePlugin } from '@robota-sdk/agents';
|
|
393
|
-
*
|
|
394
|
-
* const usagePlugin = robota.getPlugin<UsagePlugin>('usage-plugin');
|
|
395
|
-
* if (usagePlugin) {
|
|
396
|
-
* const stats = usagePlugin.getUsageStats();
|
|
397
|
-
* console.log('Token usage:', stats.totalTokens);
|
|
398
|
-
* }
|
|
399
|
-
* ```
|
|
400
|
-
*/
|
|
401
|
-
getPlugin(pluginName: string): (IPluginContract<IPluginOptions, IPluginStats> & IPluginHooks) | null;
|
|
402
|
-
/**
|
|
403
|
-
* Get all registered plugins.
|
|
404
|
-
*
|
|
405
|
-
* @returns Array of all currently registered plugin instances
|
|
406
|
-
*
|
|
407
|
-
* @example
|
|
408
|
-
* ```typescript
|
|
409
|
-
* const plugins = robota.getPlugins();
|
|
410
|
-
* console.log(`Agent has ${plugins.length} plugins registered`);
|
|
411
|
-
* plugins.forEach(plugin => {
|
|
412
|
-
* console.log(`- ${plugin.name} (${plugin.version})`);
|
|
413
|
-
* });
|
|
414
|
-
* ```
|
|
415
|
-
*/
|
|
93
|
+
getPlugin(pluginName: string): (IPluginContract<IPluginOptions, IPluginStats> & IPluginHooks) | undefined;
|
|
416
94
|
getPlugins(): Array<IPluginContract<IPluginOptions, IPluginStats> & IPluginHooks>;
|
|
417
|
-
/**
|
|
418
|
-
* Get all registered plugin names
|
|
419
|
-
*/
|
|
420
95
|
getPluginNames(): string[];
|
|
421
|
-
/**
|
|
422
|
-
* Register a new module with the agent
|
|
423
|
-
* @param module - The module instance to register
|
|
424
|
-
* @param options - Registration options
|
|
425
|
-
*/
|
|
426
96
|
registerModule(module: IModule, options?: {
|
|
427
97
|
autoInitialize?: boolean;
|
|
428
98
|
validateDependencies?: boolean;
|
|
429
99
|
}): Promise<void>;
|
|
430
|
-
/**
|
|
431
|
-
* Unregister a module from the agent
|
|
432
|
-
* @param moduleName - Name of the module to unregister
|
|
433
|
-
* @returns True if module was unregistered, false if not found
|
|
434
|
-
*/
|
|
435
100
|
unregisterModule(moduleName: string): Promise<boolean>;
|
|
436
|
-
|
|
437
|
-
* Get a module by name with type safety
|
|
438
|
-
* @param moduleName - Name of the module to retrieve
|
|
439
|
-
* @returns The module instance or null if not found
|
|
440
|
-
*/
|
|
441
|
-
getModule(moduleName: string): IModule | null;
|
|
442
|
-
/**
|
|
443
|
-
* Get modules by type
|
|
444
|
-
* @param moduleType - Type of modules to retrieve
|
|
445
|
-
* @returns Array of modules matching the type
|
|
446
|
-
*/
|
|
101
|
+
getModule(moduleName: string): IModule | undefined;
|
|
447
102
|
getModulesByType(moduleType: string): IModule[];
|
|
448
|
-
/**
|
|
449
|
-
* Get all registered modules
|
|
450
|
-
* @returns Array of all registered modules
|
|
451
|
-
*/
|
|
452
103
|
getModules(): IModule[];
|
|
453
|
-
/**
|
|
454
|
-
* Get all registered module names
|
|
455
|
-
* @returns Array of module names
|
|
456
|
-
*/
|
|
457
104
|
getModuleNames(): string[];
|
|
458
|
-
/**
|
|
459
|
-
* Check if a module is registered
|
|
460
|
-
* @param moduleName - Name of the module to check
|
|
461
|
-
* @returns True if module is registered
|
|
462
|
-
*/
|
|
463
105
|
hasModule(moduleName: string): boolean;
|
|
464
|
-
/**
|
|
465
|
-
* Execute a module by name
|
|
466
|
-
* @param moduleName - Name of the module to execute
|
|
467
|
-
* @param context - Execution context
|
|
468
|
-
* @returns Module execution result
|
|
469
|
-
*/
|
|
470
106
|
executeModule(moduleName: string, context: {
|
|
471
107
|
executionId?: string;
|
|
472
108
|
sessionId?: string;
|
|
@@ -478,186 +114,13 @@ export declare class Robota extends AbstractAgent<IAgentConfig, IRunOptions, TUn
|
|
|
478
114
|
error?: Error;
|
|
479
115
|
duration?: number;
|
|
480
116
|
}>;
|
|
481
|
-
/**
|
|
482
|
-
* Get module execution statistics
|
|
483
|
-
* @param moduleName - Name of the module
|
|
484
|
-
* @returns Module statistics or null if not found
|
|
485
|
-
*/
|
|
486
117
|
getModuleStats(moduleName: string): {
|
|
487
118
|
totalExecutions: number;
|
|
488
119
|
successfulExecutions: number;
|
|
489
120
|
failedExecutions: number;
|
|
490
121
|
averageExecutionTime: number;
|
|
491
122
|
lastExecutionTime?: Date;
|
|
492
|
-
} |
|
|
493
|
-
/**
|
|
494
|
-
* Register a new AI provider at runtime.
|
|
495
|
-
*
|
|
496
|
-
* Allows dynamic addition of AI providers after agent creation.
|
|
497
|
-
* The provider can then be selected using switchProvider().
|
|
498
|
-
*
|
|
499
|
-
* @param name - Unique name for the provider
|
|
500
|
-
* @param provider - The AI provider instance to register
|
|
501
|
-
*
|
|
502
|
-
* @example
|
|
503
|
-
* ```typescript
|
|
504
|
-
* import { AnthropicProvider } from '@robota-sdk/anthropic';
|
|
505
|
-
*
|
|
506
|
-
* const anthropicProvider = new AnthropicProvider({
|
|
507
|
-
* apiKey: process.env.ANTHROPIC_API_KEY
|
|
508
|
-
* });
|
|
509
|
-
*
|
|
510
|
-
* robota.registerProvider('anthropic', anthropicProvider);
|
|
511
|
-
* robota.switchProvider('anthropic', 'claude-3-opus-20240229');
|
|
512
|
-
* ```
|
|
513
|
-
*/
|
|
514
|
-
/**
|
|
515
|
-
* Set the current model configuration (complete replacement).
|
|
516
|
-
*
|
|
517
|
-
* Updates the current AI provider, model, and related settings. This completely
|
|
518
|
-
* replaces the current model configuration with the new values.
|
|
519
|
-
*
|
|
520
|
-
* @param modelConfig - New model configuration
|
|
521
|
-
*
|
|
522
|
-
* @throws {ConfigurationError} When the provider is not available
|
|
523
|
-
*
|
|
524
|
-
* @example
|
|
525
|
-
* ```typescript
|
|
526
|
-
* // Switch to a different provider and model
|
|
527
|
-
* robota.setModel({
|
|
528
|
-
* provider: 'anthropic',
|
|
529
|
-
* model: 'claude-3-opus',
|
|
530
|
-
* temperature: 0.9,
|
|
531
|
-
* maxTokens: 4000
|
|
532
|
-
* });
|
|
533
|
-
*
|
|
534
|
-
* // Simple model change
|
|
535
|
-
* robota.setModel({
|
|
536
|
-
* provider: 'openai',
|
|
537
|
-
* model: 'gpt-4-turbo'
|
|
538
|
-
* });
|
|
539
|
-
* ```
|
|
540
|
-
*/
|
|
541
|
-
setModel(modelConfig: {
|
|
542
|
-
provider: string;
|
|
543
|
-
model: string;
|
|
544
|
-
temperature?: number;
|
|
545
|
-
maxTokens?: number;
|
|
546
|
-
topP?: number;
|
|
547
|
-
systemMessage?: string;
|
|
548
|
-
}): void;
|
|
549
|
-
/**
|
|
550
|
-
* Get the current model configuration.
|
|
551
|
-
*
|
|
552
|
-
* Returns the current AI provider, model, and related settings.
|
|
553
|
-
*
|
|
554
|
-
* @returns Current model configuration
|
|
555
|
-
*
|
|
556
|
-
* @example
|
|
557
|
-
* ```typescript
|
|
558
|
-
* const current = robota.getModel();
|
|
559
|
-
* console.log(`Current: ${current.provider}/${current.model}`);
|
|
560
|
-
* console.log(`Temperature: ${current.temperature}`);
|
|
561
|
-
* console.log(`Max tokens: ${current.maxTokens}`);
|
|
562
|
-
* ```
|
|
563
|
-
*/
|
|
564
|
-
getModel(): {
|
|
565
|
-
provider: string;
|
|
566
|
-
model: string;
|
|
567
|
-
temperature?: number;
|
|
568
|
-
maxTokens?: number;
|
|
569
|
-
topP?: number;
|
|
570
|
-
systemMessage?: string;
|
|
571
|
-
};
|
|
572
|
-
/**
|
|
573
|
-
* Register a new tool for function calling.
|
|
574
|
-
*
|
|
575
|
-
* Adds a tool that the AI can call during conversations. The tool's schema
|
|
576
|
-
* defines its name, description, and parameters for the AI to understand.
|
|
577
|
-
*
|
|
578
|
-
* @param tool - The tool instance to register
|
|
579
|
-
*
|
|
580
|
-
* @example
|
|
581
|
-
* ```typescript
|
|
582
|
-
* import { AbstractTool } from '@robota-sdk/agents';
|
|
583
|
-
*
|
|
584
|
-
* class WeatherTool extends AbstractTool {
|
|
585
|
-
* name = 'get_weather';
|
|
586
|
-
* description = 'Get current weather for a location';
|
|
587
|
-
*
|
|
588
|
-
* get schema() {
|
|
589
|
-
* return {
|
|
590
|
-
* name: this.name,
|
|
591
|
-
* description: this.description,
|
|
592
|
-
* parameters: {
|
|
593
|
-
* type: 'object',
|
|
594
|
-
* properties: {
|
|
595
|
-
* location: { type: 'string', description: 'City name' }
|
|
596
|
-
* },
|
|
597
|
-
* required: ['location']
|
|
598
|
-
* }
|
|
599
|
-
* };
|
|
600
|
-
* }
|
|
601
|
-
*
|
|
602
|
-
* async execute(params: { location: string }) {
|
|
603
|
-
* // Implementation here
|
|
604
|
-
* return { temperature: 22, condition: 'sunny' };
|
|
605
|
-
* }
|
|
606
|
-
* }
|
|
607
|
-
*
|
|
608
|
-
* robota.registerTool(new WeatherTool());
|
|
609
|
-
* ```
|
|
610
|
-
*/
|
|
611
|
-
registerTool(tool: AbstractTool): void;
|
|
612
|
-
/**
|
|
613
|
-
* Unregister a tool by name.
|
|
614
|
-
*
|
|
615
|
-
* Removes a previously registered tool, making it unavailable for future AI calls.
|
|
616
|
-
*
|
|
617
|
-
* @param toolName - Name of the tool to unregister
|
|
618
|
-
*
|
|
619
|
-
* @example
|
|
620
|
-
* ```typescript
|
|
621
|
-
* robota.unregisterTool('weather-tool');
|
|
622
|
-
*
|
|
623
|
-
* const stats = robota.getStats();
|
|
624
|
-
* console.log('Remaining tools:', stats.tools);
|
|
625
|
-
* ```
|
|
626
|
-
*/
|
|
627
|
-
unregisterTool(toolName: string): void;
|
|
628
|
-
/**
|
|
629
|
-
* Get the current agent configuration.
|
|
630
|
-
*
|
|
631
|
-
* Returns a copy of the current configuration object. Modifications to the
|
|
632
|
-
* returned object do not affect the agent - use updateConfig() to make changes.
|
|
633
|
-
*
|
|
634
|
-
* @returns Copy of the current IAgentConfig
|
|
635
|
-
*
|
|
636
|
-
* @example
|
|
637
|
-
* ```typescript
|
|
638
|
-
* const config = robota.getConfig();
|
|
639
|
-
* console.log('Current model:', config.currentModel);
|
|
640
|
-
* console.log('Available providers:', Object.keys(config.aiProviders || {}));
|
|
641
|
-
* ```
|
|
642
|
-
*/
|
|
643
|
-
getConfig(): IAgentConfig;
|
|
644
|
-
/**
|
|
645
|
-
* Get comprehensive agent statistics including providers, tools, plugins, modules, and performance data.
|
|
646
|
-
*
|
|
647
|
-
* @returns Object containing all agent statistics and metadata
|
|
648
|
-
*
|
|
649
|
-
* @example
|
|
650
|
-
* ```typescript
|
|
651
|
-
* const stats = robota.getStats();
|
|
652
|
-
* console.log(`Agent: ${stats.name} v${stats.version}`);
|
|
653
|
-
* console.log(`Uptime: ${stats.uptime}ms`);
|
|
654
|
-
* console.log(`Providers: ${stats.providers.join(', ')}`);
|
|
655
|
-
* console.log(`Tools: ${stats.tools.join(', ')}`);
|
|
656
|
-
* console.log(`Plugins: ${stats.plugins.join(', ')}`);
|
|
657
|
-
* console.log(`Modules: ${stats.modules.join(', ')}`);
|
|
658
|
-
* console.log(`Messages: ${stats.historyLength}`);
|
|
659
|
-
* ```
|
|
660
|
-
*/
|
|
123
|
+
} | undefined;
|
|
661
124
|
getStats(): {
|
|
662
125
|
name: string;
|
|
663
126
|
version: string;
|
|
@@ -668,27 +131,14 @@ export declare class Robota extends AbstractAgent<IAgentConfig, IRunOptions, TUn
|
|
|
668
131
|
plugins: string[];
|
|
669
132
|
modules: string[];
|
|
670
133
|
historyLength: number;
|
|
671
|
-
historyStats: TAgentStatsMetadata;
|
|
134
|
+
historyStats: import("./robota-config-manager").TAgentStatsMetadata;
|
|
672
135
|
uptime: number;
|
|
673
136
|
};
|
|
674
|
-
/**
|
|
675
|
-
* Validate the new agent configuration format.
|
|
676
|
-
* @internal
|
|
677
|
-
*/
|
|
678
|
-
private validateNewConfig;
|
|
679
|
-
/**
|
|
680
|
-
* Clean up and dispose of the agent instance.
|
|
681
|
-
*
|
|
682
|
-
* This method properly cleans up all resources, managers, and services
|
|
683
|
-
* to prevent memory leaks and ensure graceful shutdown.
|
|
684
|
-
*
|
|
685
|
-
* @example
|
|
686
|
-
* ```typescript
|
|
687
|
-
* // Clean shutdown
|
|
688
|
-
* await robota.destroy();
|
|
689
|
-
* console.log('Agent destroyed');
|
|
690
|
-
* ```
|
|
691
|
-
*/
|
|
692
137
|
destroy(): Promise<void>;
|
|
138
|
+
protected initialize(): Promise<void>;
|
|
139
|
+
private ensureFullyInitialized;
|
|
140
|
+
private doAsyncInit;
|
|
141
|
+
private emitAgentEvent;
|
|
142
|
+
private buildOwnerPath;
|
|
693
143
|
}
|
|
694
144
|
//# sourceMappingURL=robota.d.ts.map
|