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