@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
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Merkle tree service for whitelist proof generation.
3
+ *
4
+ * Builds a Merkle tree from verified addresses in whitelist.json and
5
+ * generates proofs that can be submitted to the smart contract's
6
+ * `mintWhitelist(name, endpoint, capHash, proof[])` function.
7
+ *
8
+ * This is the missing bridge between:
9
+ * whitelist.json → Merkle tree → on-chain mintWhitelist()
10
+ *
11
+ * The contract stores a `merkleRoot()` and verifies each mint against
12
+ * a proof derived from the caller's address.
13
+ *
14
+ * Standard: leaves = keccak256(abi.encodePacked(address))
15
+ * sorted pairs to ensure deterministic tree construction.
16
+ *
17
+ * @see drop-service.ts — mintWithWhitelist() consumer
18
+ * @see twitter-verify.ts — one source of whitelist addresses
19
+ * @see nft-verify.ts — another source of whitelist addresses
20
+ */
21
+ import { logger } from "@elizaos/core";
22
+ import { ethers } from "ethers";
23
+ import { getVerifiedAddresses } from "./twitter-verify";
24
+ // ── Leaf hashing ─────────────────────────────────────────────────────────
25
+ /**
26
+ * Hash an address into a Merkle leaf.
27
+ *
28
+ * Uses `keccak256(abi.encodePacked(address))` — the standard Solidity
29
+ * pattern for OpenZeppelin MerkleProof verification.
30
+ */
31
+ export function hashLeaf(address) {
32
+ return ethers.solidityPackedKeccak256(["address"], [ethers.getAddress(address)]);
33
+ }
34
+ // ── Merkle tree construction ─────────────────────────────────────────────
35
+ /**
36
+ * Sort a pair of hashes for deterministic tree construction.
37
+ * This ensures the tree is the same regardless of insertion order.
38
+ */
39
+ function sortPair(a, b) {
40
+ return a.toLowerCase() < b.toLowerCase() ? [a, b] : [b, a];
41
+ }
42
+ /**
43
+ * Hash two nodes together (internal node).
44
+ */
45
+ function hashPair(a, b) {
46
+ const [left, right] = sortPair(a, b);
47
+ return ethers.solidityPackedKeccak256(["bytes32", "bytes32"], [left, right]);
48
+ }
49
+ /**
50
+ * Build a Merkle tree from an array of leaf hashes.
51
+ *
52
+ * Returns the tree as a 2D array where:
53
+ * tree[0] = leaves (sorted)
54
+ * tree[1] = first level of internal nodes
55
+ * ...
56
+ * tree[tree.length - 1] = [root]
57
+ *
58
+ * Leaves are sorted before building to ensure determinism.
59
+ */
60
+ export function buildTree(leaves) {
61
+ if (leaves.length === 0) {
62
+ return [[`0x${"0".repeat(64)}`]]; // empty tree → zero root
63
+ }
64
+ // Sort leaves for deterministic construction
65
+ const sorted = [...leaves].sort((a, b) => a.toLowerCase().localeCompare(b.toLowerCase()));
66
+ const tree = [sorted];
67
+ let currentLevel = sorted;
68
+ while (currentLevel.length > 1) {
69
+ const nextLevel = [];
70
+ for (let i = 0; i < currentLevel.length; i += 2) {
71
+ if (i + 1 < currentLevel.length) {
72
+ nextLevel.push(hashPair(currentLevel[i], currentLevel[i + 1]));
73
+ }
74
+ else {
75
+ // Odd node: promote to next level (no sibling)
76
+ nextLevel.push(currentLevel[i]);
77
+ }
78
+ }
79
+ tree.push(nextLevel);
80
+ currentLevel = nextLevel;
81
+ }
82
+ return tree;
83
+ }
84
+ /**
85
+ * Get the proof (sibling path) for a leaf in the tree.
86
+ */
87
+ export function getProof(tree, leaf) {
88
+ const proof = [];
89
+ let index = tree[0].indexOf(leaf);
90
+ if (index === -1)
91
+ return []; // leaf not in tree
92
+ for (let level = 0; level < tree.length - 1; level++) {
93
+ const currentLevel = tree[level];
94
+ const isRightNode = index % 2 === 1;
95
+ const siblingIndex = isRightNode ? index - 1 : index + 1;
96
+ if (siblingIndex < currentLevel.length) {
97
+ proof.push(currentLevel[siblingIndex]);
98
+ }
99
+ index = Math.floor(index / 2);
100
+ }
101
+ return proof;
102
+ }
103
+ /**
104
+ * Get the root of the tree.
105
+ */
106
+ export function getRoot(tree) {
107
+ return tree[tree.length - 1][0];
108
+ }
109
+ /**
110
+ * Verify a proof against a root.
111
+ *
112
+ * Recomputes the root from the leaf + proof path and checks
113
+ * if it matches the expected root.
114
+ */
115
+ export function verifyProof(leaf, proof, expectedRoot) {
116
+ let computed = leaf;
117
+ for (const sibling of proof) {
118
+ computed = hashPair(computed, sibling);
119
+ }
120
+ return computed.toLowerCase() === expectedRoot.toLowerCase();
121
+ }
122
+ // ── High-level API ───────────────────────────────────────────────────────
123
+ /**
124
+ * Build a Merkle tree from the current whitelist.
125
+ *
126
+ * Reads all verified addresses from whitelist.json, hashes them into
127
+ * leaves, and builds the tree.
128
+ */
129
+ export function buildWhitelistTree() {
130
+ const addresses = getVerifiedAddresses();
131
+ const leaves = addresses.map((addr) => hashLeaf(addr));
132
+ const tree = buildTree(leaves);
133
+ const root = getRoot(tree);
134
+ logger.info(`[merkle] Built whitelist tree with ${addresses.length} addresses (root: ${root.slice(0, 10)}...)`);
135
+ return {
136
+ tree,
137
+ info: {
138
+ root,
139
+ addressCount: addresses.length,
140
+ leaves: tree[0],
141
+ },
142
+ };
143
+ }
144
+ /**
145
+ * Generate a Merkle proof for a specific address.
146
+ *
147
+ * Returns the proof, leaf, root, and whether the address is whitelisted.
148
+ * The proof can be passed directly to `mintWhitelist()` on the contract.
149
+ */
150
+ export function generateProof(walletAddress) {
151
+ const { tree, info } = buildWhitelistTree();
152
+ let leaf;
153
+ try {
154
+ leaf = hashLeaf(walletAddress);
155
+ }
156
+ catch {
157
+ return {
158
+ proof: [],
159
+ leaf: `0x${"0".repeat(64)}`,
160
+ root: info.root,
161
+ isWhitelisted: false,
162
+ };
163
+ }
164
+ const proof = getProof(tree, leaf);
165
+ const isWhitelisted = proof.length > 0 || (info.addressCount === 1 && tree[0][0] === leaf);
166
+ if (isWhitelisted) {
167
+ const valid = verifyProof(leaf, proof, info.root);
168
+ if (!valid) {
169
+ logger.warn(`[merkle] Proof verification failed for ${walletAddress} — tree may be corrupted`);
170
+ return { proof: [], leaf, root: info.root, isWhitelisted: false };
171
+ }
172
+ }
173
+ return { proof, leaf, root: info.root, isWhitelisted };
174
+ }
@@ -0,0 +1,14 @@
1
+ import type { RouteHelpers, RouteRequestMeta } from "./route-helpers";
2
+ export interface ModelsRouteContext extends RouteRequestMeta, Pick<RouteHelpers, "json"> {
3
+ url: URL;
4
+ providerCachePath: (provider: string) => string;
5
+ getOrFetchProvider: (provider: string, force: boolean) => Promise<unknown[]>;
6
+ getOrFetchAllProviders: (force: boolean) => Promise<Record<string, unknown[]>>;
7
+ resolveModelsCacheDir: () => string;
8
+ pathExists: (targetPath: string) => boolean;
9
+ readDir: (targetPath: string) => string[];
10
+ unlinkFile: (targetPath: string) => void;
11
+ joinPath: (left: string, right: string) => string;
12
+ }
13
+ export declare function handleModelsRoutes(ctx: ModelsRouteContext): Promise<boolean>;
14
+ //# sourceMappingURL=models-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models-routes.d.ts","sourceRoot":"","sources":["../../../../../src/api/models-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,MAAM,WAAW,kBACf,SAAQ,gBAAgB,EACtB,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC;IAC5B,GAAG,EAAE,GAAG,CAAC;IACT,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7E,sBAAsB,EAAE,CACtB,KAAK,EAAE,OAAO,KACX,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACxC,qBAAqB,EAAE,MAAM,MAAM,CAAC;IACpC,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAC1C,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACnD;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,OAAO,CAAC,CAmDlB"}
@@ -0,0 +1,37 @@
1
+ export async function handleModelsRoutes(ctx) {
2
+ const { res, method, pathname, url, json, providerCachePath, getOrFetchProvider, getOrFetchAllProviders, resolveModelsCacheDir, pathExists, readDir, unlinkFile, joinPath, } = ctx;
3
+ if (method !== "GET" || pathname !== "/api/models")
4
+ return false;
5
+ const force = url.searchParams.get("refresh") === "true";
6
+ const specificProvider = url.searchParams.get("provider");
7
+ if (specificProvider) {
8
+ if (force) {
9
+ try {
10
+ unlinkFile(providerCachePath(specificProvider));
11
+ }
12
+ catch {
13
+ // Ignore cache-bust errors and continue with a fresh fetch.
14
+ }
15
+ }
16
+ const models = await getOrFetchProvider(specificProvider, force);
17
+ json(res, { provider: specificProvider, models });
18
+ return true;
19
+ }
20
+ if (force) {
21
+ try {
22
+ const dir = resolveModelsCacheDir();
23
+ if (pathExists(dir)) {
24
+ for (const file of readDir(dir)) {
25
+ if (file.endsWith(".json"))
26
+ unlinkFile(joinPath(dir, file));
27
+ }
28
+ }
29
+ }
30
+ catch {
31
+ // Ignore cache-bust errors and continue with a fresh fetch.
32
+ }
33
+ }
34
+ const all = await getOrFetchAllProviders(force);
35
+ json(res, { providers: all });
36
+ return true;
37
+ }
@@ -0,0 +1,5 @@
1
+ import type { RouteHelpers, RouteRequestMeta } from "./route-helpers";
2
+ export interface NfaRouteContext extends RouteRequestMeta, Pick<RouteHelpers, "json" | "error"> {
3
+ }
4
+ export declare function handleNfaRoutes(ctx: NfaRouteContext): Promise<boolean>;
5
+ //# sourceMappingURL=nfa-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nfa-routes.d.ts","sourceRoot":"","sources":["../../../../../src/api/nfa-routes.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAmCtE,MAAM,WAAW,eACf,SAAQ,gBAAgB,EACtB,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;CAAG;AAgC3C,wBAAsB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CA+F5E"}
@@ -0,0 +1,125 @@
1
+ import { createHash } from "node:crypto";
2
+ import { readFile } from "node:fs/promises";
3
+ import { homedir } from "node:os";
4
+ import { join } from "node:path";
5
+ function emptyMerkleRoot() {
6
+ return createHash("sha256").update("", "utf8").digest("hex");
7
+ }
8
+ let nfaPlugin;
9
+ async function getNfaPlugin() {
10
+ if (nfaPlugin !== undefined)
11
+ return nfaPlugin;
12
+ try {
13
+ const pkgName = "@elizaos/plugin-bnb-identity";
14
+ const mod = await import(/* @vite-ignore */ pkgName);
15
+ nfaPlugin =
16
+ typeof mod?.buildMerkleRoot === "function" &&
17
+ typeof mod?.parseLearnings === "function" &&
18
+ typeof mod?.sha256 === "function"
19
+ ? {
20
+ buildMerkleRoot: mod.buildMerkleRoot,
21
+ parseLearnings: mod.parseLearnings,
22
+ sha256: mod.sha256,
23
+ }
24
+ : null;
25
+ }
26
+ catch {
27
+ nfaPlugin = null;
28
+ }
29
+ return nfaPlugin;
30
+ }
31
+ async function readJsonFile(filePath) {
32
+ try {
33
+ const raw = await readFile(filePath, "utf8");
34
+ return JSON.parse(raw);
35
+ }
36
+ catch {
37
+ return null;
38
+ }
39
+ }
40
+ export async function handleNfaRoutes(ctx) {
41
+ const { res, method, pathname, json } = ctx;
42
+ if (method === "GET" && pathname === "/api/nfa/status") {
43
+ const elizaDir = join(homedir(), ".eliza");
44
+ const [nfaRecord, identityRecord] = await Promise.all([
45
+ readJsonFile(join(elizaDir, "bap578-nfa.json")),
46
+ readJsonFile(join(elizaDir, "bnb-identity.json")),
47
+ ]);
48
+ const bscscanBase = (nfaRecord?.network ?? identityRecord?.network ?? "bsc-testnet") === "bsc"
49
+ ? "https://bscscan.com"
50
+ : "https://testnet.bscscan.com";
51
+ json(res, {
52
+ nfa: nfaRecord
53
+ ? {
54
+ tokenId: nfaRecord.tokenId,
55
+ contractAddress: nfaRecord.contractAddress,
56
+ network: nfaRecord.network,
57
+ ownerAddress: nfaRecord.ownerAddress,
58
+ merkleRoot: nfaRecord.merkleRoot,
59
+ mintTxHash: nfaRecord.mintTxHash,
60
+ mintedAt: nfaRecord.mintedAt,
61
+ lastUpdatedAt: nfaRecord.lastUpdatedAt,
62
+ bscscanUrl: `${bscscanBase}/tx/${nfaRecord.mintTxHash}`,
63
+ }
64
+ : null,
65
+ identity: identityRecord
66
+ ? {
67
+ agentId: identityRecord.agentId,
68
+ network: identityRecord.network,
69
+ ownerAddress: identityRecord.ownerAddress,
70
+ agentURI: identityRecord.agentURI,
71
+ registeredAt: identityRecord.registeredAt,
72
+ scanUrl: `https://${identityRecord.network === "bsc" ? "www" : "testnet"}.8004scan.io/agent/${identityRecord.agentId}`,
73
+ }
74
+ : null,
75
+ configured: !!(nfaRecord || identityRecord),
76
+ });
77
+ return true;
78
+ }
79
+ if (method === "GET" && pathname === "/api/nfa/learnings") {
80
+ const learningsPaths = [
81
+ join(homedir(), ".eliza", "LEARNINGS.md"),
82
+ join(process.cwd(), "LEARNINGS.md"),
83
+ ];
84
+ let markdown = null;
85
+ let resolvedSource = null;
86
+ for (const path of learningsPaths) {
87
+ try {
88
+ markdown = await readFile(path, "utf8");
89
+ resolvedSource = path;
90
+ break;
91
+ }
92
+ catch { }
93
+ }
94
+ if (!markdown) {
95
+ json(res, {
96
+ entries: [],
97
+ merkleRoot: emptyMerkleRoot(),
98
+ totalEntries: 0,
99
+ source: null,
100
+ });
101
+ return true;
102
+ }
103
+ const plugin = await getNfaPlugin();
104
+ if (!plugin) {
105
+ json(res, {
106
+ entries: [],
107
+ merkleRoot: emptyMerkleRoot(),
108
+ totalEntries: 0,
109
+ source: null,
110
+ });
111
+ return true;
112
+ }
113
+ const entries = plugin.parseLearnings(markdown);
114
+ const leafHashes = entries.map((entry) => entry.hash);
115
+ const merkleRoot = plugin.buildMerkleRoot(leafHashes);
116
+ json(res, {
117
+ entries,
118
+ merkleRoot,
119
+ totalEntries: entries.length,
120
+ source: resolvedSource,
121
+ });
122
+ return true;
123
+ }
124
+ return false;
125
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * OG tracking code system.
3
+ *
4
+ * Silently writes a unique identifier to ~/.eliza/.og on first run.
5
+ * The code is a random UUID. A set of 100 "winning" codes can be
6
+ * generated deterministically from a secret seed (in ElizaMaker scripts).
7
+ * This file is planted now; whitelist eligibility is revealed in a future update.
8
+ */
9
+ /**
10
+ * Write a random tracking UUID to ~/.eliza/.og if it does not already exist.
11
+ * Called once during startup. Silent on failure.
12
+ */
13
+ export declare function initializeOGCode(): void;
14
+ /**
15
+ * Read the stored OG code, or null if it doesn't exist.
16
+ */
17
+ export declare function readOGCode(): string | null;
18
+ /**
19
+ * Generate the set of valid OG codes from a seed.
20
+ * Used in ElizaMaker scripts -- not called in the Eliza app.
21
+ */
22
+ export declare function generateValidCodes(seed: string, count: number): string[];
23
+ /**
24
+ * Check if a given code is in the valid set.
25
+ * Requires the seed to regenerate the valid codes.
26
+ */
27
+ export declare function isValidOGCode(code: string, seed: string, count?: number): boolean;
28
+ //# sourceMappingURL=og-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"og-tracker.d.ts","sourceRoot":"","sources":["../../../../../src/api/og-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAWvC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAI1C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAYxE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAY,GAClB,OAAO,CAGT"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * OG tracking code system.
3
+ *
4
+ * Silently writes a unique identifier to ~/.eliza/.og on first run.
5
+ * The code is a random UUID. A set of 100 "winning" codes can be
6
+ * generated deterministically from a secret seed (in ElizaMaker scripts).
7
+ * This file is planted now; whitelist eligibility is revealed in a future update.
8
+ */
9
+ import crypto from "node:crypto";
10
+ import fs from "node:fs";
11
+ import path from "node:path";
12
+ import { resolveStateDir } from "../config/paths";
13
+ const OG_FILENAME = ".og";
14
+ /**
15
+ * Write a random tracking UUID to ~/.eliza/.og if it does not already exist.
16
+ * Called once during startup. Silent on failure.
17
+ */
18
+ export function initializeOGCode() {
19
+ const dir = resolveStateDir();
20
+ const filePath = path.join(dir, OG_FILENAME);
21
+ if (fs.existsSync(filePath))
22
+ return;
23
+ const code = crypto.randomUUID();
24
+ if (!fs.existsSync(dir)) {
25
+ fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
26
+ }
27
+ fs.writeFileSync(filePath, code, { encoding: "utf-8", mode: 0o600 });
28
+ }
29
+ /**
30
+ * Read the stored OG code, or null if it doesn't exist.
31
+ */
32
+ export function readOGCode() {
33
+ const filePath = path.join(resolveStateDir(), OG_FILENAME);
34
+ if (!fs.existsSync(filePath))
35
+ return null;
36
+ return fs.readFileSync(filePath, "utf-8").trim();
37
+ }
38
+ /**
39
+ * Generate the set of valid OG codes from a seed.
40
+ * Used in ElizaMaker scripts -- not called in the Eliza app.
41
+ */
42
+ export function generateValidCodes(seed, count) {
43
+ const codes = [];
44
+ for (let i = 0; i < count; i++) {
45
+ const hash = crypto
46
+ .createHash("sha256")
47
+ .update(`${seed}:og:${i}`)
48
+ .digest("hex");
49
+ codes.push(`${hash.slice(0, 8)}-${hash.slice(8, 12)}-${hash.slice(12, 16)}-${hash.slice(16, 20)}-${hash.slice(20, 32)}`);
50
+ }
51
+ return codes;
52
+ }
53
+ /**
54
+ * Check if a given code is in the valid set.
55
+ * Requires the seed to regenerate the valid codes.
56
+ */
57
+ export function isValidOGCode(code, seed, count = 100) {
58
+ const validCodes = generateValidCodes(seed, count);
59
+ return validCodes.includes(code);
60
+ }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Local stub for CoordinationLLMResponse — removed from
3
+ * @elizaos/plugin-agent-orchestrator 2.x. Matches the shape this file needs.
4
+ */
5
+ interface CoordinationLLMResponse {
6
+ action: string;
7
+ reasoning: string;
8
+ response?: string;
9
+ useKeys?: boolean;
10
+ keys?: string[];
11
+ }
12
+ /** Console bridge exposed by PTYService for terminal I/O. */
13
+ export interface ConsoleBridge {
14
+ on(event: string, listener: (...args: unknown[]) => void): void;
15
+ off(event: string, listener: (...args: unknown[]) => void): void;
16
+ writeRaw(sessionId: string, data: string): void;
17
+ resize(sessionId: string, cols: number, rows: number): void;
18
+ }
19
+ /** PTY service interface (accessed via runtime.getService). */
20
+ export interface PTYService {
21
+ consoleBridge?: ConsoleBridge;
22
+ stopSession?(sessionId: string): Promise<void>;
23
+ }
24
+ /**
25
+ * Strip JSON action blocks from text before displaying in chat.
26
+ * Handles both fenced (```json ... ```) and bare JSON formats.
27
+ */
28
+ export declare function stripActionBlockFromDisplay(text: string): string;
29
+ /**
30
+ * Parse a JSON action block from Eliza's natural language response.
31
+ * Looks for a fenced ```json block first, then bare JSON with "action" key.
32
+ * Returns null if no valid action block is found.
33
+ */
34
+ export declare function parseActionBlock(text: string): CoordinationLLMResponse | null;
35
+ export {};
36
+ //# sourceMappingURL=parse-action-block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-action-block.d.ts","sourceRoot":"","sources":["../../../../../src/api/parse-action-block.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,UAAU,uBAAuB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAChE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IACjE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7D;AAED,+DAA+D;AAC/D,MAAM,WAAW,UAAU;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AA+CD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkChE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,CA0B7E"}
@@ -0,0 +1,110 @@
1
+ const VALID_ACTIONS = ["respond", "escalate", "ignore", "complete"];
2
+ const ACTION_KEYS = new Set([
3
+ "action",
4
+ "reasoning",
5
+ "response",
6
+ "useKeys",
7
+ "keys",
8
+ ]);
9
+ function isValidActionEnvelope(parsed) {
10
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
11
+ return false;
12
+ const record = parsed;
13
+ if (typeof record.action !== "string" ||
14
+ !VALID_ACTIONS.includes(record.action))
15
+ return false;
16
+ for (const key of Object.keys(record)) {
17
+ if (!ACTION_KEYS.has(key))
18
+ return false;
19
+ }
20
+ if ("reasoning" in record && typeof record.reasoning !== "string")
21
+ return false;
22
+ if (record.action === "respond") {
23
+ const hasResponse = typeof record.response === "string" && record.response.length > 0;
24
+ const hasKeys = record.useKeys === true &&
25
+ Array.isArray(record.keys) &&
26
+ record.keys.length > 0;
27
+ return hasResponse || hasKeys;
28
+ }
29
+ // Non-respond actions should not carry respond-only fields.
30
+ if ("response" in record || "useKeys" in record || "keys" in record) {
31
+ return false;
32
+ }
33
+ return true;
34
+ }
35
+ /**
36
+ * Strip JSON action blocks from text before displaying in chat.
37
+ * Handles both fenced (```json ... ```) and bare JSON formats.
38
+ */
39
+ export function stripActionBlockFromDisplay(text) {
40
+ // First: fenced ```json action blocks — only strip if the action value is
41
+ // one of our known orchestrator actions to avoid false-positive stripping.
42
+ let cleaned = text.replace(/```(?:json)?\s*\n?(\{[\s\S]*?"action"[\s\S]*?\})\s*\n?```/g, (_match, json) => {
43
+ try {
44
+ const parsed = JSON.parse(json);
45
+ if (isValidActionEnvelope(parsed))
46
+ return "";
47
+ }
48
+ catch {
49
+ // malformed JSON — leave as-is
50
+ }
51
+ return _match;
52
+ });
53
+ // Second: bare JSON action blocks. Walk backwards from end of string to find
54
+ // the last '{' that starts a valid JSON object containing an "action" key.
55
+ // Note: this won't match nested objects (e.g. {"action":"respond","ctx":{"k":"v"}})
56
+ // because JSON.parse would fail on the truncated slice. Safe given our flat action schema.
57
+ const lastBrace = cleaned.lastIndexOf("{");
58
+ if (lastBrace >= 0) {
59
+ const candidate = cleaned.slice(lastBrace);
60
+ try {
61
+ const parsed = JSON.parse(candidate);
62
+ if (isValidActionEnvelope(parsed)) {
63
+ cleaned = cleaned.slice(0, lastBrace);
64
+ }
65
+ }
66
+ catch {
67
+ // Not valid JSON — leave text as-is
68
+ }
69
+ }
70
+ return cleaned.trim();
71
+ }
72
+ /**
73
+ * Parse a JSON action block from Eliza's natural language response.
74
+ * Looks for a fenced ```json block first, then bare JSON with "action" key.
75
+ * Returns null if no valid action block is found.
76
+ */
77
+ export function parseActionBlock(text) {
78
+ if (!text)
79
+ return null;
80
+ // Try fenced ```json block first
81
+ const fenced = text.match(/```(?:json)?\s*\n?(\{[\s\S]*?\})\s*\n?```/);
82
+ // Bare JSON fallback: non-greedy match from first { containing "action" to next }
83
+ const jsonStr = fenced?.[1] ?? text.match(/\{[^}]*"action"[^}]*\}/)?.[0];
84
+ if (!jsonStr)
85
+ return null;
86
+ try {
87
+ const parsed = JSON.parse(jsonStr);
88
+ if (!isValidActionEnvelope(parsed))
89
+ return null;
90
+ const result = {
91
+ action: parsed.action,
92
+ reasoning: typeof parsed.reasoning === "string" ? parsed.reasoning : "",
93
+ };
94
+ if (parsed.action === "respond") {
95
+ if (parsed.useKeys && Array.isArray(parsed.keys)) {
96
+ result.useKeys = true;
97
+ result.keys = parsed.keys.map(String);
98
+ }
99
+ else if (typeof parsed.response === "string") {
100
+ result.response = parsed.response;
101
+ }
102
+ else
103
+ return null;
104
+ }
105
+ return result;
106
+ }
107
+ catch {
108
+ return null;
109
+ }
110
+ }
@@ -0,0 +1,32 @@
1
+ import type { AgentRuntime } from "@elizaos/core";
2
+ import type { RouteRequestContext } from "./route-helpers";
3
+ interface AutonomousConfigLike {
4
+ features?: {
5
+ shellEnabled?: boolean;
6
+ };
7
+ plugins?: {
8
+ entries?: Record<string, {
9
+ enabled?: boolean;
10
+ }>;
11
+ };
12
+ }
13
+ interface PermissionState {
14
+ id: string;
15
+ status: string;
16
+ lastChecked: number;
17
+ canRequest: boolean;
18
+ }
19
+ export interface PermissionRouteState {
20
+ runtime: AgentRuntime | null;
21
+ config: AutonomousConfigLike;
22
+ permissionStates?: Record<string, PermissionState>;
23
+ shellEnabled?: boolean;
24
+ }
25
+ export interface PermissionRouteContext extends RouteRequestContext {
26
+ state: PermissionRouteState;
27
+ saveConfig: (config: AutonomousConfigLike) => void;
28
+ scheduleRuntimeRestart: (reason: string) => void;
29
+ }
30
+ export declare function handlePermissionRoutes(ctx: PermissionRouteContext): Promise<boolean>;
31
+ export {};
32
+ //# sourceMappingURL=permissions-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions-routes.d.ts","sourceRoot":"","sources":["../../../../../src/api/permissions-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,OAAO,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;KACjD,CAAC;CACH;AAED,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,KAAK,EAAE,oBAAoB,CAAC;IAC5B,UAAU,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACnD,sBAAsB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAED,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,OAAO,CAAC,CA2LlB"}