@elizaos/shared 2.0.0-alpha.537 → 2.0.0-beta.1

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 (565) hide show
  1. package/dist/api/chat-contracts.d.ts +2 -0
  2. package/dist/api/chat-contracts.d.ts.map +1 -0
  3. package/dist/api/chat-contracts.js +2 -0
  4. package/dist/api/chat-contracts.js.map +1 -0
  5. package/dist/api/http-helpers.d.ts +50 -0
  6. package/dist/api/http-helpers.d.ts.map +1 -0
  7. package/dist/api/http-helpers.js +168 -0
  8. package/dist/api/http-helpers.js.map +1 -0
  9. package/dist/api/route-helpers.d.ts +16 -0
  10. package/dist/api/route-helpers.d.ts.map +1 -0
  11. package/dist/api/route-helpers.js +2 -0
  12. package/dist/api/route-helpers.js.map +1 -0
  13. package/dist/cli/parse-duration.d.ts +5 -0
  14. package/dist/cli/parse-duration.d.ts.map +1 -0
  15. package/dist/cli/parse-duration.js +28 -0
  16. package/dist/cli/parse-duration.js.map +1 -0
  17. package/dist/config/allowed-hosts.d.ts +8 -0
  18. package/dist/config/allowed-hosts.d.ts.map +1 -0
  19. package/dist/config/allowed-hosts.js +44 -0
  20. package/dist/config/allowed-hosts.js.map +1 -0
  21. package/dist/config/api-key-prefix-hints.d.ts +25 -0
  22. package/dist/config/api-key-prefix-hints.d.ts.map +1 -0
  23. package/dist/config/api-key-prefix-hints.js +27 -0
  24. package/dist/config/api-key-prefix-hints.js.map +1 -0
  25. package/dist/config/app-config.d.ts +273 -0
  26. package/dist/config/app-config.d.ts.map +1 -0
  27. package/dist/config/app-config.js +32 -0
  28. package/dist/config/app-config.js.map +1 -0
  29. package/dist/config/app-manifest.d.ts +75 -0
  30. package/dist/config/app-manifest.d.ts.map +1 -0
  31. package/dist/config/app-manifest.js +109 -0
  32. package/dist/config/app-manifest.js.map +1 -0
  33. package/dist/config/boot-config-react.d.ts +5 -0
  34. package/dist/config/boot-config-react.d.ts.map +1 -0
  35. package/dist/config/boot-config-react.js +8 -0
  36. package/dist/config/boot-config-react.js.map +1 -0
  37. package/dist/config/boot-config-store.d.ts +74 -0
  38. package/dist/config/boot-config-store.d.ts.map +1 -0
  39. package/dist/config/boot-config-store.js +121 -0
  40. package/dist/config/boot-config-store.js.map +1 -0
  41. package/dist/config/boot-config.d.ts +6 -0
  42. package/dist/config/boot-config.d.ts.map +1 -0
  43. package/dist/config/boot-config.js +6 -0
  44. package/dist/config/boot-config.js.map +1 -0
  45. package/dist/config/branding-react.d.ts +4 -0
  46. package/dist/config/branding-react.d.ts.map +1 -0
  47. package/dist/config/branding-react.js +12 -0
  48. package/dist/config/branding-react.js.map +1 -0
  49. package/dist/config/branding.d.ts +53 -0
  50. package/dist/config/branding.d.ts.map +1 -0
  51. package/dist/config/branding.js +23 -0
  52. package/dist/config/branding.js.map +1 -0
  53. package/dist/config/cloud-only.d.ts +6 -0
  54. package/dist/config/cloud-only.d.ts.map +1 -0
  55. package/dist/config/cloud-only.js +16 -0
  56. package/dist/config/cloud-only.js.map +1 -0
  57. package/dist/config/config-catalog.d.ts +371 -0
  58. package/dist/config/config-catalog.d.ts.map +1 -0
  59. package/dist/config/config-catalog.js +710 -0
  60. package/dist/config/config-catalog.js.map +1 -0
  61. package/dist/config/config-paths.d.ts +11 -0
  62. package/dist/config/config-paths.d.ts.map +1 -0
  63. package/dist/config/config-paths.js +74 -0
  64. package/dist/config/config-paths.js.map +1 -0
  65. package/dist/config/config.d.ts +11 -0
  66. package/dist/config/config.d.ts.map +1 -0
  67. package/dist/config/config.js +23 -0
  68. package/dist/config/config.js.map +1 -0
  69. package/dist/config/distribution-profile.d.ts +16 -0
  70. package/dist/config/distribution-profile.d.ts.map +1 -0
  71. package/dist/config/distribution-profile.js +29 -0
  72. package/dist/config/distribution-profile.js.map +1 -0
  73. package/dist/config/env-vars.d.ts +2 -0
  74. package/dist/config/env-vars.d.ts.map +1 -0
  75. package/dist/config/env-vars.js +2 -0
  76. package/dist/config/env-vars.js.map +1 -0
  77. package/dist/config/index.d.ts +14 -0
  78. package/dist/config/index.d.ts.map +1 -0
  79. package/dist/config/index.js +17 -0
  80. package/dist/config/index.js.map +1 -0
  81. package/dist/config/plugin-auto-enable-engine.d.ts +4 -0
  82. package/dist/config/plugin-auto-enable-engine.d.ts.map +1 -0
  83. package/dist/config/plugin-auto-enable-engine.js +45 -0
  84. package/dist/config/plugin-auto-enable-engine.js.map +1 -0
  85. package/dist/config/plugin-auto-enable.d.ts +2 -0
  86. package/dist/config/plugin-auto-enable.d.ts.map +1 -0
  87. package/dist/config/plugin-auto-enable.js +8 -0
  88. package/dist/config/plugin-auto-enable.js.map +1 -0
  89. package/dist/config/plugin-manifest.d.ts +89 -0
  90. package/dist/config/plugin-manifest.d.ts.map +1 -0
  91. package/dist/config/plugin-manifest.js +272 -0
  92. package/dist/config/plugin-manifest.js.map +1 -0
  93. package/dist/config/plugin-ui-spec.d.ts +42 -0
  94. package/dist/config/plugin-ui-spec.d.ts.map +1 -0
  95. package/dist/config/plugin-ui-spec.js +257 -0
  96. package/dist/config/plugin-ui-spec.js.map +1 -0
  97. package/dist/config/runtime-mode.d.ts +54 -0
  98. package/dist/config/runtime-mode.d.ts.map +1 -0
  99. package/dist/config/runtime-mode.js +103 -0
  100. package/dist/config/runtime-mode.js.map +1 -0
  101. package/dist/config/runtime-overrides.d.ts +16 -0
  102. package/dist/config/runtime-overrides.d.ts.map +1 -0
  103. package/dist/config/runtime-overrides.js +49 -0
  104. package/dist/config/runtime-overrides.js.map +1 -0
  105. package/dist/config/schema.d.ts +7 -0
  106. package/dist/config/schema.d.ts.map +1 -0
  107. package/dist/config/schema.js +30 -0
  108. package/dist/config/schema.js.map +1 -0
  109. package/{config → dist/config}/types.eliza.d.ts +16 -38
  110. package/dist/config/types.eliza.d.ts.map +1 -0
  111. package/{config → dist/config}/types.messages.d.ts +1 -1
  112. package/{config → dist/config}/types.tools.d.ts +1 -1
  113. package/dist/config/ui-spec.d.ts +164 -0
  114. package/dist/config/ui-spec.d.ts.map +1 -0
  115. package/dist/config/ui-spec.js +14 -0
  116. package/dist/config/ui-spec.js.map +1 -0
  117. package/dist/config/wechat-config.d.ts +2 -0
  118. package/dist/config/wechat-config.d.ts.map +1 -0
  119. package/dist/config/wechat-config.js +2 -0
  120. package/dist/config/wechat-config.js.map +1 -0
  121. package/dist/config/zod-schema.agent-runtime.d.ts +1087 -0
  122. package/dist/config/zod-schema.agent-runtime.d.ts.map +1 -0
  123. package/dist/config/zod-schema.agent-runtime.js +764 -0
  124. package/dist/config/zod-schema.agent-runtime.js.map +1 -0
  125. package/dist/config/zod-schema.core.d.ts +1048 -0
  126. package/dist/config/zod-schema.core.d.ts.map +1 -0
  127. package/dist/config/zod-schema.core.js +707 -0
  128. package/dist/config/zod-schema.core.js.map +1 -0
  129. package/{connector-cred-types.d.ts → dist/connector-cred-types.d.ts} +3 -3
  130. package/{connector-cred-types.js → dist/connector-cred-types.js} +4 -4
  131. package/dist/connectors.d.ts +2 -0
  132. package/dist/connectors.d.ts.map +1 -0
  133. package/dist/connectors.js +2 -0
  134. package/dist/connectors.js.map +1 -0
  135. package/{contracts → dist/contracts}/apps.d.ts +21 -1
  136. package/dist/contracts/apps.d.ts.map +1 -0
  137. package/{contracts → dist/contracts}/apps.js +9 -10
  138. package/dist/contracts/apps.js.map +1 -0
  139. package/{contracts → dist/contracts}/awareness.d.ts +1 -1
  140. package/{contracts → dist/contracts}/config.d.ts +52 -4
  141. package/dist/contracts/config.d.ts.map +1 -0
  142. package/{contracts → dist/contracts}/content-pack.d.ts +1 -1
  143. package/{contracts → dist/contracts}/content-pack.d.ts.map +1 -1
  144. package/dist/contracts/feature-result.d.ts +24 -0
  145. package/dist/contracts/feature-result.d.ts.map +1 -0
  146. package/dist/contracts/feature-result.js +7 -0
  147. package/dist/contracts/feature-result.js.map +1 -0
  148. package/dist/contracts/health.d.ts +30 -0
  149. package/dist/contracts/health.d.ts.map +1 -0
  150. package/dist/contracts/health.js +29 -0
  151. package/dist/contracts/health.js.map +1 -0
  152. package/{contracts → dist/contracts}/index.d.ts +2 -1
  153. package/{contracts → dist/contracts}/index.d.ts.map +1 -1
  154. package/{contracts → dist/contracts}/index.js +2 -1
  155. package/dist/contracts/index.js.map +1 -0
  156. package/{contracts → dist/contracts}/lifeops.d.ts +410 -3
  157. package/dist/contracts/lifeops.d.ts.map +1 -0
  158. package/{contracts → dist/contracts}/lifeops.js +35 -5
  159. package/dist/contracts/lifeops.js.map +1 -0
  160. package/{contracts → dist/contracts}/onboarding.d.ts +107 -8
  161. package/dist/contracts/onboarding.d.ts.map +1 -0
  162. package/{contracts → dist/contracts}/onboarding.js +132 -13
  163. package/dist/contracts/onboarding.js.map +1 -0
  164. package/dist/contracts/permissions.d.ts +121 -0
  165. package/dist/contracts/permissions.d.ts.map +1 -0
  166. package/dist/contracts/permissions.js +31 -0
  167. package/dist/contracts/permissions.js.map +1 -0
  168. package/{contracts → dist/contracts}/service-routing.d.ts +4 -11
  169. package/dist/contracts/service-routing.d.ts.map +1 -0
  170. package/{contracts → dist/contracts}/service-routing.js +16 -14
  171. package/dist/contracts/service-routing.js.map +1 -0
  172. package/{contracts → dist/contracts}/wallet.d.ts +7 -0
  173. package/dist/contracts/wallet.d.ts.map +1 -0
  174. package/dist/contracts/wallet.js +194 -0
  175. package/dist/contracts/wallet.js.map +1 -0
  176. package/{env-utils.impl.d.ts → dist/env-utils.d.ts} +1 -1
  177. package/dist/env-utils.d.ts.map +1 -0
  178. package/{env-utils.impl.js → dist/env-utils.js} +4 -1
  179. package/dist/env-utils.js.map +1 -0
  180. package/dist/events/index.d.ts +62 -0
  181. package/dist/events/index.d.ts.map +1 -0
  182. package/dist/events/index.js +52 -0
  183. package/dist/events/index.js.map +1 -0
  184. package/dist/i18n/generated/validation-keyword-data.d.ts +3080 -0
  185. package/dist/i18n/generated/validation-keyword-data.d.ts.map +1 -0
  186. package/dist/i18n/generated/validation-keyword-data.js +3084 -0
  187. package/dist/i18n/generated/validation-keyword-data.js.map +1 -0
  188. package/dist/index.d.ts +93 -0
  189. package/dist/index.d.ts.map +1 -0
  190. package/dist/index.js +105 -0
  191. package/dist/index.js.map +1 -0
  192. package/dist/local-inference/index.d.ts +16 -0
  193. package/dist/local-inference/index.d.ts.map +1 -0
  194. package/dist/local-inference/index.js +16 -0
  195. package/dist/local-inference/index.js.map +1 -0
  196. package/dist/local-inference/paths.d.ts +24 -0
  197. package/dist/local-inference/paths.d.ts.map +1 -0
  198. package/dist/local-inference/paths.js +40 -0
  199. package/dist/local-inference/paths.js.map +1 -0
  200. package/dist/local-inference/routing-preferences.d.ts +31 -0
  201. package/dist/local-inference/routing-preferences.d.ts.map +1 -0
  202. package/dist/local-inference/routing-preferences.js +73 -0
  203. package/dist/local-inference/routing-preferences.js.map +1 -0
  204. package/dist/local-inference/types.d.ts +62 -0
  205. package/dist/local-inference/types.d.ts.map +1 -0
  206. package/dist/local-inference/types.js +25 -0
  207. package/dist/local-inference/types.js.map +1 -0
  208. package/dist/local-inference/verify.d.ts +39 -0
  209. package/dist/local-inference/verify.d.ts.map +1 -0
  210. package/dist/local-inference/verify.js +105 -0
  211. package/dist/local-inference/verify.js.map +1 -0
  212. package/dist/package.json +50 -0
  213. package/dist/platform/is-native-server.d.ts +9 -0
  214. package/dist/platform/is-native-server.d.ts.map +1 -0
  215. package/dist/platform/is-native-server.js +12 -0
  216. package/dist/platform/is-native-server.js.map +1 -0
  217. package/{runtime-env.js → dist/runtime-env.js} +2 -2
  218. package/{runtime-env.js.map → dist/runtime-env.js.map} +1 -1
  219. package/dist/self-edit.d.ts +64 -0
  220. package/dist/self-edit.d.ts.map +1 -0
  221. package/dist/self-edit.js +133 -0
  222. package/dist/self-edit.js.map +1 -0
  223. package/{settings-debug.d.ts.map → dist/settings-debug.d.ts.map} +1 -1
  224. package/{settings-debug.js → dist/settings-debug.js} +45 -38
  225. package/dist/settings-debug.js.map +1 -0
  226. package/{spoken-text.js → dist/spoken-text.js} +1 -1
  227. package/{spoken-text.js.map → dist/spoken-text.js.map} +1 -1
  228. package/dist/terminal/links.d.ts +9 -0
  229. package/dist/terminal/links.d.ts.map +1 -0
  230. package/dist/terminal/links.js +21 -0
  231. package/dist/terminal/links.js.map +1 -0
  232. package/dist/terminal/palette.d.ts +11 -0
  233. package/dist/terminal/palette.d.ts.map +1 -0
  234. package/dist/terminal/palette.js +13 -0
  235. package/dist/terminal/palette.js.map +1 -0
  236. package/dist/terminal/theme.d.ts +17 -0
  237. package/dist/terminal/theme.d.ts.map +1 -0
  238. package/dist/terminal/theme.js +25 -0
  239. package/dist/terminal/theme.js.map +1 -0
  240. package/dist/test-support/process-helpers.d.ts +13 -0
  241. package/dist/test-support/process-helpers.d.ts.map +1 -0
  242. package/dist/test-support/process-helpers.js +24 -0
  243. package/dist/test-support/process-helpers.js.map +1 -0
  244. package/dist/test-support/test-helpers.d.ts +112 -0
  245. package/dist/test-support/test-helpers.d.ts.map +1 -0
  246. package/dist/test-support/test-helpers.js +416 -0
  247. package/dist/test-support/test-helpers.js.map +1 -0
  248. package/{themes → dist/themes}/index.d.ts +3 -3
  249. package/dist/themes/index.d.ts.map +1 -0
  250. package/{themes → dist/themes}/index.js +2 -2
  251. package/{themes → dist/themes}/index.js.map +1 -1
  252. package/{themes → dist/themes}/presets.d.ts +1 -1
  253. package/{themes → dist/themes}/presets.d.ts.map +1 -1
  254. package/{type-guards.d.ts → dist/type-guards.d.ts} +1 -0
  255. package/dist/type-guards.d.ts.map +1 -0
  256. package/{type-guards.js → dist/type-guards.js} +6 -0
  257. package/dist/type-guards.js.map +1 -0
  258. package/dist/types/index.d.ts +655 -0
  259. package/dist/types/index.d.ts.map +1 -0
  260. package/dist/types/index.js +5 -0
  261. package/dist/types/index.js.map +1 -0
  262. package/dist/utils/asset-url.d.ts +24 -0
  263. package/dist/utils/asset-url.d.ts.map +1 -0
  264. package/dist/utils/asset-url.js +151 -0
  265. package/dist/utils/asset-url.js.map +1 -0
  266. package/dist/utils/assistant-text.d.ts +2 -0
  267. package/dist/utils/assistant-text.d.ts.map +1 -0
  268. package/dist/utils/assistant-text.js +168 -0
  269. package/dist/utils/assistant-text.js.map +1 -0
  270. package/dist/utils/browser-tab-kit-types.d.ts +81 -0
  271. package/dist/utils/browser-tab-kit-types.d.ts.map +1 -0
  272. package/dist/utils/browser-tab-kit-types.js +23 -0
  273. package/dist/utils/browser-tab-kit-types.js.map +1 -0
  274. package/dist/utils/browser-tabs-renderer-registry.d.ts +56 -0
  275. package/dist/utils/browser-tabs-renderer-registry.d.ts.map +1 -0
  276. package/dist/utils/browser-tabs-renderer-registry.js +962 -0
  277. package/{i18n/generated/validation-keyword-data.d.ts.map → dist/utils/browser-tabs-renderer-registry.js.map} +1 -1
  278. package/dist/utils/character-message-examples.d.ts +7 -0
  279. package/dist/utils/character-message-examples.d.ts.map +1 -0
  280. package/dist/utils/character-message-examples.js +123 -0
  281. package/dist/utils/character-message-examples.js.map +1 -0
  282. package/dist/utils/cloud-status.d.ts +3 -0
  283. package/dist/utils/cloud-status.d.ts.map +1 -0
  284. package/dist/utils/cloud-status.js +11 -0
  285. package/dist/utils/cloud-status.js.map +1 -0
  286. package/dist/utils/documents-upload-image.d.ts +27 -0
  287. package/dist/utils/documents-upload-image.d.ts.map +1 -0
  288. package/dist/utils/documents-upload-image.js +147 -0
  289. package/dist/utils/documents-upload-image.js.map +1 -0
  290. package/dist/utils/eliza-cloud-model-route.d.ts +3 -0
  291. package/dist/utils/eliza-cloud-model-route.d.ts.map +1 -0
  292. package/dist/utils/eliza-cloud-model-route.js +10 -0
  293. package/dist/utils/eliza-cloud-model-route.js.map +1 -0
  294. package/dist/utils/eliza-globals.d.ts +13 -0
  295. package/dist/utils/eliza-globals.d.ts.map +1 -0
  296. package/dist/utils/eliza-globals.js +49 -0
  297. package/dist/utils/eliza-globals.js.map +1 -0
  298. package/dist/utils/eliza-root.d.ts +9 -0
  299. package/dist/utils/eliza-root.d.ts.map +1 -0
  300. package/dist/utils/eliza-root.js +102 -0
  301. package/dist/utils/eliza-root.js.map +1 -0
  302. package/dist/utils/env.d.ts +34 -0
  303. package/dist/utils/env.d.ts.map +1 -0
  304. package/dist/utils/env.js +131 -0
  305. package/dist/utils/env.js.map +1 -0
  306. package/dist/utils/errors.d.ts +13 -0
  307. package/dist/utils/errors.d.ts.map +1 -0
  308. package/dist/utils/errors.js +26 -0
  309. package/dist/utils/errors.js.map +1 -0
  310. package/dist/utils/exec-safety.d.ts +2 -0
  311. package/dist/utils/exec-safety.d.ts.map +1 -0
  312. package/dist/utils/exec-safety.js +22 -0
  313. package/dist/utils/exec-safety.js.map +1 -0
  314. package/dist/utils/format.d.ts +66 -0
  315. package/dist/utils/format.d.ts.map +1 -0
  316. package/dist/utils/format.js +122 -0
  317. package/dist/utils/format.js.map +1 -0
  318. package/dist/utils/index.d.ts +12 -0
  319. package/dist/utils/index.d.ts.map +1 -0
  320. package/dist/utils/index.js +12 -0
  321. package/dist/utils/index.js.map +1 -0
  322. package/dist/utils/labels.d.ts +6 -0
  323. package/dist/utils/labels.d.ts.map +1 -0
  324. package/dist/utils/labels.js +42 -0
  325. package/dist/utils/labels.js.map +1 -0
  326. package/dist/utils/log-prefix.d.ts +2 -0
  327. package/dist/utils/log-prefix.d.ts.map +1 -0
  328. package/dist/utils/log-prefix.js +54 -0
  329. package/dist/utils/log-prefix.js.map +1 -0
  330. package/dist/utils/name-tokens.d.ts +24 -0
  331. package/dist/utils/name-tokens.d.ts.map +1 -0
  332. package/dist/utils/name-tokens.js +37 -0
  333. package/dist/utils/name-tokens.js.map +1 -0
  334. package/dist/utils/namespace-defaults.d.ts +6 -0
  335. package/dist/utils/namespace-defaults.d.ts.map +1 -0
  336. package/dist/utils/namespace-defaults.js +16 -0
  337. package/dist/utils/namespace-defaults.js.map +1 -0
  338. package/dist/utils/number-parsing.d.ts +26 -0
  339. package/dist/utils/number-parsing.d.ts.map +1 -0
  340. package/dist/utils/number-parsing.js +52 -0
  341. package/dist/utils/number-parsing.js.map +1 -0
  342. package/dist/utils/owner-name.d.ts +3 -0
  343. package/dist/utils/owner-name.d.ts.map +1 -0
  344. package/dist/utils/owner-name.js +8 -0
  345. package/dist/utils/owner-name.js.map +1 -0
  346. package/dist/utils/permission-deep-links.d.ts +34 -0
  347. package/dist/utils/permission-deep-links.d.ts.map +1 -0
  348. package/dist/utils/permission-deep-links.js +84 -0
  349. package/dist/utils/permission-deep-links.js.map +1 -0
  350. package/dist/utils/rate-limiter.d.ts +32 -0
  351. package/dist/utils/rate-limiter.d.ts.map +1 -0
  352. package/dist/utils/rate-limiter.js +53 -0
  353. package/dist/utils/rate-limiter.js.map +1 -0
  354. package/dist/utils/serialise.d.ts +12 -0
  355. package/dist/utils/serialise.d.ts.map +1 -0
  356. package/dist/utils/serialise.js +22 -0
  357. package/dist/utils/serialise.js.map +1 -0
  358. package/dist/utils/sql-compat.d.ts +10 -0
  359. package/dist/utils/sql-compat.d.ts.map +1 -0
  360. package/dist/utils/sql-compat.js +112 -0
  361. package/dist/utils/sql-compat.js.map +1 -0
  362. package/dist/utils/streaming-text.d.ts +9 -0
  363. package/dist/utils/streaming-text.d.ts.map +1 -0
  364. package/dist/utils/streaming-text.js +113 -0
  365. package/dist/utils/streaming-text.js.map +1 -0
  366. package/dist/utils/subscription-auth.d.ts +9 -0
  367. package/dist/utils/subscription-auth.d.ts.map +1 -0
  368. package/dist/utils/subscription-auth.js +49 -0
  369. package/dist/utils/subscription-auth.js.map +1 -0
  370. package/dist/utils/trajectory-format.d.ts +6 -0
  371. package/dist/utils/trajectory-format.d.ts.map +1 -0
  372. package/dist/utils/trajectory-format.js +44 -0
  373. package/dist/utils/trajectory-format.js.map +1 -0
  374. package/dist/utils/tts-debug.d.ts +9 -0
  375. package/dist/utils/tts-debug.d.ts.map +1 -0
  376. package/dist/utils/tts-debug.js +70 -0
  377. package/dist/utils/tts-debug.js.map +1 -0
  378. package/dist/voice.d.ts +40 -0
  379. package/dist/voice.d.ts.map +1 -0
  380. package/dist/voice.js +296 -0
  381. package/dist/voice.js.map +1 -0
  382. package/package.json +33 -174
  383. package/config/types.eliza.d.ts.map +0 -1
  384. package/connectors.d.ts +0 -13
  385. package/connectors.d.ts.map +0 -1
  386. package/connectors.js +0 -97
  387. package/connectors.js.map +0 -1
  388. package/contracts/apps.d.ts.map +0 -1
  389. package/contracts/apps.js.map +0 -1
  390. package/contracts/config.d.ts.map +0 -1
  391. package/contracts/index.js.map +0 -1
  392. package/contracts/lifeops-extensions.d.ts +0 -340
  393. package/contracts/lifeops-extensions.d.ts.map +0 -1
  394. package/contracts/lifeops-extensions.js +0 -37
  395. package/contracts/lifeops-extensions.js.map +0 -1
  396. package/contracts/lifeops.d.ts.map +0 -1
  397. package/contracts/lifeops.js.map +0 -1
  398. package/contracts/onboarding.d.ts.map +0 -1
  399. package/contracts/onboarding.js.map +0 -1
  400. package/contracts/permissions.d.ts +0 -38
  401. package/contracts/permissions.d.ts.map +0 -1
  402. package/contracts/permissions.js +0 -5
  403. package/contracts/permissions.js.map +0 -1
  404. package/contracts/scratchpad.d.ts +0 -136
  405. package/contracts/scratchpad.d.ts.map +0 -1
  406. package/contracts/scratchpad.js +0 -91
  407. package/contracts/scratchpad.js.map +0 -1
  408. package/contracts/service-routing.d.ts.map +0 -1
  409. package/contracts/service-routing.js.map +0 -1
  410. package/contracts/wallet.d.ts.map +0 -1
  411. package/contracts/wallet.js +0 -61
  412. package/contracts/wallet.js.map +0 -1
  413. package/eliza-core-roles.d.ts +0 -79
  414. package/eliza-core-roles.d.ts.map +0 -1
  415. package/eliza-core-roles.js +0 -600
  416. package/eliza-core-roles.js.map +0 -1
  417. package/env-utils.d.ts +0 -5
  418. package/env-utils.d.ts.map +0 -1
  419. package/env-utils.impl.d.ts.map +0 -1
  420. package/env-utils.impl.js.map +0 -1
  421. package/env-utils.js +0 -5
  422. package/env-utils.js.map +0 -1
  423. package/i18n/generated/validation-keyword-data.d.ts +0 -1091
  424. package/i18n/generated/validation-keyword-data.js +0 -1095
  425. package/i18n/generated/validation-keyword-data.js.map +0 -1
  426. package/index.d.ts +0 -27
  427. package/index.d.ts.map +0 -1
  428. package/index.js +0 -39
  429. package/index.js.map +0 -1
  430. package/settings-debug.js.map +0 -1
  431. package/themes/index.d.ts.map +0 -1
  432. package/type-guards.d.ts.map +0 -1
  433. package/type-guards.js.map +0 -1
  434. package/types.d.ts +0 -27
  435. package/types.d.ts.map +0 -1
  436. package/types.js +0 -2
  437. package/types.js.map +0 -1
  438. /package/{app-hero-art.d.ts → dist/app-hero-art.d.ts} +0 -0
  439. /package/{app-hero-art.d.ts.map → dist/app-hero-art.d.ts.map} +0 -0
  440. /package/{app-hero-art.js → dist/app-hero-art.js} +0 -0
  441. /package/{app-hero-art.js.map → dist/app-hero-art.js.map} +0 -0
  442. /package/{awareness → dist/awareness}/index.d.ts +0 -0
  443. /package/{awareness → dist/awareness}/index.d.ts.map +0 -0
  444. /package/{awareness → dist/awareness}/index.js +0 -0
  445. /package/{awareness → dist/awareness}/index.js.map +0 -0
  446. /package/{awareness → dist/awareness}/registry.d.ts +0 -0
  447. /package/{awareness → dist/awareness}/registry.d.ts.map +0 -0
  448. /package/{awareness → dist/awareness}/registry.js +0 -0
  449. /package/{awareness → dist/awareness}/registry.js.map +0 -0
  450. /package/{config → dist/config}/types.agent-defaults.d.ts +0 -0
  451. /package/{config → dist/config}/types.agent-defaults.d.ts.map +0 -0
  452. /package/{config → dist/config}/types.agent-defaults.js +0 -0
  453. /package/{config → dist/config}/types.agent-defaults.js.map +0 -0
  454. /package/{config → dist/config}/types.agents.d.ts +0 -0
  455. /package/{config → dist/config}/types.agents.d.ts.map +0 -0
  456. /package/{config → dist/config}/types.agents.js +0 -0
  457. /package/{config → dist/config}/types.agents.js.map +0 -0
  458. /package/{config → dist/config}/types.d.ts +0 -0
  459. /package/{config → dist/config}/types.d.ts.map +0 -0
  460. /package/{config → dist/config}/types.eliza.js +0 -0
  461. /package/{config → dist/config}/types.eliza.js.map +0 -0
  462. /package/{config → dist/config}/types.gateway.d.ts +0 -0
  463. /package/{config → dist/config}/types.gateway.d.ts.map +0 -0
  464. /package/{config → dist/config}/types.gateway.js +0 -0
  465. /package/{config → dist/config}/types.gateway.js.map +0 -0
  466. /package/{config → dist/config}/types.hooks.d.ts +0 -0
  467. /package/{config → dist/config}/types.hooks.d.ts.map +0 -0
  468. /package/{config → dist/config}/types.hooks.js +0 -0
  469. /package/{config → dist/config}/types.hooks.js.map +0 -0
  470. /package/{config → dist/config}/types.js +0 -0
  471. /package/{config → dist/config}/types.js.map +0 -0
  472. /package/{config → dist/config}/types.messages.d.ts.map +0 -0
  473. /package/{config → dist/config}/types.messages.js +0 -0
  474. /package/{config → dist/config}/types.messages.js.map +0 -0
  475. /package/{config → dist/config}/types.tools.d.ts.map +0 -0
  476. /package/{config → dist/config}/types.tools.js +0 -0
  477. /package/{config → dist/config}/types.tools.js.map +0 -0
  478. /package/{connector-cred-types.d.ts.map → dist/connector-cred-types.d.ts.map} +0 -0
  479. /package/{connector-cred-types.js.map → dist/connector-cred-types.js.map} +0 -0
  480. /package/{contracts → dist/contracts}/awareness.d.ts.map +0 -0
  481. /package/{contracts → dist/contracts}/awareness.js +0 -0
  482. /package/{contracts → dist/contracts}/awareness.js.map +0 -0
  483. /package/{contracts → dist/contracts}/cloud-topology.d.ts +0 -0
  484. /package/{contracts → dist/contracts}/cloud-topology.d.ts.map +0 -0
  485. /package/{contracts → dist/contracts}/cloud-topology.js +0 -0
  486. /package/{contracts → dist/contracts}/cloud-topology.js.map +0 -0
  487. /package/{contracts → dist/contracts}/config.js +0 -0
  488. /package/{contracts → dist/contracts}/config.js.map +0 -0
  489. /package/{contracts → dist/contracts}/content-pack.js +0 -0
  490. /package/{contracts → dist/contracts}/content-pack.js.map +0 -0
  491. /package/{contracts → dist/contracts}/drop.d.ts +0 -0
  492. /package/{contracts → dist/contracts}/drop.d.ts.map +0 -0
  493. /package/{contracts → dist/contracts}/drop.js +0 -0
  494. /package/{contracts → dist/contracts}/drop.js.map +0 -0
  495. /package/{contracts → dist/contracts}/inbox.d.ts +0 -0
  496. /package/{contracts → dist/contracts}/inbox.d.ts.map +0 -0
  497. /package/{contracts → dist/contracts}/inbox.js +0 -0
  498. /package/{contracts → dist/contracts}/inbox.js.map +0 -0
  499. /package/{contracts → dist/contracts}/lifeops-connector-degradation.d.ts +0 -0
  500. /package/{contracts → dist/contracts}/lifeops-connector-degradation.d.ts.map +0 -0
  501. /package/{contracts → dist/contracts}/lifeops-connector-degradation.js +0 -0
  502. /package/{contracts → dist/contracts}/lifeops-connector-degradation.js.map +0 -0
  503. /package/{contracts → dist/contracts}/theme.d.ts +0 -0
  504. /package/{contracts → dist/contracts}/theme.d.ts.map +0 -0
  505. /package/{contracts → dist/contracts}/theme.js +0 -0
  506. /package/{contracts → dist/contracts}/theme.js.map +0 -0
  507. /package/{contracts → dist/contracts}/verification.d.ts +0 -0
  508. /package/{contracts → dist/contracts}/verification.d.ts.map +0 -0
  509. /package/{contracts → dist/contracts}/verification.js +0 -0
  510. /package/{contracts → dist/contracts}/verification.js.map +0 -0
  511. /package/{dev-settings-banner-style.d.ts → dist/dev-settings-banner-style.d.ts} +0 -0
  512. /package/{dev-settings-banner-style.d.ts.map → dist/dev-settings-banner-style.d.ts.map} +0 -0
  513. /package/{dev-settings-banner-style.js → dist/dev-settings-banner-style.js} +0 -0
  514. /package/{dev-settings-banner-style.js.map → dist/dev-settings-banner-style.js.map} +0 -0
  515. /package/{dev-settings-figlet-heading.d.ts → dist/dev-settings-figlet-heading.d.ts} +0 -0
  516. /package/{dev-settings-figlet-heading.d.ts.map → dist/dev-settings-figlet-heading.d.ts.map} +0 -0
  517. /package/{dev-settings-figlet-heading.js → dist/dev-settings-figlet-heading.js} +0 -0
  518. /package/{dev-settings-figlet-heading.js.map → dist/dev-settings-figlet-heading.js.map} +0 -0
  519. /package/{dev-settings-table.d.ts → dist/dev-settings-table.d.ts} +0 -0
  520. /package/{dev-settings-table.d.ts.map → dist/dev-settings-table.d.ts.map} +0 -0
  521. /package/{dev-settings-table.js → dist/dev-settings-table.js} +0 -0
  522. /package/{dev-settings-table.js.map → dist/dev-settings-table.js.map} +0 -0
  523. /package/{format-error.d.ts → dist/format-error.d.ts} +0 -0
  524. /package/{format-error.d.ts.map → dist/format-error.d.ts.map} +0 -0
  525. /package/{format-error.js → dist/format-error.js} +0 -0
  526. /package/{format-error.js.map → dist/format-error.js.map} +0 -0
  527. /package/{i18n → dist/i18n}/keyword-matching.d.ts +0 -0
  528. /package/{i18n → dist/i18n}/keyword-matching.d.ts.map +0 -0
  529. /package/{i18n → dist/i18n}/keyword-matching.js +0 -0
  530. /package/{i18n → dist/i18n}/keyword-matching.js.map +0 -0
  531. /package/{i18n → dist/i18n}/validation-keywords.d.ts +0 -0
  532. /package/{i18n → dist/i18n}/validation-keywords.d.ts.map +0 -0
  533. /package/{i18n → dist/i18n}/validation-keywords.js +0 -0
  534. /package/{i18n → dist/i18n}/validation-keywords.js.map +0 -0
  535. /package/{onboarding-presets.characters.d.ts → dist/onboarding-presets.characters.d.ts} +0 -0
  536. /package/{onboarding-presets.characters.d.ts.map → dist/onboarding-presets.characters.d.ts.map} +0 -0
  537. /package/{onboarding-presets.characters.js → dist/onboarding-presets.characters.js} +0 -0
  538. /package/{onboarding-presets.characters.js.map → dist/onboarding-presets.characters.js.map} +0 -0
  539. /package/{onboarding-presets.d.ts → dist/onboarding-presets.d.ts} +0 -0
  540. /package/{onboarding-presets.d.ts.map → dist/onboarding-presets.d.ts.map} +0 -0
  541. /package/{onboarding-presets.js → dist/onboarding-presets.js} +0 -0
  542. /package/{onboarding-presets.js.map → dist/onboarding-presets.js.map} +0 -0
  543. /package/{onboarding-presets.shared.d.ts → dist/onboarding-presets.shared.d.ts} +0 -0
  544. /package/{onboarding-presets.shared.d.ts.map → dist/onboarding-presets.shared.d.ts.map} +0 -0
  545. /package/{onboarding-presets.shared.js → dist/onboarding-presets.shared.js} +0 -0
  546. /package/{onboarding-presets.shared.js.map → dist/onboarding-presets.shared.js.map} +0 -0
  547. /package/{recent-messages-state.d.ts → dist/recent-messages-state.d.ts} +0 -0
  548. /package/{recent-messages-state.d.ts.map → dist/recent-messages-state.d.ts.map} +0 -0
  549. /package/{recent-messages-state.js → dist/recent-messages-state.js} +0 -0
  550. /package/{recent-messages-state.js.map → dist/recent-messages-state.js.map} +0 -0
  551. /package/{restart.d.ts → dist/restart.d.ts} +0 -0
  552. /package/{restart.d.ts.map → dist/restart.d.ts.map} +0 -0
  553. /package/{restart.js → dist/restart.js} +0 -0
  554. /package/{restart.js.map → dist/restart.js.map} +0 -0
  555. /package/{runtime-env.d.ts → dist/runtime-env.d.ts} +0 -0
  556. /package/{runtime-env.d.ts.map → dist/runtime-env.d.ts.map} +0 -0
  557. /package/{settings-debug.d.ts → dist/settings-debug.d.ts} +0 -0
  558. /package/{spoken-text.d.ts → dist/spoken-text.d.ts} +0 -0
  559. /package/{spoken-text.d.ts.map → dist/spoken-text.d.ts.map} +0 -0
  560. /package/{themes → dist/themes}/presets.js +0 -0
  561. /package/{themes → dist/themes}/presets.js.map +0 -0
  562. /package/{validation-keywords.d.ts → dist/validation-keywords.d.ts} +0 -0
  563. /package/{validation-keywords.d.ts.map → dist/validation-keywords.d.ts.map} +0 -0
  564. /package/{validation-keywords.js → dist/validation-keywords.js} +0 -0
  565. /package/{validation-keywords.js.map → dist/validation-keywords.js.map} +0 -0
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Store-only boot config entry, safe for Bun/Node API paths.
3
+ *
4
+ * UI packages may augment the shape with component implementations, but the
5
+ * shared runtime only needs a process-global config object and a few common
6
+ * fields used by API clients and asset helpers.
7
+ */
8
+ export const DEFAULT_BOOT_CONFIG = {
9
+ branding: {},
10
+ cloudApiBase: "https://www.elizacloud.ai",
11
+ };
12
+ const BOOT_CONFIG_STORE_KEY = Symbol.for("elizaos.app.boot-config");
13
+ const BOOT_CONFIG_WINDOW_KEY = "__ELIZAOS_APP_BOOT_CONFIG__";
14
+ function getGlobalSlot() {
15
+ return globalThis;
16
+ }
17
+ function getBootConfigStore() {
18
+ const globalObject = getGlobalSlot();
19
+ const mirroredWindowConfig = globalObject[BOOT_CONFIG_WINDOW_KEY];
20
+ if (mirroredWindowConfig) {
21
+ const mirroredStore = { current: mirroredWindowConfig };
22
+ globalObject[BOOT_CONFIG_STORE_KEY] = mirroredStore;
23
+ return mirroredStore;
24
+ }
25
+ const existing = globalObject[BOOT_CONFIG_STORE_KEY];
26
+ if (existing &&
27
+ typeof existing === "object" &&
28
+ "current" in existing) {
29
+ return existing;
30
+ }
31
+ const store = { current: DEFAULT_BOOT_CONFIG };
32
+ globalObject[BOOT_CONFIG_STORE_KEY] = store;
33
+ globalObject[BOOT_CONFIG_WINDOW_KEY] = store.current;
34
+ return store;
35
+ }
36
+ export function setBootConfig(config) {
37
+ const store = getBootConfigStore();
38
+ store.current = config;
39
+ getGlobalSlot()[BOOT_CONFIG_WINDOW_KEY] = config;
40
+ }
41
+ export function getBootConfig() {
42
+ return getBootConfigStore().current;
43
+ }
44
+ const mirroredBrandKeys = new Set();
45
+ const mirroredElizaKeys = new Set();
46
+ const getProcessEnv = () => {
47
+ try {
48
+ const p = globalThis.process;
49
+ return p?.env ?? null;
50
+ }
51
+ catch {
52
+ return null;
53
+ }
54
+ };
55
+ /** Sync brand env vars → Eliza equivalents. Server-side only. */
56
+ export function syncBrandEnvToEliza(aliases) {
57
+ const env = getProcessEnv();
58
+ if (!env)
59
+ return;
60
+ for (const [brandKey, elizaKey] of aliases) {
61
+ const value = env[brandKey];
62
+ if (typeof value === "string") {
63
+ env[elizaKey] = value;
64
+ mirroredElizaKeys.add(elizaKey);
65
+ }
66
+ else if (mirroredElizaKeys.has(elizaKey)) {
67
+ delete env[elizaKey];
68
+ mirroredElizaKeys.delete(elizaKey);
69
+ }
70
+ }
71
+ }
72
+ /** Sync Eliza env vars → brand equivalents. Server-side only. */
73
+ export function syncElizaEnvToBrand(aliases) {
74
+ const env = getProcessEnv();
75
+ if (!env)
76
+ return;
77
+ for (const [brandKey, elizaKey] of aliases) {
78
+ const value = env[elizaKey];
79
+ if (typeof value === "string") {
80
+ env[brandKey] = value;
81
+ mirroredBrandKeys.add(brandKey);
82
+ }
83
+ else if (mirroredBrandKeys.has(brandKey)) {
84
+ delete env[brandKey];
85
+ mirroredBrandKeys.delete(brandKey);
86
+ }
87
+ }
88
+ }
89
+ function resolveAssets(catalog) {
90
+ return catalog.assets.map((asset) => ({
91
+ ...asset,
92
+ compressedVrmPath: `vrms/${asset.slug}.vrm.gz`,
93
+ rawVrmPath: `vrms/${asset.slug}.vrm`,
94
+ previewPath: `vrms/previews/${asset.slug}.png`,
95
+ backgroundPath: `vrms/backgrounds/${asset.slug}.png`,
96
+ sourceVrmFilename: `${asset.sourceName}.vrm`,
97
+ }));
98
+ }
99
+ export function resolveCharacterCatalog(catalog) {
100
+ const assets = resolveAssets(catalog);
101
+ const assetById = new Map(assets.map((asset) => [asset.id, asset]));
102
+ const defaultAsset = assets[0] ?? null;
103
+ const injectedCharacters = catalog.injectedCharacters.map((character) => {
104
+ const avatarAsset = assetById.get(character.avatarAssetId) ?? defaultAsset;
105
+ if (!avatarAsset) {
106
+ throw new Error(`Missing avatar asset ${character.avatarAssetId} for ${character.name}.`);
107
+ }
108
+ return { ...character, avatarAsset };
109
+ });
110
+ const byCatchphrase = new Map(injectedCharacters.map((character) => [character.catchphrase, character]));
111
+ return {
112
+ assets,
113
+ assetCount: assets.length,
114
+ defaultAsset,
115
+ injectedCharacters,
116
+ injectedCharacterCount: injectedCharacters.length,
117
+ getAsset: (id) => assetById.get(id) ?? defaultAsset,
118
+ getInjectedCharacter: (catchphrase) => byCatchphrase.get(catchphrase) ?? null,
119
+ };
120
+ }
121
+ //# sourceMappingURL=boot-config-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boot-config-store.js","sourceRoot":"","sources":["../../src/config/boot-config-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Store-only entry — safe for Bun/Node API paths without loading `react`.
3
+ * For `useBootConfig` / `AppBootContext`, import `./boot-config-react`.
4
+ */
5
+ export * from "./boot-config-store.js";
6
+ //# sourceMappingURL=boot-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boot-config.d.ts","sourceRoot":"","sources":["../../src/config/boot-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Store-only entry — safe for Bun/Node API paths without loading `react`.
3
+ * For `useBootConfig` / `AppBootContext`, import `./boot-config-react`.
4
+ */
5
+ export * from "./boot-config-store.js";
6
+ //# sourceMappingURL=boot-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boot-config.js","sourceRoot":"","sources":["../../src/config/boot-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { BrandingConfig } from "./branding.ts";
2
+ export declare const BrandingContext: import("react").Context<BrandingConfig>;
3
+ export declare function useBranding(): BrandingConfig;
4
+ //# sourceMappingURL=branding-react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branding-react.d.ts","sourceRoot":"","sources":["../../src/config/branding-react.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,eAAO,MAAM,eAAe,yCAAkD,CAAC;AAE/E,wBAAgB,WAAW,IAAI,cAAc,CAE5C"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * React-bound branding context. Split from `branding.ts` so that node-side
3
+ * consumers (bench server, agent boot) can import the type-only and helper
4
+ * exports from `@elizaos/shared` without pulling React into the runtime.
5
+ */
6
+ import { createContext, useContext } from "react";
7
+ import { DEFAULT_BRANDING } from "./branding.js";
8
+ export const BrandingContext = createContext(DEFAULT_BRANDING);
9
+ export function useBranding() {
10
+ return useContext(BrandingContext);
11
+ }
12
+ //# sourceMappingURL=branding-react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branding-react.js","sourceRoot":"","sources":["../../src/config/branding-react.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAiB,gBAAgB,CAAC,CAAC;AAE/E,MAAM,UAAU,WAAW;IACzB,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC;AACrC,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Custom provider that apps can inject into the onboarding flow.
3
+ * Uses `string` for id/family so apps aren't restricted to the built-in union.
4
+ */
5
+ export interface CustomProviderOption {
6
+ id: string;
7
+ name: string;
8
+ envKey: string | null;
9
+ pluginName: string;
10
+ keyPrefix: string | null;
11
+ description: string;
12
+ family: string;
13
+ authMode: "api-key" | "cloud" | "credentials" | "local" | "subscription";
14
+ group: "cloud" | "local" | "subscription";
15
+ order: number;
16
+ recommended?: boolean;
17
+ /** Dark-mode logo path (e.g. "/logos/my-provider.png") */
18
+ logoDark?: string;
19
+ /** Light-mode logo path */
20
+ logoLight?: string;
21
+ }
22
+ export interface BrandingConfig {
23
+ /** Product name shown in UI ("Eliza" | "the app") */
24
+ appName: string;
25
+ /** GitHub org ("elizaos" | "elizaos") */
26
+ orgName: string;
27
+ /** GitHub repo name ("eliza" | "eliza") */
28
+ repoName: string;
29
+ /** Documentation site URL */
30
+ docsUrl: string;
31
+ /** App origin URL */
32
+ appUrl: string;
33
+ /** GitHub bug report URL */
34
+ bugReportUrl: string;
35
+ /** Twitter hashtag ("#ElizaAgent" | "#AppAgent") */
36
+ hashtag: string;
37
+ /** Agent file extension (".eliza-agent" | ".eliza-agent") */
38
+ fileExtension: string;
39
+ /** npm package scope ("elizaos" | "elizaos") */
40
+ packageScope: string;
41
+ /** Custom providers injected by the app into the onboarding flow */
42
+ customProviders?: CustomProviderOption[];
43
+ /** When true, the app requires Eliza Cloud — local backend mode is disabled. */
44
+ cloudOnly?: boolean;
45
+ }
46
+ /** Default for i18n copy that uses `{{appName}}` (e.g. "Where should {{appName}} run?"). */
47
+ export declare const DEFAULT_APP_DISPLAY_NAME = "Eliza";
48
+ export declare const DEFAULT_BRANDING: BrandingConfig;
49
+ /** Pass to `t(key, appNameInterpolationVars(branding))` when the string contains `{{appName}}`. */
50
+ export declare function appNameInterpolationVars(branding: BrandingConfig): {
51
+ appName: string;
52
+ };
53
+ //# sourceMappingURL=branding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branding.d.ts","sourceRoot":"","sources":["../../src/config/branding.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,OAAO,GAAG,cAAc,CAAC;IACzE,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,cAAc,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACzC,gFAAgF;IAChF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,4FAA4F;AAC5F,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAEhD,eAAO,MAAM,gBAAgB,EAAE,cAW9B,CAAC;AAOF,mGAAmG;AACnG,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,cAAc,GAAG;IAClE,OAAO,EAAE,MAAM,CAAC;CACjB,CAGA"}
@@ -0,0 +1,23 @@
1
+ /** Default for i18n copy that uses `{{appName}}` (e.g. "Where should {{appName}} run?"). */
2
+ export const DEFAULT_APP_DISPLAY_NAME = "Eliza";
3
+ export const DEFAULT_BRANDING = {
4
+ appName: DEFAULT_APP_DISPLAY_NAME,
5
+ orgName: "elizaos",
6
+ repoName: "eliza",
7
+ docsUrl: "https://docs.elizaos.ai",
8
+ appUrl: "https://app.elizaos.ai",
9
+ bugReportUrl: "https://github.com/elizaos/eliza/issues/new?template=bug_report.yml",
10
+ hashtag: "#ElizaAgent",
11
+ fileExtension: ".eliza-agent",
12
+ packageScope: "elizaos",
13
+ };
14
+ // React-bound BrandingContext + useBranding live in
15
+ // `./branding-react.tsx` so `@elizaos/shared` can be imported from
16
+ // node-side benchmark / agent code without dragging React into the
17
+ // runtime closure (the bench server fails to boot otherwise).
18
+ /** Pass to `t(key, appNameInterpolationVars(branding))` when the string contains `{{appName}}`. */
19
+ export function appNameInterpolationVars(branding) {
20
+ const name = branding.appName?.trim();
21
+ return { appName: name || DEFAULT_APP_DISPLAY_NAME };
22
+ }
23
+ //# sourceMappingURL=branding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branding.js","sourceRoot":"","sources":["../../src/config/branding.ts"],"names":[],"mappings":"AA+CA,4FAA4F;AAC5F,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAEhD,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,OAAO,EAAE,wBAAwB;IACjC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,yBAAyB;IAClC,MAAM,EAAE,wBAAwB;IAChC,YAAY,EACV,qEAAqE;IACvE,OAAO,EAAE,aAAa;IACtB,aAAa,EAAE,cAAc;IAC7B,YAAY,EAAE,SAAS;CACxB,CAAC;AAEF,oDAAoD;AACpD,mEAAmE;AACnE,mEAAmE;AACnE,8DAA8D;AAE9D,mGAAmG;AACnG,MAAM,UAAU,wBAAwB,CAAC,QAAwB;IAG/D,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,wBAAwB,EAAE,CAAC;AACvD,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare function shouldUseCloudOnlyBranding(options: {
2
+ isDev: boolean;
3
+ injectedApiBase?: string | null;
4
+ isNativePlatform?: boolean;
5
+ }): boolean;
6
+ //# sourceMappingURL=cloud-only.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-only.d.ts","sourceRoot":"","sources":["../../src/config/cloud-only.ts"],"names":[],"mappings":"AAAA,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAClD,KAAK,EAAE,OAAO,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,OAAO,CAcV"}
@@ -0,0 +1,16 @@
1
+ export function shouldUseCloudOnlyBranding(options) {
2
+ if (options.isDev)
3
+ return false;
4
+ // Mobile (iOS/Android) is always cloud-only — no local runtime available.
5
+ // Users must connect to ElizaCloud or a remote instance.
6
+ if (options.isNativePlatform)
7
+ return true;
8
+ // Desktop shells inject an explicit backend before React boots. When that
9
+ // happens, the renderer should follow the host backend's capabilities rather
10
+ // than hard-coding the production web cloud-only preset.
11
+ const injectedApiBase = options.injectedApiBase?.trim();
12
+ if (injectedApiBase)
13
+ return false;
14
+ return true;
15
+ }
16
+ //# sourceMappingURL=cloud-only.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-only.js","sourceRoot":"","sources":["../../src/config/cloud-only.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,0BAA0B,CAAC,OAI1C;IACC,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAEhC,0EAA0E;IAC1E,yDAAyD;IACzD,IAAI,OAAO,CAAC,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAE1C,0EAA0E;IAC1E,6EAA6E;IAC7E,yDAAyD;IACzD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IACxD,IAAI,eAAe;QAAE,OAAO,KAAK,CAAC;IAElC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,371 @@
1
+ /**
2
+ * Plugin config catalog & registry — reverse-engineered from vercel-labs/json-render.
3
+ *
4
+ * json-render pattern:
5
+ * defineCatalog(schema, { components, actions, functions }) → type-safe catalog
6
+ * defineRegistry(catalog, { components, actions }) → maps catalog → renderers/handlers
7
+ * <Renderer spec={} registry={} /> → traverses spec, renders
8
+ *
9
+ * Our adaptation for plugin config forms:
10
+ * defineCatalog({ fields, actions?, functions? }) → field + action + validation catalog
11
+ * defineRegistry(catalog, renderers, actionHandlers?) → maps types → render/handler functions
12
+ * <ConfigRenderer> → reads JSON Schema + uiHints, renders form
13
+ *
14
+ * New in Phase 2 (json-render feature parity):
15
+ * - Actions: catalog actions with Zod params + registry handlers
16
+ * - Rich visibility: LogicExpression (and/or/not/eq/neq/gt/gte/lt/lte)
17
+ * - Validation checks: declarative checks (required/email/minLength/pattern/...)
18
+ * - Data binding: DynamicValue with path resolution (getByPath/setByPath)
19
+ * - Prompt generation: catalog.prompt() for AI system prompts
20
+ *
21
+ * @module config-catalog
22
+ */
23
+ import type { ReactNode } from "react";
24
+ import z from "zod";
25
+ import type { ConfigUiHint, DynamicValue, LogicExpression, ValidationCheck, ValidationConfig, VisibilityCondition } from "../types/index.js";
26
+ export interface JsonSchemaProperty {
27
+ type?: string | string[];
28
+ enum?: unknown[];
29
+ const?: unknown;
30
+ default?: unknown;
31
+ description?: string;
32
+ format?: string;
33
+ minimum?: number;
34
+ maximum?: number;
35
+ minLength?: number;
36
+ maxLength?: number;
37
+ pattern?: string;
38
+ properties?: Record<string, JsonSchemaProperty>;
39
+ items?: JsonSchemaProperty;
40
+ required?: string[];
41
+ oneOf?: JsonSchemaProperty[];
42
+ anyOf?: JsonSchemaProperty[];
43
+ additionalProperties?: boolean | JsonSchemaProperty;
44
+ }
45
+ export interface JsonSchemaObject extends JsonSchemaProperty {
46
+ type: "object";
47
+ properties: Record<string, JsonSchemaProperty>;
48
+ }
49
+ /**
50
+ * Get a value from a nested object by slash-delimited path (JSON Pointer).
51
+ *
52
+ * @example
53
+ * getByPath({ a: { b: 42 } }, "a/b") // → 42
54
+ * getByPath({ items: [1, 2] }, "items/0") // → 1
55
+ */
56
+ export declare function getByPath(obj: unknown, path: string): unknown;
57
+ /**
58
+ * Set a value in a nested object by slash-delimited path.
59
+ */
60
+ export declare function setByPath(obj: Record<string, unknown>, path: string, value: unknown): void;
61
+ /**
62
+ * Resolve a DynamicValue — if it's a {path} reference, look up in state.
63
+ */
64
+ export declare function resolveDynamic<T>(value: DynamicValue<T>, state: Record<string, unknown>): T | undefined;
65
+ /**
66
+ * Search for a field value by name — ported from json-render's dashboard example.
67
+ *
68
+ * Resolution order:
69
+ * 1. Direct params lookup
70
+ * 2. Params with path format (JSON Pointer)
71
+ * 3. State walk through common form prefixes (form, newItem, create, edit, root)
72
+ */
73
+ export declare function findFormValue(fieldName: string, params?: Record<string, unknown>, state?: Record<string, unknown>): unknown;
74
+ /**
75
+ * Interpolate `{{path}}` references in a template string using context values.
76
+ *
77
+ * Useful for action onSuccess/onError messages that reference state values.
78
+ *
79
+ * @example
80
+ * interpolateString("Created {{/form/name}} successfully", { form: { name: "Foo" } })
81
+ * // → "Created Foo successfully"
82
+ */
83
+ export declare function interpolateString(template: string, context: Record<string, unknown>): string;
84
+ /**
85
+ * Evaluate a LogicExpression against a state model.
86
+ */
87
+ export declare function evaluateLogicExpression(expr: LogicExpression, state: Record<string, unknown>): boolean;
88
+ /**
89
+ * Evaluate a full VisibilityCondition.
90
+ */
91
+ export declare function evaluateVisibility(condition: VisibilityCondition | undefined, state: Record<string, unknown>): boolean;
92
+ export declare const visibility: {
93
+ always: true;
94
+ never: false;
95
+ when: (path: string) => VisibilityCondition;
96
+ and: (...conditions: LogicExpression[]) => LogicExpression;
97
+ or: (...conditions: LogicExpression[]) => LogicExpression;
98
+ not: (condition: LogicExpression) => LogicExpression;
99
+ eq: (left: DynamicValue, right: DynamicValue) => LogicExpression;
100
+ neq: (left: DynamicValue, right: DynamicValue) => LogicExpression;
101
+ gt: (left: DynamicValue<number>, right: DynamicValue<number>) => LogicExpression;
102
+ gte: (left: DynamicValue<number>, right: DynamicValue<number>) => LogicExpression;
103
+ lt: (left: DynamicValue<number>, right: DynamicValue<number>) => LogicExpression;
104
+ lte: (left: DynamicValue<number>, right: DynamicValue<number>) => LogicExpression;
105
+ };
106
+ export type ValidationFunction = (value: unknown, args?: Record<string, unknown>) => boolean;
107
+ export declare const builtInValidators: Record<string, ValidationFunction>;
108
+ /**
109
+ * Run validation checks for a field value.
110
+ */
111
+ export declare function runValidation(config: ValidationConfig, value: unknown, state: Record<string, unknown>, customFunctions?: Record<string, ValidationFunction>): {
112
+ valid: boolean;
113
+ errors: string[];
114
+ };
115
+ export declare const check: {
116
+ required: (message?: string) => ValidationCheck;
117
+ email: (message?: string) => ValidationCheck;
118
+ minLength: (min: number, message?: string) => ValidationCheck;
119
+ maxLength: (max: number, message?: string) => ValidationCheck;
120
+ pattern: (pattern: string, message?: string) => ValidationCheck;
121
+ min: (min: number, message?: string) => ValidationCheck;
122
+ max: (max: number, message?: string) => ValidationCheck;
123
+ url: (message?: string) => ValidationCheck;
124
+ matches: (otherPath: string, message?: string) => ValidationCheck;
125
+ };
126
+ export interface ActionDefinition<TParams = Record<string, unknown>> {
127
+ /** Zod schema for params validation. */
128
+ params?: z.ZodType<TParams>;
129
+ /** Description for AI and documentation. */
130
+ description?: string;
131
+ }
132
+ export type ActionHandler<TParams = Record<string, unknown>, TResult = unknown> = (params: TParams, state: Record<string, unknown>) => Promise<TResult> | TResult;
133
+ export interface FieldDefinition<TValidator extends z.ZodType = z.ZodType> {
134
+ /** Zod schema for validating field values. */
135
+ validator: TValidator;
136
+ /** Human-readable description (used for documentation / AI prompts). */
137
+ description: string;
138
+ }
139
+ export interface FieldCatalog<TFields extends Record<string, FieldDefinition> = Record<string, FieldDefinition>, TActions extends Record<string, ActionDefinition> = Record<string, ActionDefinition>> {
140
+ readonly fields: TFields;
141
+ readonly fieldNames: string[];
142
+ readonly actions: TActions;
143
+ readonly actionNames: string[];
144
+ readonly functions: Record<string, ValidationFunction>;
145
+ /** Check if a field type is registered. */
146
+ hasField(type: string): boolean;
147
+ /** Check if an action is registered. */
148
+ hasAction(name: string): boolean;
149
+ /** Validate a value against a field type's Zod schema. */
150
+ validate(type: string, value: unknown): z.ZodSafeParseResult<unknown>;
151
+ /** Resolve a JSON Schema property + optional UI hint to a field type name. */
152
+ resolveType(property: JsonSchemaProperty, hint?: ConfigUiHint): string;
153
+ /** Generate an AI system prompt describing the catalog's capabilities. */
154
+ prompt(): string;
155
+ }
156
+ /**
157
+ * Catalog configuration.
158
+ */
159
+ export interface CatalogConfig<TFields extends Record<string, FieldDefinition> = Record<string, FieldDefinition>, TActions extends Record<string, ActionDefinition> = Record<string, ActionDefinition>> {
160
+ /** Field type definitions. */
161
+ fields: TFields;
162
+ /** Action definitions. */
163
+ actions?: TActions;
164
+ /** Custom validation functions. */
165
+ functions?: Record<string, ValidationFunction>;
166
+ }
167
+ /**
168
+ * Create a type-safe field catalog.
169
+ *
170
+ * Equivalent to json-render's `defineCatalog(schema, config)`.
171
+ * Supports fields, actions, custom validation functions, and prompt generation.
172
+ */
173
+ export declare function defineCatalog<TFields extends Record<string, FieldDefinition>, TActions extends Record<string, ActionDefinition> = Record<string, ActionDefinition>>(fieldsOrConfig: TFields | CatalogConfig<TFields, TActions>): FieldCatalog<TFields, TActions>;
174
+ /**
175
+ * Props passed to every field renderer function.
176
+ *
177
+ * Plugin authors implementing custom renderers receive this interface
178
+ * as the single argument to their render function.
179
+ *
180
+ * @example
181
+ * ```tsx
182
+ * const MyCustomField: FieldRenderer = (props: FieldRenderProps) => (
183
+ * <input
184
+ * value={String(props.value ?? "")}
185
+ * onChange={(e) => props.onChange(e.target.value)}
186
+ * placeholder={props.hint.placeholder}
187
+ * disabled={props.readonly}
188
+ * />
189
+ * );
190
+ * ```
191
+ */
192
+ export interface FieldRenderProps {
193
+ /** Config key identifier (e.g., "OPENAI_API_KEY"). */
194
+ key: string;
195
+ /** Current field value, may be any JSON-compatible type. */
196
+ value: unknown;
197
+ /** JSON Schema property definition for this field. */
198
+ schema: JsonSchemaProperty;
199
+ /** UI rendering hints from the plugin manifest. */
200
+ hint: ConfigUiHint;
201
+ /** Resolved field type name from the catalog (e.g., "text", "select"). */
202
+ fieldType: string;
203
+ /** Callback to update the field value. */
204
+ onChange: (value: unknown) => void;
205
+ /** Whether the field currently has a configured value. */
206
+ isSet: boolean;
207
+ /** Whether the field is required by the schema. */
208
+ required: boolean;
209
+ /** Validation error messages for this field. */
210
+ errors?: string[];
211
+ /** Whether the field should be non-editable. */
212
+ readonly?: boolean;
213
+ /** For sensitive fields — async callback to fetch the real value from the server. */
214
+ onReveal?: () => Promise<string | null>;
215
+ /** Dispatch a named action with optional parameters. */
216
+ onAction?: (action: string, params?: Record<string, unknown>) => Promise<unknown>;
217
+ }
218
+ /** A render function that returns a React node for a given field type. */
219
+ export type FieldRenderer = (props: FieldRenderProps) => ReactNode;
220
+ export interface FieldRegistry<TFields extends Record<string, FieldDefinition> = Record<string, FieldDefinition>, TActions extends Record<string, ActionDefinition> = Record<string, ActionDefinition>> {
221
+ readonly catalog: FieldCatalog<TFields, TActions>;
222
+ readonly renderers: Record<string, FieldRenderer>;
223
+ readonly actionHandlers: Record<string, ActionHandler>;
224
+ /** Look up the renderer for a field type. Returns undefined if not registered. */
225
+ resolve(type: string): FieldRenderer | undefined;
226
+ /** Like resolve(), but falls back to the "text" renderer. */
227
+ resolveOrFallback(type: string): FieldRenderer;
228
+ /** Look up the handler for an action. */
229
+ resolveAction(name: string): ActionHandler | undefined;
230
+ }
231
+ /**
232
+ * Create a field registry that maps catalog field types to render functions.
233
+ *
234
+ * Equivalent to json-render's `defineRegistry(catalog, { components, actions })`.
235
+ */
236
+ export declare function defineRegistry<TFields extends Record<string, FieldDefinition>, TActions extends Record<string, ActionDefinition> = Record<string, ActionDefinition>>(catalog: FieldCatalog<TFields, TActions>, renderers: Partial<Record<keyof TFields & string, FieldRenderer>>, actionHandlers?: Partial<Record<keyof TActions & string, ActionHandler>>): FieldRegistry<TFields, TActions>;
237
+ /**
238
+ * The standard field catalog with 23 basic field types + built-in actions.
239
+ */
240
+ export declare const defaultCatalog: FieldCatalog<{
241
+ text: {
242
+ validator: z.ZodString;
243
+ description: string;
244
+ };
245
+ password: {
246
+ validator: z.ZodString;
247
+ description: string;
248
+ };
249
+ number: {
250
+ validator: z.ZodCoercedNumber<unknown>;
251
+ description: string;
252
+ };
253
+ boolean: {
254
+ validator: z.ZodCoercedBoolean<unknown>;
255
+ description: string;
256
+ };
257
+ url: {
258
+ validator: z.ZodString;
259
+ description: string;
260
+ };
261
+ select: {
262
+ validator: z.ZodString;
263
+ description: string;
264
+ };
265
+ textarea: {
266
+ validator: z.ZodString;
267
+ description: string;
268
+ };
269
+ email: {
270
+ validator: z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>;
271
+ description: string;
272
+ };
273
+ color: {
274
+ validator: z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>;
275
+ description: string;
276
+ };
277
+ radio: {
278
+ validator: z.ZodString;
279
+ description: string;
280
+ };
281
+ multiselect: {
282
+ validator: z.ZodUnion<[z.ZodArray<z.ZodString>, z.ZodString]>;
283
+ description: string;
284
+ };
285
+ date: {
286
+ validator: z.ZodString;
287
+ description: string;
288
+ };
289
+ json: {
290
+ validator: z.ZodString;
291
+ description: string;
292
+ };
293
+ code: {
294
+ validator: z.ZodString;
295
+ description: string;
296
+ };
297
+ array: {
298
+ validator: z.ZodArray<z.ZodUnknown>;
299
+ description: string;
300
+ };
301
+ keyvalue: {
302
+ validator: z.ZodRecord<z.ZodString, z.ZodString>;
303
+ description: string;
304
+ };
305
+ datetime: {
306
+ validator: z.ZodString;
307
+ description: string;
308
+ };
309
+ file: {
310
+ validator: z.ZodString;
311
+ description: string;
312
+ };
313
+ custom: {
314
+ validator: z.ZodUnknown;
315
+ description: string;
316
+ };
317
+ markdown: {
318
+ validator: z.ZodString;
319
+ description: string;
320
+ };
321
+ "checkbox-group": {
322
+ validator: z.ZodUnion<[z.ZodArray<z.ZodString>, z.ZodString]>;
323
+ description: string;
324
+ };
325
+ group: {
326
+ validator: z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodString]>;
327
+ description: string;
328
+ };
329
+ table: {
330
+ validator: z.ZodUnion<[z.ZodArray<z.ZodRecord<z.ZodString, z.ZodString>>, z.ZodString]>;
331
+ description: string;
332
+ };
333
+ }, {
334
+ save: {
335
+ params: z.ZodObject<{}, z.core.$strip>;
336
+ description: string;
337
+ };
338
+ reset: {
339
+ params: z.ZodObject<{}, z.core.$strip>;
340
+ description: string;
341
+ };
342
+ testConnection: {
343
+ params: z.ZodObject<{
344
+ key: z.ZodOptional<z.ZodString>;
345
+ }, z.core.$strip>;
346
+ description: string;
347
+ };
348
+ }>;
349
+ export interface ResolvedField {
350
+ key: string;
351
+ schema: JsonSchemaProperty;
352
+ hint: ConfigUiHint;
353
+ fieldType: string;
354
+ required: boolean;
355
+ group: string;
356
+ order: number;
357
+ advanced: boolean;
358
+ hidden: boolean;
359
+ width: "full" | "half" | "third";
360
+ visible?: VisibilityCondition;
361
+ validation?: ValidationConfig;
362
+ readonly: boolean;
363
+ }
364
+ /**
365
+ * Walk a JSON Schema object's properties and resolve each to a field descriptor.
366
+ *
367
+ * This is the equivalent of json-render's spec traversal — it turns a declarative
368
+ * schema into an ordered list of renderable field descriptors.
369
+ */
370
+ export declare function resolveFields(schema: JsonSchemaObject | JsonSchemaProperty, hints: Record<string, ConfigUiHint>, catalog: FieldCatalog): ResolvedField[];
371
+ //# sourceMappingURL=config-catalog.d.ts.map