@elizaos/shared 2.0.0-alpha.538 → 2.0.11-beta.7

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 (729) 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/api/route-helpers.js +2 -0
  12. package/api/route-helpers.js.map +1 -0
  13. package/app-hero-art.d.ts.map +1 -1
  14. package/app-hero-art.js +5 -13
  15. package/app-hero-art.js.map +1 -1
  16. package/brand/index.d.ts +130 -0
  17. package/brand/index.d.ts.map +1 -0
  18. package/brand/index.js +126 -0
  19. package/brand/index.js.map +1 -0
  20. package/brand-classic/index.d.ts +158 -0
  21. package/brand-classic/index.d.ts.map +1 -0
  22. package/brand-classic/index.js +91 -0
  23. package/brand-classic/index.js.map +1 -0
  24. package/character-language.d.ts +16 -0
  25. package/character-language.d.ts.map +1 -0
  26. package/character-language.js +58 -0
  27. package/character-language.js.map +1 -0
  28. package/{onboarding-presets.characters.d.ts → character-presets.characters.d.ts} +2 -2
  29. package/character-presets.characters.d.ts.map +1 -0
  30. package/{onboarding-presets.characters.js → character-presets.characters.js} +1 -1
  31. package/character-presets.characters.js.map +1 -0
  32. package/{onboarding-presets.d.ts → character-presets.d.ts} +7 -5
  33. package/character-presets.d.ts.map +1 -0
  34. package/{onboarding-presets.js → character-presets.js} +53 -58
  35. package/character-presets.js.map +1 -0
  36. package/{onboarding-presets.shared.d.ts → character-presets.shared.d.ts} +1 -1
  37. package/character-presets.shared.d.ts.map +1 -0
  38. package/{onboarding-presets.shared.js → character-presets.shared.js} +1 -1
  39. package/character-presets.shared.js.map +1 -0
  40. package/checkout/index.d.ts +48 -0
  41. package/checkout/index.d.ts.map +1 -0
  42. package/checkout/index.js +59 -0
  43. package/checkout/index.js.map +1 -0
  44. package/cli/parse-duration.d.ts +5 -0
  45. package/cli/parse-duration.d.ts.map +1 -0
  46. package/cli/parse-duration.js +26 -0
  47. package/cli/parse-duration.js.map +1 -0
  48. package/config/allowed-hosts.d.ts +8 -0
  49. package/config/allowed-hosts.d.ts.map +1 -0
  50. package/config/allowed-hosts.js +44 -0
  51. package/config/allowed-hosts.js.map +1 -0
  52. package/config/api-key-prefix-hints.d.ts +24 -0
  53. package/config/api-key-prefix-hints.d.ts.map +1 -0
  54. package/config/api-key-prefix-hints.js +26 -0
  55. package/config/api-key-prefix-hints.js.map +1 -0
  56. package/config/app-config.d.ts +274 -0
  57. package/config/app-config.d.ts.map +1 -0
  58. package/config/app-config.js +64 -0
  59. package/config/app-config.js.map +1 -0
  60. package/config/app-manifest.d.ts +75 -0
  61. package/config/app-manifest.d.ts.map +1 -0
  62. package/config/app-manifest.js +115 -0
  63. package/config/app-manifest.js.map +1 -0
  64. package/config/boot-config-store.d.ts +74 -0
  65. package/config/boot-config-store.d.ts.map +1 -0
  66. package/config/boot-config-store.js +121 -0
  67. package/config/boot-config-store.js.map +1 -0
  68. package/config/boot-config.d.ts +6 -0
  69. package/config/boot-config.d.ts.map +1 -0
  70. package/config/boot-config.js +6 -0
  71. package/config/boot-config.js.map +1 -0
  72. package/config/branding.d.ts +53 -0
  73. package/config/branding.d.ts.map +1 -0
  74. package/config/branding.js +23 -0
  75. package/config/branding.js.map +1 -0
  76. package/config/cloud-only.d.ts +8 -0
  77. package/config/cloud-only.d.ts.map +1 -0
  78. package/config/cloud-only.js +26 -0
  79. package/config/cloud-only.js.map +1 -0
  80. package/config/config-catalog.d.ts +371 -0
  81. package/config/config-catalog.d.ts.map +1 -0
  82. package/config/config-catalog.js +719 -0
  83. package/config/config-catalog.js.map +1 -0
  84. package/config/config-paths.d.ts +11 -0
  85. package/config/config-paths.d.ts.map +1 -0
  86. package/config/config-paths.js +74 -0
  87. package/config/config-paths.js.map +1 -0
  88. package/config/config.d.ts +11 -0
  89. package/config/config.d.ts.map +1 -0
  90. package/config/config.js +23 -0
  91. package/config/config.js.map +1 -0
  92. package/config/distribution-profile.d.ts +16 -0
  93. package/config/distribution-profile.d.ts.map +1 -0
  94. package/config/distribution-profile.js +29 -0
  95. package/config/distribution-profile.js.map +1 -0
  96. package/config/env-vars.d.ts +2 -0
  97. package/config/env-vars.d.ts.map +1 -0
  98. package/config/env-vars.js +2 -0
  99. package/config/env-vars.js.map +1 -0
  100. package/config/index.d.ts +12 -0
  101. package/config/index.d.ts.map +1 -0
  102. package/config/index.js +15 -0
  103. package/config/index.js.map +1 -0
  104. package/config/plugin-auto-enable-engine.d.ts +4 -0
  105. package/config/plugin-auto-enable-engine.d.ts.map +1 -0
  106. package/config/plugin-auto-enable-engine.js +45 -0
  107. package/config/plugin-auto-enable-engine.js.map +1 -0
  108. package/config/plugin-auto-enable.d.ts +2 -0
  109. package/config/plugin-auto-enable.d.ts.map +1 -0
  110. package/config/plugin-auto-enable.js +8 -0
  111. package/config/plugin-auto-enable.js.map +1 -0
  112. package/config/plugin-manifest.d.ts +89 -0
  113. package/config/plugin-manifest.d.ts.map +1 -0
  114. package/config/plugin-manifest.js +281 -0
  115. package/config/plugin-manifest.js.map +1 -0
  116. package/config/plugin-ui-spec.d.ts +42 -0
  117. package/config/plugin-ui-spec.d.ts.map +1 -0
  118. package/config/plugin-ui-spec.js +257 -0
  119. package/config/plugin-ui-spec.js.map +1 -0
  120. package/config/runtime-mode.d.ts +54 -0
  121. package/config/runtime-mode.d.ts.map +1 -0
  122. package/config/runtime-mode.js +107 -0
  123. package/config/runtime-mode.js.map +1 -0
  124. package/config/runtime-overrides.d.ts +16 -0
  125. package/config/runtime-overrides.d.ts.map +1 -0
  126. package/config/runtime-overrides.js +49 -0
  127. package/config/runtime-overrides.js.map +1 -0
  128. package/config/schema.d.ts +7 -0
  129. package/config/schema.d.ts.map +1 -0
  130. package/config/schema.js +30 -0
  131. package/config/schema.js.map +1 -0
  132. package/config/types.agent-defaults.d.ts +6 -1
  133. package/config/types.agent-defaults.d.ts.map +1 -1
  134. package/config/types.agents.d.ts +9 -4
  135. package/config/types.agents.d.ts.map +1 -1
  136. package/config/types.eliza.d.ts +27 -49
  137. package/config/types.eliza.d.ts.map +1 -1
  138. package/config/types.messages.d.ts +2 -2
  139. package/config/types.messages.d.ts.map +1 -1
  140. package/config/types.tools.d.ts +2 -2
  141. package/config/types.tools.d.ts.map +1 -1
  142. package/config/ui-spec.d.ts +164 -0
  143. package/config/ui-spec.d.ts.map +1 -0
  144. package/config/ui-spec.js +14 -0
  145. package/config/ui-spec.js.map +1 -0
  146. package/config/wechat-config.d.ts +2 -0
  147. package/config/wechat-config.d.ts.map +1 -0
  148. package/config/wechat-config.js +2 -0
  149. package/config/wechat-config.js.map +1 -0
  150. package/config/zod-schema.agent-runtime.d.ts +1087 -0
  151. package/config/zod-schema.agent-runtime.d.ts.map +1 -0
  152. package/config/zod-schema.agent-runtime.js +764 -0
  153. package/config/zod-schema.agent-runtime.js.map +1 -0
  154. package/config/zod-schema.core.d.ts +1048 -0
  155. package/config/zod-schema.core.d.ts.map +1 -0
  156. package/config/zod-schema.core.js +707 -0
  157. package/config/zod-schema.core.js.map +1 -0
  158. package/connector-cred-types.d.ts +3 -3
  159. package/connector-cred-types.js +4 -4
  160. package/connectors.d.ts +0 -8
  161. package/connectors.d.ts.map +1 -1
  162. package/connectors.js +26 -50
  163. package/connectors.js.map +1 -1
  164. package/contracts/agent-routes.d.ts +63 -0
  165. package/contracts/agent-routes.d.ts.map +1 -0
  166. package/contracts/agent-routes.js +55 -0
  167. package/contracts/agent-routes.js.map +1 -0
  168. package/contracts/app-permissions-routes.d.ts +148 -0
  169. package/contracts/app-permissions-routes.d.ts.map +1 -0
  170. package/contracts/app-permissions-routes.js +96 -0
  171. package/contracts/app-permissions-routes.js.map +1 -0
  172. package/contracts/app-permissions.d.ts +122 -0
  173. package/contracts/app-permissions.d.ts.map +1 -0
  174. package/contracts/app-permissions.js +163 -0
  175. package/contracts/app-permissions.js.map +1 -0
  176. package/contracts/apps-favorites-routes.d.ts +44 -0
  177. package/contracts/apps-favorites-routes.d.ts.map +1 -0
  178. package/contracts/apps-favorites-routes.js +48 -0
  179. package/contracts/apps-favorites-routes.js.map +1 -0
  180. package/contracts/apps-lifecycle-routes.d.ts +185 -0
  181. package/contracts/apps-lifecycle-routes.d.ts.map +1 -0
  182. package/contracts/apps-lifecycle-routes.js +204 -0
  183. package/contracts/apps-lifecycle-routes.js.map +1 -0
  184. package/contracts/apps-loading-routes.d.ts +64 -0
  185. package/contracts/apps-loading-routes.d.ts.map +1 -0
  186. package/contracts/apps-loading-routes.js +65 -0
  187. package/contracts/apps-loading-routes.js.map +1 -0
  188. package/contracts/apps-runs-routes.d.ts +33 -0
  189. package/contracts/apps-runs-routes.d.ts.map +1 -0
  190. package/contracts/apps-runs-routes.js +38 -0
  191. package/contracts/apps-runs-routes.js.map +1 -0
  192. package/contracts/apps.d.ts +883 -3
  193. package/contracts/apps.d.ts.map +1 -1
  194. package/contracts/apps.js +278 -40
  195. package/contracts/apps.js.map +1 -1
  196. package/contracts/auth-routes.d.ts +23 -0
  197. package/contracts/auth-routes.d.ts.map +1 -0
  198. package/contracts/auth-routes.js +25 -0
  199. package/contracts/auth-routes.js.map +1 -0
  200. package/contracts/awareness.d.ts +1 -1
  201. package/contracts/calendar.d.ts +181 -0
  202. package/contracts/calendar.d.ts.map +1 -0
  203. package/contracts/calendar.js +19 -0
  204. package/contracts/calendar.js.map +1 -0
  205. package/contracts/character-routes.d.ts +70 -0
  206. package/contracts/character-routes.d.ts.map +1 -0
  207. package/contracts/character-routes.js +49 -0
  208. package/contracts/character-routes.js.map +1 -0
  209. package/contracts/cloud-coding-containers.d.ts +432 -0
  210. package/contracts/cloud-coding-containers.d.ts.map +1 -0
  211. package/contracts/cloud-coding-containers.js +135 -0
  212. package/contracts/cloud-coding-containers.js.map +1 -0
  213. package/contracts/cloud-topology.js +7 -7
  214. package/contracts/cloud-topology.js.map +1 -1
  215. package/contracts/config.d.ts +52 -4
  216. package/contracts/config.d.ts.map +1 -1
  217. package/contracts/connector-routes.d.ts +39 -0
  218. package/contracts/connector-routes.d.ts.map +1 -0
  219. package/contracts/connector-routes.js +50 -0
  220. package/contracts/connector-routes.js.map +1 -0
  221. package/contracts/content-pack.d.ts +2 -2
  222. package/contracts/content-pack.d.ts.map +1 -1
  223. package/contracts/content-pack.js +1 -1
  224. package/contracts/conversation-routes.d.ts +195 -0
  225. package/contracts/conversation-routes.d.ts.map +1 -0
  226. package/contracts/conversation-routes.js +107 -0
  227. package/contracts/conversation-routes.js.map +1 -0
  228. package/contracts/diagnostics-routes.d.ts +33 -0
  229. package/contracts/diagnostics-routes.d.ts.map +1 -0
  230. package/contracts/diagnostics-routes.js +26 -0
  231. package/contracts/diagnostics-routes.js.map +1 -0
  232. package/contracts/feature-result.d.ts +24 -0
  233. package/contracts/feature-result.d.ts.map +1 -0
  234. package/contracts/feature-result.js +7 -0
  235. package/contracts/feature-result.js.map +1 -0
  236. package/contracts/{onboarding.d.ts → first-run-options.d.ts} +172 -69
  237. package/contracts/first-run-options.d.ts.map +1 -0
  238. package/contracts/{onboarding.js → first-run-options.js} +222 -91
  239. package/contracts/first-run-options.js.map +1 -0
  240. package/contracts/first-run-routes.d.ts +167 -0
  241. package/contracts/first-run-routes.d.ts.map +1 -0
  242. package/contracts/first-run-routes.js +115 -0
  243. package/contracts/first-run-routes.js.map +1 -0
  244. package/contracts/health.d.ts +30 -0
  245. package/contracts/health.d.ts.map +1 -0
  246. package/contracts/health.js +29 -0
  247. package/contracts/health.js.map +1 -0
  248. package/contracts/inbox-routes.d.ts +37 -0
  249. package/contracts/inbox-routes.d.ts.map +1 -0
  250. package/contracts/inbox-routes.js +44 -0
  251. package/contracts/inbox-routes.js.map +1 -0
  252. package/contracts/index.d.ts +30 -3
  253. package/contracts/index.d.ts.map +1 -1
  254. package/contracts/index.js +30 -3
  255. package/contracts/index.js.map +1 -1
  256. package/contracts/memory-routes.d.ts +27 -0
  257. package/contracts/memory-routes.d.ts.map +1 -0
  258. package/contracts/memory-routes.js +23 -0
  259. package/contracts/memory-routes.js.map +1 -0
  260. package/contracts/misc-routes.d.ts +192 -0
  261. package/contracts/misc-routes.d.ts.map +1 -0
  262. package/contracts/misc-routes.js +155 -0
  263. package/contracts/misc-routes.js.map +1 -0
  264. package/contracts/permissions-routes.d.ts +31 -0
  265. package/contracts/permissions-routes.d.ts.map +1 -0
  266. package/contracts/permissions-routes.js +34 -0
  267. package/contracts/permissions-routes.js.map +1 -0
  268. package/contracts/permissions.d.ts +81 -11
  269. package/contracts/permissions.d.ts.map +1 -1
  270. package/contracts/permissions.js +37 -1
  271. package/contracts/permissions.js.map +1 -1
  272. package/contracts/{lifeops.d.ts → personal-assistant.d.ts} +368 -170
  273. package/contracts/personal-assistant.d.ts.map +1 -0
  274. package/contracts/{lifeops.js → personal-assistant.js} +39 -13
  275. package/contracts/personal-assistant.js.map +1 -0
  276. package/contracts/plugin-routes.d.ts +105 -0
  277. package/contracts/plugin-routes.d.ts.map +1 -0
  278. package/contracts/plugin-routes.js +81 -0
  279. package/contracts/plugin-routes.js.map +1 -0
  280. package/contracts/relationships-routes.d.ts +23 -0
  281. package/contracts/relationships-routes.d.ts.map +1 -0
  282. package/contracts/relationships-routes.js +22 -0
  283. package/contracts/relationships-routes.js.map +1 -0
  284. package/contracts/service-routing.d.ts +7 -121
  285. package/contracts/service-routing.d.ts.map +1 -1
  286. package/contracts/service-routing.js +19 -12
  287. package/contracts/service-routing.js.map +1 -1
  288. package/contracts/skills-routes.d.ts +116 -0
  289. package/contracts/skills-routes.d.ts.map +1 -0
  290. package/contracts/skills-routes.js +115 -0
  291. package/contracts/skills-routes.js.map +1 -0
  292. package/contracts/subscription-routes.d.ts +47 -0
  293. package/contracts/subscription-routes.d.ts.map +1 -0
  294. package/contracts/subscription-routes.js +50 -0
  295. package/contracts/subscription-routes.js.map +1 -0
  296. package/contracts/tail-routes.d.ts +78 -0
  297. package/contracts/tail-routes.d.ts.map +1 -0
  298. package/contracts/tail-routes.js +63 -0
  299. package/contracts/tail-routes.js.map +1 -0
  300. package/contracts/theme.d.ts +0 -2
  301. package/contracts/theme.d.ts.map +1 -1
  302. package/contracts/theme.js +0 -2
  303. package/contracts/theme.js.map +1 -1
  304. package/contracts/update-status.d.ts +100 -0
  305. package/contracts/update-status.d.ts.map +1 -0
  306. package/contracts/update-status.js +45 -0
  307. package/contracts/update-status.js.map +1 -0
  308. package/contracts/wallet-routes.d.ts +82 -0
  309. package/contracts/wallet-routes.d.ts.map +1 -0
  310. package/contracts/wallet-routes.js +49 -0
  311. package/contracts/wallet-routes.js.map +1 -0
  312. package/contracts/wallet.d.ts +12 -570
  313. package/contracts/wallet.d.ts.map +1 -1
  314. package/contracts/wallet.js +139 -0
  315. package/contracts/wallet.js.map +1 -1
  316. package/contracts/workbench-routes.d.ts +231 -0
  317. package/contracts/workbench-routes.d.ts.map +1 -0
  318. package/contracts/workbench-routes.js +183 -0
  319. package/contracts/workbench-routes.js.map +1 -0
  320. package/db/drizzle-database.d.ts +13 -0
  321. package/db/drizzle-database.d.ts.map +1 -0
  322. package/db/drizzle-database.js +2 -0
  323. package/db/drizzle-database.js.map +1 -0
  324. package/dev-settings-banner-style.d.ts +1 -1
  325. package/dev-settings-banner-style.js +2 -2
  326. package/dev-settings-banner-style.js.map +1 -1
  327. package/dev-settings-figlet-heading.d.ts.map +1 -1
  328. package/dev-settings-figlet-heading.js +1 -8
  329. package/dev-settings-figlet-heading.js.map +1 -1
  330. package/elizacloud/base-url.d.ts +6 -0
  331. package/elizacloud/base-url.d.ts.map +1 -0
  332. package/elizacloud/base-url.js +65 -0
  333. package/elizacloud/base-url.js.map +1 -0
  334. package/elizacloud/cloud-provisioning.d.ts +9 -0
  335. package/elizacloud/cloud-provisioning.d.ts.map +1 -0
  336. package/elizacloud/cloud-provisioning.js +25 -0
  337. package/elizacloud/cloud-provisioning.js.map +1 -0
  338. package/elizacloud/cloud-secrets.d.ts +23 -0
  339. package/elizacloud/cloud-secrets.d.ts.map +1 -0
  340. package/elizacloud/cloud-secrets.js +51 -0
  341. package/elizacloud/cloud-secrets.js.map +1 -0
  342. package/elizacloud/index.d.ts +6 -0
  343. package/elizacloud/index.d.ts.map +1 -0
  344. package/elizacloud/index.js +6 -0
  345. package/elizacloud/index.js.map +1 -0
  346. package/elizacloud/is-cloud-reachable.d.ts +19 -0
  347. package/elizacloud/is-cloud-reachable.d.ts.map +1 -0
  348. package/elizacloud/is-cloud-reachable.js +44 -0
  349. package/elizacloud/is-cloud-reachable.js.map +1 -0
  350. package/elizacloud/server-cloud-tts.d.ts +21 -0
  351. package/elizacloud/server-cloud-tts.d.ts.map +1 -0
  352. package/elizacloud/server-cloud-tts.js +293 -0
  353. package/elizacloud/server-cloud-tts.js.map +1 -0
  354. package/email-classification/email-classifier.d.ts +57 -0
  355. package/email-classification/email-classifier.d.ts.map +1 -0
  356. package/email-classification/email-classifier.js +348 -0
  357. package/email-classification/email-classifier.js.map +1 -0
  358. package/email-classification/index.d.ts +12 -0
  359. package/email-classification/index.d.ts.map +1 -0
  360. package/email-classification/index.js +12 -0
  361. package/email-classification/index.js.map +1 -0
  362. package/email-classification/wrap-untrusted-email-content.d.ts +15 -0
  363. package/email-classification/wrap-untrusted-email-content.d.ts.map +1 -0
  364. package/email-classification/wrap-untrusted-email-content.js +24 -0
  365. package/email-classification/wrap-untrusted-email-content.js.map +1 -0
  366. package/env-utils.d.ts +1 -4
  367. package/env-utils.d.ts.map +1 -1
  368. package/env-utils.js +9 -1
  369. package/env-utils.js.map +1 -1
  370. package/events/index.d.ts +68 -0
  371. package/events/index.d.ts.map +1 -0
  372. package/events/index.js +53 -0
  373. package/events/index.js.map +1 -0
  374. package/hardware-catalog/index.d.ts +204 -0
  375. package/hardware-catalog/index.d.ts.map +1 -0
  376. package/hardware-catalog/index.js +174 -0
  377. package/hardware-catalog/index.js.map +1 -0
  378. package/i18n/generated/validation-keyword-data.d.ts +2711 -748
  379. package/i18n/generated/validation-keyword-data.d.ts.map +1 -1
  380. package/i18n/generated/validation-keyword-data.js +2711 -748
  381. package/i18n/generated/validation-keyword-data.js.map +1 -1
  382. package/i18n/keyword-matching.d.ts.map +1 -1
  383. package/i18n/keyword-matching.js +4 -1
  384. package/i18n/keyword-matching.js.map +1 -1
  385. package/index.d.ts +82 -7
  386. package/index.d.ts.map +1 -1
  387. package/index.js +109 -13
  388. package/index.js.map +1 -1
  389. package/knowledge-graph/entity-types.d.ts +135 -0
  390. package/knowledge-graph/entity-types.d.ts.map +1 -0
  391. package/knowledge-graph/entity-types.js +75 -0
  392. package/knowledge-graph/entity-types.js.map +1 -0
  393. package/knowledge-graph/index.d.ts +13 -0
  394. package/knowledge-graph/index.d.ts.map +1 -0
  395. package/knowledge-graph/index.js +13 -0
  396. package/knowledge-graph/index.js.map +1 -0
  397. package/knowledge-graph/merge.d.ts +76 -0
  398. package/knowledge-graph/merge.d.ts.map +1 -0
  399. package/knowledge-graph/merge.js +175 -0
  400. package/knowledge-graph/merge.js.map +1 -0
  401. package/knowledge-graph/relationship-types.d.ts +105 -0
  402. package/knowledge-graph/relationship-types.d.ts.map +1 -0
  403. package/knowledge-graph/relationship-types.js +114 -0
  404. package/knowledge-graph/relationship-types.js.map +1 -0
  405. package/lifeops-constants/index.d.ts +9 -0
  406. package/lifeops-constants/index.d.ts.map +1 -0
  407. package/lifeops-constants/index.js +9 -0
  408. package/lifeops-constants/index.js.map +1 -0
  409. package/lifeops-constants/service-constants.d.ts +79 -0
  410. package/lifeops-constants/service-constants.d.ts.map +1 -0
  411. package/lifeops-constants/service-constants.js +123 -0
  412. package/lifeops-constants/service-constants.js.map +1 -0
  413. package/lifeops-normalize/index.d.ts +12 -0
  414. package/lifeops-normalize/index.d.ts.map +1 -0
  415. package/lifeops-normalize/index.js +12 -0
  416. package/lifeops-normalize/index.js.map +1 -0
  417. package/lifeops-normalize/service-error.d.ts +14 -0
  418. package/lifeops-normalize/service-error.d.ts.map +1 -0
  419. package/lifeops-normalize/service-error.js +19 -0
  420. package/lifeops-normalize/service-error.js.map +1 -0
  421. package/lifeops-normalize/service-normalize.d.ts +38 -0
  422. package/lifeops-normalize/service-normalize.d.ts.map +1 -0
  423. package/lifeops-normalize/service-normalize.js +205 -0
  424. package/lifeops-normalize/service-normalize.js.map +1 -0
  425. package/lifeops-normalize/time-zone.d.ts +12 -0
  426. package/lifeops-normalize/time-zone.d.ts.map +1 -0
  427. package/lifeops-normalize/time-zone.js +29 -0
  428. package/lifeops-normalize/time-zone.js.map +1 -0
  429. package/local-inference/catalog.d.ts +97 -0
  430. package/local-inference/catalog.d.ts.map +1 -0
  431. package/local-inference/catalog.js +547 -0
  432. package/local-inference/catalog.js.map +1 -0
  433. package/local-inference/gpu-profiles.d.ts +110 -0
  434. package/local-inference/gpu-profiles.d.ts.map +1 -0
  435. package/local-inference/gpu-profiles.js +214 -0
  436. package/local-inference/gpu-profiles.js.map +1 -0
  437. package/local-inference/index.d.ts +21 -0
  438. package/local-inference/index.d.ts.map +1 -0
  439. package/local-inference/index.js +18 -0
  440. package/local-inference/index.js.map +1 -0
  441. package/local-inference/manifest-signature.d.ts +61 -0
  442. package/local-inference/manifest-signature.d.ts.map +1 -0
  443. package/local-inference/manifest-signature.js +129 -0
  444. package/local-inference/manifest-signature.js.map +1 -0
  445. package/local-inference/network-policy.d.ts +115 -0
  446. package/local-inference/network-policy.d.ts.map +1 -0
  447. package/local-inference/network-policy.js +154 -0
  448. package/local-inference/network-policy.js.map +1 -0
  449. package/local-inference/paths.d.ts +24 -0
  450. package/local-inference/paths.d.ts.map +1 -0
  451. package/local-inference/paths.js +40 -0
  452. package/local-inference/paths.js.map +1 -0
  453. package/local-inference/providers-types.d.ts +56 -0
  454. package/local-inference/providers-types.d.ts.map +1 -0
  455. package/local-inference/providers-types.js +19 -0
  456. package/local-inference/providers-types.js.map +1 -0
  457. package/local-inference/routing-preferences.d.ts +31 -0
  458. package/local-inference/routing-preferences.d.ts.map +1 -0
  459. package/local-inference/routing-preferences.js +73 -0
  460. package/local-inference/routing-preferences.js.map +1 -0
  461. package/local-inference/throughput.d.ts +74 -0
  462. package/local-inference/throughput.d.ts.map +1 -0
  463. package/local-inference/throughput.js +84 -0
  464. package/local-inference/throughput.js.map +1 -0
  465. package/local-inference/types.d.ts +510 -0
  466. package/local-inference/types.d.ts.map +1 -0
  467. package/local-inference/types.js +22 -0
  468. package/local-inference/types.js.map +1 -0
  469. package/local-inference/verify.d.ts +39 -0
  470. package/local-inference/verify.d.ts.map +1 -0
  471. package/local-inference/verify.js +105 -0
  472. package/local-inference/verify.js.map +1 -0
  473. package/local-inference/voice-models.d.ts +156 -0
  474. package/local-inference/voice-models.d.ts.map +1 -0
  475. package/local-inference/voice-models.js +746 -0
  476. package/local-inference/voice-models.js.map +1 -0
  477. package/local-inference-gpu/gpu-overrides.d.ts +97 -0
  478. package/local-inference-gpu/gpu-overrides.d.ts.map +1 -0
  479. package/local-inference-gpu/gpu-overrides.js +76 -0
  480. package/local-inference-gpu/gpu-overrides.js.map +1 -0
  481. package/local-inference-gpu/gpu-profile-loader.d.ts +83 -0
  482. package/local-inference-gpu/gpu-profile-loader.d.ts.map +1 -0
  483. package/local-inference-gpu/gpu-profile-loader.js +196 -0
  484. package/local-inference-gpu/gpu-profile-loader.js.map +1 -0
  485. package/local-inference-gpu/gpu-profile-schema.d.ts +208 -0
  486. package/local-inference-gpu/gpu-profile-schema.d.ts.map +1 -0
  487. package/local-inference-gpu/gpu-profile-schema.js +123 -0
  488. package/local-inference-gpu/gpu-profile-schema.js.map +1 -0
  489. package/local-inference-gpu/gpu-tier-detect.d.ts +61 -0
  490. package/local-inference-gpu/gpu-tier-detect.d.ts.map +1 -0
  491. package/local-inference-gpu/gpu-tier-detect.js +93 -0
  492. package/local-inference-gpu/gpu-tier-detect.js.map +1 -0
  493. package/local-inference-gpu/gpu-tier-profiles.d.ts +110 -0
  494. package/local-inference-gpu/gpu-tier-profiles.d.ts.map +1 -0
  495. package/local-inference-gpu/gpu-tier-profiles.js +235 -0
  496. package/local-inference-gpu/gpu-tier-profiles.js.map +1 -0
  497. package/package.json +111 -160
  498. package/platform/is-native-server.d.ts +9 -0
  499. package/platform/is-native-server.d.ts.map +1 -0
  500. package/platform/is-native-server.js +12 -0
  501. package/platform/is-native-server.js.map +1 -0
  502. package/restart.d.ts +2 -1
  503. package/restart.d.ts.map +1 -1
  504. package/restart.js +3 -2
  505. package/restart.js.map +1 -1
  506. package/runtime-env.d.ts +2 -2
  507. package/runtime-env.d.ts.map +1 -1
  508. package/runtime-env.js +15 -7
  509. package/runtime-env.js.map +1 -1
  510. package/self-edit.d.ts +4 -4
  511. package/self-edit.d.ts.map +1 -1
  512. package/self-edit.js +5 -5
  513. package/self-edit.js.map +1 -1
  514. package/settings-debug.d.ts.map +1 -1
  515. package/settings-debug.js +45 -38
  516. package/settings-debug.js.map +1 -1
  517. package/spoken-text.d.ts.map +1 -1
  518. package/spoken-text.js +3 -2
  519. package/spoken-text.js.map +1 -1
  520. package/steward-session-client/index.d.ts +172 -0
  521. package/steward-session-client/index.d.ts.map +1 -0
  522. package/steward-session-client/index.js +248 -0
  523. package/steward-session-client/index.js.map +1 -0
  524. package/steward-session-client/steward-oauth-pkce.d.ts +24 -0
  525. package/steward-session-client/steward-oauth-pkce.d.ts.map +1 -0
  526. package/steward-session-client/steward-oauth-pkce.js +105 -0
  527. package/steward-session-client/steward-oauth-pkce.js.map +1 -0
  528. package/terminal/links.d.ts +9 -0
  529. package/terminal/links.d.ts.map +1 -0
  530. package/terminal/links.js +21 -0
  531. package/terminal/links.js.map +1 -0
  532. package/terminal/palette.d.ts +11 -0
  533. package/terminal/palette.d.ts.map +1 -0
  534. package/terminal/palette.js +13 -0
  535. package/terminal/palette.js.map +1 -0
  536. package/terminal/theme.d.ts +17 -0
  537. package/terminal/theme.d.ts.map +1 -0
  538. package/terminal/theme.js +25 -0
  539. package/terminal/theme.js.map +1 -0
  540. package/test-support/process-helpers.d.ts +13 -0
  541. package/test-support/process-helpers.d.ts.map +1 -0
  542. package/test-support/process-helpers.js +24 -0
  543. package/test-support/process-helpers.js.map +1 -0
  544. package/test-support/test-helpers.d.ts +79 -0
  545. package/test-support/test-helpers.d.ts.map +1 -0
  546. package/test-support/test-helpers.js +341 -0
  547. package/test-support/test-helpers.js.map +1 -0
  548. package/transcripts.d.ts +111 -0
  549. package/transcripts.d.ts.map +1 -0
  550. package/transcripts.js +106 -0
  551. package/transcripts.js.map +1 -0
  552. package/type-guards.d.ts +1 -23
  553. package/type-guards.d.ts.map +1 -1
  554. package/type-guards.js +6 -23
  555. package/type-guards.js.map +1 -1
  556. package/types/index.d.ts +654 -0
  557. package/types/index.d.ts.map +1 -0
  558. package/types/index.js +5 -0
  559. package/types/index.js.map +1 -0
  560. package/utils/asset-url.d.ts +24 -0
  561. package/utils/asset-url.d.ts.map +1 -0
  562. package/utils/asset-url.js +151 -0
  563. package/utils/asset-url.js.map +1 -0
  564. package/utils/assistant-text.d.ts +13 -0
  565. package/utils/assistant-text.d.ts.map +1 -0
  566. package/utils/assistant-text.js +292 -0
  567. package/utils/assistant-text.js.map +1 -0
  568. package/utils/browser-tab-kit-types.d.ts +81 -0
  569. package/utils/browser-tab-kit-types.d.ts.map +1 -0
  570. package/utils/browser-tab-kit-types.js +23 -0
  571. package/utils/browser-tab-kit-types.js.map +1 -0
  572. package/utils/browser-tabs-renderer-registry.d.ts +56 -0
  573. package/utils/browser-tabs-renderer-registry.d.ts.map +1 -0
  574. package/utils/browser-tabs-renderer-registry.js +1282 -0
  575. package/utils/browser-tabs-renderer-registry.js.map +1 -0
  576. package/utils/character-message-examples.d.ts +7 -0
  577. package/utils/character-message-examples.d.ts.map +1 -0
  578. package/utils/character-message-examples.js +123 -0
  579. package/utils/character-message-examples.js.map +1 -0
  580. package/utils/cloud-status.d.ts +3 -0
  581. package/utils/cloud-status.d.ts.map +1 -0
  582. package/utils/cloud-status.js +11 -0
  583. package/utils/cloud-status.js.map +1 -0
  584. package/utils/documents-upload-image.d.ts +27 -0
  585. package/utils/documents-upload-image.d.ts.map +1 -0
  586. package/utils/documents-upload-image.js +147 -0
  587. package/utils/documents-upload-image.js.map +1 -0
  588. package/utils/eliza-cloud-model-route.d.ts +3 -0
  589. package/utils/eliza-cloud-model-route.d.ts.map +1 -0
  590. package/utils/eliza-cloud-model-route.js +10 -0
  591. package/utils/eliza-cloud-model-route.js.map +1 -0
  592. package/utils/eliza-globals.d.ts +13 -0
  593. package/utils/eliza-globals.d.ts.map +1 -0
  594. package/utils/eliza-globals.js +49 -0
  595. package/utils/eliza-globals.js.map +1 -0
  596. package/utils/eliza-root.d.ts +9 -0
  597. package/utils/eliza-root.d.ts.map +1 -0
  598. package/utils/eliza-root.js +102 -0
  599. package/utils/eliza-root.js.map +1 -0
  600. package/utils/env.d.ts +34 -0
  601. package/utils/env.d.ts.map +1 -0
  602. package/utils/env.js +142 -0
  603. package/utils/env.js.map +1 -0
  604. package/utils/errors.d.ts +13 -0
  605. package/utils/errors.d.ts.map +1 -0
  606. package/utils/errors.js +26 -0
  607. package/utils/errors.js.map +1 -0
  608. package/utils/exec-safety.d.ts +2 -0
  609. package/utils/exec-safety.d.ts.map +1 -0
  610. package/utils/exec-safety.js +25 -0
  611. package/utils/exec-safety.js.map +1 -0
  612. package/utils/format.d.ts +85 -0
  613. package/utils/format.d.ts.map +1 -0
  614. package/utils/format.js +140 -0
  615. package/utils/format.js.map +1 -0
  616. package/utils/labels.d.ts +6 -0
  617. package/utils/labels.d.ts.map +1 -0
  618. package/utils/labels.js +42 -0
  619. package/utils/labels.js.map +1 -0
  620. package/utils/log-prefix.d.ts +2 -0
  621. package/utils/log-prefix.d.ts.map +1 -0
  622. package/utils/log-prefix.js +44 -0
  623. package/utils/log-prefix.js.map +1 -0
  624. package/utils/name-tokens.d.ts +24 -0
  625. package/utils/name-tokens.d.ts.map +1 -0
  626. package/utils/name-tokens.js +37 -0
  627. package/utils/name-tokens.js.map +1 -0
  628. package/utils/namespace-defaults.d.ts +10 -0
  629. package/utils/namespace-defaults.d.ts.map +1 -0
  630. package/utils/namespace-defaults.js +17 -0
  631. package/utils/namespace-defaults.js.map +1 -0
  632. package/utils/number-parsing.d.ts +26 -0
  633. package/utils/number-parsing.d.ts.map +1 -0
  634. package/utils/number-parsing.js +57 -0
  635. package/utils/number-parsing.js.map +1 -0
  636. package/utils/owner-name.d.ts +3 -0
  637. package/utils/owner-name.d.ts.map +1 -0
  638. package/utils/owner-name.js +8 -0
  639. package/utils/owner-name.js.map +1 -0
  640. package/utils/permission-deep-links.d.ts +35 -0
  641. package/utils/permission-deep-links.d.ts.map +1 -0
  642. package/utils/permission-deep-links.js +95 -0
  643. package/utils/permission-deep-links.js.map +1 -0
  644. package/utils/rate-limiter.d.ts +32 -0
  645. package/utils/rate-limiter.d.ts.map +1 -0
  646. package/utils/rate-limiter.js +53 -0
  647. package/utils/rate-limiter.js.map +1 -0
  648. package/utils/serialise.d.ts +12 -0
  649. package/utils/serialise.d.ts.map +1 -0
  650. package/utils/serialise.js +22 -0
  651. package/utils/serialise.js.map +1 -0
  652. package/utils/sql-compat.d.ts +10 -0
  653. package/utils/sql-compat.d.ts.map +1 -0
  654. package/utils/sql-compat.js +112 -0
  655. package/utils/sql-compat.js.map +1 -0
  656. package/utils/streaming-text.d.ts +9 -0
  657. package/utils/streaming-text.d.ts.map +1 -0
  658. package/utils/streaming-text.js +116 -0
  659. package/utils/streaming-text.js.map +1 -0
  660. package/utils/subscription-auth.d.ts +9 -0
  661. package/utils/subscription-auth.d.ts.map +1 -0
  662. package/utils/subscription-auth.js +49 -0
  663. package/utils/subscription-auth.js.map +1 -0
  664. package/utils/trajectory-format.d.ts +6 -0
  665. package/utils/trajectory-format.d.ts.map +1 -0
  666. package/utils/trajectory-format.js +44 -0
  667. package/utils/trajectory-format.js.map +1 -0
  668. package/utils/tts-debug.d.ts +10 -0
  669. package/utils/tts-debug.d.ts.map +1 -0
  670. package/utils/tts-debug.js +73 -0
  671. package/utils/tts-debug.js.map +1 -0
  672. package/view-hero-art.d.ts +75 -0
  673. package/view-hero-art.d.ts.map +1 -0
  674. package/view-hero-art.js +360 -0
  675. package/view-hero-art.js.map +1 -0
  676. package/voice/first-sentence-snip.d.ts +68 -0
  677. package/voice/first-sentence-snip.d.ts.map +1 -0
  678. package/voice/first-sentence-snip.js +284 -0
  679. package/voice/first-sentence-snip.js.map +1 -0
  680. package/voice/voice-cancellation-token.d.ts +127 -0
  681. package/voice/voice-cancellation-token.d.ts.map +1 -0
  682. package/voice/voice-cancellation-token.js +186 -0
  683. package/voice/voice-cancellation-token.js.map +1 -0
  684. package/voice-wer.d.ts +19 -0
  685. package/voice-wer.d.ts.map +1 -0
  686. package/voice-wer.js +42 -0
  687. package/voice-wer.js.map +1 -0
  688. package/voice.d.ts +55 -0
  689. package/voice.d.ts.map +1 -0
  690. package/voice.js +337 -0
  691. package/voice.js.map +1 -0
  692. package/contracts/lifeops-extensions.d.ts +0 -340
  693. package/contracts/lifeops-extensions.d.ts.map +0 -1
  694. package/contracts/lifeops-extensions.js +0 -37
  695. package/contracts/lifeops-extensions.js.map +0 -1
  696. package/contracts/lifeops.d.ts.map +0 -1
  697. package/contracts/lifeops.js.map +0 -1
  698. package/contracts/onboarding.d.ts.map +0 -1
  699. package/contracts/onboarding.js.map +0 -1
  700. package/contracts/scratchpad.d.ts +0 -136
  701. package/contracts/scratchpad.d.ts.map +0 -1
  702. package/contracts/scratchpad.js +0 -91
  703. package/contracts/scratchpad.js.map +0 -1
  704. package/eliza-core-roles.d.ts +0 -79
  705. package/eliza-core-roles.d.ts.map +0 -1
  706. package/eliza-core-roles.js +0 -600
  707. package/eliza-core-roles.js.map +0 -1
  708. package/env-utils.impl.d.ts +0 -2
  709. package/env-utils.impl.d.ts.map +0 -1
  710. package/env-utils.impl.js +0 -10
  711. package/env-utils.impl.js.map +0 -1
  712. package/onboarding-presets.characters.d.ts.map +0 -1
  713. package/onboarding-presets.characters.js.map +0 -1
  714. package/onboarding-presets.d.ts.map +0 -1
  715. package/onboarding-presets.js.map +0 -1
  716. package/onboarding-presets.shared.d.ts.map +0 -1
  717. package/onboarding-presets.shared.js.map +0 -1
  718. package/themes/index.d.ts +0 -7
  719. package/themes/index.d.ts.map +0 -1
  720. package/themes/index.js +0 -6
  721. package/themes/index.js.map +0 -1
  722. package/themes/presets.d.ts +0 -15
  723. package/themes/presets.d.ts.map +0 -1
  724. package/themes/presets.js +0 -789
  725. package/themes/presets.js.map +0 -1
  726. package/types.d.ts +0 -27
  727. package/types.d.ts.map +0 -1
  728. package/types.js +0 -2
  729. package/types.js.map +0 -1
