@elizaos/shared 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 (1038) hide show
  1. package/api/agent-api-types.d.ts +210 -0
  2. package/api/agent-api-types.d.ts.map +1 -0
  3. package/api/agent-api-types.js +11 -0
  4. package/api/agent-api-types.js.map +1 -0
  5. package/api/http-helpers.d.ts +3 -0
  6. package/api/http-helpers.d.ts.map +1 -0
  7. package/api/http-helpers.js +2 -0
  8. package/api/http-helpers.js.map +1 -0
  9. package/api/route-helpers.d.ts +2 -0
  10. package/api/route-helpers.d.ts.map +1 -0
  11. package/app-hero-art.d.ts.map +1 -0
  12. package/app-hero-art.js +350 -0
  13. package/app-hero-art.js.map +1 -0
  14. package/brand/index.d.ts +130 -0
  15. package/brand/index.d.ts.map +1 -0
  16. package/brand/index.js +126 -0
  17. package/brand/index.js.map +1 -0
  18. package/brand-classic/index.d.ts +158 -0
  19. package/brand-classic/index.d.ts.map +1 -0
  20. package/brand-classic/index.js +91 -0
  21. package/brand-classic/index.js.map +1 -0
  22. package/character-language.d.ts +16 -0
  23. package/character-language.d.ts.map +1 -0
  24. package/character-language.js +58 -0
  25. package/character-language.js.map +1 -0
  26. package/character-presets.characters.d.ts +22 -0
  27. package/character-presets.characters.d.ts.map +1 -0
  28. package/character-presets.characters.js +2617 -0
  29. package/character-presets.characters.js.map +1 -0
  30. package/character-presets.d.ts +42 -0
  31. package/character-presets.d.ts.map +1 -0
  32. package/character-presets.js +176 -0
  33. package/character-presets.js.map +1 -0
  34. package/character-presets.shared.d.ts +2 -0
  35. package/character-presets.shared.d.ts.map +1 -0
  36. package/character-presets.shared.js +8 -0
  37. package/character-presets.shared.js.map +1 -0
  38. package/checkout/index.d.ts +48 -0
  39. package/checkout/index.d.ts.map +1 -0
  40. package/checkout/index.js +59 -0
  41. package/checkout/index.js.map +1 -0
  42. package/cli/parse-duration.d.ts.map +1 -0
  43. package/cli/parse-duration.js +26 -0
  44. package/cli/parse-duration.js.map +1 -0
  45. package/config/allowed-hosts.js +44 -0
  46. package/config/allowed-hosts.js.map +1 -0
  47. package/config/api-key-prefix-hints.d.ts +24 -0
  48. package/config/api-key-prefix-hints.d.ts.map +1 -0
  49. package/config/api-key-prefix-hints.js +26 -0
  50. package/config/api-key-prefix-hints.js.map +1 -0
  51. package/config/app-config.d.ts +274 -0
  52. package/config/app-config.d.ts.map +1 -0
  53. package/config/app-config.js +64 -0
  54. package/config/app-config.js.map +1 -0
  55. package/config/app-manifest.d.ts.map +1 -0
  56. package/config/app-manifest.js +115 -0
  57. package/config/app-manifest.js.map +1 -0
  58. package/config/boot-config-store.d.ts +74 -0
  59. package/config/boot-config-store.d.ts.map +1 -0
  60. package/config/branding.d.ts +53 -0
  61. package/config/branding.d.ts.map +1 -0
  62. package/config/branding.js +23 -0
  63. package/config/branding.js.map +1 -0
  64. package/config/cloud-only.d.ts +8 -0
  65. package/config/cloud-only.d.ts.map +1 -0
  66. package/config/cloud-only.js +26 -0
  67. package/config/cloud-only.js.map +1 -0
  68. package/config/config-catalog.d.ts.map +1 -0
  69. package/config/config-catalog.js +719 -0
  70. package/config/config-catalog.js.map +1 -0
  71. package/config/config.js +23 -0
  72. package/config/config.js.map +1 -0
  73. package/config/distribution-profile.js +29 -0
  74. package/config/distribution-profile.js.map +1 -0
  75. package/config/env-vars.d.ts.map +1 -0
  76. package/config/index.d.ts +12 -0
  77. package/config/index.d.ts.map +1 -0
  78. package/config/index.js +15 -0
  79. package/config/index.js.map +1 -0
  80. package/config/plugin-auto-enable-engine.js +45 -0
  81. package/config/plugin-auto-enable-engine.js.map +1 -0
  82. package/config/plugin-manifest.d.ts.map +1 -0
  83. package/config/plugin-manifest.js +281 -0
  84. package/config/plugin-manifest.js.map +1 -0
  85. package/config/runtime-mode.d.ts.map +1 -0
  86. package/config/runtime-mode.js +107 -0
  87. package/config/runtime-mode.js.map +1 -0
  88. package/config/types.agent-defaults.d.ts +388 -0
  89. package/config/types.agent-defaults.d.ts.map +1 -0
  90. package/config/types.agents.d.ts +119 -0
  91. package/config/types.agents.d.ts.map +1 -0
  92. package/config/types.eliza.d.ts +689 -0
  93. package/config/types.eliza.d.ts.map +1 -0
  94. package/config/types.messages.d.ts +176 -0
  95. package/config/types.messages.d.ts.map +1 -0
  96. package/config/types.tools.d.ts +400 -0
  97. package/config/types.tools.d.ts.map +1 -0
  98. package/config/ui-spec.d.ts +164 -0
  99. package/config/ui-spec.d.ts.map +1 -0
  100. package/config/zod-schema.agent-runtime.d.ts +1087 -0
  101. package/config/zod-schema.core.d.ts +1048 -0
  102. package/connectors.d.ts +5 -0
  103. package/connectors.d.ts.map +1 -0
  104. package/connectors.js +73 -0
  105. package/connectors.js.map +1 -0
  106. package/contracts/agent-routes.d.ts +63 -0
  107. package/contracts/agent-routes.d.ts.map +1 -0
  108. package/contracts/agent-routes.js +55 -0
  109. package/contracts/agent-routes.js.map +1 -0
  110. package/contracts/app-permissions-routes.d.ts +148 -0
  111. package/contracts/app-permissions-routes.d.ts.map +1 -0
  112. package/contracts/app-permissions-routes.js +96 -0
  113. package/contracts/app-permissions-routes.js.map +1 -0
  114. package/contracts/app-permissions.d.ts +122 -0
  115. package/contracts/app-permissions.d.ts.map +1 -0
  116. package/contracts/app-permissions.js +163 -0
  117. package/contracts/app-permissions.js.map +1 -0
  118. package/contracts/apps-favorites-routes.d.ts +44 -0
  119. package/contracts/apps-favorites-routes.d.ts.map +1 -0
  120. package/contracts/apps-favorites-routes.js +48 -0
  121. package/contracts/apps-favorites-routes.js.map +1 -0
  122. package/contracts/apps-lifecycle-routes.d.ts +185 -0
  123. package/contracts/apps-lifecycle-routes.d.ts.map +1 -0
  124. package/contracts/apps-lifecycle-routes.js +204 -0
  125. package/contracts/apps-lifecycle-routes.js.map +1 -0
  126. package/contracts/apps-loading-routes.d.ts +64 -0
  127. package/contracts/apps-loading-routes.d.ts.map +1 -0
  128. package/contracts/apps-loading-routes.js +65 -0
  129. package/contracts/apps-loading-routes.js.map +1 -0
  130. package/contracts/apps-runs-routes.d.ts +33 -0
  131. package/contracts/apps-runs-routes.d.ts.map +1 -0
  132. package/contracts/apps-runs-routes.js +38 -0
  133. package/contracts/apps-runs-routes.js.map +1 -0
  134. package/contracts/apps.d.ts +1152 -0
  135. package/contracts/apps.d.ts.map +1 -0
  136. package/contracts/apps.js +457 -0
  137. package/contracts/apps.js.map +1 -0
  138. package/contracts/auth-routes.d.ts +23 -0
  139. package/contracts/auth-routes.d.ts.map +1 -0
  140. package/contracts/auth-routes.js +25 -0
  141. package/contracts/auth-routes.js.map +1 -0
  142. package/contracts/calendar.d.ts +181 -0
  143. package/contracts/calendar.d.ts.map +1 -0
  144. package/contracts/calendar.js +19 -0
  145. package/contracts/calendar.js.map +1 -0
  146. package/contracts/character-routes.d.ts +70 -0
  147. package/contracts/character-routes.d.ts.map +1 -0
  148. package/contracts/character-routes.js +49 -0
  149. package/contracts/character-routes.js.map +1 -0
  150. package/contracts/cloud-coding-containers.d.ts +432 -0
  151. package/contracts/cloud-coding-containers.d.ts.map +1 -0
  152. package/contracts/cloud-coding-containers.js +135 -0
  153. package/contracts/cloud-coding-containers.js.map +1 -0
  154. package/contracts/cloud-topology.js +72 -0
  155. package/contracts/cloud-topology.js.map +1 -0
  156. package/contracts/connector-routes.d.ts +39 -0
  157. package/contracts/connector-routes.d.ts.map +1 -0
  158. package/contracts/connector-routes.js +50 -0
  159. package/contracts/connector-routes.js.map +1 -0
  160. package/contracts/content-pack.d.ts +131 -0
  161. package/contracts/content-pack.d.ts.map +1 -0
  162. package/contracts/content-pack.js +103 -0
  163. package/contracts/conversation-routes.d.ts +195 -0
  164. package/contracts/conversation-routes.d.ts.map +1 -0
  165. package/contracts/conversation-routes.js +107 -0
  166. package/contracts/conversation-routes.js.map +1 -0
  167. package/contracts/diagnostics-routes.d.ts +33 -0
  168. package/contracts/diagnostics-routes.d.ts.map +1 -0
  169. package/contracts/diagnostics-routes.js +26 -0
  170. package/contracts/diagnostics-routes.js.map +1 -0
  171. package/contracts/first-run-options.d.ts +531 -0
  172. package/contracts/first-run-options.d.ts.map +1 -0
  173. package/contracts/first-run-options.js +1186 -0
  174. package/contracts/first-run-options.js.map +1 -0
  175. package/contracts/first-run-routes.d.ts +167 -0
  176. package/contracts/first-run-routes.d.ts.map +1 -0
  177. package/contracts/first-run-routes.js +115 -0
  178. package/contracts/first-run-routes.js.map +1 -0
  179. package/contracts/health.d.ts +30 -0
  180. package/contracts/health.d.ts.map +1 -0
  181. package/contracts/health.js +29 -0
  182. package/contracts/health.js.map +1 -0
  183. package/contracts/inbox-routes.d.ts +37 -0
  184. package/contracts/inbox-routes.d.ts.map +1 -0
  185. package/contracts/inbox-routes.js +44 -0
  186. package/contracts/inbox-routes.js.map +1 -0
  187. package/contracts/index.d.ts +42 -0
  188. package/contracts/index.d.ts.map +1 -0
  189. package/contracts/index.js +42 -0
  190. package/contracts/index.js.map +1 -0
  191. package/contracts/memory-routes.d.ts +27 -0
  192. package/contracts/memory-routes.d.ts.map +1 -0
  193. package/contracts/memory-routes.js +23 -0
  194. package/contracts/memory-routes.js.map +1 -0
  195. package/contracts/misc-routes.d.ts +192 -0
  196. package/contracts/misc-routes.d.ts.map +1 -0
  197. package/contracts/misc-routes.js +155 -0
  198. package/contracts/misc-routes.js.map +1 -0
  199. package/contracts/permissions-routes.d.ts +31 -0
  200. package/contracts/permissions-routes.d.ts.map +1 -0
  201. package/contracts/permissions-routes.js +34 -0
  202. package/contracts/permissions-routes.js.map +1 -0
  203. package/contracts/permissions.d.ts +109 -0
  204. package/contracts/permissions.d.ts.map +1 -0
  205. package/contracts/permissions.js +41 -0
  206. package/contracts/permissions.js.map +1 -0
  207. package/contracts/personal-assistant.d.ts +2931 -0
  208. package/contracts/personal-assistant.d.ts.map +1 -0
  209. package/contracts/personal-assistant.js +583 -0
  210. package/contracts/personal-assistant.js.map +1 -0
  211. package/contracts/plugin-routes.d.ts +105 -0
  212. package/contracts/plugin-routes.d.ts.map +1 -0
  213. package/contracts/plugin-routes.js +81 -0
  214. package/contracts/plugin-routes.js.map +1 -0
  215. package/contracts/relationships-routes.d.ts +23 -0
  216. package/contracts/relationships-routes.d.ts.map +1 -0
  217. package/contracts/relationships-routes.js +22 -0
  218. package/contracts/relationships-routes.js.map +1 -0
  219. package/contracts/service-routing.d.ts +49 -0
  220. package/contracts/service-routing.d.ts.map +1 -0
  221. package/contracts/service-routing.js +403 -0
  222. package/contracts/service-routing.js.map +1 -0
  223. package/contracts/skills-routes.d.ts +116 -0
  224. package/contracts/skills-routes.d.ts.map +1 -0
  225. package/contracts/skills-routes.js +115 -0
  226. package/contracts/skills-routes.js.map +1 -0
  227. package/contracts/subscription-routes.d.ts +47 -0
  228. package/contracts/subscription-routes.d.ts.map +1 -0
  229. package/contracts/subscription-routes.js +50 -0
  230. package/contracts/subscription-routes.js.map +1 -0
  231. package/contracts/tail-routes.d.ts +78 -0
  232. package/contracts/tail-routes.d.ts.map +1 -0
  233. package/contracts/tail-routes.js +63 -0
  234. package/contracts/tail-routes.js.map +1 -0
  235. package/contracts/theme.d.ts +134 -0
  236. package/contracts/theme.d.ts.map +1 -0
  237. package/contracts/theme.js +132 -0
  238. package/contracts/theme.js.map +1 -0
  239. package/contracts/update-status.d.ts +100 -0
  240. package/contracts/update-status.d.ts.map +1 -0
  241. package/contracts/update-status.js +45 -0
  242. package/contracts/update-status.js.map +1 -0
  243. package/contracts/wallet-routes.d.ts +82 -0
  244. package/contracts/wallet-routes.d.ts.map +1 -0
  245. package/contracts/wallet-routes.js +49 -0
  246. package/contracts/wallet-routes.js.map +1 -0
  247. package/contracts/wallet.d.ts +57 -0
  248. package/contracts/wallet.d.ts.map +1 -0
  249. package/contracts/wallet.js +200 -0
  250. package/contracts/wallet.js.map +1 -0
  251. package/contracts/workbench-routes.d.ts +231 -0
  252. package/contracts/workbench-routes.d.ts.map +1 -0
  253. package/contracts/workbench-routes.js +183 -0
  254. package/contracts/workbench-routes.js.map +1 -0
  255. package/db/drizzle-database.d.ts +13 -0
  256. package/db/drizzle-database.d.ts.map +1 -0
  257. package/db/drizzle-database.js +2 -0
  258. package/db/drizzle-database.js.map +1 -0
  259. package/dev-settings-banner-style.d.ts +14 -0
  260. package/dev-settings-banner-style.js +58 -0
  261. package/dev-settings-banner-style.js.map +1 -0
  262. package/dev-settings-figlet-heading.d.ts.map +1 -0
  263. package/dev-settings-figlet-heading.js +49 -0
  264. package/dev-settings-figlet-heading.js.map +1 -0
  265. package/elizacloud/base-url.d.ts +6 -0
  266. package/elizacloud/base-url.d.ts.map +1 -0
  267. package/elizacloud/base-url.js +65 -0
  268. package/elizacloud/base-url.js.map +1 -0
  269. package/elizacloud/cloud-provisioning.d.ts +9 -0
  270. package/elizacloud/cloud-provisioning.d.ts.map +1 -0
  271. package/elizacloud/cloud-provisioning.js +25 -0
  272. package/elizacloud/cloud-provisioning.js.map +1 -0
  273. package/elizacloud/cloud-secrets.d.ts +23 -0
  274. package/elizacloud/cloud-secrets.d.ts.map +1 -0
  275. package/elizacloud/cloud-secrets.js +51 -0
  276. package/elizacloud/cloud-secrets.js.map +1 -0
  277. package/elizacloud/index.d.ts +6 -0
  278. package/elizacloud/index.d.ts.map +1 -0
  279. package/elizacloud/index.js +6 -0
  280. package/elizacloud/index.js.map +1 -0
  281. package/elizacloud/is-cloud-reachable.d.ts +19 -0
  282. package/elizacloud/is-cloud-reachable.d.ts.map +1 -0
  283. package/elizacloud/is-cloud-reachable.js +44 -0
  284. package/elizacloud/is-cloud-reachable.js.map +1 -0
  285. package/elizacloud/server-cloud-tts.d.ts +21 -0
  286. package/elizacloud/server-cloud-tts.d.ts.map +1 -0
  287. package/elizacloud/server-cloud-tts.js +293 -0
  288. package/elizacloud/server-cloud-tts.js.map +1 -0
  289. package/email-classification/email-classifier.d.ts +57 -0
  290. package/email-classification/email-classifier.d.ts.map +1 -0
  291. package/email-classification/email-classifier.js +348 -0
  292. package/email-classification/email-classifier.js.map +1 -0
  293. package/email-classification/index.d.ts +12 -0
  294. package/email-classification/index.d.ts.map +1 -0
  295. package/email-classification/index.js +12 -0
  296. package/email-classification/index.js.map +1 -0
  297. package/email-classification/wrap-untrusted-email-content.d.ts +15 -0
  298. package/email-classification/wrap-untrusted-email-content.d.ts.map +1 -0
  299. package/email-classification/wrap-untrusted-email-content.js +24 -0
  300. package/email-classification/wrap-untrusted-email-content.js.map +1 -0
  301. package/events/index.d.ts +68 -0
  302. package/events/index.d.ts.map +1 -0
  303. package/events/index.js +53 -0
  304. package/events/index.js.map +1 -0
  305. package/hardware-catalog/index.d.ts +204 -0
  306. package/hardware-catalog/index.d.ts.map +1 -0
  307. package/hardware-catalog/index.js +174 -0
  308. package/hardware-catalog/index.js.map +1 -0
  309. package/i18n/generated/validation-keyword-data.d.ts +3054 -0
  310. package/i18n/generated/validation-keyword-data.d.ts.map +1 -0
  311. package/i18n/generated/validation-keyword-data.js +3058 -0
  312. package/i18n/generated/validation-keyword-data.js.map +1 -0
  313. package/i18n/keyword-matching.d.ts.map +1 -0
  314. package/i18n/keyword-matching.js +116 -0
  315. package/i18n/keyword-matching.js.map +1 -0
  316. package/index.d.ts +103 -0
  317. package/index.d.ts.map +1 -0
  318. package/index.js +136 -0
  319. package/index.js.map +1 -0
  320. package/knowledge-graph/entity-types.d.ts +135 -0
  321. package/knowledge-graph/entity-types.d.ts.map +1 -0
  322. package/knowledge-graph/entity-types.js +75 -0
  323. package/knowledge-graph/entity-types.js.map +1 -0
  324. package/knowledge-graph/index.d.ts +13 -0
  325. package/knowledge-graph/index.d.ts.map +1 -0
  326. package/knowledge-graph/index.js +13 -0
  327. package/knowledge-graph/index.js.map +1 -0
  328. package/knowledge-graph/merge.d.ts +76 -0
  329. package/knowledge-graph/merge.d.ts.map +1 -0
  330. package/knowledge-graph/merge.js +175 -0
  331. package/knowledge-graph/merge.js.map +1 -0
  332. package/knowledge-graph/relationship-types.d.ts +105 -0
  333. package/knowledge-graph/relationship-types.d.ts.map +1 -0
  334. package/knowledge-graph/relationship-types.js +114 -0
  335. package/knowledge-graph/relationship-types.js.map +1 -0
  336. package/lifeops-constants/index.d.ts +9 -0
  337. package/lifeops-constants/index.d.ts.map +1 -0
  338. package/lifeops-constants/index.js +9 -0
  339. package/lifeops-constants/index.js.map +1 -0
  340. package/lifeops-constants/service-constants.d.ts +79 -0
  341. package/lifeops-constants/service-constants.d.ts.map +1 -0
  342. package/lifeops-constants/service-constants.js +123 -0
  343. package/lifeops-constants/service-constants.js.map +1 -0
  344. package/lifeops-normalize/index.d.ts +12 -0
  345. package/lifeops-normalize/index.d.ts.map +1 -0
  346. package/lifeops-normalize/index.js +12 -0
  347. package/lifeops-normalize/index.js.map +1 -0
  348. package/lifeops-normalize/service-error.d.ts +14 -0
  349. package/lifeops-normalize/service-error.d.ts.map +1 -0
  350. package/lifeops-normalize/service-error.js +19 -0
  351. package/lifeops-normalize/service-error.js.map +1 -0
  352. package/lifeops-normalize/service-normalize.d.ts +38 -0
  353. package/lifeops-normalize/service-normalize.d.ts.map +1 -0
  354. package/lifeops-normalize/service-normalize.js +205 -0
  355. package/lifeops-normalize/service-normalize.js.map +1 -0
  356. package/lifeops-normalize/time-zone.d.ts +12 -0
  357. package/lifeops-normalize/time-zone.d.ts.map +1 -0
  358. package/lifeops-normalize/time-zone.js +29 -0
  359. package/lifeops-normalize/time-zone.js.map +1 -0
  360. package/local-inference/catalog.d.ts +97 -0
  361. package/local-inference/catalog.d.ts.map +1 -0
  362. package/local-inference/catalog.js +510 -0
  363. package/local-inference/catalog.js.map +1 -0
  364. package/local-inference/gpu-profiles.d.ts +110 -0
  365. package/local-inference/gpu-profiles.d.ts.map +1 -0
  366. package/local-inference/gpu-profiles.js +191 -0
  367. package/local-inference/gpu-profiles.js.map +1 -0
  368. package/local-inference/index.d.ts +21 -0
  369. package/local-inference/index.d.ts.map +1 -0
  370. package/local-inference/index.js +18 -0
  371. package/local-inference/index.js.map +1 -0
  372. package/local-inference/manifest-signature.d.ts +61 -0
  373. package/local-inference/manifest-signature.d.ts.map +1 -0
  374. package/local-inference/manifest-signature.js +129 -0
  375. package/local-inference/manifest-signature.js.map +1 -0
  376. package/local-inference/network-policy.d.ts +115 -0
  377. package/local-inference/network-policy.d.ts.map +1 -0
  378. package/local-inference/network-policy.js +154 -0
  379. package/local-inference/network-policy.js.map +1 -0
  380. package/local-inference/paths.d.ts +24 -0
  381. package/local-inference/paths.js +40 -0
  382. package/local-inference/providers-types.d.ts +56 -0
  383. package/local-inference/providers-types.d.ts.map +1 -0
  384. package/local-inference/providers-types.js +19 -0
  385. package/local-inference/providers-types.js.map +1 -0
  386. package/local-inference/routing-preferences.d.ts +38 -0
  387. package/local-inference/routing-preferences.d.ts.map +1 -0
  388. package/local-inference/routing-preferences.js +90 -0
  389. package/local-inference/routing-preferences.js.map +1 -0
  390. package/local-inference/throughput.d.ts +74 -0
  391. package/local-inference/throughput.d.ts.map +1 -0
  392. package/local-inference/throughput.js +84 -0
  393. package/local-inference/throughput.js.map +1 -0
  394. package/local-inference/types.d.ts +510 -0
  395. package/local-inference/types.d.ts.map +1 -0
  396. package/local-inference/types.js +22 -0
  397. package/local-inference/types.js.map +1 -0
  398. package/local-inference/voice-models.d.ts +156 -0
  399. package/local-inference/voice-models.d.ts.map +1 -0
  400. package/local-inference/voice-models.js +746 -0
  401. package/local-inference/voice-models.js.map +1 -0
  402. package/local-inference-gpu/gpu-overrides.d.ts +97 -0
  403. package/local-inference-gpu/gpu-overrides.d.ts.map +1 -0
  404. package/local-inference-gpu/gpu-overrides.js +76 -0
  405. package/local-inference-gpu/gpu-overrides.js.map +1 -0
  406. package/local-inference-gpu/gpu-profile-loader.d.ts +83 -0
  407. package/local-inference-gpu/gpu-profile-loader.d.ts.map +1 -0
  408. package/local-inference-gpu/gpu-profile-loader.js +196 -0
  409. package/local-inference-gpu/gpu-profile-loader.js.map +1 -0
  410. package/local-inference-gpu/gpu-profile-schema.d.ts +208 -0
  411. package/local-inference-gpu/gpu-profile-schema.d.ts.map +1 -0
  412. package/local-inference-gpu/gpu-profile-schema.js +123 -0
  413. package/local-inference-gpu/gpu-profile-schema.js.map +1 -0
  414. package/local-inference-gpu/gpu-tier-detect.d.ts +61 -0
  415. package/local-inference-gpu/gpu-tier-detect.d.ts.map +1 -0
  416. package/local-inference-gpu/gpu-tier-detect.js +93 -0
  417. package/local-inference-gpu/gpu-tier-detect.js.map +1 -0
  418. package/local-inference-gpu/gpu-tier-profiles.d.ts +110 -0
  419. package/local-inference-gpu/gpu-tier-profiles.d.ts.map +1 -0
  420. package/local-inference-gpu/gpu-tier-profiles.js +235 -0
  421. package/local-inference-gpu/gpu-tier-profiles.js.map +1 -0
  422. package/package.json +127 -30
  423. package/restart.d.ts +28 -0
  424. package/restart.d.ts.map +1 -0
  425. package/restart.js +30 -0
  426. package/restart.js.map +1 -0
  427. package/runtime-env.d.ts +84 -0
  428. package/runtime-env.d.ts.map +1 -0
  429. package/runtime-env.js +270 -0
  430. package/runtime-env.js.map +1 -0
  431. package/self-edit.d.ts +64 -0
  432. package/self-edit.d.ts.map +1 -0
  433. package/self-edit.js +133 -0
  434. package/self-edit.js.map +1 -0
  435. package/spoken-text.d.ts.map +1 -0
  436. package/spoken-text.js +58 -0
  437. package/spoken-text.js.map +1 -0
  438. package/steward-session-client/index.d.ts +172 -0
  439. package/steward-session-client/index.d.ts.map +1 -0
  440. package/steward-session-client/index.js +248 -0
  441. package/steward-session-client/index.js.map +1 -0
  442. package/steward-session-client/steward-oauth-pkce.d.ts +24 -0
  443. package/steward-session-client/steward-oauth-pkce.d.ts.map +1 -0
  444. package/steward-session-client/steward-oauth-pkce.js +105 -0
  445. package/steward-session-client/steward-oauth-pkce.js.map +1 -0
  446. package/test-support/test-helpers.d.ts +79 -0
  447. package/test-support/test-helpers.d.ts.map +1 -0
  448. package/test-support/test-helpers.js +341 -0
  449. package/test-support/test-helpers.js.map +1 -0
  450. package/transcripts.d.ts +139 -0
  451. package/transcripts.d.ts.map +1 -0
  452. package/transcripts.js +162 -0
  453. package/transcripts.js.map +1 -0
  454. package/type-guards.d.ts +7 -0
  455. package/type-guards.d.ts.map +1 -0
  456. package/type-guards.js +27 -0
  457. package/type-guards.js.map +1 -0
  458. package/types/index.d.ts +654 -0
  459. package/types/index.d.ts.map +1 -0
  460. package/utils/assistant-text.d.ts +13 -0
  461. package/utils/assistant-text.d.ts.map +1 -0
  462. package/utils/assistant-text.js +292 -0
  463. package/utils/assistant-text.js.map +1 -0
  464. package/utils/browser-tab-kit-types.d.ts +81 -0
  465. package/utils/browser-tab-kit-types.js +23 -0
  466. package/utils/browser-tabs-renderer-registry.d.ts +56 -0
  467. package/utils/browser-tabs-renderer-registry.d.ts.map +1 -0
  468. package/utils/browser-tabs-renderer-registry.js +1282 -0
  469. package/utils/browser-tabs-renderer-registry.js.map +1 -0
  470. package/utils/documents-upload-image.js +147 -0
  471. package/utils/documents-upload-image.js.map +1 -0
  472. package/utils/env.d.ts.map +1 -0
  473. package/utils/env.js +142 -0
  474. package/utils/env.js.map +1 -0
  475. package/utils/exec-safety.d.ts.map +1 -0
  476. package/utils/exec-safety.js +25 -0
  477. package/utils/exec-safety.js.map +1 -0
  478. package/utils/format.d.ts +85 -0
  479. package/utils/format.d.ts.map +1 -0
  480. package/utils/format.js +140 -0
  481. package/utils/format.js.map +1 -0
  482. package/utils/log-prefix.d.ts.map +1 -0
  483. package/utils/log-prefix.js +44 -0
  484. package/utils/log-prefix.js.map +1 -0
  485. package/utils/name-tokens.d.ts +24 -0
  486. package/utils/name-tokens.js +37 -0
  487. package/utils/namespace-defaults.d.ts +10 -0
  488. package/utils/namespace-defaults.d.ts.map +1 -0
  489. package/utils/namespace-defaults.js +17 -0
  490. package/utils/namespace-defaults.js.map +1 -0
  491. package/utils/number-parsing.d.ts.map +1 -0
  492. package/utils/number-parsing.js +57 -0
  493. package/utils/number-parsing.js.map +1 -0
  494. package/utils/permission-deep-links.d.ts +35 -0
  495. package/utils/permission-deep-links.d.ts.map +1 -0
  496. package/utils/permission-deep-links.js +95 -0
  497. package/utils/permission-deep-links.js.map +1 -0
  498. package/utils/serialise.js +22 -0
  499. package/utils/serialise.js.map +1 -0
  500. package/utils/sql-compat.js +112 -0
  501. package/utils/sql-compat.js.map +1 -0
  502. package/utils/streaming-text.d.ts +9 -0
  503. package/utils/streaming-text.d.ts.map +1 -0
  504. package/utils/streaming-text.js +116 -0
  505. package/utils/streaming-text.js.map +1 -0
  506. package/utils/tts-debug.d.ts +10 -0
  507. package/utils/tts-debug.d.ts.map +1 -0
  508. package/utils/tts-debug.js +73 -0
  509. package/utils/tts-debug.js.map +1 -0
  510. package/view-hero-art.d.ts +75 -0
  511. package/view-hero-art.d.ts.map +1 -0
  512. package/view-hero-art.js +360 -0
  513. package/view-hero-art.js.map +1 -0
  514. package/voice/first-sentence-snip.d.ts +68 -0
  515. package/voice/first-sentence-snip.d.ts.map +1 -0
  516. package/voice/first-sentence-snip.js +284 -0
  517. package/voice/first-sentence-snip.js.map +1 -0
  518. package/voice/voice-cancellation-token.d.ts +127 -0
  519. package/voice/voice-cancellation-token.d.ts.map +1 -0
  520. package/voice/voice-cancellation-token.js +186 -0
  521. package/voice/voice-cancellation-token.js.map +1 -0
  522. package/voice-wer.d.ts +19 -0
  523. package/voice-wer.d.ts.map +1 -0
  524. package/voice-wer.js +42 -0
  525. package/voice-wer.js.map +1 -0
  526. package/voice.d.ts +55 -0
  527. package/voice.d.ts.map +1 -0
  528. package/voice.js +337 -0
  529. package/voice.js.map +1 -0
  530. package/dist/api/chat-contracts.d.ts +0 -2
  531. package/dist/api/chat-contracts.d.ts.map +0 -1
  532. package/dist/api/chat-contracts.js +0 -2
  533. package/dist/api/chat-contracts.js.map +0 -1
  534. package/dist/api/http-helpers.d.ts +0 -50
  535. package/dist/api/http-helpers.d.ts.map +0 -1
  536. package/dist/api/http-helpers.js +0 -168
  537. package/dist/api/http-helpers.js.map +0 -1
  538. package/dist/api/route-helpers.d.ts +0 -16
  539. package/dist/api/route-helpers.d.ts.map +0 -1
  540. package/dist/app-hero-art.d.ts.map +0 -1
  541. package/dist/app-hero-art.js +0 -358
  542. package/dist/app-hero-art.js.map +0 -1
  543. package/dist/cli/parse-duration.d.ts.map +0 -1
  544. package/dist/cli/parse-duration.js +0 -28
  545. package/dist/cli/parse-duration.js.map +0 -1
  546. package/dist/config/allowed-hosts.js +0 -44
  547. package/dist/config/allowed-hosts.js.map +0 -1
  548. package/dist/config/api-key-prefix-hints.d.ts +0 -25
  549. package/dist/config/api-key-prefix-hints.d.ts.map +0 -1
  550. package/dist/config/api-key-prefix-hints.js +0 -27
  551. package/dist/config/api-key-prefix-hints.js.map +0 -1
  552. package/dist/config/app-config.d.ts +0 -273
  553. package/dist/config/app-config.d.ts.map +0 -1
  554. package/dist/config/app-config.js +0 -32
  555. package/dist/config/app-config.js.map +0 -1
  556. package/dist/config/app-manifest.d.ts.map +0 -1
  557. package/dist/config/app-manifest.js +0 -109
  558. package/dist/config/app-manifest.js.map +0 -1
  559. package/dist/config/boot-config-react.d.ts +0 -5
  560. package/dist/config/boot-config-react.d.ts.map +0 -1
  561. package/dist/config/boot-config-react.js +0 -8
  562. package/dist/config/boot-config-react.js.map +0 -1
  563. package/dist/config/boot-config-store.d.ts +0 -74
  564. package/dist/config/boot-config-store.d.ts.map +0 -1
  565. package/dist/config/branding-react.d.ts +0 -4
  566. package/dist/config/branding-react.d.ts.map +0 -1
  567. package/dist/config/branding-react.js +0 -12
  568. package/dist/config/branding-react.js.map +0 -1
  569. package/dist/config/branding.d.ts +0 -53
  570. package/dist/config/branding.d.ts.map +0 -1
  571. package/dist/config/branding.js +0 -23
  572. package/dist/config/branding.js.map +0 -1
  573. package/dist/config/cloud-only.d.ts +0 -6
  574. package/dist/config/cloud-only.d.ts.map +0 -1
  575. package/dist/config/cloud-only.js +0 -16
  576. package/dist/config/cloud-only.js.map +0 -1
  577. package/dist/config/config-catalog.d.ts.map +0 -1
  578. package/dist/config/config-catalog.js +0 -710
  579. package/dist/config/config-catalog.js.map +0 -1
  580. package/dist/config/config.js +0 -23
  581. package/dist/config/config.js.map +0 -1
  582. package/dist/config/distribution-profile.js +0 -29
  583. package/dist/config/distribution-profile.js.map +0 -1
  584. package/dist/config/env-vars.d.ts.map +0 -1
  585. package/dist/config/index.d.ts +0 -14
  586. package/dist/config/index.d.ts.map +0 -1
  587. package/dist/config/index.js +0 -17
  588. package/dist/config/index.js.map +0 -1
  589. package/dist/config/plugin-auto-enable-engine.js +0 -45
  590. package/dist/config/plugin-auto-enable-engine.js.map +0 -1
  591. package/dist/config/plugin-manifest.d.ts.map +0 -1
  592. package/dist/config/plugin-manifest.js +0 -272
  593. package/dist/config/plugin-manifest.js.map +0 -1
  594. package/dist/config/runtime-mode.d.ts.map +0 -1
  595. package/dist/config/runtime-mode.js +0 -103
  596. package/dist/config/runtime-mode.js.map +0 -1
  597. package/dist/config/types.agent-defaults.d.ts +0 -383
  598. package/dist/config/types.agent-defaults.d.ts.map +0 -1
  599. package/dist/config/types.agents.d.ts +0 -114
  600. package/dist/config/types.agents.d.ts.map +0 -1
  601. package/dist/config/types.eliza.d.ts +0 -689
  602. package/dist/config/types.eliza.d.ts.map +0 -1
  603. package/dist/config/types.messages.d.ts +0 -176
  604. package/dist/config/types.messages.d.ts.map +0 -1
  605. package/dist/config/types.tools.d.ts +0 -400
  606. package/dist/config/types.tools.d.ts.map +0 -1
  607. package/dist/config/ui-spec.d.ts +0 -164
  608. package/dist/config/ui-spec.d.ts.map +0 -1
  609. package/dist/config/zod-schema.agent-runtime.d.ts +0 -1087
  610. package/dist/config/zod-schema.core.d.ts +0 -1048
  611. package/dist/connectors.d.ts +0 -2
  612. package/dist/connectors.d.ts.map +0 -1
  613. package/dist/connectors.js +0 -2
  614. package/dist/connectors.js.map +0 -1
  615. package/dist/contracts/apps.d.ts +0 -279
  616. package/dist/contracts/apps.d.ts.map +0 -1
  617. package/dist/contracts/apps.js +0 -218
  618. package/dist/contracts/apps.js.map +0 -1
  619. package/dist/contracts/cloud-topology.js +0 -72
  620. package/dist/contracts/cloud-topology.js.map +0 -1
  621. package/dist/contracts/content-pack.d.ts +0 -131
  622. package/dist/contracts/content-pack.d.ts.map +0 -1
  623. package/dist/contracts/content-pack.js +0 -103
  624. package/dist/contracts/health.d.ts +0 -30
  625. package/dist/contracts/health.d.ts.map +0 -1
  626. package/dist/contracts/health.js +0 -29
  627. package/dist/contracts/health.js.map +0 -1
  628. package/dist/contracts/index.d.ts +0 -16
  629. package/dist/contracts/index.d.ts.map +0 -1
  630. package/dist/contracts/index.js +0 -16
  631. package/dist/contracts/index.js.map +0 -1
  632. package/dist/contracts/lifeops.d.ts +0 -3140
  633. package/dist/contracts/lifeops.d.ts.map +0 -1
  634. package/dist/contracts/lifeops.js +0 -587
  635. package/dist/contracts/lifeops.js.map +0 -1
  636. package/dist/contracts/onboarding.d.ts +0 -507
  637. package/dist/contracts/onboarding.d.ts.map +0 -1
  638. package/dist/contracts/onboarding.js +0 -1141
  639. package/dist/contracts/onboarding.js.map +0 -1
  640. package/dist/contracts/permissions.d.ts +0 -121
  641. package/dist/contracts/permissions.d.ts.map +0 -1
  642. package/dist/contracts/permissions.js +0 -31
  643. package/dist/contracts/permissions.js.map +0 -1
  644. package/dist/contracts/service-routing.d.ts +0 -155
  645. package/dist/contracts/service-routing.d.ts.map +0 -1
  646. package/dist/contracts/service-routing.js +0 -395
  647. package/dist/contracts/service-routing.js.map +0 -1
  648. package/dist/contracts/theme.d.ts +0 -136
  649. package/dist/contracts/theme.d.ts.map +0 -1
  650. package/dist/contracts/theme.js +0 -134
  651. package/dist/contracts/theme.js.map +0 -1
  652. package/dist/contracts/wallet.d.ts +0 -622
  653. package/dist/contracts/wallet.d.ts.map +0 -1
  654. package/dist/contracts/wallet.js +0 -194
  655. package/dist/contracts/wallet.js.map +0 -1
  656. package/dist/dev-settings-banner-style.d.ts +0 -14
  657. package/dist/dev-settings-banner-style.js +0 -58
  658. package/dist/dev-settings-banner-style.js.map +0 -1
  659. package/dist/dev-settings-figlet-heading.d.ts.map +0 -1
  660. package/dist/dev-settings-figlet-heading.js +0 -56
  661. package/dist/dev-settings-figlet-heading.js.map +0 -1
  662. package/dist/events/index.d.ts +0 -62
  663. package/dist/events/index.d.ts.map +0 -1
  664. package/dist/events/index.js +0 -52
  665. package/dist/events/index.js.map +0 -1
  666. package/dist/i18n/generated/validation-keyword-data.d.ts +0 -3080
  667. package/dist/i18n/generated/validation-keyword-data.d.ts.map +0 -1
  668. package/dist/i18n/generated/validation-keyword-data.js +0 -3084
  669. package/dist/i18n/generated/validation-keyword-data.js.map +0 -1
  670. package/dist/i18n/keyword-matching.d.ts.map +0 -1
  671. package/dist/i18n/keyword-matching.js +0 -113
  672. package/dist/i18n/keyword-matching.js.map +0 -1
  673. package/dist/index.d.ts +0 -93
  674. package/dist/index.d.ts.map +0 -1
  675. package/dist/index.js +0 -105
  676. package/dist/index.js.map +0 -1
  677. package/dist/local-inference/index.d.ts +0 -16
  678. package/dist/local-inference/index.d.ts.map +0 -1
  679. package/dist/local-inference/index.js +0 -16
  680. package/dist/local-inference/index.js.map +0 -1
  681. package/dist/local-inference/paths.d.ts +0 -24
  682. package/dist/local-inference/paths.js +0 -40
  683. package/dist/local-inference/routing-preferences.d.ts +0 -31
  684. package/dist/local-inference/routing-preferences.d.ts.map +0 -1
  685. package/dist/local-inference/routing-preferences.js +0 -73
  686. package/dist/local-inference/routing-preferences.js.map +0 -1
  687. package/dist/local-inference/types.d.ts +0 -62
  688. package/dist/local-inference/types.d.ts.map +0 -1
  689. package/dist/local-inference/types.js +0 -25
  690. package/dist/local-inference/types.js.map +0 -1
  691. package/dist/onboarding-presets.characters.d.ts +0 -22
  692. package/dist/onboarding-presets.characters.d.ts.map +0 -1
  693. package/dist/onboarding-presets.characters.js +0 -2617
  694. package/dist/onboarding-presets.characters.js.map +0 -1
  695. package/dist/onboarding-presets.d.ts +0 -40
  696. package/dist/onboarding-presets.d.ts.map +0 -1
  697. package/dist/onboarding-presets.js +0 -181
  698. package/dist/onboarding-presets.js.map +0 -1
  699. package/dist/onboarding-presets.shared.d.ts +0 -2
  700. package/dist/onboarding-presets.shared.d.ts.map +0 -1
  701. package/dist/onboarding-presets.shared.js +0 -8
  702. package/dist/onboarding-presets.shared.js.map +0 -1
  703. package/dist/package.json +0 -50
  704. package/dist/restart.d.ts +0 -27
  705. package/dist/restart.d.ts.map +0 -1
  706. package/dist/restart.js +0 -29
  707. package/dist/restart.js.map +0 -1
  708. package/dist/runtime-env.d.ts +0 -84
  709. package/dist/runtime-env.d.ts.map +0 -1
  710. package/dist/runtime-env.js +0 -262
  711. package/dist/runtime-env.js.map +0 -1
  712. package/dist/self-edit.d.ts +0 -64
  713. package/dist/self-edit.d.ts.map +0 -1
  714. package/dist/self-edit.js +0 -133
  715. package/dist/self-edit.js.map +0 -1
  716. package/dist/spoken-text.d.ts.map +0 -1
  717. package/dist/spoken-text.js +0 -57
  718. package/dist/spoken-text.js.map +0 -1
  719. package/dist/test-support/test-helpers.d.ts +0 -112
  720. package/dist/test-support/test-helpers.d.ts.map +0 -1
  721. package/dist/test-support/test-helpers.js +0 -416
  722. package/dist/test-support/test-helpers.js.map +0 -1
  723. package/dist/themes/index.d.ts +0 -7
  724. package/dist/themes/index.d.ts.map +0 -1
  725. package/dist/themes/index.js +0 -6
  726. package/dist/themes/index.js.map +0 -1
  727. package/dist/themes/presets.d.ts +0 -15
  728. package/dist/themes/presets.d.ts.map +0 -1
  729. package/dist/themes/presets.js +0 -789
  730. package/dist/themes/presets.js.map +0 -1
  731. package/dist/type-guards.d.ts +0 -30
  732. package/dist/type-guards.d.ts.map +0 -1
  733. package/dist/type-guards.js +0 -50
  734. package/dist/type-guards.js.map +0 -1
  735. package/dist/types/index.d.ts +0 -655
  736. package/dist/types/index.d.ts.map +0 -1
  737. package/dist/utils/assistant-text.d.ts +0 -2
  738. package/dist/utils/assistant-text.d.ts.map +0 -1
  739. package/dist/utils/assistant-text.js +0 -168
  740. package/dist/utils/assistant-text.js.map +0 -1
  741. package/dist/utils/browser-tab-kit-types.d.ts +0 -81
  742. package/dist/utils/browser-tab-kit-types.js +0 -23
  743. package/dist/utils/browser-tabs-renderer-registry.d.ts +0 -56
  744. package/dist/utils/browser-tabs-renderer-registry.d.ts.map +0 -1
  745. package/dist/utils/browser-tabs-renderer-registry.js +0 -962
  746. package/dist/utils/browser-tabs-renderer-registry.js.map +0 -1
  747. package/dist/utils/documents-upload-image.js +0 -147
  748. package/dist/utils/documents-upload-image.js.map +0 -1
  749. package/dist/utils/env.d.ts.map +0 -1
  750. package/dist/utils/env.js +0 -131
  751. package/dist/utils/env.js.map +0 -1
  752. package/dist/utils/exec-safety.d.ts.map +0 -1
  753. package/dist/utils/exec-safety.js +0 -22
  754. package/dist/utils/exec-safety.js.map +0 -1
  755. package/dist/utils/format.d.ts +0 -66
  756. package/dist/utils/format.d.ts.map +0 -1
  757. package/dist/utils/format.js +0 -122
  758. package/dist/utils/format.js.map +0 -1
  759. package/dist/utils/index.d.ts +0 -12
  760. package/dist/utils/index.d.ts.map +0 -1
  761. package/dist/utils/index.js +0 -12
  762. package/dist/utils/index.js.map +0 -1
  763. package/dist/utils/log-prefix.d.ts.map +0 -1
  764. package/dist/utils/log-prefix.js +0 -54
  765. package/dist/utils/log-prefix.js.map +0 -1
  766. package/dist/utils/name-tokens.d.ts +0 -24
  767. package/dist/utils/name-tokens.js +0 -37
  768. package/dist/utils/namespace-defaults.d.ts +0 -6
  769. package/dist/utils/namespace-defaults.d.ts.map +0 -1
  770. package/dist/utils/namespace-defaults.js +0 -16
  771. package/dist/utils/namespace-defaults.js.map +0 -1
  772. package/dist/utils/number-parsing.d.ts.map +0 -1
  773. package/dist/utils/number-parsing.js +0 -52
  774. package/dist/utils/number-parsing.js.map +0 -1
  775. package/dist/utils/permission-deep-links.d.ts +0 -34
  776. package/dist/utils/permission-deep-links.d.ts.map +0 -1
  777. package/dist/utils/permission-deep-links.js +0 -84
  778. package/dist/utils/permission-deep-links.js.map +0 -1
  779. package/dist/utils/serialise.js +0 -22
  780. package/dist/utils/serialise.js.map +0 -1
  781. package/dist/utils/sql-compat.js +0 -112
  782. package/dist/utils/sql-compat.js.map +0 -1
  783. package/dist/utils/streaming-text.d.ts +0 -9
  784. package/dist/utils/streaming-text.d.ts.map +0 -1
  785. package/dist/utils/streaming-text.js +0 -113
  786. package/dist/utils/streaming-text.js.map +0 -1
  787. package/dist/utils/tts-debug.d.ts +0 -9
  788. package/dist/utils/tts-debug.d.ts.map +0 -1
  789. package/dist/utils/tts-debug.js +0 -70
  790. package/dist/utils/tts-debug.js.map +0 -1
  791. package/dist/voice.d.ts +0 -40
  792. package/dist/voice.d.ts.map +0 -1
  793. package/dist/voice.js +0 -296
  794. package/dist/voice.js.map +0 -1
  795. /package/{dist/api → api}/route-helpers.js +0 -0
  796. /package/{dist/api → api}/route-helpers.js.map +0 -0
  797. /package/{dist/app-hero-art.d.ts → app-hero-art.d.ts} +0 -0
  798. /package/{dist/awareness → awareness}/index.d.ts +0 -0
  799. /package/{dist/awareness → awareness}/index.d.ts.map +0 -0
  800. /package/{dist/awareness → awareness}/index.js +0 -0
  801. /package/{dist/awareness → awareness}/index.js.map +0 -0
  802. /package/{dist/awareness → awareness}/registry.d.ts +0 -0
  803. /package/{dist/awareness → awareness}/registry.d.ts.map +0 -0
  804. /package/{dist/awareness → awareness}/registry.js +0 -0
  805. /package/{dist/awareness → awareness}/registry.js.map +0 -0
  806. /package/{dist/cli → cli}/parse-duration.d.ts +0 -0
  807. /package/{dist/config → config}/allowed-hosts.d.ts +0 -0
  808. /package/{dist/config → config}/allowed-hosts.d.ts.map +0 -0
  809. /package/{dist/config → config}/app-manifest.d.ts +0 -0
  810. /package/{dist/config → config}/boot-config-store.js +0 -0
  811. /package/{dist/config → config}/boot-config-store.js.map +0 -0
  812. /package/{dist/config → config}/boot-config.d.ts +0 -0
  813. /package/{dist/config → config}/boot-config.d.ts.map +0 -0
  814. /package/{dist/config → config}/boot-config.js +0 -0
  815. /package/{dist/config → config}/boot-config.js.map +0 -0
  816. /package/{dist/config → config}/config-catalog.d.ts +0 -0
  817. /package/{dist/config → config}/config-paths.d.ts +0 -0
  818. /package/{dist/config → config}/config-paths.d.ts.map +0 -0
  819. /package/{dist/config → config}/config-paths.js +0 -0
  820. /package/{dist/config → config}/config-paths.js.map +0 -0
  821. /package/{dist/config → config}/config.d.ts +0 -0
  822. /package/{dist/config → config}/config.d.ts.map +0 -0
  823. /package/{dist/config → config}/distribution-profile.d.ts +0 -0
  824. /package/{dist/config → config}/distribution-profile.d.ts.map +0 -0
  825. /package/{dist/config → config}/env-vars.d.ts +0 -0
  826. /package/{dist/config → config}/env-vars.js +0 -0
  827. /package/{dist/config → config}/env-vars.js.map +0 -0
  828. /package/{dist/config → config}/plugin-auto-enable-engine.d.ts +0 -0
  829. /package/{dist/config → config}/plugin-auto-enable-engine.d.ts.map +0 -0
  830. /package/{dist/config → config}/plugin-auto-enable.d.ts +0 -0
  831. /package/{dist/config → config}/plugin-auto-enable.d.ts.map +0 -0
  832. /package/{dist/config → config}/plugin-auto-enable.js +0 -0
  833. /package/{dist/config → config}/plugin-auto-enable.js.map +0 -0
  834. /package/{dist/config → config}/plugin-manifest.d.ts +0 -0
  835. /package/{dist/config → config}/plugin-ui-spec.d.ts +0 -0
  836. /package/{dist/config → config}/plugin-ui-spec.d.ts.map +0 -0
  837. /package/{dist/config → config}/plugin-ui-spec.js +0 -0
  838. /package/{dist/config → config}/plugin-ui-spec.js.map +0 -0
  839. /package/{dist/config → config}/runtime-mode.d.ts +0 -0
  840. /package/{dist/config → config}/runtime-overrides.d.ts +0 -0
  841. /package/{dist/config → config}/runtime-overrides.d.ts.map +0 -0
  842. /package/{dist/config → config}/runtime-overrides.js +0 -0
  843. /package/{dist/config → config}/runtime-overrides.js.map +0 -0
  844. /package/{dist/config → config}/schema.d.ts +0 -0
  845. /package/{dist/config → config}/schema.d.ts.map +0 -0
  846. /package/{dist/config → config}/schema.js +0 -0
  847. /package/{dist/config → config}/schema.js.map +0 -0
  848. /package/{dist/config → config}/types.agent-defaults.js +0 -0
  849. /package/{dist/config → config}/types.agent-defaults.js.map +0 -0
  850. /package/{dist/config → config}/types.agents.js +0 -0
  851. /package/{dist/config → config}/types.agents.js.map +0 -0
  852. /package/{dist/config → config}/types.d.ts +0 -0
  853. /package/{dist/config → config}/types.d.ts.map +0 -0
  854. /package/{dist/config → config}/types.eliza.js +0 -0
  855. /package/{dist/config → config}/types.eliza.js.map +0 -0
  856. /package/{dist/config → config}/types.gateway.d.ts +0 -0
  857. /package/{dist/config → config}/types.gateway.d.ts.map +0 -0
  858. /package/{dist/config → config}/types.gateway.js +0 -0
  859. /package/{dist/config → config}/types.gateway.js.map +0 -0
  860. /package/{dist/config → config}/types.hooks.d.ts +0 -0
  861. /package/{dist/config → config}/types.hooks.d.ts.map +0 -0
  862. /package/{dist/config → config}/types.hooks.js +0 -0
  863. /package/{dist/config → config}/types.hooks.js.map +0 -0
  864. /package/{dist/config → config}/types.js +0 -0
  865. /package/{dist/config → config}/types.js.map +0 -0
  866. /package/{dist/config → config}/types.messages.js +0 -0
  867. /package/{dist/config → config}/types.messages.js.map +0 -0
  868. /package/{dist/config → config}/types.tools.js +0 -0
  869. /package/{dist/config → config}/types.tools.js.map +0 -0
  870. /package/{dist/config → config}/ui-spec.js +0 -0
  871. /package/{dist/config → config}/ui-spec.js.map +0 -0
  872. /package/{dist/config → config}/wechat-config.d.ts +0 -0
  873. /package/{dist/config → config}/wechat-config.d.ts.map +0 -0
  874. /package/{dist/config → config}/wechat-config.js +0 -0
  875. /package/{dist/config → config}/wechat-config.js.map +0 -0
  876. /package/{dist/config → config}/zod-schema.agent-runtime.d.ts.map +0 -0
  877. /package/{dist/config → config}/zod-schema.agent-runtime.js +0 -0
  878. /package/{dist/config → config}/zod-schema.agent-runtime.js.map +0 -0
  879. /package/{dist/config → config}/zod-schema.core.d.ts.map +0 -0
  880. /package/{dist/config → config}/zod-schema.core.js +0 -0
  881. /package/{dist/config → config}/zod-schema.core.js.map +0 -0
  882. /package/{dist/connector-cred-types.d.ts → connector-cred-types.d.ts} +0 -0
  883. /package/{dist/connector-cred-types.d.ts.map → connector-cred-types.d.ts.map} +0 -0
  884. /package/{dist/connector-cred-types.js → connector-cred-types.js} +0 -0
  885. /package/{dist/connector-cred-types.js.map → connector-cred-types.js.map} +0 -0
  886. /package/{dist/contracts → contracts}/awareness.d.ts +0 -0
  887. /package/{dist/contracts → contracts}/awareness.d.ts.map +0 -0
  888. /package/{dist/contracts → contracts}/awareness.js +0 -0
  889. /package/{dist/contracts → contracts}/awareness.js.map +0 -0
  890. /package/{dist/contracts → contracts}/cloud-topology.d.ts +0 -0
  891. /package/{dist/contracts → contracts}/cloud-topology.d.ts.map +0 -0
  892. /package/{dist/contracts → contracts}/config.d.ts +0 -0
  893. /package/{dist/contracts → contracts}/config.d.ts.map +0 -0
  894. /package/{dist/contracts → contracts}/config.js +0 -0
  895. /package/{dist/contracts → contracts}/config.js.map +0 -0
  896. /package/{dist/contracts → contracts}/content-pack.js.map +0 -0
  897. /package/{dist/contracts → contracts}/drop.d.ts +0 -0
  898. /package/{dist/contracts → contracts}/drop.d.ts.map +0 -0
  899. /package/{dist/contracts → contracts}/drop.js +0 -0
  900. /package/{dist/contracts → contracts}/drop.js.map +0 -0
  901. /package/{dist/contracts → contracts}/feature-result.d.ts +0 -0
  902. /package/{dist/contracts → contracts}/feature-result.d.ts.map +0 -0
  903. /package/{dist/contracts → contracts}/feature-result.js +0 -0
  904. /package/{dist/contracts → contracts}/feature-result.js.map +0 -0
  905. /package/{dist/contracts → contracts}/inbox.d.ts +0 -0
  906. /package/{dist/contracts → contracts}/inbox.d.ts.map +0 -0
  907. /package/{dist/contracts → contracts}/inbox.js +0 -0
  908. /package/{dist/contracts → contracts}/inbox.js.map +0 -0
  909. /package/{dist/contracts → contracts}/lifeops-connector-degradation.d.ts +0 -0
  910. /package/{dist/contracts → contracts}/lifeops-connector-degradation.d.ts.map +0 -0
  911. /package/{dist/contracts → contracts}/lifeops-connector-degradation.js +0 -0
  912. /package/{dist/contracts → contracts}/lifeops-connector-degradation.js.map +0 -0
  913. /package/{dist/contracts → contracts}/verification.d.ts +0 -0
  914. /package/{dist/contracts → contracts}/verification.d.ts.map +0 -0
  915. /package/{dist/contracts → contracts}/verification.js +0 -0
  916. /package/{dist/contracts → contracts}/verification.js.map +0 -0
  917. /package/{dist/dev-settings-banner-style.d.ts.map → dev-settings-banner-style.d.ts.map} +0 -0
  918. /package/{dist/dev-settings-figlet-heading.d.ts → dev-settings-figlet-heading.d.ts} +0 -0
  919. /package/{dist/dev-settings-table.d.ts → dev-settings-table.d.ts} +0 -0
  920. /package/{dist/dev-settings-table.d.ts.map → dev-settings-table.d.ts.map} +0 -0
  921. /package/{dist/dev-settings-table.js → dev-settings-table.js} +0 -0
  922. /package/{dist/dev-settings-table.js.map → dev-settings-table.js.map} +0 -0
  923. /package/{dist/env-utils.d.ts → env-utils.d.ts} +0 -0
  924. /package/{dist/env-utils.d.ts.map → env-utils.d.ts.map} +0 -0
  925. /package/{dist/env-utils.js → env-utils.js} +0 -0
  926. /package/{dist/env-utils.js.map → env-utils.js.map} +0 -0
  927. /package/{dist/format-error.d.ts → format-error.d.ts} +0 -0
  928. /package/{dist/format-error.d.ts.map → format-error.d.ts.map} +0 -0
  929. /package/{dist/format-error.js → format-error.js} +0 -0
  930. /package/{dist/format-error.js.map → format-error.js.map} +0 -0
  931. /package/{dist/i18n → i18n}/keyword-matching.d.ts +0 -0
  932. /package/{dist/i18n → i18n}/validation-keywords.d.ts +0 -0
  933. /package/{dist/i18n → i18n}/validation-keywords.d.ts.map +0 -0
  934. /package/{dist/i18n → i18n}/validation-keywords.js +0 -0
  935. /package/{dist/i18n → i18n}/validation-keywords.js.map +0 -0
  936. /package/{dist/local-inference → local-inference}/paths.d.ts.map +0 -0
  937. /package/{dist/local-inference → local-inference}/paths.js.map +0 -0
  938. /package/{dist/local-inference → local-inference}/verify.d.ts +0 -0
  939. /package/{dist/local-inference → local-inference}/verify.d.ts.map +0 -0
  940. /package/{dist/local-inference → local-inference}/verify.js +0 -0
  941. /package/{dist/local-inference → local-inference}/verify.js.map +0 -0
  942. /package/{dist/platform → platform}/is-native-server.d.ts +0 -0
  943. /package/{dist/platform → platform}/is-native-server.d.ts.map +0 -0
  944. /package/{dist/platform → platform}/is-native-server.js +0 -0
  945. /package/{dist/platform → platform}/is-native-server.js.map +0 -0
  946. /package/{dist/recent-messages-state.d.ts → recent-messages-state.d.ts} +0 -0
  947. /package/{dist/recent-messages-state.d.ts.map → recent-messages-state.d.ts.map} +0 -0
  948. /package/{dist/recent-messages-state.js → recent-messages-state.js} +0 -0
  949. /package/{dist/recent-messages-state.js.map → recent-messages-state.js.map} +0 -0
  950. /package/{dist/settings-debug.d.ts → settings-debug.d.ts} +0 -0
  951. /package/{dist/settings-debug.d.ts.map → settings-debug.d.ts.map} +0 -0
  952. /package/{dist/settings-debug.js → settings-debug.js} +0 -0
  953. /package/{dist/settings-debug.js.map → settings-debug.js.map} +0 -0
  954. /package/{dist/spoken-text.d.ts → spoken-text.d.ts} +0 -0
  955. /package/{dist/terminal → terminal}/links.d.ts +0 -0
  956. /package/{dist/terminal → terminal}/links.d.ts.map +0 -0
  957. /package/{dist/terminal → terminal}/links.js +0 -0
  958. /package/{dist/terminal → terminal}/links.js.map +0 -0
  959. /package/{dist/terminal → terminal}/palette.d.ts +0 -0
  960. /package/{dist/terminal → terminal}/palette.d.ts.map +0 -0
  961. /package/{dist/terminal → terminal}/palette.js +0 -0
  962. /package/{dist/terminal → terminal}/palette.js.map +0 -0
  963. /package/{dist/terminal → terminal}/theme.d.ts +0 -0
  964. /package/{dist/terminal → terminal}/theme.d.ts.map +0 -0
  965. /package/{dist/terminal → terminal}/theme.js +0 -0
  966. /package/{dist/terminal → terminal}/theme.js.map +0 -0
  967. /package/{dist/test-support → test-support}/process-helpers.d.ts +0 -0
  968. /package/{dist/test-support → test-support}/process-helpers.d.ts.map +0 -0
  969. /package/{dist/test-support → test-support}/process-helpers.js +0 -0
  970. /package/{dist/test-support → test-support}/process-helpers.js.map +0 -0
  971. /package/{dist/types → types}/index.js +0 -0
  972. /package/{dist/types → types}/index.js.map +0 -0
  973. /package/{dist/utils → utils}/asset-url.d.ts +0 -0
  974. /package/{dist/utils → utils}/asset-url.d.ts.map +0 -0
  975. /package/{dist/utils → utils}/asset-url.js +0 -0
  976. /package/{dist/utils → utils}/asset-url.js.map +0 -0
  977. /package/{dist/utils → utils}/browser-tab-kit-types.d.ts.map +0 -0
  978. /package/{dist/utils → utils}/browser-tab-kit-types.js.map +0 -0
  979. /package/{dist/utils → utils}/character-message-examples.d.ts +0 -0
  980. /package/{dist/utils → utils}/character-message-examples.d.ts.map +0 -0
  981. /package/{dist/utils → utils}/character-message-examples.js +0 -0
  982. /package/{dist/utils → utils}/character-message-examples.js.map +0 -0
  983. /package/{dist/utils → utils}/cloud-status.d.ts +0 -0
  984. /package/{dist/utils → utils}/cloud-status.d.ts.map +0 -0
  985. /package/{dist/utils → utils}/cloud-status.js +0 -0
  986. /package/{dist/utils → utils}/cloud-status.js.map +0 -0
  987. /package/{dist/utils → utils}/documents-upload-image.d.ts +0 -0
  988. /package/{dist/utils → utils}/documents-upload-image.d.ts.map +0 -0
  989. /package/{dist/utils → utils}/eliza-cloud-model-route.d.ts +0 -0
  990. /package/{dist/utils → utils}/eliza-cloud-model-route.d.ts.map +0 -0
  991. /package/{dist/utils → utils}/eliza-cloud-model-route.js +0 -0
  992. /package/{dist/utils → utils}/eliza-cloud-model-route.js.map +0 -0
  993. /package/{dist/utils → utils}/eliza-globals.d.ts +0 -0
  994. /package/{dist/utils → utils}/eliza-globals.d.ts.map +0 -0
  995. /package/{dist/utils → utils}/eliza-globals.js +0 -0
  996. /package/{dist/utils → utils}/eliza-globals.js.map +0 -0
  997. /package/{dist/utils → utils}/eliza-root.d.ts +0 -0
  998. /package/{dist/utils → utils}/eliza-root.d.ts.map +0 -0
  999. /package/{dist/utils → utils}/eliza-root.js +0 -0
  1000. /package/{dist/utils → utils}/eliza-root.js.map +0 -0
  1001. /package/{dist/utils → utils}/env.d.ts +0 -0
  1002. /package/{dist/utils → utils}/errors.d.ts +0 -0
  1003. /package/{dist/utils → utils}/errors.d.ts.map +0 -0
  1004. /package/{dist/utils → utils}/errors.js +0 -0
  1005. /package/{dist/utils → utils}/errors.js.map +0 -0
  1006. /package/{dist/utils → utils}/exec-safety.d.ts +0 -0
  1007. /package/{dist/utils → utils}/labels.d.ts +0 -0
  1008. /package/{dist/utils → utils}/labels.d.ts.map +0 -0
  1009. /package/{dist/utils → utils}/labels.js +0 -0
  1010. /package/{dist/utils → utils}/labels.js.map +0 -0
  1011. /package/{dist/utils → utils}/log-prefix.d.ts +0 -0
  1012. /package/{dist/utils → utils}/name-tokens.d.ts.map +0 -0
  1013. /package/{dist/utils → utils}/name-tokens.js.map +0 -0
  1014. /package/{dist/utils → utils}/number-parsing.d.ts +0 -0
  1015. /package/{dist/utils → utils}/owner-name.d.ts +0 -0
  1016. /package/{dist/utils → utils}/owner-name.d.ts.map +0 -0
  1017. /package/{dist/utils → utils}/owner-name.js +0 -0
  1018. /package/{dist/utils → utils}/owner-name.js.map +0 -0
  1019. /package/{dist/utils → utils}/rate-limiter.d.ts +0 -0
  1020. /package/{dist/utils → utils}/rate-limiter.d.ts.map +0 -0
  1021. /package/{dist/utils → utils}/rate-limiter.js +0 -0
  1022. /package/{dist/utils → utils}/rate-limiter.js.map +0 -0
  1023. /package/{dist/utils → utils}/serialise.d.ts +0 -0
  1024. /package/{dist/utils → utils}/serialise.d.ts.map +0 -0
  1025. /package/{dist/utils → utils}/sql-compat.d.ts +0 -0
  1026. /package/{dist/utils → utils}/sql-compat.d.ts.map +0 -0
  1027. /package/{dist/utils → utils}/subscription-auth.d.ts +0 -0
  1028. /package/{dist/utils → utils}/subscription-auth.d.ts.map +0 -0
  1029. /package/{dist/utils → utils}/subscription-auth.js +0 -0
  1030. /package/{dist/utils → utils}/subscription-auth.js.map +0 -0
  1031. /package/{dist/utils → utils}/trajectory-format.d.ts +0 -0
  1032. /package/{dist/utils → utils}/trajectory-format.d.ts.map +0 -0
  1033. /package/{dist/utils → utils}/trajectory-format.js +0 -0
  1034. /package/{dist/utils → utils}/trajectory-format.js.map +0 -0
  1035. /package/{dist/validation-keywords.d.ts → validation-keywords.d.ts} +0 -0
  1036. /package/{dist/validation-keywords.d.ts.map → validation-keywords.d.ts.map} +0 -0
  1037. /package/{dist/validation-keywords.js → validation-keywords.js} +0 -0
  1038. /package/{dist/validation-keywords.js.map → validation-keywords.js.map} +0 -0
