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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/__tests__/view-user-journeys.d.ts.map +1 -1
  2. package/__tests__/view-user-journeys.js +52 -41
  3. package/actions/context-signal.d.ts +2 -2
  4. package/actions/files.d.ts +9 -0
  5. package/actions/files.d.ts.map +1 -0
  6. package/actions/files.js +183 -0
  7. package/actions/index.d.ts +17 -17
  8. package/api/accounts-routes.d.ts +1 -1
  9. package/api/accounts-routes.js +1 -1
  10. package/api/agent-admin-routes.d.ts +1 -1
  11. package/api/agent-admin-routes.js +2 -2
  12. package/api/agent-model.d.ts +1 -1
  13. package/api/agent-status-routes.d.ts +1 -3
  14. package/api/agent-status-routes.d.ts.map +1 -1
  15. package/api/agent-status-routes.js +0 -2
  16. package/api/approval-routes.d.ts +38 -0
  17. package/api/approval-routes.d.ts.map +1 -0
  18. package/api/approval-routes.js +223 -0
  19. package/api/background-routes.d.ts +13 -0
  20. package/api/background-routes.d.ts.map +1 -0
  21. package/api/background-routes.js +91 -0
  22. package/api/binance-skill-helpers.d.ts +2 -2
  23. package/api/binance-skill-helpers.js +2 -2
  24. package/api/builtin-views.d.ts.map +1 -1
  25. package/api/builtin-views.js +44 -4
  26. package/api/character-routes.d.ts +1 -1
  27. package/api/chat-augmentation.d.ts.map +1 -1
  28. package/api/chat-augmentation.js +17 -0
  29. package/api/chat-routes.d.ts +29 -2
  30. package/api/chat-routes.d.ts.map +1 -1
  31. package/api/chat-routes.js +76 -1
  32. package/api/commands-routes.d.ts +10 -8
  33. package/api/commands-routes.d.ts.map +1 -1
  34. package/api/commands-routes.js +17 -59
  35. package/api/config-routes.d.ts +1 -1
  36. package/api/config-routes.d.ts.map +1 -1
  37. package/api/config-routes.js +0 -2
  38. package/api/connector-routes.d.ts +1 -1
  39. package/api/conversation-metadata.d.ts +1 -1
  40. package/api/conversation-metadata.d.ts.map +1 -1
  41. package/api/conversation-metadata.js +0 -1
  42. package/api/conversation-routes.d.ts +4 -3
  43. package/api/conversation-routes.d.ts.map +1 -1
  44. package/api/conversation-routes.js +34 -1
  45. package/api/documents-service-loader.d.ts +0 -4
  46. package/api/documents-service-loader.d.ts.map +1 -1
  47. package/api/documents-service-loader.js +0 -2
  48. package/api/files-routes.d.ts +14 -0
  49. package/api/files-routes.d.ts.map +1 -0
  50. package/api/files-routes.js +47 -0
  51. package/api/first-run-routes.d.ts +1 -1
  52. package/api/health-routes.d.ts +2 -2
  53. package/api/index.d.ts +40 -39
  54. package/api/index.d.ts.map +1 -1
  55. package/api/index.js +1 -0
  56. package/api/interactions-routes.d.ts +33 -0
  57. package/api/interactions-routes.d.ts.map +1 -0
  58. package/api/interactions-routes.js +63 -0
  59. package/api/media-runtime.d.ts +2 -1
  60. package/api/media-runtime.d.ts.map +1 -1
  61. package/api/media-runtime.js +64 -7
  62. package/api/media-store.d.ts +36 -0
  63. package/api/media-store.d.ts.map +1 -1
  64. package/api/media-store.js +141 -2
  65. package/api/memory-bounds.d.ts +0 -1
  66. package/api/memory-bounds.d.ts.map +1 -1
  67. package/api/memory-bounds.js +0 -1
  68. package/api/misc-routes.d.ts +1 -1
  69. package/api/model-provider-helpers.d.ts +2 -2
  70. package/api/model-provider-helpers.js +2 -2
  71. package/api/permissions-routes-extra.d.ts +1 -1
  72. package/api/permissions-routes.d.ts +1 -1
  73. package/api/permissions-routes.d.ts.map +1 -1
  74. package/api/permissions-routes.js +8 -7
  75. package/api/plugin-discovery-helpers.d.ts +5 -6
  76. package/api/plugin-discovery-helpers.d.ts.map +1 -1
  77. package/api/plugin-discovery-helpers.js +3 -4
  78. package/api/plugin-runtime-apply.d.ts +2 -2
  79. package/api/plugin-runtime-apply.d.ts.map +1 -1
  80. package/api/plugin-runtime-apply.js +74 -0
  81. package/api/provider-switch-config.d.ts +1 -1
  82. package/api/provider-switch-routes.d.ts +2 -2
  83. package/api/registry-routes.d.ts +1 -1
  84. package/api/registry-service.d.ts +1 -1
  85. package/api/remote-capability-routes.d.ts +2 -2
  86. package/api/remote-capability-routes.d.ts.map +1 -1
  87. package/api/remote-capability-routes.js +19 -0
  88. package/api/server-autonomy-helpers.d.ts +2 -2
  89. package/api/server-helpers-auth.d.ts +10 -0
  90. package/api/server-helpers-auth.d.ts.map +1 -1
  91. package/api/server-helpers-auth.js +16 -210
  92. package/api/server-helpers-config.d.ts +1 -1
  93. package/api/server-helpers-mcp.d.ts +2 -2
  94. package/api/server-helpers-plugin.d.ts +1 -1
  95. package/api/server-helpers-swarm.d.ts +3 -3
  96. package/api/server-helpers-swarm.d.ts.map +1 -1
  97. package/api/server-helpers-swarm.js +15 -5
  98. package/api/server-helpers-wallet.d.ts +1 -1
  99. package/api/server-helpers.d.ts +4 -4
  100. package/api/server-lazy-routes.d.ts +40 -38
  101. package/api/server-lazy-routes.d.ts.map +1 -1
  102. package/api/server-lazy-routes.js +7 -0
  103. package/api/server-route-dispatch.d.ts +2 -2
  104. package/api/server-route-dispatch.d.ts.map +1 -1
  105. package/api/server-route-dispatch.js +7 -0
  106. package/api/server-types.d.ts +9 -7
  107. package/api/server-types.d.ts.map +1 -1
  108. package/api/server.d.ts +19 -19
  109. package/api/server.d.ts.map +1 -1
  110. package/api/server.js +111 -17
  111. package/api/static-file-server.d.ts +2 -2
  112. package/api/static-file-server.js +2 -2
  113. package/api/subscription-routes.d.ts +4 -4
  114. package/api/subscription-routes.js +3 -4
  115. package/api/suggestions-routes.d.ts +1 -1
  116. package/api/suggestions-routes.d.ts.map +1 -1
  117. package/api/suggestions-routes.js +2 -3
  118. package/api/terminal-execution-routing.d.ts +1 -1
  119. package/api/training-service-like.d.ts +1 -1
  120. package/api/trajectory-fallback-routes.d.ts.map +1 -1
  121. package/api/trajectory-fallback-routes.js +21 -1
  122. package/api/update-routes.d.ts +1 -1
  123. package/api/view-registry-types.d.ts +1 -1
  124. package/api/views-registry.d.ts +14 -4
  125. package/api/views-registry.d.ts.map +1 -1
  126. package/api/views-registry.js +50 -26
  127. package/api/views-routes.d.ts +1 -1
  128. package/api/views-routes.d.ts.map +1 -1
  129. package/api/views-routes.js +131 -14
  130. package/api/views-search-index.d.ts +1 -1
  131. package/api/wallet-capability.d.ts +3 -3
  132. package/api/wallet-rpc.d.ts +1 -1
  133. package/api/wallet.d.ts +3 -3
  134. package/api/wallet.d.ts.map +1 -1
  135. package/api/wallet.js +4 -3
  136. package/api/workbench-context.d.ts +1 -1
  137. package/api/workbench-helpers.d.ts +3 -3
  138. package/api/workbench-helpers.js +3 -3
  139. package/api/workbench-routes.d.ts +2 -2
  140. package/api/workbench-vfs-routes.d.ts +1 -1
  141. package/api/ws-event-replay.d.ts +1 -2
  142. package/api/ws-event-replay.d.ts.map +1 -1
  143. package/api/ws-event-replay.js +1 -2
  144. package/api/x-relay-routes.d.ts +2 -2
  145. package/api/x402-route-validation.d.ts +4 -0
  146. package/api/x402-route-validation.d.ts.map +1 -0
  147. package/api/x402-route-validation.js +6 -0
  148. package/assets/view-heroes/background.png +0 -0
  149. package/auth/account-storage.d.ts +1 -1
  150. package/auth/anthropic.d.ts +1 -1
  151. package/auth/credentials.d.ts +2 -2
  152. package/auth/index.d.ts +7 -7
  153. package/auth/oauth-flow.d.ts +2 -2
  154. package/auth/openai-codex.d.ts +1 -1
  155. package/awareness/index.d.ts +1 -1
  156. package/config/config.js +0 -1
  157. package/config/env-vars.d.ts +1 -1
  158. package/config/env-vars.d.ts.map +1 -1
  159. package/config/env-vars.js +0 -1
  160. package/config/index.d.ts +10 -10
  161. package/config/model-metadata.d.ts +1 -1
  162. package/config/owner-contacts.d.ts +1 -1
  163. package/config/schema.d.ts +1 -1
  164. package/hooks/discovery.d.ts +1 -1
  165. package/hooks/eligibility.d.ts +2 -2
  166. package/hooks/index.d.ts +2 -2
  167. package/hooks/loader.d.ts +2 -2
  168. package/hooks/registry.d.ts +1 -1
  169. package/index.d.ts +87 -85
  170. package/index.d.ts.map +1 -1
  171. package/index.js +11 -3
  172. package/package.json +54 -44
  173. package/providers/media-provider.d.ts +1 -1
  174. package/providers/page-scoped-context.d.ts.map +1 -1
  175. package/providers/page-scoped-context.js +1 -70
  176. package/providers/relevant-conversations.d.ts.map +1 -1
  177. package/providers/relevant-conversations.js +8 -9
  178. package/providers/workspace.d.ts +1 -1
  179. package/runtime/actions/web-fetch.d.ts.map +1 -1
  180. package/runtime/actions/web-fetch.js +23 -3
  181. package/runtime/actions/web-search.d.ts +32 -0
  182. package/runtime/actions/web-search.d.ts.map +1 -0
  183. package/runtime/actions/web-search.js +245 -0
  184. package/runtime/advanced-capabilities-config.d.ts +1 -1
  185. package/runtime/boot-telemetry.d.ts +1 -1
  186. package/runtime/conversation-compactor-runtime.d.ts +1 -1
  187. package/runtime/conversation-compactor-runtime.js +1 -1
  188. package/runtime/conversation-compactor.d.ts +1 -1
  189. package/runtime/core-plugins.d.ts.map +1 -1
  190. package/runtime/core-plugins.js +9 -0
  191. package/runtime/custom-actions.d.ts +18 -9
  192. package/runtime/custom-actions.d.ts.map +1 -1
  193. package/runtime/custom-actions.js +85 -23
  194. package/runtime/eliza-plugin.d.ts.map +1 -1
  195. package/runtime/eliza-plugin.js +15 -1
  196. package/runtime/eliza.d.ts +9 -7
  197. package/runtime/eliza.d.ts.map +1 -1
  198. package/runtime/eliza.js +86 -23
  199. package/runtime/first-time-setup.d.ts +1 -3
  200. package/runtime/first-time-setup.d.ts.map +1 -1
  201. package/runtime/first-time-setup.js +0 -2
  202. package/runtime/index.d.ts +18 -18
  203. package/runtime/load-plugin-from-vfs.d.ts +2 -2
  204. package/runtime/mobile-dns.d.ts.map +1 -1
  205. package/runtime/mobile-dns.js +2 -5
  206. package/runtime/operations/classifier.d.ts +1 -1
  207. package/runtime/operations/cold-strategy.d.ts +1 -1
  208. package/runtime/operations/health-checks.d.ts +1 -1
  209. package/runtime/operations/health.d.ts +1 -1
  210. package/runtime/operations/index.d.ts +10 -10
  211. package/runtime/operations/manager.d.ts +3 -3
  212. package/runtime/operations/reload-hot.d.ts +1 -1
  213. package/runtime/operations/repository.d.ts +1 -1
  214. package/runtime/operations/vault-bridge.d.ts +1 -1
  215. package/runtime/plugin-collector.d.ts +6 -1
  216. package/runtime/plugin-collector.d.ts.map +1 -1
  217. package/runtime/plugin-collector.js +11 -28
  218. package/runtime/plugin-lifecycle.d.ts.map +1 -1
  219. package/runtime/plugin-lifecycle.js +1 -0
  220. package/runtime/plugin-resolver.d.ts +2 -2
  221. package/runtime/plugin-resolver.d.ts.map +1 -1
  222. package/runtime/plugin-resolver.js +113 -65
  223. package/runtime/plugin-types.d.ts +1 -1
  224. package/runtime/prompt-optimization.d.ts +4 -4
  225. package/runtime/remote-coding-runner-gate.d.ts +7 -0
  226. package/runtime/remote-coding-runner-gate.d.ts.map +1 -0
  227. package/runtime/remote-coding-runner-gate.js +36 -0
  228. package/runtime/roles/src/index.d.ts +4 -4
  229. package/runtime/roles.d.ts +2 -2
  230. package/runtime/sandbox-character.d.ts +1 -1
  231. package/runtime/tool-call-cache/cache.d.ts +1 -1
  232. package/runtime/tool-call-cache/disk-store.d.ts +1 -1
  233. package/runtime/tool-call-cache/index.d.ts +6 -6
  234. package/runtime/tool-call-cache/key.d.ts +1 -1
  235. package/runtime/tool-call-cache/redact.d.ts +1 -1
  236. package/runtime/tool-call-cache/registry.d.ts +1 -1
  237. package/runtime/tool-call-cache-wrapper.d.ts +7 -9
  238. package/runtime/tool-call-cache-wrapper.d.ts.map +1 -1
  239. package/runtime/tool-call-cache-wrapper.js +6 -11
  240. package/runtime/trajectory-export.d.ts +3 -3
  241. package/runtime/trajectory-internals.d.ts +2 -1
  242. package/runtime/trajectory-internals.d.ts.map +1 -1
  243. package/runtime/trajectory-persistence.d.ts +5 -5
  244. package/runtime/trajectory-steps-reader.d.ts +1 -1
  245. package/runtime/trajectory-steps-writer.d.ts +1 -1
  246. package/runtime/trajectory-storage.d.ts +4 -4
  247. package/runtime/view-action-affinity.d.ts +18 -15
  248. package/runtime/view-action-affinity.d.ts.map +1 -1
  249. package/runtime/view-action-affinity.js +26 -29
  250. package/runtime/web-search-tools.d.ts +4 -1
  251. package/runtime/web-search-tools.d.ts.map +1 -1
  252. package/runtime/web-search-tools.js +37 -9
  253. package/security/index.d.ts +3 -3
  254. package/services/approval/index.d.ts +9 -0
  255. package/services/approval/index.d.ts.map +1 -0
  256. package/services/approval/index.js +8 -0
  257. package/services/approval/service.d.ts +35 -0
  258. package/services/approval/service.d.ts.map +1 -0
  259. package/services/approval/service.js +40 -0
  260. package/services/approval/sql.d.ts +18 -0
  261. package/services/approval/sql.d.ts.map +1 -0
  262. package/services/approval/sql.js +104 -0
  263. package/services/approval/store.d.ts +39 -0
  264. package/services/approval/store.d.ts.map +1 -0
  265. package/services/approval/store.js +534 -0
  266. package/services/approval/types.d.ts +207 -0
  267. package/services/approval/types.d.ts.map +1 -0
  268. package/services/approval/types.js +34 -0
  269. package/services/character-persistence.d.ts +2 -2
  270. package/services/client-chat-sender.d.ts +1 -1
  271. package/services/config-plugin-manager.d.ts +2 -2
  272. package/services/connector-setup-service.d.ts +1 -1
  273. package/services/cove-quote-x509.d.ts +1 -1
  274. package/services/cove-quote.d.ts +2 -2
  275. package/services/dstack-tee-provider.d.ts +1 -1
  276. package/services/file-storage.d.ts +20 -0
  277. package/services/file-storage.d.ts.map +1 -0
  278. package/services/file-storage.js +70 -0
  279. package/services/global-pause/index.d.ts +8 -0
  280. package/services/global-pause/index.d.ts.map +1 -0
  281. package/services/global-pause/index.js +7 -0
  282. package/services/global-pause/service.d.ts +29 -0
  283. package/services/global-pause/service.d.ts.map +1 -0
  284. package/services/global-pause/service.js +34 -0
  285. package/services/global-pause/store.d.ts +31 -0
  286. package/services/global-pause/store.d.ts.map +1 -0
  287. package/services/global-pause/store.js +83 -0
  288. package/services/handoff/index.d.ts +8 -0
  289. package/services/handoff/index.d.ts.map +1 -0
  290. package/services/handoff/index.js +7 -0
  291. package/services/handoff/service.d.ts +29 -0
  292. package/services/handoff/service.d.ts.map +1 -0
  293. package/services/handoff/service.js +34 -0
  294. package/services/handoff/store.d.ts +76 -0
  295. package/services/handoff/store.d.ts.map +1 -0
  296. package/services/handoff/store.js +148 -0
  297. package/services/index.d.ts +30 -31
  298. package/services/index.d.ts.map +1 -1
  299. package/services/index.js +0 -6
  300. package/services/js-runtime-bridge.d.ts.map +1 -1
  301. package/services/js-runtime-bridge.js +8 -2
  302. package/services/knowledge-graph/index.d.ts +4 -4
  303. package/services/knowledge-graph/service.d.ts +2 -2
  304. package/services/pending-prompts/index.d.ts +8 -0
  305. package/services/pending-prompts/index.d.ts.map +1 -0
  306. package/services/pending-prompts/index.js +7 -0
  307. package/services/pending-prompts/service.d.ts +34 -0
  308. package/services/pending-prompts/service.d.ts.map +1 -0
  309. package/services/pending-prompts/service.js +68 -0
  310. package/services/pending-prompts/store.d.ts +70 -0
  311. package/services/pending-prompts/store.d.ts.map +1 -0
  312. package/services/pending-prompts/store.js +191 -0
  313. package/services/plugin-compiler.d.ts +1 -1
  314. package/services/plugin-installer.d.ts.map +1 -1
  315. package/services/plugin-installer.js +21 -11
  316. package/services/plugin-manager-types.d.ts +1 -1
  317. package/services/proactive-interaction-decider.d.ts +62 -11
  318. package/services/proactive-interaction-decider.d.ts.map +1 -1
  319. package/services/proactive-interaction-decider.js +223 -35
  320. package/services/push/apns-provider.d.ts +1 -1
  321. package/services/push/fcm-provider.d.ts +1 -1
  322. package/services/push/notification-push-service.d.ts +2 -2
  323. package/services/registry-client-app-meta.d.ts +1 -1
  324. package/services/registry-client-endpoints.d.ts +2 -2
  325. package/services/registry-client-local.d.ts +1 -1
  326. package/services/registry-client-network.d.ts +1 -1
  327. package/services/registry-client-queries.d.ts +1 -1
  328. package/services/registry-client.d.ts +3 -3
  329. package/services/relationships-graph.d.ts +1 -1
  330. package/services/remote-capability-cloud-sandbox.d.ts +3 -3
  331. package/services/remote-capability-endpoint-conformance.d.ts +1 -1
  332. package/services/remote-capability-endpoint-provider.d.ts +4 -4
  333. package/services/remote-capability-url-endpoint-providers.d.ts +1 -1
  334. package/services/remote-plugin-adapter.d.ts.map +1 -1
  335. package/services/remote-plugin-adapter.js +3 -0
  336. package/services/remote-plugin-bridge.d.ts.map +1 -1
  337. package/services/remote-plugin-bridge.js +97 -26
  338. package/services/remote-signing-service.d.ts +4 -4
  339. package/services/research-task-executor.d.ts +1 -1
  340. package/services/sandbox-manager.d.ts +1 -1
  341. package/services/self-updater.d.ts +1 -1
  342. package/services/self-updater.d.ts.map +1 -1
  343. package/services/self-updater.js +23 -9
  344. package/services/shell-execution-router.d.ts +1 -1
  345. package/services/shell-execution-router.d.ts.map +1 -1
  346. package/services/shell-execution-router.js +19 -2
  347. package/services/tee-boot-gate-state.d.ts +1 -1
  348. package/services/tee-boot-gate.d.ts +4 -4
  349. package/services/tee-confidential-inference.d.ts +3 -3
  350. package/services/tee-key-release.d.ts +2 -2
  351. package/services/tee-model-key-boot.d.ts +4 -4
  352. package/services/tee-policy.d.ts +1 -1
  353. package/services/tee-production-profile.d.ts +1 -1
  354. package/services/tee-release-policy.d.ts +1 -1
  355. package/services/tee-revocation.d.ts +2 -2
  356. package/services/tee-runtime-config.d.ts +1 -1
  357. package/services/tee-sealed-volume.d.ts +3 -3
  358. package/services/tee-signer-backend.d.ts +3 -3
  359. package/services/update-checker.d.ts +1 -1
  360. package/services/vault-signer-backend.d.ts +1 -1
  361. package/services/vfs-git.d.ts +1 -1
  362. package/test-support/index.d.ts +3 -3
  363. package/triggers/runtime.d.ts +1 -1
  364. package/triggers/scheduling.d.ts +3 -22
  365. package/triggers/scheduling.d.ts.map +1 -1
  366. package/triggers/scheduling.js +2 -214
  367. package/tui/agent-terminal-tui.d.ts.map +1 -1
  368. package/tui/agent-terminal-tui.js +174 -72
  369. package/types/index.d.ts +3 -3
  370. package/api/nfa-routes.d.ts +0 -6
  371. package/api/nfa-routes.d.ts.map +0 -1
  372. package/api/nfa-routes.js +0 -125
  373. package/api/server-auth.d.ts +0 -46
  374. package/api/server-auth.d.ts.map +0 -1
  375. package/api/server-auth.js +0 -504
  376. package/runtime/restart.d.ts +0 -9
  377. package/runtime/restart.d.ts.map +0 -1
  378. package/runtime/restart.js +0 -8
  379. package/test-utils/sqlite-compat.d.ts +0 -23
  380. package/test-utils/sqlite-compat.d.ts.map +0 -1
  381. package/test-utils/sqlite-compat.js +0 -214
