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

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