@elizaos/agent 2.0.0-beta.2 → 2.0.3-beta.3

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 (2201) hide show
  1. package/__tests__/plugin-lifecycle-test-utils.d.ts +47 -0
  2. package/__tests__/plugin-lifecycle-test-utils.d.ts.map +1 -0
  3. package/__tests__/plugin-lifecycle-test-utils.js +81 -0
  4. package/__tests__/view-user-journeys.d.ts +55 -0
  5. package/__tests__/view-user-journeys.d.ts.map +1 -0
  6. package/__tests__/view-user-journeys.js +718 -0
  7. package/actions/compact-conversation.d.ts +3 -0
  8. package/actions/compact-conversation.d.ts.map +1 -0
  9. package/actions/compact-conversation.js +256 -0
  10. package/actions/connector-resolver.d.ts.map +1 -0
  11. package/actions/connector-resolver.js +250 -0
  12. package/actions/contact.d.ts.map +1 -0
  13. package/actions/contact.js +1700 -0
  14. package/actions/context-signal-lexicon.d.ts.map +1 -0
  15. package/actions/context-signal.d.ts +48 -0
  16. package/actions/context-signal.d.ts.map +1 -0
  17. package/actions/context-signal.js +153 -0
  18. package/actions/database.d.ts.map +1 -0
  19. package/actions/database.js +674 -0
  20. package/actions/extract-params.d.ts +87 -0
  21. package/actions/extract-params.d.ts.map +1 -0
  22. package/actions/extract-params.js +204 -0
  23. package/actions/files.d.ts +9 -0
  24. package/actions/files.d.ts.map +1 -0
  25. package/actions/files.js +183 -0
  26. package/actions/grounded-action-reply.d.ts.map +1 -0
  27. package/actions/grounded-action-reply.js +287 -0
  28. package/actions/index.d.ts +18 -0
  29. package/actions/index.d.ts.map +1 -0
  30. package/actions/index.js +17 -0
  31. package/actions/logs.d.ts.map +1 -0
  32. package/actions/memories.d.ts +3 -0
  33. package/actions/memories.d.ts.map +1 -0
  34. package/actions/memories.js +357 -0
  35. package/actions/notify.d.ts +14 -0
  36. package/actions/notify.d.ts.map +1 -0
  37. package/actions/notify.js +163 -0
  38. package/actions/page-action-groups.d.ts +9 -0
  39. package/actions/page-action-groups.d.ts.map +1 -0
  40. package/actions/page-action-groups.js +259 -0
  41. package/actions/plugin.d.ts +3 -0
  42. package/actions/plugin.d.ts.map +1 -0
  43. package/actions/plugin.js +755 -0
  44. package/actions/recent-conversation-texts.d.ts.map +1 -0
  45. package/actions/recent-conversation-texts.js +76 -0
  46. package/actions/runtime.d.ts.map +1 -0
  47. package/actions/runtime.js +517 -0
  48. package/actions/settings-actions.d.ts +19 -0
  49. package/actions/settings-actions.d.ts.map +1 -0
  50. package/actions/settings-actions.js +478 -0
  51. package/actions/terminal.d.ts.map +1 -0
  52. package/actions/terminal.js +327 -0
  53. package/actions/trigger.d.ts.map +1 -0
  54. package/actions/trigger.js +511 -0
  55. package/api/accounts-routes.d.ts +38 -0
  56. package/api/accounts-routes.d.ts.map +1 -0
  57. package/api/accounts-routes.js +932 -0
  58. package/api/agent-admin-routes.d.ts +36 -0
  59. package/api/agent-admin-routes.d.ts.map +1 -0
  60. package/api/agent-admin-routes.js +151 -0
  61. package/api/agent-lifecycle-routes.d.ts.map +1 -0
  62. package/api/agent-lifecycle-routes.js +104 -0
  63. package/api/agent-model.d.ts +5 -0
  64. package/api/agent-model.d.ts.map +1 -0
  65. package/api/agent-model.js +172 -0
  66. package/api/agent-status-routes.d.ts +73 -0
  67. package/api/agent-status-routes.d.ts.map +1 -0
  68. package/api/agent-status-routes.js +278 -0
  69. package/api/agent-transfer-routes.d.ts.map +1 -0
  70. package/api/agent-transfer-routes.js +124 -0
  71. package/api/app-package-routes.d.ts +3 -0
  72. package/api/app-package-routes.d.ts.map +1 -0
  73. package/api/app-package-routes.js +59 -0
  74. package/api/approval-routes.d.ts +38 -0
  75. package/api/approval-routes.d.ts.map +1 -0
  76. package/api/approval-routes.js +223 -0
  77. package/api/auth-routes.d.ts.map +1 -0
  78. package/api/auth-routes.js +126 -0
  79. package/api/avatar-routes.d.ts.map +1 -0
  80. package/api/avatar-routes.js +210 -0
  81. package/api/background-routes.d.ts +13 -0
  82. package/api/background-routes.d.ts.map +1 -0
  83. package/api/background-routes.js +91 -0
  84. package/api/background-tasks-routes.d.ts +18 -0
  85. package/api/background-tasks-routes.d.ts.map +1 -0
  86. package/api/background-tasks-routes.js +58 -0
  87. package/api/binance-skill-helpers.d.ts +21 -0
  88. package/api/binance-skill-helpers.d.ts.map +1 -0
  89. package/api/binance-skill-helpers.js +859 -0
  90. package/api/bug-report-routes.d.ts +10 -0
  91. package/api/bug-report-routes.d.ts.map +1 -0
  92. package/api/bug-report-routes.js +276 -0
  93. package/api/builtin-views.d.ts +11 -0
  94. package/api/builtin-views.d.ts.map +1 -0
  95. package/api/builtin-views.js +215 -0
  96. package/api/character-routes.d.ts +52 -0
  97. package/api/character-routes.d.ts.map +1 -0
  98. package/api/character-routes.js +380 -0
  99. package/api/chat-augmentation.d.ts +22 -0
  100. package/api/chat-augmentation.d.ts.map +1 -0
  101. package/api/chat-augmentation.js +366 -0
  102. package/api/chat-routes.d.ts +177 -0
  103. package/api/chat-routes.d.ts.map +1 -0
  104. package/api/chat-routes.js +2670 -0
  105. package/api/chat-text-helpers.d.ts.map +1 -0
  106. package/api/client-chat-admin.d.ts.map +1 -0
  107. package/api/commands-routes.d.ts +32 -0
  108. package/api/commands-routes.d.ts.map +1 -0
  109. package/api/commands-routes.js +57 -0
  110. package/api/compat-utils.d.ts.map +1 -0
  111. package/api/config-env.d.ts.map +1 -0
  112. package/api/config-env.js +283 -0
  113. package/api/config-routes.d.ts +40 -0
  114. package/api/config-routes.d.ts.map +1 -0
  115. package/api/config-routes.js +431 -0
  116. package/api/connector-account-routes.d.ts.map +1 -0
  117. package/api/connector-account-routes.js +740 -0
  118. package/api/connector-health.d.ts.map +1 -0
  119. package/api/connector-oauth-callback-auth.d.ts.map +1 -0
  120. package/api/connector-routes.d.ts +36 -0
  121. package/api/connector-routes.d.ts.map +1 -0
  122. package/api/connector-routes.js +198 -0
  123. package/api/conversation-metadata.d.ts +10 -0
  124. package/api/conversation-metadata.d.ts.map +1 -0
  125. package/api/conversation-metadata.js +117 -0
  126. package/api/conversation-routes.d.ts +65 -0
  127. package/api/conversation-routes.d.ts.map +1 -0
  128. package/api/conversation-routes.js +1828 -0
  129. package/api/coordinator-wiring.d.ts.map +1 -0
  130. package/api/coordinator-wiring.js +108 -0
  131. package/api/credit-detection.d.ts +16 -0
  132. package/api/credit-detection.d.ts.map +1 -0
  133. package/api/credit-detection.js +48 -0
  134. package/api/database.d.ts +33 -0
  135. package/api/database.d.ts.map +1 -0
  136. package/api/database.js +1026 -0
  137. package/api/diagnostics-routes.d.ts +51 -0
  138. package/api/diagnostics-routes.d.ts.map +1 -0
  139. package/api/diagnostics-routes.js +361 -0
  140. package/api/dispatch-route.d.ts +40 -0
  141. package/api/dispatch-route.d.ts.map +1 -0
  142. package/api/dispatch-route.js +387 -0
  143. package/api/documents-service-loader.d.ts +72 -0
  144. package/api/documents-service-loader.d.ts.map +1 -0
  145. package/api/documents-service-loader.js +34 -0
  146. package/api/early-logs.d.ts +24 -0
  147. package/api/early-logs.d.ts.map +1 -0
  148. package/api/files-routes.d.ts +14 -0
  149. package/api/files-routes.d.ts.map +1 -0
  150. package/api/files-routes.js +47 -0
  151. package/api/first-run-routes.d.ts +50 -0
  152. package/api/first-run-routes.d.ts.map +1 -0
  153. package/api/first-run-routes.js +570 -0
  154. package/api/health-routes.d.ts +58 -0
  155. package/api/health-routes.d.ts.map +1 -0
  156. package/api/health-routes.js +554 -0
  157. package/api/hono-adapter.d.ts +29 -0
  158. package/api/hono-adapter.d.ts.map +1 -0
  159. package/api/hono-adapter.js +170 -0
  160. package/api/hono-mount.d.ts +16 -0
  161. package/api/hono-mount.d.ts.map +1 -0
  162. package/api/hono-mount.js +121 -0
  163. package/api/inbox-routes.d.ts.map +1 -0
  164. package/api/inbox-routes.js +1587 -0
  165. package/api/index.d.ts +44 -0
  166. package/api/index.d.ts.map +1 -0
  167. package/api/index.js +53 -0
  168. package/api/interactions-routes.d.ts +33 -0
  169. package/api/interactions-routes.d.ts.map +1 -0
  170. package/api/interactions-routes.js +63 -0
  171. package/api/media-runtime.d.ts +37 -0
  172. package/api/media-runtime.d.ts.map +1 -0
  173. package/api/media-runtime.js +193 -0
  174. package/api/media-store.d.ts +122 -0
  175. package/api/media-store.d.ts.map +1 -0
  176. package/api/media-store.js +600 -0
  177. package/api/media-thumbnail.d.ts +22 -0
  178. package/api/media-thumbnail.d.ts.map +1 -0
  179. package/api/media-thumbnail.js +121 -0
  180. package/api/memory-bounds.d.ts +50 -0
  181. package/api/memory-bounds.d.ts.map +1 -0
  182. package/api/memory-bounds.js +80 -0
  183. package/api/memory-routes.d.ts.map +1 -0
  184. package/api/memory-routes.js +480 -0
  185. package/api/misc-routes.d.ts +64 -0
  186. package/api/misc-routes.d.ts.map +1 -0
  187. package/api/misc-routes.js +569 -0
  188. package/api/mobile-optional-routes.d.ts.map +1 -0
  189. package/api/mobile-optional-routes.js +258 -0
  190. package/api/model-provider-helpers.d.ts +70 -0
  191. package/api/model-provider-helpers.d.ts.map +1 -0
  192. package/api/model-provider-helpers.js +663 -0
  193. package/api/models-routes.d.ts.map +1 -0
  194. package/api/music-player-route-fallback.d.ts.map +1 -0
  195. package/api/notification-routes.d.ts +38 -0
  196. package/api/notification-routes.d.ts.map +1 -0
  197. package/api/notification-routes.js +169 -0
  198. package/api/owner-contact-helpers.d.ts.map +1 -0
  199. package/api/parse-action-block.d.ts +53 -0
  200. package/api/parse-action-block.d.ts.map +1 -0
  201. package/api/pending-request-map.d.ts +30 -0
  202. package/api/pending-request-map.d.ts.map +1 -0
  203. package/api/pending-request-map.js +40 -0
  204. package/api/permission-request-prompt.d.ts +19 -0
  205. package/api/permission-request-prompt.d.ts.map +1 -0
  206. package/api/permission-request-prompt.js +55 -0
  207. package/api/permissions-routes-extra.d.ts +28 -0
  208. package/api/permissions-routes-extra.d.ts.map +1 -0
  209. package/api/permissions-routes.d.ts +27 -0
  210. package/api/permissions-routes.d.ts.map +1 -0
  211. package/api/permissions-routes.js +469 -0
  212. package/api/platform-detect.d.ts +26 -0
  213. package/api/platform-detect.d.ts.map +1 -0
  214. package/api/platform-detect.js +40 -0
  215. package/api/plugin-discovery-helpers.d.ts +117 -0
  216. package/api/plugin-discovery-helpers.d.ts.map +1 -0
  217. package/api/plugin-discovery-helpers.js +1158 -0
  218. package/api/plugin-runtime-apply.d.ts +31 -0
  219. package/api/plugin-runtime-apply.d.ts.map +1 -0
  220. package/api/plugin-runtime-apply.js +291 -0
  221. package/api/plugin-validation.d.ts.map +1 -0
  222. package/api/provider-switch-config.d.ts +59 -0
  223. package/api/provider-switch-config.d.ts.map +1 -0
  224. package/api/provider-switch-config.js +804 -0
  225. package/api/provider-switch-routes.d.ts +29 -0
  226. package/api/provider-switch-routes.d.ts.map +1 -0
  227. package/api/provider-switch-routes.js +133 -0
  228. package/api/push-token-routes.d.ts +30 -0
  229. package/api/push-token-routes.d.ts.map +1 -0
  230. package/api/push-token-routes.js +83 -0
  231. package/api/rate-limiter.d.ts.map +1 -0
  232. package/api/registry-routes.d.ts +29 -0
  233. package/api/registry-routes.d.ts.map +1 -0
  234. package/api/registry-routes.js +98 -0
  235. package/api/registry-service.d.ts +77 -0
  236. package/api/registry-service.d.ts.map +1 -0
  237. package/api/registry-service.js +190 -0
  238. package/api/relationships-routes.d.ts.map +1 -0
  239. package/api/relationships-routes.js +286 -0
  240. package/api/remote-capability-routes.d.ts +26 -0
  241. package/api/remote-capability-routes.d.ts.map +1 -0
  242. package/api/remote-capability-routes.js +631 -0
  243. package/api/runtime-plugin-routes.d.ts.map +1 -0
  244. package/api/runtime-plugin-routes.js +251 -0
  245. package/api/runtime-ready-gate.d.ts +25 -0
  246. package/api/runtime-ready-gate.d.ts.map +1 -0
  247. package/api/runtime-ready-gate.js +35 -0
  248. package/api/server-autonomy-helpers.d.ts +5 -0
  249. package/api/server-autonomy-helpers.d.ts.map +1 -0
  250. package/api/server-helpers-auth.d.ts +72 -0
  251. package/api/server-helpers-auth.d.ts.map +1 -0
  252. package/api/server-helpers-auth.js +695 -0
  253. package/api/server-helpers-config.d.ts +37 -0
  254. package/api/server-helpers-config.d.ts.map +1 -0
  255. package/api/server-helpers-config.js +289 -0
  256. package/api/server-helpers-fetch.d.ts.map +1 -0
  257. package/api/server-helpers-mcp.d.ts +17 -0
  258. package/api/server-helpers-mcp.d.ts.map +1 -0
  259. package/api/server-helpers-mcp.js +60 -0
  260. package/api/server-helpers-plugin.d.ts +13 -0
  261. package/api/server-helpers-plugin.d.ts.map +1 -0
  262. package/api/server-helpers-swarm.d.ts +101 -0
  263. package/api/server-helpers-swarm.d.ts.map +1 -0
  264. package/api/server-helpers-swarm.js +656 -0
  265. package/api/server-helpers-wallet.d.ts +18 -0
  266. package/api/server-helpers-wallet.d.ts.map +1 -0
  267. package/api/server-helpers.d.ts +85 -0
  268. package/api/server-helpers.d.ts.map +1 -0
  269. package/api/server-helpers.js +676 -0
  270. package/api/server-lazy-routes.d.ts +90 -0
  271. package/api/server-lazy-routes.d.ts.map +1 -0
  272. package/api/server-lazy-routes.js +453 -0
  273. package/api/server-route-dispatch.d.ts +30 -0
  274. package/api/server-route-dispatch.d.ts.map +1 -0
  275. package/api/server-route-dispatch.js +134 -0
  276. package/api/server-types.d.ts +199 -0
  277. package/api/server-types.d.ts.map +1 -0
  278. package/api/server.d.ts +61 -0
  279. package/api/server.d.ts.map +1 -0
  280. package/api/server.js +3911 -0
  281. package/api/static-file-server.d.ts +19 -0
  282. package/api/static-file-server.d.ts.map +1 -0
  283. package/api/static-file-server.js +233 -0
  284. package/api/subscription-routes.d.ts +20 -0
  285. package/api/subscription-routes.d.ts.map +1 -0
  286. package/api/subscription-routes.js +293 -0
  287. package/api/suggestions-routes.d.ts +50 -0
  288. package/api/suggestions-routes.d.ts.map +1 -0
  289. package/api/suggestions-routes.js +300 -0
  290. package/api/task-agent-message-routing.d.ts.map +1 -0
  291. package/api/terminal-execution-routing.d.ts +14 -0
  292. package/api/terminal-execution-routing.d.ts.map +1 -0
  293. package/api/terminal-run-limits.d.ts.map +1 -0
  294. package/api/terminal-run-limits.js +20 -0
  295. package/api/trade-safety.d.ts +35 -0
  296. package/api/trade-safety.d.ts.map +1 -0
  297. package/api/trade-safety.js +65 -0
  298. package/api/training-backend-check.d.ts.map +1 -0
  299. package/api/training-service-like.d.ts +39 -0
  300. package/api/training-service-like.d.ts.map +1 -0
  301. package/api/trajectory-fallback-routes.d.ts +10 -0
  302. package/api/trajectory-fallback-routes.d.ts.map +1 -0
  303. package/api/trajectory-fallback-routes.js +180 -0
  304. package/api/tx-service.d.ts +53 -0
  305. package/api/tx-service.d.ts.map +1 -0
  306. package/api/tx-service.js +217 -0
  307. package/api/update-routes.d.ts +19 -0
  308. package/api/update-routes.d.ts.map +1 -0
  309. package/api/update-routes.js +69 -0
  310. package/api/view-registry-types.d.ts +52 -0
  311. package/api/view-registry-types.d.ts.map +1 -0
  312. package/api/view-registry-types.js +9 -0
  313. package/api/views-registry.d.ts +100 -0
  314. package/api/views-registry.d.ts.map +1 -0
  315. package/api/views-registry.js +495 -0
  316. package/api/views-routes.d.ts +66 -0
  317. package/api/views-routes.d.ts.map +1 -0
  318. package/api/views-routes.js +998 -0
  319. package/api/views-search-index.d.ts +56 -0
  320. package/api/views-search-index.d.ts.map +1 -0
  321. package/api/views-search-index.js +128 -0
  322. package/api/wallet-capability.d.ts +32 -0
  323. package/api/wallet-capability.d.ts.map +1 -0
  324. package/api/wallet-capability.js +192 -0
  325. package/api/wallet-dex-prices.d.ts.map +1 -0
  326. package/api/wallet-env-sync.d.ts +2 -0
  327. package/api/wallet-env-sync.d.ts.map +1 -0
  328. package/api/wallet-evm-balance.d.ts.map +1 -0
  329. package/api/wallet-keygen.d.ts +5 -0
  330. package/api/wallet-keygen.d.ts.map +1 -0
  331. package/api/wallet-keygen.js +67 -0
  332. package/api/wallet-rpc.d.ts +64 -0
  333. package/api/wallet-rpc.d.ts.map +1 -0
  334. package/api/wallet-rpc.js +440 -0
  335. package/api/wallet-trading-profile.d.ts.map +1 -0
  336. package/api/wallet-trading-profile.js +544 -0
  337. package/api/wallet.d.ts +64 -0
  338. package/api/wallet.d.ts.map +1 -0
  339. package/api/wallet.js +787 -0
  340. package/api/workbench-context.d.ts +48 -0
  341. package/api/workbench-context.d.ts.map +1 -0
  342. package/api/workbench-context.js +9 -0
  343. package/api/workbench-helpers.d.ts +39 -0
  344. package/api/workbench-helpers.d.ts.map +1 -0
  345. package/api/workbench-helpers.js +137 -0
  346. package/api/workbench-routes.d.ts +5 -0
  347. package/api/workbench-routes.d.ts.map +1 -0
  348. package/api/workbench-routes.js +283 -0
  349. package/api/workbench-vfs-routes.d.ts +3 -0
  350. package/api/workbench-vfs-routes.d.ts.map +1 -0
  351. package/api/workbench-vfs-routes.js +396 -0
  352. package/api/ws-event-replay.d.ts +63 -0
  353. package/api/ws-event-replay.d.ts.map +1 -0
  354. package/api/ws-event-replay.js +83 -0
  355. package/api/x-relay-routes.d.ts +27 -0
  356. package/api/x-relay-routes.d.ts.map +1 -0
  357. package/api/x-relay-routes.js +141 -0
  358. package/api/x402-route-validation.d.ts +4 -0
  359. package/api/x402-route-validation.d.ts.map +1 -0
  360. package/api/x402-route-validation.js +6 -0
  361. package/api/zip-utils.d.ts.map +1 -0
  362. package/assets/view-heroes/automations.png +0 -0
  363. package/assets/view-heroes/background.png +0 -0
  364. package/assets/view-heroes/camera.png +0 -0
  365. package/assets/view-heroes/character.png +0 -0
  366. package/assets/view-heroes/chat.png +0 -0
  367. package/assets/view-heroes/database.png +0 -0
  368. package/assets/view-heroes/help.png +0 -0
  369. package/assets/view-heroes/logs.png +0 -0
  370. package/assets/view-heroes/memories.png +0 -0
  371. package/assets/view-heroes/plugins-page.png +0 -0
  372. package/assets/view-heroes/settings.png +0 -0
  373. package/assets/view-heroes/trajectories.png +0 -0
  374. package/assets/view-heroes/transcripts.png +0 -0
  375. package/assets/view-heroes/tutorial.png +0 -0
  376. package/auth/account-storage.d.ts +35 -0
  377. package/auth/account-storage.d.ts.map +1 -0
  378. package/auth/account-storage.js +135 -0
  379. package/auth/anthropic.d.ts +24 -0
  380. package/auth/anthropic.d.ts.map +1 -0
  381. package/auth/claude-code-stealth.d.ts.map +1 -0
  382. package/auth/claude-code-stealth.js +114 -0
  383. package/auth/credentials.d.ts +131 -0
  384. package/auth/credentials.d.ts.map +1 -0
  385. package/auth/credentials.js +596 -0
  386. package/auth/index.d.ts +8 -0
  387. package/auth/index.d.ts.map +1 -0
  388. package/auth/oauth-flow.d.ts +106 -0
  389. package/auth/oauth-flow.d.ts.map +1 -0
  390. package/auth/oauth-flow.js +349 -0
  391. package/auth/openai-codex.d.ts +27 -0
  392. package/auth/openai-codex.d.ts.map +1 -0
  393. package/auth/openai-codex.js +84 -0
  394. package/auth/refresh-mutex.d.ts +24 -0
  395. package/auth/refresh-mutex.d.ts.map +1 -0
  396. package/auth/refresh-mutex.js +38 -0
  397. package/auth/types.d.ts +65 -0
  398. package/auth/types.d.ts.map +1 -0
  399. package/auth/types.js +157 -0
  400. package/auth/vendor/pi-oauth/anthropic-login.d.ts.map +1 -0
  401. package/auth/vendor/pi-oauth/anthropic-login.js +118 -0
  402. package/auth/vendor/pi-oauth/openai-codex-login.d.ts +28 -0
  403. package/auth/vendor/pi-oauth/openai-codex-login.d.ts.map +1 -0
  404. package/auth/vendor/pi-oauth/openai-codex-login.js +342 -0
  405. package/auth/vendor/pi-oauth/pkce.d.ts.map +1 -0
  406. package/awareness/index.d.ts +2 -0
  407. package/awareness/index.d.ts.map +1 -0
  408. package/awareness/registry.d.ts.map +1 -0
  409. package/bin.d.ts.map +1 -0
  410. package/bin.js +120 -0
  411. package/cli/benchmark.d.ts.map +1 -0
  412. package/cli/benchmark.js +305 -0
  413. package/cli/index.d.ts.map +1 -0
  414. package/cli/index.js +174 -0
  415. package/config/character-schema.d.ts.map +1 -0
  416. package/config/config.d.ts.map +1 -0
  417. package/config/config.js +287 -0
  418. package/config/env-vars.d.ts +9 -0
  419. package/config/env-vars.d.ts.map +1 -0
  420. package/config/env-vars.js +280 -0
  421. package/config/feature-flags.d.ts +26 -0
  422. package/config/feature-flags.d.ts.map +1 -0
  423. package/config/feature-flags.js +48 -0
  424. package/config/includes.d.ts +26 -0
  425. package/config/includes.d.ts.map +1 -0
  426. package/config/includes.js +151 -0
  427. package/config/index.d.ts +11 -0
  428. package/config/index.d.ts.map +1 -0
  429. package/config/model-metadata.d.ts +20 -0
  430. package/config/model-metadata.d.ts.map +1 -0
  431. package/config/model-metadata.js +133 -0
  432. package/config/owner-contacts.d.ts +42 -0
  433. package/config/owner-contacts.d.ts.map +1 -0
  434. package/config/owner-contacts.js +238 -0
  435. package/config/paths.d.ts +16 -0
  436. package/config/paths.d.ts.map +1 -0
  437. package/config/paths.js +61 -0
  438. package/config/plugin-auto-enable.d.ts.map +1 -0
  439. package/config/plugin-widgets.d.ts +26 -0
  440. package/config/plugin-widgets.d.ts.map +1 -0
  441. package/config/plugin-widgets.js +60 -0
  442. package/config/schema.d.ts +87 -0
  443. package/config/schema.d.ts.map +1 -0
  444. package/config/schema.js +928 -0
  445. package/config/telegram-custom-commands.d.ts.map +1 -0
  446. package/config/types.agent-defaults.d.ts.map +1 -0
  447. package/config/types.agents.d.ts.map +1 -0
  448. package/config/types.d.ts.map +1 -0
  449. package/config/types.eliza.d.ts.map +1 -0
  450. package/config/types.hooks.d.ts.map +1 -0
  451. package/config/types.messages.d.ts.map +1 -0
  452. package/config/zod-schema.agent-runtime.d.ts +1166 -0
  453. package/config/zod-schema.agent-runtime.d.ts.map +1 -0
  454. package/config/zod-schema.agent-runtime.js +810 -0
  455. package/config/zod-schema.core.d.ts +1279 -0
  456. package/config/zod-schema.core.d.ts.map +1 -0
  457. package/config/zod-schema.core.js +761 -0
  458. package/config/zod-schema.d.ts +3406 -0
  459. package/config/zod-schema.d.ts.map +1 -0
  460. package/config/zod-schema.hooks.d.ts.map +1 -0
  461. package/config/zod-schema.js +846 -0
  462. package/config/zod-schema.providers-core.d.ts +2752 -0
  463. package/config/zod-schema.providers-core.d.ts.map +1 -0
  464. package/config/zod-schema.providers-core.js +969 -0
  465. package/config/zod-schema.session.d.ts +183 -0
  466. package/config/zod-schema.session.d.ts.map +1 -0
  467. package/contracts/awareness.d.ts.map +1 -0
  468. package/diagnostics/integration-observability.d.ts.map +1 -0
  469. package/hooks/discovery.d.ts +13 -0
  470. package/hooks/discovery.d.ts.map +1 -0
  471. package/hooks/discovery.js +191 -0
  472. package/hooks/eligibility.d.ts +12 -0
  473. package/hooks/eligibility.d.ts.map +1 -0
  474. package/hooks/index.d.ts +3 -0
  475. package/hooks/index.d.ts.map +1 -0
  476. package/hooks/loader.d.ts +34 -0
  477. package/hooks/loader.d.ts.map +1 -0
  478. package/hooks/loader.js +214 -0
  479. package/hooks/registry.d.ts +11 -0
  480. package/hooks/registry.d.ts.map +1 -0
  481. package/hooks/types.d.ts.map +1 -0
  482. package/index.d.ts +99 -0
  483. package/index.d.ts.map +1 -0
  484. package/index.js +136 -0
  485. package/package.json +276 -72
  486. package/providers/admin-panel.d.ts.map +1 -0
  487. package/providers/admin-trust.d.ts.map +1 -0
  488. package/providers/automation-terminal-bridge.d.ts.map +1 -0
  489. package/providers/automation-terminal-bridge.js +77 -0
  490. package/providers/conversation-proximity.d.ts.map +1 -0
  491. package/providers/escalation-trigger.d.ts.map +1 -0
  492. package/providers/media-provider.d.ts +234 -0
  493. package/providers/media-provider.d.ts.map +1 -0
  494. package/providers/media-provider.js +1511 -0
  495. package/providers/page-scoped-context.d.ts.map +1 -0
  496. package/providers/page-scoped-context.js +482 -0
  497. package/providers/pending-permissions-provider.d.ts +19 -0
  498. package/providers/pending-permissions-provider.d.ts.map +1 -0
  499. package/providers/pending-permissions-provider.js +110 -0
  500. package/providers/recent-conversations.d.ts.map +1 -0
  501. package/providers/recent-conversations.js +100 -0
  502. package/providers/relevant-conversations.d.ts.map +1 -0
  503. package/providers/relevant-conversations.js +98 -0
  504. package/providers/role-backfill.d.ts +18 -0
  505. package/providers/role-backfill.d.ts.map +1 -0
  506. package/providers/role-backfill.js +86 -0
  507. package/providers/rolodex.d.ts.map +1 -0
  508. package/providers/rolodex.js +90 -0
  509. package/providers/session-bridge.d.ts.map +1 -0
  510. package/providers/session-bridge.js +71 -0
  511. package/providers/session-utils.d.ts +14 -0
  512. package/providers/session-utils.d.ts.map +1 -0
  513. package/providers/session-utils.js +24 -0
  514. package/providers/skill-provider.d.ts.map +1 -0
  515. package/providers/tasks.d.ts.map +1 -0
  516. package/providers/ui-catalog.d.ts.map +1 -0
  517. package/providers/ui-catalog.js +132 -0
  518. package/providers/user-name.d.ts.map +1 -0
  519. package/providers/workspace-provider.d.ts.map +1 -0
  520. package/providers/workspace-provider.js +183 -0
  521. package/providers/workspace.d.ts +53 -0
  522. package/providers/workspace.d.ts.map +1 -0
  523. package/providers/workspace.js +419 -0
  524. package/runtime/actions/web-fetch.d.ts +28 -0
  525. package/runtime/actions/web-fetch.d.ts.map +1 -0
  526. package/runtime/actions/web-fetch.js +210 -0
  527. package/runtime/actions/web-search.d.ts +32 -0
  528. package/runtime/actions/web-search.d.ts.map +1 -0
  529. package/runtime/actions/web-search.js +245 -0
  530. package/runtime/advanced-capabilities-config.d.ts +8 -0
  531. package/runtime/advanced-capabilities-config.d.ts.map +1 -0
  532. package/runtime/agent-event-service.d.ts.map +1 -0
  533. package/runtime/agent-wallets.d.ts +134 -0
  534. package/runtime/agent-wallets.d.ts.map +1 -0
  535. package/runtime/agent-wallets.js +317 -0
  536. package/runtime/android-app-plugins.d.ts +4 -0
  537. package/runtime/android-app-plugins.d.ts.map +1 -0
  538. package/runtime/android-app-plugins.js +40 -0
  539. package/runtime/boot-telemetry.d.ts +36 -0
  540. package/runtime/boot-telemetry.d.ts.map +1 -0
  541. package/runtime/boot-telemetry.js +198 -0
  542. package/runtime/boot-timer.d.ts +41 -0
  543. package/runtime/boot-timer.d.ts.map +1 -0
  544. package/runtime/boot-timer.js +42 -0
  545. package/runtime/build-character-config.d.ts.map +1 -0
  546. package/runtime/build-character-config.js +220 -0
  547. package/runtime/conversation-compactor-runtime.d.ts +164 -0
  548. package/runtime/conversation-compactor-runtime.d.ts.map +1 -0
  549. package/runtime/conversation-compactor-runtime.js +1114 -0
  550. package/runtime/conversation-compactor.d.ts +38 -0
  551. package/runtime/conversation-compactor.d.ts.map +1 -0
  552. package/runtime/conversation-compactor.js +1238 -0
  553. package/runtime/conversation-compactor.types.d.ts +102 -0
  554. package/runtime/conversation-compactor.types.d.ts.map +1 -0
  555. package/runtime/core-plugins.d.ts +142 -0
  556. package/runtime/core-plugins.d.ts.map +1 -0
  557. package/runtime/core-plugins.js +266 -0
  558. package/runtime/custom-actions.d.ts +80 -0
  559. package/runtime/custom-actions.d.ts.map +1 -0
  560. package/runtime/custom-actions.js +673 -0
  561. package/runtime/default-documents.d.ts +21 -0
  562. package/runtime/default-documents.d.ts.map +1 -0
  563. package/runtime/default-documents.js +283 -0
  564. package/runtime/eliza-plugin.d.ts.map +1 -0
  565. package/runtime/eliza-plugin.js +218 -0
  566. package/runtime/eliza.d.ts +138 -0
  567. package/runtime/eliza.d.ts.map +1 -0
  568. package/runtime/eliza.js +4394 -0
  569. package/runtime/first-run-names.d.ts +20 -0
  570. package/runtime/first-run-names.d.ts.map +1 -0
  571. package/runtime/first-run-names.js +104 -0
  572. package/runtime/first-time-setup.d.ts +49 -0
  573. package/runtime/first-time-setup.d.ts.map +1 -0
  574. package/runtime/first-time-setup.js +714 -0
  575. package/runtime/index.d.ts +19 -0
  576. package/runtime/index.d.ts.map +1 -0
  577. package/runtime/index.js +18 -0
  578. package/runtime/load-plugin-from-directory.d.ts +59 -0
  579. package/runtime/load-plugin-from-directory.d.ts.map +1 -0
  580. package/runtime/load-plugin-from-directory.js +143 -0
  581. package/runtime/load-plugin-from-vfs.d.ts +68 -0
  582. package/runtime/load-plugin-from-vfs.d.ts.map +1 -0
  583. package/runtime/load-plugin-from-vfs.js +100 -0
  584. package/runtime/local-execution-mode.d.ts +11 -0
  585. package/runtime/local-execution-mode.d.ts.map +1 -0
  586. package/runtime/mobile-dns.d.ts +18 -0
  587. package/runtime/mobile-dns.d.ts.map +1 -0
  588. package/runtime/mobile-dns.js +255 -0
  589. package/runtime/model-resolution.d.ts.map +1 -0
  590. package/runtime/model-resolution.js +55 -0
  591. package/runtime/native-runtime-features.d.ts.map +1 -0
  592. package/runtime/operations/classifier.d.ts +36 -0
  593. package/runtime/operations/classifier.d.ts.map +1 -0
  594. package/runtime/operations/classifier.js +72 -0
  595. package/runtime/operations/cold-strategy.d.ts +19 -0
  596. package/runtime/operations/cold-strategy.d.ts.map +1 -0
  597. package/runtime/operations/health-checks.d.ts +25 -0
  598. package/runtime/operations/health-checks.d.ts.map +1 -0
  599. package/runtime/operations/health.d.ts +32 -0
  600. package/runtime/operations/health.d.ts.map +1 -0
  601. package/runtime/operations/index.d.ts +17 -0
  602. package/runtime/operations/index.d.ts.map +1 -0
  603. package/runtime/operations/manager.d.ts +70 -0
  604. package/runtime/operations/manager.d.ts.map +1 -0
  605. package/runtime/operations/manager.js +210 -0
  606. package/runtime/operations/reload-hot.d.ts +43 -0
  607. package/runtime/operations/reload-hot.d.ts.map +1 -0
  608. package/runtime/operations/reload-hot.js +181 -0
  609. package/runtime/operations/repository.d.ts +66 -0
  610. package/runtime/operations/repository.d.ts.map +1 -0
  611. package/runtime/operations/types.d.ts.map +1 -0
  612. package/runtime/operations/vault-bridge.d.ts +81 -0
  613. package/runtime/operations/vault-bridge.d.ts.map +1 -0
  614. package/runtime/owner-entity.d.ts.map +1 -0
  615. package/runtime/owner-entity.js +34 -0
  616. package/runtime/pglite-error-compat.d.ts +27 -0
  617. package/runtime/pglite-error-compat.d.ts.map +1 -0
  618. package/runtime/pglite-error-compat.js +53 -0
  619. package/runtime/plugin-collector.d.ts +27 -0
  620. package/runtime/plugin-collector.d.ts.map +1 -0
  621. package/runtime/plugin-collector.js +592 -0
  622. package/runtime/plugin-lifecycle.d.ts +16 -0
  623. package/runtime/plugin-lifecycle.d.ts.map +1 -0
  624. package/runtime/plugin-lifecycle.js +654 -0
  625. package/runtime/plugin-resolver.d.ts +59 -0
  626. package/runtime/plugin-resolver.d.ts.map +1 -0
  627. package/runtime/plugin-resolver.js +1641 -0
  628. package/runtime/plugin-role-gating.d.ts +23 -0
  629. package/runtime/plugin-role-gating.d.ts.map +1 -0
  630. package/runtime/plugin-role-gating.js +172 -0
  631. package/runtime/plugin-types.d.ts +64 -0
  632. package/runtime/plugin-types.d.ts.map +1 -0
  633. package/runtime/plugin-types.js +310 -0
  634. package/runtime/prompt-compaction.d.ts +100 -0
  635. package/runtime/prompt-compaction.d.ts.map +1 -0
  636. package/runtime/prompt-compaction.js +395 -0
  637. package/runtime/prompt-optimization.d.ts +50 -0
  638. package/runtime/prompt-optimization.d.ts.map +1 -0
  639. package/runtime/prompt-optimization.js +1243 -0
  640. package/runtime/release-plugin-policy.d.ts.map +1 -0
  641. package/runtime/release-plugin-policy.js +115 -0
  642. package/runtime/remote-coding-runner-gate.d.ts +7 -0
  643. package/runtime/remote-coding-runner-gate.d.ts.map +1 -0
  644. package/runtime/remote-coding-runner-gate.js +36 -0
  645. package/runtime/roles/src/index.d.ts +24 -0
  646. package/runtime/roles/src/index.d.ts.map +1 -0
  647. package/runtime/roles/src/index.js +279 -0
  648. package/runtime/roles/src/provider.d.ts.map +1 -0
  649. package/runtime/roles/src/types.d.ts.map +1 -0
  650. package/runtime/roles/src/utils.d.ts.map +1 -0
  651. package/runtime/roles.d.ts +3 -0
  652. package/runtime/roles.d.ts.map +1 -0
  653. package/runtime/sandbox-character.d.ts +61 -0
  654. package/runtime/sandbox-character.d.ts.map +1 -0
  655. package/runtime/sandbox-character.js +193 -0
  656. package/runtime/sandbox-registry.d.ts +96 -0
  657. package/runtime/sandbox-registry.d.ts.map +1 -0
  658. package/runtime/sandbox-registry.js +346 -0
  659. package/runtime/tool-call-cache/cache.d.ts +62 -0
  660. package/runtime/tool-call-cache/cache.d.ts.map +1 -0
  661. package/runtime/tool-call-cache/cache.js +123 -0
  662. package/runtime/tool-call-cache/disk-store.d.ts +23 -0
  663. package/runtime/tool-call-cache/disk-store.d.ts.map +1 -0
  664. package/runtime/tool-call-cache/index.d.ts +7 -0
  665. package/runtime/tool-call-cache/index.d.ts.map +1 -0
  666. package/runtime/tool-call-cache/index.js +4 -0
  667. package/runtime/tool-call-cache/key.d.ts +11 -0
  668. package/runtime/tool-call-cache/key.d.ts.map +1 -0
  669. package/runtime/tool-call-cache/key.js +31 -0
  670. package/runtime/tool-call-cache/lru.d.ts.map +1 -0
  671. package/runtime/tool-call-cache/redact.d.ts +17 -0
  672. package/runtime/tool-call-cache/redact.d.ts.map +1 -0
  673. package/runtime/tool-call-cache/redact.js +77 -0
  674. package/runtime/tool-call-cache/registry.d.ts +18 -0
  675. package/runtime/tool-call-cache/registry.d.ts.map +1 -0
  676. package/runtime/tool-call-cache/registry.js +66 -0
  677. package/runtime/tool-call-cache/types.d.ts.map +1 -0
  678. package/runtime/tool-call-cache-wrapper.d.ts +37 -0
  679. package/runtime/tool-call-cache-wrapper.d.ts.map +1 -0
  680. package/runtime/tool-call-cache-wrapper.js +67 -0
  681. package/runtime/trajectory-export.d.ts +18 -0
  682. package/runtime/trajectory-export.d.ts.map +1 -0
  683. package/runtime/trajectory-export.js +132 -0
  684. package/runtime/trajectory-internals.d.ts +264 -0
  685. package/runtime/trajectory-internals.d.ts.map +1 -0
  686. package/runtime/trajectory-internals.js +1720 -0
  687. package/runtime/trajectory-persistence.d.ts +30 -0
  688. package/runtime/trajectory-persistence.d.ts.map +1 -0
  689. package/runtime/trajectory-persistence.js +47 -0
  690. package/runtime/trajectory-query.d.ts.map +1 -0
  691. package/runtime/trajectory-query.js +29 -0
  692. package/runtime/trajectory-steps-reader.d.ts +41 -0
  693. package/runtime/trajectory-steps-reader.d.ts.map +1 -0
  694. package/runtime/trajectory-steps-reader.js +129 -0
  695. package/runtime/trajectory-steps-writer.d.ts +35 -0
  696. package/runtime/trajectory-steps-writer.d.ts.map +1 -0
  697. package/runtime/trajectory-steps-writer.js +135 -0
  698. package/runtime/trajectory-storage.d.ts +103 -0
  699. package/runtime/trajectory-storage.d.ts.map +1 -0
  700. package/runtime/trajectory-storage.js +1174 -0
  701. package/runtime/vault-profile-resolver.d.ts +37 -0
  702. package/runtime/vault-profile-resolver.d.ts.map +1 -0
  703. package/runtime/vault-profile-resolver.js +79 -0
  704. package/runtime/version.d.ts.map +1 -0
  705. package/runtime/view-action-affinity.d.ts +156 -0
  706. package/runtime/view-action-affinity.d.ts.map +1 -0
  707. package/runtime/view-action-affinity.js +254 -0
  708. package/runtime/web-search-tools.d.ts +34 -0
  709. package/runtime/web-search-tools.d.ts.map +1 -0
  710. package/runtime/web-search-tools.js +198 -0
  711. package/security/access.d.ts.map +1 -0
  712. package/security/access.js +56 -0
  713. package/security/audit-log.d.ts.map +1 -0
  714. package/security/audit-log.js +165 -0
  715. package/security/index.d.ts +4 -0
  716. package/security/index.d.ts.map +1 -0
  717. package/security/mcp-server-config.d.ts +6 -0
  718. package/security/mcp-server-config.d.ts.map +1 -0
  719. package/security/mcp-server-config.js +358 -0
  720. package/security/network-policy.d.ts.map +1 -0
  721. package/services/agent-export.d.ts +100 -0
  722. package/services/agent-export.d.ts.map +1 -0
  723. package/services/agent-export.js +767 -0
  724. package/services/app-manager-agents-list-guard.d.ts.map +1 -0
  725. package/services/app-package-modules.d.ts +26 -0
  726. package/services/app-package-modules.d.ts.map +1 -0
  727. package/services/app-package-modules.js +451 -0
  728. package/services/app-session-gate.d.ts.map +1 -0
  729. package/services/app-session-gate.js +71 -0
  730. package/services/approval/index.d.ts +9 -0
  731. package/services/approval/index.d.ts.map +1 -0
  732. package/services/approval/index.js +8 -0
  733. package/services/approval/service.d.ts +35 -0
  734. package/services/approval/service.d.ts.map +1 -0
  735. package/services/approval/service.js +40 -0
  736. package/services/approval/sql.d.ts +18 -0
  737. package/services/approval/sql.d.ts.map +1 -0
  738. package/services/approval/sql.js +104 -0
  739. package/services/approval/store.d.ts +39 -0
  740. package/services/approval/store.d.ts.map +1 -0
  741. package/services/approval/store.js +534 -0
  742. package/services/approval/types.d.ts +207 -0
  743. package/services/approval/types.d.ts.map +1 -0
  744. package/services/approval/types.js +34 -0
  745. package/services/capability-broker.d.ts.map +1 -0
  746. package/services/capability-broker.js +339 -0
  747. package/services/character-history.d.ts.map +1 -0
  748. package/services/character-persistence.d.ts +25 -0
  749. package/services/character-persistence.d.ts.map +1 -0
  750. package/services/client-chat-sender.d.ts +19 -0
  751. package/services/client-chat-sender.d.ts.map +1 -0
  752. package/services/client-chat-sender.js +88 -0
  753. package/services/config-plugin-manager.d.ts +6 -0
  754. package/services/config-plugin-manager.d.ts.map +1 -0
  755. package/services/connector-setup-service.d.ts +48 -0
  756. package/services/connector-setup-service.d.ts.map +1 -0
  757. package/services/cove-quote-x509.d.ts +143 -0
  758. package/services/cove-quote-x509.d.ts.map +1 -0
  759. package/services/cove-quote-x509.js +424 -0
  760. package/services/cove-quote.d.ts +189 -0
  761. package/services/cove-quote.d.ts.map +1 -0
  762. package/services/cove-quote.js +455 -0
  763. package/services/dstack-tee-provider.d.ts +57 -0
  764. package/services/dstack-tee-provider.d.ts.map +1 -0
  765. package/services/dstack-tee-provider.js +180 -0
  766. package/services/e2b-capability-router.d.ts +139 -0
  767. package/services/e2b-capability-router.d.ts.map +1 -0
  768. package/services/e2b-capability-router.js +1239 -0
  769. package/services/escalation.d.ts.map +1 -0
  770. package/services/escalation.js +378 -0
  771. package/services/evm-signing-capability.d.ts +33 -0
  772. package/services/evm-signing-capability.d.ts.map +1 -0
  773. package/services/evm-signing-capability.js +52 -0
  774. package/services/external-bridge-state.d.ts +11 -0
  775. package/services/external-bridge-state.d.ts.map +1 -0
  776. package/services/external-bridge-state.js +15 -0
  777. package/services/file-storage.d.ts +20 -0
  778. package/services/file-storage.d.ts.map +1 -0
  779. package/services/file-storage.js +70 -0
  780. package/services/global-pause/index.d.ts +8 -0
  781. package/services/global-pause/index.d.ts.map +1 -0
  782. package/services/global-pause/index.js +7 -0
  783. package/services/global-pause/service.d.ts +29 -0
  784. package/services/global-pause/service.d.ts.map +1 -0
  785. package/services/global-pause/service.js +34 -0
  786. package/services/global-pause/store.d.ts +31 -0
  787. package/services/global-pause/store.d.ts.map +1 -0
  788. package/services/global-pause/store.js +83 -0
  789. package/services/handoff/index.d.ts +8 -0
  790. package/services/handoff/index.d.ts.map +1 -0
  791. package/services/handoff/index.js +7 -0
  792. package/services/handoff/service.d.ts +29 -0
  793. package/services/handoff/service.d.ts.map +1 -0
  794. package/services/handoff/service.js +34 -0
  795. package/services/handoff/store.d.ts +76 -0
  796. package/services/handoff/store.d.ts.map +1 -0
  797. package/services/handoff/store.js +148 -0
  798. package/services/hosted-tools.d.ts +77 -0
  799. package/services/hosted-tools.d.ts.map +1 -0
  800. package/services/hosted-tools.js +87 -0
  801. package/services/index.d.ts +31 -0
  802. package/services/index.d.ts.map +1 -0
  803. package/services/index.js +34 -0
  804. package/services/js-runtime-bridge.d.ts.map +1 -0
  805. package/services/js-runtime-bridge.js +222 -0
  806. package/services/knowledge-graph/entity-store.d.ts +94 -0
  807. package/services/knowledge-graph/entity-store.d.ts.map +1 -0
  808. package/services/knowledge-graph/entity-store.js +509 -0
  809. package/services/knowledge-graph/index.d.ts +12 -0
  810. package/services/knowledge-graph/index.d.ts.map +1 -0
  811. package/services/knowledge-graph/index.js +11 -0
  812. package/services/knowledge-graph/relationship-store.d.ts +58 -0
  813. package/services/knowledge-graph/relationship-store.d.ts.map +1 -0
  814. package/services/knowledge-graph/relationship-store.js +303 -0
  815. package/services/knowledge-graph/schema.d.ts +2070 -0
  816. package/services/knowledge-graph/schema.d.ts.map +1 -0
  817. package/services/knowledge-graph/schema.js +119 -0
  818. package/services/knowledge-graph/service.d.ts +35 -0
  819. package/services/knowledge-graph/service.d.ts.map +1 -0
  820. package/services/knowledge-graph/service.js +42 -0
  821. package/services/knowledge-graph/sql.d.ts +22 -0
  822. package/services/knowledge-graph/sql.d.ts.map +1 -0
  823. package/services/knowledge-graph/sql.js +142 -0
  824. package/services/mcp-marketplace.d.ts.map +1 -0
  825. package/services/mcp-marketplace.js +200 -0
  826. package/services/media-generation.d.ts +10 -0
  827. package/services/media-generation.d.ts.map +1 -0
  828. package/services/media-generation.js +102 -0
  829. package/services/overlay-app-presence.d.ts.map +1 -0
  830. package/services/owner-name.d.ts.map +1 -0
  831. package/services/pending-prompts/index.d.ts +8 -0
  832. package/services/pending-prompts/index.d.ts.map +1 -0
  833. package/services/pending-prompts/index.js +7 -0
  834. package/services/pending-prompts/service.d.ts +34 -0
  835. package/services/pending-prompts/service.d.ts.map +1 -0
  836. package/services/pending-prompts/service.js +68 -0
  837. package/services/pending-prompts/store.d.ts +70 -0
  838. package/services/pending-prompts/store.d.ts.map +1 -0
  839. package/services/pending-prompts/store.js +191 -0
  840. package/services/permissions/contracts.d.ts +2 -0
  841. package/services/permissions/contracts.d.ts.map +1 -0
  842. package/services/permissions/contracts.js +1 -0
  843. package/services/permissions/probers/_bridge.d.ts +112 -0
  844. package/services/permissions/probers/_bridge.d.ts.map +1 -0
  845. package/services/permissions/probers/_bridge.js +313 -0
  846. package/services/permissions/probers/accessibility.d.ts.map +1 -0
  847. package/services/permissions/probers/automation.d.ts +17 -0
  848. package/services/permissions/probers/automation.d.ts.map +1 -0
  849. package/services/permissions/probers/automation.js +44 -0
  850. package/services/permissions/probers/calendar.d.ts +6 -0
  851. package/services/permissions/probers/calendar.d.ts.map +1 -0
  852. package/services/permissions/probers/calendar.js +42 -0
  853. package/services/permissions/probers/camera.d.ts.map +1 -0
  854. package/services/permissions/probers/contacts.d.ts +9 -0
  855. package/services/permissions/probers/contacts.d.ts.map +1 -0
  856. package/services/permissions/probers/contacts.js +44 -0
  857. package/services/permissions/probers/full-disk.d.ts.map +1 -0
  858. package/services/permissions/probers/health.d.ts +23 -0
  859. package/services/permissions/probers/health.d.ts.map +1 -0
  860. package/services/permissions/probers/health.js +60 -0
  861. package/services/permissions/probers/index.d.ts.map +1 -0
  862. package/services/permissions/probers/index.js +44 -0
  863. package/services/permissions/probers/location.d.ts +13 -0
  864. package/services/permissions/probers/location.d.ts.map +1 -0
  865. package/services/permissions/probers/location.js +54 -0
  866. package/services/permissions/probers/microphone.d.ts.map +1 -0
  867. package/services/permissions/probers/native-platform.d.ts +3 -0
  868. package/services/permissions/probers/native-platform.d.ts.map +1 -0
  869. package/services/permissions/probers/native-platform.js +27 -0
  870. package/services/permissions/probers/notes.d.ts +18 -0
  871. package/services/permissions/probers/notes.d.ts.map +1 -0
  872. package/services/permissions/probers/notes.js +44 -0
  873. package/services/permissions/probers/notifications.d.ts +18 -0
  874. package/services/permissions/probers/notifications.d.ts.map +1 -0
  875. package/services/permissions/probers/notifications.js +53 -0
  876. package/services/permissions/probers/reminders.d.ts +9 -0
  877. package/services/permissions/probers/reminders.d.ts.map +1 -0
  878. package/services/permissions/probers/reminders.js +44 -0
  879. package/services/permissions/probers/screen-recording.d.ts.map +1 -0
  880. package/services/permissions/probers/screentime.d.ts +21 -0
  881. package/services/permissions/probers/screentime.d.ts.map +1 -0
  882. package/services/permissions/probers/screentime.js +55 -0
  883. package/services/permissions/probers/shell.d.ts +16 -0
  884. package/services/permissions/probers/shell.d.ts.map +1 -0
  885. package/services/permissions/probers/shell.js +28 -0
  886. package/services/permissions/probers/website-blocking.d.ts.map +1 -0
  887. package/services/permissions/register-probers.d.ts +13 -0
  888. package/services/permissions/register-probers.d.ts.map +1 -0
  889. package/services/permissions/register-probers.js +15 -0
  890. package/services/permissions-registry.d.ts.map +1 -0
  891. package/services/permissions-registry.js +209 -0
  892. package/services/plugin-compiler.d.ts +51 -0
  893. package/services/plugin-compiler.d.ts.map +1 -0
  894. package/services/plugin-compiler.js +168 -0
  895. package/services/plugin-installer.d.ts +93 -0
  896. package/services/plugin-installer.d.ts.map +1 -0
  897. package/services/plugin-installer.js +663 -0
  898. package/services/plugin-manager-types.d.ts +114 -0
  899. package/services/plugin-manager-types.d.ts.map +1 -0
  900. package/services/proactive-interaction-decider.d.ts +113 -0
  901. package/services/proactive-interaction-decider.d.ts.map +1 -0
  902. package/services/proactive-interaction-decider.js +333 -0
  903. package/services/proactive-interaction-gate.d.ts +70 -0
  904. package/services/proactive-interaction-gate.d.ts.map +1 -0
  905. package/services/proactive-interaction-gate.js +148 -0
  906. package/services/push/apns-provider.d.ts +58 -0
  907. package/services/push/apns-provider.d.ts.map +1 -0
  908. package/services/push/apns-provider.js +186 -0
  909. package/services/push/fcm-provider.d.ts +49 -0
  910. package/services/push/fcm-provider.d.ts.map +1 -0
  911. package/services/push/fcm-provider.js +206 -0
  912. package/services/push/notification-push-service.d.ts +58 -0
  913. package/services/push/notification-push-service.d.ts.map +1 -0
  914. package/services/push/notification-push-service.js +148 -0
  915. package/services/push/push-token-registry.d.ts +49 -0
  916. package/services/push/push-token-registry.d.ts.map +1 -0
  917. package/services/push/push-token-registry.js +91 -0
  918. package/services/push/push-types.d.ts +41 -0
  919. package/services/push/push-types.d.ts.map +1 -0
  920. package/services/push/push-types.js +16 -0
  921. package/services/registry-client-app-meta.d.ts +6 -0
  922. package/services/registry-client-app-meta.d.ts.map +1 -0
  923. package/services/registry-client-app-meta.js +153 -0
  924. package/services/registry-client-endpoints.d.ts +7 -0
  925. package/services/registry-client-endpoints.d.ts.map +1 -0
  926. package/services/registry-client-endpoints.js +199 -0
  927. package/services/registry-client-local.d.ts +4 -0
  928. package/services/registry-client-local.d.ts.map +1 -0
  929. package/services/registry-client-local.js +563 -0
  930. package/services/registry-client-network.d.ts +27 -0
  931. package/services/registry-client-network.d.ts.map +1 -0
  932. package/services/registry-client-network.js +211 -0
  933. package/services/registry-client-queries.d.ts +26 -0
  934. package/services/registry-client-queries.d.ts.map +1 -0
  935. package/services/registry-client-queries.js +216 -0
  936. package/services/registry-client-types.d.ts +133 -0
  937. package/services/registry-client-types.d.ts.map +1 -0
  938. package/services/registry-client-types.js +1 -0
  939. package/services/registry-client.d.ts +39 -0
  940. package/services/registry-client.d.ts.map +1 -0
  941. package/services/registry-client.js +292 -0
  942. package/services/relationships-graph.d.ts +13 -0
  943. package/services/relationships-graph.d.ts.map +1 -0
  944. package/services/relationships-graph.js +48 -0
  945. package/services/remote-capability-cloud-sandbox.d.ts +45 -0
  946. package/services/remote-capability-cloud-sandbox.d.ts.map +1 -0
  947. package/services/remote-capability-cloud-sandbox.js +253 -0
  948. package/services/remote-capability-endpoint-conformance.d.ts +60 -0
  949. package/services/remote-capability-endpoint-conformance.d.ts.map +1 -0
  950. package/services/remote-capability-endpoint-conformance.js +819 -0
  951. package/services/remote-capability-endpoint-provider.d.ts +54 -0
  952. package/services/remote-capability-endpoint-provider.d.ts.map +1 -0
  953. package/services/remote-capability-endpoint-provider.js +255 -0
  954. package/services/remote-capability-live-report.d.ts +19 -0
  955. package/services/remote-capability-live-report.d.ts.map +1 -0
  956. package/services/remote-capability-live-report.js +147 -0
  957. package/services/remote-capability-router.d.ts +49 -0
  958. package/services/remote-capability-router.d.ts.map +1 -0
  959. package/services/remote-capability-router.js +784 -0
  960. package/services/remote-capability-url-endpoint-providers.d.ts +17 -0
  961. package/services/remote-capability-url-endpoint-providers.d.ts.map +1 -0
  962. package/services/remote-capability-url-endpoint-providers.js +69 -0
  963. package/services/remote-plugin-adapter.d.ts +42 -0
  964. package/services/remote-plugin-adapter.d.ts.map +1 -0
  965. package/services/remote-plugin-adapter.js +1734 -0
  966. package/services/remote-plugin-bridge.d.ts +81 -0
  967. package/services/remote-plugin-bridge.d.ts.map +1 -0
  968. package/services/remote-plugin-bridge.js +669 -0
  969. package/services/remote-signing-service.d.ts +110 -0
  970. package/services/remote-signing-service.d.ts.map +1 -0
  971. package/services/remote-signing-service.js +264 -0
  972. package/services/research-task-executor.d.ts +14 -0
  973. package/services/research-task-executor.d.ts.map +1 -0
  974. package/services/research-task-executor.js +133 -0
  975. package/services/sandbox-engine.d.ts.map +1 -0
  976. package/services/sandbox-manager.d.ts +132 -0
  977. package/services/sandbox-manager.d.ts.map +1 -0
  978. package/services/sandbox-manager.js +440 -0
  979. package/services/self-updater.d.ts +38 -0
  980. package/services/self-updater.d.ts.map +1 -0
  981. package/services/self-updater.js +262 -0
  982. package/services/send-handler-availability.d.ts.map +1 -0
  983. package/services/send-handler-availability.js +23 -0
  984. package/services/shell-execution-router.d.ts +69 -0
  985. package/services/shell-execution-router.d.ts.map +1 -0
  986. package/services/shell-execution-router.js +346 -0
  987. package/services/signing-policy.d.ts +46 -0
  988. package/services/signing-policy.d.ts.map +1 -0
  989. package/services/task-executor.d.ts.map +1 -0
  990. package/services/tee-boot-gate-state.d.ts +29 -0
  991. package/services/tee-boot-gate-state.d.ts.map +1 -0
  992. package/services/tee-boot-gate-state.js +38 -0
  993. package/services/tee-boot-gate.d.ts +45 -0
  994. package/services/tee-boot-gate.d.ts.map +1 -0
  995. package/services/tee-boot-gate.js +80 -0
  996. package/services/tee-confidential-inference.d.ts +177 -0
  997. package/services/tee-confidential-inference.d.ts.map +1 -0
  998. package/services/tee-confidential-inference.js +254 -0
  999. package/services/tee-evidence.d.ts +46 -0
  1000. package/services/tee-evidence.d.ts.map +1 -0
  1001. package/services/tee-evidence.js +149 -0
  1002. package/services/tee-key-release.d.ts +100 -0
  1003. package/services/tee-key-release.d.ts.map +1 -0
  1004. package/services/tee-key-release.js +301 -0
  1005. package/services/tee-model-key-boot.d.ts +82 -0
  1006. package/services/tee-model-key-boot.d.ts.map +1 -0
  1007. package/services/tee-model-key-boot.js +99 -0
  1008. package/services/tee-policy.d.ts +31 -0
  1009. package/services/tee-policy.d.ts.map +1 -0
  1010. package/services/tee-policy.js +233 -0
  1011. package/services/tee-production-profile.d.ts +35 -0
  1012. package/services/tee-production-profile.d.ts.map +1 -0
  1013. package/services/tee-production-profile.js +64 -0
  1014. package/services/tee-release-policy.d.ts +18 -0
  1015. package/services/tee-release-policy.d.ts.map +1 -0
  1016. package/services/tee-release-policy.js +53 -0
  1017. package/services/tee-revocation.d.ts +60 -0
  1018. package/services/tee-revocation.d.ts.map +1 -0
  1019. package/services/tee-revocation.js +150 -0
  1020. package/services/tee-runtime-config.d.ts +9 -0
  1021. package/services/tee-runtime-config.d.ts.map +1 -0
  1022. package/services/tee-runtime-config.js +109 -0
  1023. package/services/tee-sealed-volume.d.ts +114 -0
  1024. package/services/tee-sealed-volume.d.ts.map +1 -0
  1025. package/services/tee-sealed-volume.js +161 -0
  1026. package/services/tee-signer-backend.d.ts +18 -0
  1027. package/services/tee-signer-backend.d.ts.map +1 -0
  1028. package/services/tee-signer-backend.js +26 -0
  1029. package/services/update-checker.d.ts +29 -0
  1030. package/services/update-checker.d.ts.map +1 -0
  1031. package/services/vault-signer-backend.d.ts +32 -0
  1032. package/services/vault-signer-backend.d.ts.map +1 -0
  1033. package/services/vault-signer-backend.js +57 -0
  1034. package/services/version-compat.d.ts.map +1 -0
  1035. package/services/version-compat.js +212 -0
  1036. package/services/vfs-builtin-shell.d.ts +17 -0
  1037. package/services/vfs-builtin-shell.d.ts.map +1 -0
  1038. package/services/vfs-builtin-shell.js +375 -0
  1039. package/services/vfs-git.d.ts +18 -0
  1040. package/services/vfs-git.d.ts.map +1 -0
  1041. package/services/vfs-git.js +315 -0
  1042. package/services/virtual-filesystem.d.ts +100 -0
  1043. package/services/virtual-filesystem.d.ts.map +1 -0
  1044. package/services/virtual-filesystem.js +482 -0
  1045. package/shared/conversation-format.d.ts.map +1 -0
  1046. package/shared/conversation-format.js +69 -0
  1047. package/shared/ui-catalog-prompt.d.ts.map +1 -0
  1048. package/shared/workspace-resolution.d.ts.map +1 -0
  1049. package/shared/workspace-resolution.js +82 -0
  1050. package/test-support/index.d.ts +4 -0
  1051. package/test-support/index.d.ts.map +1 -0
  1052. package/test-support/process-helpers.d.ts.map +1 -0
  1053. package/test-support/route-test-helpers.d.ts.map +1 -0
  1054. package/test-support/test-helpers.d.ts.map +1 -0
  1055. package/triggers/runtime.d.ts +30 -0
  1056. package/triggers/runtime.d.ts.map +1 -0
  1057. package/triggers/runtime.js +486 -0
  1058. package/triggers/scheduling.d.ts +59 -0
  1059. package/triggers/scheduling.d.ts.map +1 -0
  1060. package/triggers/scheduling.js +208 -0
  1061. package/triggers/types.d.ts +30 -0
  1062. package/triggers/types.d.ts.map +1 -0
  1063. package/tui/agent-terminal-tui.d.ts +14 -0
  1064. package/tui/agent-terminal-tui.d.ts.map +1 -0
  1065. package/tui/agent-terminal-tui.js +518 -0
  1066. package/tui/slash-commands.d.ts +107 -0
  1067. package/tui/slash-commands.d.ts.map +1 -0
  1068. package/tui/slash-commands.js +108 -0
  1069. package/tui/tui-enabled.d.ts +8 -0
  1070. package/tui/tui-enabled.d.ts.map +1 -0
  1071. package/tui/tui-enabled.js +17 -0
  1072. package/types/agent-skills.d.ts.map +1 -0
  1073. package/types/config-like.d.ts.map +1 -0
  1074. package/types/index.d.ts +4 -0
  1075. package/types/index.d.ts.map +1 -0
  1076. package/types/trajectory.d.ts +21 -0
  1077. package/types/trajectory.d.ts.map +1 -0
  1078. package/utils/atomic-json.d.ts.map +1 -0
  1079. package/utils/terminal-command.d.ts +10 -0
  1080. package/utils/terminal-command.d.ts.map +1 -0
  1081. package/utils/terminal-command.js +19 -0
  1082. package/version-resolver.d.ts.map +1 -0
  1083. package/packages/agent/src/actions/connector-resolver.d.ts.map +0 -1
  1084. package/packages/agent/src/actions/connector-resolver.js +0 -253
  1085. package/packages/agent/src/actions/contact.d.ts.map +0 -1
  1086. package/packages/agent/src/actions/contact.js +0 -1698
  1087. package/packages/agent/src/actions/context-signal-lexicon.d.ts.map +0 -1
  1088. package/packages/agent/src/actions/context-signal.d.ts +0 -48
  1089. package/packages/agent/src/actions/context-signal.d.ts.map +0 -1
  1090. package/packages/agent/src/actions/context-signal.js +0 -153
  1091. package/packages/agent/src/actions/database.d.ts.map +0 -1
  1092. package/packages/agent/src/actions/database.js +0 -671
  1093. package/packages/agent/src/actions/extract-page.d.ts +0 -3
  1094. package/packages/agent/src/actions/extract-page.d.ts.map +0 -1
  1095. package/packages/agent/src/actions/extract-page.js +0 -153
  1096. package/packages/agent/src/actions/extract-params.d.ts +0 -87
  1097. package/packages/agent/src/actions/extract-params.d.ts.map +0 -1
  1098. package/packages/agent/src/actions/extract-params.js +0 -187
  1099. package/packages/agent/src/actions/grounded-action-reply.d.ts.map +0 -1
  1100. package/packages/agent/src/actions/grounded-action-reply.js +0 -287
  1101. package/packages/agent/src/actions/index.d.ts +0 -22
  1102. package/packages/agent/src/actions/index.d.ts.map +0 -1
  1103. package/packages/agent/src/actions/index.js +0 -21
  1104. package/packages/agent/src/actions/logs.d.ts.map +0 -1
  1105. package/packages/agent/src/actions/media.d.ts +0 -9
  1106. package/packages/agent/src/actions/media.d.ts.map +0 -1
  1107. package/packages/agent/src/actions/media.js +0 -135
  1108. package/packages/agent/src/actions/memories.d.ts +0 -9
  1109. package/packages/agent/src/actions/memories.d.ts.map +0 -1
  1110. package/packages/agent/src/actions/memories.js +0 -369
  1111. package/packages/agent/src/actions/page-action-groups.d.ts +0 -17
  1112. package/packages/agent/src/actions/page-action-groups.d.ts.map +0 -1
  1113. package/packages/agent/src/actions/page-action-groups.js +0 -413
  1114. package/packages/agent/src/actions/plugin.d.ts +0 -32
  1115. package/packages/agent/src/actions/plugin.d.ts.map +0 -1
  1116. package/packages/agent/src/actions/plugin.js +0 -780
  1117. package/packages/agent/src/actions/recent-conversation-texts.d.ts.map +0 -1
  1118. package/packages/agent/src/actions/recent-conversation-texts.js +0 -76
  1119. package/packages/agent/src/actions/runtime.d.ts.map +0 -1
  1120. package/packages/agent/src/actions/runtime.js +0 -517
  1121. package/packages/agent/src/actions/settings-actions.d.ts +0 -19
  1122. package/packages/agent/src/actions/settings-actions.d.ts.map +0 -1
  1123. package/packages/agent/src/actions/settings-actions.js +0 -478
  1124. package/packages/agent/src/actions/skill-command.d.ts +0 -20
  1125. package/packages/agent/src/actions/skill-command.d.ts.map +0 -1
  1126. package/packages/agent/src/actions/skill-command.js +0 -170
  1127. package/packages/agent/src/actions/stream-control.d.ts +0 -20
  1128. package/packages/agent/src/actions/stream-control.d.ts.map +0 -1
  1129. package/packages/agent/src/actions/stream-control.js +0 -166
  1130. package/packages/agent/src/actions/terminal.d.ts.map +0 -1
  1131. package/packages/agent/src/actions/terminal.js +0 -305
  1132. package/packages/agent/src/actions/trajectories.d.ts +0 -8
  1133. package/packages/agent/src/actions/trajectories.d.ts.map +0 -1
  1134. package/packages/agent/src/actions/trajectories.js +0 -135
  1135. package/packages/agent/src/actions/trigger.d.ts.map +0 -1
  1136. package/packages/agent/src/actions/trigger.js +0 -514
  1137. package/packages/agent/src/api/accounts-routes.d.ts +0 -38
  1138. package/packages/agent/src/api/accounts-routes.d.ts.map +0 -1
  1139. package/packages/agent/src/api/accounts-routes.js +0 -927
  1140. package/packages/agent/src/api/agent-admin-routes.d.ts +0 -39
  1141. package/packages/agent/src/api/agent-admin-routes.d.ts.map +0 -1
  1142. package/packages/agent/src/api/agent-admin-routes.js +0 -190
  1143. package/packages/agent/src/api/agent-lifecycle-routes.d.ts.map +0 -1
  1144. package/packages/agent/src/api/agent-lifecycle-routes.js +0 -101
  1145. package/packages/agent/src/api/agent-model.d.ts +0 -5
  1146. package/packages/agent/src/api/agent-model.d.ts.map +0 -1
  1147. package/packages/agent/src/api/agent-model.js +0 -170
  1148. package/packages/agent/src/api/agent-status-routes.d.ts +0 -75
  1149. package/packages/agent/src/api/agent-status-routes.d.ts.map +0 -1
  1150. package/packages/agent/src/api/agent-status-routes.js +0 -264
  1151. package/packages/agent/src/api/agent-transfer-routes.d.ts.map +0 -1
  1152. package/packages/agent/src/api/agent-transfer-routes.js +0 -124
  1153. package/packages/agent/src/api/app-package-routes.d.ts +0 -7
  1154. package/packages/agent/src/api/app-package-routes.d.ts.map +0 -1
  1155. package/packages/agent/src/api/app-package-routes.js +0 -59
  1156. package/packages/agent/src/api/apps-routes.d.ts +0 -32
  1157. package/packages/agent/src/api/apps-routes.d.ts.map +0 -1
  1158. package/packages/agent/src/api/apps-routes.js +0 -998
  1159. package/packages/agent/src/api/auth-routes.d.ts.map +0 -1
  1160. package/packages/agent/src/api/auth-routes.js +0 -119
  1161. package/packages/agent/src/api/avatar-routes.d.ts.map +0 -1
  1162. package/packages/agent/src/api/avatar-routes.js +0 -205
  1163. package/packages/agent/src/api/binance-skill-helpers.d.ts +0 -21
  1164. package/packages/agent/src/api/binance-skill-helpers.d.ts.map +0 -1
  1165. package/packages/agent/src/api/binance-skill-helpers.js +0 -745
  1166. package/packages/agent/src/api/bug-report-routes.d.ts +0 -10
  1167. package/packages/agent/src/api/bug-report-routes.d.ts.map +0 -1
  1168. package/packages/agent/src/api/bug-report-routes.js +0 -271
  1169. package/packages/agent/src/api/build-variant-routes.d.ts +0 -27
  1170. package/packages/agent/src/api/build-variant-routes.d.ts.map +0 -1
  1171. package/packages/agent/src/api/build-variant-routes.js +0 -27
  1172. package/packages/agent/src/api/character-routes.d.ts +0 -52
  1173. package/packages/agent/src/api/character-routes.d.ts.map +0 -1
  1174. package/packages/agent/src/api/character-routes.js +0 -377
  1175. package/packages/agent/src/api/chat-augmentation.d.ts +0 -70
  1176. package/packages/agent/src/api/chat-augmentation.d.ts.map +0 -1
  1177. package/packages/agent/src/api/chat-augmentation.js +0 -464
  1178. package/packages/agent/src/api/chat-routes.d.ts +0 -124
  1179. package/packages/agent/src/api/chat-routes.d.ts.map +0 -1
  1180. package/packages/agent/src/api/chat-routes.js +0 -1841
  1181. package/packages/agent/src/api/chat-text-helpers.d.ts.map +0 -1
  1182. package/packages/agent/src/api/client-chat-admin.d.ts.map +0 -1
  1183. package/packages/agent/src/api/cloud-route-registry.d.ts +0 -22
  1184. package/packages/agent/src/api/cloud-route-registry.d.ts.map +0 -1
  1185. package/packages/agent/src/api/cloud-route-registry.js +0 -20
  1186. package/packages/agent/src/api/compat-utils.d.ts.map +0 -1
  1187. package/packages/agent/src/api/config-env.d.ts.map +0 -1
  1188. package/packages/agent/src/api/config-env.js +0 -284
  1189. package/packages/agent/src/api/config-routes.d.ts +0 -40
  1190. package/packages/agent/src/api/config-routes.d.ts.map +0 -1
  1191. package/packages/agent/src/api/config-routes.js +0 -429
  1192. package/packages/agent/src/api/connector-account-routes.d.ts.map +0 -1
  1193. package/packages/agent/src/api/connector-account-routes.js +0 -740
  1194. package/packages/agent/src/api/connector-health.d.ts.map +0 -1
  1195. package/packages/agent/src/api/connector-oauth-callback-auth.d.ts.map +0 -1
  1196. package/packages/agent/src/api/connector-routes.d.ts +0 -36
  1197. package/packages/agent/src/api/connector-routes.d.ts.map +0 -1
  1198. package/packages/agent/src/api/connector-routes.js +0 -184
  1199. package/packages/agent/src/api/conversation-metadata.d.ts +0 -10
  1200. package/packages/agent/src/api/conversation-metadata.d.ts.map +0 -1
  1201. package/packages/agent/src/api/conversation-metadata.js +0 -107
  1202. package/packages/agent/src/api/conversation-routes.d.ts +0 -43
  1203. package/packages/agent/src/api/conversation-routes.d.ts.map +0 -1
  1204. package/packages/agent/src/api/conversation-routes.js +0 -1208
  1205. package/packages/agent/src/api/coordinator-wiring.d.ts.map +0 -1
  1206. package/packages/agent/src/api/coordinator-wiring.js +0 -108
  1207. package/packages/agent/src/api/credit-detection.d.ts +0 -9
  1208. package/packages/agent/src/api/credit-detection.d.ts.map +0 -1
  1209. package/packages/agent/src/api/credit-detection.js +0 -47
  1210. package/packages/agent/src/api/curated-skills-routes.d.ts +0 -22
  1211. package/packages/agent/src/api/curated-skills-routes.d.ts.map +0 -1
  1212. package/packages/agent/src/api/curated-skills-routes.js +0 -295
  1213. package/packages/agent/src/api/database.d.ts +0 -35
  1214. package/packages/agent/src/api/database.d.ts.map +0 -1
  1215. package/packages/agent/src/api/database.js +0 -1140
  1216. package/packages/agent/src/api/diagnostics-routes.d.ts +0 -59
  1217. package/packages/agent/src/api/diagnostics-routes.d.ts.map +0 -1
  1218. package/packages/agent/src/api/diagnostics-routes.js +0 -365
  1219. package/packages/agent/src/api/documents-routes.d.ts +0 -9
  1220. package/packages/agent/src/api/documents-routes.d.ts.map +0 -1
  1221. package/packages/agent/src/api/documents-routes.js +0 -26
  1222. package/packages/agent/src/api/documents-service-loader.d.ts +0 -76
  1223. package/packages/agent/src/api/documents-service-loader.d.ts.map +0 -1
  1224. package/packages/agent/src/api/documents-service-loader.js +0 -36
  1225. package/packages/agent/src/api/early-logs.d.ts +0 -29
  1226. package/packages/agent/src/api/early-logs.d.ts.map +0 -1
  1227. package/packages/agent/src/api/health-routes.d.ts +0 -46
  1228. package/packages/agent/src/api/health-routes.d.ts.map +0 -1
  1229. package/packages/agent/src/api/health-routes.js +0 -450
  1230. package/packages/agent/src/api/inbox-routes.d.ts.map +0 -1
  1231. package/packages/agent/src/api/inbox-routes.js +0 -1579
  1232. package/packages/agent/src/api/index.d.ts +0 -46
  1233. package/packages/agent/src/api/index.d.ts.map +0 -1
  1234. package/packages/agent/src/api/index.js +0 -49
  1235. package/packages/agent/src/api/memory-bounds.d.ts +0 -51
  1236. package/packages/agent/src/api/memory-bounds.d.ts.map +0 -1
  1237. package/packages/agent/src/api/memory-bounds.js +0 -81
  1238. package/packages/agent/src/api/memory-routes.d.ts.map +0 -1
  1239. package/packages/agent/src/api/memory-routes.js +0 -474
  1240. package/packages/agent/src/api/misc-routes.d.ts +0 -64
  1241. package/packages/agent/src/api/misc-routes.d.ts.map +0 -1
  1242. package/packages/agent/src/api/misc-routes.js +0 -569
  1243. package/packages/agent/src/api/mobile-optional-routes.d.ts.map +0 -1
  1244. package/packages/agent/src/api/mobile-optional-routes.js +0 -91
  1245. package/packages/agent/src/api/model-provider-helpers.d.ts +0 -68
  1246. package/packages/agent/src/api/model-provider-helpers.d.ts.map +0 -1
  1247. package/packages/agent/src/api/model-provider-helpers.js +0 -623
  1248. package/packages/agent/src/api/models-routes.d.ts.map +0 -1
  1249. package/packages/agent/src/api/music-player-route-fallback.d.ts.map +0 -1
  1250. package/packages/agent/src/api/nfa-routes.d.ts +0 -6
  1251. package/packages/agent/src/api/nfa-routes.d.ts.map +0 -1
  1252. package/packages/agent/src/api/nfa-routes.js +0 -125
  1253. package/packages/agent/src/api/onboarding-routes.d.ts +0 -50
  1254. package/packages/agent/src/api/onboarding-routes.d.ts.map +0 -1
  1255. package/packages/agent/src/api/onboarding-routes.js +0 -588
  1256. package/packages/agent/src/api/owner-contact-helpers.d.ts.map +0 -1
  1257. package/packages/agent/src/api/parse-action-block.d.ts +0 -53
  1258. package/packages/agent/src/api/parse-action-block.d.ts.map +0 -1
  1259. package/packages/agent/src/api/permission-request-prompt.d.ts +0 -19
  1260. package/packages/agent/src/api/permission-request-prompt.d.ts.map +0 -1
  1261. package/packages/agent/src/api/permission-request-prompt.js +0 -53
  1262. package/packages/agent/src/api/permissions-routes-extra.d.ts +0 -30
  1263. package/packages/agent/src/api/permissions-routes-extra.d.ts.map +0 -1
  1264. package/packages/agent/src/api/permissions-routes.d.ts +0 -27
  1265. package/packages/agent/src/api/permissions-routes.d.ts.map +0 -1
  1266. package/packages/agent/src/api/permissions-routes.js +0 -352
  1267. package/packages/agent/src/api/plugin-discovery-helpers.d.ts +0 -147
  1268. package/packages/agent/src/api/plugin-discovery-helpers.d.ts.map +0 -1
  1269. package/packages/agent/src/api/plugin-discovery-helpers.js +0 -1118
  1270. package/packages/agent/src/api/plugin-routes.d.ts +0 -144
  1271. package/packages/agent/src/api/plugin-routes.d.ts.map +0 -1
  1272. package/packages/agent/src/api/plugin-routes.js +0 -1285
  1273. package/packages/agent/src/api/plugin-runtime-apply.d.ts +0 -31
  1274. package/packages/agent/src/api/plugin-runtime-apply.d.ts.map +0 -1
  1275. package/packages/agent/src/api/plugin-runtime-apply.js +0 -217
  1276. package/packages/agent/src/api/plugin-validation.d.ts.map +0 -1
  1277. package/packages/agent/src/api/provider-switch-config.d.ts +0 -62
  1278. package/packages/agent/src/api/provider-switch-config.d.ts.map +0 -1
  1279. package/packages/agent/src/api/provider-switch-config.js +0 -719
  1280. package/packages/agent/src/api/provider-switch-routes.d.ts +0 -29
  1281. package/packages/agent/src/api/provider-switch-routes.d.ts.map +0 -1
  1282. package/packages/agent/src/api/provider-switch-routes.js +0 -142
  1283. package/packages/agent/src/api/rate-limiter.d.ts.map +0 -1
  1284. package/packages/agent/src/api/registry-routes.d.ts +0 -29
  1285. package/packages/agent/src/api/registry-routes.d.ts.map +0 -1
  1286. package/packages/agent/src/api/registry-routes.js +0 -98
  1287. package/packages/agent/src/api/registry-service.d.ts +0 -77
  1288. package/packages/agent/src/api/registry-service.d.ts.map +0 -1
  1289. package/packages/agent/src/api/registry-service.js +0 -190
  1290. package/packages/agent/src/api/relationships-routes.d.ts.map +0 -1
  1291. package/packages/agent/src/api/relationships-routes.js +0 -287
  1292. package/packages/agent/src/api/runtime-plugin-routes.d.ts.map +0 -1
  1293. package/packages/agent/src/api/runtime-plugin-routes.js +0 -203
  1294. package/packages/agent/src/api/server-auth.d.ts +0 -46
  1295. package/packages/agent/src/api/server-auth.d.ts.map +0 -1
  1296. package/packages/agent/src/api/server-auth.js +0 -507
  1297. package/packages/agent/src/api/server-autonomy-helpers.d.ts +0 -5
  1298. package/packages/agent/src/api/server-autonomy-helpers.d.ts.map +0 -1
  1299. package/packages/agent/src/api/server-helpers-auth.d.ts +0 -41
  1300. package/packages/agent/src/api/server-helpers-auth.d.ts.map +0 -1
  1301. package/packages/agent/src/api/server-helpers-auth.js +0 -627
  1302. package/packages/agent/src/api/server-helpers-config.d.ts +0 -37
  1303. package/packages/agent/src/api/server-helpers-config.d.ts.map +0 -1
  1304. package/packages/agent/src/api/server-helpers-config.js +0 -293
  1305. package/packages/agent/src/api/server-helpers-fetch.d.ts.map +0 -1
  1306. package/packages/agent/src/api/server-helpers-mcp.d.ts +0 -12
  1307. package/packages/agent/src/api/server-helpers-mcp.d.ts.map +0 -1
  1308. package/packages/agent/src/api/server-helpers-mcp.js +0 -315
  1309. package/packages/agent/src/api/server-helpers-plugin.d.ts +0 -13
  1310. package/packages/agent/src/api/server-helpers-plugin.d.ts.map +0 -1
  1311. package/packages/agent/src/api/server-helpers-swarm.d.ts +0 -101
  1312. package/packages/agent/src/api/server-helpers-swarm.d.ts.map +0 -1
  1313. package/packages/agent/src/api/server-helpers-swarm.js +0 -646
  1314. package/packages/agent/src/api/server-helpers-wallet.d.ts +0 -18
  1315. package/packages/agent/src/api/server-helpers-wallet.d.ts.map +0 -1
  1316. package/packages/agent/src/api/server-helpers.d.ts +0 -96
  1317. package/packages/agent/src/api/server-helpers.d.ts.map +0 -1
  1318. package/packages/agent/src/api/server-helpers.js +0 -595
  1319. package/packages/agent/src/api/server-route-dispatch.d.ts +0 -30
  1320. package/packages/agent/src/api/server-route-dispatch.d.ts.map +0 -1
  1321. package/packages/agent/src/api/server-route-dispatch.js +0 -103
  1322. package/packages/agent/src/api/server-startup.d.ts +0 -16
  1323. package/packages/agent/src/api/server-startup.d.ts.map +0 -1
  1324. package/packages/agent/src/api/server-startup.js +0 -14
  1325. package/packages/agent/src/api/server-types.d.ts +0 -232
  1326. package/packages/agent/src/api/server-types.d.ts.map +0 -1
  1327. package/packages/agent/src/api/server-types.js +0 -6
  1328. package/packages/agent/src/api/server.d.ts +0 -61
  1329. package/packages/agent/src/api/server.d.ts.map +0 -1
  1330. package/packages/agent/src/api/server.js +0 -3215
  1331. package/packages/agent/src/api/skill-discovery-helpers.d.ts +0 -80
  1332. package/packages/agent/src/api/skill-discovery-helpers.d.ts.map +0 -1
  1333. package/packages/agent/src/api/skill-discovery-helpers.js +0 -385
  1334. package/packages/agent/src/api/skills-routes.d.ts +0 -32
  1335. package/packages/agent/src/api/skills-routes.d.ts.map +0 -1
  1336. package/packages/agent/src/api/skills-routes.js +0 -978
  1337. package/packages/agent/src/api/static-file-server.d.ts +0 -19
  1338. package/packages/agent/src/api/static-file-server.d.ts.map +0 -1
  1339. package/packages/agent/src/api/static-file-server.js +0 -234
  1340. package/packages/agent/src/api/subscription-routes.d.ts +0 -20
  1341. package/packages/agent/src/api/subscription-routes.d.ts.map +0 -1
  1342. package/packages/agent/src/api/subscription-routes.js +0 -261
  1343. package/packages/agent/src/api/task-agent-message-routing.d.ts.map +0 -1
  1344. package/packages/agent/src/api/terminal-execution-routing.d.ts +0 -14
  1345. package/packages/agent/src/api/terminal-execution-routing.d.ts.map +0 -1
  1346. package/packages/agent/src/api/terminal-run-limits.d.ts.map +0 -1
  1347. package/packages/agent/src/api/terminal-run-limits.js +0 -20
  1348. package/packages/agent/src/api/trade-safety.d.ts +0 -35
  1349. package/packages/agent/src/api/trade-safety.d.ts.map +0 -1
  1350. package/packages/agent/src/api/trade-safety.js +0 -62
  1351. package/packages/agent/src/api/training-backend-check.d.ts.map +0 -1
  1352. package/packages/agent/src/api/training-service-like.d.ts +0 -39
  1353. package/packages/agent/src/api/training-service-like.d.ts.map +0 -1
  1354. package/packages/agent/src/api/travel-provider-relay-routes.d.ts +0 -9
  1355. package/packages/agent/src/api/travel-provider-relay-routes.d.ts.map +0 -1
  1356. package/packages/agent/src/api/travel-provider-relay-routes.js +0 -143
  1357. package/packages/agent/src/api/tx-service.d.ts +0 -53
  1358. package/packages/agent/src/api/tx-service.d.ts.map +0 -1
  1359. package/packages/agent/src/api/tx-service.js +0 -217
  1360. package/packages/agent/src/api/update-routes.d.ts +0 -19
  1361. package/packages/agent/src/api/update-routes.d.ts.map +0 -1
  1362. package/packages/agent/src/api/update-routes.js +0 -54
  1363. package/packages/agent/src/api/wallet-capability.d.ts +0 -33
  1364. package/packages/agent/src/api/wallet-capability.d.ts.map +0 -1
  1365. package/packages/agent/src/api/wallet-capability.js +0 -193
  1366. package/packages/agent/src/api/wallet-dex-prices.d.ts.map +0 -1
  1367. package/packages/agent/src/api/wallet-env-sync.d.ts +0 -2
  1368. package/packages/agent/src/api/wallet-env-sync.d.ts.map +0 -1
  1369. package/packages/agent/src/api/wallet-evm-balance.d.ts.map +0 -1
  1370. package/packages/agent/src/api/wallet-routes.d.ts +0 -41
  1371. package/packages/agent/src/api/wallet-routes.d.ts.map +0 -1
  1372. package/packages/agent/src/api/wallet-routes.js +0 -848
  1373. package/packages/agent/src/api/wallet-rpc.d.ts +0 -64
  1374. package/packages/agent/src/api/wallet-rpc.d.ts.map +0 -1
  1375. package/packages/agent/src/api/wallet-rpc.js +0 -437
  1376. package/packages/agent/src/api/wallet-trading-profile.d.ts.map +0 -1
  1377. package/packages/agent/src/api/wallet-trading-profile.js +0 -544
  1378. package/packages/agent/src/api/wallet.d.ts +0 -64
  1379. package/packages/agent/src/api/wallet.d.ts.map +0 -1
  1380. package/packages/agent/src/api/wallet.js +0 -780
  1381. package/packages/agent/src/api/workbench-helpers.d.ts +0 -39
  1382. package/packages/agent/src/api/workbench-helpers.d.ts.map +0 -1
  1383. package/packages/agent/src/api/workbench-helpers.js +0 -137
  1384. package/packages/agent/src/api/workbench-routes.d.ts +0 -43
  1385. package/packages/agent/src/api/workbench-routes.d.ts.map +0 -1
  1386. package/packages/agent/src/api/workbench-routes.js +0 -265
  1387. package/packages/agent/src/api/x-relay-routes.d.ts +0 -27
  1388. package/packages/agent/src/api/x-relay-routes.d.ts.map +0 -1
  1389. package/packages/agent/src/api/x-relay-routes.js +0 -134
  1390. package/packages/agent/src/api/zip-utils.d.ts.map +0 -1
  1391. package/packages/agent/src/auth/account-storage.d.ts +0 -48
  1392. package/packages/agent/src/auth/account-storage.d.ts.map +0 -1
  1393. package/packages/agent/src/auth/account-storage.js +0 -229
  1394. package/packages/agent/src/auth/anthropic.d.ts +0 -24
  1395. package/packages/agent/src/auth/anthropic.d.ts.map +0 -1
  1396. package/packages/agent/src/auth/claude-code-stealth-preload.d.ts +0 -2
  1397. package/packages/agent/src/auth/claude-code-stealth-preload.d.ts.map +0 -1
  1398. package/packages/agent/src/auth/claude-code-stealth-preload.js +0 -2
  1399. package/packages/agent/src/auth/claude-code-stealth.d.ts.map +0 -1
  1400. package/packages/agent/src/auth/claude-code-stealth.js +0 -116
  1401. package/packages/agent/src/auth/credentials.d.ts +0 -100
  1402. package/packages/agent/src/auth/credentials.d.ts.map +0 -1
  1403. package/packages/agent/src/auth/credentials.js +0 -553
  1404. package/packages/agent/src/auth/index.d.ts +0 -8
  1405. package/packages/agent/src/auth/index.d.ts.map +0 -1
  1406. package/packages/agent/src/auth/oauth-flow.d.ts +0 -106
  1407. package/packages/agent/src/auth/oauth-flow.d.ts.map +0 -1
  1408. package/packages/agent/src/auth/oauth-flow.js +0 -349
  1409. package/packages/agent/src/auth/openai-codex.d.ts +0 -27
  1410. package/packages/agent/src/auth/openai-codex.d.ts.map +0 -1
  1411. package/packages/agent/src/auth/openai-codex.js +0 -76
  1412. package/packages/agent/src/auth/refresh-mutex.d.ts +0 -19
  1413. package/packages/agent/src/auth/refresh-mutex.d.ts.map +0 -1
  1414. package/packages/agent/src/auth/refresh-mutex.js +0 -33
  1415. package/packages/agent/src/auth/types.d.ts +0 -58
  1416. package/packages/agent/src/auth/types.d.ts.map +0 -1
  1417. package/packages/agent/src/auth/types.js +0 -149
  1418. package/packages/agent/src/auth/vendor/pi-oauth/anthropic-login.d.ts.map +0 -1
  1419. package/packages/agent/src/auth/vendor/pi-oauth/anthropic-login.js +0 -113
  1420. package/packages/agent/src/auth/vendor/pi-oauth/openai-codex-login.d.ts +0 -26
  1421. package/packages/agent/src/auth/vendor/pi-oauth/openai-codex-login.d.ts.map +0 -1
  1422. package/packages/agent/src/auth/vendor/pi-oauth/openai-codex-login.js +0 -343
  1423. package/packages/agent/src/auth/vendor/pi-oauth/pkce.d.ts.map +0 -1
  1424. package/packages/agent/src/autonomy/index.d.ts +0 -48
  1425. package/packages/agent/src/autonomy/index.d.ts.map +0 -1
  1426. package/packages/agent/src/autonomy/index.js +0 -344
  1427. package/packages/agent/src/awareness/index.d.ts +0 -2
  1428. package/packages/agent/src/awareness/index.d.ts.map +0 -1
  1429. package/packages/agent/src/awareness/registry.d.ts.map +0 -1
  1430. package/packages/agent/src/bin.d.ts.map +0 -1
  1431. package/packages/agent/src/bin.js +0 -51
  1432. package/packages/agent/src/cli/benchmark.d.ts.map +0 -1
  1433. package/packages/agent/src/cli/benchmark.js +0 -293
  1434. package/packages/agent/src/cli/index.d.ts.map +0 -1
  1435. package/packages/agent/src/cli/index.js +0 -94
  1436. package/packages/agent/src/cli/parse-duration.d.ts +0 -5
  1437. package/packages/agent/src/cli/parse-duration.d.ts.map +0 -1
  1438. package/packages/agent/src/cli/parse-duration.js +0 -27
  1439. package/packages/agent/src/config/character-schema.d.ts.map +0 -1
  1440. package/packages/agent/src/config/config.d.ts.map +0 -1
  1441. package/packages/agent/src/config/config.js +0 -285
  1442. package/packages/agent/src/config/env-vars.d.ts +0 -9
  1443. package/packages/agent/src/config/env-vars.d.ts.map +0 -1
  1444. package/packages/agent/src/config/env-vars.js +0 -281
  1445. package/packages/agent/src/config/feature-flags.d.ts +0 -17
  1446. package/packages/agent/src/config/feature-flags.d.ts.map +0 -1
  1447. package/packages/agent/src/config/feature-flags.js +0 -37
  1448. package/packages/agent/src/config/includes.d.ts +0 -26
  1449. package/packages/agent/src/config/includes.d.ts.map +0 -1
  1450. package/packages/agent/src/config/includes.js +0 -149
  1451. package/packages/agent/src/config/index.d.ts +0 -11
  1452. package/packages/agent/src/config/index.d.ts.map +0 -1
  1453. package/packages/agent/src/config/model-metadata.d.ts +0 -20
  1454. package/packages/agent/src/config/model-metadata.d.ts.map +0 -1
  1455. package/packages/agent/src/config/model-metadata.js +0 -133
  1456. package/packages/agent/src/config/owner-contacts.d.ts +0 -42
  1457. package/packages/agent/src/config/owner-contacts.d.ts.map +0 -1
  1458. package/packages/agent/src/config/owner-contacts.js +0 -238
  1459. package/packages/agent/src/config/paths.d.ts +0 -17
  1460. package/packages/agent/src/config/paths.d.ts.map +0 -1
  1461. package/packages/agent/src/config/paths.js +0 -65
  1462. package/packages/agent/src/config/plugin-auto-enable.d.ts.map +0 -1
  1463. package/packages/agent/src/config/plugin-widgets.d.ts +0 -29
  1464. package/packages/agent/src/config/plugin-widgets.d.ts.map +0 -1
  1465. package/packages/agent/src/config/plugin-widgets.js +0 -104
  1466. package/packages/agent/src/config/schema.d.ts +0 -87
  1467. package/packages/agent/src/config/schema.d.ts.map +0 -1
  1468. package/packages/agent/src/config/schema.js +0 -928
  1469. package/packages/agent/src/config/telegram-custom-commands.d.ts.map +0 -1
  1470. package/packages/agent/src/config/types.agent-defaults.d.ts.map +0 -1
  1471. package/packages/agent/src/config/types.agents.d.ts.map +0 -1
  1472. package/packages/agent/src/config/types.d.ts.map +0 -1
  1473. package/packages/agent/src/config/types.eliza.d.ts.map +0 -1
  1474. package/packages/agent/src/config/types.gateway.d.ts +0 -2
  1475. package/packages/agent/src/config/types.gateway.d.ts.map +0 -1
  1476. package/packages/agent/src/config/types.gateway.js +0 -1
  1477. package/packages/agent/src/config/types.hooks.d.ts.map +0 -1
  1478. package/packages/agent/src/config/types.messages.d.ts.map +0 -1
  1479. package/packages/agent/src/config/types.tools.d.ts +0 -2
  1480. package/packages/agent/src/config/types.tools.d.ts.map +0 -1
  1481. package/packages/agent/src/config/types.tools.js +0 -1
  1482. package/packages/agent/src/config/zod-schema.agent-runtime.d.ts +0 -1164
  1483. package/packages/agent/src/config/zod-schema.agent-runtime.d.ts.map +0 -1
  1484. package/packages/agent/src/config/zod-schema.agent-runtime.js +0 -808
  1485. package/packages/agent/src/config/zod-schema.core.d.ts +0 -1279
  1486. package/packages/agent/src/config/zod-schema.core.d.ts.map +0 -1
  1487. package/packages/agent/src/config/zod-schema.core.js +0 -761
  1488. package/packages/agent/src/config/zod-schema.d.ts +0 -3404
  1489. package/packages/agent/src/config/zod-schema.d.ts.map +0 -1
  1490. package/packages/agent/src/config/zod-schema.hooks.d.ts.map +0 -1
  1491. package/packages/agent/src/config/zod-schema.js +0 -846
  1492. package/packages/agent/src/config/zod-schema.providers-core.d.ts +0 -2752
  1493. package/packages/agent/src/config/zod-schema.providers-core.d.ts.map +0 -1
  1494. package/packages/agent/src/config/zod-schema.providers-core.js +0 -969
  1495. package/packages/agent/src/config/zod-schema.session.d.ts +0 -183
  1496. package/packages/agent/src/config/zod-schema.session.d.ts.map +0 -1
  1497. package/packages/agent/src/contracts/awareness.d.ts.map +0 -1
  1498. package/packages/agent/src/contracts/index.d.ts +0 -2
  1499. package/packages/agent/src/contracts/index.d.ts.map +0 -1
  1500. package/packages/agent/src/contracts/index.js +0 -1
  1501. package/packages/agent/src/contracts/onboarding-provider-defaults.d.ts +0 -177
  1502. package/packages/agent/src/contracts/onboarding-provider-defaults.d.ts.map +0 -1
  1503. package/packages/agent/src/contracts/onboarding-provider-defaults.js +0 -202
  1504. package/packages/agent/src/diagnostics/index.d.ts +0 -2
  1505. package/packages/agent/src/diagnostics/index.d.ts.map +0 -1
  1506. package/packages/agent/src/diagnostics/index.js +0 -1
  1507. package/packages/agent/src/diagnostics/integration-observability.d.ts.map +0 -1
  1508. package/packages/agent/src/hooks/discovery.d.ts +0 -13
  1509. package/packages/agent/src/hooks/discovery.d.ts.map +0 -1
  1510. package/packages/agent/src/hooks/discovery.js +0 -191
  1511. package/packages/agent/src/hooks/eligibility.d.ts +0 -12
  1512. package/packages/agent/src/hooks/eligibility.d.ts.map +0 -1
  1513. package/packages/agent/src/hooks/index.d.ts +0 -3
  1514. package/packages/agent/src/hooks/index.d.ts.map +0 -1
  1515. package/packages/agent/src/hooks/loader.d.ts +0 -34
  1516. package/packages/agent/src/hooks/loader.d.ts.map +0 -1
  1517. package/packages/agent/src/hooks/loader.js +0 -214
  1518. package/packages/agent/src/hooks/registry.d.ts +0 -11
  1519. package/packages/agent/src/hooks/registry.d.ts.map +0 -1
  1520. package/packages/agent/src/hooks/types.d.ts.map +0 -1
  1521. package/packages/agent/src/index.d.ts +0 -73
  1522. package/packages/agent/src/index.d.ts.map +0 -1
  1523. package/packages/agent/src/index.js +0 -104
  1524. package/packages/agent/src/providers/admin-panel.d.ts.map +0 -1
  1525. package/packages/agent/src/providers/admin-trust.d.ts.map +0 -1
  1526. package/packages/agent/src/providers/automation-terminal-bridge.d.ts.map +0 -1
  1527. package/packages/agent/src/providers/automation-terminal-bridge.js +0 -77
  1528. package/packages/agent/src/providers/conversation-proximity.d.ts.map +0 -1
  1529. package/packages/agent/src/providers/escalation-trigger.d.ts.map +0 -1
  1530. package/packages/agent/src/providers/index.d.ts +0 -19
  1531. package/packages/agent/src/providers/index.d.ts.map +0 -1
  1532. package/packages/agent/src/providers/index.js +0 -18
  1533. package/packages/agent/src/providers/local-models.d.ts +0 -118
  1534. package/packages/agent/src/providers/local-models.d.ts.map +0 -1
  1535. package/packages/agent/src/providers/local-models.js +0 -418
  1536. package/packages/agent/src/providers/media-provider.d.ts +0 -233
  1537. package/packages/agent/src/providers/media-provider.d.ts.map +0 -1
  1538. package/packages/agent/src/providers/media-provider.js +0 -1474
  1539. package/packages/agent/src/providers/page-scoped-context.d.ts.map +0 -1
  1540. package/packages/agent/src/providers/page-scoped-context.js +0 -551
  1541. package/packages/agent/src/providers/pending-permissions-provider.d.ts +0 -19
  1542. package/packages/agent/src/providers/pending-permissions-provider.d.ts.map +0 -1
  1543. package/packages/agent/src/providers/pending-permissions-provider.js +0 -104
  1544. package/packages/agent/src/providers/recent-conversations.d.ts.map +0 -1
  1545. package/packages/agent/src/providers/recent-conversations.js +0 -100
  1546. package/packages/agent/src/providers/relevant-conversations.d.ts.map +0 -1
  1547. package/packages/agent/src/providers/relevant-conversations.js +0 -99
  1548. package/packages/agent/src/providers/role-backfill.d.ts +0 -18
  1549. package/packages/agent/src/providers/role-backfill.d.ts.map +0 -1
  1550. package/packages/agent/src/providers/role-backfill.js +0 -86
  1551. package/packages/agent/src/providers/rolodex.d.ts.map +0 -1
  1552. package/packages/agent/src/providers/rolodex.js +0 -83
  1553. package/packages/agent/src/providers/self-status.d.ts +0 -4
  1554. package/packages/agent/src/providers/self-status.d.ts.map +0 -1
  1555. package/packages/agent/src/providers/self-status.js +0 -22
  1556. package/packages/agent/src/providers/session-bridge.d.ts.map +0 -1
  1557. package/packages/agent/src/providers/session-bridge.js +0 -90
  1558. package/packages/agent/src/providers/session-utils.d.ts +0 -20
  1559. package/packages/agent/src/providers/session-utils.d.ts.map +0 -1
  1560. package/packages/agent/src/providers/session-utils.js +0 -32
  1561. package/packages/agent/src/providers/simple-mode.d.ts +0 -4
  1562. package/packages/agent/src/providers/simple-mode.d.ts.map +0 -1
  1563. package/packages/agent/src/providers/simple-mode.js +0 -49
  1564. package/packages/agent/src/providers/skill-provider.d.ts.map +0 -1
  1565. package/packages/agent/src/providers/tasks.d.ts.map +0 -1
  1566. package/packages/agent/src/providers/ui-catalog.d.ts.map +0 -1
  1567. package/packages/agent/src/providers/ui-catalog.js +0 -100
  1568. package/packages/agent/src/providers/user-name.d.ts.map +0 -1
  1569. package/packages/agent/src/providers/workspace-provider.d.ts.map +0 -1
  1570. package/packages/agent/src/providers/workspace-provider.js +0 -183
  1571. package/packages/agent/src/providers/workspace.d.ts +0 -53
  1572. package/packages/agent/src/providers/workspace.d.ts.map +0 -1
  1573. package/packages/agent/src/providers/workspace.js +0 -418
  1574. package/packages/agent/src/runtime/advanced-capabilities-config.d.ts +0 -8
  1575. package/packages/agent/src/runtime/advanced-capabilities-config.d.ts.map +0 -1
  1576. package/packages/agent/src/runtime/agent-event-service.d.ts.map +0 -1
  1577. package/packages/agent/src/runtime/agent-wallets.d.ts +0 -138
  1578. package/packages/agent/src/runtime/agent-wallets.d.ts.map +0 -1
  1579. package/packages/agent/src/runtime/agent-wallets.js +0 -308
  1580. package/packages/agent/src/runtime/analysis-mode-flag.d.ts +0 -93
  1581. package/packages/agent/src/runtime/analysis-mode-flag.d.ts.map +0 -1
  1582. package/packages/agent/src/runtime/analysis-mode-flag.js +0 -131
  1583. package/packages/agent/src/runtime/android-app-plugins.d.ts +0 -13
  1584. package/packages/agent/src/runtime/android-app-plugins.d.ts.map +0 -1
  1585. package/packages/agent/src/runtime/android-app-plugins.js +0 -48
  1586. package/packages/agent/src/runtime/aosp-dflash-adapter.d.ts +0 -99
  1587. package/packages/agent/src/runtime/aosp-dflash-adapter.d.ts.map +0 -1
  1588. package/packages/agent/src/runtime/aosp-dflash-adapter.js +0 -332
  1589. package/packages/agent/src/runtime/build-character-config.d.ts.map +0 -1
  1590. package/packages/agent/src/runtime/build-character-config.js +0 -176
  1591. package/packages/agent/src/runtime/conversation-compactor-runtime.d.ts +0 -141
  1592. package/packages/agent/src/runtime/conversation-compactor-runtime.d.ts.map +0 -1
  1593. package/packages/agent/src/runtime/conversation-compactor-runtime.js +0 -460
  1594. package/packages/agent/src/runtime/conversation-compactor.d.ts +0 -38
  1595. package/packages/agent/src/runtime/conversation-compactor.d.ts.map +0 -1
  1596. package/packages/agent/src/runtime/conversation-compactor.js +0 -1121
  1597. package/packages/agent/src/runtime/conversation-compactor.types.d.ts +0 -102
  1598. package/packages/agent/src/runtime/conversation-compactor.types.d.ts.map +0 -1
  1599. package/packages/agent/src/runtime/core-plugins.d.ts +0 -64
  1600. package/packages/agent/src/runtime/core-plugins.d.ts.map +0 -1
  1601. package/packages/agent/src/runtime/core-plugins.js +0 -120
  1602. package/packages/agent/src/runtime/custom-actions.d.ts +0 -43
  1603. package/packages/agent/src/runtime/custom-actions.d.ts.map +0 -1
  1604. package/packages/agent/src/runtime/custom-actions.js +0 -533
  1605. package/packages/agent/src/runtime/default-documents.d.ts +0 -21
  1606. package/packages/agent/src/runtime/default-documents.d.ts.map +0 -1
  1607. package/packages/agent/src/runtime/default-documents.js +0 -283
  1608. package/packages/agent/src/runtime/eliza-plugin.d.ts.map +0 -1
  1609. package/packages/agent/src/runtime/eliza-plugin.js +0 -180
  1610. package/packages/agent/src/runtime/eliza.d.ts +0 -109
  1611. package/packages/agent/src/runtime/eliza.d.ts.map +0 -1
  1612. package/packages/agent/src/runtime/eliza.js +0 -3372
  1613. package/packages/agent/src/runtime/embedding-presets.d.ts +0 -19
  1614. package/packages/agent/src/runtime/embedding-presets.d.ts.map +0 -1
  1615. package/packages/agent/src/runtime/embedding-presets.js +0 -60
  1616. package/packages/agent/src/runtime/first-time-setup.d.ts +0 -47
  1617. package/packages/agent/src/runtime/first-time-setup.d.ts.map +0 -1
  1618. package/packages/agent/src/runtime/first-time-setup.js +0 -704
  1619. package/packages/agent/src/runtime/index.d.ts +0 -20
  1620. package/packages/agent/src/runtime/index.d.ts.map +0 -1
  1621. package/packages/agent/src/runtime/index.js +0 -19
  1622. package/packages/agent/src/runtime/load-plugin-from-vfs.d.ts +0 -54
  1623. package/packages/agent/src/runtime/load-plugin-from-vfs.d.ts.map +0 -1
  1624. package/packages/agent/src/runtime/load-plugin-from-vfs.js +0 -86
  1625. package/packages/agent/src/runtime/local-execution-mode.d.ts +0 -11
  1626. package/packages/agent/src/runtime/local-execution-mode.d.ts.map +0 -1
  1627. package/packages/agent/src/runtime/model-resolution.d.ts.map +0 -1
  1628. package/packages/agent/src/runtime/model-resolution.js +0 -55
  1629. package/packages/agent/src/runtime/native-runtime-features.d.ts.map +0 -1
  1630. package/packages/agent/src/runtime/onboarding-names.d.ts +0 -11
  1631. package/packages/agent/src/runtime/onboarding-names.d.ts.map +0 -1
  1632. package/packages/agent/src/runtime/onboarding-names.js +0 -81
  1633. package/packages/agent/src/runtime/operations/classifier.d.ts +0 -36
  1634. package/packages/agent/src/runtime/operations/classifier.d.ts.map +0 -1
  1635. package/packages/agent/src/runtime/operations/classifier.js +0 -72
  1636. package/packages/agent/src/runtime/operations/cold-strategy.d.ts +0 -19
  1637. package/packages/agent/src/runtime/operations/cold-strategy.d.ts.map +0 -1
  1638. package/packages/agent/src/runtime/operations/health-checks.d.ts +0 -25
  1639. package/packages/agent/src/runtime/operations/health-checks.d.ts.map +0 -1
  1640. package/packages/agent/src/runtime/operations/health.d.ts +0 -32
  1641. package/packages/agent/src/runtime/operations/health.d.ts.map +0 -1
  1642. package/packages/agent/src/runtime/operations/index.d.ts +0 -17
  1643. package/packages/agent/src/runtime/operations/index.d.ts.map +0 -1
  1644. package/packages/agent/src/runtime/operations/manager.d.ts +0 -70
  1645. package/packages/agent/src/runtime/operations/manager.d.ts.map +0 -1
  1646. package/packages/agent/src/runtime/operations/manager.js +0 -202
  1647. package/packages/agent/src/runtime/operations/reload-hot.d.ts +0 -43
  1648. package/packages/agent/src/runtime/operations/reload-hot.d.ts.map +0 -1
  1649. package/packages/agent/src/runtime/operations/reload-hot.js +0 -181
  1650. package/packages/agent/src/runtime/operations/repository.d.ts +0 -66
  1651. package/packages/agent/src/runtime/operations/repository.d.ts.map +0 -1
  1652. package/packages/agent/src/runtime/operations/types.d.ts.map +0 -1
  1653. package/packages/agent/src/runtime/operations/vault-bridge.d.ts +0 -81
  1654. package/packages/agent/src/runtime/operations/vault-bridge.d.ts.map +0 -1
  1655. package/packages/agent/src/runtime/owner-entity.d.ts.map +0 -1
  1656. package/packages/agent/src/runtime/owner-entity.js +0 -30
  1657. package/packages/agent/src/runtime/pglite-error-compat.d.ts +0 -28
  1658. package/packages/agent/src/runtime/pglite-error-compat.d.ts.map +0 -1
  1659. package/packages/agent/src/runtime/pglite-error-compat.js +0 -54
  1660. package/packages/agent/src/runtime/plugin-collector.d.ts +0 -22
  1661. package/packages/agent/src/runtime/plugin-collector.d.ts.map +0 -1
  1662. package/packages/agent/src/runtime/plugin-collector.js +0 -503
  1663. package/packages/agent/src/runtime/plugin-lifecycle.d.ts +0 -45
  1664. package/packages/agent/src/runtime/plugin-lifecycle.d.ts.map +0 -1
  1665. package/packages/agent/src/runtime/plugin-lifecycle.js +0 -602
  1666. package/packages/agent/src/runtime/plugin-resolver.d.ts +0 -46
  1667. package/packages/agent/src/runtime/plugin-resolver.d.ts.map +0 -1
  1668. package/packages/agent/src/runtime/plugin-resolver.js +0 -1375
  1669. package/packages/agent/src/runtime/plugin-role-gating.d.ts +0 -24
  1670. package/packages/agent/src/runtime/plugin-role-gating.d.ts.map +0 -1
  1671. package/packages/agent/src/runtime/plugin-role-gating.js +0 -106
  1672. package/packages/agent/src/runtime/plugin-types.d.ts +0 -64
  1673. package/packages/agent/src/runtime/plugin-types.d.ts.map +0 -1
  1674. package/packages/agent/src/runtime/plugin-types.js +0 -306
  1675. package/packages/agent/src/runtime/prompt-compaction.d.ts +0 -98
  1676. package/packages/agent/src/runtime/prompt-compaction.d.ts.map +0 -1
  1677. package/packages/agent/src/runtime/prompt-compaction.js +0 -362
  1678. package/packages/agent/src/runtime/prompt-optimization.d.ts +0 -47
  1679. package/packages/agent/src/runtime/prompt-optimization.d.ts.map +0 -1
  1680. package/packages/agent/src/runtime/prompt-optimization.js +0 -1123
  1681. package/packages/agent/src/runtime/release-plugin-policy.d.ts.map +0 -1
  1682. package/packages/agent/src/runtime/release-plugin-policy.js +0 -85
  1683. package/packages/agent/src/runtime/restart.d.ts +0 -9
  1684. package/packages/agent/src/runtime/restart.d.ts.map +0 -1
  1685. package/packages/agent/src/runtime/restart.js +0 -8
  1686. package/packages/agent/src/runtime/roles/src/index.d.ts +0 -24
  1687. package/packages/agent/src/runtime/roles/src/index.d.ts.map +0 -1
  1688. package/packages/agent/src/runtime/roles/src/index.js +0 -255
  1689. package/packages/agent/src/runtime/roles/src/provider.d.ts.map +0 -1
  1690. package/packages/agent/src/runtime/roles/src/types.d.ts.map +0 -1
  1691. package/packages/agent/src/runtime/roles/src/utils.d.ts.map +0 -1
  1692. package/packages/agent/src/runtime/roles.d.ts +0 -3
  1693. package/packages/agent/src/runtime/roles.d.ts.map +0 -1
  1694. package/packages/agent/src/runtime/subagent-output.d.ts +0 -51
  1695. package/packages/agent/src/runtime/subagent-output.d.ts.map +0 -1
  1696. package/packages/agent/src/runtime/subagent-output.js +0 -173
  1697. package/packages/agent/src/runtime/task-heartbeat.d.ts +0 -22
  1698. package/packages/agent/src/runtime/task-heartbeat.d.ts.map +0 -1
  1699. package/packages/agent/src/runtime/task-heartbeat.js +0 -84
  1700. package/packages/agent/src/runtime/tool-call-cache/cache.d.ts +0 -62
  1701. package/packages/agent/src/runtime/tool-call-cache/cache.d.ts.map +0 -1
  1702. package/packages/agent/src/runtime/tool-call-cache/cache.js +0 -123
  1703. package/packages/agent/src/runtime/tool-call-cache/disk-store.d.ts +0 -23
  1704. package/packages/agent/src/runtime/tool-call-cache/disk-store.d.ts.map +0 -1
  1705. package/packages/agent/src/runtime/tool-call-cache/index.d.ts +0 -7
  1706. package/packages/agent/src/runtime/tool-call-cache/index.d.ts.map +0 -1
  1707. package/packages/agent/src/runtime/tool-call-cache/index.js +0 -4
  1708. package/packages/agent/src/runtime/tool-call-cache/key.d.ts +0 -11
  1709. package/packages/agent/src/runtime/tool-call-cache/key.d.ts.map +0 -1
  1710. package/packages/agent/src/runtime/tool-call-cache/key.js +0 -31
  1711. package/packages/agent/src/runtime/tool-call-cache/lru.d.ts.map +0 -1
  1712. package/packages/agent/src/runtime/tool-call-cache/redact.d.ts +0 -17
  1713. package/packages/agent/src/runtime/tool-call-cache/redact.d.ts.map +0 -1
  1714. package/packages/agent/src/runtime/tool-call-cache/redact.js +0 -77
  1715. package/packages/agent/src/runtime/tool-call-cache/registry.d.ts +0 -18
  1716. package/packages/agent/src/runtime/tool-call-cache/registry.d.ts.map +0 -1
  1717. package/packages/agent/src/runtime/tool-call-cache/registry.js +0 -66
  1718. package/packages/agent/src/runtime/tool-call-cache/types.d.ts.map +0 -1
  1719. package/packages/agent/src/runtime/tool-call-cache-wrapper.d.ts +0 -39
  1720. package/packages/agent/src/runtime/tool-call-cache-wrapper.d.ts.map +0 -1
  1721. package/packages/agent/src/runtime/tool-call-cache-wrapper.js +0 -72
  1722. package/packages/agent/src/runtime/trajectory-export.d.ts +0 -18
  1723. package/packages/agent/src/runtime/trajectory-export.d.ts.map +0 -1
  1724. package/packages/agent/src/runtime/trajectory-export.js +0 -109
  1725. package/packages/agent/src/runtime/trajectory-internals.d.ts +0 -242
  1726. package/packages/agent/src/runtime/trajectory-internals.d.ts.map +0 -1
  1727. package/packages/agent/src/runtime/trajectory-internals.js +0 -1281
  1728. package/packages/agent/src/runtime/trajectory-persistence.d.ts +0 -15
  1729. package/packages/agent/src/runtime/trajectory-persistence.d.ts.map +0 -1
  1730. package/packages/agent/src/runtime/trajectory-persistence.js +0 -29
  1731. package/packages/agent/src/runtime/trajectory-query.d.ts.map +0 -1
  1732. package/packages/agent/src/runtime/trajectory-query.js +0 -27
  1733. package/packages/agent/src/runtime/trajectory-storage.d.ts +0 -91
  1734. package/packages/agent/src/runtime/trajectory-storage.d.ts.map +0 -1
  1735. package/packages/agent/src/runtime/trajectory-storage.js +0 -1093
  1736. package/packages/agent/src/runtime/vault-profile-resolver.d.ts +0 -37
  1737. package/packages/agent/src/runtime/vault-profile-resolver.d.ts.map +0 -1
  1738. package/packages/agent/src/runtime/vault-profile-resolver.js +0 -79
  1739. package/packages/agent/src/runtime/version.d.ts.map +0 -1
  1740. package/packages/agent/src/runtime/web-search-tools.d.ts +0 -22
  1741. package/packages/agent/src/runtime/web-search-tools.d.ts.map +0 -1
  1742. package/packages/agent/src/runtime/web-search-tools.js +0 -151
  1743. package/packages/agent/src/security/access.d.ts.map +0 -1
  1744. package/packages/agent/src/security/access.js +0 -54
  1745. package/packages/agent/src/security/audit-log.d.ts.map +0 -1
  1746. package/packages/agent/src/security/audit-log.js +0 -161
  1747. package/packages/agent/src/security/index.d.ts +0 -4
  1748. package/packages/agent/src/security/index.d.ts.map +0 -1
  1749. package/packages/agent/src/security/network-policy.d.ts.map +0 -1
  1750. package/packages/agent/src/services/agent-export.d.ts +0 -100
  1751. package/packages/agent/src/services/agent-export.d.ts.map +0 -1
  1752. package/packages/agent/src/services/agent-export.js +0 -764
  1753. package/packages/agent/src/services/app-manager-agents-list-guard.d.ts.map +0 -1
  1754. package/packages/agent/src/services/app-manager.d.ts +0 -108
  1755. package/packages/agent/src/services/app-manager.d.ts.map +0 -1
  1756. package/packages/agent/src/services/app-manager.js +0 -1678
  1757. package/packages/agent/src/services/app-package-modules.d.ts +0 -22
  1758. package/packages/agent/src/services/app-package-modules.d.ts.map +0 -1
  1759. package/packages/agent/src/services/app-package-modules.js +0 -397
  1760. package/packages/agent/src/services/app-run-store.d.ts +0 -6
  1761. package/packages/agent/src/services/app-run-store.d.ts.map +0 -1
  1762. package/packages/agent/src/services/app-run-store.js +0 -547
  1763. package/packages/agent/src/services/app-session-gate.d.ts.map +0 -1
  1764. package/packages/agent/src/services/app-session-gate.js +0 -71
  1765. package/packages/agent/src/services/capability-broker.d.ts.map +0 -1
  1766. package/packages/agent/src/services/capability-broker.js +0 -339
  1767. package/packages/agent/src/services/character-history.d.ts.map +0 -1
  1768. package/packages/agent/src/services/character-persistence.d.ts +0 -25
  1769. package/packages/agent/src/services/character-persistence.d.ts.map +0 -1
  1770. package/packages/agent/src/services/client-chat-sender.d.ts +0 -19
  1771. package/packages/agent/src/services/client-chat-sender.d.ts.map +0 -1
  1772. package/packages/agent/src/services/client-chat-sender.js +0 -88
  1773. package/packages/agent/src/services/config-plugin-manager.d.ts +0 -6
  1774. package/packages/agent/src/services/config-plugin-manager.d.ts.map +0 -1
  1775. package/packages/agent/src/services/connector-setup-service.d.ts +0 -48
  1776. package/packages/agent/src/services/connector-setup-service.d.ts.map +0 -1
  1777. package/packages/agent/src/services/escalation.d.ts.map +0 -1
  1778. package/packages/agent/src/services/escalation.js +0 -376
  1779. package/packages/agent/src/services/evm-signing-capability.d.ts +0 -33
  1780. package/packages/agent/src/services/evm-signing-capability.d.ts.map +0 -1
  1781. package/packages/agent/src/services/evm-signing-capability.js +0 -52
  1782. package/packages/agent/src/services/external-bridge-state.d.ts +0 -10
  1783. package/packages/agent/src/services/external-bridge-state.d.ts.map +0 -1
  1784. package/packages/agent/src/services/external-bridge-state.js +0 -14
  1785. package/packages/agent/src/services/hosted-tools.d.ts +0 -70
  1786. package/packages/agent/src/services/hosted-tools.d.ts.map +0 -1
  1787. package/packages/agent/src/services/hosted-tools.js +0 -87
  1788. package/packages/agent/src/services/index.d.ts +0 -27
  1789. package/packages/agent/src/services/index.d.ts.map +0 -1
  1790. package/packages/agent/src/services/index.js +0 -32
  1791. package/packages/agent/src/services/js-runtime-bridge.d.ts.map +0 -1
  1792. package/packages/agent/src/services/js-runtime-bridge.js +0 -217
  1793. package/packages/agent/src/services/mcp-marketplace.d.ts.map +0 -1
  1794. package/packages/agent/src/services/mcp-marketplace.js +0 -200
  1795. package/packages/agent/src/services/media-generation.d.ts +0 -10
  1796. package/packages/agent/src/services/media-generation.d.ts.map +0 -1
  1797. package/packages/agent/src/services/media-generation.js +0 -102
  1798. package/packages/agent/src/services/overlay-app-presence.d.ts.map +0 -1
  1799. package/packages/agent/src/services/owner-name.d.ts.map +0 -1
  1800. package/packages/agent/src/services/permissions/contracts.d.ts +0 -9
  1801. package/packages/agent/src/services/permissions/contracts.d.ts.map +0 -1
  1802. package/packages/agent/src/services/permissions/contracts.js +0 -8
  1803. package/packages/agent/src/services/permissions/probers/_bridge.d.ts +0 -77
  1804. package/packages/agent/src/services/permissions/probers/_bridge.d.ts.map +0 -1
  1805. package/packages/agent/src/services/permissions/probers/_bridge.js +0 -224
  1806. package/packages/agent/src/services/permissions/probers/accessibility.d.ts.map +0 -1
  1807. package/packages/agent/src/services/permissions/probers/automation.d.ts +0 -17
  1808. package/packages/agent/src/services/permissions/probers/automation.d.ts.map +0 -1
  1809. package/packages/agent/src/services/permissions/probers/automation.js +0 -46
  1810. package/packages/agent/src/services/permissions/probers/calendar.d.ts +0 -14
  1811. package/packages/agent/src/services/permissions/probers/calendar.d.ts.map +0 -1
  1812. package/packages/agent/src/services/permissions/probers/calendar.js +0 -33
  1813. package/packages/agent/src/services/permissions/probers/camera.d.ts.map +0 -1
  1814. package/packages/agent/src/services/permissions/probers/contacts.d.ts +0 -13
  1815. package/packages/agent/src/services/permissions/probers/contacts.d.ts.map +0 -1
  1816. package/packages/agent/src/services/permissions/probers/contacts.js +0 -32
  1817. package/packages/agent/src/services/permissions/probers/full-disk.d.ts.map +0 -1
  1818. package/packages/agent/src/services/permissions/probers/health.d.ts +0 -23
  1819. package/packages/agent/src/services/permissions/probers/health.d.ts.map +0 -1
  1820. package/packages/agent/src/services/permissions/probers/health.js +0 -82
  1821. package/packages/agent/src/services/permissions/probers/index.d.ts.map +0 -1
  1822. package/packages/agent/src/services/permissions/probers/index.js +0 -42
  1823. package/packages/agent/src/services/permissions/probers/location.d.ts +0 -21
  1824. package/packages/agent/src/services/permissions/probers/location.d.ts.map +0 -1
  1825. package/packages/agent/src/services/permissions/probers/location.js +0 -47
  1826. package/packages/agent/src/services/permissions/probers/microphone.d.ts.map +0 -1
  1827. package/packages/agent/src/services/permissions/probers/notes.d.ts +0 -19
  1828. package/packages/agent/src/services/permissions/probers/notes.d.ts.map +0 -1
  1829. package/packages/agent/src/services/permissions/probers/notes.js +0 -55
  1830. package/packages/agent/src/services/permissions/probers/notifications.d.ts +0 -24
  1831. package/packages/agent/src/services/permissions/probers/notifications.d.ts.map +0 -1
  1832. package/packages/agent/src/services/permissions/probers/notifications.js +0 -47
  1833. package/packages/agent/src/services/permissions/probers/reminders.d.ts +0 -22
  1834. package/packages/agent/src/services/permissions/probers/reminders.d.ts.map +0 -1
  1835. package/packages/agent/src/services/permissions/probers/reminders.js +0 -44
  1836. package/packages/agent/src/services/permissions/probers/screen-recording.d.ts.map +0 -1
  1837. package/packages/agent/src/services/permissions/probers/screentime.d.ts +0 -21
  1838. package/packages/agent/src/services/permissions/probers/screentime.d.ts.map +0 -1
  1839. package/packages/agent/src/services/permissions/probers/screentime.js +0 -67
  1840. package/packages/agent/src/services/permissions/probers/shell.d.ts +0 -19
  1841. package/packages/agent/src/services/permissions/probers/shell.d.ts.map +0 -1
  1842. package/packages/agent/src/services/permissions/probers/shell.js +0 -31
  1843. package/packages/agent/src/services/permissions/probers/website-blocking.d.ts.map +0 -1
  1844. package/packages/agent/src/services/permissions/register-probers.d.ts +0 -29
  1845. package/packages/agent/src/services/permissions/register-probers.d.ts.map +0 -1
  1846. package/packages/agent/src/services/permissions/register-probers.js +0 -31
  1847. package/packages/agent/src/services/permissions-registry.d.ts.map +0 -1
  1848. package/packages/agent/src/services/permissions-registry.js +0 -213
  1849. package/packages/agent/src/services/plugin-compiler.d.ts +0 -51
  1850. package/packages/agent/src/services/plugin-compiler.d.ts.map +0 -1
  1851. package/packages/agent/src/services/plugin-compiler.js +0 -90
  1852. package/packages/agent/src/services/plugin-installer.d.ts +0 -93
  1853. package/packages/agent/src/services/plugin-installer.d.ts.map +0 -1
  1854. package/packages/agent/src/services/plugin-installer.js +0 -623
  1855. package/packages/agent/src/services/plugin-manager-types.d.ts +0 -114
  1856. package/packages/agent/src/services/plugin-manager-types.d.ts.map +0 -1
  1857. package/packages/agent/src/services/registry-client-app-meta.d.ts +0 -6
  1858. package/packages/agent/src/services/registry-client-app-meta.d.ts.map +0 -1
  1859. package/packages/agent/src/services/registry-client-app-meta.js +0 -168
  1860. package/packages/agent/src/services/registry-client-endpoints.d.ts +0 -7
  1861. package/packages/agent/src/services/registry-client-endpoints.d.ts.map +0 -1
  1862. package/packages/agent/src/services/registry-client-endpoints.js +0 -190
  1863. package/packages/agent/src/services/registry-client-local.d.ts +0 -4
  1864. package/packages/agent/src/services/registry-client-local.d.ts.map +0 -1
  1865. package/packages/agent/src/services/registry-client-local.js +0 -555
  1866. package/packages/agent/src/services/registry-client-network.d.ts +0 -14
  1867. package/packages/agent/src/services/registry-client-network.d.ts.map +0 -1
  1868. package/packages/agent/src/services/registry-client-network.js +0 -147
  1869. package/packages/agent/src/services/registry-client-queries.d.ts +0 -26
  1870. package/packages/agent/src/services/registry-client-queries.d.ts.map +0 -1
  1871. package/packages/agent/src/services/registry-client-queries.js +0 -197
  1872. package/packages/agent/src/services/registry-client-types.d.ts +0 -114
  1873. package/packages/agent/src/services/registry-client-types.d.ts.map +0 -1
  1874. package/packages/agent/src/services/registry-client.d.ts +0 -39
  1875. package/packages/agent/src/services/registry-client.d.ts.map +0 -1
  1876. package/packages/agent/src/services/registry-client.js +0 -349
  1877. package/packages/agent/src/services/relationships-graph.d.ts +0 -13
  1878. package/packages/agent/src/services/relationships-graph.d.ts.map +0 -1
  1879. package/packages/agent/src/services/relationships-graph.js +0 -38
  1880. package/packages/agent/src/services/remote-signing-service.d.ts +0 -58
  1881. package/packages/agent/src/services/remote-signing-service.d.ts.map +0 -1
  1882. package/packages/agent/src/services/remote-signing-service.js +0 -185
  1883. package/packages/agent/src/services/research-task-executor.d.ts +0 -14
  1884. package/packages/agent/src/services/research-task-executor.d.ts.map +0 -1
  1885. package/packages/agent/src/services/research-task-executor.js +0 -138
  1886. package/packages/agent/src/services/sandbox-engine.d.ts.map +0 -1
  1887. package/packages/agent/src/services/sandbox-manager.d.ts +0 -127
  1888. package/packages/agent/src/services/sandbox-manager.d.ts.map +0 -1
  1889. package/packages/agent/src/services/sandbox-manager.js +0 -418
  1890. package/packages/agent/src/services/self-updater.d.ts +0 -21
  1891. package/packages/agent/src/services/self-updater.d.ts.map +0 -1
  1892. package/packages/agent/src/services/self-updater.js +0 -162
  1893. package/packages/agent/src/services/send-handler-availability.d.ts.map +0 -1
  1894. package/packages/agent/src/services/send-handler-availability.js +0 -20
  1895. package/packages/agent/src/services/shell-execution-router.d.ts +0 -67
  1896. package/packages/agent/src/services/shell-execution-router.d.ts.map +0 -1
  1897. package/packages/agent/src/services/shell-execution-router.js +0 -201
  1898. package/packages/agent/src/services/signing-policy.d.ts +0 -44
  1899. package/packages/agent/src/services/signing-policy.d.ts.map +0 -1
  1900. package/packages/agent/src/services/skill-catalog-client.d.ts +0 -47
  1901. package/packages/agent/src/services/skill-catalog-client.d.ts.map +0 -1
  1902. package/packages/agent/src/services/skill-catalog-client.js +0 -130
  1903. package/packages/agent/src/services/skill-marketplace.d.ts +0 -42
  1904. package/packages/agent/src/services/skill-marketplace.d.ts.map +0 -1
  1905. package/packages/agent/src/services/skill-marketplace.js +0 -691
  1906. package/packages/agent/src/services/task-executor.d.ts.map +0 -1
  1907. package/packages/agent/src/services/update-checker.d.ts +0 -29
  1908. package/packages/agent/src/services/update-checker.d.ts.map +0 -1
  1909. package/packages/agent/src/services/version-compat.d.ts.map +0 -1
  1910. package/packages/agent/src/services/version-compat.js +0 -211
  1911. package/packages/agent/src/services/virtual-filesystem.d.ts +0 -88
  1912. package/packages/agent/src/services/virtual-filesystem.d.ts.map +0 -1
  1913. package/packages/agent/src/services/virtual-filesystem.js +0 -410
  1914. package/packages/agent/src/shared/conversation-format.d.ts.map +0 -1
  1915. package/packages/agent/src/shared/conversation-format.js +0 -69
  1916. package/packages/agent/src/shared/index.d.ts +0 -4
  1917. package/packages/agent/src/shared/index.d.ts.map +0 -1
  1918. package/packages/agent/src/shared/index.js +0 -3
  1919. package/packages/agent/src/shared/ui-catalog-prompt.d.ts.map +0 -1
  1920. package/packages/agent/src/shared/workspace-resolution.d.ts.map +0 -1
  1921. package/packages/agent/src/shared/workspace-resolution.js +0 -70
  1922. package/packages/agent/src/templates/skill-scaffold.d.ts +0 -9
  1923. package/packages/agent/src/templates/skill-scaffold.d.ts.map +0 -1
  1924. package/packages/agent/src/templates/skill-scaffold.js +0 -26
  1925. package/packages/agent/src/test-support/index.d.ts +0 -4
  1926. package/packages/agent/src/test-support/index.d.ts.map +0 -1
  1927. package/packages/agent/src/test-support/process-helpers.d.ts.map +0 -1
  1928. package/packages/agent/src/test-support/route-test-helpers.d.ts.map +0 -1
  1929. package/packages/agent/src/test-support/test-helpers.d.ts.map +0 -1
  1930. package/packages/agent/src/test-utils/sqlite-compat.d.ts +0 -23
  1931. package/packages/agent/src/test-utils/sqlite-compat.d.ts.map +0 -1
  1932. package/packages/agent/src/test-utils/sqlite-compat.js +0 -214
  1933. package/packages/agent/src/testing/index.d.ts +0 -4
  1934. package/packages/agent/src/testing/index.d.ts.map +0 -1
  1935. package/packages/agent/src/testing/index.js +0 -3
  1936. package/packages/agent/src/triggers/index.d.ts +0 -5
  1937. package/packages/agent/src/triggers/index.d.ts.map +0 -1
  1938. package/packages/agent/src/triggers/index.js +0 -4
  1939. package/packages/agent/src/triggers/runtime.d.ts +0 -30
  1940. package/packages/agent/src/triggers/runtime.d.ts.map +0 -1
  1941. package/packages/agent/src/triggers/runtime.js +0 -447
  1942. package/packages/agent/src/triggers/scheduling.d.ts +0 -78
  1943. package/packages/agent/src/triggers/scheduling.d.ts.map +0 -1
  1944. package/packages/agent/src/triggers/scheduling.js +0 -436
  1945. package/packages/agent/src/triggers/text-to-workflow.d.ts +0 -58
  1946. package/packages/agent/src/triggers/text-to-workflow.d.ts.map +0 -1
  1947. package/packages/agent/src/triggers/text-to-workflow.js +0 -44
  1948. package/packages/agent/src/triggers/types.d.ts +0 -96
  1949. package/packages/agent/src/triggers/types.d.ts.map +0 -1
  1950. package/packages/agent/src/types/agent-skills.d.ts.map +0 -1
  1951. package/packages/agent/src/types/config-like.d.ts.map +0 -1
  1952. package/packages/agent/src/types/index.d.ts +0 -4
  1953. package/packages/agent/src/types/index.d.ts.map +0 -1
  1954. package/packages/agent/src/types/trajectory.d.ts +0 -20
  1955. package/packages/agent/src/types/trajectory.d.ts.map +0 -1
  1956. package/packages/agent/src/utils/atomic-json.d.ts.map +0 -1
  1957. package/packages/agent/src/utils/exec-safety.d.ts +0 -2
  1958. package/packages/agent/src/utils/exec-safety.d.ts.map +0 -1
  1959. package/packages/agent/src/utils/exec-safety.js +0 -21
  1960. package/packages/agent/src/utils/index.d.ts +0 -2
  1961. package/packages/agent/src/utils/index.d.ts.map +0 -1
  1962. package/packages/agent/src/utils/index.js +0 -1
  1963. package/packages/agent/src/utils/number-parsing.d.ts +0 -26
  1964. package/packages/agent/src/utils/number-parsing.d.ts.map +0 -1
  1965. package/packages/agent/src/utils/number-parsing.js +0 -51
  1966. package/packages/agent/src/version-resolver.d.ts.map +0 -1
  1967. /package/{packages/agent/src/actions → actions}/connector-resolver.d.ts +0 -0
  1968. /package/{packages/agent/src/actions → actions}/contact.d.ts +0 -0
  1969. /package/{packages/agent/src/actions → actions}/context-signal-lexicon.d.ts +0 -0
  1970. /package/{packages/agent/src/actions → actions}/context-signal-lexicon.js +0 -0
  1971. /package/{packages/agent/src/actions → actions}/database.d.ts +0 -0
  1972. /package/{packages/agent/src/actions → actions}/grounded-action-reply.d.ts +0 -0
  1973. /package/{packages/agent/src/actions → actions}/logs.d.ts +0 -0
  1974. /package/{packages/agent/src/actions → actions}/logs.js +0 -0
  1975. /package/{packages/agent/src/actions → actions}/recent-conversation-texts.d.ts +0 -0
  1976. /package/{packages/agent/src/actions → actions}/runtime.d.ts +0 -0
  1977. /package/{packages/agent/src/actions → actions}/terminal.d.ts +0 -0
  1978. /package/{packages/agent/src/actions → actions}/trigger.d.ts +0 -0
  1979. /package/{packages/agent/src/api → api}/agent-lifecycle-routes.d.ts +0 -0
  1980. /package/{packages/agent/src/api → api}/agent-transfer-routes.d.ts +0 -0
  1981. /package/{packages/agent/src/api → api}/auth-routes.d.ts +0 -0
  1982. /package/{packages/agent/src/api → api}/avatar-routes.d.ts +0 -0
  1983. /package/{packages/agent/src/api → api}/chat-text-helpers.d.ts +0 -0
  1984. /package/{packages/agent/src/api → api}/chat-text-helpers.js +0 -0
  1985. /package/{packages/agent/src/api → api}/client-chat-admin.d.ts +0 -0
  1986. /package/{packages/agent/src/api → api}/client-chat-admin.js +0 -0
  1987. /package/{packages/agent/src/api → api}/compat-utils.d.ts +0 -0
  1988. /package/{packages/agent/src/api → api}/compat-utils.js +0 -0
  1989. /package/{packages/agent/src/api → api}/config-env.d.ts +0 -0
  1990. /package/{packages/agent/src/api → api}/connector-account-routes.d.ts +0 -0
  1991. /package/{packages/agent/src/api → api}/connector-health.d.ts +0 -0
  1992. /package/{packages/agent/src/api → api}/connector-health.js +0 -0
  1993. /package/{packages/agent/src/api → api}/connector-oauth-callback-auth.d.ts +0 -0
  1994. /package/{packages/agent/src/api → api}/connector-oauth-callback-auth.js +0 -0
  1995. /package/{packages/agent/src/api → api}/coordinator-wiring.d.ts +0 -0
  1996. /package/{packages/agent/src/api → api}/early-logs.js +0 -0
  1997. /package/{packages/agent/src/api → api}/inbox-routes.d.ts +0 -0
  1998. /package/{packages/agent/src/api → api}/memory-routes.d.ts +0 -0
  1999. /package/{packages/agent/src/api → api}/mobile-optional-routes.d.ts +0 -0
  2000. /package/{packages/agent/src/api → api}/models-routes.d.ts +0 -0
  2001. /package/{packages/agent/src/api → api}/models-routes.js +0 -0
  2002. /package/{packages/agent/src/api → api}/music-player-route-fallback.d.ts +0 -0
  2003. /package/{packages/agent/src/api → api}/music-player-route-fallback.js +0 -0
  2004. /package/{packages/agent/src/api → api}/owner-contact-helpers.d.ts +0 -0
  2005. /package/{packages/agent/src/api → api}/owner-contact-helpers.js +0 -0
  2006. /package/{packages/agent/src/api → api}/parse-action-block.js +0 -0
  2007. /package/{packages/agent/src/api → api}/permissions-routes-extra.js +0 -0
  2008. /package/{packages/agent/src/api → api}/plugin-validation.d.ts +0 -0
  2009. /package/{packages/agent/src/api → api}/plugin-validation.js +0 -0
  2010. /package/{packages/agent/src/api → api}/rate-limiter.d.ts +0 -0
  2011. /package/{packages/agent/src/api → api}/rate-limiter.js +0 -0
  2012. /package/{packages/agent/src/api → api}/relationships-routes.d.ts +0 -0
  2013. /package/{packages/agent/src/api → api}/runtime-plugin-routes.d.ts +0 -0
  2014. /package/{packages/agent/src/api → api}/server-autonomy-helpers.js +0 -0
  2015. /package/{packages/agent/src/api → api}/server-helpers-fetch.d.ts +0 -0
  2016. /package/{packages/agent/src/api → api}/server-helpers-fetch.js +0 -0
  2017. /package/{packages/agent/src/api → api}/server-helpers-plugin.js +0 -0
  2018. /package/{packages/agent/src/api → api}/server-helpers-wallet.js +0 -0
  2019. /package/{packages/agent/src/api/training-service-like.js → api/server-types.js} +0 -0
  2020. /package/{packages/agent/src/api → api}/task-agent-message-routing.d.ts +0 -0
  2021. /package/{packages/agent/src/api → api}/task-agent-message-routing.js +0 -0
  2022. /package/{packages/agent/src/api → api}/terminal-execution-routing.js +0 -0
  2023. /package/{packages/agent/src/api → api}/terminal-run-limits.d.ts +0 -0
  2024. /package/{packages/agent/src/api → api}/training-backend-check.d.ts +0 -0
  2025. /package/{packages/agent/src/api → api}/training-backend-check.js +0 -0
  2026. /package/{packages/agent/src/services/registry-client-types.js → api/training-service-like.js} +0 -0
  2027. /package/{packages/agent/src/api → api}/wallet-dex-prices.d.ts +0 -0
  2028. /package/{packages/agent/src/api → api}/wallet-dex-prices.js +0 -0
  2029. /package/{packages/agent/src/api → api}/wallet-env-sync.js +0 -0
  2030. /package/{packages/agent/src/api → api}/wallet-evm-balance.d.ts +0 -0
  2031. /package/{packages/agent/src/api → api}/wallet-evm-balance.js +0 -0
  2032. /package/{packages/agent/src/api → api}/wallet-trading-profile.d.ts +0 -0
  2033. /package/{packages/agent/src/api → api}/zip-utils.d.ts +0 -0
  2034. /package/{packages/agent/src/api → api}/zip-utils.js +0 -0
  2035. /package/{packages/agent/src/auth → auth}/anthropic.js +0 -0
  2036. /package/{packages/agent/src/auth → auth}/claude-code-stealth.d.ts +0 -0
  2037. /package/{packages/agent/src/auth → auth}/index.js +0 -0
  2038. /package/{packages/agent/src/auth → auth}/vendor/pi-oauth/anthropic-login.d.ts +0 -0
  2039. /package/{packages/agent/src/auth → auth}/vendor/pi-oauth/pkce.d.ts +0 -0
  2040. /package/{packages/agent/src/auth → auth}/vendor/pi-oauth/pkce.js +0 -0
  2041. /package/{packages/agent/src/awareness → awareness}/index.js +0 -0
  2042. /package/{packages/agent/src/awareness → awareness}/registry.d.ts +0 -0
  2043. /package/{packages/agent/src/awareness → awareness}/registry.js +0 -0
  2044. /package/{packages/agent/src/bin.d.ts → bin.d.ts} +0 -0
  2045. /package/{packages/agent/src/cli → cli}/benchmark.d.ts +0 -0
  2046. /package/{packages/agent/src/cli → cli}/index.d.ts +0 -0
  2047. /package/{packages/agent/src/config → config}/character-schema.d.ts +0 -0
  2048. /package/{packages/agent/src/config → config}/character-schema.js +0 -0
  2049. /package/{packages/agent/src/config → config}/config.d.ts +0 -0
  2050. /package/{packages/agent/src/config → config}/index.js +0 -0
  2051. /package/{packages/agent/src/config → config}/plugin-auto-enable.d.ts +0 -0
  2052. /package/{packages/agent/src/config → config}/plugin-auto-enable.js +0 -0
  2053. /package/{packages/agent/src/config → config}/telegram-custom-commands.d.ts +0 -0
  2054. /package/{packages/agent/src/config → config}/telegram-custom-commands.js +0 -0
  2055. /package/{packages/agent/src/config → config}/types.agent-defaults.d.ts +0 -0
  2056. /package/{packages/agent/src/config → config}/types.agent-defaults.js +0 -0
  2057. /package/{packages/agent/src/config → config}/types.agents.d.ts +0 -0
  2058. /package/{packages/agent/src/config → config}/types.agents.js +0 -0
  2059. /package/{packages/agent/src/config → config}/types.d.ts +0 -0
  2060. /package/{packages/agent/src/config → config}/types.eliza.d.ts +0 -0
  2061. /package/{packages/agent/src/config → config}/types.eliza.js +0 -0
  2062. /package/{packages/agent/src/config → config}/types.hooks.d.ts +0 -0
  2063. /package/{packages/agent/src/config → config}/types.hooks.js +0 -0
  2064. /package/{packages/agent/src/config → config}/types.js +0 -0
  2065. /package/{packages/agent/src/config → config}/types.messages.d.ts +0 -0
  2066. /package/{packages/agent/src/config → config}/types.messages.js +0 -0
  2067. /package/{packages/agent/src/config → config}/zod-schema.hooks.d.ts +0 -0
  2068. /package/{packages/agent/src/config → config}/zod-schema.hooks.js +0 -0
  2069. /package/{packages/agent/src/config → config}/zod-schema.session.js +0 -0
  2070. /package/{packages/agent/src/contracts → contracts}/awareness.d.ts +0 -0
  2071. /package/{packages/agent/src/contracts → contracts}/awareness.js +0 -0
  2072. /package/{packages/agent/src/diagnostics → diagnostics}/integration-observability.d.ts +0 -0
  2073. /package/{packages/agent/src/diagnostics → diagnostics}/integration-observability.js +0 -0
  2074. /package/{packages/agent/src/hooks → hooks}/eligibility.js +0 -0
  2075. /package/{packages/agent/src/hooks → hooks}/index.js +0 -0
  2076. /package/{packages/agent/src/hooks → hooks}/registry.js +0 -0
  2077. /package/{packages/agent/src/hooks → hooks}/types.d.ts +0 -0
  2078. /package/{packages/agent/src/hooks → hooks}/types.js +0 -0
  2079. /package/{packages/agent/src/providers → providers}/admin-panel.d.ts +0 -0
  2080. /package/{packages/agent/src/providers → providers}/admin-panel.js +0 -0
  2081. /package/{packages/agent/src/providers → providers}/admin-trust.d.ts +0 -0
  2082. /package/{packages/agent/src/providers → providers}/admin-trust.js +0 -0
  2083. /package/{packages/agent/src/providers → providers}/automation-terminal-bridge.d.ts +0 -0
  2084. /package/{packages/agent/src/providers → providers}/conversation-proximity.d.ts +0 -0
  2085. /package/{packages/agent/src/providers → providers}/conversation-proximity.js +0 -0
  2086. /package/{packages/agent/src/providers → providers}/escalation-trigger.d.ts +0 -0
  2087. /package/{packages/agent/src/providers → providers}/escalation-trigger.js +0 -0
  2088. /package/{packages/agent/src/providers → providers}/page-scoped-context.d.ts +0 -0
  2089. /package/{packages/agent/src/providers → providers}/recent-conversations.d.ts +0 -0
  2090. /package/{packages/agent/src/providers → providers}/relevant-conversations.d.ts +0 -0
  2091. /package/{packages/agent/src/providers → providers}/rolodex.d.ts +0 -0
  2092. /package/{packages/agent/src/providers → providers}/session-bridge.d.ts +0 -0
  2093. /package/{packages/agent/src/providers → providers}/skill-provider.d.ts +0 -0
  2094. /package/{packages/agent/src/providers → providers}/skill-provider.js +0 -0
  2095. /package/{packages/agent/src/providers → providers}/tasks.d.ts +0 -0
  2096. /package/{packages/agent/src/providers → providers}/tasks.js +0 -0
  2097. /package/{packages/agent/src/providers → providers}/ui-catalog.d.ts +0 -0
  2098. /package/{packages/agent/src/providers → providers}/user-name.d.ts +0 -0
  2099. /package/{packages/agent/src/providers → providers}/user-name.js +0 -0
  2100. /package/{packages/agent/src/providers → providers}/workspace-provider.d.ts +0 -0
  2101. /package/{packages/agent/src/runtime → runtime}/advanced-capabilities-config.js +0 -0
  2102. /package/{packages/agent/src/runtime → runtime}/agent-event-service.d.ts +0 -0
  2103. /package/{packages/agent/src/runtime → runtime}/agent-event-service.js +0 -0
  2104. /package/{packages/agent/src/runtime → runtime}/build-character-config.d.ts +0 -0
  2105. /package/{packages/agent/src/runtime → runtime}/conversation-compactor.types.js +0 -0
  2106. /package/{packages/agent/src/runtime → runtime}/eliza-plugin.d.ts +0 -0
  2107. /package/{packages/agent/src/runtime → runtime}/local-execution-mode.js +0 -0
  2108. /package/{packages/agent/src/runtime → runtime}/model-resolution.d.ts +0 -0
  2109. /package/{packages/agent/src/runtime → runtime}/native-runtime-features.d.ts +0 -0
  2110. /package/{packages/agent/src/runtime → runtime}/native-runtime-features.js +0 -0
  2111. /package/{packages/agent/src/runtime → runtime}/operations/cold-strategy.js +0 -0
  2112. /package/{packages/agent/src/runtime → runtime}/operations/health-checks.js +0 -0
  2113. /package/{packages/agent/src/runtime → runtime}/operations/health.js +0 -0
  2114. /package/{packages/agent/src/runtime → runtime}/operations/index.js +0 -0
  2115. /package/{packages/agent/src/runtime → runtime}/operations/repository.js +0 -0
  2116. /package/{packages/agent/src/runtime → runtime}/operations/types.d.ts +0 -0
  2117. /package/{packages/agent/src/runtime → runtime}/operations/types.js +0 -0
  2118. /package/{packages/agent/src/runtime → runtime}/operations/vault-bridge.js +0 -0
  2119. /package/{packages/agent/src/runtime → runtime}/owner-entity.d.ts +0 -0
  2120. /package/{packages/agent/src/runtime → runtime}/release-plugin-policy.d.ts +0 -0
  2121. /package/{packages/agent/src/runtime → runtime}/roles/src/provider.d.ts +0 -0
  2122. /package/{packages/agent/src/runtime → runtime}/roles/src/provider.js +0 -0
  2123. /package/{packages/agent/src/runtime → runtime}/roles/src/types.d.ts +0 -0
  2124. /package/{packages/agent/src/runtime → runtime}/roles/src/types.js +0 -0
  2125. /package/{packages/agent/src/runtime → runtime}/roles/src/utils.d.ts +0 -0
  2126. /package/{packages/agent/src/runtime → runtime}/roles/src/utils.js +0 -0
  2127. /package/{packages/agent/src/runtime → runtime}/roles.js +0 -0
  2128. /package/{packages/agent/src/runtime → runtime}/tool-call-cache/disk-store.js +0 -0
  2129. /package/{packages/agent/src/runtime → runtime}/tool-call-cache/lru.d.ts +0 -0
  2130. /package/{packages/agent/src/runtime → runtime}/tool-call-cache/lru.js +0 -0
  2131. /package/{packages/agent/src/runtime → runtime}/tool-call-cache/types.d.ts +0 -0
  2132. /package/{packages/agent/src/runtime → runtime}/tool-call-cache/types.js +0 -0
  2133. /package/{packages/agent/src/runtime → runtime}/trajectory-query.d.ts +0 -0
  2134. /package/{packages/agent/src/runtime → runtime}/version.d.ts +0 -0
  2135. /package/{packages/agent/src/runtime → runtime}/version.js +0 -0
  2136. /package/{packages/agent/src/security → security}/access.d.ts +0 -0
  2137. /package/{packages/agent/src/security → security}/audit-log.d.ts +0 -0
  2138. /package/{packages/agent/src/security → security}/index.js +0 -0
  2139. /package/{packages/agent/src/security → security}/network-policy.d.ts +0 -0
  2140. /package/{packages/agent/src/security → security}/network-policy.js +0 -0
  2141. /package/{packages/agent/src/services → services}/app-manager-agents-list-guard.d.ts +0 -0
  2142. /package/{packages/agent/src/services → services}/app-manager-agents-list-guard.js +0 -0
  2143. /package/{packages/agent/src/services → services}/app-session-gate.d.ts +0 -0
  2144. /package/{packages/agent/src/services → services}/capability-broker.d.ts +0 -0
  2145. /package/{packages/agent/src/services → services}/character-history.d.ts +0 -0
  2146. /package/{packages/agent/src/services → services}/character-history.js +0 -0
  2147. /package/{packages/agent/src/services → services}/character-persistence.js +0 -0
  2148. /package/{packages/agent/src/services → services}/config-plugin-manager.js +0 -0
  2149. /package/{packages/agent/src/services → services}/connector-setup-service.js +0 -0
  2150. /package/{packages/agent/src/services → services}/escalation.d.ts +0 -0
  2151. /package/{packages/agent/src/services → services}/js-runtime-bridge.d.ts +0 -0
  2152. /package/{packages/agent/src/services → services}/mcp-marketplace.d.ts +0 -0
  2153. /package/{packages/agent/src/services → services}/overlay-app-presence.d.ts +0 -0
  2154. /package/{packages/agent/src/services → services}/overlay-app-presence.js +0 -0
  2155. /package/{packages/agent/src/services → services}/owner-name.d.ts +0 -0
  2156. /package/{packages/agent/src/services → services}/owner-name.js +0 -0
  2157. /package/{packages/agent/src/services → services}/permissions/probers/accessibility.d.ts +0 -0
  2158. /package/{packages/agent/src/services → services}/permissions/probers/accessibility.js +0 -0
  2159. /package/{packages/agent/src/services → services}/permissions/probers/camera.d.ts +0 -0
  2160. /package/{packages/agent/src/services → services}/permissions/probers/camera.js +0 -0
  2161. /package/{packages/agent/src/services → services}/permissions/probers/full-disk.d.ts +0 -0
  2162. /package/{packages/agent/src/services → services}/permissions/probers/full-disk.js +0 -0
  2163. /package/{packages/agent/src/services → services}/permissions/probers/index.d.ts +0 -0
  2164. /package/{packages/agent/src/services → services}/permissions/probers/microphone.d.ts +0 -0
  2165. /package/{packages/agent/src/services → services}/permissions/probers/microphone.js +0 -0
  2166. /package/{packages/agent/src/services → services}/permissions/probers/screen-recording.d.ts +0 -0
  2167. /package/{packages/agent/src/services → services}/permissions/probers/screen-recording.js +0 -0
  2168. /package/{packages/agent/src/services → services}/permissions/probers/website-blocking.d.ts +0 -0
  2169. /package/{packages/agent/src/services → services}/permissions/probers/website-blocking.js +0 -0
  2170. /package/{packages/agent/src/services → services}/permissions-registry.d.ts +0 -0
  2171. /package/{packages/agent/src/services → services}/plugin-manager-types.js +0 -0
  2172. /package/{packages/agent/src/services → services}/sandbox-engine.d.ts +0 -0
  2173. /package/{packages/agent/src/services → services}/sandbox-engine.js +0 -0
  2174. /package/{packages/agent/src/services → services}/send-handler-availability.d.ts +0 -0
  2175. /package/{packages/agent/src/services → services}/signing-policy.js +0 -0
  2176. /package/{packages/agent/src/services → services}/task-executor.d.ts +0 -0
  2177. /package/{packages/agent/src/services → services}/task-executor.js +0 -0
  2178. /package/{packages/agent/src/services → services}/update-checker.js +0 -0
  2179. /package/{packages/agent/src/services → services}/version-compat.d.ts +0 -0
  2180. /package/{packages/agent/src/shared → shared}/conversation-format.d.ts +0 -0
  2181. /package/{packages/agent/src/shared → shared}/ui-catalog-prompt.d.ts +0 -0
  2182. /package/{packages/agent/src/shared → shared}/ui-catalog-prompt.js +0 -0
  2183. /package/{packages/agent/src/shared → shared}/workspace-resolution.d.ts +0 -0
  2184. /package/{packages/agent/src/test-support → test-support}/index.js +0 -0
  2185. /package/{packages/agent/src/test-support → test-support}/process-helpers.d.ts +0 -0
  2186. /package/{packages/agent/src/test-support → test-support}/process-helpers.js +0 -0
  2187. /package/{packages/agent/src/test-support → test-support}/route-test-helpers.d.ts +0 -0
  2188. /package/{packages/agent/src/test-support → test-support}/route-test-helpers.js +0 -0
  2189. /package/{packages/agent/src/test-support → test-support}/test-helpers.d.ts +0 -0
  2190. /package/{packages/agent/src/test-support → test-support}/test-helpers.js +0 -0
  2191. /package/{packages/agent/src/triggers → triggers}/types.js +0 -0
  2192. /package/{packages/agent/src/types → types}/agent-skills.d.ts +0 -0
  2193. /package/{packages/agent/src/types → types}/agent-skills.js +0 -0
  2194. /package/{packages/agent/src/types → types}/config-like.d.ts +0 -0
  2195. /package/{packages/agent/src/types → types}/config-like.js +0 -0
  2196. /package/{packages/agent/src/types → types}/index.js +0 -0
  2197. /package/{packages/agent/src/types → types}/trajectory.js +0 -0
  2198. /package/{packages/agent/src/utils → utils}/atomic-json.d.ts +0 -0
  2199. /package/{packages/agent/src/utils → utils}/atomic-json.js +0 -0
  2200. /package/{packages/agent/src/version-resolver.d.ts → version-resolver.d.ts} +0 -0
  2201. /package/{packages/agent/src/version-resolver.js → version-resolver.js} +0 -0
