@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.
Files changed (607) hide show
  1. package/LICENSE +1 -1
  2. package/package.json +994 -34
  3. package/packages/agent/src/actions/emote.d.ts +14 -0
  4. package/packages/agent/src/actions/emote.d.ts.map +1 -0
  5. package/packages/agent/src/actions/emote.js +91 -0
  6. package/packages/agent/src/actions/restart.d.ts +19 -0
  7. package/packages/agent/src/actions/restart.d.ts.map +1 -0
  8. package/packages/agent/src/actions/restart.js +86 -0
  9. package/packages/agent/src/actions/send-message.d.ts +3 -0
  10. package/packages/agent/src/actions/send-message.d.ts.map +1 -0
  11. package/packages/agent/src/actions/send-message.js +144 -0
  12. package/packages/agent/src/actions/stream-control.d.ts +15 -0
  13. package/packages/agent/src/actions/stream-control.d.ts.map +1 -0
  14. package/packages/agent/src/actions/stream-control.js +357 -0
  15. package/packages/agent/src/actions/switch-stream-source.d.ts +16 -0
  16. package/packages/agent/src/actions/switch-stream-source.d.ts.map +1 -0
  17. package/packages/agent/src/actions/switch-stream-source.js +94 -0
  18. package/packages/agent/src/actions/terminal.d.ts +14 -0
  19. package/packages/agent/src/actions/terminal.d.ts.map +1 -0
  20. package/packages/agent/src/actions/terminal.js +154 -0
  21. package/packages/agent/src/api/agent-admin-routes.d.ts +38 -0
  22. package/packages/agent/src/api/agent-admin-routes.d.ts.map +1 -0
  23. package/packages/agent/src/api/agent-admin-routes.js +93 -0
  24. package/packages/agent/src/api/agent-lifecycle-routes.d.ts +16 -0
  25. package/packages/agent/src/api/agent-lifecycle-routes.d.ts.map +1 -0
  26. package/packages/agent/src/api/agent-lifecycle-routes.js +80 -0
  27. package/packages/agent/src/api/agent-model.d.ts +12 -0
  28. package/packages/agent/src/api/agent-model.d.ts.map +1 -0
  29. package/packages/agent/src/api/agent-model.js +123 -0
  30. package/packages/agent/src/api/agent-transfer-routes.d.ts +16 -0
  31. package/packages/agent/src/api/agent-transfer-routes.d.ts.map +1 -0
  32. package/packages/agent/src/api/agent-transfer-routes.js +124 -0
  33. package/packages/agent/src/api/apps-routes.d.ts +19 -0
  34. package/packages/agent/src/api/apps-routes.d.ts.map +1 -0
  35. package/packages/agent/src/api/apps-routes.js +128 -0
  36. package/packages/agent/src/api/auth-routes.d.ts +11 -0
  37. package/packages/agent/src/api/auth-routes.d.ts.map +1 -0
  38. package/packages/agent/src/api/auth-routes.js +54 -0
  39. package/packages/agent/src/api/bsc-trade.d.ts +34 -0
  40. package/packages/agent/src/api/bsc-trade.d.ts.map +1 -0
  41. package/packages/agent/src/api/bsc-trade.js +567 -0
  42. package/packages/agent/src/api/bug-report-routes.d.ts +7 -0
  43. package/packages/agent/src/api/bug-report-routes.d.ts.map +1 -0
  44. package/packages/agent/src/api/bug-report-routes.js +124 -0
  45. package/packages/agent/src/api/character-routes.d.ts +50 -0
  46. package/packages/agent/src/api/character-routes.d.ts.map +1 -0
  47. package/packages/agent/src/api/character-routes.js +302 -0
  48. package/packages/agent/src/api/cloud-billing-routes.d.ts +14 -0
  49. package/packages/agent/src/api/cloud-billing-routes.d.ts.map +1 -0
  50. package/packages/agent/src/api/cloud-billing-routes.js +400 -0
  51. package/packages/agent/src/api/cloud-compat-routes.d.ts +15 -0
  52. package/packages/agent/src/api/cloud-compat-routes.d.ts.map +1 -0
  53. package/packages/agent/src/api/cloud-compat-routes.js +131 -0
  54. package/packages/agent/src/api/cloud-routes.d.ts +62 -0
  55. package/packages/agent/src/api/cloud-routes.d.ts.map +1 -0
  56. package/packages/agent/src/api/cloud-routes.js +339 -0
  57. package/packages/agent/src/api/cloud-status-routes.d.ts +15 -0
  58. package/packages/agent/src/api/cloud-status-routes.d.ts.map +1 -0
  59. package/packages/agent/src/api/cloud-status-routes.js +165 -0
  60. package/packages/agent/src/api/compat-utils.d.ts +49 -0
  61. package/packages/agent/src/api/compat-utils.d.ts.map +1 -0
  62. package/packages/agent/src/api/compat-utils.js +126 -0
  63. package/packages/agent/src/api/connector-health.d.ts +34 -0
  64. package/packages/agent/src/api/connector-health.d.ts.map +1 -0
  65. package/packages/agent/src/api/connector-health.js +109 -0
  66. package/packages/agent/src/api/coordinator-wiring.d.ts +46 -0
  67. package/packages/agent/src/api/coordinator-wiring.d.ts.map +1 -0
  68. package/packages/agent/src/api/coordinator-wiring.js +101 -0
  69. package/packages/agent/src/api/credit-detection.d.ts +9 -0
  70. package/packages/agent/src/api/credit-detection.d.ts.map +1 -0
  71. package/packages/agent/src/api/credit-detection.js +41 -0
  72. package/packages/agent/src/api/database.d.ts +33 -0
  73. package/packages/agent/src/api/database.d.ts.map +1 -0
  74. package/packages/agent/src/api/database.js +1019 -0
  75. package/packages/agent/src/api/diagnostics-routes.d.ts +46 -0
  76. package/packages/agent/src/api/diagnostics-routes.d.ts.map +1 -0
  77. package/packages/agent/src/api/diagnostics-routes.js +241 -0
  78. package/packages/agent/src/api/drop-service.d.ts +26 -0
  79. package/packages/agent/src/api/drop-service.d.ts.map +1 -0
  80. package/packages/agent/src/api/drop-service.js +134 -0
  81. package/packages/agent/src/api/early-logs.d.ts +29 -0
  82. package/packages/agent/src/api/early-logs.d.ts.map +1 -0
  83. package/packages/agent/src/api/early-logs.js +96 -0
  84. package/packages/agent/src/api/http-helpers.d.ts +50 -0
  85. package/packages/agent/src/api/http-helpers.d.ts.map +1 -0
  86. package/packages/agent/src/api/http-helpers.js +145 -0
  87. package/packages/agent/src/api/index.d.ts +61 -0
  88. package/packages/agent/src/api/index.d.ts.map +1 -0
  89. package/packages/agent/src/api/index.js +59 -0
  90. package/packages/agent/src/api/knowledge-routes.d.ts +23 -0
  91. package/packages/agent/src/api/knowledge-routes.d.ts.map +1 -0
  92. package/packages/agent/src/api/knowledge-routes.js +931 -0
  93. package/packages/agent/src/api/knowledge-service-loader.d.ts +51 -0
  94. package/packages/agent/src/api/knowledge-service-loader.d.ts.map +1 -0
  95. package/packages/agent/src/api/knowledge-service-loader.js +34 -0
  96. package/packages/agent/src/api/memory-bounds.d.ts +51 -0
  97. package/packages/agent/src/api/memory-bounds.d.ts.map +1 -0
  98. package/packages/agent/src/api/memory-bounds.js +81 -0
  99. package/packages/agent/src/api/memory-routes.d.ts +9 -0
  100. package/packages/agent/src/api/memory-routes.d.ts.map +1 -0
  101. package/packages/agent/src/api/memory-routes.js +241 -0
  102. package/packages/agent/src/api/merkle-tree.d.ts +90 -0
  103. package/packages/agent/src/api/merkle-tree.d.ts.map +1 -0
  104. package/packages/agent/src/api/merkle-tree.js +174 -0
  105. package/packages/agent/src/api/models-routes.d.ts +14 -0
  106. package/packages/agent/src/api/models-routes.d.ts.map +1 -0
  107. package/packages/agent/src/api/models-routes.js +37 -0
  108. package/packages/agent/src/api/nfa-routes.d.ts +5 -0
  109. package/packages/agent/src/api/nfa-routes.d.ts.map +1 -0
  110. package/packages/agent/src/api/nfa-routes.js +125 -0
  111. package/packages/agent/src/api/og-tracker.d.ts +28 -0
  112. package/packages/agent/src/api/og-tracker.d.ts.map +1 -0
  113. package/packages/agent/src/api/og-tracker.js +60 -0
  114. package/packages/agent/src/api/parse-action-block.d.ts +36 -0
  115. package/packages/agent/src/api/parse-action-block.d.ts.map +1 -0
  116. package/packages/agent/src/api/parse-action-block.js +110 -0
  117. package/packages/agent/src/api/permissions-routes.d.ts +32 -0
  118. package/packages/agent/src/api/permissions-routes.d.ts.map +1 -0
  119. package/packages/agent/src/api/permissions-routes.js +149 -0
  120. package/packages/agent/src/api/plugin-validation.d.ts +86 -0
  121. package/packages/agent/src/api/plugin-validation.d.ts.map +1 -0
  122. package/packages/agent/src/api/plugin-validation.js +259 -0
  123. package/packages/agent/src/api/provider-switch-config.d.ts +37 -0
  124. package/packages/agent/src/api/provider-switch-config.d.ts.map +1 -0
  125. package/packages/agent/src/api/provider-switch-config.js +317 -0
  126. package/packages/agent/src/api/registry-routes.d.ts +26 -0
  127. package/packages/agent/src/api/registry-routes.d.ts.map +1 -0
  128. package/packages/agent/src/api/registry-routes.js +90 -0
  129. package/packages/agent/src/api/registry-service.d.ts +77 -0
  130. package/packages/agent/src/api/registry-service.d.ts.map +1 -0
  131. package/packages/agent/src/api/registry-service.js +190 -0
  132. package/packages/agent/src/api/route-helpers.d.ts +16 -0
  133. package/packages/agent/src/api/route-helpers.d.ts.map +1 -0
  134. package/packages/agent/src/api/route-helpers.js +1 -0
  135. package/packages/agent/src/api/sandbox-routes.d.ts +12 -0
  136. package/packages/agent/src/api/sandbox-routes.d.ts.map +1 -0
  137. package/packages/agent/src/api/sandbox-routes.js +1334 -0
  138. package/packages/agent/src/api/server.d.ts +418 -0
  139. package/packages/agent/src/api/server.d.ts.map +1 -0
  140. package/packages/agent/src/api/server.js +13614 -0
  141. package/packages/agent/src/api/signal-routes.d.ts +39 -0
  142. package/packages/agent/src/api/signal-routes.d.ts.map +1 -0
  143. package/packages/agent/src/api/signal-routes.js +168 -0
  144. package/packages/agent/src/api/stream-persistence.d.ts +64 -0
  145. package/packages/agent/src/api/stream-persistence.d.ts.map +1 -0
  146. package/packages/agent/src/api/stream-persistence.js +231 -0
  147. package/packages/agent/src/api/stream-route-state.d.ts +50 -0
  148. package/packages/agent/src/api/stream-route-state.d.ts.map +1 -0
  149. package/packages/agent/src/api/stream-route-state.js +1 -0
  150. package/packages/agent/src/api/stream-routes.d.ts +45 -0
  151. package/packages/agent/src/api/stream-routes.d.ts.map +1 -0
  152. package/packages/agent/src/api/stream-routes.js +809 -0
  153. package/packages/agent/src/api/stream-voice-routes.d.ts +36 -0
  154. package/packages/agent/src/api/stream-voice-routes.d.ts.map +1 -0
  155. package/packages/agent/src/api/stream-voice-routes.js +133 -0
  156. package/packages/agent/src/api/streaming-text.d.ts +9 -0
  157. package/packages/agent/src/api/streaming-text.d.ts.map +1 -0
  158. package/packages/agent/src/api/streaming-text.js +85 -0
  159. package/packages/agent/src/api/streaming-types.d.ts +30 -0
  160. package/packages/agent/src/api/streaming-types.d.ts.map +1 -0
  161. package/packages/agent/src/api/streaming-types.js +1 -0
  162. package/packages/agent/src/api/subscription-routes.d.ts +20 -0
  163. package/packages/agent/src/api/subscription-routes.d.ts.map +1 -0
  164. package/packages/agent/src/api/subscription-routes.js +191 -0
  165. package/packages/agent/src/api/terminal-run-limits.d.ts +5 -0
  166. package/packages/agent/src/api/terminal-run-limits.d.ts.map +1 -0
  167. package/packages/agent/src/api/terminal-run-limits.js +22 -0
  168. package/packages/agent/src/api/training-backend-check.d.ts +8 -0
  169. package/packages/agent/src/api/training-backend-check.d.ts.map +1 -0
  170. package/packages/agent/src/api/training-backend-check.js +28 -0
  171. package/packages/agent/src/api/training-routes.d.ts +44 -0
  172. package/packages/agent/src/api/training-routes.d.ts.map +1 -0
  173. package/packages/agent/src/api/training-routes.js +195 -0
  174. package/packages/agent/src/api/training-service-like.d.ts +38 -0
  175. package/packages/agent/src/api/training-service-like.d.ts.map +1 -0
  176. package/packages/agent/src/api/training-service-like.js +1 -0
  177. package/packages/agent/src/api/trajectory-routes.d.ts +17 -0
  178. package/packages/agent/src/api/trajectory-routes.d.ts.map +1 -0
  179. package/packages/agent/src/api/trajectory-routes.js +405 -0
  180. package/packages/agent/src/api/trigger-routes.d.ts +72 -0
  181. package/packages/agent/src/api/trigger-routes.d.ts.map +1 -0
  182. package/packages/agent/src/api/trigger-routes.js +268 -0
  183. package/packages/agent/src/api/twitter-verify.d.ts +25 -0
  184. package/packages/agent/src/api/twitter-verify.d.ts.map +1 -0
  185. package/packages/agent/src/api/twitter-verify.js +168 -0
  186. package/packages/agent/src/api/tx-service.d.ts +47 -0
  187. package/packages/agent/src/api/tx-service.d.ts.map +1 -0
  188. package/packages/agent/src/api/tx-service.js +156 -0
  189. package/packages/agent/src/api/wallet-dex-prices.d.ts +43 -0
  190. package/packages/agent/src/api/wallet-dex-prices.d.ts.map +1 -0
  191. package/packages/agent/src/api/wallet-dex-prices.js +149 -0
  192. package/packages/agent/src/api/wallet-evm-balance.d.ts +65 -0
  193. package/packages/agent/src/api/wallet-evm-balance.d.ts.map +1 -0
  194. package/packages/agent/src/api/wallet-evm-balance.js +663 -0
  195. package/packages/agent/src/api/wallet-routes.d.ts +33 -0
  196. package/packages/agent/src/api/wallet-routes.d.ts.map +1 -0
  197. package/packages/agent/src/api/wallet-routes.js +292 -0
  198. package/packages/agent/src/api/wallet-rpc.d.ts +61 -0
  199. package/packages/agent/src/api/wallet-rpc.d.ts.map +1 -0
  200. package/packages/agent/src/api/wallet-rpc.js +367 -0
  201. package/packages/agent/src/api/wallet-trading-profile.d.ts +51 -0
  202. package/packages/agent/src/api/wallet-trading-profile.d.ts.map +1 -0
  203. package/packages/agent/src/api/wallet-trading-profile.js +547 -0
  204. package/packages/agent/src/api/wallet.d.ts +31 -0
  205. package/packages/agent/src/api/wallet.d.ts.map +1 -0
  206. package/packages/agent/src/api/wallet.js +513 -0
  207. package/packages/agent/src/api/whatsapp-routes.d.ts +39 -0
  208. package/packages/agent/src/api/whatsapp-routes.d.ts.map +1 -0
  209. package/packages/agent/src/api/whatsapp-routes.js +182 -0
  210. package/packages/agent/src/api/zip-utils.d.ts +8 -0
  211. package/packages/agent/src/api/zip-utils.d.ts.map +1 -0
  212. package/packages/agent/src/api/zip-utils.js +115 -0
  213. package/packages/agent/src/auth/anthropic.d.ts +25 -0
  214. package/packages/agent/src/auth/anthropic.d.ts.map +1 -0
  215. package/packages/agent/src/auth/anthropic.js +40 -0
  216. package/packages/agent/src/auth/apply-stealth.d.ts +8 -0
  217. package/packages/agent/src/auth/apply-stealth.d.ts.map +1 -0
  218. package/packages/agent/src/auth/apply-stealth.js +35 -0
  219. package/packages/agent/src/auth/claude-code-stealth.d.ts +2 -0
  220. package/packages/agent/src/auth/claude-code-stealth.d.ts.map +1 -0
  221. package/packages/agent/src/auth/claude-code-stealth.js +104 -0
  222. package/packages/agent/src/auth/credentials.d.ts +55 -0
  223. package/packages/agent/src/auth/credentials.d.ts.map +1 -0
  224. package/packages/agent/src/auth/credentials.js +182 -0
  225. package/packages/agent/src/auth/index.d.ts +7 -0
  226. package/packages/agent/src/auth/index.d.ts.map +1 -0
  227. package/packages/agent/src/auth/index.js +3 -0
  228. package/packages/agent/src/auth/openai-codex.d.ts +27 -0
  229. package/packages/agent/src/auth/openai-codex.d.ts.map +1 -0
  230. package/packages/agent/src/auth/openai-codex.js +72 -0
  231. package/packages/agent/src/auth/types.d.ts +18 -0
  232. package/packages/agent/src/auth/types.d.ts.map +1 -0
  233. package/packages/agent/src/auth/types.js +8 -0
  234. package/packages/agent/src/awareness/registry.d.ts +27 -0
  235. package/packages/agent/src/awareness/registry.d.ts.map +1 -0
  236. package/packages/agent/src/awareness/registry.js +161 -0
  237. package/packages/agent/src/benchmark-server.d.ts +2 -0
  238. package/packages/agent/src/benchmark-server.d.ts.map +1 -0
  239. package/packages/agent/src/benchmark-server.js +773 -0
  240. package/packages/agent/src/bin.d.ts +3 -0
  241. package/packages/agent/src/bin.d.ts.map +1 -0
  242. package/packages/agent/src/bin.js +6 -0
  243. package/packages/agent/src/cli/index.d.ts +2 -0
  244. package/packages/agent/src/cli/index.d.ts.map +1 -0
  245. package/packages/agent/src/cli/index.js +40 -0
  246. package/packages/agent/src/cli/parse-duration.d.ts +5 -0
  247. package/packages/agent/src/cli/parse-duration.d.ts.map +1 -0
  248. package/packages/agent/src/cli/parse-duration.js +27 -0
  249. package/packages/agent/src/cloud/auth.d.ts +19 -0
  250. package/packages/agent/src/cloud/auth.d.ts.map +1 -0
  251. package/packages/agent/src/cloud/auth.js +107 -0
  252. package/packages/agent/src/cloud/backup.d.ts +18 -0
  253. package/packages/agent/src/cloud/backup.d.ts.map +1 -0
  254. package/packages/agent/src/cloud/backup.js +42 -0
  255. package/packages/agent/src/cloud/base-url.d.ts +3 -0
  256. package/packages/agent/src/cloud/base-url.d.ts.map +1 -0
  257. package/packages/agent/src/cloud/base-url.js +40 -0
  258. package/packages/agent/src/cloud/bridge-client.d.ts +56 -0
  259. package/packages/agent/src/cloud/bridge-client.d.ts.map +1 -0
  260. package/packages/agent/src/cloud/bridge-client.js +190 -0
  261. package/packages/agent/src/cloud/cloud-manager.d.ts +32 -0
  262. package/packages/agent/src/cloud/cloud-manager.d.ts.map +1 -0
  263. package/packages/agent/src/cloud/cloud-manager.js +119 -0
  264. package/packages/agent/src/cloud/cloud-proxy.d.ts +20 -0
  265. package/packages/agent/src/cloud/cloud-proxy.d.ts.map +1 -0
  266. package/packages/agent/src/cloud/cloud-proxy.js +34 -0
  267. package/packages/agent/src/cloud/index.d.ts +7 -0
  268. package/packages/agent/src/cloud/index.d.ts.map +1 -0
  269. package/packages/agent/src/cloud/index.js +6 -0
  270. package/packages/agent/src/cloud/reconnect.d.ts +26 -0
  271. package/packages/agent/src/cloud/reconnect.d.ts.map +1 -0
  272. package/packages/agent/src/cloud/reconnect.js +86 -0
  273. package/packages/agent/src/cloud/validate-url.d.ts +2 -0
  274. package/packages/agent/src/cloud/validate-url.d.ts.map +1 -0
  275. package/packages/agent/src/cloud/validate-url.js +162 -0
  276. package/packages/agent/src/config/character-schema.d.ts +25 -0
  277. package/packages/agent/src/config/character-schema.d.ts.map +1 -0
  278. package/packages/agent/src/config/character-schema.js +39 -0
  279. package/packages/agent/src/config/config.d.ts +6 -0
  280. package/packages/agent/src/config/config.d.ts.map +1 -0
  281. package/packages/agent/src/config/config.js +118 -0
  282. package/packages/agent/src/config/env-vars.d.ts +3 -0
  283. package/packages/agent/src/config/env-vars.d.ts.map +1 -0
  284. package/packages/agent/src/config/env-vars.js +76 -0
  285. package/packages/agent/src/config/includes.d.ts +26 -0
  286. package/packages/agent/src/config/includes.d.ts.map +1 -0
  287. package/packages/agent/src/config/includes.js +148 -0
  288. package/packages/agent/src/config/index.d.ts +16 -0
  289. package/packages/agent/src/config/index.d.ts.map +1 -0
  290. package/packages/agent/src/config/index.js +15 -0
  291. package/packages/agent/src/config/object-utils.d.ts +2 -0
  292. package/packages/agent/src/config/object-utils.d.ts.map +1 -0
  293. package/packages/agent/src/config/object-utils.js +6 -0
  294. package/packages/agent/src/config/paths.d.ts +13 -0
  295. package/packages/agent/src/config/paths.d.ts.map +1 -0
  296. package/packages/agent/src/config/paths.js +67 -0
  297. package/packages/agent/src/config/plugin-auto-enable.d.ts +16 -0
  298. package/packages/agent/src/config/plugin-auto-enable.d.ts.map +1 -0
  299. package/packages/agent/src/config/plugin-auto-enable.js +384 -0
  300. package/packages/agent/src/config/schema.d.ts +87 -0
  301. package/packages/agent/src/config/schema.d.ts.map +1 -0
  302. package/packages/agent/src/config/schema.js +928 -0
  303. package/packages/agent/src/config/telegram-custom-commands.d.ts +25 -0
  304. package/packages/agent/src/config/telegram-custom-commands.d.ts.map +1 -0
  305. package/packages/agent/src/config/telegram-custom-commands.js +71 -0
  306. package/packages/agent/src/config/types.agent-defaults.d.ts +331 -0
  307. package/packages/agent/src/config/types.agent-defaults.d.ts.map +1 -0
  308. package/packages/agent/src/config/types.agent-defaults.js +1 -0
  309. package/packages/agent/src/config/types.agents.d.ts +110 -0
  310. package/packages/agent/src/config/types.agents.d.ts.map +1 -0
  311. package/packages/agent/src/config/types.agents.js +1 -0
  312. package/packages/agent/src/config/types.d.ts +8 -0
  313. package/packages/agent/src/config/types.d.ts.map +1 -0
  314. package/packages/agent/src/config/types.eliza.d.ts +636 -0
  315. package/packages/agent/src/config/types.eliza.d.ts.map +1 -0
  316. package/packages/agent/src/config/types.eliza.js +1 -0
  317. package/packages/agent/src/config/types.gateway.d.ts +216 -0
  318. package/packages/agent/src/config/types.gateway.d.ts.map +1 -0
  319. package/packages/agent/src/config/types.gateway.js +1 -0
  320. package/packages/agent/src/config/types.hooks.d.ts +107 -0
  321. package/packages/agent/src/config/types.hooks.d.ts.map +1 -0
  322. package/packages/agent/src/config/types.hooks.js +1 -0
  323. package/packages/agent/src/config/types.js +7 -0
  324. package/packages/agent/src/config/types.messages.d.ts +176 -0
  325. package/packages/agent/src/config/types.messages.d.ts.map +1 -0
  326. package/packages/agent/src/config/types.messages.js +1 -0
  327. package/packages/agent/src/config/types.tools.d.ts +400 -0
  328. package/packages/agent/src/config/types.tools.d.ts.map +1 -0
  329. package/packages/agent/src/config/types.tools.js +1 -0
  330. package/packages/agent/src/config/zod-schema.agent-runtime.d.ts +1062 -0
  331. package/packages/agent/src/config/zod-schema.agent-runtime.d.ts.map +1 -0
  332. package/packages/agent/src/config/zod-schema.agent-runtime.js +721 -0
  333. package/packages/agent/src/config/zod-schema.core.d.ts +1021 -0
  334. package/packages/agent/src/config/zod-schema.core.d.ts.map +1 -0
  335. package/packages/agent/src/config/zod-schema.core.js +694 -0
  336. package/packages/agent/src/config/zod-schema.d.ts +4817 -0
  337. package/packages/agent/src/config/zod-schema.d.ts.map +1 -0
  338. package/packages/agent/src/config/zod-schema.hooks.d.ts +88 -0
  339. package/packages/agent/src/config/zod-schema.hooks.d.ts.map +1 -0
  340. package/packages/agent/src/config/zod-schema.hooks.js +133 -0
  341. package/packages/agent/src/config/zod-schema.js +778 -0
  342. package/packages/agent/src/config/zod-schema.providers-core.d.ts +2976 -0
  343. package/packages/agent/src/config/zod-schema.providers-core.d.ts.map +1 -0
  344. package/packages/agent/src/config/zod-schema.providers-core.js +1006 -0
  345. package/packages/agent/src/config/zod-schema.session.d.ts +183 -0
  346. package/packages/agent/src/config/zod-schema.session.d.ts.map +1 -0
  347. package/packages/agent/src/config/zod-schema.session.js +86 -0
  348. package/packages/agent/src/contracts/apps.d.ts +42 -0
  349. package/packages/agent/src/contracts/apps.d.ts.map +1 -0
  350. package/packages/agent/src/contracts/apps.js +4 -0
  351. package/packages/agent/src/contracts/awareness.d.ts +38 -0
  352. package/packages/agent/src/contracts/awareness.d.ts.map +1 -0
  353. package/packages/agent/src/contracts/awareness.js +7 -0
  354. package/packages/agent/src/contracts/config.d.ts +146 -0
  355. package/packages/agent/src/contracts/config.d.ts.map +1 -0
  356. package/packages/agent/src/contracts/config.js +4 -0
  357. package/packages/agent/src/contracts/drop.d.ts +20 -0
  358. package/packages/agent/src/contracts/drop.d.ts.map +1 -0
  359. package/packages/agent/src/contracts/drop.js +4 -0
  360. package/packages/agent/src/contracts/index.d.ts +9 -0
  361. package/packages/agent/src/contracts/index.d.ts.map +1 -0
  362. package/packages/agent/src/contracts/index.js +8 -0
  363. package/packages/agent/src/contracts/onboarding.d.ts +379 -0
  364. package/packages/agent/src/contracts/onboarding.d.ts.map +1 -0
  365. package/packages/agent/src/contracts/onboarding.js +290 -0
  366. package/packages/agent/src/contracts/permissions.d.ts +35 -0
  367. package/packages/agent/src/contracts/permissions.d.ts.map +1 -0
  368. package/packages/agent/src/contracts/permissions.js +4 -0
  369. package/packages/agent/src/contracts/verification.d.ts +9 -0
  370. package/packages/agent/src/contracts/verification.d.ts.map +1 -0
  371. package/packages/agent/src/contracts/verification.js +4 -0
  372. package/packages/agent/src/contracts/wallet.d.ts +409 -0
  373. package/packages/agent/src/contracts/wallet.d.ts.map +1 -0
  374. package/packages/agent/src/contracts/wallet.js +60 -0
  375. package/packages/agent/src/diagnostics/integration-observability.d.ts +40 -0
  376. package/packages/agent/src/diagnostics/integration-observability.d.ts.map +1 -0
  377. package/packages/agent/src/diagnostics/integration-observability.js +68 -0
  378. package/packages/agent/src/emotes/catalog.d.ts +31 -0
  379. package/packages/agent/src/emotes/catalog.d.ts.map +1 -0
  380. package/packages/agent/src/emotes/catalog.js +618 -0
  381. package/packages/agent/src/hooks/discovery.d.ts +13 -0
  382. package/packages/agent/src/hooks/discovery.d.ts.map +1 -0
  383. package/packages/agent/src/hooks/discovery.js +184 -0
  384. package/packages/agent/src/hooks/eligibility.d.ts +12 -0
  385. package/packages/agent/src/hooks/eligibility.d.ts.map +1 -0
  386. package/packages/agent/src/hooks/eligibility.js +100 -0
  387. package/packages/agent/src/hooks/index.d.ts +3 -0
  388. package/packages/agent/src/hooks/index.d.ts.map +1 -0
  389. package/packages/agent/src/hooks/index.js +2 -0
  390. package/packages/agent/src/hooks/loader.d.ts +34 -0
  391. package/packages/agent/src/hooks/loader.d.ts.map +1 -0
  392. package/packages/agent/src/hooks/loader.js +176 -0
  393. package/packages/agent/src/hooks/registry.d.ts +11 -0
  394. package/packages/agent/src/hooks/registry.d.ts.map +1 -0
  395. package/packages/agent/src/hooks/registry.js +58 -0
  396. package/packages/agent/src/hooks/types.d.ts +104 -0
  397. package/packages/agent/src/hooks/types.d.ts.map +1 -0
  398. package/packages/agent/src/hooks/types.js +8 -0
  399. package/packages/agent/src/index.d.ts +20 -0
  400. package/packages/agent/src/index.d.ts.map +1 -0
  401. package/packages/agent/src/index.js +19 -0
  402. package/packages/agent/src/onboarding-presets.d.ts +78 -0
  403. package/packages/agent/src/onboarding-presets.d.ts.map +1 -0
  404. package/packages/agent/src/onboarding-presets.js +1352 -0
  405. package/packages/agent/src/plugins/custom-rtmp/index.d.ts +12 -0
  406. package/packages/agent/src/plugins/custom-rtmp/index.d.ts.map +1 -0
  407. package/packages/agent/src/plugins/custom-rtmp/index.js +26 -0
  408. package/packages/agent/src/providers/admin-trust.d.ts +4 -0
  409. package/packages/agent/src/providers/admin-trust.d.ts.map +1 -0
  410. package/packages/agent/src/providers/admin-trust.js +53 -0
  411. package/packages/agent/src/providers/session-bridge.d.ts +24 -0
  412. package/packages/agent/src/providers/session-bridge.d.ts.map +1 -0
  413. package/packages/agent/src/providers/session-bridge.js +85 -0
  414. package/packages/agent/src/providers/session-utils.d.ts +20 -0
  415. package/packages/agent/src/providers/session-utils.d.ts.map +1 -0
  416. package/packages/agent/src/providers/session-utils.js +33 -0
  417. package/packages/agent/src/providers/simple-mode.d.ts +4 -0
  418. package/packages/agent/src/providers/simple-mode.d.ts.map +1 -0
  419. package/packages/agent/src/providers/simple-mode.js +85 -0
  420. package/packages/agent/src/providers/ui-catalog.d.ts +3 -0
  421. package/packages/agent/src/providers/ui-catalog.d.ts.map +1 -0
  422. package/packages/agent/src/providers/ui-catalog.js +123 -0
  423. package/packages/agent/src/providers/workspace-provider.d.ts +22 -0
  424. package/packages/agent/src/providers/workspace-provider.d.ts.map +1 -0
  425. package/packages/agent/src/providers/workspace-provider.js +167 -0
  426. package/packages/agent/src/providers/workspace.d.ts +54 -0
  427. package/packages/agent/src/providers/workspace.d.ts.map +1 -0
  428. package/packages/agent/src/providers/workspace.js +405 -0
  429. package/packages/agent/src/runtime/agent-event-service.d.ts +35 -0
  430. package/packages/agent/src/runtime/agent-event-service.d.ts.map +1 -0
  431. package/packages/agent/src/runtime/agent-event-service.js +16 -0
  432. package/packages/agent/src/runtime/cloud-onboarding.d.ts +55 -0
  433. package/packages/agent/src/runtime/cloud-onboarding.d.ts.map +1 -0
  434. package/packages/agent/src/runtime/cloud-onboarding.js +279 -0
  435. package/packages/agent/src/runtime/core-plugins.d.ts +14 -0
  436. package/packages/agent/src/runtime/core-plugins.d.ts.map +1 -0
  437. package/packages/agent/src/runtime/core-plugins.js +51 -0
  438. package/packages/agent/src/runtime/custom-actions.d.ts +40 -0
  439. package/packages/agent/src/runtime/custom-actions.d.ts.map +1 -0
  440. package/packages/agent/src/runtime/custom-actions.js +454 -0
  441. package/packages/agent/src/runtime/eliza-plugin.d.ts +16 -0
  442. package/packages/agent/src/runtime/eliza-plugin.d.ts.map +1 -0
  443. package/packages/agent/src/runtime/eliza-plugin.js +108 -0
  444. package/packages/agent/src/runtime/eliza.d.ts +205 -0
  445. package/packages/agent/src/runtime/eliza.d.ts.map +1 -0
  446. package/packages/agent/src/runtime/eliza.js +3935 -0
  447. package/packages/agent/src/runtime/embedding-presets.d.ts +19 -0
  448. package/packages/agent/src/runtime/embedding-presets.d.ts.map +1 -0
  449. package/packages/agent/src/runtime/embedding-presets.js +53 -0
  450. package/packages/agent/src/runtime/index.d.ts +9 -0
  451. package/packages/agent/src/runtime/index.d.ts.map +1 -0
  452. package/packages/agent/src/runtime/index.js +8 -0
  453. package/packages/agent/src/runtime/onboarding-names.d.ts +11 -0
  454. package/packages/agent/src/runtime/onboarding-names.d.ts.map +1 -0
  455. package/packages/agent/src/runtime/onboarding-names.js +74 -0
  456. package/packages/agent/src/runtime/release-plugin-policy.d.ts +20 -0
  457. package/packages/agent/src/runtime/release-plugin-policy.d.ts.map +1 -0
  458. package/packages/agent/src/runtime/release-plugin-policy.js +87 -0
  459. package/packages/agent/src/runtime/restart.d.ts +45 -0
  460. package/packages/agent/src/runtime/restart.d.ts.map +1 -0
  461. package/packages/agent/src/runtime/restart.js +45 -0
  462. package/packages/agent/src/runtime/trajectory-persistence.d.ts +214 -0
  463. package/packages/agent/src/runtime/trajectory-persistence.d.ts.map +1 -0
  464. package/packages/agent/src/runtime/trajectory-persistence.js +1957 -0
  465. package/packages/agent/src/runtime/version.d.ts +2 -0
  466. package/packages/agent/src/runtime/version.d.ts.map +1 -0
  467. package/packages/agent/src/runtime/version.js +5 -0
  468. package/packages/agent/src/security/audit-log.d.ts +49 -0
  469. package/packages/agent/src/security/audit-log.d.ts.map +1 -0
  470. package/packages/agent/src/security/audit-log.js +161 -0
  471. package/packages/agent/src/security/network-policy.d.ts +6 -0
  472. package/packages/agent/src/security/network-policy.d.ts.map +1 -0
  473. package/packages/agent/src/security/network-policy.js +85 -0
  474. package/packages/agent/src/server/index.d.ts +3 -0
  475. package/packages/agent/src/server/index.d.ts.map +1 -0
  476. package/packages/agent/src/server/index.js +1 -0
  477. package/packages/agent/src/services/agent-export.d.ts +100 -0
  478. package/packages/agent/src/services/agent-export.d.ts.map +1 -0
  479. package/packages/agent/src/services/agent-export.js +729 -0
  480. package/packages/agent/src/services/app-manager.d.ts +34 -0
  481. package/packages/agent/src/services/app-manager.d.ts.map +1 -0
  482. package/packages/agent/src/services/app-manager.js +425 -0
  483. package/packages/agent/src/services/browser-capture.d.ts +39 -0
  484. package/packages/agent/src/services/browser-capture.d.ts.map +1 -0
  485. package/packages/agent/src/services/browser-capture.js +162 -0
  486. package/packages/agent/src/services/coding-agent-context.d.ts +310 -0
  487. package/packages/agent/src/services/coding-agent-context.d.ts.map +1 -0
  488. package/packages/agent/src/services/coding-agent-context.js +281 -0
  489. package/packages/agent/src/services/fallback-training-service.d.ts +78 -0
  490. package/packages/agent/src/services/fallback-training-service.d.ts.map +1 -0
  491. package/packages/agent/src/services/fallback-training-service.js +126 -0
  492. package/packages/agent/src/services/index.d.ts +18 -0
  493. package/packages/agent/src/services/index.d.ts.map +1 -0
  494. package/packages/agent/src/services/index.js +17 -0
  495. package/packages/agent/src/services/mcp-marketplace.d.ts +89 -0
  496. package/packages/agent/src/services/mcp-marketplace.d.ts.map +1 -0
  497. package/packages/agent/src/services/mcp-marketplace.js +200 -0
  498. package/packages/agent/src/services/plugin-manager-types.d.ts +139 -0
  499. package/packages/agent/src/services/plugin-manager-types.d.ts.map +1 -0
  500. package/packages/agent/src/services/plugin-manager-types.js +18 -0
  501. package/packages/agent/src/services/privy-wallets.d.ts +18 -0
  502. package/packages/agent/src/services/privy-wallets.d.ts.map +1 -0
  503. package/packages/agent/src/services/privy-wallets.js +225 -0
  504. package/packages/agent/src/services/registry-client-app-meta.d.ts +6 -0
  505. package/packages/agent/src/services/registry-client-app-meta.d.ts.map +1 -0
  506. package/packages/agent/src/services/registry-client-app-meta.js +147 -0
  507. package/packages/agent/src/services/registry-client-endpoints.d.ts +7 -0
  508. package/packages/agent/src/services/registry-client-endpoints.d.ts.map +1 -0
  509. package/packages/agent/src/services/registry-client-endpoints.js +183 -0
  510. package/packages/agent/src/services/registry-client-local.d.ts +4 -0
  511. package/packages/agent/src/services/registry-client-local.d.ts.map +1 -0
  512. package/packages/agent/src/services/registry-client-local.js +377 -0
  513. package/packages/agent/src/services/registry-client-network.d.ts +9 -0
  514. package/packages/agent/src/services/registry-client-network.d.ts.map +1 -0
  515. package/packages/agent/src/services/registry-client-network.js +109 -0
  516. package/packages/agent/src/services/registry-client-queries.d.ts +15 -0
  517. package/packages/agent/src/services/registry-client-queries.d.ts.map +1 -0
  518. package/packages/agent/src/services/registry-client-queries.js +150 -0
  519. package/packages/agent/src/services/registry-client-types.d.ts +115 -0
  520. package/packages/agent/src/services/registry-client-types.d.ts.map +1 -0
  521. package/packages/agent/src/services/registry-client-types.js +1 -0
  522. package/packages/agent/src/services/registry-client.d.ts +39 -0
  523. package/packages/agent/src/services/registry-client.d.ts.map +1 -0
  524. package/packages/agent/src/services/registry-client.js +249 -0
  525. package/packages/agent/src/services/remote-signing-service.d.ts +58 -0
  526. package/packages/agent/src/services/remote-signing-service.d.ts.map +1 -0
  527. package/packages/agent/src/services/remote-signing-service.js +185 -0
  528. package/packages/agent/src/services/sandbox-engine.d.ts +96 -0
  529. package/packages/agent/src/services/sandbox-engine.d.ts.map +1 -0
  530. package/packages/agent/src/services/sandbox-engine.js +604 -0
  531. package/packages/agent/src/services/sandbox-manager.d.ts +104 -0
  532. package/packages/agent/src/services/sandbox-manager.d.ts.map +1 -0
  533. package/packages/agent/src/services/sandbox-manager.js +353 -0
  534. package/packages/agent/src/services/self-updater.d.ts +21 -0
  535. package/packages/agent/src/services/self-updater.d.ts.map +1 -0
  536. package/packages/agent/src/services/self-updater.js +162 -0
  537. package/packages/agent/src/services/signal-pairing.d.ts +37 -0
  538. package/packages/agent/src/services/signal-pairing.d.ts.map +1 -0
  539. package/packages/agent/src/services/signal-pairing.js +124 -0
  540. package/packages/agent/src/services/signing-policy.d.ts +44 -0
  541. package/packages/agent/src/services/signing-policy.d.ts.map +1 -0
  542. package/packages/agent/src/services/signing-policy.js +165 -0
  543. package/packages/agent/src/services/skill-catalog-client.d.ts +47 -0
  544. package/packages/agent/src/services/skill-catalog-client.d.ts.map +1 -0
  545. package/packages/agent/src/services/skill-catalog-client.js +130 -0
  546. package/packages/agent/src/services/skill-marketplace.d.ts +42 -0
  547. package/packages/agent/src/services/skill-marketplace.d.ts.map +1 -0
  548. package/packages/agent/src/services/skill-marketplace.js +680 -0
  549. package/packages/agent/src/services/stream-manager.d.ts +121 -0
  550. package/packages/agent/src/services/stream-manager.d.ts.map +1 -0
  551. package/packages/agent/src/services/stream-manager.js +604 -0
  552. package/packages/agent/src/services/tts-stream-bridge.d.ts +83 -0
  553. package/packages/agent/src/services/tts-stream-bridge.d.ts.map +1 -0
  554. package/packages/agent/src/services/tts-stream-bridge.js +349 -0
  555. package/packages/agent/src/services/update-checker.d.ts +29 -0
  556. package/packages/agent/src/services/update-checker.d.ts.map +1 -0
  557. package/packages/agent/src/services/update-checker.js +134 -0
  558. package/packages/agent/src/services/version-compat.d.ts +99 -0
  559. package/packages/agent/src/services/version-compat.d.ts.map +1 -0
  560. package/packages/agent/src/services/version-compat.js +195 -0
  561. package/packages/agent/src/services/whatsapp-pairing.d.ts +41 -0
  562. package/packages/agent/src/services/whatsapp-pairing.d.ts.map +1 -0
  563. package/packages/agent/src/services/whatsapp-pairing.js +209 -0
  564. package/packages/agent/src/shared/ui-catalog-prompt.d.ts +52 -0
  565. package/packages/agent/src/shared/ui-catalog-prompt.d.ts.map +1 -0
  566. package/packages/agent/src/shared/ui-catalog-prompt.js +1028 -0
  567. package/packages/agent/src/test-support/process-helpers.d.ts +13 -0
  568. package/packages/agent/src/test-support/process-helpers.d.ts.map +1 -0
  569. package/packages/agent/src/test-support/process-helpers.js +23 -0
  570. package/packages/agent/src/test-support/route-test-helpers.d.ts +37 -0
  571. package/packages/agent/src/test-support/route-test-helpers.d.ts.map +1 -0
  572. package/packages/agent/src/test-support/route-test-helpers.js +54 -0
  573. package/packages/agent/src/test-support/test-helpers.d.ts +77 -0
  574. package/packages/agent/src/test-support/test-helpers.d.ts.map +1 -0
  575. package/packages/agent/src/test-support/test-helpers.js +210 -0
  576. package/packages/agent/src/testing/index.d.ts +4 -0
  577. package/packages/agent/src/testing/index.d.ts.map +1 -0
  578. package/packages/agent/src/testing/index.js +3 -0
  579. package/packages/agent/src/triggers/action.d.ts +3 -0
  580. package/packages/agent/src/triggers/action.d.ts.map +1 -0
  581. package/packages/agent/src/triggers/action.js +267 -0
  582. package/packages/agent/src/triggers/runtime.d.ts +24 -0
  583. package/packages/agent/src/triggers/runtime.d.ts.map +1 -0
  584. package/packages/agent/src/triggers/runtime.js +322 -0
  585. package/packages/agent/src/triggers/scheduling.d.ts +70 -0
  586. package/packages/agent/src/triggers/scheduling.d.ts.map +1 -0
  587. package/packages/agent/src/triggers/scheduling.js +355 -0
  588. package/packages/agent/src/triggers/types.d.ts +115 -0
  589. package/packages/agent/src/triggers/types.d.ts.map +1 -0
  590. package/packages/agent/src/triggers/types.js +1 -0
  591. package/packages/agent/src/utils/exec-safety.d.ts +2 -0
  592. package/packages/agent/src/utils/exec-safety.d.ts.map +1 -0
  593. package/packages/agent/src/utils/exec-safety.js +21 -0
  594. package/packages/agent/src/utils/number-parsing.d.ts +26 -0
  595. package/packages/agent/src/utils/number-parsing.d.ts.map +1 -0
  596. package/packages/agent/src/utils/number-parsing.js +52 -0
  597. package/packages/agent/src/utils/spoken-text.d.ts +2 -0
  598. package/packages/agent/src/utils/spoken-text.d.ts.map +1 -0
  599. package/packages/agent/src/utils/spoken-text.js +56 -0
  600. package/packages/agent/src/version-resolver.d.ts +3 -0
  601. package/packages/agent/src/version-resolver.d.ts.map +1 -0
  602. package/packages/agent/src/version-resolver.js +51 -0
  603. package/jest.config.js +0 -17
  604. package/src/__tests__/client-type-identification.test.ts +0 -59
  605. package/src/defaultCharacter.ts +0 -530
  606. package/src/index.ts +0 -865
  607. 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
- }