@@ -0,0 +1,281 @@
1
+ // Plugin manifest evaluation engine.
2
+ //
3
+ // Each plugin declares its auto-enable conditions in its package.json under
4
+ // `elizaos.plugin`, optionally pointing at a small JS module that implements
5
+ // the actual `shouldEnable(ctx)` check:
6
+ //
7
+ // {
8
+ // "elizaos": {
9
+ // "plugin": {
10
+ // "autoEnableModule": "./dist/auto-enable.js",
11
+ // "force": false,
12
+ // "capabilities": ["text-large", "tool-use"]
13
+ // }
14
+ // }
15
+ // }
16
+ //
17
+ // The check module exports:
18
+ //
19
+ // export function shouldEnable(ctx: PluginAutoEnableContext): boolean | Promise<boolean>;
20
+ // export function shouldForce?(ctx: PluginAutoEnableContext): boolean; // optional override
21
+ //
22
+ // The engine here:
23
+ // 1. Walks a list of candidate plugin packages.
24
+ // 2. Reads each package.json for the elizaos.plugin block.
25
+ // 3. Dynamic-imports the autoEnableModule (cheap if it stays small — convention,
26
+ // not enforced; consumers can lint via knip or import-graph if drift becomes a problem).
27
+ // 4. Evaluates shouldEnable + shouldForce against the runtime context.
28
+ // 5. Returns a verdict per plugin.
29
+ //
30
+ // This replaces the centralized maps in plugin-auto-enable-engine.ts. Both
31
+ // engines coexist during the migration: the new one runs first, the old one
32
+ // fills gaps for plugins that haven't migrated yet. When all plugins ship a
33
+ // manifest, the central maps and the old engine can be deleted.
34
+ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
35
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
36
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
37
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
38
+ });
39
+ }
40
+ return path;
41
+ };
42
+ import { promises as fs } from "node:fs";
43
+ import path from "node:path";
44
+ import { pathToFileURL } from "node:url";
45
+ function assertPackageJsonObject(value, packageRoot) {
46
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
47
+ throw new Error(`invalid package.json object at ${packageRoot}`);
48
+ }
49
+ }
50
+ /**
51
+ * Derive the short id used for `plugins.allow` and `plugins.entries` lookups.
52
+ * Mirrors the logic in plugin-auto-enable-engine.addToAllowlist.
53
+ */
54
+ export function pluginShortId(packageName) {
55
+ if (packageName === "@elizaos/plugin-companion") {
56
+ return packageName;
57
+ }
58
+ return packageName.includes("/plugin-")
59
+ ? packageName.slice(packageName.lastIndexOf("/plugin-") + "/plugin-".length)
60
+ : packageName;
61
+ }
62
+ /**
63
+ * Read `package.json` for a candidate and extract the elizaos.plugin block.
64
+ * Returns null when no package.json exists or it doesn't declare an elizaos.plugin block.
65
+ */
66
+ export async function readPluginPackageManifest(packageRoot) {
67
+ let raw;
68
+ try {
69
+ raw = await fs.readFile(path.join(packageRoot, "package.json"), "utf8");
70
+ }
71
+ catch (err) {
72
+ if (err.code === "ENOENT")
73
+ return null;
74
+ throw err;
75
+ }
76
+ const parsed = JSON.parse(raw);
77
+ assertPackageJsonObject(parsed, packageRoot);
78
+ if (!parsed.elizaos?.plugin)
79
+ return null;
80
+ return parsed;
81
+ }
82
+ const CHECK_MODULE_CACHE = new Map();
83
+ /**
84
+ * Dynamic-import the check module declared by a manifest. Cached per absolute
85
+ * module path so re-evaluation across multiple boots in the same process
86
+ * (e.g. test suites) doesn't re-import.
87
+ */
88
+ async function loadCheckModule(packageRoot, modulePath) {
89
+ const absolute = path.resolve(packageRoot, modulePath);
90
+ const cached = CHECK_MODULE_CACHE.get(absolute);
91
+ if (cached === "missing")
92
+ return null;
93
+ if (cached)
94
+ return cached;
95
+ try {
96
+ await fs.access(absolute);
97
+ }
98
+ catch {
99
+ CHECK_MODULE_CACHE.set(absolute, "missing");
100
+ return null;
101
+ }
102
+ const url = pathToFileURL(absolute).href;
103
+ // Dynamic file:// import — Vite's static analyzer flags this on the client
104
+ // bundle even though the engine only runs server-side at boot. Suppress.
105
+ const mod = (await import(__rewriteRelativeImportExtension(
106
+ /* @vite-ignore */ url)));
107
+ // Accept both named and default exports — `export function shouldEnable`
108
+ // and `export default { shouldEnable }` both work.
109
+ const resolved = typeof mod.shouldEnable === "function"
110
+ ? { shouldEnable: mod.shouldEnable, shouldForce: mod.shouldForce }
111
+ : typeof mod.default?.shouldEnable === "function"
112
+ ? {
113
+ shouldEnable: mod.default.shouldEnable,
114
+ shouldForce: mod.default.shouldForce,
115
+ }
116
+ : null;
117
+ if (!resolved) {
118
+ CHECK_MODULE_CACHE.set(absolute, "missing");
119
+ return null;
120
+ }
121
+ CHECK_MODULE_CACHE.set(absolute, resolved);
122
+ return resolved;
123
+ }
124
+ /**
125
+ * Evaluate one candidate's manifest against the runtime context. Pure
126
+ * verdict — caller decides how to apply it to the allow list / force overrides.
127
+ */
128
+ export async function evaluatePluginManifest(candidate, ctx) {
129
+ const manifest = await readPluginPackageManifest(candidate.packageRoot);
130
+ if (!manifest)
131
+ return null;
132
+ const block = manifest.elizaos?.plugin ?? {};
133
+ const shortId = pluginShortId(candidate.packageName);
134
+ const capabilities = Array.isArray(block.capabilities)
135
+ ? block.capabilities.filter((c) => typeof c === "string")
136
+ : [];
137
+ if (!block.autoEnableModule) {
138
+ // Manifest exists but no check module — treat as not-auto-enabled (the
139
+ // plugin can still be enabled via explicit user config). Still surface
140
+ // declared capabilities.
141
+ return {
142
+ packageName: candidate.packageName,
143
+ shortId,
144
+ enabled: false,
145
+ force: block.force === true,
146
+ capabilities,
147
+ reason: null,
148
+ error: null,
149
+ };
150
+ }
151
+ let module;
152
+ try {
153
+ module = await loadCheckModule(candidate.packageRoot, block.autoEnableModule);
154
+ }
155
+ catch (err) {
156
+ return {
157
+ packageName: candidate.packageName,
158
+ shortId,
159
+ enabled: false,
160
+ force: block.force === true,
161
+ capabilities,
162
+ reason: null,
163
+ error: `failed to import autoEnableModule "${block.autoEnableModule}": ${err instanceof Error ? err.message : String(err)}`,
164
+ };
165
+ }
166
+ if (!module) {
167
+ return {
168
+ packageName: candidate.packageName,
169
+ shortId,
170
+ enabled: false,
171
+ force: block.force === true,
172
+ capabilities,
173
+ reason: null,
174
+ error: `autoEnableModule "${block.autoEnableModule}" did not export a shouldEnable function`,
175
+ };
176
+ }
177
+ let enabled;
178
+ try {
179
+ enabled = Boolean(await module.shouldEnable(ctx));
180
+ }
181
+ catch (err) {
182
+ return {
183
+ packageName: candidate.packageName,
184
+ shortId,
185
+ enabled: false,
186
+ force: block.force === true,
187
+ capabilities,
188
+ reason: null,
189
+ error: `shouldEnable threw: ${err instanceof Error ? err.message : String(err)}`,
190
+ };
191
+ }
192
+ let force = block.force === true;
193
+ if (module.shouldForce) {
194
+ try {
195
+ force = force || Boolean(module.shouldForce(ctx));
196
+ }
197
+ catch {
198
+ // Treat predicate failure as "no force" — don't escalate.
199
+ force = block.force === true;
200
+ }
201
+ }
202
+ return {
203
+ packageName: candidate.packageName,
204
+ shortId,
205
+ enabled,
206
+ force,
207
+ capabilities,
208
+ reason: enabled || force
209
+ ? `manifest: ${candidate.packageName}/${block.autoEnableModule}`
210
+ : null,
211
+ error: null,
212
+ };
213
+ }
214
+ /**
215
+ * Evaluate every candidate. Verdicts come back in the same order as the input.
216
+ * Failures are reported in the verdict's `error` field — this function never
217
+ * throws so a single bad manifest can't kill auto-enable for the rest.
218
+ */
219
+ export async function evaluatePluginManifests(candidates, ctx) {
220
+ return Promise.all(candidates.map(async (candidate) => {
221
+ try {
222
+ return await evaluatePluginManifest(candidate, ctx);
223
+ }
224
+ catch (err) {
225
+ return {
226
+ packageName: candidate.packageName,
227
+ shortId: pluginShortId(candidate.packageName),
228
+ enabled: false,
229
+ force: false,
230
+ capabilities: [],
231
+ reason: null,
232
+ error: `manifest read failed: ${err instanceof Error ? err.message : String(err)}`,
233
+ };
234
+ }
235
+ })).then((entries) => entries.filter((v) => v !== null));
236
+ }
237
+ /**
238
+ * Apply manifest verdicts to a config: push enabled plugins onto
239
+ * `plugins.allow` (with the short id and full package name), set
240
+ * `plugins.entries[shortId].enabled = true` for forced ones, and append
241
+ * human-readable strings to `changes` for log surfacing.
242
+ */
243
+ export function applyPluginManifestVerdicts(config, verdicts, changes) {
244
+ config.plugins = config.plugins ?? {};
245
+ const pluginsConfig = config.plugins;
246
+ pluginsConfig.allow = pluginsConfig.allow ?? [];
247
+ pluginsConfig.entries = pluginsConfig.entries ?? {};
248
+ for (const verdict of verdicts) {
249
+ if (verdict.error) {
250
+ changes.push(`Plugin auto-enable error for ${verdict.packageName}: ${verdict.error}`);
251
+ continue;
252
+ }
253
+ if (!verdict.enabled && !verdict.force)
254
+ continue;
255
+ const explicitlyDisabled = pluginsConfig.entries[verdict.shortId]?.enabled === false;
256
+ if (explicitlyDisabled && !verdict.force) {
257
+ // User explicitly disabled — respect that unless force is set.
258
+ continue;
259
+ }
260
+ if (verdict.force && explicitlyDisabled) {
261
+ pluginsConfig.entries[verdict.shortId] = {
262
+ ...pluginsConfig.entries[verdict.shortId],
263
+ enabled: true,
264
+ };
265
+ }
266
+ let added = false;
267
+ if (!pluginsConfig.allow.includes(verdict.shortId)) {
268
+ pluginsConfig.allow.push(verdict.shortId);
269
+ added = true;
270
+ }
271
+ if (verdict.packageName !== verdict.shortId &&
272
+ !pluginsConfig.allow.includes(verdict.packageName)) {
273
+ pluginsConfig.allow.push(verdict.packageName);
274
+ added = true;
275
+ }
276
+ if (added && verdict.reason) {
277
+ changes.push(`Auto-enabled plugin: ${verdict.packageName} (${verdict.reason})`);
278
+ }
279
+ }
280
+ }
281
+ //# sourceMappingURL=plugin-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-manifest.js","sourceRoot":"","sources":["../../src/config/plugin-manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Generates UiSpec JSON for plugin/connector configuration forms.
3
+ *
4
+ * When the agent wants to help a user configure a plugin, it generates
5
+ * a UiSpec that renders as an interactive form in chat. The form fields
6
+ * are derived from the plugin's parameter definitions.
7
+ *
8
+ * Actions:
9
+ * - "plugin:save" → saves config via PUT /api/plugins/:id
10
+ * - "plugin:enable" → enables the plugin
11
+ * - "plugin:test" → tests connectivity
12
+ */
13
+ export interface PluginParam {
14
+ key: string;
15
+ required?: boolean;
16
+ isSet?: boolean;
17
+ type?: string;
18
+ description?: string;
19
+ label?: string;
20
+ }
21
+ export interface PluginForUiSpec {
22
+ id: string;
23
+ name: string;
24
+ description?: string;
25
+ enabled?: boolean;
26
+ category?: string;
27
+ parameters: PluginParam[];
28
+ }
29
+ /** Declarative UI specification for rendering plugin forms in chat. */
30
+ export interface PluginUiSpec {
31
+ version: number;
32
+ root: string;
33
+ elements: Record<string, Record<string, unknown>>;
34
+ state: Record<string, unknown>;
35
+ }
36
+ export declare function buildPluginConfigUiSpec(plugin: PluginForUiSpec): PluginUiSpec;
37
+ /**
38
+ * Generate a compact plugin list UiSpec for the agent to show available
39
+ * plugins matching a query.
40
+ */
41
+ export declare function buildPluginListUiSpec(plugins: PluginForUiSpec[], title: string): PluginUiSpec;
42
+ //# sourceMappingURL=plugin-ui-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-ui-spec.d.ts","sourceRoot":"","sources":["../../src/config/plugin-ui-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,WAAW,EAAE,CAAC;CAC3B;AAED,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,GAAG,YAAY,CAuL7E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,eAAe,EAAE,EAC1B,KAAK,EAAE,MAAM,GACZ,YAAY,CA+Ed"}
@@ -0,0 +1,257 @@
1
+ /**
2
+ * Generates UiSpec JSON for plugin/connector configuration forms.
3
+ *
4
+ * When the agent wants to help a user configure a plugin, it generates
5
+ * a UiSpec that renders as an interactive form in chat. The form fields
6
+ * are derived from the plugin's parameter definitions.
7
+ *
8
+ * Actions:
9
+ * - "plugin:save" → saves config via PUT /api/plugins/:id
10
+ * - "plugin:enable" → enables the plugin
11
+ * - "plugin:test" → tests connectivity
12
+ */
13
+ export function buildPluginConfigUiSpec(plugin) {
14
+ const elements = {};
15
+ const rootChildren = [];
16
+ const state = {
17
+ pluginId: plugin.id,
18
+ };
19
+ // Header
20
+ elements.header = {
21
+ type: "Stack",
22
+ props: { gap: "1", children: ["title", "desc"] },
23
+ };
24
+ rootChildren.push("header");
25
+ elements.title = {
26
+ type: "Heading",
27
+ props: {
28
+ level: 3,
29
+ text: `Configure ${plugin.name}`,
30
+ },
31
+ };
32
+ if (plugin.description) {
33
+ elements.desc = {
34
+ type: "Text",
35
+ props: {
36
+ text: plugin.description,
37
+ className: "text-xs text-muted",
38
+ },
39
+ };
40
+ }
41
+ // Status badge
42
+ const statusText = plugin.enabled
43
+ ? plugin.parameters.every((p) => !p.required || p.isSet)
44
+ ? "Ready"
45
+ : "Needs Configuration"
46
+ : "Disabled";
47
+ const statusVariant = plugin.enabled
48
+ ? plugin.parameters.every((p) => !p.required || p.isSet)
49
+ ? "default"
50
+ : "secondary"
51
+ : "outline";
52
+ elements.status = {
53
+ type: "Badge",
54
+ props: { text: statusText, variant: statusVariant },
55
+ };
56
+ rootChildren.push("status");
57
+ // Separator
58
+ elements.sep = { type: "Separator", props: {} };
59
+ rootChildren.push("sep");
60
+ // Parameter fields
61
+ const fieldIds = [];
62
+ for (const param of plugin.parameters) {
63
+ const fieldId = `field_${param.key}`;
64
+ const statePath = `config.${param.key}`;
65
+ fieldIds.push(fieldId);
66
+ state[`config.${param.key}`] = "";
67
+ const isSecret = param.key.includes("KEY") ||
68
+ param.key.includes("TOKEN") ||
69
+ param.key.includes("SECRET") ||
70
+ param.key.includes("PASSWORD");
71
+ elements[fieldId] = {
72
+ type: "Input",
73
+ props: {
74
+ label: param.label || param.key,
75
+ placeholder: param.isSet
76
+ ? "••••••• (already set)"
77
+ : param.required
78
+ ? "Required"
79
+ : "Optional",
80
+ statePath,
81
+ type: isSecret ? "password" : "text",
82
+ className: "font-mono text-xs",
83
+ },
84
+ ...(param.required
85
+ ? {
86
+ validation: {
87
+ checks: [
88
+ { rule: "required", message: `${param.key} is required` },
89
+ ],
90
+ },
91
+ }
92
+ : {}),
93
+ };
94
+ // Add description below field if available
95
+ if (param.description) {
96
+ const hintId = `hint_${param.key}`;
97
+ fieldIds.push(hintId);
98
+ elements[hintId] = {
99
+ type: "Text",
100
+ props: {
101
+ text: param.description,
102
+ className: "text-2xs text-muted -mt-1 mb-1",
103
+ },
104
+ };
105
+ }
106
+ }
107
+ elements.fields = {
108
+ type: "Stack",
109
+ props: { gap: "3", children: fieldIds },
110
+ };
111
+ rootChildren.push("fields");
112
+ // Action buttons
113
+ const buttonChildren = ["saveBtn"];
114
+ elements.saveBtn = {
115
+ type: "Button",
116
+ props: {
117
+ text: "Save Configuration",
118
+ variant: "default",
119
+ className: "font-semibold",
120
+ on: {
121
+ press: {
122
+ action: "plugin:save",
123
+ params: { pluginId: plugin.id },
124
+ },
125
+ },
126
+ },
127
+ };
128
+ if (!plugin.enabled) {
129
+ buttonChildren.push("enableBtn");
130
+ elements.enableBtn = {
131
+ type: "Button",
132
+ props: {
133
+ text: "Enable Plugin",
134
+ variant: "outline",
135
+ on: {
136
+ press: {
137
+ action: "plugin:enable",
138
+ params: { pluginId: plugin.id },
139
+ },
140
+ },
141
+ },
142
+ };
143
+ }
144
+ if (plugin.category === "connector") {
145
+ buttonChildren.push("testBtn");
146
+ elements.testBtn = {
147
+ type: "Button",
148
+ props: {
149
+ text: "Test Connection",
150
+ variant: "outline",
151
+ on: {
152
+ press: {
153
+ action: "plugin:test",
154
+ params: { pluginId: plugin.id },
155
+ },
156
+ },
157
+ },
158
+ };
159
+ }
160
+ elements.actions = {
161
+ type: "Stack",
162
+ props: { direction: "row", gap: "2", children: buttonChildren },
163
+ };
164
+ rootChildren.push("actions");
165
+ // Root
166
+ elements.root = {
167
+ type: "Card",
168
+ props: {
169
+ children: rootChildren,
170
+ className: "p-4 space-y-3",
171
+ },
172
+ };
173
+ return {
174
+ version: 1,
175
+ root: "root",
176
+ elements,
177
+ state,
178
+ };
179
+ }
180
+ /**
181
+ * Generate a compact plugin list UiSpec for the agent to show available
182
+ * plugins matching a query.
183
+ */
184
+ export function buildPluginListUiSpec(plugins, title) {
185
+ const elements = {};
186
+ const cardIds = [];
187
+ elements.heading = {
188
+ type: "Heading",
189
+ props: { level: 3, text: title },
190
+ };
191
+ for (let i = 0; i < plugins.length; i++) {
192
+ const p = plugins[i];
193
+ const cardId = `card_${i}`;
194
+ const nameId = `name_${i}`;
195
+ const descId = `desc_${i}`;
196
+ const badgeId = `badge_${i}`;
197
+ const configBtnId = `cfgBtn_${i}`;
198
+ cardIds.push(cardId);
199
+ elements[nameId] = {
200
+ type: "Text",
201
+ props: {
202
+ text: p.name,
203
+ className: "font-semibold text-sm",
204
+ },
205
+ };
206
+ elements[descId] = {
207
+ type: "Text",
208
+ props: {
209
+ text: p.description || "No description",
210
+ className: "text-xs text-muted",
211
+ },
212
+ };
213
+ elements[badgeId] = {
214
+ type: "Badge",
215
+ props: {
216
+ text: p.enabled ? "Enabled" : "Available",
217
+ variant: p.enabled ? "default" : "outline",
218
+ },
219
+ };
220
+ elements[configBtnId] = {
221
+ type: "Button",
222
+ props: {
223
+ text: "Configure",
224
+ variant: "outline",
225
+ size: "sm",
226
+ on: {
227
+ press: {
228
+ action: "plugin:configure",
229
+ params: { pluginId: p.id },
230
+ },
231
+ },
232
+ },
233
+ };
234
+ elements[cardId] = {
235
+ type: "Card",
236
+ props: {
237
+ children: [nameId, descId, badgeId, configBtnId],
238
+ className: "p-3 space-y-1",
239
+ },
240
+ };
241
+ }
242
+ elements.list = {
243
+ type: "Stack",
244
+ props: { gap: "2", children: cardIds },
245
+ };
246
+ elements.root = {
247
+ type: "Stack",
248
+ props: { gap: "3", children: ["heading", "list"] },
249
+ };
250
+ return {
251
+ version: 1,
252
+ root: "root",
253
+ elements,
254
+ state: {},
255
+ };
256
+ }
257
+ //# sourceMappingURL=plugin-ui-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-ui-spec.js","sourceRoot":"","sources":["../../src/config/plugin-ui-spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import type { DeploymentTargetConfig } from "../contracts/service-routing.js";
2
+ export declare const RUNTIME_EXECUTION_MODES: readonly ["cloud", "local-safe", "local-yolo"];
3
+ export type RuntimeExecutionMode = (typeof RUNTIME_EXECUTION_MODES)[number];
4
+ export interface RuntimeModeConfig {
5
+ executionMode?: RuntimeExecutionMode;
6
+ }
7
+ export interface RuntimeExecutionModeConfigSource {
8
+ runtime?: RuntimeModeConfig | Record<string, unknown> | null;
9
+ deploymentTarget?: DeploymentTargetConfig | null;
10
+ }
11
+ export interface RuntimeExecutionModeDefinition {
12
+ mode: RuntimeExecutionMode;
13
+ local: boolean;
14
+ cloud: boolean;
15
+ safe: boolean;
16
+ yolo: boolean;
17
+ }
18
+ export declare const RUNTIME_EXECUTION_MODE_DEFINITIONS: Record<RuntimeExecutionMode, RuntimeExecutionModeDefinition>;
19
+ export declare function normalizeRuntimeExecutionMode(value: unknown): RuntimeExecutionMode | null;
20
+ export declare function isCloudRuntimeMode(value: unknown): boolean;
21
+ export declare function isLocalRuntimeMode(value: unknown): boolean;
22
+ export declare function isSafeLocalMode(value: unknown): boolean;
23
+ export declare function isYoloLocalMode(value: unknown): boolean;
24
+ export declare function runtimeExecutionModeForDeploymentTarget(deploymentTarget: DeploymentTargetConfig | null | undefined): RuntimeExecutionMode;
25
+ export declare function readRuntimeExecutionModeConfig(config: RuntimeExecutionModeConfigSource | null | undefined): RuntimeExecutionMode;
26
+ /**
27
+ * Structural shape for the runtime/setting source consumed by the env-driven
28
+ * resolvers below. Kept structural so this module does not have to import
29
+ * `IAgentRuntime` from `@elizaos/core` (which would create a layering wart —
30
+ * runtime/agent types depend on this module, not the other way around).
31
+ */
32
+ export interface RuntimeExecutionModeSource {
33
+ getSetting?: (key: string) => unknown;
34
+ }
35
+ /**
36
+ * Canonical resolver for the active runtime execution mode at the
37
+ * agent/plugin boundary. Reads an explicit setting from the runtime first,
38
+ * then falls back to the same env vars, defaulting to `local-yolo` when
39
+ * nothing is set.
40
+ *
41
+ * This is the one source of truth for `cloud | local-safe | local-yolo`
42
+ * routing; both the agent package and the shell/coding-tools plugins import
43
+ * it from `@elizaos/shared` to avoid duplicating the resolution logic.
44
+ */
45
+ export declare function resolveRuntimeExecutionMode(source?: RuntimeExecutionModeSource | null): RuntimeExecutionMode;
46
+ /** Local-only narrowing of {@link RuntimeExecutionMode} for callers that only
47
+ * distinguish local-safe vs local-yolo. Cloud collapses to `local-yolo` here
48
+ * because legacy callers used this helper to pick a host-side execution path
49
+ * and only flipped to safe-mode when the sandbox was required. */
50
+ export type LocalExecutionMode = "local-safe" | "local-yolo";
51
+ export declare function resolveLocalExecutionMode(source?: RuntimeExecutionModeSource | null): LocalExecutionMode;
52
+ export declare function shouldUseSandboxExecution(source?: RuntimeExecutionModeSource | null): boolean;
53
+ export declare function isCloudExecutionMode(source?: RuntimeExecutionModeSource | null): boolean;
54
+ //# sourceMappingURL=runtime-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-mode.d.ts","sourceRoot":"","sources":["../../src/config/runtime-mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAI9E,eAAO,MAAM,uBAAuB,gDAI1B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,MAAM,WAAW,iBAAiB;IAChC,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC;AAED,MAAM,WAAW,gCAAgC;IAC/C,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,gBAAgB,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAED,eAAO,MAAM,kCAAkC,EAAE,MAAM,CACrD,oBAAoB,EACpB,8BAA8B,CAuB/B,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,GACb,oBAAoB,GAAG,IAAI,CAM7B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE1D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG1D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEvD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEvD;AAED,wBAAgB,uCAAuC,CACrD,gBAAgB,EAAE,sBAAsB,GAAG,IAAI,GAAG,SAAS,GAC1D,oBAAoB,CAEtB;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gCAAgC,GAAG,IAAI,GAAG,SAAS,GAC1D,oBAAoB,CAYtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACvC;AAQD;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,CAAC,EAAE,0BAA0B,GAAG,IAAI,GACzC,oBAAoB,CAoBtB;AAED;;;kEAGkE;AAClE,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,YAAY,CAAC;AAE7D,wBAAgB,yBAAyB,CACvC,MAAM,CAAC,EAAE,0BAA0B,GAAG,IAAI,GACzC,kBAAkB,CAIpB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,CAAC,EAAE,0BAA0B,GAAG,IAAI,GACzC,OAAO,CAET;AAED,wBAAgB,oBAAoB,CAClC,MAAM,CAAC,EAAE,0BAA0B,GAAG,IAAI,GACzC,OAAO,CAET"}