@@ -0,0 +1,2670 @@
1
+ /**
2
+ * Chat route handlers extracted from server.ts.
3
+ *
4
+ * Handles:
5
+ * POST /v1/chat/completions – OpenAI-compatible
6
+ * POST /v1/messages – Anthropic-compatible
7
+ * GET /v1/models – OpenAI model listing
8
+ * GET /v1/models/:id – OpenAI single model
9
+ *
10
+ * Also exports generateChatResponse() and supporting helpers so that
11
+ * conversation-routes.ts (and server.ts itself) can reuse them.
12
+ */
13
+ import crypto from "node:crypto";
14
+ import { ChannelType, createMessageMemory, isRateLimitError, logger, ModelType, runWithTrajectoryContext, stringToUuid, } from "@elizaos/core";
15
+ import { asRecord, extractAssistantReplyText, normalizeCharacterLanguage, resolveStreamingUpdate, } from "@elizaos/shared";
16
+ import { estimateTokenCount, withModelUsageCapture, } from "../runtime/prompt-optimization.js";
17
+ import { resolveTrajectoryGrouping } from "../runtime/trajectory-internals.js";
18
+ import { startTrajectoryStepInDatabase } from "../runtime/trajectory-storage.js";
19
+ import { syncCharacterIntoConfig } from "../services/character-persistence.js";
20
+ import { detectRuntimeModel } from "./agent-model.js";
21
+ import { executeFallbackParsedActions, maybeHandleDirectBinanceSkillRequest, parseFallbackActionBlocks, } from "./binance-skill-helpers.js";
22
+ import { maybeAugmentChatMessageWithDocuments, maybeAugmentChatMessageWithLanguage, } from "./chat-augmentation.js";
23
+ import { isClientVisibleNoResponse, isNoResponsePlaceholder, } from "./chat-text-helpers.js";
24
+ import { resolveClientChatAdminEntityId } from "./client-chat-admin.js";
25
+ import { extractAnthropicSystemAndLastUser, extractCompatTextContent, extractOpenAiSystemAndLastUser, resolveCompatRoomKey, } from "./compat-utils.js";
26
+ import { isInsufficientCreditsError, isInsufficientCreditsMessage, } from "./credit-detection.js";
27
+ import { buildWalletActionNotExecutedReply, cloneWithoutBlockedObjectKeys, decodePathComponent, getErrorMessage, hasBlockedObjectKeyDeep, isWalletActionRequiredIntent, maybeAugmentChatMessageWithWalletContext, normalizeIncomingChatPrompt, resolveAppUserName, trimWalletProgressPrefix, validateChatImages, } from "./server-helpers.js";
28
+ const DEFAULT_CONVERSATION_TITLE_TIMEOUT_MS = 5_000;
29
+ let localInferenceChatApiPromise = null;
30
+ /**
31
+ * Resolve the plugin-local-inference chat API used to turn a local-inference
32
+ * failure into a user-facing status (download prompts, switch-model hints, …).
33
+ *
34
+ * An error-reporting path must NEVER throw. The mobile bundle can resolve the
35
+ * dynamic `import("@elizaos/plugin-local-inference")` to a namespace whose named
36
+ * export is `undefined` (tree-shake / circular-init artifact) — which previously
37
+ * made the catch blocks throw `getLocalInferenceChatStatus is not a function`
38
+ * and MASK the real error. So validate the import and fall back to a status
39
+ * derived from the raw error, guaranteeing the actual failure surfaces.
40
+ */
41
+ function getLocalInferenceChatApi() {
42
+ localInferenceChatApiPromise ??=
43
+ (async () => {
44
+ const fallback = {
45
+ getLocalInferenceChatStatus: async (_intent, error) => ({
46
+ text: error instanceof Error
47
+ ? error.message
48
+ : typeof error === "string" && error
49
+ ? error
50
+ : "Local inference is unavailable.",
51
+ localInference: {},
52
+ }),
53
+ handleLocalInferenceChatCommand: async (_intent, prompt) => ({
54
+ text: prompt,
55
+ localInference: {},
56
+ }),
57
+ };
58
+ try {
59
+ const mod = (await import("@elizaos/plugin-local-inference"));
60
+ return {
61
+ getLocalInferenceChatStatus: typeof mod.getLocalInferenceChatStatus === "function"
62
+ ? mod.getLocalInferenceChatStatus
63
+ : fallback.getLocalInferenceChatStatus,
64
+ handleLocalInferenceChatCommand: typeof mod.handleLocalInferenceChatCommand === "function"
65
+ ? mod.handleLocalInferenceChatCommand
66
+ : fallback.handleLocalInferenceChatCommand,
67
+ };
68
+ }
69
+ catch {
70
+ return fallback;
71
+ }
72
+ })();
73
+ return localInferenceChatApiPromise;
74
+ }
75
+ const CHAT_MAX_BODY_BYTES = 20 * 1024 * 1024; // 20 MB (image-capable)
76
+ /** Max accepted client-supplied idempotency key length. Anything longer is a
77
+ * malformed/abusive client and is treated as absent (no dedupe). */
78
+ const CLIENT_MESSAGE_ID_MAX_LENGTH = 128;
79
+ /**
80
+ * Short-window idempotency cache for the HTTP chat path, the analogue of the
81
+ * WebSocket `isDuplicateWsMessage` cache in server.ts. Chat sends go over HTTP
82
+ * SSE (not WS), so the WS cache does not cover them. The client stamps a stable
83
+ * `clientMessageId` on every send (`ui/src/api/client-base.ts`); a retried or
84
+ * double-submitted POST carries the same id, and without this guard would start
85
+ * a second LLM turn and persist a duplicate assistant memory (report 05,
86
+ * Finding 1 / W3.1).
87
+ *
88
+ * Keyed by `${conversationOrUserScope}:${clientMessageId}` so a legitimately
89
+ * identical message in a different conversation, or the same text re-sent after
90
+ * the TTL, is NOT suppressed. Entries expire after `CHAT_DEDUPE_TTL_MS`; the map
91
+ * stays bounded via an amortized sweep (at most once per TTL window) — the same
92
+ * O(1)-check / amortized-eviction shape as the WS cache.
93
+ */
94
+ const chatSeenMessageIds = new Map();
95
+ const CHAT_DEDUPE_TTL_MS = 30_000;
96
+ let chatSeenLastSweepAt = 0;
97
+ /** Normalize a raw body value into a usable idempotency key, or `null` when
98
+ * absent/invalid. Exported for unit testing the dedupe decision in isolation. */
99
+ export function normalizeClientMessageId(value) {
100
+ if (typeof value !== "string")
101
+ return null;
102
+ const trimmed = value.trim();
103
+ if (trimmed.length === 0 || trimmed.length > CLIENT_MESSAGE_ID_MAX_LENGTH) {
104
+ return null;
105
+ }
106
+ return trimmed;
107
+ }
108
+ /**
109
+ * TTL-aware O(1) duplicate check for an HTTP chat send. Returns `true` when this
110
+ * `(scope, clientMessageId)` pair was already seen within the TTL window. When
111
+ * `clientMessageId` is absent/invalid the result is ALWAYS `false`, so requests
112
+ * without an idempotency key behave exactly as before (no dedupe). The first
113
+ * sighting records the timestamp and returns `false`; a repeat within the window
114
+ * returns `true`. After the TTL elapses the id is treated as new again.
115
+ *
116
+ * `scope` is the conversation room id (dashboard chat) or the per-user room key
117
+ * (agent-message API) so the key cannot collide across conversations/users.
118
+ */
119
+ export function isDuplicateChatMessage(scope, clientMessageId, now = Date.now()) {
120
+ if (!clientMessageId)
121
+ return false;
122
+ const key = `${scope}:${clientMessageId}`;
123
+ const seenAt = chatSeenMessageIds.get(key);
124
+ if (seenAt !== undefined && now - seenAt <= CHAT_DEDUPE_TTL_MS)
125
+ return true;
126
+ chatSeenMessageIds.set(key, now);
127
+ // Amortized eviction: sweep expired entries at most once per TTL window
128
+ // rather than on every request, keeping the map bounded without a per-request
129
+ // O(n) scan.
130
+ if (now - chatSeenLastSweepAt > CHAT_DEDUPE_TTL_MS) {
131
+ chatSeenLastSweepAt = now;
132
+ for (const [seenKey, ts] of chatSeenMessageIds) {
133
+ if (now - ts > CHAT_DEDUPE_TTL_MS)
134
+ chatSeenMessageIds.delete(seenKey);
135
+ }
136
+ }
137
+ return false;
138
+ }
139
+ /** Test-only: clear the HTTP chat idempotency cache between cases. */
140
+ export function __resetChatDedupeForTests() {
141
+ chatSeenMessageIds.clear();
142
+ chatSeenLastSweepAt = 0;
143
+ }
144
+ const ANDROID_LOCAL_DIRECT_CHAT_DENY_PATTERN = /\b(check|search|find|fetch|get|look\s+up|browse|open|click|call|email|send|create|update|delete|save|remember|schedule|remind|set|run|execute|install|download|upload|read|inspect|build|deploy|commit|push|pull|merge|rebase|book|pay|buy|order)\b/i;
145
+ const ANDROID_LOCAL_CURRENT_DATA_PATTERN = /\b(latest|current|today|tomorrow|yesterday|weather|price|calendar|email|file|repo|repository|log|logs|issue|issues|pr|pull\s+request|wallet|transaction|account|contact|contacts)\b/i;
146
+ const ANDROID_LOCAL_CONTEXTUAL_MEMORY_PATTERN = /\b(what\s+did\s+i\s+just\s+say|what\s+(?:is|'s)\s+my\s+name|who\s+am\s+i|do\s+you\s+remember|remember\s+(?:me|my|that)|what\s+was\s+my|what\s+did\s+we|previous(?:ly)?|earlier|last\s+(?:message|thing|question|conversation)|recent\s+(?:message|conversation)|my\s+(?:name|email|address|phone|preference|preferences))\b/i;
147
+ function readRuntimeStringSetting(runtime, key) {
148
+ const setting = typeof runtime.getSetting === "function" ? runtime.getSetting(key) : null;
149
+ if (typeof setting === "string" && setting.trim().length > 0) {
150
+ return setting.trim();
151
+ }
152
+ if (typeof setting === "number" || typeof setting === "boolean") {
153
+ return String(setting);
154
+ }
155
+ const env = process.env[key];
156
+ return typeof env === "string" && env.trim().length > 0 ? env.trim() : null;
157
+ }
158
+ function readPositiveIntegerSetting(runtime, key, fallback) {
159
+ const raw = readRuntimeStringSetting(runtime, key);
160
+ const parsed = raw ? Number.parseInt(raw, 10) : Number.NaN;
161
+ return Number.isFinite(parsed) && parsed > 0 ? Math.floor(parsed) : fallback;
162
+ }
163
+ function isAndroidLocalDirectChatRuntime(runtime) {
164
+ const optOut = readRuntimeStringSetting(runtime, "ELIZA_MOBILE_LOCAL_DIRECT_REPLY");
165
+ if (/^(0|false|no|off)$/i.test(optOut ?? "")) {
166
+ return false;
167
+ }
168
+ const platform = readRuntimeStringSetting(runtime, "ELIZA_MOBILE_PLATFORM") ??
169
+ readRuntimeStringSetting(runtime, "ELIZA_PLATFORM");
170
+ const normalizedPlatform = platform?.toLowerCase();
171
+ const localLlama = readRuntimeStringSetting(runtime, "ELIZA_LOCAL_LLAMA") === "1" ||
172
+ readRuntimeStringSetting(runtime, "ELIZA_DEVICE_BRIDGE_ENABLED") === "1" ||
173
+ readRuntimeStringSetting(runtime, "ELIZA_IOS_LOCAL_BACKEND") === "1";
174
+ return ((normalizedPlatform === "android" || normalizedPlatform === "ios") &&
175
+ localLlama);
176
+ }
177
+ function hasAndroidLocalDirectChatBlockingContent(content) {
178
+ if (Array.isArray(content.attachments) && content.attachments.length > 0) {
179
+ return true;
180
+ }
181
+ if (Array.isArray(content.media) && content.media.length > 0) {
182
+ return true;
183
+ }
184
+ if (Array.isArray(content.files) && content.files.length > 0) {
185
+ return true;
186
+ }
187
+ if (content.documentIds || content.documents || content.localInference) {
188
+ return true;
189
+ }
190
+ const metadata = content.metadata && typeof content.metadata === "object"
191
+ ? content.metadata
192
+ : {};
193
+ return Boolean(metadata.benchmark || metadata.localInference || metadata.contextRouting);
194
+ }
195
+ function isAndroidLocalDirectChatChannel(content) {
196
+ const channelType = content.channelType;
197
+ return (channelType === ChannelType.API ||
198
+ channelType === ChannelType.DM ||
199
+ channelType === ChannelType.SELF ||
200
+ channelType === ChannelType.VOICE_DM ||
201
+ channelType === undefined);
202
+ }
203
+ function shouldUseAndroidLocalDirectChat(runtime, message) {
204
+ if (!isAndroidLocalDirectChatRuntime(runtime)) {
205
+ return false;
206
+ }
207
+ const text = normalizeAndroidLocalDirectUserText(extractCompatTextContent(message.content));
208
+ if (!text || text.length > 700) {
209
+ return false;
210
+ }
211
+ if (!isAndroidLocalDirectChatChannel(message.content)) {
212
+ return false;
213
+ }
214
+ if (hasAndroidLocalDirectChatBlockingContent(message.content)) {
215
+ return false;
216
+ }
217
+ if (ANDROID_LOCAL_DIRECT_CHAT_DENY_PATTERN.test(text)) {
218
+ return false;
219
+ }
220
+ if (ANDROID_LOCAL_CONTEXTUAL_MEMORY_PATTERN.test(text)) {
221
+ return false;
222
+ }
223
+ if (ANDROID_LOCAL_CURRENT_DATA_PATTERN.test(text)) {
224
+ return /\b(local|locally|on[-\s]?device|device|pixel|eliza[-\s]?1|llama)\b/i.test(text);
225
+ }
226
+ return true;
227
+ }
228
+ function escapeAndroidLocalChatTemplateTokens(text) {
229
+ return text
230
+ .replaceAll("<|im_start|>", "<| im_start |>")
231
+ .replaceAll("<|im_end|>", "<| im_end |>")
232
+ .replaceAll("<think>", "< think >")
233
+ .replaceAll("</think>", "</ think >");
234
+ }
235
+ function normalizeAndroidLocalDirectUserText(text) {
236
+ return text
237
+ .replace(/(^|\s)\/(?:no_)?think\b/gi, " ")
238
+ .replace(/\s+/g, " ")
239
+ .trim();
240
+ }
241
+ function buildAndroidLocalDirectChatPrompt(args) {
242
+ const systemText = [
243
+ "Eliza-1 on device.",
244
+ "One natural sentence under 10 words. Stop after it.",
245
+ "If asked local/on-device: yes, local Eliza-1.",
246
+ "No markdown, labels, tools, logs, or hidden reasoning.",
247
+ ].join("\n");
248
+ return [
249
+ "<|im_start|>system",
250
+ systemText,
251
+ "<|im_end|>",
252
+ "<|im_start|>user",
253
+ escapeAndroidLocalChatTemplateTokens(args.userText),
254
+ "<|im_end|>",
255
+ "<|im_start|>assistant",
256
+ // Match llama.cpp's Qwen3 `enable_thinking=false` chat-template shape.
257
+ // The direct mobile path is for short voice/chat replies; pre-filling an
258
+ // empty think block prevents the model from spending its first tokens on
259
+ // hidden `<think>...</think>` scaffolding before any speakable text.
260
+ "<think>",
261
+ "",
262
+ "</think>",
263
+ "",
264
+ ].join("\n");
265
+ }
266
+ function extractAndroidLocalModelText(raw) {
267
+ if (typeof raw === "string") {
268
+ return raw;
269
+ }
270
+ if (!raw || typeof raw !== "object") {
271
+ return "";
272
+ }
273
+ const record = raw;
274
+ if (typeof record.text === "string") {
275
+ return record.text;
276
+ }
277
+ if (typeof record.content === "string") {
278
+ return record.content;
279
+ }
280
+ if (Array.isArray(record.content)) {
281
+ return record.content
282
+ .map((part) => {
283
+ if (typeof part === "string")
284
+ return part;
285
+ if (part && typeof part === "object") {
286
+ const partRecord = part;
287
+ return typeof partRecord.text === "string" ? partRecord.text : "";
288
+ }
289
+ return "";
290
+ })
291
+ .join("");
292
+ }
293
+ return "";
294
+ }
295
+ function truncateAndroidLocalReplyToFirstSentence(text) {
296
+ const compact = text.replace(/\s+/g, " ").trim();
297
+ if (!compact)
298
+ return "";
299
+ const firstSentence = compact.match(/^(.{12,280}?[.!?])(?:\s|$)/u)?.[1];
300
+ return (firstSentence ?? compact).trim();
301
+ }
302
+ function stripAndroidLocalReasoning(text) {
303
+ let next = text.replace(/<think>[\s\S]*?<\/think>/gi, "");
304
+ const danglingClose = next.lastIndexOf("</think>");
305
+ if (danglingClose >= 0) {
306
+ next = next.slice(danglingClose + "</think>".length);
307
+ }
308
+ const danglingOpen = next.indexOf("<think>");
309
+ if (danglingOpen >= 0) {
310
+ next = next.slice(0, danglingOpen);
311
+ }
312
+ return next;
313
+ }
314
+ function cleanAndroidLocalDirectChatReply(raw) {
315
+ let text = stripAndroidLocalReasoning(extractAndroidLocalModelText(raw));
316
+ text = text
317
+ .split("<|im_end|>")[0]
318
+ .split("<|im_start|>")[0]
319
+ .replace(/^\s*(assistant|eliza)\s*:\s*/i, "")
320
+ .replace(/\bEliza-1\b/gi, "Eliza-1")
321
+ .trim();
322
+ text = truncateAndroidLocalReplyToFirstSentence(text);
323
+ if (text.length <= 700) {
324
+ return text;
325
+ }
326
+ const truncated = text.slice(0, 700);
327
+ const sentenceEnd = Math.max(truncated.lastIndexOf("."), truncated.lastIndexOf("!"), truncated.lastIndexOf("?"));
328
+ return (sentenceEnd >= 80 ? truncated.slice(0, sentenceEnd + 1) : truncated).trim();
329
+ }
330
+ async function rewriteDirectActionCallbackText(args) {
331
+ const text = args.text.trim();
332
+ if (!text)
333
+ return args.text;
334
+ const fallback = () => {
335
+ const error = typeof args.content?.error === "string" && args.content.error.trim()
336
+ ? ` It reported: ${args.content.error.trim()}`
337
+ : "";
338
+ return `I ran ${args.actionName} and got a result, but I couldn't format the details cleanly here.${error}`;
339
+ };
340
+ try {
341
+ const raw = await args.runtime.useModel(ModelType.TEXT_SMALL, {
342
+ prompt: [
343
+ "Rewrite this direct action callback in the assistant character's user-facing voice.",
344
+ 'Return strict JSON only: {"response":"..."}.',
345
+ "",
346
+ "Rules:",
347
+ "- Preserve status, IDs, names, URLs, counts, errors, and next steps.",
348
+ "- Do not expose raw JSON, shell output, schema names, stack traces, or internal action plumbing unless an exact value is necessary.",
349
+ "- Do not claim success if the payload says failed or pending.",
350
+ "- Keep it brief and natural.",
351
+ "",
352
+ `Character: ${JSON.stringify({
353
+ name: args.runtime.character?.name,
354
+ system: args.runtime.character?.system,
355
+ bio: args.runtime.character?.bio,
356
+ style: args.runtime.character?.style,
357
+ })}`,
358
+ `Action: ${JSON.stringify(args.actionName)}`,
359
+ `Payload: ${JSON.stringify(text)}`,
360
+ `Metadata: ${JSON.stringify({
361
+ source: args.content?.source,
362
+ actions: args.content?.actions,
363
+ actionStatus: args.content?.actionStatus,
364
+ error: args.content?.error,
365
+ })}`,
366
+ ].join("\n"),
367
+ maxTokens: 260,
368
+ providerOptions: { eliza: { thinking: "off" } },
369
+ });
370
+ const parsed = JSON.parse(String(raw).trim());
371
+ return typeof parsed.response === "string" && parsed.response.trim()
372
+ ? parsed.response.trim()
373
+ : fallback();
374
+ }
375
+ catch (err) {
376
+ args.runtime.logger.debug({
377
+ src: "eliza-api",
378
+ action: args.actionName,
379
+ err: err instanceof Error ? err.message : String(err),
380
+ }, "[eliza-api] Direct action callback voice rewrite failed");
381
+ return fallback();
382
+ }
383
+ }
384
+ async function maybeGenerateAndroidLocalDirectChatResponse(args) {
385
+ if (!shouldUseAndroidLocalDirectChat(args.runtime, args.message)) {
386
+ return null;
387
+ }
388
+ const userText = normalizeAndroidLocalDirectUserText(extractCompatTextContent(args.message.content));
389
+ if (!userText)
390
+ return null;
391
+ const prompt = buildAndroidLocalDirectChatPrompt({
392
+ runtime: args.runtime,
393
+ userText,
394
+ });
395
+ const maxTokens = readPositiveIntegerSetting(args.runtime, "ELIZA_MOBILE_LOCAL_DIRECT_REPLY_MAX_TOKENS", 20);
396
+ const startedAt = Date.now();
397
+ args.runtime.logger.info({
398
+ src: "eliza-api",
399
+ promptChars: prompt.length,
400
+ maxTokens,
401
+ messageId: args.message.id,
402
+ }, "[eliza-api] Android local direct chat fast path start");
403
+ let streamedRaw = "";
404
+ let lastStreamedSnapshot = "";
405
+ let streamedChunks = 0;
406
+ const emitCleanStreamingSnapshot = (snapshot) => {
407
+ if (!snapshot || snapshot === lastStreamedSnapshot)
408
+ return;
409
+ const update = resolveStreamingUpdate(lastStreamedSnapshot, snapshot);
410
+ if (update.kind === "append") {
411
+ args.opts?.onChunk?.(update.emittedText);
412
+ }
413
+ else if (update.kind === "replace" && !args.opts?.onSnapshot) {
414
+ // OpenAI-compatible SSE cannot rewrite already-sent text. In the rare
415
+ // case cleaning turns a partial local reply into a non-append snapshot,
416
+ // hold the rewrite for the final response body instead of duplicating
417
+ // content on the token stream.
418
+ args.runtime.logger.debug({
419
+ src: "eliza-api",
420
+ previousChars: lastStreamedSnapshot.length,
421
+ nextChars: snapshot.length,
422
+ messageId: args.message.id,
423
+ }, "[eliza-api] Android local direct chat fast path held non-append streaming snapshot");
424
+ }
425
+ args.opts?.onSnapshot?.(snapshot);
426
+ lastStreamedSnapshot = snapshot;
427
+ };
428
+ const raw = await args.runtime.useModel(ModelType.TEXT_SMALL, {
429
+ prompt,
430
+ maxTokens,
431
+ stopSequences: ["<|im_end|>", "<|im_start|>"],
432
+ temperature: 0,
433
+ providerOptions: {
434
+ eliza: {
435
+ thinking: "off",
436
+ },
437
+ androidLocal: {
438
+ stopOnFirstSentence: true,
439
+ minFirstSentenceChars: 12,
440
+ },
441
+ },
442
+ signal: args.signal,
443
+ stream: true,
444
+ onStreamChunk: (chunk) => {
445
+ streamedRaw += chunk;
446
+ streamedChunks += 1;
447
+ const snapshot = cleanAndroidLocalDirectChatReply(streamedRaw);
448
+ emitCleanStreamingSnapshot(snapshot);
449
+ },
450
+ });
451
+ const text = cleanAndroidLocalDirectChatReply(raw);
452
+ if (!text) {
453
+ args.runtime.logger.warn({ src: "eliza-api", messageId: args.message.id }, "[eliza-api] Android local direct chat fast path returned empty text");
454
+ return null;
455
+ }
456
+ const latencyMs = Date.now() - startedAt;
457
+ emitCleanStreamingSnapshot(text);
458
+ const localInference = {
459
+ provider: "mobile-local-direct-reply",
460
+ mode: "api_fast_path",
461
+ latencyMs,
462
+ promptChars: prompt.length,
463
+ maxTokens,
464
+ streamedChunks,
465
+ };
466
+ const responseContent = {
467
+ text,
468
+ source: "client_chat",
469
+ actions: ["REPLY"],
470
+ localInference,
471
+ };
472
+ args.runtime.logger.info({
473
+ src: "eliza-api",
474
+ latencyMs,
475
+ textChars: text.length,
476
+ messageId: args.message.id,
477
+ }, "[eliza-api] Android local direct chat fast path done");
478
+ return {
479
+ text,
480
+ agentName: args.agentName,
481
+ localInference,
482
+ responseContent,
483
+ usage: {
484
+ promptTokens: estimateTokenCount(prompt),
485
+ completionTokens: estimateTokenCount(text),
486
+ totalTokens: estimateTokenCount(prompt) + estimateTokenCount(text),
487
+ model: detectRuntimeModel(args.runtime, undefined) ?? undefined,
488
+ provider: "mobile-local-direct-reply",
489
+ isEstimated: true,
490
+ llmCalls: 1,
491
+ },
492
+ };
493
+ }
494
+ function resolveCallbackMergeMode(content, fallback = "replace") {
495
+ return content.merge === "append" || content.merge === "replace"
496
+ ? content.merge
497
+ : fallback;
498
+ }
499
+ function normalizeActionCallbackText(text) {
500
+ return text.trim();
501
+ }
502
+ function getLatestVisibleResponseMessageText(responseMessages) {
503
+ if (!Array.isArray(responseMessages) || responseMessages.length === 0) {
504
+ return "";
505
+ }
506
+ for (let index = responseMessages.length - 1; index >= 0; index -= 1) {
507
+ const content = responseMessages[index]?.content;
508
+ const text = typeof extractCompatTextContent(content) === "string"
509
+ ? extractCompatTextContent(content).trim()
510
+ : "";
511
+ if (!text || isNoResponsePlaceholder(text)) {
512
+ continue;
513
+ }
514
+ return text;
515
+ }
516
+ return "";
517
+ }
518
+ const EXACT_GROUNDED_VALUE_REQUEST = /\b(?:exact|verbatim|copy|quoted?|identifier|codeword|return only|only the)\b/i;
519
+ const DOCUMENT_VALUE_CAPTURE = /\b(?:codeword|identifier|token|value)\s*(?:is|=|:)\s*([A-Za-z0-9][A-Za-z0-9._-]{1,127})\b/gi;
520
+ const UPPERCASE_IDENTIFIER_CAPTURE = /\b[A-Z0-9]+(?:[-_][A-Z0-9]+)+\b/g;
521
+ const UUID_IDENTIFIER_CAPTURE = /\b[a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}\b/gi;
522
+ function uniqueMatches(matches) {
523
+ return Array.from(new Set(Array.from(matches).map((value) => value.trim()))).filter((value) => value.length > 0);
524
+ }
525
+ function collectRegexMatches(text, pattern, groupIndex) {
526
+ const regex = new RegExp(pattern.source, pattern.flags);
527
+ return Array.from(text.matchAll(regex), (match) => String(groupIndex === undefined ? match[0] : (match[groupIndex] ?? "")));
528
+ }
529
+ function extractExactGroundedValueFromText(messageText, documentText) {
530
+ if (!messageText || !EXACT_GROUNDED_VALUE_REQUEST.test(messageText)) {
531
+ return null;
532
+ }
533
+ if (!documentText) {
534
+ return null;
535
+ }
536
+ const capturedDocumentValues = uniqueMatches(collectRegexMatches(documentText, DOCUMENT_VALUE_CAPTURE, 1));
537
+ if (capturedDocumentValues.length === 1) {
538
+ return capturedDocumentValues[0];
539
+ }
540
+ const uppercaseCandidates = uniqueMatches(collectRegexMatches(documentText, UPPERCASE_IDENTIFIER_CAPTURE));
541
+ if (uppercaseCandidates.length === 1) {
542
+ return uppercaseCandidates[0];
543
+ }
544
+ const uuidCandidates = uniqueMatches(collectRegexMatches(documentText, UUID_IDENTIFIER_CAPTURE));
545
+ if (uuidCandidates.length === 1) {
546
+ return uuidCandidates[0];
547
+ }
548
+ return null;
549
+ }
550
+ async function resolveExactDocumentValueForChat(runtime, message) {
551
+ const messageText = typeof extractCompatTextContent(message.content) === "string"
552
+ ? extractCompatTextContent(message.content).trim()
553
+ : "";
554
+ if (!messageText || !EXACT_GROUNDED_VALUE_REQUEST.test(messageText)) {
555
+ return null;
556
+ }
557
+ const documentsService = runtime.getService("documents");
558
+ if (!documentsService ||
559
+ typeof documentsService.searchDocuments !== "function") {
560
+ return null;
561
+ }
562
+ try {
563
+ const matches = await documentsService.searchDocuments(message);
564
+ if (!Array.isArray(matches) || matches.length === 0) {
565
+ return null;
566
+ }
567
+ const uploadedMatches = matches.filter((match) => {
568
+ const metadata = match.metadata && typeof match.metadata === "object"
569
+ ? match.metadata
570
+ : null;
571
+ return metadata?.source === "upload";
572
+ });
573
+ const preferredMatches = uploadedMatches.length > 0 ? uploadedMatches : matches;
574
+ const exactMatchCandidates = uniqueMatches(preferredMatches
575
+ .map((match) => typeof match.content?.text === "string"
576
+ ? extractExactGroundedValueFromText(messageText, match.content.text.trim())
577
+ : null)
578
+ .filter((value) => typeof value === "string"));
579
+ if (exactMatchCandidates.length === 1) {
580
+ return exactMatchCandidates[0];
581
+ }
582
+ const documentsText = preferredMatches
583
+ .map((match) => typeof match.content?.text === "string"
584
+ ? match.content.text.trim()
585
+ : "")
586
+ .filter((text) => text.length > 0)
587
+ .join("\n\n");
588
+ return extractExactGroundedValueFromText(messageText, documentsText);
589
+ }
590
+ catch {
591
+ return null;
592
+ }
593
+ }
594
+ // ---------------------------------------------------------------------------
595
+ // Chat failure / no-response helpers
596
+ // ---------------------------------------------------------------------------
597
+ // Reserved for path #4 — actual generation throw caught by getChatFailureReply.
598
+ // Do NOT use as the generic empty-response fallback; that mislabels every
599
+ // IGNORE / empty-action / empty-normalized-text path as a provider failure.
600
+ const PROVIDER_ISSUE_CHAT_REPLY = "Sorry, I'm having a provider issue";
601
+ const INSUFFICIENT_CREDITS_CHAT_REPLY = "Eliza Cloud credits are depleted. Top up the cloud balance and try again.";
602
+ // A transient 429 (no billing context) — e.g. the shared model key briefly
603
+ // over its requests/min under concurrent load. Tell the user it's momentary so
604
+ // they retry, instead of the generic "provider issue" which reads as broken.
605
+ const RATE_LIMITED_CHAT_REPLY = "I'm being rate-limited right now — give it a few seconds and try again.";
606
+ // Used by paths #1-#3: planner picked IGNORE/NONE/empty REPLY, action ran but
607
+ // emitted no text callback, or normalized text became empty. None of these are
608
+ // provider failures, so the message must not blame the provider.
609
+ const NO_RESPONSE_FALLBACK_REPLY = "I don't have a reply for that — try rephrasing?";
610
+ // Routed-model errors raised by the model router when no provider plugin is
611
+ // loaded for a requested model class (e.g. TEXT_SMALL). Identifies the OOB
612
+ // "no provider configured" case so chat routes can return a structured 503
613
+ // instead of a generic 500 — UI clients gate on `error.type === "no_provider"`
614
+ // to render a "Connect a provider" CTA instead of an opaque error toast.
615
+ const NO_PROVIDER_ERROR_FRAGMENTS = [
616
+ "No provider registered for",
617
+ "No model registered for",
618
+ ];
619
+ function isNoProviderError(err) {
620
+ const msg = err instanceof Error ? err.message : typeof err === "string" ? err : "";
621
+ return NO_PROVIDER_ERROR_FRAGMENTS.some((frag) => msg.includes(frag));
622
+ }
623
+ const NO_PROVIDER_CHAT_MESSAGE = "Connect an LLM provider to start chatting. Open Settings → Providers, " +
624
+ "or choose Eliza Cloud during first-run setup.";
625
+ const DEFAULT_CHAT_GENERATION_TIMEOUT_MS = 180_000;
626
+ const NON_EXECUTABLE_FALLBACK_ACTIONS = new Set(["REPLY", "NONE", "IGNORE"]);
627
+ function isExecutableFallbackAction(action) {
628
+ return !NON_EXECUTABLE_FALLBACK_ACTIONS.has(action.name);
629
+ }
630
+ function classifySyntheticChatFailureText(text) {
631
+ const normalized = text
632
+ .trim()
633
+ .toLowerCase()
634
+ .replace(/[’]/g, "'")
635
+ .replace(/\s+/g, " ");
636
+ if (!normalized)
637
+ return null;
638
+ if (normalized === PROVIDER_ISSUE_CHAT_REPLY.toLowerCase()) {
639
+ return "provider_issue";
640
+ }
641
+ if (/\bprovider issue\b/.test(normalized)) {
642
+ return "provider_issue";
643
+ }
644
+ if (normalized === NO_RESPONSE_FALLBACK_REPLY.toLowerCase()) {
645
+ return "no_response";
646
+ }
647
+ if (normalized === INSUFFICIENT_CREDITS_CHAT_REPLY.toLowerCase()) {
648
+ return "insufficient_credits";
649
+ }
650
+ if (normalized === RATE_LIMITED_CHAT_REPLY.toLowerCase()) {
651
+ return "rate_limited";
652
+ }
653
+ if (normalized === NO_PROVIDER_CHAT_MESSAGE.toLowerCase()) {
654
+ return "no_provider";
655
+ }
656
+ if (normalized === "something went wrong on my end. please try again.") {
657
+ return "transient_failure";
658
+ }
659
+ return null;
660
+ }
661
+ export function markSyntheticChatFailureContent(content) {
662
+ const text = extractCompatTextContent(content);
663
+ const failureKind = typeof content.failureKind === "string"
664
+ ? content.failureKind
665
+ : classifySyntheticChatFailureText(text);
666
+ if (!failureKind)
667
+ return content;
668
+ const metadata = asRecord(content.metadata) ?? {};
669
+ return {
670
+ ...content,
671
+ metadata: {
672
+ ...metadata,
673
+ elizaSyntheticFailure: true,
674
+ chatFailureKind: failureKind,
675
+ },
676
+ };
677
+ }
678
+ function normalizeActionName(value) {
679
+ return typeof value === "string" ? value.trim().toUpperCase() : "";
680
+ }
681
+ function ensureMessageMemoryContent(content) {
682
+ return typeof content.text === "string"
683
+ ? { ...content, text: content.text }
684
+ : { ...content, text: "" };
685
+ }
686
+ function buildRuntimeActionNameLookup(runtime) {
687
+ const lookup = new Map();
688
+ const runtimeActions = Array.isArray(runtime.actions)
689
+ ? runtime.actions
690
+ : [];
691
+ for (const action of runtimeActions) {
692
+ const canonicalName = normalizeActionName(action.name);
693
+ if (!canonicalName) {
694
+ continue;
695
+ }
696
+ lookup.set(canonicalName, canonicalName);
697
+ if (!Array.isArray(action.similes)) {
698
+ continue;
699
+ }
700
+ for (const alias of action.similes) {
701
+ const normalizedAlias = normalizeActionName(alias);
702
+ if (normalizedAlias) {
703
+ lookup.set(normalizedAlias, canonicalName);
704
+ }
705
+ }
706
+ }
707
+ return lookup;
708
+ }
709
+ function readRuntimeActionResults(runtime, messageId) {
710
+ if (!messageId) {
711
+ return [];
712
+ }
713
+ const getActionResults = runtime.getActionResults;
714
+ if (typeof getActionResults !== "function") {
715
+ return [];
716
+ }
717
+ try {
718
+ return getActionResults(messageId);
719
+ }
720
+ catch {
721
+ return [];
722
+ }
723
+ }
724
+ function listExecutedRuntimeActions(runtime, messageId) {
725
+ return new Set(readRuntimeActionResults(runtime, messageId)
726
+ .map((result) => {
727
+ if (typeof result === "string") {
728
+ return normalizeActionName(result);
729
+ }
730
+ if (!result || typeof result !== "object") {
731
+ return "";
732
+ }
733
+ const record = result;
734
+ if (typeof record.actionName === "string") {
735
+ return normalizeActionName(record.actionName);
736
+ }
737
+ const data = record.data && typeof record.data === "object"
738
+ ? record.data
739
+ : null;
740
+ return normalizeActionName(data?.actionName);
741
+ })
742
+ .filter((name) => name.length > 0));
743
+ }
744
+ function sanitizeActionResultValue(value, depth = 0) {
745
+ if (value === null)
746
+ return null;
747
+ if (typeof value === "boolean")
748
+ return value;
749
+ if (typeof value === "number")
750
+ return Number.isFinite(value) ? value : undefined;
751
+ if (typeof value === "string") {
752
+ return value.length > 1000 ? `${value.slice(0, 997)}...` : value;
753
+ }
754
+ if (Array.isArray(value)) {
755
+ if (depth >= 2)
756
+ return undefined;
757
+ return value
758
+ .slice(0, 20)
759
+ .map((entry) => sanitizeActionResultValue(entry, depth + 1))
760
+ .filter((entry) => entry !== undefined);
761
+ }
762
+ if (value && typeof value === "object") {
763
+ if (depth >= 2)
764
+ return undefined;
765
+ const output = {};
766
+ for (const [key, entry] of Object.entries(value).slice(0, 20)) {
767
+ const safe = sanitizeActionResultValue(entry, depth + 1);
768
+ if (safe !== undefined)
769
+ output[key] = safe;
770
+ }
771
+ return output;
772
+ }
773
+ return undefined;
774
+ }
775
+ function sanitizeActionResultValues(values) {
776
+ if (!values || typeof values !== "object" || Array.isArray(values))
777
+ return undefined;
778
+ const output = {};
779
+ for (const [key, value] of Object.entries(values).slice(0, 20)) {
780
+ const safe = sanitizeActionResultValue(value);
781
+ if (safe !== undefined)
782
+ output[key] = safe;
783
+ }
784
+ return Object.keys(output).length > 0 ? output : undefined;
785
+ }
786
+ function summarizeActionResultForClient(result) {
787
+ if (typeof result === "string") {
788
+ const actionName = normalizeActionName(result);
789
+ return actionName ? { actionName, success: true } : null;
790
+ }
791
+ if (!result || typeof result !== "object")
792
+ return null;
793
+ const record = result;
794
+ const data = asRecord(record.data);
795
+ const actionName = (typeof data?.actionName === "string" && data.actionName.trim()) ||
796
+ (typeof record.actionName === "string" && record.actionName.trim()) ||
797
+ undefined;
798
+ const values = sanitizeActionResultValues(record.values);
799
+ const text = typeof record.text === "string" && record.text.trim()
800
+ ? String(sanitizeActionResultValue(record.text))
801
+ : undefined;
802
+ const error = typeof record.error === "string" && record.error.trim()
803
+ ? String(sanitizeActionResultValue(record.error))
804
+ : record.error instanceof Error
805
+ ? record.error.message
806
+ : undefined;
807
+ if (!actionName && !values && !text && !error)
808
+ return null;
809
+ return {
810
+ ...(actionName ? { actionName } : {}),
811
+ success: Boolean(record.success),
812
+ ...(text ? { text } : {}),
813
+ ...(error ? { error } : {}),
814
+ ...(values ? { values } : {}),
815
+ };
816
+ }
817
+ function summarizeRuntimeActionResults(runtime, messageId) {
818
+ return readRuntimeActionResults(runtime, messageId)
819
+ .map(summarizeActionResultForClient)
820
+ .filter((entry) => Boolean(entry))
821
+ .slice(-8);
822
+ }
823
+ function pickInsufficientCreditsChatReply() {
824
+ return INSUFFICIENT_CREDITS_CHAT_REPLY;
825
+ }
826
+ function findRecentInsufficientCreditsLog(logBuffer, lookbackMs = 60_000) {
827
+ const now = Date.now();
828
+ for (let i = logBuffer.length - 1; i >= 0; i--) {
829
+ const entry = logBuffer[i];
830
+ if (now - entry.timestamp > lookbackMs)
831
+ break;
832
+ if (isInsufficientCreditsMessage(entry.message)) {
833
+ return entry;
834
+ }
835
+ }
836
+ return null;
837
+ }
838
+ export function resolveNoResponseFallback(logBuffer, _runtime, _lang = "en") {
839
+ if (findRecentInsufficientCreditsLog(logBuffer)) {
840
+ return pickInsufficientCreditsChatReply();
841
+ }
842
+ return NO_RESPONSE_FALLBACK_REPLY;
843
+ }
844
+ function getProviderIssueChatReply() {
845
+ return PROVIDER_ISSUE_CHAT_REPLY;
846
+ }
847
+ function resolveChatGenerationTimeoutMs(explicit) {
848
+ if (typeof explicit === "number" &&
849
+ Number.isFinite(explicit) &&
850
+ explicit > 0) {
851
+ return Math.max(1, Math.floor(explicit));
852
+ }
853
+ const fromEnv = process.env.ELIZA_CHAT_GENERATION_TIMEOUT_MS?.trim();
854
+ if (!fromEnv)
855
+ return DEFAULT_CHAT_GENERATION_TIMEOUT_MS;
856
+ const parsed = Number.parseInt(fromEnv, 10);
857
+ if (!Number.isFinite(parsed) || parsed <= 0) {
858
+ return DEFAULT_CHAT_GENERATION_TIMEOUT_MS;
859
+ }
860
+ return Math.max(1_000, parsed);
861
+ }
862
+ function createChatGenerationTimeoutError(timeoutMs) {
863
+ return new Error(`Chat generation timed out after ${timeoutMs}ms`);
864
+ }
865
+ async function withTimeout(promise, timeoutMs, createError, onTimeout) {
866
+ let timeoutHandle;
867
+ try {
868
+ return await Promise.race([
869
+ promise,
870
+ new Promise((_resolve, reject) => {
871
+ timeoutHandle = setTimeout(() => {
872
+ onTimeout?.();
873
+ reject(createError());
874
+ }, timeoutMs);
875
+ }),
876
+ ]);
877
+ }
878
+ finally {
879
+ if (timeoutHandle) {
880
+ clearTimeout(timeoutHandle);
881
+ }
882
+ }
883
+ }
884
+ export function getChatFailureReply(err, logBuffer) {
885
+ if (isInsufficientCreditsError(err) ||
886
+ findRecentInsufficientCreditsLog(logBuffer)) {
887
+ return pickInsufficientCreditsChatReply();
888
+ }
889
+ if (isNoProviderError(err)) {
890
+ return NO_PROVIDER_CHAT_MESSAGE;
891
+ }
892
+ // After credits (a 429 *with* billing is "top up"): a bare 429 is transient.
893
+ if (isRateLimitError(err)) {
894
+ return RATE_LIMITED_CHAT_REPLY;
895
+ }
896
+ return getProviderIssueChatReply();
897
+ }
898
+ export function classifyChatFailure(err, logBuffer) {
899
+ if (isInsufficientCreditsError(err) ||
900
+ findRecentInsufficientCreditsLog(logBuffer)) {
901
+ return "insufficient_credits";
902
+ }
903
+ if (isNoProviderError(err)) {
904
+ return "no_provider";
905
+ }
906
+ if (isLocalInferenceError(err)) {
907
+ return "local_inference";
908
+ }
909
+ if (isRateLimitError(err)) {
910
+ return "rate_limited";
911
+ }
912
+ return "provider_issue";
913
+ }
914
+ function normalizeIntentText(text) {
915
+ return text
916
+ .toLowerCase()
917
+ .replace(/[`"'“”‘’]/g, "")
918
+ .replace(/[_-]+/g, " ")
919
+ .replace(/\s+/g, " ")
920
+ .trim();
921
+ }
922
+ function hasLocalInferenceMetadata(message) {
923
+ const contentMetadata = asRecord(message.content.metadata) ?? {};
924
+ const messageMetadata = asRecord(message.metadata) ?? {};
925
+ const metadata = { ...contentMetadata, ...messageMetadata };
926
+ const localValue = metadata.localInference ??
927
+ metadata.localInferenceContext ??
928
+ metadata.localModel ??
929
+ metadata.modelHub;
930
+ if (localValue === true)
931
+ return true;
932
+ if (typeof localValue === "string") {
933
+ return /^(1|true|yes|local|local-inference|model-hub)$/i.test(localValue.trim());
934
+ }
935
+ const context = typeof metadata.context === "string"
936
+ ? metadata.context
937
+ : typeof metadata.scope === "string"
938
+ ? metadata.scope
939
+ : "";
940
+ return /\blocal[-_\s]?inference\b|\bmodel[-_\s]?hub\b/i.test(context);
941
+ }
942
+ function hasLocalInferenceTopic(text) {
943
+ return (/\b(local|locally|on device|on-device|device model|local model|local inference|model hub|gguf|llama|inference|provider|runtime)\b/i.test(text) || /\bmodel\s+(?:download|install|load|setup)\b/i.test(text));
944
+ }
945
+ function isImperativeCloudOrLocalRouting(text) {
946
+ return /^(?:please\s+)?(?:use|switch|prefer|route|go|move)\s+(?:me\s+)?(?:to\s+)?(?:the\s+)?(?:cloud|local|on device|on-device)\b/i.test(text);
947
+ }
948
+ export function detectLocalInferenceCommandIntent(text, options = {}) {
949
+ const normalized = normalizeIntentText(text);
950
+ if (!normalized)
951
+ return null;
952
+ const explicitContext = options.localInferenceContext === true ||
953
+ hasLocalInferenceTopic(normalized) ||
954
+ isImperativeCloudOrLocalRouting(normalized);
955
+ if (!explicitContext)
956
+ return null;
957
+ if (/\b(?:use|switch|prefer|route|go|move)\s+(?:to\s+)?(?:the\s+)?cloud\b/.test(normalized) ||
958
+ /\bcloud\s+(?:mode|provider|inference|model|routing)\b/.test(normalized)) {
959
+ return "use_cloud";
960
+ }
961
+ if (/\b(?:status|progress|state|ready|loaded|loading|how far|what model)\b/.test(normalized) &&
962
+ (options.localInferenceContext === true ||
963
+ /\b(?:download|model|local|inference|gguf|eliza-1|provider|runtime)\b/.test(normalized))) {
964
+ return "status";
965
+ }
966
+ if (/\b(?:use|switch|prefer|route|go|move)\s+(?:to\s+)?(?:the\s+)?(?:local|on device|on device model)\b/.test(normalized) ||
967
+ /\b(?:local|on device)\s+(?:mode|provider|inference|model|routing)\b/.test(normalized)) {
968
+ return "use_local";
969
+ }
970
+ if (/\b(?:smaller|smallest|tiny|lighter|lightweight|less memory|low ram|low memory)\b/.test(normalized) &&
971
+ /\b(?:switch|use|load|pick|select|change|model)\b/.test(normalized)) {
972
+ return "switch_smaller";
973
+ }
974
+ if (/\b(?:cancel|stop|abort|halt)\b/.test(normalized) &&
975
+ /\b(?:download|model|local|inference)\b/.test(normalized)) {
976
+ return "cancel";
977
+ }
978
+ if (/\b(?:re download|redownload|download again|fresh download)\b/.test(normalized)) {
979
+ return "redownload";
980
+ }
981
+ if (/\b(?:retry|try again|resume|continue|restart)\b/.test(normalized) &&
982
+ /\b(?:download|model|local|inference)\b/.test(normalized)) {
983
+ return normalized.includes("resume") || normalized.includes("continue")
984
+ ? "resume"
985
+ : "retry";
986
+ }
987
+ if (/\b(?:download|install|get|fetch|pull)\b/.test(normalized) &&
988
+ (options.localInferenceContext === true ||
989
+ /\b(?:model|local|inference|gguf|eliza-1)\b/.test(normalized))) {
990
+ return "download";
991
+ }
992
+ return null;
993
+ }
994
+ export function isLocalInferenceError(err) {
995
+ const message = err instanceof Error ? err.message : typeof err === "string" ? err : "";
996
+ return /\b(?:local inference|local model|on-device|device bridge|llama|gguf|capacitor-llama|no local model|model download|enospc|no space left|disk full)\b/i.test(message);
997
+ }
998
+ export function normalizeChatResponseText(text, logBuffer, runtime) {
999
+ // Both fallback strings can hit this path; either should be re-routed to
1000
+ // the insufficient-credits reply when a recent credits log explains why
1001
+ // generation produced nothing.
1002
+ const visibleText = extractAssistantReplyText(text) ?? text;
1003
+ const trimmed = visibleText.trim();
1004
+ if ((trimmed === PROVIDER_ISSUE_CHAT_REPLY ||
1005
+ trimmed === NO_RESPONSE_FALLBACK_REPLY) &&
1006
+ findRecentInsufficientCreditsLog(logBuffer)) {
1007
+ return pickInsufficientCreditsChatReply();
1008
+ }
1009
+ if (!isClientVisibleNoResponse(visibleText))
1010
+ return visibleText;
1011
+ return resolveNoResponseFallback(logBuffer, runtime);
1012
+ }
1013
+ function listResponseActions(responseContent) {
1014
+ if (!Array.isArray(responseContent?.actions)) {
1015
+ return [];
1016
+ }
1017
+ return responseContent.actions
1018
+ .map((action) => typeof action === "string" ? action.trim().toUpperCase() : "")
1019
+ .filter((action) => action.length > 0);
1020
+ }
1021
+ function isIntentionalNoResponseResult(result, candidateText) {
1022
+ if (!result)
1023
+ return false;
1024
+ const actions = listResponseActions(result.responseContent);
1025
+ const hasSilentTerminalAction = actions.length === 1 && (actions[0] === "IGNORE" || actions[0] === "STOP");
1026
+ const hasNoVisibleText = candidateText.trim().length === 0 ||
1027
+ isClientVisibleNoResponse(candidateText);
1028
+ return (hasNoVisibleText && (result.didRespond === false || hasSilentTerminalAction));
1029
+ }
1030
+ function buildUnexecutedActionPayloadReply(actionNames) {
1031
+ const uniqueNames = [
1032
+ ...new Set(actionNames.map((name) => normalizeActionName(name)).filter(Boolean)),
1033
+ ];
1034
+ const actionsLabel = uniqueNames.length > 0 ? uniqueNames.join(", ") : "unknown";
1035
+ return [
1036
+ "I could not complete that request because the model returned actions that were not executed.",
1037
+ `Unexecuted actions: ${actionsLabel}.`,
1038
+ "No side effects were applied.",
1039
+ ].join("\n");
1040
+ }
1041
+ // ---------------------------------------------------------------------------
1042
+ // SSE helpers
1043
+ // ---------------------------------------------------------------------------
1044
+ export function initSse(res) {
1045
+ res.writeHead(200, {
1046
+ "Content-Type": "text/event-stream",
1047
+ "Cache-Control": "no-cache, no-transform",
1048
+ Connection: "keep-alive",
1049
+ "X-Accel-Buffering": "no",
1050
+ });
1051
+ }
1052
+ export function writeSse(res, payload) {
1053
+ if (res.writableEnded || res.destroyed)
1054
+ return;
1055
+ res.write(`data: ${JSON.stringify(payload)}\n\n`);
1056
+ }
1057
+ export function writeChatTokenSse(res, text, fullText) {
1058
+ writeSse(res, { type: "token", text, fullText });
1059
+ }
1060
+ export function writeChatStatusSse(res, status) {
1061
+ writeSse(res, { type: "status", ...status });
1062
+ }
1063
+ export function writeSseData(res, data, event) {
1064
+ if (res.writableEnded || res.destroyed)
1065
+ return;
1066
+ const safeEvent = typeof event === "string" && /^[A-Za-z0-9_.-]+$/.test(event) ? event : null;
1067
+ if (safeEvent)
1068
+ res.write(`event: ${safeEvent}\n`);
1069
+ for (const line of data.split(/\r\n|\r|\n/)) {
1070
+ res.write(`data: ${line}\n`);
1071
+ }
1072
+ res.write("\n");
1073
+ }
1074
+ export function writeSseJson(res, payload, event) {
1075
+ writeSseData(res, JSON.stringify(payload), event);
1076
+ }
1077
+ // ---------------------------------------------------------------------------
1078
+ // Persistence helpers
1079
+ // ---------------------------------------------------------------------------
1080
+ function isDuplicateMemoryError(err) {
1081
+ if (!(err instanceof Error))
1082
+ return false;
1083
+ const msg = err.message.toLowerCase();
1084
+ return (msg.includes("duplicate") ||
1085
+ msg.includes("already exists") ||
1086
+ msg.includes("unique constraint"));
1087
+ }
1088
+ export async function persistConversationMemory(runtime, memory) {
1089
+ try {
1090
+ await runtime.createMemory(memory, "messages");
1091
+ }
1092
+ catch (err) {
1093
+ if (isDuplicateMemoryError(err))
1094
+ return;
1095
+ throw err;
1096
+ }
1097
+ }
1098
+ async function hasRecentAssistantMemory(runtime, roomId, text, sinceMs) {
1099
+ const trimmed = text.trim();
1100
+ if (!trimmed)
1101
+ return false;
1102
+ try {
1103
+ const recent = await runtime.getMemories({
1104
+ roomId,
1105
+ tableName: "messages",
1106
+ limit: 12,
1107
+ });
1108
+ return recent.some((memory) => {
1109
+ const contentText = memory.content?.text?.trim();
1110
+ const createdAt = memory.createdAt ?? 0;
1111
+ return (memory.entityId === runtime.agentId &&
1112
+ contentText === trimmed &&
1113
+ createdAt >= sinceMs - 2000);
1114
+ });
1115
+ }
1116
+ catch {
1117
+ return false;
1118
+ }
1119
+ }
1120
+ export async function hasRecentVisibleAssistantMemorySince(runtime, roomId, sinceMs) {
1121
+ return Boolean(await getRecentVisibleAssistantMemoryTextSince(runtime, roomId, sinceMs));
1122
+ }
1123
+ export async function getRecentVisibleAssistantMemoryTextSince(runtime, roomId, sinceMs) {
1124
+ try {
1125
+ const recent = await runtime.getMemories({
1126
+ roomId,
1127
+ tableName: "messages",
1128
+ limit: 12,
1129
+ });
1130
+ const persistedAssistantTurn = recent
1131
+ .filter((memory) => {
1132
+ const contentText = memory.content?.text?.trim();
1133
+ const createdAt = memory.createdAt ?? 0;
1134
+ return (memory.entityId === runtime.agentId &&
1135
+ Boolean(contentText) &&
1136
+ createdAt >= sinceMs - 2000);
1137
+ })
1138
+ .sort((a, b) => (b.createdAt ?? 0) - (a.createdAt ?? 0))[0];
1139
+ return (persistedAssistantTurn?.content?.text?.trim() ?? null);
1140
+ }
1141
+ catch {
1142
+ return null;
1143
+ }
1144
+ }
1145
+ export async function persistAssistantConversationMemory(runtime, roomId, content, channelType, dedupeSinceMs) {
1146
+ const persistedContent = markSyntheticChatFailureContent(typeof content === "string"
1147
+ ? {
1148
+ text: content,
1149
+ source: "client_chat",
1150
+ channelType,
1151
+ }
1152
+ : {
1153
+ ...content,
1154
+ text: extractCompatTextContent(content),
1155
+ source: typeof content.source === "string" ? content.source : "client_chat",
1156
+ channelType: typeof content.channelType === "string"
1157
+ ? content.channelType
1158
+ : channelType,
1159
+ });
1160
+ const trimmed = persistedContent.text.trim();
1161
+ if (!trimmed)
1162
+ return;
1163
+ if (typeof dedupeSinceMs === "number") {
1164
+ const alreadyPersisted = await hasRecentAssistantMemory(runtime, roomId, trimmed, dedupeSinceMs);
1165
+ if (alreadyPersisted)
1166
+ return;
1167
+ }
1168
+ await persistConversationMemory(runtime, createMessageMemory({
1169
+ id: crypto.randomUUID(),
1170
+ entityId: runtime.agentId,
1171
+ agentId: runtime.agentId,
1172
+ roomId,
1173
+ content: persistedContent,
1174
+ }));
1175
+ }
1176
+ // ---------------------------------------------------------------------------
1177
+ // Chat request parsing
1178
+ // ---------------------------------------------------------------------------
1179
+ const VALID_CHANNEL_TYPES = new Set(Object.values(ChannelType));
1180
+ function parseRequestChannelType(value, fallback = ChannelType.DM) {
1181
+ if (value === undefined || value === null) {
1182
+ return fallback;
1183
+ }
1184
+ if (typeof value !== "string") {
1185
+ return null;
1186
+ }
1187
+ const normalized = value.trim().toUpperCase();
1188
+ if (!VALID_CHANNEL_TYPES.has(normalized)) {
1189
+ return null;
1190
+ }
1191
+ return normalized;
1192
+ }
1193
+ function readUiLanguageHeader(req) {
1194
+ if (!req) {
1195
+ return undefined;
1196
+ }
1197
+ const header = req.headers["x-eliza-ui-language"];
1198
+ if (Array.isArray(header)) {
1199
+ return header.find((value) => value.trim())?.trim();
1200
+ }
1201
+ return typeof header === "string" && header.trim()
1202
+ ? header.trim()
1203
+ : undefined;
1204
+ }
1205
+ export async function readChatRequestPayload(req, res, helpers,
1206
+ /** Body size limit. Image-capable endpoints pass CHAT_MAX_BODY_BYTES (20 MB);
1207
+ * legacy/cloud-proxy endpoints that don't process images pass MAX_BODY_BYTES (1 MB). */
1208
+ maxBytes = CHAT_MAX_BODY_BYTES) {
1209
+ const body = await helpers.readJsonBody(req, res, { maxBytes });
1210
+ if (!body)
1211
+ return null;
1212
+ const normalizedPrompt = normalizeIncomingChatPrompt(body.text, body.images);
1213
+ if (!normalizedPrompt) {
1214
+ helpers.error(res, "text is required");
1215
+ return null;
1216
+ }
1217
+ const channelType = parseRequestChannelType(body.channelType, ChannelType.DM);
1218
+ if (!channelType) {
1219
+ helpers.error(res, "channelType is invalid", 400);
1220
+ return null;
1221
+ }
1222
+ const imageValidationError = validateChatImages(body.images);
1223
+ if (imageValidationError) {
1224
+ helpers.error(res, imageValidationError, 400);
1225
+ return null;
1226
+ }
1227
+ const images = Array.isArray(body.images)
1228
+ ? body.images.map((img) => ({
1229
+ ...img,
1230
+ mimeType: img.mimeType.toLowerCase(),
1231
+ }))
1232
+ : undefined;
1233
+ const rawPreferredLanguage = (typeof body.language === "string" && body.language.trim()
1234
+ ? body.language
1235
+ : undefined) ?? readUiLanguageHeader(req);
1236
+ const preferredLanguage = rawPreferredLanguage
1237
+ ? normalizeCharacterLanguage(rawPreferredLanguage)
1238
+ : undefined;
1239
+ const source = typeof body.source === "string" && body.source.trim().length > 0
1240
+ ? body.source.trim()
1241
+ : undefined;
1242
+ const metadata = body.metadata &&
1243
+ typeof body.metadata === "object" &&
1244
+ !Array.isArray(body.metadata)
1245
+ ? body.metadata
1246
+ : undefined;
1247
+ const clientMessageId = normalizeClientMessageId(body.clientMessageId);
1248
+ return {
1249
+ prompt: normalizedPrompt,
1250
+ channelType,
1251
+ images,
1252
+ ...(preferredLanguage ? { preferredLanguage } : {}),
1253
+ ...(source ? { source } : {}),
1254
+ ...(metadata ? { metadata } : {}),
1255
+ ...(clientMessageId ? { clientMessageId } : {}),
1256
+ };
1257
+ }
1258
+ function readMessageTrajectoryStepId(message) {
1259
+ const metadata = message.metadata;
1260
+ if (!metadata || typeof metadata !== "object")
1261
+ return null;
1262
+ const stepId = metadata.trajectoryStepId;
1263
+ return typeof stepId === "string" && stepId.trim().length > 0
1264
+ ? stepId.trim()
1265
+ : null;
1266
+ }
1267
+ function readMessageTrajectoryGrouping(message) {
1268
+ const contentMetadata = asRecord(message.content.metadata) ?? {};
1269
+ const evalMetadata = asRecord(contentMetadata.eval) ?? {};
1270
+ const messageMetadata = asRecord(message.metadata) ?? {};
1271
+ return resolveTrajectoryGrouping({
1272
+ ...contentMetadata,
1273
+ ...evalMetadata,
1274
+ ...messageMetadata,
1275
+ });
1276
+ }
1277
+ async function persistMessageTrajectoryGrouping(runtime, message) {
1278
+ const stepId = readMessageTrajectoryStepId(message);
1279
+ if (!stepId)
1280
+ return;
1281
+ const grouping = readMessageTrajectoryGrouping(message);
1282
+ if (!grouping.scenarioId && !grouping.batchId)
1283
+ return;
1284
+ await startTrajectoryStepInDatabase({
1285
+ runtime,
1286
+ stepId,
1287
+ source: typeof message.content.source === "string" &&
1288
+ message.content.source.trim().length > 0
1289
+ ? message.content.source
1290
+ : undefined,
1291
+ metadata: {
1292
+ ...(grouping.scenarioId ? { scenarioId: grouping.scenarioId } : {}),
1293
+ ...(grouping.batchId ? { batchId: grouping.batchId } : {}),
1294
+ },
1295
+ });
1296
+ }
1297
+ function buildChatUsage(runtime, message, finalText, capturedUsage) {
1298
+ const model = capturedUsage?.model ?? detectRuntimeModel(runtime, undefined) ?? undefined;
1299
+ if (capturedUsage) {
1300
+ return {
1301
+ promptTokens: capturedUsage.promptTokens,
1302
+ completionTokens: capturedUsage.completionTokens,
1303
+ totalTokens: capturedUsage.totalTokens,
1304
+ ...(model ? { model } : {}),
1305
+ ...(capturedUsage.provider ? { provider: capturedUsage.provider } : {}),
1306
+ isEstimated: capturedUsage.isEstimated,
1307
+ llmCalls: capturedUsage.llmCalls,
1308
+ };
1309
+ }
1310
+ const promptText = extractCompatTextContent(message.content);
1311
+ const promptTokens = estimateTokenCount(promptText);
1312
+ const completionTokens = estimateTokenCount(finalText);
1313
+ return {
1314
+ promptTokens,
1315
+ completionTokens,
1316
+ totalTokens: promptTokens + completionTokens,
1317
+ ...(model ? { model } : {}),
1318
+ isEstimated: true,
1319
+ llmCalls: 0,
1320
+ };
1321
+ }
1322
+ // ---------------------------------------------------------------------------
1323
+ // generateChatResponse
1324
+ // ---------------------------------------------------------------------------
1325
+ export async function generateChatResponse(runtime, message, agentName, opts) {
1326
+ const generationTimeoutMs = resolveChatGenerationTimeoutMs(opts?.timeoutDuration);
1327
+ let generationTimedOut = false;
1328
+ if (generationTimeoutMs <= 1) {
1329
+ generationTimedOut = true;
1330
+ throw createChatGenerationTimeoutError(generationTimeoutMs);
1331
+ }
1332
+ const generationAbortController = new AbortController();
1333
+ const abortGeneration = (reason) => {
1334
+ if (!generationAbortController.signal.aborted) {
1335
+ generationAbortController.abort(reason);
1336
+ }
1337
+ };
1338
+ const onExternalAbort = () => {
1339
+ abortGeneration(opts?.abortSignal?.reason);
1340
+ };
1341
+ if (opts?.abortSignal?.aborted) {
1342
+ onExternalAbort();
1343
+ }
1344
+ else {
1345
+ opts?.abortSignal?.addEventListener("abort", onExternalAbort, {
1346
+ once: true,
1347
+ });
1348
+ }
1349
+ try {
1350
+ const originalUserText = String(extractCompatTextContent(message.content));
1351
+ let responseText = "";
1352
+ let forcedWalletExecutionText = false;
1353
+ let blockedUnexecutedActionPayload = false;
1354
+ let activeStreamSource = "unset";
1355
+ const actionCallbackHistory = [];
1356
+ // Snapshot of `responseText` at the moment the first action callback runs.
1357
+ // WHY: LLM streaming genuinely appends token deltas. Action handlers that
1358
+ // call HandlerCallback multiple times (Discord "progressive message" pattern)
1359
+ // send unrelated status strings — merging them with mergeStreamingText would
1360
+ // concatenate ("🔍…" + "✨…" + "Now playing…"). We preserve the streamed
1361
+ // prefix and replace only the callback suffix so the dashboard SSE client
1362
+ // gets snapshot fullText updates (same UX as editing one chat bubble).
1363
+ let preCallbackText = null;
1364
+ const messageSource = typeof message.content.source === "string" &&
1365
+ message.content.source.trim().length > 0
1366
+ ? message.content.source
1367
+ : "api";
1368
+ // De-duped status emitter for the rich indicator. Coalesces repeats of the
1369
+ // same phase (an action firing many callbacks should emit one
1370
+ // `running_action`, not one per chunk) by tracking the last signature.
1371
+ let lastStatusSignature = "";
1372
+ const emitStatus = (status) => {
1373
+ if (!opts?.onStatus)
1374
+ return;
1375
+ const signature = `${status.kind}:${status.actionName ?? ""}:${status.toolName ?? ""}`;
1376
+ if (signature === lastStatusSignature)
1377
+ return;
1378
+ lastStatusSignature = signature;
1379
+ opts.onStatus(status);
1380
+ };
1381
+ // `thinking` is the opening phase: the turn started, the model is being
1382
+ // prompted, but no visible text has streamed yet.
1383
+ emitStatus({ kind: "thinking" });
1384
+ const emitChunk = (chunk) => {
1385
+ if (!chunk)
1386
+ return;
1387
+ responseText += chunk;
1388
+ opts?.onChunk?.(chunk);
1389
+ };
1390
+ const emitSnapshot = (text) => {
1391
+ if (!text)
1392
+ return;
1393
+ // Skip when the snapshot matches the current responseText exactly:
1394
+ // re-emitting the same fullText forces clients to re-render an identical
1395
+ // bubble (and on-the-wire bytes for nothing).
1396
+ if (text === responseText)
1397
+ return;
1398
+ responseText = text;
1399
+ opts?.onSnapshot?.(text);
1400
+ };
1401
+ const claimStreamSource = (source) => {
1402
+ if (activeStreamSource === "unset") {
1403
+ activeStreamSource = source;
1404
+ // The first claim is the thinking→producing transition. Raw LLM tokens
1405
+ // are `streaming`; an action handler producing the reply is
1406
+ // `running_action` (its name is stamped by recordActionCallback).
1407
+ if (source === "onStreamChunk")
1408
+ emitStatus({ kind: "streaming" });
1409
+ return true;
1410
+ }
1411
+ return activeStreamSource === source;
1412
+ };
1413
+ const appendIncomingText = (incoming) => {
1414
+ const update = resolveStreamingUpdate(responseText, incoming);
1415
+ if (update.kind === "unchanged")
1416
+ return;
1417
+ if (update.kind === "append") {
1418
+ emitChunk(update.emittedText);
1419
+ return;
1420
+ }
1421
+ emitSnapshot(update.nextText);
1422
+ };
1423
+ const captureCallbackBaseline = () => {
1424
+ if (preCallbackText === null) {
1425
+ preCallbackText = responseText;
1426
+ }
1427
+ };
1428
+ const recordActionCallbackText = (incoming) => {
1429
+ const normalized = normalizeActionCallbackText(incoming);
1430
+ if (!normalized)
1431
+ return;
1432
+ if (actionCallbackHistory.at(-1) === normalized)
1433
+ return;
1434
+ actionCallbackHistory.push(normalized);
1435
+ };
1436
+ /** Latest action callback wins: replaces prior callback text, keeps LLM prefix. */
1437
+ const replaceCallbackText = (incoming) => {
1438
+ recordActionCallbackText(incoming);
1439
+ captureCallbackBaseline();
1440
+ const baseline = preCallbackText ?? "";
1441
+ const separator = baseline.length > 0 ? "\n\n" : "";
1442
+ const nextText = `${baseline}${separator}${incoming}`;
1443
+ // Heuristic: if the new callback text is a true append on top of the
1444
+ // currently streamed responseText, emit a delta chunk (cheap on the wire,
1445
+ // lets modern SSE clients append without re-rendering the whole bubble)
1446
+ // AND a snapshot for legacy clients that only consume `fullText`.
1447
+ // Otherwise (structural rewrite — Discord-style "🔍 searching" → "✨ done"
1448
+ // or planner restart), snapshot only.
1449
+ if (nextText === responseText)
1450
+ return;
1451
+ if (nextText.startsWith(responseText) && responseText.length > 0) {
1452
+ const delta = nextText.slice(responseText.length);
1453
+ emitChunk(delta);
1454
+ // emitChunk already advanced responseText; re-emit snapshot for
1455
+ // legacy clients that only handle fullText updates.
1456
+ opts?.onSnapshot?.(nextText);
1457
+ return;
1458
+ }
1459
+ emitSnapshot(nextText);
1460
+ };
1461
+ const applyCallbackTextUpdate = (content, incoming) => {
1462
+ captureCallbackBaseline();
1463
+ if (resolveCallbackMergeMode(content) === "append") {
1464
+ recordActionCallbackText(incoming);
1465
+ appendIncomingText(incoming);
1466
+ return;
1467
+ }
1468
+ replaceCallbackText(incoming);
1469
+ };
1470
+ // Emit inbound events so trajectory/session hooks run for API chat.
1471
+ try {
1472
+ if (typeof runtime.emitEvent === "function") {
1473
+ await runtime.emitEvent("MESSAGE_RECEIVED", {
1474
+ message,
1475
+ source: messageSource,
1476
+ });
1477
+ }
1478
+ }
1479
+ catch (err) {
1480
+ runtime.logger.warn({
1481
+ err,
1482
+ src: "eliza-api",
1483
+ messageId: message.id,
1484
+ roomId: message.roomId,
1485
+ }, "Failed to emit MESSAGE_RECEIVED event");
1486
+ }
1487
+ const trajectoryStepId = readMessageTrajectoryStepId(message);
1488
+ const trajectoryContext = typeof trajectoryStepId === "string" && trajectoryStepId.trim().length > 0
1489
+ ? { trajectoryStepId: trajectoryStepId.trim() }
1490
+ : undefined;
1491
+ const androidDirectResult = await runWithTrajectoryContext(trajectoryContext, () => maybeGenerateAndroidLocalDirectChatResponse({
1492
+ runtime,
1493
+ message,
1494
+ agentName,
1495
+ signal: generationAbortController.signal,
1496
+ opts,
1497
+ }));
1498
+ if (androidDirectResult) {
1499
+ try {
1500
+ if (androidDirectResult.responseContent &&
1501
+ typeof runtime.emitEvent === "function") {
1502
+ const memoryLike = createMessageMemory({
1503
+ id: crypto.randomUUID(),
1504
+ roomId: message.roomId,
1505
+ entityId: runtime.agentId,
1506
+ content: ensureMessageMemoryContent(androidDirectResult.responseContent),
1507
+ });
1508
+ memoryLike.metadata = message.metadata;
1509
+ await runtime.emitEvent("MESSAGE_SENT", {
1510
+ message: memoryLike,
1511
+ source: messageSource,
1512
+ });
1513
+ }
1514
+ }
1515
+ catch (err) {
1516
+ runtime.logger.warn({
1517
+ err,
1518
+ src: "eliza-api",
1519
+ messageId: message.id,
1520
+ roomId: message.roomId,
1521
+ }, "Failed to emit MESSAGE_SENT event");
1522
+ }
1523
+ return androidDirectResult;
1524
+ }
1525
+ let result;
1526
+ let capturedUsage = null;
1527
+ let actionCallbacksSeen = 0;
1528
+ const seenActionTags = new Set();
1529
+ const recordActionCallback = (actionTag, hasText) => {
1530
+ actionCallbacksSeen += 1;
1531
+ const normalizedActionTag = normalizeActionName(actionTag);
1532
+ if (normalizedActionTag) {
1533
+ seenActionTags.add(normalizedActionTag);
1534
+ }
1535
+ // The reply is now coming from an action handler, not raw LLM streaming —
1536
+ // surface it as `running_action`, carrying the concrete action name (when
1537
+ // it is a real action rather than the generic VISIBLE_CALLBACK tag) so the
1538
+ // status reads e.g. "Running SEND_MESSAGE" instead of generic "Working".
1539
+ emitStatus({
1540
+ kind: "running_action",
1541
+ ...(normalizedActionTag && normalizedActionTag !== "VISIBLE_CALLBACK"
1542
+ ? { actionName: normalizedActionTag }
1543
+ : {}),
1544
+ });
1545
+ runtime.logger.info({
1546
+ src: "eliza-api",
1547
+ action: normalizedActionTag || actionTag,
1548
+ hasText,
1549
+ }, `[eliza-api] Action callback fired: ${normalizedActionTag || actionTag}`);
1550
+ };
1551
+ const extractCallbackActionTag = (content) => {
1552
+ const record = content;
1553
+ if (typeof record.action === "string" && record.action.length > 0) {
1554
+ return record.action;
1555
+ }
1556
+ if (Array.isArray(record.actions)) {
1557
+ const firstAction = record.actions.find((action) => typeof action === "string" && action.trim().length > 0);
1558
+ if (firstAction)
1559
+ return firstAction;
1560
+ }
1561
+ return "VISIBLE_CALLBACK";
1562
+ };
1563
+ const generationCapture = await withModelUsageCapture(runtime, () => withTimeout(Promise.resolve(runWithTrajectoryContext(trajectoryContext, async () => {
1564
+ // Binance skill direct dispatch
1565
+ const directSkillText = await maybeHandleDirectBinanceSkillRequest(runtime, message, replaceCallbackText, emitSnapshot);
1566
+ if (directSkillText) {
1567
+ const finalText = isClientVisibleNoResponse(directSkillText)
1568
+ ? directSkillText || "(no response)"
1569
+ : directSkillText;
1570
+ result = {
1571
+ didRespond: true,
1572
+ responseContent: { text: finalText },
1573
+ responseMessages: [],
1574
+ };
1575
+ responseText = finalText;
1576
+ forcedWalletExecutionText =
1577
+ isClientVisibleNoResponse(directSkillText);
1578
+ return;
1579
+ }
1580
+ // Direct dispatch for explicit task creation intent from UI
1581
+ const contentMetadata = message.content.metadata;
1582
+ if (contentMetadata?.intent === "create_task") {
1583
+ const coordinator = runtime.getService("SWARM_COORDINATOR");
1584
+ if (coordinator) {
1585
+ const createTaskAction = runtime.actions.find((a) => a.name.toUpperCase() === "START_CODING_TASK") ??
1586
+ runtime.actions.find((a) => a.name.toUpperCase() === "CREATE_TASK");
1587
+ if (createTaskAction) {
1588
+ runtime.logger.info({
1589
+ src: "eliza-api",
1590
+ agentType: contentMetadata.agentType,
1591
+ intent: "create_task",
1592
+ }, "[eliza-api] Direct dispatch START_CODING_TASK from UI intent");
1593
+ let actionResponseText = "";
1594
+ await createTaskAction.handler(runtime, message, undefined, {}, async (content) => {
1595
+ if (generationTimedOut || opts?.isAborted?.()) {
1596
+ throw createChatGenerationTimeoutError(generationTimeoutMs);
1597
+ }
1598
+ const chunk = extractCompatTextContent(content);
1599
+ if (chunk) {
1600
+ const voicedChunk = await rewriteDirectActionCallbackText({
1601
+ runtime,
1602
+ actionName: createTaskAction.name,
1603
+ text: chunk,
1604
+ content,
1605
+ });
1606
+ applyCallbackTextUpdate(content, voicedChunk);
1607
+ actionResponseText = responseText;
1608
+ }
1609
+ return [];
1610
+ });
1611
+ const finalText = actionResponseText || responseText || "Task created.";
1612
+ result = {
1613
+ didRespond: true,
1614
+ responseContent: { text: finalText },
1615
+ responseMessages: [],
1616
+ };
1617
+ responseText = finalText;
1618
+ return;
1619
+ }
1620
+ }
1621
+ // Fall through to normal LLM-based routing if coordinator not available
1622
+ }
1623
+ const localInferenceIntent = detectLocalInferenceCommandIntent(originalUserText, {
1624
+ localInferenceContext: hasLocalInferenceMetadata(message),
1625
+ });
1626
+ if (localInferenceIntent) {
1627
+ const { handleLocalInferenceChatCommand } = await getLocalInferenceChatApi();
1628
+ const localResult = await handleLocalInferenceChatCommand(localInferenceIntent, originalUserText);
1629
+ emitSnapshot(localResult.text);
1630
+ result = {
1631
+ didRespond: true,
1632
+ responseContent: {
1633
+ text: localResult.text,
1634
+ source: "client_chat",
1635
+ actions: ["REPLY"],
1636
+ localInference: localResult.localInference,
1637
+ failureKind: localResult.localInference.status === "failed" ||
1638
+ localResult.localInference.status === "no_space"
1639
+ ? "local_inference"
1640
+ : undefined,
1641
+ },
1642
+ responseMessages: [],
1643
+ };
1644
+ responseText = localResult.text;
1645
+ return;
1646
+ }
1647
+ const languageAugmentedMessage = maybeAugmentChatMessageWithLanguage(message, opts?.preferredLanguage);
1648
+ const walletAugmentedMessage = maybeAugmentChatMessageWithWalletContext(runtime, languageAugmentedMessage);
1649
+ const generationMessage = await maybeAugmentChatMessageWithDocuments(runtime, walletAugmentedMessage);
1650
+ result = await runtime.messageService?.handleMessage(runtime, generationMessage, async (content) => {
1651
+ if (generationTimedOut || opts?.isAborted?.()) {
1652
+ throw createChatGenerationTimeoutError(generationTimeoutMs);
1653
+ }
1654
+ const chunk = extractCompatTextContent(content);
1655
+ recordActionCallback(extractCallbackActionTag(content), Boolean(chunk));
1656
+ if (!chunk)
1657
+ return [];
1658
+ if (!claimStreamSource("callback"))
1659
+ return [];
1660
+ applyCallbackTextUpdate(content, chunk);
1661
+ return [];
1662
+ }, {
1663
+ timeoutDuration: generationTimeoutMs,
1664
+ abortSignal: generationAbortController.signal,
1665
+ keepExistingResponses: true,
1666
+ onStreamChunk: opts?.onChunk
1667
+ ? async (chunk) => {
1668
+ if (generationTimedOut || opts?.isAborted?.()) {
1669
+ throw createChatGenerationTimeoutError(generationTimeoutMs);
1670
+ }
1671
+ if (!chunk)
1672
+ return;
1673
+ if (!claimStreamSource("onStreamChunk"))
1674
+ return;
1675
+ appendIncomingText(chunk);
1676
+ }
1677
+ : undefined,
1678
+ });
1679
+ // Ensure MESSAGE_SENT hooks run for API chat flows.
1680
+ try {
1681
+ const responseMessages = Array.isArray(result?.responseMessages)
1682
+ ? result.responseMessages
1683
+ : [];
1684
+ const fallbackResponseContent = result?.responseContent &&
1685
+ typeof result.responseContent === "object"
1686
+ ? result.responseContent
1687
+ : responseText
1688
+ ? { text: responseText }
1689
+ : null;
1690
+ const messagesToEmit = responseMessages.length > 0
1691
+ ? responseMessages
1692
+ : fallbackResponseContent
1693
+ ? [
1694
+ {
1695
+ id: crypto.randomUUID(),
1696
+ content: fallbackResponseContent,
1697
+ },
1698
+ ]
1699
+ : [];
1700
+ if (messagesToEmit.length > 0 &&
1701
+ typeof runtime.emitEvent === "function") {
1702
+ for (const responseMessage of messagesToEmit) {
1703
+ const memoryLike = createMessageMemory({
1704
+ id: responseMessage.id ??
1705
+ crypto.randomUUID(),
1706
+ roomId: message.roomId,
1707
+ entityId: runtime.agentId,
1708
+ content: markSyntheticChatFailureContent(ensureMessageMemoryContent(responseMessage.content ?? { text: "" })),
1709
+ });
1710
+ memoryLike.metadata = message.metadata;
1711
+ await runtime.emitEvent("MESSAGE_SENT", {
1712
+ message: memoryLike,
1713
+ source: messageSource,
1714
+ });
1715
+ }
1716
+ }
1717
+ }
1718
+ catch (err) {
1719
+ runtime.logger.warn({
1720
+ err,
1721
+ src: "eliza-api",
1722
+ messageId: message.id,
1723
+ roomId: message.roomId,
1724
+ }, "Failed to emit MESSAGE_SENT event");
1725
+ }
1726
+ // Post-process fallback actions
1727
+ if (result) {
1728
+ const rc = result.responseContent;
1729
+ const resultRecord = asRecord(result);
1730
+ runtime.logger.info({
1731
+ src: "eliza-api",
1732
+ mode: resultRecord?.mode,
1733
+ actions: rc?.actions,
1734
+ hasText: Boolean(rc?.text),
1735
+ }, "[eliza-api] Chat response metadata");
1736
+ const rawActionsPayload = rc?.actions ?? resultRecord?.actions;
1737
+ const modelText = String(extractCompatTextContent(result.responseContent));
1738
+ const parsedFallbackActions = parseFallbackActionBlocks(rawActionsPayload, modelText);
1739
+ const actionNameLookup = buildRuntimeActionNameLookup(runtime);
1740
+ const executedRuntimeActions = listExecutedRuntimeActions(runtime, typeof message.id === "string" ? message.id : undefined);
1741
+ const executedActionNames = new Set([...executedRuntimeActions, ...seenActionTags]
1742
+ .map((name) => actionNameLookup.get(name) ?? name)
1743
+ .filter((name) => name.length > 0));
1744
+ // Only run fallback execution when the core did NOT dispatch actions itself.
1745
+ const coreHandledActions = resultRecord?.mode === "actions";
1746
+ const executableFallbackActions = parsedFallbackActions.filter((action) => {
1747
+ if (!isExecutableFallbackAction(action)) {
1748
+ return false;
1749
+ }
1750
+ const canonicalName = actionNameLookup.get(normalizeActionName(action.name)) ??
1751
+ normalizeActionName(action.name);
1752
+ return !executedActionNames.has(canonicalName);
1753
+ });
1754
+ if (!coreHandledActions && executableFallbackActions.length > 0) {
1755
+ const selfControlFallbackActions = executableFallbackActions.filter((action) => {
1756
+ const canonicalName = actionNameLookup.get(normalizeActionName(action.name)) ??
1757
+ normalizeActionName(action.name);
1758
+ return canonicalName === "BLOCK";
1759
+ });
1760
+ const callbacksBeforeFallback = actionCallbacksSeen;
1761
+ if (selfControlFallbackActions.length > 0) {
1762
+ await executeFallbackParsedActions(runtime, message, selfControlFallbackActions, appendIncomingText, recordActionCallback, {
1763
+ getCurrentText: () => responseText || modelText,
1764
+ });
1765
+ }
1766
+ const selfControlFallbackExecuted = actionCallbacksSeen > callbacksBeforeFallback;
1767
+ const remainingExecutableFallbackActions = executableFallbackActions.filter((action) => {
1768
+ const canonicalName = actionNameLookup.get(normalizeActionName(action.name)) ??
1769
+ normalizeActionName(action.name);
1770
+ if (canonicalName === "BLOCK") {
1771
+ return !selfControlFallbackExecuted;
1772
+ }
1773
+ return true;
1774
+ });
1775
+ if (remainingExecutableFallbackActions.length > 0) {
1776
+ runtime.logger.error({
1777
+ src: "eliza-api",
1778
+ parsedActions: remainingExecutableFallbackActions.map((a) => a.name),
1779
+ }, "[eliza-api] Unexecuted action payload detected; failing closed");
1780
+ const failureText = buildUnexecutedActionPayloadReply(remainingExecutableFallbackActions.map((action) => action.name));
1781
+ if (opts?.onSnapshot) {
1782
+ emitSnapshot(failureText);
1783
+ }
1784
+ else {
1785
+ responseText = failureText;
1786
+ }
1787
+ blockedUnexecutedActionPayload = true;
1788
+ }
1789
+ if (remainingExecutableFallbackActions.some((action) => normalizeActionName(action.name) === "CHECK_BALANCE")) {
1790
+ forcedWalletExecutionText = true;
1791
+ }
1792
+ }
1793
+ }
1794
+ })), generationTimeoutMs, () => createChatGenerationTimeoutError(generationTimeoutMs), () => {
1795
+ generationTimedOut = true;
1796
+ abortGeneration(createChatGenerationTimeoutError(generationTimeoutMs));
1797
+ }));
1798
+ capturedUsage = generationCapture.usage;
1799
+ const responseMessageText = getLatestVisibleResponseMessageText(result?.responseMessages);
1800
+ const resultText = responseMessageText ||
1801
+ extractCompatTextContent(result?.responseContent) ||
1802
+ "";
1803
+ // Fallback: if callbacks weren't used for text, stream + return final text.
1804
+ if (!responseText && resultText) {
1805
+ if (opts?.onSnapshot) {
1806
+ emitSnapshot(resultText);
1807
+ }
1808
+ else {
1809
+ emitChunk(resultText);
1810
+ }
1811
+ }
1812
+ else if (actionCallbacksSeen === 0 &&
1813
+ resultText &&
1814
+ resultText !== responseText &&
1815
+ resultText.startsWith(responseText)) {
1816
+ emitChunk(resultText.slice(responseText.length));
1817
+ }
1818
+ else if (actionCallbacksSeen === 0 &&
1819
+ resultText &&
1820
+ resultText !== responseText &&
1821
+ !forcedWalletExecutionText &&
1822
+ !blockedUnexecutedActionPayload) {
1823
+ if (opts?.onSnapshot) {
1824
+ emitSnapshot(resultText);
1825
+ }
1826
+ else {
1827
+ responseText = resultText;
1828
+ }
1829
+ }
1830
+ if (actionCallbacksSeen === 0 &&
1831
+ isWalletActionRequiredIntent(originalUserText)) {
1832
+ const failureText = buildWalletActionNotExecutedReply(runtime, originalUserText.trim());
1833
+ if (opts?.onSnapshot) {
1834
+ emitSnapshot(failureText);
1835
+ }
1836
+ else {
1837
+ responseText = failureText;
1838
+ }
1839
+ }
1840
+ const noResponseFallback = opts?.resolveNoResponseText?.();
1841
+ const exactDocumentValue = await resolveExactDocumentValueForChat(runtime, message);
1842
+ const normalizedResponseText = trimWalletProgressPrefix(exactDocumentValue || responseText || resultText || "");
1843
+ const intentionalNoResponse = isIntentionalNoResponseResult(result, normalizedResponseText);
1844
+ const finalText = intentionalNoResponse
1845
+ ? ""
1846
+ : isClientVisibleNoResponse(normalizedResponseText)
1847
+ ? (noResponseFallback ??
1848
+ (normalizedResponseText || responseText || "(no response)"))
1849
+ : normalizedResponseText;
1850
+ const responseMessages = Array.isArray(result?.responseMessages)
1851
+ ? result.responseMessages.map((entry) => ({
1852
+ ...(entry.id ? { id: entry.id } : {}),
1853
+ ...(entry.content ? { content: entry.content } : {}),
1854
+ }))
1855
+ : [];
1856
+ const responseContent = result?.responseContent && typeof result.responseContent === "object"
1857
+ ? {
1858
+ ...result.responseContent,
1859
+ text: finalText,
1860
+ }
1861
+ : finalText
1862
+ ? { text: finalText }
1863
+ : null;
1864
+ const responseRecord = responseContent;
1865
+ const localInference = responseRecord?.localInference &&
1866
+ typeof responseRecord.localInference === "object"
1867
+ ? responseRecord.localInference
1868
+ : undefined;
1869
+ const responseMetadata = asRecord(responseRecord?.metadata);
1870
+ const rawFailureKind = typeof responseRecord?.failureKind === "string"
1871
+ ? responseRecord.failureKind
1872
+ : typeof responseMetadata?.chatFailureKind === "string"
1873
+ ? responseMetadata.chatFailureKind
1874
+ : undefined;
1875
+ const failureKind = rawFailureKind === "insufficient_credits" ||
1876
+ rawFailureKind === "local_inference" ||
1877
+ rawFailureKind === "no_provider" ||
1878
+ rawFailureKind === "provider_issue"
1879
+ ? rawFailureKind
1880
+ : undefined;
1881
+ const thought = typeof responseContent?.thought === "string" &&
1882
+ responseContent.thought.trim()
1883
+ ? responseContent.thought
1884
+ : undefined;
1885
+ const actionResultSummaries = summarizeRuntimeActionResults(runtime, typeof message.id === "string" ? message.id : undefined);
1886
+ return {
1887
+ text: finalText,
1888
+ agentName,
1889
+ ...(thought ? { thought } : {}),
1890
+ ...(intentionalNoResponse
1891
+ ? { noResponseReason: "ignored" }
1892
+ : {}),
1893
+ ...(failureKind ? { failureKind } : {}),
1894
+ ...(localInference ? { localInference } : {}),
1895
+ ...(actionCallbacksSeen > 0 ? { usedActionCallbacks: true } : {}),
1896
+ ...(actionCallbackHistory.length > 0
1897
+ ? { actionCallbackHistory: [...actionCallbackHistory] }
1898
+ : {}),
1899
+ ...(actionResultSummaries.length > 0
1900
+ ? { actionResults: actionResultSummaries }
1901
+ : {}),
1902
+ ...(responseContent ? { responseContent } : {}),
1903
+ ...(responseMessages.length > 0 ? { responseMessages } : {}),
1904
+ usage: buildChatUsage(runtime, message, finalText, capturedUsage),
1905
+ };
1906
+ }
1907
+ finally {
1908
+ opts?.abortSignal?.removeEventListener("abort", onExternalAbort);
1909
+ try {
1910
+ await persistMessageTrajectoryGrouping(runtime, message);
1911
+ }
1912
+ catch (err) {
1913
+ runtime.logger.warn({
1914
+ err,
1915
+ src: "eliza-api",
1916
+ messageId: message.id,
1917
+ roomId: message.roomId,
1918
+ }, "Failed to persist trajectory grouping metadata");
1919
+ }
1920
+ }
1921
+ }
1922
+ function createConversationTitleAbortSignal(options = {}) {
1923
+ const controller = new AbortController();
1924
+ const abortFromCaller = () => {
1925
+ controller.abort(options.signal?.reason ?? new Error("Request aborted"));
1926
+ };
1927
+ if (options.signal?.aborted) {
1928
+ abortFromCaller();
1929
+ }
1930
+ else {
1931
+ options.signal?.addEventListener("abort", abortFromCaller, { once: true });
1932
+ }
1933
+ const timeoutMs = typeof options.timeoutMs === "number" &&
1934
+ Number.isFinite(options.timeoutMs) &&
1935
+ options.timeoutMs > 0
1936
+ ? Math.floor(options.timeoutMs)
1937
+ : DEFAULT_CONVERSATION_TITLE_TIMEOUT_MS;
1938
+ const timer = setTimeout(() => {
1939
+ controller.abort(new DOMException(`Conversation title generation timed out after ${timeoutMs}ms`, "TimeoutError"));
1940
+ }, timeoutMs);
1941
+ timer.unref?.();
1942
+ return {
1943
+ signal: controller.signal,
1944
+ cleanup: () => {
1945
+ clearTimeout(timer);
1946
+ options.signal?.removeEventListener("abort", abortFromCaller);
1947
+ },
1948
+ };
1949
+ }
1950
+ function isAbortLikeError(err) {
1951
+ if (!(err instanceof Error))
1952
+ return false;
1953
+ return (err.name === "AbortError" ||
1954
+ err.name === "TimeoutError" ||
1955
+ err.message.toLowerCase().includes("aborted"));
1956
+ }
1957
+ export async function generateConversationTitle(runtime, userMessage, agentName, options) {
1958
+ const modelClass = ModelType.TEXT_SMALL;
1959
+ const prompt = `Based on the user's first message in a new chat, generate a very short, concise title (max 4-5 words) for the conversation.
1960
+ The agent's name is "${agentName}". The title should reflect the topic or intent of the user.
1961
+ Ideally, the title should fit the persona/vibe of the agent if possible, but clarity is more important.
1962
+ Do not use quotes. Do not include "Title:" prefix.
1963
+
1964
+ User message: "${userMessage}"
1965
+
1966
+ Title:`;
1967
+ const abort = createConversationTitleAbortSignal(options);
1968
+ try {
1969
+ const title = await runtime.useModel(modelClass, {
1970
+ prompt,
1971
+ maxTokens: 20,
1972
+ temperature: 0.7,
1973
+ signal: abort.signal,
1974
+ });
1975
+ if (!title)
1976
+ return null;
1977
+ let cleanTitle = title.trim();
1978
+ if ((cleanTitle.startsWith('"') && cleanTitle.endsWith('"')) ||
1979
+ (cleanTitle.startsWith("'") && cleanTitle.endsWith("'"))) {
1980
+ cleanTitle = cleanTitle.slice(1, -1);
1981
+ }
1982
+ if (!cleanTitle || cleanTitle.length > 50)
1983
+ return null;
1984
+ return cleanTitle;
1985
+ }
1986
+ catch (err) {
1987
+ const message = err instanceof Error ? err.message : String(err);
1988
+ if (isAbortLikeError(err)) {
1989
+ logger.info(`[eliza] Conversation title generation cancelled: ${message}`);
1990
+ }
1991
+ else {
1992
+ logger.warn(`[eliza] Failed to generate conversation title: ${message}`);
1993
+ }
1994
+ return null;
1995
+ }
1996
+ finally {
1997
+ abort.cleanup();
1998
+ }
1999
+ }
2000
+ export function resolveChatAdminEntityId(state) {
2001
+ return resolveClientChatAdminEntityId(state);
2002
+ }
2003
+ async function ensureCompatChatConnection(state, runtime, agentName, channelIdPrefix, roomKey) {
2004
+ const userId = ensureAdminEntityIdForChat(state);
2005
+ const roomId = stringToUuid(`${agentName}-${channelIdPrefix}-room-${roomKey}`);
2006
+ const worldId = stringToUuid(`${agentName}-web-chat-world`);
2007
+ const messageServerId = stringToUuid(`${agentName}-web-server`);
2008
+ await runtime.ensureConnection({
2009
+ entityId: userId,
2010
+ roomId,
2011
+ worldId,
2012
+ userName: resolveAppUserName(state.config),
2013
+ source: "client_chat",
2014
+ channelId: `${channelIdPrefix}-${roomKey}`,
2015
+ type: ChannelType.DM,
2016
+ messageServerId,
2017
+ metadata: { ownership: { ownerId: userId } },
2018
+ });
2019
+ // Ensure world ownership
2020
+ const world = await runtime.getWorld(worldId);
2021
+ if (world) {
2022
+ let needsUpdate = false;
2023
+ if (!world.metadata) {
2024
+ world.metadata = {};
2025
+ needsUpdate = true;
2026
+ }
2027
+ if (!world.metadata.ownership ||
2028
+ typeof world.metadata.ownership !== "object" ||
2029
+ world.metadata.ownership.ownerId !== userId) {
2030
+ world.metadata.ownership = { ownerId: userId };
2031
+ needsUpdate = true;
2032
+ }
2033
+ const metadataWithRoles = world.metadata;
2034
+ const roles = metadataWithRoles.roles ?? {};
2035
+ if (roles[userId] !== "OWNER") {
2036
+ roles[userId] = "OWNER";
2037
+ metadataWithRoles.roles = roles;
2038
+ needsUpdate = true;
2039
+ }
2040
+ if (needsUpdate) {
2041
+ await runtime.updateWorld(world);
2042
+ }
2043
+ }
2044
+ return { userId, roomId, worldId };
2045
+ }
2046
+ function ensureAdminEntityIdForChat(state) {
2047
+ return resolveChatAdminEntityId(state);
2048
+ }
2049
+ function syncRuntimeCharacterToChatStateConfig(state) {
2050
+ if (!state.runtime || !state.config) {
2051
+ return;
2052
+ }
2053
+ syncCharacterIntoConfig(state.config, state.runtime.character);
2054
+ }
2055
+ // ---------------------------------------------------------------------------
2056
+ // Main route handler
2057
+ // ---------------------------------------------------------------------------
2058
+ export async function handleChatRoutes(ctx) {
2059
+ const { req, res, method, pathname, readJsonBody, json, state } = ctx;
2060
+ // ── GET /v1/models (OpenAI compatible) ─────────────────────────────────
2061
+ if (method === "GET" && pathname === "/v1/models") {
2062
+ const created = Math.floor(Date.now() / 1000);
2063
+ const ids = new Set();
2064
+ ids.add("eliza");
2065
+ if (state.agentName.trim())
2066
+ ids.add(state.agentName.trim());
2067
+ if (state.runtime?.character.name?.trim())
2068
+ ids.add(state.runtime.character.name.trim());
2069
+ json(res, {
2070
+ object: "list",
2071
+ data: Array.from(ids).map((id) => ({
2072
+ id,
2073
+ object: "model",
2074
+ created,
2075
+ owned_by: "eliza",
2076
+ })),
2077
+ });
2078
+ return true;
2079
+ }
2080
+ // ── GET /v1/models/:id (OpenAI compatible) ─────────────────────────────
2081
+ if (method === "GET" && /^\/v1\/models\/[^/]+$/.test(pathname)) {
2082
+ const created = Math.floor(Date.now() / 1000);
2083
+ const raw = pathname.split("/")[3] ?? "";
2084
+ const decoded = decodePathComponent(raw, res, "model id");
2085
+ if (!decoded)
2086
+ return true;
2087
+ const id = decoded.trim();
2088
+ if (!id) {
2089
+ json(res, {
2090
+ error: {
2091
+ message: "Model id is required",
2092
+ type: "invalid_request_error",
2093
+ },
2094
+ }, 400);
2095
+ return true;
2096
+ }
2097
+ json(res, { id, object: "model", created, owned_by: "eliza" });
2098
+ return true;
2099
+ }
2100
+ // ── POST /v1/chat/completions (OpenAI compatible) ──────────────────────
2101
+ if (method === "POST" && pathname === "/v1/chat/completions") {
2102
+ const body = await readJsonBody(req, res);
2103
+ if (!body)
2104
+ return true;
2105
+ if (hasBlockedObjectKeyDeep(body)) {
2106
+ json(res, {
2107
+ error: {
2108
+ message: "Request body contains a blocked object key",
2109
+ type: "invalid_request_error",
2110
+ },
2111
+ }, 400);
2112
+ return true;
2113
+ }
2114
+ const safeBody = cloneWithoutBlockedObjectKeys(body);
2115
+ const extracted = extractOpenAiSystemAndLastUser(safeBody.messages);
2116
+ if (!extracted) {
2117
+ json(res, {
2118
+ error: {
2119
+ message: "messages must be an array containing at least one user message",
2120
+ type: "invalid_request_error",
2121
+ },
2122
+ }, 400);
2123
+ return true;
2124
+ }
2125
+ const roomKey = resolveCompatRoomKey(safeBody).slice(0, 120);
2126
+ const wantsStream = safeBody.stream === true ||
2127
+ (req.headers.accept ?? "").includes("text/event-stream");
2128
+ const requestedModel = typeof safeBody.model === "string" && safeBody.model.trim()
2129
+ ? safeBody.model.trim()
2130
+ : null;
2131
+ const prompt = extracted.system
2132
+ ? `${extracted.system}\n\n${extracted.user}`.trim()
2133
+ : extracted.user;
2134
+ const created = Math.floor(Date.now() / 1000);
2135
+ const id = `chatcmpl-${crypto.randomUUID()}`;
2136
+ const model = requestedModel ?? state.agentName;
2137
+ if (wantsStream) {
2138
+ initSse(res);
2139
+ let aborted = false;
2140
+ req.on("close", () => {
2141
+ aborted = true;
2142
+ });
2143
+ const sendChunk = (delta, finishReason) => {
2144
+ writeSseData(res, JSON.stringify({
2145
+ id,
2146
+ object: "chat.completion.chunk",
2147
+ created,
2148
+ model,
2149
+ choices: [
2150
+ {
2151
+ index: 0,
2152
+ delta,
2153
+ finish_reason: finishReason,
2154
+ },
2155
+ ],
2156
+ }));
2157
+ };
2158
+ try {
2159
+ if (!state.runtime) {
2160
+ writeSseData(res, JSON.stringify({
2161
+ error: {
2162
+ message: "Agent is not running",
2163
+ type: "service_unavailable",
2164
+ },
2165
+ }));
2166
+ writeSseData(res, "[DONE]");
2167
+ return true;
2168
+ }
2169
+ sendChunk({ role: "assistant" }, null);
2170
+ let fullText = "";
2171
+ {
2172
+ const runtime = state.runtime;
2173
+ if (!runtime)
2174
+ throw new Error("Agent is not running");
2175
+ const agentName = runtime.character.name ?? "Eliza";
2176
+ const { userId, roomId } = await ensureCompatChatConnection(state, runtime, agentName, "openai-compat", roomKey);
2177
+ const message = createMessageMemory({
2178
+ id: crypto.randomUUID(),
2179
+ entityId: userId,
2180
+ agentId: runtime.agentId,
2181
+ roomId,
2182
+ content: {
2183
+ text: prompt,
2184
+ source: "compat_openai",
2185
+ channelType: ChannelType.API,
2186
+ },
2187
+ });
2188
+ const result = await generateChatResponse(runtime, message, state.agentName, {
2189
+ isAborted: () => aborted,
2190
+ onChunk: (chunk) => {
2191
+ fullText += chunk;
2192
+ if (chunk)
2193
+ sendChunk({ content: chunk }, null);
2194
+ },
2195
+ resolveNoResponseText: () => resolveNoResponseFallback(state.logBuffer, runtime),
2196
+ });
2197
+ if (result.localInference && !fullText) {
2198
+ fullText = result.text;
2199
+ sendChunk({ content: result.text }, null);
2200
+ }
2201
+ syncRuntimeCharacterToChatStateConfig(state);
2202
+ }
2203
+ const resolved = normalizeChatResponseText(fullText, state.logBuffer, state.runtime);
2204
+ if ((fullText.trim().length === 0 || isNoResponsePlaceholder(fullText)) &&
2205
+ resolved.trim()) {
2206
+ sendChunk({ content: resolved }, null);
2207
+ }
2208
+ sendChunk({}, "stop");
2209
+ writeSseData(res, "[DONE]");
2210
+ }
2211
+ catch (err) {
2212
+ if (!aborted) {
2213
+ if (isLocalInferenceError(err)) {
2214
+ const { getLocalInferenceChatStatus } = await getLocalInferenceChatApi();
2215
+ const localFailure = await getLocalInferenceChatStatus("status", err);
2216
+ writeSseData(res, JSON.stringify({
2217
+ error: {
2218
+ message: localFailure.text,
2219
+ type: "local_inference",
2220
+ localInference: localFailure.localInference,
2221
+ },
2222
+ }));
2223
+ }
2224
+ else if (isNoProviderError(err)) {
2225
+ writeSseData(res, JSON.stringify({
2226
+ error: {
2227
+ message: NO_PROVIDER_CHAT_MESSAGE,
2228
+ type: "no_provider",
2229
+ code: "NO_PROVIDER_REGISTERED",
2230
+ },
2231
+ }));
2232
+ }
2233
+ else {
2234
+ writeSseData(res, JSON.stringify({
2235
+ error: {
2236
+ message: getErrorMessage(err),
2237
+ type: "server_error",
2238
+ },
2239
+ }));
2240
+ }
2241
+ writeSseData(res, "[DONE]");
2242
+ }
2243
+ }
2244
+ finally {
2245
+ res.end();
2246
+ }
2247
+ return true;
2248
+ }
2249
+ // Non-streaming
2250
+ try {
2251
+ let responseText;
2252
+ let localInference;
2253
+ let failureKind;
2254
+ {
2255
+ if (!state.runtime) {
2256
+ json(res, {
2257
+ error: {
2258
+ message: "Agent is not running",
2259
+ type: "service_unavailable",
2260
+ },
2261
+ }, 503);
2262
+ return true;
2263
+ }
2264
+ const runtime = state.runtime;
2265
+ const agentName = runtime.character.name ?? "Eliza";
2266
+ const { userId, roomId } = await ensureCompatChatConnection(state, runtime, agentName, "openai-compat", roomKey);
2267
+ const message = createMessageMemory({
2268
+ id: crypto.randomUUID(),
2269
+ entityId: userId,
2270
+ roomId,
2271
+ content: {
2272
+ text: prompt,
2273
+ source: "compat_openai",
2274
+ channelType: ChannelType.API,
2275
+ },
2276
+ });
2277
+ const result = await generateChatResponse(runtime, message, state.agentName, {
2278
+ resolveNoResponseText: () => resolveNoResponseFallback(state.logBuffer, runtime),
2279
+ });
2280
+ syncRuntimeCharacterToChatStateConfig(state);
2281
+ responseText = result.text;
2282
+ localInference = result.localInference;
2283
+ failureKind = result.failureKind;
2284
+ }
2285
+ if (failureKind === "no_provider") {
2286
+ json(res, {
2287
+ error: {
2288
+ message: NO_PROVIDER_CHAT_MESSAGE,
2289
+ type: "no_provider",
2290
+ code: "NO_PROVIDER_REGISTERED",
2291
+ },
2292
+ }, 503);
2293
+ return true;
2294
+ }
2295
+ const resolvedText = normalizeChatResponseText(responseText, state.logBuffer, state.runtime);
2296
+ json(res, {
2297
+ id,
2298
+ object: "chat.completion",
2299
+ created,
2300
+ model,
2301
+ choices: [
2302
+ {
2303
+ index: 0,
2304
+ message: { role: "assistant", content: resolvedText },
2305
+ finish_reason: "stop",
2306
+ },
2307
+ ],
2308
+ ...(failureKind ? { failureKind } : {}),
2309
+ ...(localInference ? { localInference } : {}),
2310
+ });
2311
+ }
2312
+ catch (err) {
2313
+ if (isLocalInferenceError(err)) {
2314
+ const { getLocalInferenceChatStatus } = await getLocalInferenceChatApi();
2315
+ const localFailure = await getLocalInferenceChatStatus("status", err);
2316
+ json(res, {
2317
+ error: {
2318
+ message: localFailure.text,
2319
+ type: "local_inference",
2320
+ localInference: localFailure.localInference,
2321
+ },
2322
+ }, 503);
2323
+ }
2324
+ else if (isNoProviderError(err)) {
2325
+ json(res, {
2326
+ error: {
2327
+ message: NO_PROVIDER_CHAT_MESSAGE,
2328
+ type: "no_provider",
2329
+ code: "NO_PROVIDER_REGISTERED",
2330
+ },
2331
+ }, 503);
2332
+ }
2333
+ else {
2334
+ json(res, { error: { message: getErrorMessage(err), type: "server_error" } }, 500);
2335
+ }
2336
+ }
2337
+ return true;
2338
+ }
2339
+ // ── POST /v1/messages (Anthropic compatible) ───────────────────────────
2340
+ if (method === "POST" && pathname === "/v1/messages") {
2341
+ const body = await readJsonBody(req, res);
2342
+ if (!body)
2343
+ return true;
2344
+ if (hasBlockedObjectKeyDeep(body)) {
2345
+ json(res, {
2346
+ error: {
2347
+ type: "invalid_request_error",
2348
+ message: "Request body contains a blocked object key",
2349
+ },
2350
+ }, 400);
2351
+ return true;
2352
+ }
2353
+ const safeBody = cloneWithoutBlockedObjectKeys(body);
2354
+ const extracted = extractAnthropicSystemAndLastUser({
2355
+ system: safeBody.system,
2356
+ messages: safeBody.messages,
2357
+ });
2358
+ if (!extracted) {
2359
+ json(res, {
2360
+ error: {
2361
+ type: "invalid_request_error",
2362
+ message: "messages must be an array containing at least one user message",
2363
+ },
2364
+ }, 400);
2365
+ return true;
2366
+ }
2367
+ const roomKey = resolveCompatRoomKey(safeBody).slice(0, 120);
2368
+ const wantsStream = safeBody.stream === true ||
2369
+ (req.headers.accept ?? "").includes("text/event-stream");
2370
+ const requestedModel = typeof safeBody.model === "string" && safeBody.model.trim()
2371
+ ? safeBody.model.trim()
2372
+ : null;
2373
+ const prompt = extracted.system
2374
+ ? `${extracted.system}\n\n${extracted.user}`.trim()
2375
+ : extracted.user;
2376
+ const id = `msg_${crypto.randomUUID().replace(/-/g, "")}`;
2377
+ const model = requestedModel ?? state.agentName;
2378
+ if (wantsStream) {
2379
+ initSse(res);
2380
+ let aborted = false;
2381
+ req.on("close", () => {
2382
+ aborted = true;
2383
+ });
2384
+ try {
2385
+ if (!state.runtime) {
2386
+ writeSseJson(res, {
2387
+ type: "error",
2388
+ error: {
2389
+ type: "service_unavailable",
2390
+ message: "Agent is not running",
2391
+ },
2392
+ }, "error");
2393
+ return true;
2394
+ }
2395
+ // Anthropic's wire format reports input_tokens on message_start (the
2396
+ // prompt is fully known here) and accumulates output_tokens on the
2397
+ // closing message_delta. We don't have a real model-side prompt count
2398
+ // before generation, so input_tokens is the same heuristic estimate the
2399
+ // rest of this file uses (estimateTokenCount); output_tokens is filled
2400
+ // from the real generation result below.
2401
+ const inputTokens = estimateTokenCount(prompt);
2402
+ writeSseJson(res, {
2403
+ type: "message_start",
2404
+ message: {
2405
+ id,
2406
+ type: "message",
2407
+ role: "assistant",
2408
+ model,
2409
+ content: [],
2410
+ stop_reason: null,
2411
+ stop_sequence: null,
2412
+ usage: { input_tokens: inputTokens, output_tokens: 0 },
2413
+ },
2414
+ }, "message_start");
2415
+ writeSseJson(res, {
2416
+ type: "content_block_start",
2417
+ index: 0,
2418
+ content_block: { type: "text", text: "" },
2419
+ }, "content_block_start");
2420
+ let fullText = "";
2421
+ let outputTokens = 0;
2422
+ const onDelta = (chunk) => {
2423
+ if (!chunk)
2424
+ return;
2425
+ fullText += chunk;
2426
+ writeSseJson(res, {
2427
+ type: "content_block_delta",
2428
+ index: 0,
2429
+ delta: { type: "text_delta", text: chunk },
2430
+ }, "content_block_delta");
2431
+ };
2432
+ {
2433
+ const runtime = state.runtime;
2434
+ if (!runtime)
2435
+ throw new Error("Agent is not running");
2436
+ const agentName = runtime.character.name ?? "Eliza";
2437
+ const { userId, roomId } = await ensureCompatChatConnection(state, runtime, agentName, "anthropic-compat", roomKey);
2438
+ const message = createMessageMemory({
2439
+ id: crypto.randomUUID(),
2440
+ entityId: userId,
2441
+ roomId,
2442
+ content: {
2443
+ text: prompt,
2444
+ source: "compat_anthropic",
2445
+ channelType: ChannelType.API,
2446
+ },
2447
+ });
2448
+ const generation = await generateChatResponse(runtime, message, state.agentName, {
2449
+ isAborted: () => aborted,
2450
+ onChunk: onDelta,
2451
+ resolveNoResponseText: () => resolveNoResponseFallback(state.logBuffer, runtime),
2452
+ });
2453
+ outputTokens = generation.usage?.completionTokens ?? outputTokens;
2454
+ syncRuntimeCharacterToChatStateConfig(state);
2455
+ }
2456
+ const resolved = normalizeChatResponseText(fullText, state.logBuffer, state.runtime);
2457
+ if ((fullText.trim().length === 0 || isNoResponsePlaceholder(fullText)) &&
2458
+ resolved.trim()) {
2459
+ onDelta(resolved);
2460
+ }
2461
+ writeSseJson(res, { type: "content_block_stop", index: 0 }, "content_block_stop");
2462
+ writeSseJson(res, {
2463
+ type: "message_delta",
2464
+ delta: { stop_reason: "end_turn", stop_sequence: null },
2465
+ usage: {
2466
+ output_tokens: outputTokens > 0 ? outputTokens : estimateTokenCount(fullText),
2467
+ },
2468
+ }, "message_delta");
2469
+ writeSseJson(res, { type: "message_stop" }, "message_stop");
2470
+ }
2471
+ catch (err) {
2472
+ if (!aborted) {
2473
+ if (isNoProviderError(err)) {
2474
+ writeSseJson(res, {
2475
+ type: "error",
2476
+ error: {
2477
+ type: "no_provider",
2478
+ code: "NO_PROVIDER_REGISTERED",
2479
+ message: NO_PROVIDER_CHAT_MESSAGE,
2480
+ },
2481
+ }, "error");
2482
+ }
2483
+ else {
2484
+ writeSseJson(res, {
2485
+ type: "error",
2486
+ error: { type: "server_error", message: getErrorMessage(err) },
2487
+ }, "error");
2488
+ }
2489
+ }
2490
+ }
2491
+ finally {
2492
+ res.end();
2493
+ }
2494
+ return true;
2495
+ }
2496
+ // Non-streaming
2497
+ try {
2498
+ let responseText;
2499
+ let inputTokens = estimateTokenCount(prompt);
2500
+ let outputTokens = 0;
2501
+ {
2502
+ if (!state.runtime) {
2503
+ json(res, {
2504
+ error: {
2505
+ type: "service_unavailable",
2506
+ message: "Agent is not running",
2507
+ },
2508
+ }, 503);
2509
+ return true;
2510
+ }
2511
+ const runtime = state.runtime;
2512
+ const agentName = runtime.character.name ?? "Eliza";
2513
+ const { userId, roomId } = await ensureCompatChatConnection(state, runtime, agentName, "anthropic-compat", roomKey);
2514
+ const message = createMessageMemory({
2515
+ id: crypto.randomUUID(),
2516
+ entityId: userId,
2517
+ roomId,
2518
+ content: {
2519
+ text: prompt,
2520
+ source: "compat_anthropic",
2521
+ channelType: ChannelType.API,
2522
+ },
2523
+ });
2524
+ const result = await generateChatResponse(runtime, message, state.agentName, {
2525
+ resolveNoResponseText: () => resolveNoResponseFallback(state.logBuffer, runtime),
2526
+ });
2527
+ syncRuntimeCharacterToChatStateConfig(state);
2528
+ responseText = result.text;
2529
+ if (result.usage) {
2530
+ inputTokens = result.usage.promptTokens;
2531
+ outputTokens = result.usage.completionTokens;
2532
+ }
2533
+ }
2534
+ const resolvedText = normalizeChatResponseText(responseText, state.logBuffer, state.runtime);
2535
+ json(res, {
2536
+ id,
2537
+ type: "message",
2538
+ role: "assistant",
2539
+ model,
2540
+ content: [{ type: "text", text: resolvedText }],
2541
+ stop_reason: "end_turn",
2542
+ stop_sequence: null,
2543
+ usage: {
2544
+ input_tokens: inputTokens,
2545
+ output_tokens: outputTokens > 0 ? outputTokens : estimateTokenCount(resolvedText),
2546
+ },
2547
+ });
2548
+ }
2549
+ catch (err) {
2550
+ if (isNoProviderError(err)) {
2551
+ json(res, {
2552
+ error: {
2553
+ type: "no_provider",
2554
+ code: "NO_PROVIDER_REGISTERED",
2555
+ message: NO_PROVIDER_CHAT_MESSAGE,
2556
+ },
2557
+ }, 503);
2558
+ }
2559
+ else {
2560
+ json(res, { error: { type: "server_error", message: getErrorMessage(err) } }, 500);
2561
+ }
2562
+ }
2563
+ return true;
2564
+ }
2565
+ // ── POST /api/agents/:id/message ───────────────────────────────────────
2566
+ // Local-mode mirror of the cloud agent-server's per-agent message
2567
+ // endpoint (`packages/cloud-services/agent-server/src/routes.ts`). Shares the
2568
+ // same `generateChatResponse` path as `/v1/chat/completions` so model
2569
+ // routing (incl. local-inference TEXT_LARGE handlers) is identical.
2570
+ if (method === "POST" && /^\/api\/agents\/[^/]+\/message$/.test(pathname)) {
2571
+ const rawId = pathname.split("/")[3] ?? "";
2572
+ const decoded = decodePathComponent(rawId, res, "agent id");
2573
+ if (!decoded)
2574
+ return true;
2575
+ const agentIdParam = decoded.trim();
2576
+ if (!agentIdParam) {
2577
+ json(res, { error: "agent id is required" }, 400);
2578
+ return true;
2579
+ }
2580
+ if (!state.runtime) {
2581
+ json(res, { error: "Agent is not running" }, 503);
2582
+ return true;
2583
+ }
2584
+ // Surface a 404 only when the caller targeted an agent that this
2585
+ // process doesn't actually run — distinct from "route missing", which
2586
+ // is what the original issue (#7680) was reporting.
2587
+ if (state.runtime.agentId !== agentIdParam) {
2588
+ json(res, { error: "Agent not found" }, 404);
2589
+ return true;
2590
+ }
2591
+ const body = await readJsonBody(req, res);
2592
+ if (!body)
2593
+ return true;
2594
+ if (hasBlockedObjectKeyDeep(body)) {
2595
+ json(res, { error: "Request body contains a blocked object key" }, 400);
2596
+ return true;
2597
+ }
2598
+ const safeBody = cloneWithoutBlockedObjectKeys(body);
2599
+ const userId = typeof safeBody.userId === "string" && safeBody.userId.trim().length > 0
2600
+ ? safeBody.userId.trim()
2601
+ : null;
2602
+ const text = typeof safeBody.text === "string" && safeBody.text.trim().length > 0
2603
+ ? safeBody.text
2604
+ : null;
2605
+ if (!userId || !text) {
2606
+ json(res, { error: "userId and text are required" }, 400);
2607
+ return true;
2608
+ }
2609
+ const platformName = typeof safeBody.platformName === "string" ? safeBody.platformName : null;
2610
+ const channelType = typeof safeBody.channelType === "string"
2611
+ ? safeBody.channelType
2612
+ : ChannelType.API;
2613
+ const source = platformName || "agent_message_api";
2614
+ try {
2615
+ const runtime = state.runtime;
2616
+ const agentName = runtime.character.name ?? "Eliza";
2617
+ // Per-user room key — matches cloud `handleMessage`'s
2618
+ // `stringToUuid(\`${agentId}:${userId}\`)` shape closely enough that
2619
+ // both surfaces produce stable, user-scoped conversation rooms.
2620
+ const { roomId, userId: connUserId } = await ensureCompatChatConnection(state, runtime, agentName, "agent-message", `${agentIdParam}:${userId}`.slice(0, 120));
2621
+ const message = createMessageMemory({
2622
+ id: crypto.randomUUID(),
2623
+ entityId: connUserId,
2624
+ agentId: runtime.agentId,
2625
+ roomId,
2626
+ content: {
2627
+ text,
2628
+ source,
2629
+ channelType,
2630
+ },
2631
+ });
2632
+ const result = await generateChatResponse(runtime, message, state.agentName, {
2633
+ resolveNoResponseText: () => resolveNoResponseFallback(state.logBuffer, runtime),
2634
+ });
2635
+ syncRuntimeCharacterToChatStateConfig(state);
2636
+ const resolvedText = normalizeChatResponseText(result.text, state.logBuffer, state.runtime);
2637
+ json(res, {
2638
+ response: resolvedText,
2639
+ agentName: result.agentName,
2640
+ ...(result.failureKind ? { failureKind: result.failureKind } : {}),
2641
+ ...(result.localInference
2642
+ ? { localInference: result.localInference }
2643
+ : {}),
2644
+ });
2645
+ }
2646
+ catch (err) {
2647
+ if (isLocalInferenceError(err)) {
2648
+ const { getLocalInferenceChatStatus } = await getLocalInferenceChatApi();
2649
+ const localFailure = await getLocalInferenceChatStatus("status", err);
2650
+ json(res, {
2651
+ error: localFailure.text,
2652
+ type: "local_inference",
2653
+ localInference: localFailure.localInference,
2654
+ }, 503);
2655
+ }
2656
+ else if (isNoProviderError(err)) {
2657
+ json(res, {
2658
+ error: NO_PROVIDER_CHAT_MESSAGE,
2659
+ type: "no_provider",
2660
+ code: "NO_PROVIDER_REGISTERED",
2661
+ }, 503);
2662
+ }
2663
+ else {
2664
+ json(res, { error: getErrorMessage(err) }, 500);
2665
+ }
2666
+ }
2667
+ return true;
2668
+ }
2669
+ return false;
2670
+ }