@@ -22,7 +22,9 @@ import { promises as fs } from "node:fs";
22
22
  import path from "node:path";
23
23
  import { EventType, logger, } from "@elizaos/core";
24
24
  import { readJsonBody } from "@elizaos/shared";
25
- import { clearActiveViewContext, setActiveViewContext, setActiveViewElements, } from "../runtime/view-action-affinity.js";
25
+ import { AGENT_SURFACE_CAPABILITY_IDS } from "@elizaos/ui/agent-surface/types";
26
+ import { STANDARD_CAPABILITIES } from "@elizaos/ui/views/view-interact-protocol";
27
+ import { clearActiveViewContext, getActiveViewContext, setActiveViewContext, setActiveViewElements, } from "../runtime/view-action-affinity.js";
26
28
  import { PendingRequestMap, } from "./pending-request-map.js";
27
29
  import { detectClientPlatform, isDynamicLoadingAllowed, } from "./platform-detect.js";
28
30
  import { findHeroOnDisk, generateViewHeroSvg, getBundleDiskPath, getView, listViews, } from "./views-registry.js";
@@ -150,14 +152,17 @@ function parseHostExternalSpecifiers(url) {
150
152
  .map((item) => item.trim())
151
153
  .filter(Boolean);
152
154
  }
153
- /** Standard capabilities every view supports even without an `interact` export. */
155
+ /**
156
+ * Capabilities accepted on any view without a matching declaration in
157
+ * `entry.capabilities` — the protocol's standard caps (get-state / refresh /
158
+ * focus-element / get-text / click-element / fill-input) plus the agent-surface
159
+ * caps the shell registry handles generically (list-elements / agent-click /
160
+ * agent-fill / …). Derived from the single canonical ui-side sources so the
161
+ * route never drifts from what the frontend actually dispatches. (#8798)
162
+ */
154
163
  const STANDARD_CAPABILITY_IDS = new Set([
155
- "get-state",
156
- "refresh",
157
- "focus-element",
158
- "get-text",
159
- "click-element",
160
- "fill-input",
164
+ ...Object.values(STANDARD_CAPABILITIES),
165
+ ...AGENT_SURFACE_CAPABILITY_IDS,
161
166
  ]);
