@elizaos/agent 0.25.8 → 2.0.0-alpha.83
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/LICENSE +1 -1
- package/package.json +994 -34
- package/packages/agent/src/actions/emote.d.ts +14 -0
- package/packages/agent/src/actions/emote.d.ts.map +1 -0
- package/packages/agent/src/actions/emote.js +91 -0
- package/packages/agent/src/actions/restart.d.ts +19 -0
- package/packages/agent/src/actions/restart.d.ts.map +1 -0
- package/packages/agent/src/actions/restart.js +86 -0
- package/packages/agent/src/actions/send-message.d.ts +3 -0
- package/packages/agent/src/actions/send-message.d.ts.map +1 -0
- package/packages/agent/src/actions/send-message.js +144 -0
- package/packages/agent/src/actions/stream-control.d.ts +15 -0
- package/packages/agent/src/actions/stream-control.d.ts.map +1 -0
- package/packages/agent/src/actions/stream-control.js +357 -0
- package/packages/agent/src/actions/switch-stream-source.d.ts +16 -0
- package/packages/agent/src/actions/switch-stream-source.d.ts.map +1 -0
- package/packages/agent/src/actions/switch-stream-source.js +94 -0
- package/packages/agent/src/actions/terminal.d.ts +14 -0
- package/packages/agent/src/actions/terminal.d.ts.map +1 -0
- package/packages/agent/src/actions/terminal.js +154 -0
- package/packages/agent/src/api/agent-admin-routes.d.ts +38 -0
- package/packages/agent/src/api/agent-admin-routes.d.ts.map +1 -0
- package/packages/agent/src/api/agent-admin-routes.js +93 -0
- package/packages/agent/src/api/agent-lifecycle-routes.d.ts +16 -0
- package/packages/agent/src/api/agent-lifecycle-routes.d.ts.map +1 -0
- package/packages/agent/src/api/agent-lifecycle-routes.js +80 -0
- package/packages/agent/src/api/agent-model.d.ts +12 -0
- package/packages/agent/src/api/agent-model.d.ts.map +1 -0
- package/packages/agent/src/api/agent-model.js +123 -0
- package/packages/agent/src/api/agent-transfer-routes.d.ts +16 -0
- package/packages/agent/src/api/agent-transfer-routes.d.ts.map +1 -0
- package/packages/agent/src/api/agent-transfer-routes.js +124 -0
- package/packages/agent/src/api/apps-routes.d.ts +19 -0
- package/packages/agent/src/api/apps-routes.d.ts.map +1 -0
- package/packages/agent/src/api/apps-routes.js +128 -0
- package/packages/agent/src/api/auth-routes.d.ts +11 -0
- package/packages/agent/src/api/auth-routes.d.ts.map +1 -0
- package/packages/agent/src/api/auth-routes.js +54 -0
- package/packages/agent/src/api/bsc-trade.d.ts +34 -0
- package/packages/agent/src/api/bsc-trade.d.ts.map +1 -0
- package/packages/agent/src/api/bsc-trade.js +567 -0
- package/packages/agent/src/api/bug-report-routes.d.ts +7 -0
- package/packages/agent/src/api/bug-report-routes.d.ts.map +1 -0
- package/packages/agent/src/api/bug-report-routes.js +124 -0
- package/packages/agent/src/api/character-routes.d.ts +50 -0
- package/packages/agent/src/api/character-routes.d.ts.map +1 -0
- package/packages/agent/src/api/character-routes.js +302 -0
- package/packages/agent/src/api/cloud-billing-routes.d.ts +14 -0
- package/packages/agent/src/api/cloud-billing-routes.d.ts.map +1 -0
- package/packages/agent/src/api/cloud-billing-routes.js +400 -0
- package/packages/agent/src/api/cloud-compat-routes.d.ts +15 -0
- package/packages/agent/src/api/cloud-compat-routes.d.ts.map +1 -0
- package/packages/agent/src/api/cloud-compat-routes.js +131 -0
- package/packages/agent/src/api/cloud-routes.d.ts +62 -0
- package/packages/agent/src/api/cloud-routes.d.ts.map +1 -0
- package/packages/agent/src/api/cloud-routes.js +339 -0
- package/packages/agent/src/api/cloud-status-routes.d.ts +15 -0
- package/packages/agent/src/api/cloud-status-routes.d.ts.map +1 -0
- package/packages/agent/src/api/cloud-status-routes.js +165 -0
- package/packages/agent/src/api/compat-utils.d.ts +49 -0
- package/packages/agent/src/api/compat-utils.d.ts.map +1 -0
- package/packages/agent/src/api/compat-utils.js +126 -0
- package/packages/agent/src/api/connector-health.d.ts +34 -0
- package/packages/agent/src/api/connector-health.d.ts.map +1 -0
- package/packages/agent/src/api/connector-health.js +109 -0
- package/packages/agent/src/api/coordinator-wiring.d.ts +46 -0
- package/packages/agent/src/api/coordinator-wiring.d.ts.map +1 -0
- package/packages/agent/src/api/coordinator-wiring.js +101 -0
- package/packages/agent/src/api/credit-detection.d.ts +9 -0
- package/packages/agent/src/api/credit-detection.d.ts.map +1 -0
- package/packages/agent/src/api/credit-detection.js +41 -0
- package/packages/agent/src/api/database.d.ts +33 -0
- package/packages/agent/src/api/database.d.ts.map +1 -0
- package/packages/agent/src/api/database.js +1019 -0
- package/packages/agent/src/api/diagnostics-routes.d.ts +46 -0
- package/packages/agent/src/api/diagnostics-routes.d.ts.map +1 -0
- package/packages/agent/src/api/diagnostics-routes.js +241 -0
- package/packages/agent/src/api/drop-service.d.ts +26 -0
- package/packages/agent/src/api/drop-service.d.ts.map +1 -0
- package/packages/agent/src/api/drop-service.js +134 -0
- package/packages/agent/src/api/early-logs.d.ts +29 -0
- package/packages/agent/src/api/early-logs.d.ts.map +1 -0
- package/packages/agent/src/api/early-logs.js +96 -0
- package/packages/agent/src/api/http-helpers.d.ts +50 -0
- package/packages/agent/src/api/http-helpers.d.ts.map +1 -0
- package/packages/agent/src/api/http-helpers.js +145 -0
- package/packages/agent/src/api/index.d.ts +61 -0
- package/packages/agent/src/api/index.d.ts.map +1 -0
- package/packages/agent/src/api/index.js +59 -0
- package/packages/agent/src/api/knowledge-routes.d.ts +23 -0
- package/packages/agent/src/api/knowledge-routes.d.ts.map +1 -0
- package/packages/agent/src/api/knowledge-routes.js +931 -0
- package/packages/agent/src/api/knowledge-service-loader.d.ts +51 -0
- package/packages/agent/src/api/knowledge-service-loader.d.ts.map +1 -0
- package/packages/agent/src/api/knowledge-service-loader.js +34 -0
- package/packages/agent/src/api/memory-bounds.d.ts +51 -0
- package/packages/agent/src/api/memory-bounds.d.ts.map +1 -0
- package/packages/agent/src/api/memory-bounds.js +81 -0
- package/packages/agent/src/api/memory-routes.d.ts +9 -0
- package/packages/agent/src/api/memory-routes.d.ts.map +1 -0
- package/packages/agent/src/api/memory-routes.js +241 -0
- package/packages/agent/src/api/merkle-tree.d.ts +90 -0
- package/packages/agent/src/api/merkle-tree.d.ts.map +1 -0
- package/packages/agent/src/api/merkle-tree.js +174 -0
- package/packages/agent/src/api/models-routes.d.ts +14 -0
- package/packages/agent/src/api/models-routes.d.ts.map +1 -0
- package/packages/agent/src/api/models-routes.js +37 -0
- package/packages/agent/src/api/nfa-routes.d.ts +5 -0
- package/packages/agent/src/api/nfa-routes.d.ts.map +1 -0
- package/packages/agent/src/api/nfa-routes.js +125 -0
- package/packages/agent/src/api/og-tracker.d.ts +28 -0
- package/packages/agent/src/api/og-tracker.d.ts.map +1 -0
- package/packages/agent/src/api/og-tracker.js +60 -0
- package/packages/agent/src/api/parse-action-block.d.ts +36 -0
- package/packages/agent/src/api/parse-action-block.d.ts.map +1 -0
- package/packages/agent/src/api/parse-action-block.js +110 -0
- package/packages/agent/src/api/permissions-routes.d.ts +32 -0
- package/packages/agent/src/api/permissions-routes.d.ts.map +1 -0
- package/packages/agent/src/api/permissions-routes.js +149 -0
- package/packages/agent/src/api/plugin-validation.d.ts +86 -0
- package/packages/agent/src/api/plugin-validation.d.ts.map +1 -0
- package/packages/agent/src/api/plugin-validation.js +259 -0
- package/packages/agent/src/api/provider-switch-config.d.ts +37 -0
- package/packages/agent/src/api/provider-switch-config.d.ts.map +1 -0
- package/packages/agent/src/api/provider-switch-config.js +317 -0
- package/packages/agent/src/api/registry-routes.d.ts +26 -0
- package/packages/agent/src/api/registry-routes.d.ts.map +1 -0
- package/packages/agent/src/api/registry-routes.js +90 -0
- package/packages/agent/src/api/registry-service.d.ts +77 -0
- package/packages/agent/src/api/registry-service.d.ts.map +1 -0
- package/packages/agent/src/api/registry-service.js +190 -0
- package/packages/agent/src/api/route-helpers.d.ts +16 -0
- package/packages/agent/src/api/route-helpers.d.ts.map +1 -0
- package/packages/agent/src/api/route-helpers.js +1 -0
- package/packages/agent/src/api/sandbox-routes.d.ts +12 -0
- package/packages/agent/src/api/sandbox-routes.d.ts.map +1 -0
- package/packages/agent/src/api/sandbox-routes.js +1334 -0
- package/packages/agent/src/api/server.d.ts +418 -0
- package/packages/agent/src/api/server.d.ts.map +1 -0
- package/packages/agent/src/api/server.js +13614 -0
- package/packages/agent/src/api/signal-routes.d.ts +39 -0
- package/packages/agent/src/api/signal-routes.d.ts.map +1 -0
- package/packages/agent/src/api/signal-routes.js +168 -0
- package/packages/agent/src/api/stream-persistence.d.ts +64 -0
- package/packages/agent/src/api/stream-persistence.d.ts.map +1 -0
- package/packages/agent/src/api/stream-persistence.js +231 -0
- package/packages/agent/src/api/stream-route-state.d.ts +50 -0
- package/packages/agent/src/api/stream-route-state.d.ts.map +1 -0
- package/packages/agent/src/api/stream-route-state.js +1 -0
- package/packages/agent/src/api/stream-routes.d.ts +45 -0
- package/packages/agent/src/api/stream-routes.d.ts.map +1 -0
- package/packages/agent/src/api/stream-routes.js +809 -0
- package/packages/agent/src/api/stream-voice-routes.d.ts +36 -0
- package/packages/agent/src/api/stream-voice-routes.d.ts.map +1 -0
- package/packages/agent/src/api/stream-voice-routes.js +133 -0
- package/packages/agent/src/api/streaming-text.d.ts +9 -0
- package/packages/agent/src/api/streaming-text.d.ts.map +1 -0
- package/packages/agent/src/api/streaming-text.js +85 -0
- package/packages/agent/src/api/streaming-types.d.ts +30 -0
- package/packages/agent/src/api/streaming-types.d.ts.map +1 -0
- package/packages/agent/src/api/streaming-types.js +1 -0
- package/packages/agent/src/api/subscription-routes.d.ts +20 -0
- package/packages/agent/src/api/subscription-routes.d.ts.map +1 -0
- package/packages/agent/src/api/subscription-routes.js +191 -0
- package/packages/agent/src/api/terminal-run-limits.d.ts +5 -0
- package/packages/agent/src/api/terminal-run-limits.d.ts.map +1 -0
- package/packages/agent/src/api/terminal-run-limits.js +22 -0
- package/packages/agent/src/api/training-backend-check.d.ts +8 -0
- package/packages/agent/src/api/training-backend-check.d.ts.map +1 -0
- package/packages/agent/src/api/training-backend-check.js +28 -0
- package/packages/agent/src/api/training-routes.d.ts +44 -0
- package/packages/agent/src/api/training-routes.d.ts.map +1 -0
- package/packages/agent/src/api/training-routes.js +195 -0
- package/packages/agent/src/api/training-service-like.d.ts +38 -0
- package/packages/agent/src/api/training-service-like.d.ts.map +1 -0
- package/packages/agent/src/api/training-service-like.js +1 -0
- package/packages/agent/src/api/trajectory-routes.d.ts +17 -0
- package/packages/agent/src/api/trajectory-routes.d.ts.map +1 -0
- package/packages/agent/src/api/trajectory-routes.js +405 -0
- package/packages/agent/src/api/trigger-routes.d.ts +72 -0
- package/packages/agent/src/api/trigger-routes.d.ts.map +1 -0
- package/packages/agent/src/api/trigger-routes.js +268 -0
- package/packages/agent/src/api/twitter-verify.d.ts +25 -0
- package/packages/agent/src/api/twitter-verify.d.ts.map +1 -0
- package/packages/agent/src/api/twitter-verify.js +168 -0
- package/packages/agent/src/api/tx-service.d.ts +47 -0
- package/packages/agent/src/api/tx-service.d.ts.map +1 -0
- package/packages/agent/src/api/tx-service.js +156 -0
- package/packages/agent/src/api/wallet-dex-prices.d.ts +43 -0
- package/packages/agent/src/api/wallet-dex-prices.d.ts.map +1 -0
- package/packages/agent/src/api/wallet-dex-prices.js +149 -0
- package/packages/agent/src/api/wallet-evm-balance.d.ts +65 -0
- package/packages/agent/src/api/wallet-evm-balance.d.ts.map +1 -0
- package/packages/agent/src/api/wallet-evm-balance.js +663 -0
- package/packages/agent/src/api/wallet-routes.d.ts +33 -0
- package/packages/agent/src/api/wallet-routes.d.ts.map +1 -0
- package/packages/agent/src/api/wallet-routes.js +292 -0
- package/packages/agent/src/api/wallet-rpc.d.ts +61 -0
- package/packages/agent/src/api/wallet-rpc.d.ts.map +1 -0
- package/packages/agent/src/api/wallet-rpc.js +367 -0
- package/packages/agent/src/api/wallet-trading-profile.d.ts +51 -0
- package/packages/agent/src/api/wallet-trading-profile.d.ts.map +1 -0
- package/packages/agent/src/api/wallet-trading-profile.js +547 -0
- package/packages/agent/src/api/wallet.d.ts +31 -0
- package/packages/agent/src/api/wallet.d.ts.map +1 -0
- package/packages/agent/src/api/wallet.js +513 -0
- package/packages/agent/src/api/whatsapp-routes.d.ts +39 -0
- package/packages/agent/src/api/whatsapp-routes.d.ts.map +1 -0
- package/packages/agent/src/api/whatsapp-routes.js +182 -0
- package/packages/agent/src/api/zip-utils.d.ts +8 -0
- package/packages/agent/src/api/zip-utils.d.ts.map +1 -0
- package/packages/agent/src/api/zip-utils.js +115 -0
- package/packages/agent/src/auth/anthropic.d.ts +25 -0
- package/packages/agent/src/auth/anthropic.d.ts.map +1 -0
- package/packages/agent/src/auth/anthropic.js +40 -0
- package/packages/agent/src/auth/apply-stealth.d.ts +8 -0
- package/packages/agent/src/auth/apply-stealth.d.ts.map +1 -0
- package/packages/agent/src/auth/apply-stealth.js +35 -0
- package/packages/agent/src/auth/claude-code-stealth.d.ts +2 -0
- package/packages/agent/src/auth/claude-code-stealth.d.ts.map +1 -0
- package/packages/agent/src/auth/claude-code-stealth.js +104 -0
- package/packages/agent/src/auth/credentials.d.ts +55 -0
- package/packages/agent/src/auth/credentials.d.ts.map +1 -0
- package/packages/agent/src/auth/credentials.js +182 -0
- package/packages/agent/src/auth/index.d.ts +7 -0
- package/packages/agent/src/auth/index.d.ts.map +1 -0
- package/packages/agent/src/auth/index.js +3 -0
- package/packages/agent/src/auth/openai-codex.d.ts +27 -0
- package/packages/agent/src/auth/openai-codex.d.ts.map +1 -0
- package/packages/agent/src/auth/openai-codex.js +72 -0
- package/packages/agent/src/auth/types.d.ts +18 -0
- package/packages/agent/src/auth/types.d.ts.map +1 -0
- package/packages/agent/src/auth/types.js +8 -0
- package/packages/agent/src/awareness/registry.d.ts +27 -0
- package/packages/agent/src/awareness/registry.d.ts.map +1 -0
- package/packages/agent/src/awareness/registry.js +161 -0
- package/packages/agent/src/benchmark-server.d.ts +2 -0
- package/packages/agent/src/benchmark-server.d.ts.map +1 -0
- package/packages/agent/src/benchmark-server.js +773 -0
- package/packages/agent/src/bin.d.ts +3 -0
- package/packages/agent/src/bin.d.ts.map +1 -0
- package/packages/agent/src/bin.js +6 -0
- package/packages/agent/src/cli/index.d.ts +2 -0
- package/packages/agent/src/cli/index.d.ts.map +1 -0
- package/packages/agent/src/cli/index.js +40 -0
- package/packages/agent/src/cli/parse-duration.d.ts +5 -0
- package/packages/agent/src/cli/parse-duration.d.ts.map +1 -0
- package/packages/agent/src/cli/parse-duration.js +27 -0
- package/packages/agent/src/cloud/auth.d.ts +19 -0
- package/packages/agent/src/cloud/auth.d.ts.map +1 -0
- package/packages/agent/src/cloud/auth.js +107 -0
- package/packages/agent/src/cloud/backup.d.ts +18 -0
- package/packages/agent/src/cloud/backup.d.ts.map +1 -0
- package/packages/agent/src/cloud/backup.js +42 -0
- package/packages/agent/src/cloud/base-url.d.ts +3 -0
- package/packages/agent/src/cloud/base-url.d.ts.map +1 -0
- package/packages/agent/src/cloud/base-url.js +40 -0
- package/packages/agent/src/cloud/bridge-client.d.ts +56 -0
- package/packages/agent/src/cloud/bridge-client.d.ts.map +1 -0
- package/packages/agent/src/cloud/bridge-client.js +190 -0
- package/packages/agent/src/cloud/cloud-manager.d.ts +32 -0
- package/packages/agent/src/cloud/cloud-manager.d.ts.map +1 -0
- package/packages/agent/src/cloud/cloud-manager.js +119 -0
- package/packages/agent/src/cloud/cloud-proxy.d.ts +20 -0
- package/packages/agent/src/cloud/cloud-proxy.d.ts.map +1 -0
- package/packages/agent/src/cloud/cloud-proxy.js +34 -0
- package/packages/agent/src/cloud/index.d.ts +7 -0
- package/packages/agent/src/cloud/index.d.ts.map +1 -0
- package/packages/agent/src/cloud/index.js +6 -0
- package/packages/agent/src/cloud/reconnect.d.ts +26 -0
- package/packages/agent/src/cloud/reconnect.d.ts.map +1 -0
- package/packages/agent/src/cloud/reconnect.js +86 -0
- package/packages/agent/src/cloud/validate-url.d.ts +2 -0
- package/packages/agent/src/cloud/validate-url.d.ts.map +1 -0
- package/packages/agent/src/cloud/validate-url.js +162 -0
- package/packages/agent/src/config/character-schema.d.ts +25 -0
- package/packages/agent/src/config/character-schema.d.ts.map +1 -0
- package/packages/agent/src/config/character-schema.js +39 -0
- package/packages/agent/src/config/config.d.ts +6 -0
- package/packages/agent/src/config/config.d.ts.map +1 -0
- package/packages/agent/src/config/config.js +118 -0
- package/packages/agent/src/config/env-vars.d.ts +3 -0
- package/packages/agent/src/config/env-vars.d.ts.map +1 -0
- package/packages/agent/src/config/env-vars.js +76 -0
- package/packages/agent/src/config/includes.d.ts +26 -0
- package/packages/agent/src/config/includes.d.ts.map +1 -0
- package/packages/agent/src/config/includes.js +148 -0
- package/packages/agent/src/config/index.d.ts +16 -0
- package/packages/agent/src/config/index.d.ts.map +1 -0
- package/packages/agent/src/config/index.js +15 -0
- package/packages/agent/src/config/object-utils.d.ts +2 -0
- package/packages/agent/src/config/object-utils.d.ts.map +1 -0
- package/packages/agent/src/config/object-utils.js +6 -0
- package/packages/agent/src/config/paths.d.ts +13 -0
- package/packages/agent/src/config/paths.d.ts.map +1 -0
- package/packages/agent/src/config/paths.js +67 -0
- package/packages/agent/src/config/plugin-auto-enable.d.ts +16 -0
- package/packages/agent/src/config/plugin-auto-enable.d.ts.map +1 -0
- package/packages/agent/src/config/plugin-auto-enable.js +384 -0
- package/packages/agent/src/config/schema.d.ts +87 -0
- package/packages/agent/src/config/schema.d.ts.map +1 -0
- package/packages/agent/src/config/schema.js +928 -0
- package/packages/agent/src/config/telegram-custom-commands.d.ts +25 -0
- package/packages/agent/src/config/telegram-custom-commands.d.ts.map +1 -0
- package/packages/agent/src/config/telegram-custom-commands.js +71 -0
- package/packages/agent/src/config/types.agent-defaults.d.ts +331 -0
- package/packages/agent/src/config/types.agent-defaults.d.ts.map +1 -0
- package/packages/agent/src/config/types.agent-defaults.js +1 -0
- package/packages/agent/src/config/types.agents.d.ts +110 -0
- package/packages/agent/src/config/types.agents.d.ts.map +1 -0
- package/packages/agent/src/config/types.agents.js +1 -0
- package/packages/agent/src/config/types.d.ts +8 -0
- package/packages/agent/src/config/types.d.ts.map +1 -0
- package/packages/agent/src/config/types.eliza.d.ts +636 -0
- package/packages/agent/src/config/types.eliza.d.ts.map +1 -0
- package/packages/agent/src/config/types.eliza.js +1 -0
- package/packages/agent/src/config/types.gateway.d.ts +216 -0
- package/packages/agent/src/config/types.gateway.d.ts.map +1 -0
- package/packages/agent/src/config/types.gateway.js +1 -0
- package/packages/agent/src/config/types.hooks.d.ts +107 -0
- package/packages/agent/src/config/types.hooks.d.ts.map +1 -0
- package/packages/agent/src/config/types.hooks.js +1 -0
- package/packages/agent/src/config/types.js +7 -0
- package/packages/agent/src/config/types.messages.d.ts +176 -0
- package/packages/agent/src/config/types.messages.d.ts.map +1 -0
- package/packages/agent/src/config/types.messages.js +1 -0
- package/packages/agent/src/config/types.tools.d.ts +400 -0
- package/packages/agent/src/config/types.tools.d.ts.map +1 -0
- package/packages/agent/src/config/types.tools.js +1 -0
- package/packages/agent/src/config/zod-schema.agent-runtime.d.ts +1062 -0
- package/packages/agent/src/config/zod-schema.agent-runtime.d.ts.map +1 -0
- package/packages/agent/src/config/zod-schema.agent-runtime.js +721 -0
- package/packages/agent/src/config/zod-schema.core.d.ts +1021 -0
- package/packages/agent/src/config/zod-schema.core.d.ts.map +1 -0
- package/packages/agent/src/config/zod-schema.core.js +694 -0
- package/packages/agent/src/config/zod-schema.d.ts +4817 -0
- package/packages/agent/src/config/zod-schema.d.ts.map +1 -0
- package/packages/agent/src/config/zod-schema.hooks.d.ts +88 -0
- package/packages/agent/src/config/zod-schema.hooks.d.ts.map +1 -0
- package/packages/agent/src/config/zod-schema.hooks.js +133 -0
- package/packages/agent/src/config/zod-schema.js +778 -0
- package/packages/agent/src/config/zod-schema.providers-core.d.ts +2976 -0
- package/packages/agent/src/config/zod-schema.providers-core.d.ts.map +1 -0
- package/packages/agent/src/config/zod-schema.providers-core.js +1006 -0
- package/packages/agent/src/config/zod-schema.session.d.ts +183 -0
- package/packages/agent/src/config/zod-schema.session.d.ts.map +1 -0
- package/packages/agent/src/config/zod-schema.session.js +86 -0
- package/packages/agent/src/contracts/apps.d.ts +42 -0
- package/packages/agent/src/contracts/apps.d.ts.map +1 -0
- package/packages/agent/src/contracts/apps.js +4 -0
- package/packages/agent/src/contracts/awareness.d.ts +38 -0
- package/packages/agent/src/contracts/awareness.d.ts.map +1 -0
- package/packages/agent/src/contracts/awareness.js +7 -0
- package/packages/agent/src/contracts/config.d.ts +146 -0
- package/packages/agent/src/contracts/config.d.ts.map +1 -0
- package/packages/agent/src/contracts/config.js +4 -0
- package/packages/agent/src/contracts/drop.d.ts +20 -0
- package/packages/agent/src/contracts/drop.d.ts.map +1 -0
- package/packages/agent/src/contracts/drop.js +4 -0
- package/packages/agent/src/contracts/index.d.ts +9 -0
- package/packages/agent/src/contracts/index.d.ts.map +1 -0
- package/packages/agent/src/contracts/index.js +8 -0
- package/packages/agent/src/contracts/onboarding.d.ts +379 -0
- package/packages/agent/src/contracts/onboarding.d.ts.map +1 -0
- package/packages/agent/src/contracts/onboarding.js +290 -0
- package/packages/agent/src/contracts/permissions.d.ts +35 -0
- package/packages/agent/src/contracts/permissions.d.ts.map +1 -0
- package/packages/agent/src/contracts/permissions.js +4 -0
- package/packages/agent/src/contracts/verification.d.ts +9 -0
- package/packages/agent/src/contracts/verification.d.ts.map +1 -0
- package/packages/agent/src/contracts/verification.js +4 -0
- package/packages/agent/src/contracts/wallet.d.ts +409 -0
- package/packages/agent/src/contracts/wallet.d.ts.map +1 -0
- package/packages/agent/src/contracts/wallet.js +60 -0
- package/packages/agent/src/diagnostics/integration-observability.d.ts +40 -0
- package/packages/agent/src/diagnostics/integration-observability.d.ts.map +1 -0
- package/packages/agent/src/diagnostics/integration-observability.js +68 -0
- package/packages/agent/src/emotes/catalog.d.ts +31 -0
- package/packages/agent/src/emotes/catalog.d.ts.map +1 -0
- package/packages/agent/src/emotes/catalog.js +618 -0
- package/packages/agent/src/hooks/discovery.d.ts +13 -0
- package/packages/agent/src/hooks/discovery.d.ts.map +1 -0
- package/packages/agent/src/hooks/discovery.js +184 -0
- package/packages/agent/src/hooks/eligibility.d.ts +12 -0
- package/packages/agent/src/hooks/eligibility.d.ts.map +1 -0
- package/packages/agent/src/hooks/eligibility.js +100 -0
- package/packages/agent/src/hooks/index.d.ts +3 -0
- package/packages/agent/src/hooks/index.d.ts.map +1 -0
- package/packages/agent/src/hooks/index.js +2 -0
- package/packages/agent/src/hooks/loader.d.ts +34 -0
- package/packages/agent/src/hooks/loader.d.ts.map +1 -0
- package/packages/agent/src/hooks/loader.js +176 -0
- package/packages/agent/src/hooks/registry.d.ts +11 -0
- package/packages/agent/src/hooks/registry.d.ts.map +1 -0
- package/packages/agent/src/hooks/registry.js +58 -0
- package/packages/agent/src/hooks/types.d.ts +104 -0
- package/packages/agent/src/hooks/types.d.ts.map +1 -0
- package/packages/agent/src/hooks/types.js +8 -0
- package/packages/agent/src/index.d.ts +20 -0
- package/packages/agent/src/index.d.ts.map +1 -0
- package/packages/agent/src/index.js +19 -0
- package/packages/agent/src/onboarding-presets.d.ts +78 -0
- package/packages/agent/src/onboarding-presets.d.ts.map +1 -0
- package/packages/agent/src/onboarding-presets.js +1352 -0
- package/packages/agent/src/plugins/custom-rtmp/index.d.ts +12 -0
- package/packages/agent/src/plugins/custom-rtmp/index.d.ts.map +1 -0
- package/packages/agent/src/plugins/custom-rtmp/index.js +26 -0
- package/packages/agent/src/providers/admin-trust.d.ts +4 -0
- package/packages/agent/src/providers/admin-trust.d.ts.map +1 -0
- package/packages/agent/src/providers/admin-trust.js +53 -0
- package/packages/agent/src/providers/session-bridge.d.ts +24 -0
- package/packages/agent/src/providers/session-bridge.d.ts.map +1 -0
- package/packages/agent/src/providers/session-bridge.js +85 -0
- package/packages/agent/src/providers/session-utils.d.ts +20 -0
- package/packages/agent/src/providers/session-utils.d.ts.map +1 -0
- package/packages/agent/src/providers/session-utils.js +33 -0
- package/packages/agent/src/providers/simple-mode.d.ts +4 -0
- package/packages/agent/src/providers/simple-mode.d.ts.map +1 -0
- package/packages/agent/src/providers/simple-mode.js +85 -0
- package/packages/agent/src/providers/ui-catalog.d.ts +3 -0
- package/packages/agent/src/providers/ui-catalog.d.ts.map +1 -0
- package/packages/agent/src/providers/ui-catalog.js +123 -0
- package/packages/agent/src/providers/workspace-provider.d.ts +22 -0
- package/packages/agent/src/providers/workspace-provider.d.ts.map +1 -0
- package/packages/agent/src/providers/workspace-provider.js +167 -0
- package/packages/agent/src/providers/workspace.d.ts +54 -0
- package/packages/agent/src/providers/workspace.d.ts.map +1 -0
- package/packages/agent/src/providers/workspace.js +405 -0
- package/packages/agent/src/runtime/agent-event-service.d.ts +35 -0
- package/packages/agent/src/runtime/agent-event-service.d.ts.map +1 -0
- package/packages/agent/src/runtime/agent-event-service.js +16 -0
- package/packages/agent/src/runtime/cloud-onboarding.d.ts +55 -0
- package/packages/agent/src/runtime/cloud-onboarding.d.ts.map +1 -0
- package/packages/agent/src/runtime/cloud-onboarding.js +279 -0
- package/packages/agent/src/runtime/core-plugins.d.ts +14 -0
- package/packages/agent/src/runtime/core-plugins.d.ts.map +1 -0
- package/packages/agent/src/runtime/core-plugins.js +51 -0
- package/packages/agent/src/runtime/custom-actions.d.ts +40 -0
- package/packages/agent/src/runtime/custom-actions.d.ts.map +1 -0
- package/packages/agent/src/runtime/custom-actions.js +454 -0
- package/packages/agent/src/runtime/eliza-plugin.d.ts +16 -0
- package/packages/agent/src/runtime/eliza-plugin.d.ts.map +1 -0
- package/packages/agent/src/runtime/eliza-plugin.js +108 -0
- package/packages/agent/src/runtime/eliza.d.ts +205 -0
- package/packages/agent/src/runtime/eliza.d.ts.map +1 -0
- package/packages/agent/src/runtime/eliza.js +3935 -0
- package/packages/agent/src/runtime/embedding-presets.d.ts +19 -0
- package/packages/agent/src/runtime/embedding-presets.d.ts.map +1 -0
- package/packages/agent/src/runtime/embedding-presets.js +53 -0
- package/packages/agent/src/runtime/index.d.ts +9 -0
- package/packages/agent/src/runtime/index.d.ts.map +1 -0
- package/packages/agent/src/runtime/index.js +8 -0
- package/packages/agent/src/runtime/onboarding-names.d.ts +11 -0
- package/packages/agent/src/runtime/onboarding-names.d.ts.map +1 -0
- package/packages/agent/src/runtime/onboarding-names.js +74 -0
- package/packages/agent/src/runtime/release-plugin-policy.d.ts +20 -0
- package/packages/agent/src/runtime/release-plugin-policy.d.ts.map +1 -0
- package/packages/agent/src/runtime/release-plugin-policy.js +87 -0
- package/packages/agent/src/runtime/restart.d.ts +45 -0
- package/packages/agent/src/runtime/restart.d.ts.map +1 -0
- package/packages/agent/src/runtime/restart.js +45 -0
- package/packages/agent/src/runtime/trajectory-persistence.d.ts +214 -0
- package/packages/agent/src/runtime/trajectory-persistence.d.ts.map +1 -0
- package/packages/agent/src/runtime/trajectory-persistence.js +1957 -0
- package/packages/agent/src/runtime/version.d.ts +2 -0
- package/packages/agent/src/runtime/version.d.ts.map +1 -0
- package/packages/agent/src/runtime/version.js +5 -0
- package/packages/agent/src/security/audit-log.d.ts +49 -0
- package/packages/agent/src/security/audit-log.d.ts.map +1 -0
- package/packages/agent/src/security/audit-log.js +161 -0
- package/packages/agent/src/security/network-policy.d.ts +6 -0
- package/packages/agent/src/security/network-policy.d.ts.map +1 -0
- package/packages/agent/src/security/network-policy.js +85 -0
- package/packages/agent/src/server/index.d.ts +3 -0
- package/packages/agent/src/server/index.d.ts.map +1 -0
- package/packages/agent/src/server/index.js +1 -0
- package/packages/agent/src/services/agent-export.d.ts +100 -0
- package/packages/agent/src/services/agent-export.d.ts.map +1 -0
- package/packages/agent/src/services/agent-export.js +729 -0
- package/packages/agent/src/services/app-manager.d.ts +34 -0
- package/packages/agent/src/services/app-manager.d.ts.map +1 -0
- package/packages/agent/src/services/app-manager.js +425 -0
- package/packages/agent/src/services/browser-capture.d.ts +39 -0
- package/packages/agent/src/services/browser-capture.d.ts.map +1 -0
- package/packages/agent/src/services/browser-capture.js +162 -0
- package/packages/agent/src/services/coding-agent-context.d.ts +310 -0
- package/packages/agent/src/services/coding-agent-context.d.ts.map +1 -0
- package/packages/agent/src/services/coding-agent-context.js +281 -0
- package/packages/agent/src/services/fallback-training-service.d.ts +78 -0
- package/packages/agent/src/services/fallback-training-service.d.ts.map +1 -0
- package/packages/agent/src/services/fallback-training-service.js +126 -0
- package/packages/agent/src/services/index.d.ts +18 -0
- package/packages/agent/src/services/index.d.ts.map +1 -0
- package/packages/agent/src/services/index.js +17 -0
- package/packages/agent/src/services/mcp-marketplace.d.ts +89 -0
- package/packages/agent/src/services/mcp-marketplace.d.ts.map +1 -0
- package/packages/agent/src/services/mcp-marketplace.js +200 -0
- package/packages/agent/src/services/plugin-manager-types.d.ts +139 -0
- package/packages/agent/src/services/plugin-manager-types.d.ts.map +1 -0
- package/packages/agent/src/services/plugin-manager-types.js +18 -0
- package/packages/agent/src/services/privy-wallets.d.ts +18 -0
- package/packages/agent/src/services/privy-wallets.d.ts.map +1 -0
- package/packages/agent/src/services/privy-wallets.js +225 -0
- package/packages/agent/src/services/registry-client-app-meta.d.ts +6 -0
- package/packages/agent/src/services/registry-client-app-meta.d.ts.map +1 -0
- package/packages/agent/src/services/registry-client-app-meta.js +147 -0
- package/packages/agent/src/services/registry-client-endpoints.d.ts +7 -0
- package/packages/agent/src/services/registry-client-endpoints.d.ts.map +1 -0
- package/packages/agent/src/services/registry-client-endpoints.js +183 -0
- package/packages/agent/src/services/registry-client-local.d.ts +4 -0
- package/packages/agent/src/services/registry-client-local.d.ts.map +1 -0
- package/packages/agent/src/services/registry-client-local.js +377 -0
- package/packages/agent/src/services/registry-client-network.d.ts +9 -0
- package/packages/agent/src/services/registry-client-network.d.ts.map +1 -0
- package/packages/agent/src/services/registry-client-network.js +109 -0
- package/packages/agent/src/services/registry-client-queries.d.ts +15 -0
- package/packages/agent/src/services/registry-client-queries.d.ts.map +1 -0
- package/packages/agent/src/services/registry-client-queries.js +150 -0
- package/packages/agent/src/services/registry-client-types.d.ts +115 -0
- package/packages/agent/src/services/registry-client-types.d.ts.map +1 -0
- package/packages/agent/src/services/registry-client-types.js +1 -0
- package/packages/agent/src/services/registry-client.d.ts +39 -0
- package/packages/agent/src/services/registry-client.d.ts.map +1 -0
- package/packages/agent/src/services/registry-client.js +249 -0
- package/packages/agent/src/services/remote-signing-service.d.ts +58 -0
- package/packages/agent/src/services/remote-signing-service.d.ts.map +1 -0
- package/packages/agent/src/services/remote-signing-service.js +185 -0
- package/packages/agent/src/services/sandbox-engine.d.ts +96 -0
- package/packages/agent/src/services/sandbox-engine.d.ts.map +1 -0
- package/packages/agent/src/services/sandbox-engine.js +604 -0
- package/packages/agent/src/services/sandbox-manager.d.ts +104 -0
- package/packages/agent/src/services/sandbox-manager.d.ts.map +1 -0
- package/packages/agent/src/services/sandbox-manager.js +353 -0
- package/packages/agent/src/services/self-updater.d.ts +21 -0
- package/packages/agent/src/services/self-updater.d.ts.map +1 -0
- package/packages/agent/src/services/self-updater.js +162 -0
- package/packages/agent/src/services/signal-pairing.d.ts +37 -0
- package/packages/agent/src/services/signal-pairing.d.ts.map +1 -0
- package/packages/agent/src/services/signal-pairing.js +124 -0
- package/packages/agent/src/services/signing-policy.d.ts +44 -0
- package/packages/agent/src/services/signing-policy.d.ts.map +1 -0
- package/packages/agent/src/services/signing-policy.js +165 -0
- package/packages/agent/src/services/skill-catalog-client.d.ts +47 -0
- package/packages/agent/src/services/skill-catalog-client.d.ts.map +1 -0
- package/packages/agent/src/services/skill-catalog-client.js +130 -0
- package/packages/agent/src/services/skill-marketplace.d.ts +42 -0
- package/packages/agent/src/services/skill-marketplace.d.ts.map +1 -0
- package/packages/agent/src/services/skill-marketplace.js +680 -0
- package/packages/agent/src/services/stream-manager.d.ts +121 -0
- package/packages/agent/src/services/stream-manager.d.ts.map +1 -0
- package/packages/agent/src/services/stream-manager.js +604 -0
- package/packages/agent/src/services/tts-stream-bridge.d.ts +83 -0
- package/packages/agent/src/services/tts-stream-bridge.d.ts.map +1 -0
- package/packages/agent/src/services/tts-stream-bridge.js +349 -0
- package/packages/agent/src/services/update-checker.d.ts +29 -0
- package/packages/agent/src/services/update-checker.d.ts.map +1 -0
- package/packages/agent/src/services/update-checker.js +134 -0
- package/packages/agent/src/services/version-compat.d.ts +99 -0
- package/packages/agent/src/services/version-compat.d.ts.map +1 -0
- package/packages/agent/src/services/version-compat.js +195 -0
- package/packages/agent/src/services/whatsapp-pairing.d.ts +41 -0
- package/packages/agent/src/services/whatsapp-pairing.d.ts.map +1 -0
- package/packages/agent/src/services/whatsapp-pairing.js +209 -0
- package/packages/agent/src/shared/ui-catalog-prompt.d.ts +52 -0
- package/packages/agent/src/shared/ui-catalog-prompt.d.ts.map +1 -0
- package/packages/agent/src/shared/ui-catalog-prompt.js +1028 -0
- package/packages/agent/src/test-support/process-helpers.d.ts +13 -0
- package/packages/agent/src/test-support/process-helpers.d.ts.map +1 -0
- package/packages/agent/src/test-support/process-helpers.js +23 -0
- package/packages/agent/src/test-support/route-test-helpers.d.ts +37 -0
- package/packages/agent/src/test-support/route-test-helpers.d.ts.map +1 -0
- package/packages/agent/src/test-support/route-test-helpers.js +54 -0
- package/packages/agent/src/test-support/test-helpers.d.ts +77 -0
- package/packages/agent/src/test-support/test-helpers.d.ts.map +1 -0
- package/packages/agent/src/test-support/test-helpers.js +210 -0
- package/packages/agent/src/testing/index.d.ts +4 -0
- package/packages/agent/src/testing/index.d.ts.map +1 -0
- package/packages/agent/src/testing/index.js +3 -0
- package/packages/agent/src/triggers/action.d.ts +3 -0
- package/packages/agent/src/triggers/action.d.ts.map +1 -0
- package/packages/agent/src/triggers/action.js +267 -0
- package/packages/agent/src/triggers/runtime.d.ts +24 -0
- package/packages/agent/src/triggers/runtime.d.ts.map +1 -0
- package/packages/agent/src/triggers/runtime.js +322 -0
- package/packages/agent/src/triggers/scheduling.d.ts +70 -0
- package/packages/agent/src/triggers/scheduling.d.ts.map +1 -0
- package/packages/agent/src/triggers/scheduling.js +355 -0
- package/packages/agent/src/triggers/types.d.ts +115 -0
- package/packages/agent/src/triggers/types.d.ts.map +1 -0
- package/packages/agent/src/triggers/types.js +1 -0
- package/packages/agent/src/utils/exec-safety.d.ts +2 -0
- package/packages/agent/src/utils/exec-safety.d.ts.map +1 -0
- package/packages/agent/src/utils/exec-safety.js +21 -0
- package/packages/agent/src/utils/number-parsing.d.ts +26 -0
- package/packages/agent/src/utils/number-parsing.d.ts.map +1 -0
- package/packages/agent/src/utils/number-parsing.js +52 -0
- package/packages/agent/src/utils/spoken-text.d.ts +2 -0
- package/packages/agent/src/utils/spoken-text.d.ts.map +1 -0
- package/packages/agent/src/utils/spoken-text.js +56 -0
- package/packages/agent/src/version-resolver.d.ts +3 -0
- package/packages/agent/src/version-resolver.d.ts.map +1 -0
- package/packages/agent/src/version-resolver.js +51 -0
- package/jest.config.js +0 -17
- package/src/__tests__/client-type-identification.test.ts +0 -59
- package/src/defaultCharacter.ts +0 -530
- package/src/index.ts +0 -865
- package/tsconfig.json +0 -16
package/src/index.ts
DELETED
|
@@ -1,865 +0,0 @@
|
|
|
1
|
-
import { DirectClient } from "@elizaos/client-direct";
|
|
2
|
-
import {
|
|
3
|
-
type Adapter,
|
|
4
|
-
AgentRuntime,
|
|
5
|
-
CacheManager,
|
|
6
|
-
CacheStore,
|
|
7
|
-
type Character,
|
|
8
|
-
type ClientInstance,
|
|
9
|
-
DbCacheAdapter,
|
|
10
|
-
elizaLogger,
|
|
11
|
-
FsCacheAdapter,
|
|
12
|
-
type IAgentRuntime,
|
|
13
|
-
type IDatabaseAdapter,
|
|
14
|
-
type IDatabaseCacheAdapter,
|
|
15
|
-
ModelProviderName,
|
|
16
|
-
parseBooleanFromText,
|
|
17
|
-
settings,
|
|
18
|
-
stringToUuid,
|
|
19
|
-
validateCharacterConfig,
|
|
20
|
-
} from "@elizaos/core";
|
|
21
|
-
import { defaultCharacter } from "./defaultCharacter.ts";
|
|
22
|
-
|
|
23
|
-
import { bootstrapPlugin } from "@elizaos/plugin-bootstrap";
|
|
24
|
-
|
|
25
|
-
import fs from "fs";
|
|
26
|
-
import net from "net";
|
|
27
|
-
import os from "os";
|
|
28
|
-
import path from "path";
|
|
29
|
-
import { fileURLToPath } from "url";
|
|
30
|
-
import yargs from "yargs";
|
|
31
|
-
|
|
32
|
-
const __filename = fileURLToPath(import.meta.url); // get the resolved path to the file
|
|
33
|
-
const __dirname = path.dirname(__filename); // get the name of the directory
|
|
34
|
-
|
|
35
|
-
export const wait = (minTime = 1000, maxTime = 3000) => {
|
|
36
|
-
const waitTime =
|
|
37
|
-
Math.floor(Math.random() * (maxTime - minTime + 1)) + minTime;
|
|
38
|
-
return new Promise((resolve) => setTimeout(resolve, waitTime));
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
const logFetch = async (url: string, options: any) => {
|
|
42
|
-
elizaLogger.debug(`Fetching ${url}`);
|
|
43
|
-
// Disabled to avoid disclosure of sensitive information such as API keys
|
|
44
|
-
// elizaLogger.debug(JSON.stringify(options, null, 2));
|
|
45
|
-
return fetch(url, options);
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
export function parseArguments(): {
|
|
49
|
-
character?: string;
|
|
50
|
-
characters?: string;
|
|
51
|
-
} {
|
|
52
|
-
try {
|
|
53
|
-
return yargs(process.argv.slice(3))
|
|
54
|
-
.option("character", {
|
|
55
|
-
type: "string",
|
|
56
|
-
description: "Path to the character JSON file",
|
|
57
|
-
})
|
|
58
|
-
.option("characters", {
|
|
59
|
-
type: "string",
|
|
60
|
-
description:
|
|
61
|
-
"Comma separated list of paths to character JSON files",
|
|
62
|
-
})
|
|
63
|
-
.parseSync();
|
|
64
|
-
} catch (error) {
|
|
65
|
-
elizaLogger.error("Error parsing arguments:", error);
|
|
66
|
-
return {};
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
function tryLoadFile(filePath: string): string | null {
|
|
71
|
-
try {
|
|
72
|
-
return fs.readFileSync(filePath, "utf8");
|
|
73
|
-
} catch (e) {
|
|
74
|
-
return null;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
function mergeCharacters(base: Character, child: Character): Character {
|
|
78
|
-
const mergeObjects = (baseObj: any, childObj: any) => {
|
|
79
|
-
const result: any = {};
|
|
80
|
-
const keys = new Set([
|
|
81
|
-
...Object.keys(baseObj || {}),
|
|
82
|
-
...Object.keys(childObj || {}),
|
|
83
|
-
]);
|
|
84
|
-
keys.forEach((key) => {
|
|
85
|
-
if (
|
|
86
|
-
typeof baseObj[key] === "object" &&
|
|
87
|
-
typeof childObj[key] === "object" &&
|
|
88
|
-
!Array.isArray(baseObj[key]) &&
|
|
89
|
-
!Array.isArray(childObj[key])
|
|
90
|
-
) {
|
|
91
|
-
result[key] = mergeObjects(baseObj[key], childObj[key]);
|
|
92
|
-
} else if (
|
|
93
|
-
Array.isArray(baseObj[key]) ||
|
|
94
|
-
Array.isArray(childObj[key])
|
|
95
|
-
) {
|
|
96
|
-
result[key] = [
|
|
97
|
-
...(baseObj[key] || []),
|
|
98
|
-
...(childObj[key] || []),
|
|
99
|
-
];
|
|
100
|
-
} else {
|
|
101
|
-
result[key] =
|
|
102
|
-
childObj[key] !== undefined ? childObj[key] : baseObj[key];
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
return result;
|
|
106
|
-
};
|
|
107
|
-
return mergeObjects(base, child);
|
|
108
|
-
}
|
|
109
|
-
/* function isAllStrings(arr: unknown[]): boolean {
|
|
110
|
-
return Array.isArray(arr) && arr.every((item) => typeof item === "string");
|
|
111
|
-
}
|
|
112
|
-
export async function loadCharacterFromOnchain(): Promise<Character[]> {
|
|
113
|
-
const jsonText = onchainJson;
|
|
114
|
-
|
|
115
|
-
console.log("JSON:", jsonText);
|
|
116
|
-
if (!jsonText) return [];
|
|
117
|
-
const loadedCharacters = [];
|
|
118
|
-
try {
|
|
119
|
-
const character = JSON.parse(jsonText);
|
|
120
|
-
validateCharacterConfig(character);
|
|
121
|
-
|
|
122
|
-
// .id isn't really valid
|
|
123
|
-
const characterId = character.id || character.name;
|
|
124
|
-
const characterPrefix = `CHARACTER.${characterId
|
|
125
|
-
.toUpperCase()
|
|
126
|
-
.replace(/ /g, "_")}.`;
|
|
127
|
-
|
|
128
|
-
const characterSettings = Object.entries(process.env)
|
|
129
|
-
.filter(([key]) => key.startsWith(characterPrefix))
|
|
130
|
-
.reduce((settings, [key, value]) => {
|
|
131
|
-
const settingKey = key.slice(characterPrefix.length);
|
|
132
|
-
settings[settingKey] = value;
|
|
133
|
-
return settings;
|
|
134
|
-
}, {});
|
|
135
|
-
|
|
136
|
-
if (Object.keys(characterSettings).length > 0) {
|
|
137
|
-
character.settings = character.settings || {};
|
|
138
|
-
character.settings.secrets = {
|
|
139
|
-
...characterSettings,
|
|
140
|
-
...character.settings.secrets,
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
// Handle plugins
|
|
145
|
-
if (isAllStrings(character.plugins)) {
|
|
146
|
-
elizaLogger.info("Plugins are: ", character.plugins);
|
|
147
|
-
const importedPlugins = await Promise.all(
|
|
148
|
-
character.plugins.map(async (plugin) => {
|
|
149
|
-
const importedPlugin = await import(plugin);
|
|
150
|
-
return importedPlugin.default;
|
|
151
|
-
})
|
|
152
|
-
);
|
|
153
|
-
character.plugins = importedPlugins;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
loadedCharacters.push(character);
|
|
157
|
-
elizaLogger.info(
|
|
158
|
-
`Successfully loaded character from: ${process.env.IQ_WALLET_ADDRESS}`
|
|
159
|
-
);
|
|
160
|
-
return loadedCharacters;
|
|
161
|
-
} catch (e) {
|
|
162
|
-
elizaLogger.error(
|
|
163
|
-
`Error parsing character from ${process.env.IQ_WALLET_ADDRESS}: ${e}`
|
|
164
|
-
);
|
|
165
|
-
process.exit(1);
|
|
166
|
-
}
|
|
167
|
-
} */
|
|
168
|
-
|
|
169
|
-
async function loadCharactersFromUrl(url: string): Promise<Character[]> {
|
|
170
|
-
try {
|
|
171
|
-
const response = await fetch(url);
|
|
172
|
-
const responseJson = await response.json();
|
|
173
|
-
|
|
174
|
-
let characters: Character[] = [];
|
|
175
|
-
if (Array.isArray(responseJson)) {
|
|
176
|
-
characters = await Promise.all(
|
|
177
|
-
responseJson.map((character) => jsonToCharacter(url, character))
|
|
178
|
-
);
|
|
179
|
-
} else {
|
|
180
|
-
const character = await jsonToCharacter(url, responseJson);
|
|
181
|
-
characters.push(character);
|
|
182
|
-
}
|
|
183
|
-
return characters;
|
|
184
|
-
} catch (e) {
|
|
185
|
-
elizaLogger.error(`Error loading character(s) from ${url}: ${e}`);
|
|
186
|
-
process.exit(1);
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
async function jsonToCharacter(
|
|
191
|
-
filePath: string,
|
|
192
|
-
character: any
|
|
193
|
-
): Promise<Character> {
|
|
194
|
-
validateCharacterConfig(character);
|
|
195
|
-
|
|
196
|
-
// .id isn't really valid
|
|
197
|
-
const characterId = character.id || character.name;
|
|
198
|
-
const characterPrefix = `CHARACTER.${characterId
|
|
199
|
-
.toUpperCase()
|
|
200
|
-
.replace(/ /g, "_")}.`;
|
|
201
|
-
const characterSettings = Object.entries(process.env)
|
|
202
|
-
.filter(([key]) => key.startsWith(characterPrefix))
|
|
203
|
-
.reduce((settings, [key, value]) => {
|
|
204
|
-
const settingKey = key.slice(characterPrefix.length);
|
|
205
|
-
return { ...settings, [settingKey]: value };
|
|
206
|
-
}, {});
|
|
207
|
-
if (Object.keys(characterSettings).length > 0) {
|
|
208
|
-
character.settings = character.settings || {};
|
|
209
|
-
character.settings.secrets = {
|
|
210
|
-
...characterSettings,
|
|
211
|
-
...character.settings.secrets,
|
|
212
|
-
};
|
|
213
|
-
}
|
|
214
|
-
// Handle plugins
|
|
215
|
-
character.plugins = await handlePluginImporting(character.plugins);
|
|
216
|
-
if (character.extends) {
|
|
217
|
-
elizaLogger.info(
|
|
218
|
-
`Merging ${character.name} character with parent characters`
|
|
219
|
-
);
|
|
220
|
-
for (const extendPath of character.extends) {
|
|
221
|
-
const baseCharacter = await loadCharacter(
|
|
222
|
-
path.resolve(path.dirname(filePath), extendPath)
|
|
223
|
-
);
|
|
224
|
-
character = mergeCharacters(baseCharacter, character);
|
|
225
|
-
elizaLogger.info(
|
|
226
|
-
`Merged ${character.name} with ${baseCharacter.name}`
|
|
227
|
-
);
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
return character;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
async function loadCharacter(filePath: string): Promise<Character> {
|
|
234
|
-
const content = tryLoadFile(filePath);
|
|
235
|
-
if (!content) {
|
|
236
|
-
throw new Error(`Character file not found: ${filePath}`);
|
|
237
|
-
}
|
|
238
|
-
const character = JSON.parse(content);
|
|
239
|
-
return jsonToCharacter(filePath, character);
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
async function loadCharacterTryPath(characterPath: string): Promise<Character> {
|
|
243
|
-
let content: string | null = null;
|
|
244
|
-
let resolvedPath = "";
|
|
245
|
-
|
|
246
|
-
// Try different path resolutions in order
|
|
247
|
-
const pathsToTry = [
|
|
248
|
-
characterPath, // exact path as specified
|
|
249
|
-
path.resolve(process.cwd(), characterPath), // relative to cwd
|
|
250
|
-
path.resolve(process.cwd(), "agent", characterPath), // Add this
|
|
251
|
-
path.resolve(__dirname, characterPath), // relative to current script
|
|
252
|
-
path.resolve(__dirname, "characters", path.basename(characterPath)), // relative to agent/characters
|
|
253
|
-
path.resolve(__dirname, "../characters", path.basename(characterPath)), // relative to characters dir from agent
|
|
254
|
-
path.resolve(
|
|
255
|
-
__dirname,
|
|
256
|
-
"../../characters",
|
|
257
|
-
path.basename(characterPath)
|
|
258
|
-
), // relative to project root characters dir
|
|
259
|
-
];
|
|
260
|
-
|
|
261
|
-
elizaLogger.info(
|
|
262
|
-
"Trying paths:",
|
|
263
|
-
pathsToTry.map((p) => ({
|
|
264
|
-
path: p,
|
|
265
|
-
exists: fs.existsSync(p),
|
|
266
|
-
}))
|
|
267
|
-
);
|
|
268
|
-
|
|
269
|
-
for (const tryPath of pathsToTry) {
|
|
270
|
-
content = tryLoadFile(tryPath);
|
|
271
|
-
if (content !== null) {
|
|
272
|
-
resolvedPath = tryPath;
|
|
273
|
-
break;
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
if (content === null) {
|
|
278
|
-
elizaLogger.error(
|
|
279
|
-
`Error loading character from ${characterPath}: File not found in any of the expected locations`
|
|
280
|
-
);
|
|
281
|
-
elizaLogger.error("Tried the following paths:");
|
|
282
|
-
pathsToTry.forEach((p) => elizaLogger.error(` - ${p}`));
|
|
283
|
-
throw new Error(
|
|
284
|
-
`Error loading character from ${characterPath}: File not found in any of the expected locations`
|
|
285
|
-
);
|
|
286
|
-
}
|
|
287
|
-
try {
|
|
288
|
-
const character: Character = await loadCharacter(resolvedPath);
|
|
289
|
-
elizaLogger.info(`Successfully loaded character from: ${resolvedPath}`);
|
|
290
|
-
return character;
|
|
291
|
-
} catch (e) {
|
|
292
|
-
elizaLogger.error(`Error parsing character from ${resolvedPath}: ${e}`);
|
|
293
|
-
throw new Error(`Error parsing character from ${resolvedPath}: ${e}`);
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
function commaSeparatedStringToArray(commaSeparated: string): string[] {
|
|
298
|
-
return commaSeparated?.split(",").map((value) => value.trim());
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
async function readCharactersFromStorage(
|
|
302
|
-
characterPaths: string[]
|
|
303
|
-
): Promise<string[]> {
|
|
304
|
-
try {
|
|
305
|
-
const uploadDir = path.join(process.cwd(), "data", "characters");
|
|
306
|
-
await fs.promises.mkdir(uploadDir, { recursive: true });
|
|
307
|
-
const fileNames = await fs.promises.readdir(uploadDir);
|
|
308
|
-
fileNames.forEach((fileName) => {
|
|
309
|
-
characterPaths.push(path.join(uploadDir, fileName));
|
|
310
|
-
});
|
|
311
|
-
} catch (err) {
|
|
312
|
-
elizaLogger.error(`Error reading directory: ${err.message}`);
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
return characterPaths;
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
export async function loadCharacters(
|
|
319
|
-
charactersArg: string
|
|
320
|
-
): Promise<Character[]> {
|
|
321
|
-
let characterPaths = commaSeparatedStringToArray(charactersArg);
|
|
322
|
-
|
|
323
|
-
if (process.env.USE_CHARACTER_STORAGE === "true") {
|
|
324
|
-
characterPaths = await readCharactersFromStorage(characterPaths);
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
const loadedCharacters: Character[] = [];
|
|
328
|
-
|
|
329
|
-
if (characterPaths?.length > 0) {
|
|
330
|
-
for (const characterPath of characterPaths) {
|
|
331
|
-
try {
|
|
332
|
-
const character: Character = await loadCharacterTryPath(
|
|
333
|
-
characterPath
|
|
334
|
-
);
|
|
335
|
-
loadedCharacters.push(character);
|
|
336
|
-
} catch (e) {
|
|
337
|
-
process.exit(1);
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
if (hasValidRemoteUrls()) {
|
|
343
|
-
elizaLogger.info("Loading characters from remote URLs");
|
|
344
|
-
const characterUrls = commaSeparatedStringToArray(
|
|
345
|
-
process.env.REMOTE_CHARACTER_URLS
|
|
346
|
-
);
|
|
347
|
-
for (const characterUrl of characterUrls) {
|
|
348
|
-
const characters = await loadCharactersFromUrl(characterUrl);
|
|
349
|
-
loadedCharacters.push(...characters);
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
if (loadedCharacters.length === 0) {
|
|
354
|
-
elizaLogger.info("No characters found, using default character");
|
|
355
|
-
loadedCharacters.push(defaultCharacter);
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
return loadedCharacters;
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
async function handlePluginImporting(plugins: string[]) {
|
|
362
|
-
if (plugins.length > 0) {
|
|
363
|
-
elizaLogger.info("Plugins are: ", plugins);
|
|
364
|
-
const importedPlugins = await Promise.all(
|
|
365
|
-
plugins.map(async (plugin) => {
|
|
366
|
-
try {
|
|
367
|
-
const importedPlugin = await import(plugin);
|
|
368
|
-
const functionName =
|
|
369
|
-
plugin
|
|
370
|
-
.replace("@elizaos/plugin-", "")
|
|
371
|
-
.replace("@elizaos-plugins/plugin-", "")
|
|
372
|
-
.replace(/-./g, (x) => x[1].toUpperCase()) +
|
|
373
|
-
"Plugin"; // Assumes plugin function is camelCased with Plugin suffix
|
|
374
|
-
return (
|
|
375
|
-
importedPlugin.default || importedPlugin[functionName]
|
|
376
|
-
);
|
|
377
|
-
} catch (importError) {
|
|
378
|
-
elizaLogger.error(
|
|
379
|
-
`Failed to import plugin: ${plugin}`,
|
|
380
|
-
importError
|
|
381
|
-
);
|
|
382
|
-
return []; // Return null for failed imports
|
|
383
|
-
}
|
|
384
|
-
})
|
|
385
|
-
);
|
|
386
|
-
return importedPlugins;
|
|
387
|
-
} else {
|
|
388
|
-
return [];
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
export function getTokenForProvider(
|
|
393
|
-
provider: ModelProviderName,
|
|
394
|
-
character: Character
|
|
395
|
-
): string | undefined {
|
|
396
|
-
switch (provider) {
|
|
397
|
-
// no key needed for llama_local, ollama, lmstudio, gaianet or bedrock
|
|
398
|
-
case ModelProviderName.LLAMALOCAL:
|
|
399
|
-
return "";
|
|
400
|
-
case ModelProviderName.OLLAMA:
|
|
401
|
-
return "";
|
|
402
|
-
case ModelProviderName.LMSTUDIO:
|
|
403
|
-
return "";
|
|
404
|
-
case ModelProviderName.GAIANET:
|
|
405
|
-
return (
|
|
406
|
-
character.settings?.secrets?.GAIA_API_KEY ||
|
|
407
|
-
settings.GAIA_API_KEY
|
|
408
|
-
);
|
|
409
|
-
case ModelProviderName.BEDROCK:
|
|
410
|
-
return "";
|
|
411
|
-
case ModelProviderName.OPENAI:
|
|
412
|
-
return (
|
|
413
|
-
character.settings?.secrets?.OPENAI_API_KEY ||
|
|
414
|
-
settings.OPENAI_API_KEY
|
|
415
|
-
);
|
|
416
|
-
case ModelProviderName.ETERNALAI:
|
|
417
|
-
return (
|
|
418
|
-
character.settings?.secrets?.ETERNALAI_API_KEY ||
|
|
419
|
-
settings.ETERNALAI_API_KEY
|
|
420
|
-
);
|
|
421
|
-
case ModelProviderName.NINETEEN_AI:
|
|
422
|
-
return (
|
|
423
|
-
character.settings?.secrets?.NINETEEN_AI_API_KEY ||
|
|
424
|
-
settings.NINETEEN_AI_API_KEY
|
|
425
|
-
);
|
|
426
|
-
case ModelProviderName.LLAMACLOUD:
|
|
427
|
-
case ModelProviderName.TOGETHER:
|
|
428
|
-
return (
|
|
429
|
-
character.settings?.secrets?.LLAMACLOUD_API_KEY ||
|
|
430
|
-
settings.LLAMACLOUD_API_KEY ||
|
|
431
|
-
character.settings?.secrets?.TOGETHER_API_KEY ||
|
|
432
|
-
settings.TOGETHER_API_KEY ||
|
|
433
|
-
character.settings?.secrets?.OPENAI_API_KEY ||
|
|
434
|
-
settings.OPENAI_API_KEY
|
|
435
|
-
);
|
|
436
|
-
case ModelProviderName.CLAUDE_VERTEX:
|
|
437
|
-
case ModelProviderName.ANTHROPIC:
|
|
438
|
-
return (
|
|
439
|
-
character.settings?.secrets?.ANTHROPIC_API_KEY ||
|
|
440
|
-
character.settings?.secrets?.CLAUDE_API_KEY ||
|
|
441
|
-
settings.ANTHROPIC_API_KEY ||
|
|
442
|
-
settings.CLAUDE_API_KEY
|
|
443
|
-
);
|
|
444
|
-
case ModelProviderName.REDPILL:
|
|
445
|
-
return (
|
|
446
|
-
character.settings?.secrets?.REDPILL_API_KEY ||
|
|
447
|
-
settings.REDPILL_API_KEY
|
|
448
|
-
);
|
|
449
|
-
case ModelProviderName.OPENROUTER:
|
|
450
|
-
return (
|
|
451
|
-
character.settings?.secrets?.OPENROUTER_API_KEY ||
|
|
452
|
-
settings.OPENROUTER_API_KEY
|
|
453
|
-
);
|
|
454
|
-
case ModelProviderName.GROK:
|
|
455
|
-
return (
|
|
456
|
-
character.settings?.secrets?.GROK_API_KEY ||
|
|
457
|
-
settings.GROK_API_KEY
|
|
458
|
-
);
|
|
459
|
-
case ModelProviderName.HEURIST:
|
|
460
|
-
return (
|
|
461
|
-
character.settings?.secrets?.HEURIST_API_KEY ||
|
|
462
|
-
settings.HEURIST_API_KEY
|
|
463
|
-
);
|
|
464
|
-
case ModelProviderName.GROQ:
|
|
465
|
-
return (
|
|
466
|
-
character.settings?.secrets?.GROQ_API_KEY ||
|
|
467
|
-
settings.GROQ_API_KEY
|
|
468
|
-
);
|
|
469
|
-
case ModelProviderName.GALADRIEL:
|
|
470
|
-
return (
|
|
471
|
-
character.settings?.secrets?.GALADRIEL_API_KEY ||
|
|
472
|
-
settings.GALADRIEL_API_KEY
|
|
473
|
-
);
|
|
474
|
-
case ModelProviderName.FAL:
|
|
475
|
-
return (
|
|
476
|
-
character.settings?.secrets?.FAL_API_KEY || settings.FAL_API_KEY
|
|
477
|
-
);
|
|
478
|
-
case ModelProviderName.ALI_BAILIAN:
|
|
479
|
-
return (
|
|
480
|
-
character.settings?.secrets?.ALI_BAILIAN_API_KEY ||
|
|
481
|
-
settings.ALI_BAILIAN_API_KEY
|
|
482
|
-
);
|
|
483
|
-
case ModelProviderName.VOLENGINE:
|
|
484
|
-
return (
|
|
485
|
-
character.settings?.secrets?.VOLENGINE_API_KEY ||
|
|
486
|
-
settings.VOLENGINE_API_KEY
|
|
487
|
-
);
|
|
488
|
-
case ModelProviderName.NANOGPT:
|
|
489
|
-
return (
|
|
490
|
-
character.settings?.secrets?.NANOGPT_API_KEY ||
|
|
491
|
-
settings.NANOGPT_API_KEY
|
|
492
|
-
);
|
|
493
|
-
case ModelProviderName.HYPERBOLIC:
|
|
494
|
-
return (
|
|
495
|
-
character.settings?.secrets?.HYPERBOLIC_API_KEY ||
|
|
496
|
-
settings.HYPERBOLIC_API_KEY
|
|
497
|
-
);
|
|
498
|
-
|
|
499
|
-
case ModelProviderName.VENICE:
|
|
500
|
-
return (
|
|
501
|
-
character.settings?.secrets?.VENICE_API_KEY ||
|
|
502
|
-
settings.VENICE_API_KEY
|
|
503
|
-
);
|
|
504
|
-
case ModelProviderName.ATOMA:
|
|
505
|
-
return (
|
|
506
|
-
character.settings?.secrets?.ATOMASDK_BEARER_AUTH ||
|
|
507
|
-
settings.ATOMASDK_BEARER_AUTH
|
|
508
|
-
);
|
|
509
|
-
case ModelProviderName.NVIDIA:
|
|
510
|
-
return (
|
|
511
|
-
character.settings?.secrets?.NVIDIA_API_KEY ||
|
|
512
|
-
settings.NVIDIA_API_KEY
|
|
513
|
-
);
|
|
514
|
-
case ModelProviderName.AKASH_CHAT_API:
|
|
515
|
-
return (
|
|
516
|
-
character.settings?.secrets?.AKASH_CHAT_API_KEY ||
|
|
517
|
-
settings.AKASH_CHAT_API_KEY
|
|
518
|
-
);
|
|
519
|
-
case ModelProviderName.GOOGLE:
|
|
520
|
-
return (
|
|
521
|
-
character.settings?.secrets?.GOOGLE_GENERATIVE_AI_API_KEY ||
|
|
522
|
-
settings.GOOGLE_GENERATIVE_AI_API_KEY
|
|
523
|
-
);
|
|
524
|
-
case ModelProviderName.MISTRAL:
|
|
525
|
-
return (
|
|
526
|
-
character.settings?.secrets?.MISTRAL_API_KEY ||
|
|
527
|
-
settings.MISTRAL_API_KEY
|
|
528
|
-
);
|
|
529
|
-
case ModelProviderName.LETZAI:
|
|
530
|
-
return (
|
|
531
|
-
character.settings?.secrets?.LETZAI_API_KEY ||
|
|
532
|
-
settings.LETZAI_API_KEY
|
|
533
|
-
);
|
|
534
|
-
case ModelProviderName.INFERA:
|
|
535
|
-
return (
|
|
536
|
-
character.settings?.secrets?.INFERA_API_KEY ||
|
|
537
|
-
settings.INFERA_API_KEY
|
|
538
|
-
);
|
|
539
|
-
case ModelProviderName.DEEPSEEK:
|
|
540
|
-
return (
|
|
541
|
-
character.settings?.secrets?.DEEPSEEK_API_KEY ||
|
|
542
|
-
settings.DEEPSEEK_API_KEY
|
|
543
|
-
);
|
|
544
|
-
case ModelProviderName.LIVEPEER:
|
|
545
|
-
return (
|
|
546
|
-
character.settings?.secrets?.LIVEPEER_GATEWAY_URL ||
|
|
547
|
-
settings.LIVEPEER_GATEWAY_URL
|
|
548
|
-
);
|
|
549
|
-
case ModelProviderName.SECRETAI:
|
|
550
|
-
return (
|
|
551
|
-
character.settings?.secrets?.SECRET_AI_API_KEY ||
|
|
552
|
-
settings.SECRET_AI_API_KEY
|
|
553
|
-
);
|
|
554
|
-
case ModelProviderName.NEARAI:
|
|
555
|
-
try {
|
|
556
|
-
const config = JSON.parse(fs.readFileSync(path.join(os.homedir(), '.nearai/config.json'), 'utf8'));
|
|
557
|
-
return JSON.stringify(config?.auth);
|
|
558
|
-
} catch (e) {
|
|
559
|
-
elizaLogger.warn(`Error loading NEAR AI config: ${e}`);
|
|
560
|
-
}
|
|
561
|
-
return (
|
|
562
|
-
character.settings?.secrets?.NEARAI_API_KEY ||
|
|
563
|
-
settings.NEARAI_API_KEY
|
|
564
|
-
);
|
|
565
|
-
|
|
566
|
-
default:
|
|
567
|
-
const errorMessage = `Failed to get token - unsupported model provider: ${provider}`;
|
|
568
|
-
elizaLogger.error(errorMessage);
|
|
569
|
-
throw new Error(errorMessage);
|
|
570
|
-
}
|
|
571
|
-
}
|
|
572
|
-
|
|
573
|
-
// also adds plugins from character file into the runtime
|
|
574
|
-
export async function initializeClients(
|
|
575
|
-
character: Character,
|
|
576
|
-
runtime: IAgentRuntime
|
|
577
|
-
) {
|
|
578
|
-
// each client can only register once
|
|
579
|
-
// and if we want two we can explicitly support it
|
|
580
|
-
const clients: ClientInstance[] = [];
|
|
581
|
-
// const clientTypes = clients.map((c) => c.name);
|
|
582
|
-
// elizaLogger.log("initializeClients", clientTypes, "for", character.name);
|
|
583
|
-
|
|
584
|
-
if (character.plugins?.length > 0) {
|
|
585
|
-
for (const plugin of character.plugins) {
|
|
586
|
-
if (plugin.clients) {
|
|
587
|
-
for (const client of plugin.clients) {
|
|
588
|
-
const startedClient = await client.start(runtime);
|
|
589
|
-
elizaLogger.debug(
|
|
590
|
-
`Initializing client: ${client.name}`
|
|
591
|
-
);
|
|
592
|
-
clients.push(startedClient);
|
|
593
|
-
}
|
|
594
|
-
}
|
|
595
|
-
}
|
|
596
|
-
}
|
|
597
|
-
|
|
598
|
-
return clients;
|
|
599
|
-
}
|
|
600
|
-
|
|
601
|
-
export async function createAgent(
|
|
602
|
-
character: Character,
|
|
603
|
-
token: string
|
|
604
|
-
): Promise<AgentRuntime> {
|
|
605
|
-
elizaLogger.log(`Creating runtime for character ${character.name}`);
|
|
606
|
-
return new AgentRuntime({
|
|
607
|
-
token,
|
|
608
|
-
modelProvider: character.modelProvider,
|
|
609
|
-
evaluators: [],
|
|
610
|
-
character,
|
|
611
|
-
// character.plugins are handled when clients are added
|
|
612
|
-
plugins: [
|
|
613
|
-
bootstrapPlugin,
|
|
614
|
-
]
|
|
615
|
-
.flat()
|
|
616
|
-
.filter(Boolean),
|
|
617
|
-
providers: [],
|
|
618
|
-
managers: [],
|
|
619
|
-
fetch: logFetch,
|
|
620
|
-
// verifiableInferenceAdapter,
|
|
621
|
-
});
|
|
622
|
-
}
|
|
623
|
-
|
|
624
|
-
function initializeFsCache(baseDir: string, character: Character) {
|
|
625
|
-
if (!character?.id) {
|
|
626
|
-
throw new Error(
|
|
627
|
-
"initializeFsCache requires id to be set in character definition"
|
|
628
|
-
);
|
|
629
|
-
}
|
|
630
|
-
const cacheDir = path.resolve(baseDir, character.id, "cache");
|
|
631
|
-
|
|
632
|
-
const cache = new CacheManager(new FsCacheAdapter(cacheDir));
|
|
633
|
-
return cache;
|
|
634
|
-
}
|
|
635
|
-
|
|
636
|
-
function initializeDbCache(character: Character, db: IDatabaseCacheAdapter) {
|
|
637
|
-
if (!character?.id) {
|
|
638
|
-
throw new Error(
|
|
639
|
-
"initializeFsCache requires id to be set in character definition"
|
|
640
|
-
);
|
|
641
|
-
}
|
|
642
|
-
const cache = new CacheManager(new DbCacheAdapter(db, character.id));
|
|
643
|
-
return cache;
|
|
644
|
-
}
|
|
645
|
-
|
|
646
|
-
function initializeCache(
|
|
647
|
-
cacheStore: string,
|
|
648
|
-
character: Character,
|
|
649
|
-
baseDir?: string,
|
|
650
|
-
db?: IDatabaseCacheAdapter
|
|
651
|
-
) {
|
|
652
|
-
switch (cacheStore) {
|
|
653
|
-
// case CacheStore.REDIS:
|
|
654
|
-
// if (process.env.REDIS_URL) {
|
|
655
|
-
// elizaLogger.info("Connecting to Redis...");
|
|
656
|
-
// const redisClient = new RedisClient(process.env.REDIS_URL);
|
|
657
|
-
// if (!character?.id) {
|
|
658
|
-
// throw new Error(
|
|
659
|
-
// "CacheStore.REDIS requires id to be set in character definition"
|
|
660
|
-
// );
|
|
661
|
-
// }
|
|
662
|
-
// return new CacheManager(
|
|
663
|
-
// new DbCacheAdapter(redisClient, character.id) // Using DbCacheAdapter since RedisClient also implements IDatabaseCacheAdapter
|
|
664
|
-
// );
|
|
665
|
-
// } else {
|
|
666
|
-
// throw new Error("REDIS_URL environment variable is not set.");
|
|
667
|
-
// }
|
|
668
|
-
|
|
669
|
-
case CacheStore.DATABASE:
|
|
670
|
-
if (db) {
|
|
671
|
-
elizaLogger.info("Using Database Cache...");
|
|
672
|
-
return initializeDbCache(character, db);
|
|
673
|
-
} else {
|
|
674
|
-
throw new Error(
|
|
675
|
-
"Database adapter is not provided for CacheStore.Database."
|
|
676
|
-
);
|
|
677
|
-
}
|
|
678
|
-
|
|
679
|
-
case CacheStore.FILESYSTEM:
|
|
680
|
-
elizaLogger.info("Using File System Cache...");
|
|
681
|
-
if (!baseDir) {
|
|
682
|
-
throw new Error(
|
|
683
|
-
"baseDir must be provided for CacheStore.FILESYSTEM."
|
|
684
|
-
);
|
|
685
|
-
}
|
|
686
|
-
return initializeFsCache(baseDir, character);
|
|
687
|
-
|
|
688
|
-
default:
|
|
689
|
-
throw new Error(
|
|
690
|
-
`Invalid cache store: ${cacheStore} or required configuration missing.`
|
|
691
|
-
);
|
|
692
|
-
}
|
|
693
|
-
}
|
|
694
|
-
|
|
695
|
-
async function findDatabaseAdapter(runtime: AgentRuntime) {
|
|
696
|
-
const { adapters } = runtime;
|
|
697
|
-
let adapter: Adapter | undefined;
|
|
698
|
-
// if not found, default to sqlite
|
|
699
|
-
if (adapters.length === 0) {
|
|
700
|
-
const sqliteAdapterPlugin = await import('@elizaos-plugins/adapter-sqlite');
|
|
701
|
-
const sqliteAdapterPluginDefault = sqliteAdapterPlugin.default;
|
|
702
|
-
adapter = sqliteAdapterPluginDefault.adapters[0];
|
|
703
|
-
if (!adapter) {
|
|
704
|
-
throw new Error("Internal error: No database adapter found for default adapter-sqlite");
|
|
705
|
-
}
|
|
706
|
-
} else if (adapters.length === 1) {
|
|
707
|
-
adapter = adapters[0];
|
|
708
|
-
} else {
|
|
709
|
-
throw new Error("Multiple database adapters found. You must have no more than one. Adjust your plugins configuration.");
|
|
710
|
-
}
|
|
711
|
-
const adapterInterface = adapter?.init(runtime);
|
|
712
|
-
return adapterInterface;
|
|
713
|
-
}
|
|
714
|
-
|
|
715
|
-
async function startAgent(
|
|
716
|
-
character: Character,
|
|
717
|
-
directClient: DirectClient
|
|
718
|
-
): Promise<AgentRuntime> {
|
|
719
|
-
let db: IDatabaseAdapter & IDatabaseCacheAdapter;
|
|
720
|
-
try {
|
|
721
|
-
character.id ??= stringToUuid(character.name);
|
|
722
|
-
character.username ??= character.name;
|
|
723
|
-
|
|
724
|
-
const token = getTokenForProvider(character.modelProvider, character);
|
|
725
|
-
|
|
726
|
-
const runtime: AgentRuntime = await createAgent(
|
|
727
|
-
character,
|
|
728
|
-
token
|
|
729
|
-
);
|
|
730
|
-
|
|
731
|
-
// initialize database
|
|
732
|
-
// find a db from the plugins
|
|
733
|
-
db = await findDatabaseAdapter(runtime);
|
|
734
|
-
runtime.databaseAdapter = db;
|
|
735
|
-
|
|
736
|
-
// initialize cache
|
|
737
|
-
const cache = initializeCache(
|
|
738
|
-
process.env.CACHE_STORE ?? CacheStore.DATABASE,
|
|
739
|
-
character,
|
|
740
|
-
process.env.CACHE_DIR ?? "",
|
|
741
|
-
db
|
|
742
|
-
); // "" should be replaced with dir for file system caching. THOUGHTS: might probably make this into an env
|
|
743
|
-
runtime.cacheManager = cache;
|
|
744
|
-
|
|
745
|
-
// start services/plugins/process knowledge
|
|
746
|
-
await runtime.initialize();
|
|
747
|
-
|
|
748
|
-
// start assigned clients
|
|
749
|
-
runtime.clients = await initializeClients(character, runtime);
|
|
750
|
-
|
|
751
|
-
// add to container
|
|
752
|
-
directClient.registerAgent(runtime);
|
|
753
|
-
|
|
754
|
-
// report to console
|
|
755
|
-
elizaLogger.debug(`Started ${character.name} as ${runtime.agentId}`);
|
|
756
|
-
|
|
757
|
-
return runtime;
|
|
758
|
-
} catch (error) {
|
|
759
|
-
elizaLogger.error(
|
|
760
|
-
`Error starting agent for character ${character.name}:`,
|
|
761
|
-
error
|
|
762
|
-
);
|
|
763
|
-
elizaLogger.error(error);
|
|
764
|
-
if (db) {
|
|
765
|
-
await db.close();
|
|
766
|
-
}
|
|
767
|
-
throw error;
|
|
768
|
-
}
|
|
769
|
-
}
|
|
770
|
-
|
|
771
|
-
const checkPortAvailable = (port: number): Promise<boolean> => {
|
|
772
|
-
return new Promise((resolve) => {
|
|
773
|
-
const server = net.createServer();
|
|
774
|
-
|
|
775
|
-
server.once("error", (err: NodeJS.ErrnoException) => {
|
|
776
|
-
if (err.code === "EADDRINUSE") {
|
|
777
|
-
resolve(false);
|
|
778
|
-
}
|
|
779
|
-
});
|
|
780
|
-
|
|
781
|
-
server.once("listening", () => {
|
|
782
|
-
server.close();
|
|
783
|
-
resolve(true);
|
|
784
|
-
});
|
|
785
|
-
|
|
786
|
-
server.listen(port);
|
|
787
|
-
});
|
|
788
|
-
};
|
|
789
|
-
|
|
790
|
-
const hasValidRemoteUrls = () =>
|
|
791
|
-
process.env.REMOTE_CHARACTER_URLS &&
|
|
792
|
-
process.env.REMOTE_CHARACTER_URLS !== "" &&
|
|
793
|
-
process.env.REMOTE_CHARACTER_URLS.startsWith("http");
|
|
794
|
-
|
|
795
|
-
const startAgents = async () => {
|
|
796
|
-
const directClient = new DirectClient();
|
|
797
|
-
let serverPort = Number.parseInt(settings.SERVER_PORT || "3000");
|
|
798
|
-
const args = parseArguments();
|
|
799
|
-
const charactersArg = args.characters || args.character;
|
|
800
|
-
let characters = [defaultCharacter];
|
|
801
|
-
|
|
802
|
-
if ((charactersArg) || hasValidRemoteUrls()) {
|
|
803
|
-
characters = await loadCharacters(charactersArg);
|
|
804
|
-
}
|
|
805
|
-
|
|
806
|
-
try {
|
|
807
|
-
for (const character of characters) {
|
|
808
|
-
await startAgent(character, directClient);
|
|
809
|
-
}
|
|
810
|
-
} catch (error) {
|
|
811
|
-
elizaLogger.error("Error starting agents:", error);
|
|
812
|
-
}
|
|
813
|
-
|
|
814
|
-
// Find available port
|
|
815
|
-
while (!(await checkPortAvailable(serverPort))) {
|
|
816
|
-
elizaLogger.warn(
|
|
817
|
-
`Port ${serverPort} is in use, trying ${serverPort + 1}`
|
|
818
|
-
);
|
|
819
|
-
serverPort++;
|
|
820
|
-
}
|
|
821
|
-
|
|
822
|
-
// upload some agent functionality into directClient
|
|
823
|
-
// This is used in client-direct/api.ts at "/agents/:agentId/set" route to restart an agent
|
|
824
|
-
directClient.startAgent = async (character) => {
|
|
825
|
-
// Handle plugins
|
|
826
|
-
character.plugins = await handlePluginImporting(character.plugins);
|
|
827
|
-
|
|
828
|
-
// wrap it so we don't have to inject directClient later
|
|
829
|
-
return startAgent(character, directClient);
|
|
830
|
-
};
|
|
831
|
-
|
|
832
|
-
directClient.loadCharacterTryPath = loadCharacterTryPath;
|
|
833
|
-
directClient.jsonToCharacter = jsonToCharacter;
|
|
834
|
-
|
|
835
|
-
directClient.start(serverPort);
|
|
836
|
-
|
|
837
|
-
if (serverPort !== Number.parseInt(settings.SERVER_PORT || "3000")) {
|
|
838
|
-
elizaLogger.log(`Server started on alternate port ${serverPort}`);
|
|
839
|
-
}
|
|
840
|
-
|
|
841
|
-
elizaLogger.info(
|
|
842
|
-
"Run `pnpm start:client` to start the client and visit the outputted URL (http://localhost:5173) to chat with your agents. When running multiple agents, use client with different port `SERVER_PORT=3001 pnpm start:client`"
|
|
843
|
-
);
|
|
844
|
-
};
|
|
845
|
-
|
|
846
|
-
startAgents().catch((error) => {
|
|
847
|
-
elizaLogger.error("Unhandled error in startAgents:", error);
|
|
848
|
-
process.exit(1);
|
|
849
|
-
});
|
|
850
|
-
|
|
851
|
-
// Prevent unhandled exceptions from crashing the process if desired
|
|
852
|
-
if (
|
|
853
|
-
process.env.PREVENT_UNHANDLED_EXIT &&
|
|
854
|
-
parseBooleanFromText(process.env.PREVENT_UNHANDLED_EXIT)
|
|
855
|
-
) {
|
|
856
|
-
// Handle uncaught exceptions to prevent the process from crashing
|
|
857
|
-
process.on("uncaughtException", (err) => {
|
|
858
|
-
console.error("uncaughtException", err);
|
|
859
|
-
});
|
|
860
|
-
|
|
861
|
-
// Handle unhandled rejections to prevent the process from crashing
|
|
862
|
-
process.on("unhandledRejection", (err) => {
|
|
863
|
-
console.error("unhandledRejection", err);
|
|
864
|
-
});
|
|
865
|
-
}
|