@@ -0,0 +1,1282 @@
1
+ /**
2
+ * Window-global handshake between the BrowserWorkspaceView React component
3
+ * (which owns the live <electrobun-webview> tag refs) and the Electrobun
4
+ * preload bridge (which holds the Electroview RPC handlers that bun calls
5
+ * into for evaluate/snapshot on a tab).
6
+ *
7
+ * Mirror of the type declared in
8
+ * platforms/electrobun/src/bridge/browser-tabs-renderer-registry.ts — both
9
+ * read/write the same `window.__ELIZA_BROWSER_TABS_REGISTRY__` key.
10
+ */
11
+ const REGISTRY_KEY = "__ELIZA_BROWSER_TABS_REGISTRY__";
12
+ /**
13
+ * Preload script string injected into every <electrobun-webview> tab so the
14
+ * host page (running in the main webview) can request a script evaluation
15
+ * via tag.executeJavascript and receive the result back via the
16
+ * `host-message` event channel.
17
+ *
18
+ * Runs inside the OOPIF (the tab's content) before any page scripts. Two
19
+ * surfaces are installed:
20
+ *
21
+ * 1. `window.__elizaTabExec(requestId, script)` — the eval-bridge entry
22
+ * that the renderer uses for arbitrary script evaluation. Results
23
+ * return via `__electrobunSendToHost`. `__electrobunSendToHost`
24
+ * JSON-stringifies the payload, so we pre-clone via
25
+ * `JSON.parse(JSON.stringify(...))` to surface unserializable results
26
+ * as a structured `{ __unserializable, type, repr }` marker rather
27
+ * than letting the native send silently drop them or throw.
28
+ *
29
+ * 2. `window.__elizaTabKit` — see browser-tab-kit-types.ts. Visual cursor
30
+ * overlay + faithful pointer-event sequences + React-compatible
31
+ * typing. Used by the agent's realistic-* subactions so the user can
32
+ * watch the cursor move and so events fire correctly on controlled
33
+ * inputs.
34
+ */
35
+ export const BROWSER_TAB_PRELOAD_SCRIPT = `
36
+ (() => {
37
+ const send = (payload) => {
38
+ try {
39
+ if (typeof window.__electrobunSendToHost === "function") {
40
+ window.__electrobunSendToHost(payload);
41
+ }
42
+ } catch (_err) {
43
+ // No fallback — if the host bridge is missing, swallow.
44
+ }
45
+ };
46
+
47
+ const describeValue = (value) => {
48
+ if (value === null) return "null";
49
+ const t = typeof value;
50
+ if (t !== "object") return t;
51
+ try {
52
+ const ctor = value && value.constructor && value.constructor.name;
53
+ return ctor || "object";
54
+ } catch {
55
+ return "object";
56
+ }
57
+ };
58
+
59
+ const toCloneable = (value) => {
60
+ if (value === undefined) return undefined;
61
+ try {
62
+ return JSON.parse(JSON.stringify(value));
63
+ } catch (_err) {
64
+ let repr;
65
+ try {
66
+ repr = String(value);
67
+ } catch {
68
+ repr = "[unprintable value]";
69
+ }
70
+ return {
71
+ __unserializable: true,
72
+ type: describeValue(value),
73
+ repr,
74
+ };
75
+ }
76
+ };
77
+
78
+ window.__elizaTabExec = (requestId, script) => {
79
+ let value;
80
+ try {
81
+ // Indirect eval gives the script the global scope, matching the
82
+ // behaviour of webview.executeJavascript on a top-level webview.
83
+ value = (0, eval)(script);
84
+ } catch (err) {
85
+ send({
86
+ type: "__elizaTabExecResult",
87
+ requestId,
88
+ ok: false,
89
+ error: err && err.message ? String(err.message) : String(err),
90
+ });
91
+ return;
92
+ }
93
+
94
+ Promise.resolve(value)
95
+ .then((resolved) => {
96
+ send({
97
+ type: "__elizaTabExecResult",
98
+ requestId,
99
+ ok: true,
100
+ result: toCloneable(resolved),
101
+ });
102
+ })
103
+ .catch((err) => {
104
+ send({
105
+ type: "__elizaTabExecResult",
106
+ requestId,
107
+ ok: false,
108
+ error: err && err.message ? String(err.message) : String(err),
109
+ });
110
+ });
111
+ };
112
+
113
+ // ── Visual cursor + realistic event kit ───────────────────────────────
114
+ // Installed lazily to avoid touching the DOM before the page is ready.
115
+ // Idempotent — re-running just returns the existing kit.
116
+ let kit = null;
117
+ const ensureKit = () => {
118
+ if (kit) return kit;
119
+ if (!document || !document.documentElement) return null;
120
+
121
+ let cursorRoot = null;
122
+ let cursorVisible = false;
123
+ let cursorPos = { x: 0, y: 0 };
124
+ let activeAnim = 0;
125
+
126
+ const easeOut = (t) => {
127
+ // Approximation of cubic-bezier(.22,.61,.36,1) — a brief ease-out.
128
+ const c = 1 - t;
129
+ return 1 - c * c * c;
130
+ };
131
+
132
+ const buildCursorRoot = () => {
133
+ const root = document.createElement("div");
134
+ root.setAttribute("aria-hidden", "true");
135
+ root.setAttribute("data-eliza-cursor", "1");
136
+ root.style.cssText = [
137
+ "position:fixed",
138
+ "left:0",
139
+ "top:0",
140
+ "width:0",
141
+ "height:0",
142
+ "pointer-events:none",
143
+ "z-index:2147483647",
144
+ "display:none",
145
+ "transform:translate3d(0,0,0)",
146
+ "will-change:transform",
147
+ ].join(";");
148
+ // Inline SVG arrow + ripple ring. The arrow uses a soft drop-shadow
149
+ // so it stays visible against any page background.
150
+ root.innerHTML = [
151
+ "<svg width='28' height='28' viewBox='0 0 28 28' style='display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,0.45));'>",
152
+ " <path d='M3 2 L3 22 L9 16 L13 25 L16 23 L12 14 L20 14 Z' fill='#ffffff' stroke='#111111' stroke-width='1' stroke-linejoin='round'/>",
153
+ "</svg>",
154
+ "<div data-eliza-cursor-ripple style='position:absolute;left:-12px;top:-12px;width:24px;height:24px;border-radius:50%;border:2px solid #38bdf8;opacity:0;transform:scale(0.4);transition:transform 220ms ease-out, opacity 220ms ease-out;pointer-events:none;'></div>",
155
+ ].join("");
156
+ return root;
157
+ };
158
+
159
+ const ensureCursorRoot = () => {
160
+ if (cursorRoot && cursorRoot.isConnected) return cursorRoot;
161
+ cursorRoot = buildCursorRoot();
162
+ document.documentElement.appendChild(cursorRoot);
163
+ return cursorRoot;
164
+ };
165
+
166
+ const showCursor = () => {
167
+ cursorVisible = true;
168
+ const root = ensureCursorRoot();
169
+ root.style.display = "block";
170
+ };
171
+ const hideCursor = () => {
172
+ cursorVisible = false;
173
+ if (cursorRoot) cursorRoot.style.display = "none";
174
+ };
175
+
176
+ const placeCursor = (x, y) => {
177
+ cursorPos = { x, y };
178
+ const root = ensureCursorRoot();
179
+ root.style.transform = "translate3d(" + x + "px," + y + "px,0)";
180
+ };
181
+
182
+ const moveTo = (target, options) =>
183
+ new Promise((resolve) => {
184
+ const root = ensureCursorRoot();
185
+ if (!cursorVisible) {
186
+ showCursor();
187
+ // Snap to current pos so the first move animates from where we are.
188
+ placeCursor(cursorPos.x || target.x, cursorPos.y || target.y);
189
+ }
190
+ const startX = cursorPos.x;
191
+ const startY = cursorPos.y;
192
+ const endX = target.x;
193
+ const endY = target.y;
194
+ const dur = Math.max(40, Math.min(2000, (options && options.durationMs) || 220));
195
+ const startedAt = performance.now();
196
+ const animId = ++activeAnim;
197
+ const step = (now) => {
198
+ if (animId !== activeAnim) return; // Superseded by another move.
199
+ const t = Math.min(1, (now - startedAt) / dur);
200
+ const eased = easeOut(t);
201
+ placeCursor(startX + (endX - startX) * eased, startY + (endY - startY) * eased);
202
+ if (t < 1) {
203
+ requestAnimationFrame(step);
204
+ } else {
205
+ resolve();
206
+ }
207
+ };
208
+ requestAnimationFrame(step);
209
+ });
210
+
211
+ const playRipple = () => {
212
+ const root = ensureCursorRoot();
213
+ const ripple = root.querySelector("[data-eliza-cursor-ripple]");
214
+ if (!ripple) return;
215
+ ripple.style.transition = "none";
216
+ ripple.style.opacity = "0.85";
217
+ ripple.style.transform = "scale(0.4)";
218
+ // Force layout so the next frame animates.
219
+ void ripple.offsetWidth;
220
+ ripple.style.transition = "transform 320ms ease-out, opacity 320ms ease-out";
221
+ ripple.style.opacity = "0";
222
+ ripple.style.transform = "scale(1.6)";
223
+ };
224
+
225
+ const clickAt = (target) => moveTo(target).then(() => {
226
+ playRipple();
227
+ });
228
+
229
+ const highlight = (element, durationMs) => {
230
+ if (!element || !element.style) return;
231
+ const prevOutline = element.style.outline;
232
+ const prevOutlineOffset = element.style.outlineOffset;
233
+ const prevTransition = element.style.transition;
234
+ element.style.transition = "outline-color 180ms ease-out";
235
+ element.style.outline = "2px solid #38bdf8";
236
+ element.style.outlineOffset = "2px";
237
+ const dur = Math.max(120, Math.min(2000, durationMs || 360));
238
+ setTimeout(() => {
239
+ element.style.outline = prevOutline;
240
+ element.style.outlineOffset = prevOutlineOffset;
241
+ element.style.transition = prevTransition;
242
+ }, dur);
243
+ };
244
+
245
+ const elementCenter = (element) => {
246
+ const rect = element.getBoundingClientRect();
247
+ return {
248
+ x: rect.left + rect.width / 2,
249
+ y: rect.top + rect.height / 2,
250
+ };
251
+ };
252
+
253
+ const fireMouseEvent = (target, type, x, y, button, buttons) => {
254
+ // view is intentionally omitted — JSDOM rejects window references at
255
+ // construction time, real browsers fill view in during dispatch, and
256
+ // React synthetic events don't depend on it.
257
+ const event = new MouseEvent(type, {
258
+ bubbles: true,
259
+ cancelable: true,
260
+ composed: true,
261
+ button: button,
262
+ buttons: buttons,
263
+ clientX: x,
264
+ clientY: y,
265
+ screenX: x,
266
+ screenY: y,
267
+ });
268
+ target.dispatchEvent(event);
269
+ };
270
+
271
+ const firePointerEvent = (target, type, x, y, button, buttons) => {
272
+ let event;
273
+ try {
274
+ event = new PointerEvent(type, {
275
+ bubbles: true,
276
+ cancelable: true,
277
+ composed: true,
278
+ pointerId: 1,
279
+ pointerType: "mouse",
280
+ isPrimary: true,
281
+ button: button,
282
+ buttons: buttons,
283
+ clientX: x,
284
+ clientY: y,
285
+ screenX: x,
286
+ screenY: y,
287
+ });
288
+ } catch (_err) {
289
+ // Older WebKit may not have PointerEvent; fall back to mouse only.
290
+ return;
291
+ }
292
+ target.dispatchEvent(event);
293
+ };
294
+
295
+ const dispatchPointerSequence = (target, options) => {
296
+ if (!target) return Promise.resolve();
297
+ const opts = options || {};
298
+ const center = elementCenter(target);
299
+ const x = typeof opts.x === "number" ? opts.x : center.x;
300
+ const y = typeof opts.y === "number" ? opts.y : center.y;
301
+ const button = typeof opts.button === "number" ? opts.button : 0;
302
+
303
+ return moveTo({ x: x, y: y }).then(() => {
304
+ firePointerEvent(target, "pointerover", x, y, button, 0);
305
+ fireMouseEvent(target, "mouseover", x, y, button, 0);
306
+ firePointerEvent(target, "pointermove", x, y, button, 0);
307
+ fireMouseEvent(target, "mousemove", x, y, button, 0);
308
+ firePointerEvent(target, "pointerdown", x, y, button, 1);
309
+ fireMouseEvent(target, "mousedown", x, y, button, 1);
310
+ // Most form controls expect focus between mousedown and click.
311
+ if (typeof target.focus === "function") {
312
+ try { target.focus({ preventScroll: true }); } catch (_e) { try { target.focus(); } catch (_e2) {} }
313
+ }
314
+ firePointerEvent(target, "pointerup", x, y, button, 0);
315
+ fireMouseEvent(target, "mouseup", x, y, button, 0);
316
+ fireMouseEvent(target, "click", x, y, button, 0);
317
+ if (opts.doubleClick) {
318
+ fireMouseEvent(target, "dblclick", x, y, button, 0);
319
+ }
320
+ playRipple();
321
+ });
322
+ };
323
+
324
+ // React's controlled inputs check the value setter against the
325
+ // prototype's own descriptor to detect "real" user input. Mutating
326
+ // .value directly bypasses that. This helper sets value via the
327
+ // prototype descriptor so React/Preact/Solid all see the change.
328
+ const setNativeValue = (element, value) => {
329
+ const proto = Object.getPrototypeOf(element);
330
+ const protoDesc = proto ? Object.getOwnPropertyDescriptor(proto, "value") : null;
331
+ const ownDesc = Object.getOwnPropertyDescriptor(element, "value");
332
+ if (protoDesc && protoDesc.set && (!ownDesc || ownDesc.set !== protoDesc.set)) {
333
+ protoDesc.set.call(element, value);
334
+ } else {
335
+ element.value = value;
336
+ }
337
+ };
338
+
339
+ const fireKey = (target, type, key) => {
340
+ const isChar = key.length === 1;
341
+ const code = isChar
342
+ ? (/[a-z]/i.test(key) ? "Key" + key.toUpperCase() : ("Digit" + key))
343
+ : key;
344
+ const init = {
345
+ key: key,
346
+ code: code,
347
+ bubbles: true,
348
+ cancelable: true,
349
+ composed: true,
350
+ };
351
+ try {
352
+ target.dispatchEvent(new KeyboardEvent(type, init));
353
+ } catch (_err) {
354
+ // KeyboardEvent always exists in modern browsers; ignore.
355
+ }
356
+ };
357
+
358
+ const typeRealistic = (target, text, options) => {
359
+ if (!target) return Promise.resolve();
360
+ const opts = options || {};
361
+ const delay = Math.max(0, Math.min(200, typeof opts.perCharDelayMs === "number" ? opts.perCharDelayMs : 18));
362
+ try { target.focus({ preventScroll: true }); } catch (_e) { try { target.focus(); } catch (_e2) {} }
363
+ if (opts.replace) {
364
+ try {
365
+ if (typeof target.setSelectionRange === "function") {
366
+ target.setSelectionRange(0, (target.value || "").length);
367
+ }
368
+ } catch (_e) {}
369
+ setNativeValue(target, "");
370
+ target.dispatchEvent(new Event("input", { bubbles: true, composed: true }));
371
+ }
372
+
373
+ const chars = Array.from(text);
374
+ let index = 0;
375
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
376
+
377
+ const stepOne = () => {
378
+ if (index >= chars.length) return Promise.resolve();
379
+ const ch = chars[index++];
380
+ fireKey(target, "keydown", ch);
381
+ try {
382
+ target.dispatchEvent(new InputEvent("beforeinput", { bubbles: true, cancelable: true, composed: true, data: ch, inputType: "insertText" }));
383
+ } catch (_e) {}
384
+ const next = (target.value || "") + ch;
385
+ setNativeValue(target, next);
386
+ try {
387
+ target.dispatchEvent(new InputEvent("input", { bubbles: true, composed: true, data: ch, inputType: "insertText" }));
388
+ } catch (_e) {
389
+ target.dispatchEvent(new Event("input", { bubbles: true, composed: true }));
390
+ }
391
+ fireKey(target, "keyup", ch);
392
+ if (delay > 0) return sleep(delay).then(stepOne);
393
+ return Promise.resolve().then(stepOne);
394
+ };
395
+
396
+ return stepOne().then(() => {
397
+ target.dispatchEvent(new Event("change", { bubbles: true, composed: true }));
398
+ });
399
+ };
400
+
401
+ const setFileInput = async (target, url, options) => {
402
+ if (!target || target.tagName !== "INPUT" || target.type !== "file") {
403
+ throw new Error("setFileInput requires an HTMLInputElement of type=file");
404
+ }
405
+ const opts = options || {};
406
+ const response = await fetch(url, { credentials: "omit" });
407
+ if (!response.ok) {
408
+ throw new Error("setFileInput fetch failed: HTTP " + response.status);
409
+ }
410
+ const blob = await response.blob();
411
+ const mimeType = opts.mimeType || blob.type || "application/octet-stream";
412
+ const ext = (() => {
413
+ if (/png/i.test(mimeType)) return "png";
414
+ if (/jpe?g/i.test(mimeType)) return "jpg";
415
+ if (/webp/i.test(mimeType)) return "webp";
416
+ if (/gif/i.test(mimeType)) return "gif";
417
+ return "bin";
418
+ })();
419
+ const fileName = opts.fileName || "upload-" + Date.now() + "." + ext;
420
+ const file = new File([blob], fileName, { type: mimeType });
421
+ // The DataTransfer constructor is supported in WebKit, Blink, and
422
+ // Gecko; this is the standard "set <input type=file> from script"
423
+ // workaround. Direct .files= assignment is sandbox-blocked.
424
+ const dt = new DataTransfer();
425
+ dt.items.add(file);
426
+ target.files = dt.files;
427
+ try { target.focus({ preventScroll: true }); } catch (_e) {}
428
+ target.dispatchEvent(new Event("input", { bubbles: true, composed: true }));
429
+ target.dispatchEvent(new Event("change", { bubbles: true, composed: true }));
430
+ return { name: file.name, size: file.size, type: file.type };
431
+ };
432
+
433
+ kit = {
434
+ cursor: {
435
+ moveTo: moveTo,
436
+ click: clickAt,
437
+ highlight: highlight,
438
+ show: showCursor,
439
+ hide: hideCursor,
440
+ },
441
+ dispatchPointerSequence: dispatchPointerSequence,
442
+ typeRealistic: typeRealistic,
443
+ setFileInput: setFileInput,
444
+ };
445
+ window.__elizaTabKit = kit;
446
+ return kit;
447
+ };
448
+
449
+ // Defer first-time installation until the document is parseable.
450
+ if (document && document.documentElement) {
451
+ ensureKit();
452
+ } else if (typeof document !== "undefined") {
453
+ document.addEventListener("DOMContentLoaded", () => ensureKit(), { once: true });
454
+ }
455
+ // Also re-install after navigations within the same OOPIF (in case the
456
+ // document was replaced and our cursor root went with it).
457
+ if (typeof window !== "undefined") {
458
+ window.addEventListener("pageshow", () => ensureKit());
459
+ }
460
+
461
+ // ── Wallet provider shims ────────────────────────────────────────────
462
+ // Inject EIP-1193 (window.ethereum) and Phantom-shaped (window.solana,
463
+ // window.phantom.solana) wallet adapters that route every call through
464
+ // __electrobunSendToHost to the React host, which forwards to the
465
+ // existing client.sendBrowserWalletTransaction /
466
+ // client.sendBrowserSolanaTransaction / etc. The host calls back into
467
+ // the tab via tag.executeJavascript("window.__elizaWalletReply(...)")
468
+ // to deliver responses.
469
+ //
470
+ // Without this, launchpad pages in our <electrobun-webview> tabs see no
471
+ // wallet provider and refuse to connect.
472
+ if (typeof window !== "undefined" && !window.__elizaWalletInstalled) {
473
+ window.__elizaWalletInstalled = true;
474
+
475
+ const walletPending = new Map();
476
+ let nextWalletReq = 1;
477
+
478
+ window.__elizaWalletReply = (requestId, payload) => {
479
+ const entry = walletPending.get(requestId);
480
+ if (!entry) return;
481
+ walletPending.delete(requestId);
482
+ if (payload && typeof payload === "object" && payload.error) {
483
+ entry.reject(new Error(String(payload.error)));
484
+ } else {
485
+ entry.resolve(payload && typeof payload === "object" ? payload.result : payload);
486
+ }
487
+ };
488
+
489
+ const callHost = (protocol, method, params) =>
490
+ new Promise((resolve, reject) => {
491
+ if (typeof window.__electrobunSendToHost !== "function") {
492
+ reject(new Error("Wallet bridge unavailable: not running in an Eliza tab."));
493
+ return;
494
+ }
495
+ const requestId = nextWalletReq++;
496
+ walletPending.set(requestId, { resolve: resolve, reject: reject });
497
+ // Include the page's origin/hostname so the host can show a
498
+ // "<domain> wants to ..." consent dialog without an extra eval
499
+ // round-trip.
500
+ let originValue;
501
+ let hostnameValue;
502
+ try {
503
+ originValue = location.origin;
504
+ hostnameValue = location.hostname;
505
+ } catch (_e) {
506
+ originValue = "";
507
+ hostnameValue = "";
508
+ }
509
+ window.__electrobunSendToHost({
510
+ type: "__elizaWalletRequest",
511
+ requestId: requestId,
512
+ protocol: protocol,
513
+ method: method,
514
+ params: params,
515
+ origin: originValue,
516
+ hostname: hostnameValue,
517
+ });
518
+ });
519
+
520
+ // Shared wallet-picker icon. Inline so wallet discovery never depends on
521
+ // network availability.
522
+ const ELIZA_WALLET_ICON =
523
+ "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj48cmVjdCB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHJ4PSI2IiBmaWxsPSIjNmY1Y2ZmIi8+PHRleHQgeD0iNTAlIiB5PSI2OCUiIGZvbnQtZmFtaWx5PSItYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxzYW5zLXNlcmlmIiBmb250LXNpemU9IjE2IiBmb250LXdlaWdodD0iNzAwIiBmaWxsPSIjZmZmIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5NPC90ZXh0Pjwvc3ZnPg==";
524
+
525
+ // ── EIP-1193 ──
526
+ const DEFAULT_EVM_RPCS = {
527
+ "1": "https://eth.llamarpc.com",
528
+ "56": "https://bsc-dataseed.bnbchain.org",
529
+ "8453": "https://mainnet.base.org",
530
+ "10": "https://mainnet.optimism.io",
531
+ "42161": "https://arb1.arbitrum.io/rpc",
532
+ "137": "https://polygon-rpc.com",
533
+ };
534
+ const SUPPORTED_EVM_CHAIN_IDS = Object.keys(DEFAULT_EVM_RPCS);
535
+ let evmChainId = 1;
536
+ const parseChainId = (value) => {
537
+ if (typeof value === "number" && Number.isFinite(value)) return value;
538
+ if (typeof value !== "string") return null;
539
+ const trimmed = value.trim();
540
+ if (!trimmed) return null;
541
+ const parsed = trimmed.startsWith("0x") ? Number.parseInt(trimmed.slice(2), 16) : Number(trimmed);
542
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : null;
543
+ };
544
+ const formatChainId = (value) => "0x" + value.toString(16);
545
+ const isSupportedEvmChainId = (value) => SUPPORTED_EVM_CHAIN_IDS.indexOf(String(value)) >= 0;
546
+ const unsupportedEvmChainError = (value) =>
547
+ "Unsupported EVM chain " + value + ". Supported chain IDs: " + SUPPORTED_EVM_CHAIN_IDS.join(", ") + ".";
548
+ const rpc = (method, params) => {
549
+ const rpcUrl = DEFAULT_EVM_RPCS[String(evmChainId)];
550
+ if (!rpcUrl) {
551
+ return Promise.reject(new Error("No public RPC configured for chain " + evmChainId + "."));
552
+ }
553
+ return fetch(rpcUrl, {
554
+ method: "POST",
555
+ headers: { "Content-Type": "application/json" },
556
+ body: JSON.stringify({
557
+ jsonrpc: "2.0",
558
+ id: Date.now(),
559
+ method: method,
560
+ params: params || [],
561
+ }),
562
+ })
563
+ .then((r) => r.json())
564
+ .then((payload) => {
565
+ if (payload && payload.error) {
566
+ throw new Error(payload.error.message || "RPC request failed.");
567
+ }
568
+ return payload ? payload.result : null;
569
+ });
570
+ };
571
+ const eventListeners = { accountsChanged: new Set(), chainChanged: new Set(), connect: new Set(), disconnect: new Set() };
572
+ const ethereum = {
573
+ isMetaMask: true,
574
+ isEliza: true,
575
+ isElizaWallet: true,
576
+ selectedAddress: null,
577
+ chainId: formatChainId(evmChainId),
578
+ _events: eventListeners,
579
+ request: (args) => {
580
+ if (!args || typeof args.method !== "string") {
581
+ return Promise.reject(new Error("EIP-1193 request requires {method, params}"));
582
+ }
583
+ const method = args.method;
584
+ const params = args.params;
585
+ if (method === "eth_chainId") {
586
+ return Promise.resolve(formatChainId(evmChainId));
587
+ }
588
+ if (method === "net_version") {
589
+ return Promise.resolve(String(evmChainId));
590
+ }
591
+ if (method === "wallet_addEthereumChain") {
592
+ const arr = Array.isArray(params) ? params : [params];
593
+ const next = arr[0] && typeof arr[0] === "object" ? parseChainId(arr[0].chainId) : null;
594
+ if (next && isSupportedEvmChainId(next)) {
595
+ evmChainId = next;
596
+ ethereum.chainId = formatChainId(evmChainId);
597
+ }
598
+ return Promise.resolve(null);
599
+ }
600
+ if (method === "wallet_switchEthereumChain") {
601
+ const arr = Array.isArray(params) ? params : [params];
602
+ const next = arr[0] && typeof arr[0] === "object" ? parseChainId(arr[0].chainId) : null;
603
+ if (!next) {
604
+ return Promise.reject(new Error("wallet_switchEthereumChain requires a valid chainId."));
605
+ }
606
+ if (!isSupportedEvmChainId(next)) {
607
+ return Promise.reject(new Error(unsupportedEvmChainError(next)));
608
+ }
609
+ return callHost("evm", method, params).then((result) => {
610
+ evmChainId = next;
611
+ ethereum.chainId = formatChainId(evmChainId);
612
+ for (const listener of Array.from(eventListeners.chainChanged)) {
613
+ try { listener(ethereum.chainId); } catch (_e) {}
614
+ }
615
+ return result;
616
+ });
617
+ }
618
+ if (method === "eth_requestAccounts") {
619
+ return callHost("evm", method, params).then((accounts) => {
620
+ ethereum.selectedAddress = Array.isArray(accounts) ? (accounts[0] || null) : null;
621
+ for (const listener of Array.from(eventListeners.accountsChanged)) {
622
+ try { listener(accounts); } catch (_e) {}
623
+ }
624
+ if (ethereum.selectedAddress) {
625
+ for (const listener of Array.from(eventListeners.connect)) {
626
+ try { listener({ chainId: ethereum.chainId }); } catch (_e) {}
627
+ }
628
+ }
629
+ return accounts;
630
+ });
631
+ }
632
+ if (
633
+ method === "eth_accounts" ||
634
+ method === "personal_sign" ||
635
+ method === "eth_sign" ||
636
+ method === "eth_sendTransaction" ||
637
+ method === "eth_signTypedData" ||
638
+ method === "eth_signTypedData_v3" ||
639
+ method === "eth_signTypedData_v4"
640
+ ) {
641
+ return callHost("evm", method, params);
642
+ }
643
+ return rpc(method, params);
644
+ },
645
+ enable: function () {
646
+ return this.request({ method: "eth_requestAccounts" });
647
+ },
648
+ send: function (methodOrPayload, paramsOrCallback) {
649
+ // Legacy send shapes — best-effort polyfill.
650
+ if (typeof methodOrPayload === "string") {
651
+ return this.request({ method: methodOrPayload, params: paramsOrCallback });
652
+ }
653
+ if (methodOrPayload && typeof methodOrPayload === "object") {
654
+ return this.request({ method: methodOrPayload.method, params: methodOrPayload.params });
655
+ }
656
+ return Promise.reject(new Error("Unsupported send shape."));
657
+ },
658
+ sendAsync: function (payload, callback) {
659
+ this.request({ method: payload.method, params: payload.params })
660
+ .then((result) => callback(null, { jsonrpc: "2.0", id: payload.id, result: result }))
661
+ .catch((err) => callback(err, null));
662
+ },
663
+ on: (event, listener) => {
664
+ const set = eventListeners[event];
665
+ if (set) set.add(listener);
666
+ },
667
+ removeListener: (event, listener) => {
668
+ const set = eventListeners[event];
669
+ if (set) set.delete(listener);
670
+ },
671
+ };
672
+
673
+ window.__elizaWalletEmit = (event, payload) => {
674
+ const set = eventListeners[event];
675
+ if (!set) return;
676
+ for (const listener of Array.from(set)) {
677
+ try { listener(payload); } catch (_e) {}
678
+ }
679
+ };
680
+
681
+ try {
682
+ Object.defineProperty(window, "ethereum", {
683
+ value: ethereum,
684
+ writable: true,
685
+ configurable: true,
686
+ });
687
+ } catch (_err) {
688
+ // Some pages freeze window.ethereum after their wallet detected it;
689
+ // fall back to direct assignment when defineProperty is blocked.
690
+ try { window.ethereum = ethereum; } catch (_e) {}
691
+ }
692
+
693
+ // ── Solana (Phantom-shaped + Wallet Standard) ──
694
+ const solanaListeners = { connect: new Set(), disconnect: new Set(), accountChanged: new Set() };
695
+ const B58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
696
+ const base58Decode = (value) => {
697
+ const bytes = [0];
698
+ for (let i = 0; i < value.length; i += 1) {
699
+ const c = B58.indexOf(value[i]);
700
+ if (c < 0) throw new Error("invalid base58");
701
+ let carry = c;
702
+ for (let j = 0; j < bytes.length; j += 1) {
703
+ carry += bytes[j] * 58;
704
+ bytes[j] = carry & 0xff;
705
+ carry >>= 8;
706
+ }
707
+ while (carry) {
708
+ bytes.push(carry & 0xff);
709
+ carry >>= 8;
710
+ }
711
+ }
712
+ for (let k = 0; k < value.length && value[k] === "1"; k += 1) bytes.push(0);
713
+ return new Uint8Array(bytes.reverse());
714
+ };
715
+ const base64ToBytes = (base64) => {
716
+ const bin = atob(base64);
717
+ const bytes = new Uint8Array(bin.length);
718
+ for (let i = 0; i < bin.length; i += 1) bytes[i] = bin.charCodeAt(i);
719
+ return bytes;
720
+ };
721
+ const bytesToBase64 = (bytes) => {
722
+ let binary = "";
723
+ for (let i = 0; i < bytes.length; i += 1) binary += String.fromCharCode(bytes[i]);
724
+ return btoa(binary);
725
+ };
726
+ const normalizeSolanaCluster = (value) => {
727
+ if (typeof value !== "string") return null;
728
+ const lower = value.toLowerCase();
729
+ if (lower.indexOf("devnet") >= 0) return "devnet";
730
+ if (lower.indexOf("testnet") >= 0) return "testnet";
731
+ if (lower.indexOf("mainnet") >= 0) return "mainnet";
732
+ return null;
733
+ };
734
+ const makeSolanaHostParams = (transactionBase64, context) => {
735
+ const chain =
736
+ context && typeof context.chain === "string" && context.chain.trim()
737
+ ? context.chain.trim()
738
+ : null;
739
+ const cluster =
740
+ normalizeSolanaCluster(context && context.cluster) ||
741
+ normalizeSolanaCluster(chain) ||
742
+ normalizeSolanaCluster(context && context.network) ||
743
+ normalizeSolanaCluster(context && context.rpcEndpoint);
744
+ const params = { transactionBase64: transactionBase64 };
745
+ if (cluster) params.cluster = cluster;
746
+ if (chain) params.chain = chain;
747
+ if (context && typeof context.description === "string" && context.description.trim()) {
748
+ params.description = context.description.trim();
749
+ } else if (chain) {
750
+ params.description = "Solana transaction on " + chain;
751
+ } else if (cluster) {
752
+ params.description = "Solana transaction on " + cluster;
753
+ }
754
+ return params;
755
+ };
756
+ const getSolanaTransactionContext = (transaction, options) => {
757
+ const context = {};
758
+ const candidates = [options, transaction];
759
+ for (const candidate of candidates) {
760
+ if (!candidate || typeof candidate !== "object") continue;
761
+ if (typeof candidate.chain === "string") context.chain = candidate.chain;
762
+ if (typeof candidate.cluster === "string") context.cluster = candidate.cluster;
763
+ if (typeof candidate.network === "string") context.network = candidate.network;
764
+ if (typeof candidate.rpcEndpoint === "string") context.rpcEndpoint = candidate.rpcEndpoint;
765
+ if (typeof candidate.description === "string") context.description = candidate.description;
766
+ }
767
+ return context;
768
+ };
769
+ const makePublicKey = (base58) => {
770
+ if (!base58) return null;
771
+ const bytes = base58Decode(base58);
772
+ const obj = {
773
+ toBase58: () => base58,
774
+ toString: () => base58,
775
+ toBytes: () => new Uint8Array(bytes),
776
+ toBuffer: () => new Uint8Array(bytes),
777
+ equals: (other) => other && typeof other.toBase58 === "function" && other.toBase58() === base58,
778
+ };
779
+ return obj;
780
+ };
781
+ const solana = {
782
+ isPhantom: true,
783
+ isEliza: true,
784
+ publicKey: null,
785
+ isConnected: false,
786
+ connect: async function (options) {
787
+ const _options = options;
788
+ const result = await callHost("solana", "connect", null);
789
+ if (result && typeof result.publicKey === "string") {
790
+ this.publicKey = makePublicKey(result.publicKey);
791
+ this.isConnected = true;
792
+ for (const listener of Array.from(solanaListeners.connect)) {
793
+ try { listener(this.publicKey); } catch (_e) {}
794
+ }
795
+ }
796
+ return { publicKey: this.publicKey };
797
+ },
798
+ disconnect: async function () {
799
+ this.publicKey = null;
800
+ this.isConnected = false;
801
+ for (const listener of Array.from(solanaListeners.disconnect)) {
802
+ try { listener(); } catch (_e) {}
803
+ }
804
+ },
805
+ signMessage: async function (message, _encoding) {
806
+ const bytes = message instanceof Uint8Array ? message : new TextEncoder().encode(String(message));
807
+ const messageBase64 = bytesToBase64(bytes);
808
+ const result = await callHost("solana", "signMessage", { messageBase64: messageBase64 });
809
+ if (!result || typeof result.signatureBase64 !== "string") {
810
+ throw new Error("Solana signMessage returned no signature.");
811
+ }
812
+ return { signature: base64ToBytes(result.signatureBase64), publicKey: this.publicKey };
813
+ },
814
+ signTransaction: async function (transaction, options) {
815
+ const transactionBase64 = await serializeTransactionForHost(transaction);
816
+ const result = await callHost("solana", "signTransaction", makeSolanaHostParams(transactionBase64, getSolanaTransactionContext(transaction, options)));
817
+ if (!result || typeof result.signedTransactionBase64 !== "string") {
818
+ throw new Error("Solana signTransaction returned no signed tx.");
819
+ }
820
+ return deserializeTransactionFromHost(result.signedTransactionBase64, transaction);
821
+ },
822
+ signAndSendTransaction: async function (transaction, options) {
823
+ const transactionBase64 = await serializeTransactionForHost(transaction);
824
+ const result = await callHost("solana", "signAndSendTransaction", makeSolanaHostParams(transactionBase64, getSolanaTransactionContext(transaction, options)));
825
+ if (!result || typeof result.signature !== "string") {
826
+ throw new Error("Solana signAndSendTransaction returned no signature.");
827
+ }
828
+ return { signature: result.signature };
829
+ },
830
+ signAllTransactions: async function (transactions) {
831
+ const out = [];
832
+ for (const tx of transactions) {
833
+ out.push(await this.signTransaction(tx));
834
+ }
835
+ return out;
836
+ },
837
+ on: (event, listener) => {
838
+ const set = solanaListeners[event];
839
+ if (set) set.add(listener);
840
+ },
841
+ off: (event, listener) => {
842
+ const set = solanaListeners[event];
843
+ if (set) set.delete(listener);
844
+ },
845
+ removeListener: (event, listener) => {
846
+ const set = solanaListeners[event];
847
+ if (set) set.delete(listener);
848
+ },
849
+ };
850
+
851
+ // Helper: serialize a Solana Transaction-like object to base64. We
852
+ // accept a few common shapes — the launchpad usually hands us either
853
+ // a VersionedTransaction (has .serialize()) or a legacy Transaction
854
+ // (has .serialize({verifySignatures:false})).
855
+ async function serializeTransactionForHost(transaction) {
856
+ if (!transaction) throw new Error("signTransaction requires a transaction");
857
+ try {
858
+ let bytes;
859
+ if (typeof transaction.serialize === "function") {
860
+ // Legacy Transaction.serialize() throws if signatures aren't
861
+ // present yet; pass {verifySignatures:false}. VersionedTransaction
862
+ // ignores the option so it's safe either way.
863
+ bytes = transaction.serialize({ verifySignatures: false, requireAllSignatures: false });
864
+ } else if (transaction instanceof Uint8Array) {
865
+ bytes = transaction;
866
+ } else {
867
+ throw new Error("Unsupported transaction shape for Eliza wallet bridge");
868
+ }
869
+ return bytesToBase64(bytes);
870
+ } catch (err) {
871
+ throw err instanceof Error ? err : new Error(String(err));
872
+ }
873
+ }
874
+
875
+ // Best-effort: hand the signed bytes back as the same transaction class
876
+ // the caller gave us. Wallet adapters expect Phantom's signTransaction to
877
+ // return a Transaction/VersionedTransaction, not only serialized bytes.
878
+ function deserializeTransactionFromHost(base64, original) {
879
+ const bytes = base64ToBytes(base64);
880
+ const ctor = original && original.constructor;
881
+ try {
882
+ if (ctor && typeof ctor.deserialize === "function") {
883
+ return ctor.deserialize(bytes);
884
+ }
885
+ } catch (_err) {}
886
+ try {
887
+ if (ctor && typeof ctor.from === "function") {
888
+ return ctor.from(bytes);
889
+ }
890
+ } catch (_err) {}
891
+ return {
892
+ serialize: () => bytes,
893
+ __signedBytes: bytes,
894
+ };
895
+ }
896
+
897
+ function makeWalletStandardAccount(publicKeyString) {
898
+ const publicKey = base58Decode(publicKeyString);
899
+ return {
900
+ address: publicKeyString,
901
+ publicKey: publicKey,
902
+ chains: ["solana:mainnet", "solana:devnet", "solana:testnet"],
903
+ features: [
904
+ "standard:connect",
905
+ "standard:disconnect",
906
+ "standard:events",
907
+ "solana:signMessage",
908
+ "solana:signTransaction",
909
+ "solana:signAndSendTransaction",
910
+ ],
911
+ label: "Eliza Wallet",
912
+ };
913
+ }
914
+
915
+ function registerWalletStandard() {
916
+ let account = null;
917
+ const ensureAccount = async () => {
918
+ if (!solana.publicKey || !solana.isConnected) {
919
+ await solana.connect();
920
+ }
921
+ const address = solana.publicKey && solana.publicKey.toBase58();
922
+ if (!address) throw new Error("Solana wallet did not connect.");
923
+ account = makeWalletStandardAccount(address);
924
+ return account;
925
+ };
926
+ const wallet = {
927
+ version: "1.0.0",
928
+ name: "Eliza Wallet",
929
+ icon: ELIZA_WALLET_ICON,
930
+ chains: ["solana:mainnet", "solana:devnet", "solana:testnet"],
931
+ get accounts() {
932
+ return account ? [account] : [];
933
+ },
934
+ features: {
935
+ "standard:connect": {
936
+ version: "1.0.0",
937
+ connect: async () => ({ accounts: [await ensureAccount()] }),
938
+ },
939
+ "standard:disconnect": {
940
+ version: "1.0.0",
941
+ disconnect: async () => {
942
+ await solana.disconnect();
943
+ account = null;
944
+ },
945
+ },
946
+ "standard:events": {
947
+ version: "1.0.0",
948
+ on: (event, listener) => {
949
+ if (event === "change") {
950
+ solanaListeners.accountChanged.add(listener);
951
+ return () => solanaListeners.accountChanged.delete(listener);
952
+ }
953
+ return () => {};
954
+ },
955
+ },
956
+ "solana:signMessage": {
957
+ version: "1.0.0",
958
+ signMessage: async (input) => {
959
+ await ensureAccount();
960
+ const inputs = Array.isArray(input) ? input : [input];
961
+ return Promise.all(inputs.map(async (entry) => {
962
+ const result = await callHost("solana", "signMessage", {
963
+ messageBase64: bytesToBase64(entry.message),
964
+ });
965
+ return {
966
+ signedMessage: entry.message,
967
+ signature: base64ToBytes(result.signatureBase64),
968
+ signatureType: "ed25519",
969
+ };
970
+ }));
971
+ },
972
+ },
973
+ "solana:signTransaction": {
974
+ version: "1.0.0",
975
+ supportedTransactionVersions: ["legacy", 0],
976
+ signTransaction: async (input) => {
977
+ await ensureAccount();
978
+ const inputs = Array.isArray(input) ? input : [input];
979
+ return Promise.all(inputs.map(async (entry) => {
980
+ const result = await callHost("solana", "signTransaction", {
981
+ transactionBase64: bytesToBase64(entry.transaction),
982
+ ...(entry.chain ? { chain: entry.chain } : {}),
983
+ ...(normalizeSolanaCluster(entry.chain) ? { cluster: normalizeSolanaCluster(entry.chain) } : {}),
984
+ ...(entry.chain ? { description: "Wallet Standard transaction on " + entry.chain } : {}),
985
+ });
986
+ return { signedTransaction: base64ToBytes(result.signedTransactionBase64) };
987
+ }));
988
+ },
989
+ },
990
+ "solana:signAndSendTransaction": {
991
+ version: "1.0.0",
992
+ supportedTransactionVersions: ["legacy", 0],
993
+ signAndSendTransaction: async (input) => {
994
+ await ensureAccount();
995
+ const inputs = Array.isArray(input) ? input : [input];
996
+ return Promise.all(inputs.map(async (entry) => {
997
+ const result = await callHost("solana", "signAndSendTransaction", {
998
+ transactionBase64: bytesToBase64(entry.transaction),
999
+ ...(entry.chain ? { chain: entry.chain } : {}),
1000
+ ...(normalizeSolanaCluster(entry.chain) ? { cluster: normalizeSolanaCluster(entry.chain) } : {}),
1001
+ ...(entry.chain ? { description: "Wallet Standard transaction on " + entry.chain } : {}),
1002
+ });
1003
+ return { signature: base58Decode(result.signature) };
1004
+ }));
1005
+ },
1006
+ },
1007
+ },
1008
+ };
1009
+ const register = (api) => {
1010
+ try {
1011
+ api.register(wallet);
1012
+ } catch (_err) {}
1013
+ };
1014
+ const fireRegister = () => {
1015
+ try {
1016
+ window.dispatchEvent(new CustomEvent("wallet-standard:register-wallet", { detail: register }));
1017
+ } catch (_err) {}
1018
+ };
1019
+ try {
1020
+ window.addEventListener("wallet-standard:app-ready", (event) => {
1021
+ if (event && event.detail) register(event.detail);
1022
+ });
1023
+ } catch (_err) {}
1024
+ fireRegister();
1025
+ if (document.readyState === "loading") {
1026
+ document.addEventListener("DOMContentLoaded", fireRegister, { once: true });
1027
+ }
1028
+ window.addEventListener("load", fireRegister);
1029
+ }
1030
+
1031
+ registerWalletStandard();
1032
+
1033
+ try {
1034
+ Object.defineProperty(window, "solana", {
1035
+ value: solana,
1036
+ writable: true,
1037
+ configurable: true,
1038
+ });
1039
+ } catch (_err) {
1040
+ try { window.solana = solana; } catch (_e) {}
1041
+ }
1042
+ try {
1043
+ const phantomNs = window.phantom || {};
1044
+ phantomNs.solana = solana;
1045
+ window.phantom = phantomNs;
1046
+ } catch (_err) {}
1047
+
1048
+ // Announce the provider per EIP-6963 (https://eips.ethereum.org/EIPS/eip-6963).
1049
+ // Keys:
1050
+ // uuid — stable per-installation identifier; we use a fixed value
1051
+ // because dApps key wallet selection on it. Changing this would
1052
+ // make every dApp forget the user's previous choice.
1053
+ // rdns — reverse-DNS namespace for the wallet brand.
1054
+ const announceEthereum = () => {
1055
+ try {
1056
+ const detail = Object.freeze({
1057
+ info: Object.freeze({
1058
+ name: "Eliza",
1059
+ uuid: "ai.eliza.wallet:1",
1060
+ icon: ELIZA_WALLET_ICON,
1061
+ rdns: "ai.eliza.wallet",
1062
+ }),
1063
+ provider: ethereum,
1064
+ });
1065
+ window.dispatchEvent(new CustomEvent("eip6963:announceProvider", { detail: detail }));
1066
+ } catch (_err) {}
1067
+ };
1068
+ window.addEventListener("eip6963:requestProvider", announceEthereum);
1069
+ setTimeout(announceEthereum, 0);
1070
+ }
1071
+
1072
+ // ── Vault autofill shim ─────────────────────────────────────────────
1073
+ // Detect login forms on each tab page, ask the host to look up saved
1074
+ // credentials for the current domain, and (with user consent) fill the
1075
+ // username/password inputs. Mirrors the wallet shim's request/reply
1076
+ // pattern: tab→host via __electrobunSendToHost; host→tab via
1077
+ // tag.executeJavascript("window.__elizaVaultReply(...)").
1078
+ //
1079
+ // The host (BrowserWorkspaceView) is responsible for showing a consent
1080
+ // prompt before returning credentials. The tab never autofills without
1081
+ // a host response carrying explicit field values.
1082
+ if (typeof window !== "undefined" && !window.__elizaVaultInstalled) {
1083
+ window.__elizaVaultInstalled = true;
1084
+
1085
+ const vaultPending = new Map();
1086
+ let nextVaultReq = 1;
1087
+
1088
+ window.__elizaVaultReply = (requestId, payload) => {
1089
+ const entry = vaultPending.get(requestId);
1090
+ if (!entry) return;
1091
+ vaultPending.delete(requestId);
1092
+ try {
1093
+ if (payload && typeof payload === "object" && payload.error) {
1094
+ entry.reject(new Error(String(payload.error)));
1095
+ return;
1096
+ }
1097
+ entry.resolve(payload && typeof payload === "object" ? payload : null);
1098
+ } catch (_e) {
1099
+ // Listener errors must not bubble up into the tab page.
1100
+ }
1101
+ };
1102
+
1103
+ function cssSelectorFor(el) {
1104
+ if (!el || el.nodeType !== 1) return null;
1105
+ if (el.id) {
1106
+ // Document.querySelector('#…') only works when the id is a valid
1107
+ // selector token. For complex ids fall through to the structural
1108
+ // path so we never produce an unparsable selector.
1109
+ if (/^[A-Za-z][A-Za-z0-9_-]*$/.test(el.id)) {
1110
+ return "#" + el.id;
1111
+ }
1112
+ }
1113
+ const parts = [];
1114
+ let node = el;
1115
+ let depth = 0;
1116
+ while (node && node.nodeType === 1 && depth < 6) {
1117
+ let part = node.tagName.toLowerCase();
1118
+ const parent = node.parentElement;
1119
+ if (parent) {
1120
+ const sameTag = Array.from(parent.children).filter(
1121
+ (c) => c.tagName === node.tagName,
1122
+ );
1123
+ if (sameTag.length > 1) {
1124
+ const idx = sameTag.indexOf(node) + 1;
1125
+ part += ":nth-of-type(" + idx + ")";
1126
+ }
1127
+ }
1128
+ parts.unshift(part);
1129
+ if (parent === document.body || !parent) break;
1130
+ node = parent;
1131
+ depth += 1;
1132
+ }
1133
+ return parts.join(" > ");
1134
+ }
1135
+
1136
+ function findPrecedingTextInput(passwordInput) {
1137
+ // Walk previous form-field siblings/ancestors looking for a text
1138
+ // or email input that's likely the username.
1139
+ const root = passwordInput.form || document.body;
1140
+ const candidates = root.querySelectorAll(
1141
+ 'input[type="text"], input[type="email"], input:not([type])',
1142
+ );
1143
+ let lastBefore = null;
1144
+ for (const el of candidates) {
1145
+ if (
1146
+ el.compareDocumentPosition(passwordInput) &
1147
+ Node.DOCUMENT_POSITION_FOLLOWING
1148
+ ) {
1149
+ lastBefore = el;
1150
+ }
1151
+ }
1152
+ return lastBefore;
1153
+ }
1154
+
1155
+ function setNativeInputValue(input, value) {
1156
+ // React (and other VDOM frameworks) overrides the value setter on
1157
+ // HTMLInputElement.prototype to track changes. Calling the prototype
1158
+ // setter directly bypasses that, then dispatching input + change
1159
+ // events re-notifies the framework so controlled inputs see the
1160
+ // update.
1161
+ const proto = Object.getPrototypeOf(input);
1162
+ const desc = Object.getOwnPropertyDescriptor(proto, "value");
1163
+ if (desc && typeof desc.set === "function") {
1164
+ desc.set.call(input, value);
1165
+ } else {
1166
+ input.value = value;
1167
+ }
1168
+ input.dispatchEvent(new Event("input", { bubbles: true }));
1169
+ input.dispatchEvent(new Event("change", { bubbles: true }));
1170
+ }
1171
+
1172
+ function fillFields(fields) {
1173
+ if (!fields || typeof fields !== "object") return;
1174
+ for (const selector of Object.keys(fields)) {
1175
+ const value = fields[selector];
1176
+ if (typeof value !== "string" || value.length === 0) continue;
1177
+ let target = null;
1178
+ try {
1179
+ target = document.querySelector(selector);
1180
+ } catch (_e) {
1181
+ target = null;
1182
+ }
1183
+ if (!target) continue;
1184
+ setNativeInputValue(target, value);
1185
+ }
1186
+ }
1187
+
1188
+ const callHost = (domain, url, fieldHints) =>
1189
+ new Promise((resolve, reject) => {
1190
+ if (typeof window.__electrobunSendToHost !== "function") {
1191
+ reject(
1192
+ new Error("Vault autofill bridge unavailable: not in an Eliza tab."),
1193
+ );
1194
+ return;
1195
+ }
1196
+ const requestId = nextVaultReq++;
1197
+ vaultPending.set(requestId, { resolve: resolve, reject: reject });
1198
+ window.__electrobunSendToHost({
1199
+ type: "__elizaVaultAutofillRequest",
1200
+ requestId: requestId,
1201
+ domain: domain,
1202
+ url: url,
1203
+ fieldHints: fieldHints,
1204
+ });
1205
+ });
1206
+
1207
+ function scanLoginForms() {
1208
+ const passwords = document.querySelectorAll(
1209
+ 'input[type="password"]:not([data-eliza-vault-scanned])',
1210
+ );
1211
+ for (const pw of passwords) {
1212
+ pw.setAttribute("data-eliza-vault-scanned", "1");
1213
+ const form = pw.form;
1214
+ const userInput =
1215
+ (form &&
1216
+ form.querySelector(
1217
+ 'input[type="email"], input[name*="user" i], input[name*="email" i], input[name*="login" i]',
1218
+ )) ||
1219
+ findPrecedingTextInput(pw);
1220
+ const fieldHints = [];
1221
+ const pwSelector = cssSelectorFor(pw);
1222
+ if (userInput) {
1223
+ const userSelector = cssSelectorFor(userInput);
1224
+ if (userSelector) {
1225
+ fieldHints.push({ kind: "username", selector: userSelector });
1226
+ }
1227
+ }
1228
+ if (pwSelector) {
1229
+ fieldHints.push({ kind: "password", selector: pwSelector });
1230
+ }
1231
+ if (fieldHints.length === 0) continue;
1232
+ callHost(location.hostname, location.href, fieldHints)
1233
+ .then((payload) => {
1234
+ if (payload && payload.fields) fillFields(payload.fields);
1235
+ })
1236
+ .catch(() => {
1237
+ // User denied, no match, or bridge unavailable. Leave fields
1238
+ // alone so the user can type credentials manually.
1239
+ });
1240
+ }
1241
+ }
1242
+
1243
+ let scanTimer = null;
1244
+ function ensureVaultScan() {
1245
+ if (scanTimer) clearTimeout(scanTimer);
1246
+ scanTimer = setTimeout(() => {
1247
+ scanTimer = null;
1248
+ scanLoginForms();
1249
+ }, 250);
1250
+ }
1251
+
1252
+ if (typeof window !== "undefined") {
1253
+ window.addEventListener("pageshow", ensureVaultScan);
1254
+ }
1255
+ if (typeof MutationObserver === "function" && document.documentElement) {
1256
+ const obs = new MutationObserver(ensureVaultScan);
1257
+ obs.observe(document.documentElement, {
1258
+ childList: true,
1259
+ subtree: true,
1260
+ });
1261
+ }
1262
+ if (document && document.readyState !== "loading") {
1263
+ ensureVaultScan();
1264
+ } else if (typeof document !== "undefined") {
1265
+ document.addEventListener("DOMContentLoaded", () => ensureVaultScan(), {
1266
+ once: true,
1267
+ });
1268
+ }
1269
+ }
1270
+ })();
1271
+ `;
1272
+ export function setBrowserTabsRendererImpl(impl) {
1273
+ if (typeof window === "undefined")
1274
+ return;
1275
+ if (impl) {
1276
+ window[REGISTRY_KEY] = impl;
1277
+ }
1278
+ else {
1279
+ delete window[REGISTRY_KEY];
1280
+ }
1281
+ }
1282
+ //# sourceMappingURL=browser-tabs-renderer-registry.js.map