162
167
  /** Module-level map of pending interact requests awaiting a frontend result. */
163
168
  const pendingInteractRequests = new PendingRequestMap();
@@ -271,11 +276,14 @@ export async function handleViewsRoutes(ctx) {
271
276
  }
272
277
  // ── GET /api/views ────────────────────────────────────────────────────────
273
278
  if (method === "GET" && (pathname === PREFIX || pathname === `${PREFIX}/`)) {
274
- const developerMode = ctx.developerMode ?? url.searchParams.get("developerMode") === "true";
275
279
  const platform = detectClientPlatform(req);
276
280
  const dynamicAllowed = isDynamicLoadingAllowed(platform);
277
281
  const viewType = parseViewTypeParam(url.searchParams.get("viewType"));
278
- const allViews = listViews({ developerMode, viewType });
282
+ // Return every view (all four kinds) with its `viewKind` so the client can
283
+ // apply the user's Settings toggles + build defaults itself. The server has
284
+ // no way to know whether it is talking to a dev build or which kinds the
285
+ // user enabled, so kind-gating is a client responsibility.
286
+ const allViews = listViews({ includeAllKinds: true, viewType });
279
287
  // On restricted platforms (iOS/Android store builds), only surface views
280
288
  // without a dynamic bundle URL (already in-process).
281
289
  const filtered = dynamicAllowed
@@ -453,7 +461,7 @@ export async function handleViewsRoutes(ctx) {
453
461
  // `/api/views/:id/chunk-abc.js`, so serve files beside the root bundle.
454
462
  if ((method === "GET" || method === "HEAD") &&
455
463
  subResource !== "" &&
456
- !["hero", "navigate", "interact"].includes(subResource)) {
464
+ !["hero", "navigate", "interact", "elements", "activate"].includes(subResource)) {
457
465
  const clientPlatform = detectClientPlatform(req);
458
466
  if (!isDynamicLoadingAllowed(clientPlatform)) {
459
467
  error(res, "Dynamic view asset loading is not permitted on this platform.", 403);
@@ -642,6 +650,9 @@ export async function handleViewsRoutes(ctx) {
642
650
  viewLabel,
643
651
  viewType: resolvedViewType,
644
652
  viewPath,
653
+ // Carry freshness so Stage-1 can acknowledge a just-happened switch (#8788).
654
+ ...(switchedAt ? { switchedAt } : {}),
655
+ ...(source ? { source } : {}),
645
656
  });
646
657
  // Emit the first-class VIEW_SWITCHED interaction event (#8792) so a
647
658
  // proactive decider can comment. Only on a real change (no spam on
@@ -702,6 +713,60 @@ export async function handleViewsRoutes(ctx) {
702
713
  json(res, { ok: true, viewId: id, accepted, count: elements.length });
703
714
  return true;
704
715
  }
716
+ // ── POST /api/views/:id/activate ─────────────────────────────────────────
717
+ // Activate one addressable control in a view by its element id (the focused
718
+ // button's agent id in a spatial/TUI mount). This is the terminal host's
719
+ // "a focused view button was pressed" → agent path.
720
+ //
721
+ // Contract:
722
+ // body: { elementId: string }
723
+ // - The element is resolved against the active-view element snapshot
724
+ // (reported via POST /:id/elements) for observability/context — absent
725
+ // when no snapshot was reported, which is fine.
726
+ // - The activation is dispatched as the STANDARD `click-element` capability
727
+ // through the exact same interact path as POST /:id/interact (a
728
+ // `serverInteract` handler when present, else a frontend round-trip),
729
+ // reusing the established CLICK_ELEMENT semantics rather than inventing a
730
+ // new dispatch.
731
+ // response: { ok, viewId, elementId, element?, dispatch: <interact result> }
732
+ if (method === "POST" && subResource === "activate") {
733
+ const body = await readJsonBody(req, res);
734
+ if (!body)
735
+ return true;
736
+ const elementId = typeof body.elementId === "string" && body.elementId.length > 0
737
+ ? body.elementId
738
+ : null;
739
+ if (!elementId) {
740
+ error(res, "Missing elementId in activate body", 400);
741
+ return true;
742
+ }
743
+ const viewType = parseViewTypeValue(body.viewType) ??
744
+ parseViewTypeParam(url.searchParams.get("viewType"));
745
+ const entry = getView(id, { viewType });
746
+ if (!entry) {
747
+ error(res, `View "${id}" not found`, 404);
748
+ return true;
749
+ }
750
+ // Resolve the element from the active-view snapshot for context (the planner
751
+ // reports it via /:id/elements). Only used when this view is the foreground
752
+ // active view; absent otherwise — the click still dispatches by id.
753
+ const active = getActiveViewContext();
754
+ const element = active?.viewId === id
755
+ ? active.elements?.find((el) => el.id === elementId)
756
+ : undefined;
757
+ const capability = STANDARD_CAPABILITIES.CLICK_ELEMENT;
758
+ const params = { elementId, id: elementId };
759
+ logger.info({ src: "ViewsRoutes", viewId: id, elementId, capability }, `[ViewsRoutes] Activate element "${elementId}" on view "${id}"`);
760
+ const dispatch = await dispatchViewInteract(entry, id, capability, params, ctx.broadcastWs);
761
+ json(res, {
762
+ ok: dispatch.success,
763
+ viewId: id,
764
+ elementId,
765
+ ...(element ? { element } : {}),
766
+ dispatch,
767
+ });
768
+ return true;
769
+ }
705
770
  // ── POST /api/views/interact-result ──────────────────────────────────────
706
771
  // Called by the frontend over HTTP (or proxied from WS) when a view has
707
772
  // finished handling an interact request. Resolves the pending promise so
@@ -818,9 +883,61 @@ export async function handleViewsRoutes(ctx) {
818
883
  }
819
884
  return false;
820
885
  }
821
- // ---------------------------------------------------------------------------
822
- // Private helpers
823
- // ---------------------------------------------------------------------------
886
+ /**
887
+ * Dispatch a capability to a view, reusing the established interact semantics:
888
+ * a `serverInteract` handler when the view declares one, else a frontend
889
+ * `view:interact` WebSocket round-trip resolved via the pending-request map.
890
+ * Shared by POST /:id/activate (CLICK_ELEMENT) so activation never re-implements
891
+ * the dispatch.
892
+ */
893
+ async function dispatchViewInteract(entry, viewId, capability, params, broadcastWs, timeoutMs = 5_000) {
894
+ const requestId = randomUUID();
895
+ if (typeof entry.serverInteract === "function") {
896
+ try {
897
+ const result = await entry.serverInteract(capability, params);
898
+ broadcastWs?.({
899
+ type: "view:event",
900
+ viewEventType: `view:${viewId}:updated`,
901
+ payload: { viewId, capability },
902
+ });
903
+ return { requestId, success: resultSuccess(result), result };
904
+ }
905
+ catch (err) {
906
+ logger.warn({ src: "ViewsRoutes", viewId, capability, requestId, err }, `[ViewsRoutes] Server interaction failed for view "${viewId}"`);
907
+ return {
908
+ requestId,
909
+ success: false,
910
+ error: err instanceof Error ? err.message : String(err),
911
+ };
912
+ }
913
+ }
914
+ const resultPromise = pendingInteractRequests.waitFor(requestId, timeoutMs);
915
+ broadcastWs?.({
916
+ type: "view:interact",
917
+ viewId,
918
+ viewType: entry.viewType,
919
+ capability,
920
+ params,
921
+ requestId,
922
+ });
923
+ try {
924
+ const result = (await resultPromise);
925
+ return {
926
+ requestId,
927
+ success: result.success,
928
+ result: result.result,
929
+ ...(result.error ? { error: result.error } : {}),
930
+ };
931
+ }
932
+ catch (err) {
933
+ logger.warn({ src: "ViewsRoutes", viewId, capability, requestId, err }, `[ViewsRoutes] Interact timed out for view "${viewId}"`);
934
+ return {
935
+ requestId,
936
+ success: false,
937
+ error: `View "${viewId}" did not respond to capability "${capability}" within ${timeoutMs}ms`,
938
+ };
939
+ }
940
+ }
824
941
  function resultSuccess(result) {
825
942
  if (!result || typeof result !== "object" || Array.isArray(result)) {
826
943
  return true;
@@ -10,7 +10,7 @@
10
10
  * const results = await viewSearchIndex.search(query, runtime, 10);
11
11
  */
12
12
  import type { IAgentRuntime } from "@elizaos/core";
13
- import type { ViewRegistryEntry } from "./view-registry-types.ts";
13
+ import type { ViewRegistryEntry } from "./view-registry-types.js";
14
14
  export interface ViewSearchEntry {
15
15
  viewId: string;
16
16
  viewType: ViewRegistryEntry["viewType"];
@@ -1,7 +1,7 @@
1
1
  import type { AgentRuntime } from "@elizaos/core";
2
- import type { ElizaConfig } from "../config/config.ts";
3
- import { type EvmSigningCapabilityKind, resolveEvmSigningCapability } from "../services/evm-signing-capability.ts";
4
- import { getWalletAddresses } from "./wallet.ts";
2
+ import type { ElizaConfig } from "../config/config.js";
3
+ import { type EvmSigningCapabilityKind, resolveEvmSigningCapability } from "../services/evm-signing-capability.js";
4
+ import { getWalletAddresses } from "./wallet.js";
5
5
  export declare const EVM_PLUGIN_PACKAGE = "@elizaos/plugin-wallet";
6
6
  export interface WalletCapabilityStatus {
7
7
  walletSource: "local" | "managed" | "none";
@@ -1,5 +1,5 @@
1
1
  import { type WalletConfigUpdateRequest, type WalletRpcChain, type WalletRpcCredentialKey, type WalletRpcSelections } from "@elizaos/shared";
2
- import type { ElizaConfig } from "../config/config.ts";
2
+ import type { ElizaConfig } from "../config/config.js";
3
3
  export declare const DEFAULT_PUBLIC_BSC_RPC_URLS: readonly ["https://bsc.publicnode.com/", "https://bsc-rpc.publicnode.com/", "https://binance.llamarpc.com/", "https://rpc.ankr.com/bsc", "https://bsc-dataseed.bnbchain.org/", "https://bsc-dataseed1.binance.org/", "https://bsc-dataseed2.binance.org/", "https://bsc-dataseed3.binance.org/"];
4
4
  export declare const DEFAULT_PUBLIC_BSC_TESTNET_RPC_URLS: readonly ["https://bsc-testnet.publicnode.com/", "https://bsc-testnet-rpc.publicnode.com/", "https://data-seed-prebsc-1-s1.binance.org:8545/"];
5
5
  export declare const DEFAULT_PUBLIC_ETHEREUM_RPC_URLS: readonly ["https://ethereum.publicnode.com/", "https://ethereum-rpc.publicnode.com/", "https://eth.llamarpc.com/", "https://rpc.ankr.com/eth"];
package/api/wallet.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { KeyValidationResult, SolanaTokenBalance, WalletAddresses, WalletChain, WalletGenerateResult, WalletImportResult, WalletKeys } from "@elizaos/shared";
2
2
  export type { BscTradeExecuteRequest, BscTradeExecuteResponse, BscTradeExecutionResult, BscTradePreflightRequest, BscTradePreflightResponse, BscTradeQuoteRequest, BscTradeQuoteResponse, BscTradeSide, BscTradeTxStatus, BscTradeTxStatusResponse, BscTransferExecuteRequest, BscTransferExecuteResponse, BscTransferExecutionResult, BscUnsignedApprovalTx, BscUnsignedTradeTx, BscUnsignedTransferTx, EvmChainBalance, EvmTokenBalance, KeyValidationResult, SolanaTokenBalance, TradePermissionMode, WalletAddresses, WalletBalancesResponse, WalletChain, WalletConfigStatus, WalletGenerateResult, WalletImportResult, WalletKeys, WalletTradeLedgerEntry, WalletTradeSource, WalletTradingProfileResponse, WalletTradingProfileSourceFilter, WalletTradingProfileWindow, } from "@elizaos/shared";
3
- export { computeValueUsd, DEX_PRICE_TIMEOUT_MS, DEXPAPRIKA_CHAIN_MAP, DEXSCREENER_CHAIN_MAP, type DexScreenerPair, type DexTokenMeta, fetchDexPaprikaPrices, fetchDexPrices, fetchDexScreenerPrices, WRAPPED_NATIVE, } from "./wallet-dex-prices.ts";
4
- export { type AnkrTokenAsset, DEFAULT_EVM_CHAINS, type EvmProviderKeys, fetchEvmBalances, resolveEvmProviderKeys, } from "./wallet-evm-balance.ts";
3
+ export { computeValueUsd, DEX_PRICE_TIMEOUT_MS, DEXPAPRIKA_CHAIN_MAP, DEXSCREENER_CHAIN_MAP, type DexScreenerPair, type DexTokenMeta, fetchDexPaprikaPrices, fetchDexPrices, fetchDexScreenerPrices, WRAPPED_NATIVE, } from "./wallet-dex-prices.js";
4
+ export { type AnkrTokenAsset, DEFAULT_EVM_CHAINS, type EvmProviderKeys, fetchEvmBalances, resolveEvmProviderKeys, } from "./wallet-evm-balance.js";
5
5
  export declare const MANAGED_EVM_ADDRESS_ENV_KEY = "ELIZA_MANAGED_EVM_ADDRESS";
6
6
  export declare const MANAGED_SOLANA_ADDRESS_ENV_KEY = "ELIZA_MANAGED_SOLANA_ADDRESS";
7
7
  export declare const CLOUD_EVM_ADDRESS_ENV_KEY = "ELIZA_CLOUD_EVM_ADDRESS";
@@ -18,7 +18,7 @@ export declare function validatePrivateKey(key: string): KeyValidationResult;
18
18
  export declare function maskSecret(value: string): string;
19
19
  export declare function generateWalletKeys(): WalletKeys;
20
20
  export declare function generateWalletForChain(chain: WalletChain): WalletGenerateResult;
21
- export { syncSolanaPublicKeyEnv } from "./wallet-env-sync.ts";
21
+ export { syncSolanaPublicKeyEnv } from "./wallet-env-sync.js";
22
22
  export declare function setSolanaWalletEnv(privateKey: string): string | null;
23
23
  /** Validate key, store in process.env. Caller persists to config if needed. */
24
24
  export declare function importWallet(chain: WalletChain, privateKey: string): WalletImportResult;
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/api/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/api/wallet.ts"],"names":[],"mappings":"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"}
package/api/wallet.js CHANGED
@@ -346,9 +346,10 @@ export function generateWalletForChain(chain) {
346
346
  privateKey: sol.privateKey,
347
347
  };
348
348
  }
349
- // Extracted to wallet-env-sync.ts to break circular dependency with config/config.ts.
350
- // Local import for internal use (setSolanaWalletEnv below), plus re-export for
351
- // backward compatibility so existing consumers of wallet.js keep working.
349
+ // `syncSolanaPublicKeyEnv` lives in wallet-env-sync.ts to avoid a circular
350
+ // dependency with config/config.ts. Imported here for internal use
351
+ // (setSolanaWalletEnv below) and re-exported so consumers of this module
352
+ // (e.g. runtime/eliza.ts) can reach it through wallet.ts.
352
353
  import { syncSolanaPublicKeyEnv } from "./wallet-env-sync.js";
353
354
  export { syncSolanaPublicKeyEnv } from "./wallet-env-sync.js";
354
355
  export function setSolanaWalletEnv(privateKey) {
@@ -9,7 +9,7 @@
9
9
  import type http from "node:http";
10
10
  import type { AgentRuntime, Task, UUID } from "@elizaos/core";
11
11
  import type { ReadJsonBodyOptions } from "@elizaos/shared";
12
- import type { TriggerSummary } from "../triggers/types.ts";
12
+ import type { TriggerSummary } from "../triggers/types.js";
13
13
  export interface WorkbenchTodoView {
14
14
  id: string;
15
15
  name: string;
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Workbench task/todo normalization helpers.
3
3
  *
4
- * Extracted from server.ts — used exclusively by workbench-routes.ts
5
- * to transform elizaOS Task records into the WorkbenchTaskView / WorkbenchTodoView
6
- * shapes consumed by the dashboard UI.
4
+ * Used exclusively by workbench-routes.ts to transform elizaOS Task records
5
+ * into the WorkbenchTaskView / WorkbenchTodoView shapes consumed by the
6
+ * dashboard UI.
7
7
  */
8
8
  import type { Task } from "@elizaos/core";
9
9
  export declare const WORKBENCH_TODO_TAG = "workbench-todo";
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Workbench task/todo normalization helpers.
3
3
  *
4
- * Extracted from server.ts — used exclusively by workbench-routes.ts
5
- * to transform elizaOS Task records into the WorkbenchTaskView / WorkbenchTodoView
6
- * shapes consumed by the dashboard UI.
4
+ * Used exclusively by workbench-routes.ts to transform elizaOS Task records
5
+ * into the WorkbenchTaskView / WorkbenchTodoView shapes consumed by the
6
+ * dashboard UI.
7
7
  */
8
8
  import { readTriggerConfig } from "../triggers/runtime.js";
9
9
  // ---------------------------------------------------------------------------
@@ -1,5 +1,5 @@
1
- export type { WorkbenchRouteContext } from "./workbench-context.ts";
2
- import type { WorkbenchRouteContext } from "./workbench-context.ts";
1
+ export type { WorkbenchRouteContext } from "./workbench-context.js";
2
+ import type { WorkbenchRouteContext } from "./workbench-context.js";
3
3
  export declare const WORKBENCH_BOOTSTRAP_TODO_NAME = "Get the user's name and understand what they need help with";
4
4
  export declare function handleWorkbenchRoutes(ctx: WorkbenchRouteContext): Promise<boolean>;
5
5
  //# sourceMappingURL=workbench-routes.d.ts.map
@@ -1,3 +1,3 @@
1
- import type { WorkbenchRouteContext } from "./workbench-context.ts";
1
+ import type { WorkbenchRouteContext } from "./workbench-context.js";
2
2
  export declare function handleWorkbenchVfsRoutes(ctx: WorkbenchRouteContext): Promise<boolean>;
3
3
  //# sourceMappingURL=workbench-vfs-routes.d.ts.map
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * Pure helpers for the WebSocket event-buffer replay on (re)connect.
3
3
  *
4
- * Extracted from server.ts so the cursor-replay slice logic can be unit-tested
5
- * in isolation. See loadperf research report 05 (Network & Data Sync),
4
+ * See loadperf research report 05 (Network & Data Sync),
6
5
  * Finding 4: on every (re)connect the server replays the tail of
7
6
  * `state.eventBuffer`, re-flooding the client with up to `DEFAULT_REPLAY_LIMIT`
8
7
  * historical envelopes even after a brief reconnect. A client that tracks the
@@ -1 +1 @@
1
- {"version":3,"file":"ws-event-replay.d.ts","sourceRoot":"","sources":["../../src/api/ws-event-replay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAYnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC7B,MAAM,GAAG,IAAI,CAQf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,eAAe,EAC1D,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,GAAE,MAA6B,GACnC,CAAC,EAAE,CAUL"}
1
+ {"version":3,"file":"ws-event-replay.d.ts","sourceRoot":"","sources":["../../src/api/ws-event-replay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAYnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC7B,MAAM,GAAG,IAAI,CAQf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,eAAe,EAC1D,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,GAAE,MAA6B,GACnC,CAAC,EAAE,CAUL"}
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * Pure helpers for the WebSocket event-buffer replay on (re)connect.
3
3
  *
4
- * Extracted from server.ts so the cursor-replay slice logic can be unit-tested
5
- * in isolation. See loadperf research report 05 (Network & Data Sync),
4
+ * See loadperf research report 05 (Network & Data Sync),
6
5
  * Finding 4: on every (re)connect the server replays the tail of
7
6
  * `state.eventBuffer`, re-flooding the client with up to `DEFAULT_REPLAY_LIMIT`
8
7
  * historical envelopes even after a brief reconnect. A client that tracks the
@@ -8,8 +8,8 @@
8
8
  */
9
9
  import type http from "node:http";
10
10
  import { type Service } from "@elizaos/core";
11
- import type { ElizaConfig } from "../config/config.ts";
12
- import type { CloudProxyConfigLike } from "../types/config-like.ts";
11
+ import type { ElizaConfig } from "../config/config.js";
12
+ import type { CloudProxyConfigLike } from "../types/config-like.js";
13
13
  interface XRelayRuntime {
14
14
  getService(serviceType: string): Service | null;
15
15
  getSetting?: (key: string) => unknown;
@@ -0,0 +1,4 @@
1
+ import type { Route } from "@elizaos/core";
2
+ export declare function routeNeedsX402Validation(route: Route): boolean;
3
+ export declare function runtimeRoutesNeedX402Validation(routes: readonly Route[] | null | undefined): boolean;
4
+ //# sourceMappingURL=x402-route-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x402-route-validation.d.ts","sourceRoot":"","sources":["../../src/api/x402-route-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAM3C,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAE9D;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAET"}
@@ -0,0 +1,6 @@
1
+ export function routeNeedsX402Validation(route) {
2
+ return route.x402 != null;
3
+ }
4
+ export function runtimeRoutesNeedX402Validation(routes) {
5
+ return Array.isArray(routes) && routes.some(routeNeedsX402Validation);
6
+ }
@@ -5,7 +5,7 @@
5
5
  * atomic writes). Multiple accounts per provider are supported.
6
6
  *
7
7
  */
8
- import { type AccountCredentialProvider, type OAuthCredentials } from "./types.ts";
8
+ import { type AccountCredentialProvider, type OAuthCredentials } from "./types.js";
9
9
  export interface AccountCredentialRecord {
10
10
  /** accountId, e.g. "default" or a uuid */
11
11
  id: string;
@@ -4,7 +4,7 @@
4
4
  * Uses inlined PKCE + token exchange (vendored OAuth helpers).
5
5
  * The callback API is adapted to a start/exchange pattern for HTTP route handlers.
6
6
  */
7
- import type { OAuthCredentials } from "./types.ts";
7
+ import type { OAuthCredentials } from "./types.js";
8
8
  export interface AnthropicFlow {
9
9
  authUrl: string;
10
10
  /** Provide the authorization code (format: code#state) to complete the flow */
@@ -9,8 +9,8 @@
9
9
  * multi-account support keep working without changes.
10
10
  */
11
11
  import type { SubscriptionCredentialSource } from "@elizaos/shared";
12
- import { type AccountCredentialRecord } from "./account-storage.ts";
13
- import { type AccountCredentialProvider, type OAuthCredentials, type StoredCredentials, type SubscriptionProvider } from "./types.ts";
12
+ import { type AccountCredentialRecord } from "./account-storage.js";
13
+ import { type AccountCredentialProvider, type OAuthCredentials, type StoredCredentials, type SubscriptionProvider } from "./types.js";
14
14
  /**
15
15
  * Save credentials for a provider account.
16
16
  *
package/auth/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- export * from "./account-storage.ts";
2
- export * from "./anthropic.ts";
3
- export * from "./claude-code-stealth.ts";
4
- export * from "./credentials.ts";
5
- export * from "./oauth-flow.ts";
6
- export * from "./openai-codex.ts";
7
- export * from "./types.ts";
1
+ export * from "./account-storage.js";
2
+ export * from "./anthropic.js";
3
+ export * from "./claude-code-stealth.js";
4
+ export * from "./credentials.js";
5
+ export * from "./oauth-flow.js";
6
+ export * from "./openai-codex.js";
7
+ export * from "./types.js";
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -17,8 +17,8 @@
17
17
  * through this module — there is no direct caller of the vendor-level
18
18
  * OAuth helpers anymore.
19
19
  */
20
- import { type AccountCredentialRecord } from "./account-storage.ts";
21
- import type { SubscriptionProvider } from "./types.ts";
20
+ import { type AccountCredentialRecord } from "./account-storage.js";
21
+ import type { SubscriptionProvider } from "./types.js";
22
22
  /** Server-tracked status of an in-flight OAuth flow. */
23
23
  export type FlowStatus = "pending" | "success" | "error" | "cancelled" | "timeout";
24
24
  export interface FlowState {
@@ -4,7 +4,7 @@
4
4
  * Uses inlined OAuth (vendored helpers).
5
5
  * Handles local callback server + manual code paste fallback.
6
6
  */
7
- import type { OAuthCredentials } from "./types.ts";
7
+ import type { OAuthCredentials } from "./types.js";
8
8
  export interface CodexFlow {
9
9
  authUrl: string;
10
10
  state: string;
@@ -1,2 +1,2 @@
1
- export * from "./registry.ts";
1
+ export * from "./registry.js";
2
2
  //# sourceMappingURL=index.d.ts.map
package/config/config.js CHANGED
@@ -285,4 +285,3 @@ export function configFileExists() {
285
285
  const persistPath = resolveConfigWritePath();
286
286
  return persistPath !== configPath && fs.existsSync(persistPath);
287
287
  }
288
- // Backward-compat aliases for downstream forks using the old name
@@ -1,4 +1,4 @@
1
- import type { ElizaConfig } from "./types.ts";
1
+ import type { ElizaConfig } from "./types.js";
2
2
  /**
3
3
  * Maps connector config fields to the environment variables expected by
4
4
  * elizaOS plugins. Keep this aligned with runtime/eliza.ts.
@@ -1 +1 @@
1
- {"version":3,"file":"env-vars.d.ts","sourceRoot":"","sources":["../../src/config/env-vars.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmD9C;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CACtC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAuFjD,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,GAAG,CAAC,EAAE,WAAW,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkCxB;AAED,wBAAgB,uBAAuB,CACrC,GAAG,CAAC,EAAE,WAAW,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsIxB"}
1
+ {"version":3,"file":"env-vars.d.ts","sourceRoot":"","sources":["../../src/config/env-vars.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAkD9C;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CACtC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAuFjD,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,GAAG,CAAC,EAAE,WAAW,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkCxB;AAED,wBAAgB,uBAAuB,CACrC,GAAG,CAAC,EAAE,WAAW,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsIxB"}
@@ -36,7 +36,6 @@ const BLOCKED_STARTUP_ENV_KEYS = new Set([
36
36
  "ELIZA_API_TOKEN",
37
37
  "ELIZA_WALLET_EXPORT_TOKEN",
38
38
  "ELIZA_TERMINAL_RUN_TOKEN",
39
- "HYPERSCAPE_AUTH_TOKEN",
40
39
  "EVM_PRIVATE_KEY",
41
40
  "SOLANA_PRIVATE_KEY",
42
41
  "STEWARD_API_KEY",
package/config/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- export * from "./character-schema.ts";
2
- export * from "./config.ts";
3
- export * from "./env-vars.ts";
4
- export * from "./includes.ts";
5
- export * from "./model-metadata.ts";
6
- export * from "./owner-contacts.ts";
7
- export * from "./paths.ts";
8
- export * from "./schema.ts";
9
- export * from "./telegram-custom-commands.ts";
10
- export type { CustomActionDef, CustomActionHandler, DatabaseProviderType, } from "./types.eliza.ts";
1
+ export * from "./character-schema.js";
2
+ export * from "./config.js";
3
+ export * from "./env-vars.js";
4
+ export * from "./includes.js";
5
+ export * from "./model-metadata.js";
6
+ export * from "./owner-contacts.js";
7
+ export * from "./paths.js";
8
+ export * from "./schema.js";
9
+ export * from "./telegram-custom-commands.js";
10
+ export type { CustomActionDef, CustomActionHandler, DatabaseProviderType, } from "./types.eliza.js";
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
- import type { ElizaConfig, ModelDefinitionConfig } from "./types.ts";
1
+ import type { ElizaConfig, ModelDefinitionConfig } from "./types.js";
2
2
  export declare const DEFAULT_MODEL_CONTEXT_WINDOW = 128000;
3
3
  export declare const DEFAULT_MODEL_MAX_TOKENS = 8192;
4
4
  export type ModelTokenMetadataSource = "model-config" | "agent-defaults" | "runtime-default";
@@ -1,5 +1,5 @@
1
1
  import type { IAgentRuntime } from "@elizaos/core";
2
- import type { OwnerContactEntry, OwnerContactsConfig } from "./types.agent-defaults.ts";
2
+ import type { OwnerContactEntry, OwnerContactsConfig } from "./types.agent-defaults.js";
3
3
  type OwnerContactsLoadContext = {
4
4
  boundary: string;
5
5
  operation: string;
@@ -1,6 +1,6 @@
1
1
  /** Known connector IDs for config schema generation. Keep in sync with runtime/plugin maps. */
2
2
  export declare const CONNECTOR_IDS: readonly ["bluebubbles", "telegram", "telegramAccount", "discord", "discordLocal", "slack", "twitter", "whatsapp", "signal", "imessage", "farcaster", "lens", "msteams", "feishu", "matrix", "nostr", "blooio", "twitch", "mattermost", "googlechat"];
3
- import { ElizaSchema } from "./zod-schema.ts";
3
+ import { ElizaSchema } from "./zod-schema.js";
4
4
  export type ShowIfCondition = {
5
5
  field: string;
6
6
  op: "eq" | "neq" | "in" | "truthy" | "falsy";
@@ -2,7 +2,7 @@
2
2
  * Discover hooks from workspace, managed state-dir hooks, and bundled dirs.
3
3
  * Later sources win on name conflicts.
4
4
  */
5
- import type { HookEntry } from "./types.ts";
5
+ import type { HookEntry } from "./types.js";
6
6
  export interface DiscoveryOptions {
7
7
  workspacePath?: string;
8
8
  bundledDir?: string;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Hook eligibility: checks OS, binary, env, and config requirements.
3
3
  */
4
- import type { HookConfig, InternalHooksConfig } from "../config/types.hooks.ts";
5
- import type { ElizaHookMetadata } from "./types.ts";
4
+ import type { HookConfig, InternalHooksConfig } from "../config/types.hooks.js";
5
+ import type { ElizaHookMetadata } from "./types.js";
6
6
  export interface EligibilityResult {
7
7
  eligible: boolean;
8
8
  missing: string[];
package/hooks/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { type LoadHooksOptions, loadHooks, } from "./loader.ts";
2
- export { createHookEvent, triggerHook, } from "./registry.ts";
1
+ export { type LoadHooksOptions, loadHooks, } from "./loader.js";
2
+ export { createHookEvent, triggerHook, } from "./registry.js";
3
3
  //# sourceMappingURL=index.d.ts.map
package/hooks/loader.d.ts CHANGED
@@ -5,8 +5,8 @@
5
5
  *
6
6
  * @module hooks/loader
7
7
  */
8
- import type { InternalHooksConfig } from "../config/types.hooks.ts";
9
- import { type DiscoveryOptions } from "./discovery.ts";
8
+ import type { InternalHooksConfig } from "../config/types.hooks.js";
9
+ import { type DiscoveryOptions } from "./discovery.js";
10
10
  export interface LoadHooksOptions extends DiscoveryOptions {
11
11
  /** Internal hooks configuration. */
12
12
  internalConfig?: InternalHooksConfig;
@@ -1,4 +1,4 @@
1
- import type { HookEvent, HookHandler } from "./types.ts";
1
+ import type { HookEvent, HookHandler } from "./types.js";
2
2
  /**
3
3
  * Event keys: "command" matches all command events,
4
4
  * "command:new" matches only /new.