@vibesdotdev/config 0.0.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 (620) hide show
  1. package/README.md +85 -0
  2. package/SPEC.md +71 -0
  3. package/dist/adapters/cli/flags.d.ts +75 -0
  4. package/dist/adapters/cli/flags.d.ts.map +1 -0
  5. package/dist/adapters/cli/flags.js +221 -0
  6. package/dist/adapters/cli/flags.js.map +1 -0
  7. package/dist/adapters/cli/index.d.ts +12 -0
  8. package/dist/adapters/cli/index.d.ts.map +1 -0
  9. package/dist/adapters/cli/index.js +9 -0
  10. package/dist/adapters/cli/index.js.map +1 -0
  11. package/dist/adapters/cli/mappings.d.ts +17 -0
  12. package/dist/adapters/cli/mappings.d.ts.map +1 -0
  13. package/dist/adapters/cli/mappings.js +32 -0
  14. package/dist/adapters/cli/mappings.js.map +1 -0
  15. package/dist/adapters/cli/prompts.d.ts +28 -0
  16. package/dist/adapters/cli/prompts.d.ts.map +1 -0
  17. package/dist/adapters/cli/prompts.js +55 -0
  18. package/dist/adapters/cli/prompts.js.map +1 -0
  19. package/dist/adapters/cli/schemas/flags.schema.d.ts +8 -0
  20. package/dist/adapters/cli/schemas/flags.schema.d.ts.map +1 -0
  21. package/dist/adapters/cli/schemas/flags.schema.js +2 -0
  22. package/dist/adapters/cli/schemas/flags.schema.js.map +1 -0
  23. package/dist/adapters/cli/schemas/mappings.schema.d.ts +2 -0
  24. package/dist/adapters/cli/schemas/mappings.schema.d.ts.map +1 -0
  25. package/dist/adapters/cli/schemas/mappings.schema.js +2 -0
  26. package/dist/adapters/cli/schemas/mappings.schema.js.map +1 -0
  27. package/dist/adapters/cli/schemas/prompts.schema.d.ts +5 -0
  28. package/dist/adapters/cli/schemas/prompts.schema.d.ts.map +1 -0
  29. package/dist/adapters/cli/schemas/prompts.schema.js +2 -0
  30. package/dist/adapters/cli/schemas/prompts.schema.js.map +1 -0
  31. package/dist/adapters/cli/schemas/wizard.schema.d.ts +19 -0
  32. package/dist/adapters/cli/schemas/wizard.schema.d.ts.map +1 -0
  33. package/dist/adapters/cli/schemas/wizard.schema.js +2 -0
  34. package/dist/adapters/cli/schemas/wizard.schema.js.map +1 -0
  35. package/dist/adapters/cli/wizard.d.ts +33 -0
  36. package/dist/adapters/cli/wizard.d.ts.map +1 -0
  37. package/dist/adapters/cli/wizard.js +77 -0
  38. package/dist/adapters/cli/wizard.js.map +1 -0
  39. package/dist/browser/index.d.ts +7 -0
  40. package/dist/browser/index.d.ts.map +1 -0
  41. package/dist/browser/index.js +4 -0
  42. package/dist/browser/index.js.map +1 -0
  43. package/dist/cli/settings.descriptor.d.ts +9 -0
  44. package/dist/cli/settings.descriptor.d.ts.map +1 -0
  45. package/dist/cli/settings.descriptor.js +18 -0
  46. package/dist/cli/settings.descriptor.js.map +1 -0
  47. package/dist/cli/types.d.ts +57 -0
  48. package/dist/cli/types.d.ts.map +1 -0
  49. package/dist/cli/types.js +9 -0
  50. package/dist/cli/types.js.map +1 -0
  51. package/dist/client/index.d.ts +19 -0
  52. package/dist/client/index.d.ts.map +1 -0
  53. package/dist/client/index.js +145 -0
  54. package/dist/client/index.js.map +1 -0
  55. package/dist/client/storage.d.ts +48 -0
  56. package/dist/client/storage.d.ts.map +1 -0
  57. package/dist/client/storage.js +46 -0
  58. package/dist/client/storage.js.map +1 -0
  59. package/dist/collection/collection.d.ts +46 -0
  60. package/dist/collection/collection.d.ts.map +1 -0
  61. package/dist/collection/collection.js +93 -0
  62. package/dist/collection/collection.js.map +1 -0
  63. package/dist/collection/index.d.ts +6 -0
  64. package/dist/collection/index.d.ts.map +1 -0
  65. package/dist/collection/index.js +5 -0
  66. package/dist/collection/index.js.map +1 -0
  67. package/dist/common/index.d.ts +7 -0
  68. package/dist/common/index.d.ts.map +1 -0
  69. package/dist/common/index.js +4 -0
  70. package/dist/common/index.js.map +1 -0
  71. package/dist/config.context.descriptor.d.ts +21 -0
  72. package/dist/config.context.descriptor.d.ts.map +1 -0
  73. package/dist/config.context.descriptor.js +11 -0
  74. package/dist/config.context.descriptor.js.map +1 -0
  75. package/dist/config.plugin.d.ts +15 -0
  76. package/dist/config.plugin.d.ts.map +1 -0
  77. package/dist/config.plugin.js +166 -0
  78. package/dist/config.plugin.js.map +1 -0
  79. package/dist/crud/base-types.d.ts +10 -0
  80. package/dist/crud/base-types.d.ts.map +1 -0
  81. package/dist/crud/base-types.js +10 -0
  82. package/dist/crud/base-types.js.map +1 -0
  83. package/dist/crud/index.d.ts +4 -0
  84. package/dist/crud/index.d.ts.map +1 -0
  85. package/dist/crud/index.js +2 -0
  86. package/dist/crud/index.js.map +1 -0
  87. package/dist/crud/schemas/base-types.schema.d.ts +19 -0
  88. package/dist/crud/schemas/base-types.schema.d.ts.map +1 -0
  89. package/dist/crud/schemas/base-types.schema.js +2 -0
  90. package/dist/crud/schemas/base-types.schema.js.map +1 -0
  91. package/dist/crud/schemas/shared.schema.d.ts +13 -0
  92. package/dist/crud/schemas/shared.schema.d.ts.map +1 -0
  93. package/dist/crud/schemas/shared.schema.js +2 -0
  94. package/dist/crud/schemas/shared.schema.js.map +1 -0
  95. package/dist/crud/shared.d.ts +8 -0
  96. package/dist/crud/shared.d.ts.map +1 -0
  97. package/dist/crud/shared.js +8 -0
  98. package/dist/crud/shared.js.map +1 -0
  99. package/dist/crud/types.d.ts +250 -0
  100. package/dist/crud/types.d.ts.map +1 -0
  101. package/dist/crud/types.js +22 -0
  102. package/dist/crud/types.js.map +1 -0
  103. package/dist/docs/environment.docs.descriptor.d.ts +4 -0
  104. package/dist/docs/environment.docs.descriptor.d.ts.map +1 -0
  105. package/dist/docs/environment.docs.descriptor.js +383 -0
  106. package/dist/docs/environment.docs.descriptor.js.map +1 -0
  107. package/dist/docs/manifests.docs.descriptor.d.ts +4 -0
  108. package/dist/docs/manifests.docs.descriptor.d.ts.map +1 -0
  109. package/dist/docs/manifests.docs.descriptor.js +503 -0
  110. package/dist/docs/manifests.docs.descriptor.js.map +1 -0
  111. package/dist/docs/validation.docs.descriptor.d.ts +4 -0
  112. package/dist/docs/validation.docs.descriptor.d.ts.map +1 -0
  113. package/dist/docs/validation.docs.descriptor.js +441 -0
  114. package/dist/docs/validation.docs.descriptor.js.map +1 -0
  115. package/dist/doctor.d.ts +42 -0
  116. package/dist/doctor.d.ts.map +1 -0
  117. package/dist/doctor.js +119 -0
  118. package/dist/doctor.js.map +1 -0
  119. package/dist/env.d.ts +28 -0
  120. package/dist/env.d.ts.map +1 -0
  121. package/dist/env.js +75 -0
  122. package/dist/env.js.map +1 -0
  123. package/dist/env.runtime.d.ts +19 -0
  124. package/dist/env.runtime.d.ts.map +1 -0
  125. package/dist/env.runtime.js +37 -0
  126. package/dist/env.runtime.js.map +1 -0
  127. package/dist/environment/current.d.ts +32 -0
  128. package/dist/environment/current.d.ts.map +1 -0
  129. package/dist/environment/current.js +91 -0
  130. package/dist/environment/current.js.map +1 -0
  131. package/dist/environment/environment.config.descriptor.d.ts +11 -0
  132. package/dist/environment/environment.config.descriptor.d.ts.map +1 -0
  133. package/dist/environment/environment.config.descriptor.js +51 -0
  134. package/dist/environment/environment.config.descriptor.js.map +1 -0
  135. package/dist/environment/environment.config.schema.d.ts +47 -0
  136. package/dist/environment/environment.config.schema.d.ts.map +1 -0
  137. package/dist/environment/environment.config.schema.js +19 -0
  138. package/dist/environment/environment.config.schema.js.map +1 -0
  139. package/dist/environment/environment.local.descriptor.d.ts +11 -0
  140. package/dist/environment/environment.local.descriptor.d.ts.map +1 -0
  141. package/dist/environment/environment.local.descriptor.js +42 -0
  142. package/dist/environment/environment.local.descriptor.js.map +1 -0
  143. package/dist/environment/environment.plugin.d.ts +9 -0
  144. package/dist/environment/environment.plugin.d.ts.map +1 -0
  145. package/dist/environment/environment.plugin.js +27 -0
  146. package/dist/environment/environment.plugin.js.map +1 -0
  147. package/dist/environment/environment.production.descriptor.d.ts +10 -0
  148. package/dist/environment/environment.production.descriptor.d.ts.map +1 -0
  149. package/dist/environment/environment.production.descriptor.js +37 -0
  150. package/dist/environment/environment.production.descriptor.js.map +1 -0
  151. package/dist/environment/environment.staging.descriptor.d.ts +11 -0
  152. package/dist/environment/environment.staging.descriptor.d.ts.map +1 -0
  153. package/dist/environment/environment.staging.descriptor.js +22 -0
  154. package/dist/environment/environment.staging.descriptor.js.map +1 -0
  155. package/dist/environment/index.d.ts +8 -0
  156. package/dist/environment/index.d.ts.map +1 -0
  157. package/dist/environment/index.js +9 -0
  158. package/dist/environment/index.js.map +1 -0
  159. package/dist/environment/kinds/environment.default.d.ts +23 -0
  160. package/dist/environment/kinds/environment.default.d.ts.map +1 -0
  161. package/dist/environment/kinds/environment.default.js +49 -0
  162. package/dist/environment/kinds/environment.default.js.map +1 -0
  163. package/dist/environment/kinds/environment.interface.d.ts +7 -0
  164. package/dist/environment/kinds/environment.interface.d.ts.map +1 -0
  165. package/dist/environment/kinds/environment.interface.js +7 -0
  166. package/dist/environment/kinds/environment.interface.js.map +1 -0
  167. package/dist/environment/kinds/environment.kind.d.ts +10 -0
  168. package/dist/environment/kinds/environment.kind.d.ts.map +1 -0
  169. package/dist/environment/kinds/environment.kind.js +57 -0
  170. package/dist/environment/kinds/environment.kind.js.map +1 -0
  171. package/dist/environment/kinds/environment.schema.d.ts +34 -0
  172. package/dist/environment/kinds/environment.schema.d.ts.map +1 -0
  173. package/dist/environment/kinds/environment.schema.js +46 -0
  174. package/dist/environment/kinds/environment.schema.js.map +1 -0
  175. package/dist/environment/kinds/index.d.ts +8 -0
  176. package/dist/environment/kinds/index.d.ts.map +1 -0
  177. package/dist/environment/kinds/index.js +7 -0
  178. package/dist/environment/kinds/index.js.map +1 -0
  179. package/dist/environment/kinds/schemas/environment.interface.schema.d.ts +11 -0
  180. package/dist/environment/kinds/schemas/environment.interface.schema.d.ts.map +1 -0
  181. package/dist/environment/kinds/schemas/environment.interface.schema.js +2 -0
  182. package/dist/environment/kinds/schemas/environment.interface.schema.js.map +1 -0
  183. package/dist/environment/kinds/schemas/environment.schema.d.ts +30 -0
  184. package/dist/environment/kinds/schemas/environment.schema.d.ts.map +1 -0
  185. package/dist/environment/kinds/schemas/environment.schema.js +2 -0
  186. package/dist/environment/kinds/schemas/environment.schema.js.map +1 -0
  187. package/dist/environment/schemas/current.schema.d.ts +20 -0
  188. package/dist/environment/schemas/current.schema.d.ts.map +1 -0
  189. package/dist/environment/schemas/current.schema.js +2 -0
  190. package/dist/environment/schemas/current.schema.js.map +1 -0
  191. package/dist/environment/schemas/environment.config.schema.d.ts +4 -0
  192. package/dist/environment/schemas/environment.config.schema.d.ts.map +1 -0
  193. package/dist/environment/schemas/environment.config.schema.js +2 -0
  194. package/dist/environment/schemas/environment.config.schema.js.map +1 -0
  195. package/dist/extensions/index.d.ts +8 -0
  196. package/dist/extensions/index.d.ts.map +1 -0
  197. package/dist/extensions/index.js +8 -0
  198. package/dist/extensions/index.js.map +1 -0
  199. package/dist/extensions/registry.d.ts +41 -0
  200. package/dist/extensions/registry.d.ts.map +1 -0
  201. package/dist/extensions/registry.js +142 -0
  202. package/dist/extensions/registry.js.map +1 -0
  203. package/dist/extensions/types.d.ts +101 -0
  204. package/dist/extensions/types.d.ts.map +1 -0
  205. package/dist/extensions/types.js +8 -0
  206. package/dist/extensions/types.js.map +1 -0
  207. package/dist/form/core/field-resolver.d.ts +42 -0
  208. package/dist/form/core/field-resolver.d.ts.map +1 -0
  209. package/dist/form/core/field-resolver.js +293 -0
  210. package/dist/form/core/field-resolver.js.map +1 -0
  211. package/dist/form/core/groups.d.ts +20 -0
  212. package/dist/form/core/groups.d.ts.map +1 -0
  213. package/dist/form/core/groups.js +69 -0
  214. package/dist/form/core/groups.js.map +1 -0
  215. package/dist/form/core/index.d.ts +8 -0
  216. package/dist/form/core/index.d.ts.map +1 -0
  217. package/dist/form/core/index.js +6 -0
  218. package/dist/form/core/index.js.map +1 -0
  219. package/dist/form/core/nested-utils.d.ts +40 -0
  220. package/dist/form/core/nested-utils.d.ts.map +1 -0
  221. package/dist/form/core/nested-utils.js +98 -0
  222. package/dist/form/core/nested-utils.js.map +1 -0
  223. package/dist/form/core/schemas/validation.schema.d.ts +9 -0
  224. package/dist/form/core/schemas/validation.schema.d.ts.map +1 -0
  225. package/dist/form/core/schemas/validation.schema.js +2 -0
  226. package/dist/form/core/schemas/validation.schema.js.map +1 -0
  227. package/dist/form/core/types.d.ts +103 -0
  228. package/dist/form/core/types.d.ts.map +1 -0
  229. package/dist/form/core/types.js +2 -0
  230. package/dist/form/core/types.js.map +1 -0
  231. package/dist/form/core/validation.d.ts +23 -0
  232. package/dist/form/core/validation.d.ts.map +1 -0
  233. package/dist/form/core/validation.js +103 -0
  234. package/dist/form/core/validation.js.map +1 -0
  235. package/dist/form/core/visibility.d.ts +37 -0
  236. package/dist/form/core/visibility.d.ts.map +1 -0
  237. package/dist/form/core/visibility.js +128 -0
  238. package/dist/form/core/visibility.js.map +1 -0
  239. package/dist/form/index.d.ts +8 -0
  240. package/dist/form/index.d.ts.map +1 -0
  241. package/dist/form/index.js +2 -0
  242. package/dist/form/index.js.map +1 -0
  243. package/dist/index.d.ts +18 -0
  244. package/dist/index.d.ts.map +1 -0
  245. package/dist/index.js +18 -0
  246. package/dist/index.js.map +1 -0
  247. package/dist/loader/cli/index.d.ts +61 -0
  248. package/dist/loader/cli/index.d.ts.map +1 -0
  249. package/dist/loader/cli/index.js +263 -0
  250. package/dist/loader/cli/index.js.map +1 -0
  251. package/dist/loader/cli/loaders.d.ts +13 -0
  252. package/dist/loader/cli/loaders.d.ts.map +1 -0
  253. package/dist/loader/cli/loaders.js +132 -0
  254. package/dist/loader/cli/loaders.js.map +1 -0
  255. package/dist/loader/cli/types.d.ts +152 -0
  256. package/dist/loader/cli/types.d.ts.map +1 -0
  257. package/dist/loader/cli/types.js +5 -0
  258. package/dist/loader/cli/types.js.map +1 -0
  259. package/dist/loader/cli/utils.d.ts +53 -0
  260. package/dist/loader/cli/utils.d.ts.map +1 -0
  261. package/dist/loader/cli/utils.js +198 -0
  262. package/dist/loader/cli/utils.js.map +1 -0
  263. package/dist/loader/client.d.ts +18 -0
  264. package/dist/loader/client.d.ts.map +1 -0
  265. package/dist/loader/client.js +109 -0
  266. package/dist/loader/client.js.map +1 -0
  267. package/dist/loader/discovery.d.ts +48 -0
  268. package/dist/loader/discovery.d.ts.map +1 -0
  269. package/dist/loader/discovery.js +253 -0
  270. package/dist/loader/discovery.js.map +1 -0
  271. package/dist/loader/file-loader.d.ts +17 -0
  272. package/dist/loader/file-loader.d.ts.map +1 -0
  273. package/dist/loader/file-loader.js +237 -0
  274. package/dist/loader/file-loader.js.map +1 -0
  275. package/dist/loader/index.d.ts +9 -0
  276. package/dist/loader/index.d.ts.map +1 -0
  277. package/dist/loader/index.js +8 -0
  278. package/dist/loader/index.js.map +1 -0
  279. package/dist/loader/index.server.d.ts +66 -0
  280. package/dist/loader/index.server.d.ts.map +1 -0
  281. package/dist/loader/index.server.js +256 -0
  282. package/dist/loader/index.server.js.map +1 -0
  283. package/dist/loader/merge.d.ts +88 -0
  284. package/dist/loader/merge.d.ts.map +1 -0
  285. package/dist/loader/merge.js +301 -0
  286. package/dist/loader/merge.js.map +1 -0
  287. package/dist/loader/schemas/merge.schema.d.ts +8 -0
  288. package/dist/loader/schemas/merge.schema.d.ts.map +1 -0
  289. package/dist/loader/schemas/merge.schema.js +2 -0
  290. package/dist/loader/schemas/merge.schema.js.map +1 -0
  291. package/dist/loader/schemas/validation.schema.d.ts +17 -0
  292. package/dist/loader/schemas/validation.schema.d.ts.map +1 -0
  293. package/dist/loader/schemas/validation.schema.js +2 -0
  294. package/dist/loader/schemas/validation.schema.js.map +1 -0
  295. package/dist/loader/server.d.ts +3 -0
  296. package/dist/loader/server.d.ts.map +1 -0
  297. package/dist/loader/server.js +2 -0
  298. package/dist/loader/server.js.map +1 -0
  299. package/dist/loader/types.d.ts +136 -0
  300. package/dist/loader/types.d.ts.map +1 -0
  301. package/dist/loader/types.js +24 -0
  302. package/dist/loader/types.js.map +1 -0
  303. package/dist/loader/validation.d.ts +59 -0
  304. package/dist/loader/validation.d.ts.map +1 -0
  305. package/dist/loader/validation.js +218 -0
  306. package/dist/loader/validation.js.map +1 -0
  307. package/dist/manifest/builder.d.ts +172 -0
  308. package/dist/manifest/builder.d.ts.map +1 -0
  309. package/dist/manifest/builder.js +336 -0
  310. package/dist/manifest/builder.js.map +1 -0
  311. package/dist/manifest/config-manifest.d.ts +199 -0
  312. package/dist/manifest/config-manifest.d.ts.map +1 -0
  313. package/dist/manifest/config-manifest.js +388 -0
  314. package/dist/manifest/config-manifest.js.map +1 -0
  315. package/dist/manifest/index.d.ts +10 -0
  316. package/dist/manifest/index.d.ts.map +1 -0
  317. package/dist/manifest/index.js +20 -0
  318. package/dist/manifest/index.js.map +1 -0
  319. package/dist/manifest/schema.d.ts +460 -0
  320. package/dist/manifest/schema.d.ts.map +1 -0
  321. package/dist/manifest/schema.js +187 -0
  322. package/dist/manifest/schema.js.map +1 -0
  323. package/dist/manifest/schemas/builder.schema.d.ts +20 -0
  324. package/dist/manifest/schemas/builder.schema.d.ts.map +1 -0
  325. package/dist/manifest/schemas/builder.schema.js +2 -0
  326. package/dist/manifest/schemas/builder.schema.js.map +1 -0
  327. package/dist/manifest/schemas/config-manifest.schema.d.ts +2 -0
  328. package/dist/manifest/schemas/config-manifest.schema.d.ts.map +1 -0
  329. package/dist/manifest/schemas/config-manifest.schema.js +2 -0
  330. package/dist/manifest/schemas/config-manifest.schema.js.map +1 -0
  331. package/dist/manifest/schemas/schema.schema.d.ts +83 -0
  332. package/dist/manifest/schemas/schema.schema.d.ts.map +1 -0
  333. package/dist/manifest/schemas/schema.schema.js +2 -0
  334. package/dist/manifest/schemas/schema.schema.js.map +1 -0
  335. package/dist/manifest/types.d.ts +563 -0
  336. package/dist/manifest/types.d.ts.map +1 -0
  337. package/dist/manifest/types.js +9 -0
  338. package/dist/manifest/types.js.map +1 -0
  339. package/dist/routing/index.d.ts +29 -0
  340. package/dist/routing/index.d.ts.map +1 -0
  341. package/dist/routing/index.js +35 -0
  342. package/dist/routing/index.js.map +1 -0
  343. package/dist/routing/merge.d.ts +164 -0
  344. package/dist/routing/merge.d.ts.map +1 -0
  345. package/dist/routing/merge.js +460 -0
  346. package/dist/routing/merge.js.map +1 -0
  347. package/dist/routing/registry.d.ts +145 -0
  348. package/dist/routing/registry.d.ts.map +1 -0
  349. package/dist/routing/registry.js +459 -0
  350. package/dist/routing/registry.js.map +1 -0
  351. package/dist/routing/schemas/merge.schema.d.ts +5 -0
  352. package/dist/routing/schemas/merge.schema.d.ts.map +1 -0
  353. package/dist/routing/schemas/merge.schema.js +2 -0
  354. package/dist/routing/schemas/merge.schema.js.map +1 -0
  355. package/dist/routing/types.d.ts +358 -0
  356. package/dist/routing/types.d.ts.map +1 -0
  357. package/dist/routing/types.js +89 -0
  358. package/dist/routing/types.js.map +1 -0
  359. package/dist/schema/extend-zod.d.ts +137 -0
  360. package/dist/schema/extend-zod.d.ts.map +1 -0
  361. package/dist/schema/extend-zod.js +243 -0
  362. package/dist/schema/extend-zod.js.map +1 -0
  363. package/dist/schema/index.d.ts +9 -0
  364. package/dist/schema/index.d.ts.map +1 -0
  365. package/dist/schema/index.js +10 -0
  366. package/dist/schema/index.js.map +1 -0
  367. package/dist/schema/references.d.ts +9 -0
  368. package/dist/schema/references.d.ts.map +1 -0
  369. package/dist/schema/references.js +9 -0
  370. package/dist/schema/references.js.map +1 -0
  371. package/dist/schema/resolver.d.ts +45 -0
  372. package/dist/schema/resolver.d.ts.map +1 -0
  373. package/dist/schema/resolver.js +267 -0
  374. package/dist/schema/resolver.js.map +1 -0
  375. package/dist/schema/schemas/extend-zod.schema.d.ts +16 -0
  376. package/dist/schema/schemas/extend-zod.schema.d.ts.map +1 -0
  377. package/dist/schema/schemas/extend-zod.schema.js +2 -0
  378. package/dist/schema/schemas/extend-zod.schema.js.map +1 -0
  379. package/dist/schema/schemas/references.schema.d.ts +70 -0
  380. package/dist/schema/schemas/references.schema.d.ts.map +1 -0
  381. package/dist/schema/schemas/references.schema.js +2 -0
  382. package/dist/schema/schemas/references.schema.js.map +1 -0
  383. package/dist/schemas/collection.d.ts +31 -0
  384. package/dist/schemas/collection.d.ts.map +1 -0
  385. package/dist/schemas/collection.js +22 -0
  386. package/dist/schemas/collection.js.map +1 -0
  387. package/dist/schemas/config-manifest-descriptor.d.ts +495 -0
  388. package/dist/schemas/config-manifest-descriptor.d.ts.map +1 -0
  389. package/dist/schemas/config-manifest-descriptor.js +210 -0
  390. package/dist/schemas/config-manifest-descriptor.js.map +1 -0
  391. package/dist/schemas/config-registry-state.d.ts +8 -0
  392. package/dist/schemas/config-registry-state.d.ts.map +1 -0
  393. package/dist/schemas/config-registry-state.js +6 -0
  394. package/dist/schemas/config-registry-state.js.map +1 -0
  395. package/dist/schemas/doctor.schema.d.ts +25 -0
  396. package/dist/schemas/doctor.schema.d.ts.map +1 -0
  397. package/dist/schemas/doctor.schema.js +2 -0
  398. package/dist/schemas/doctor.schema.js.map +1 -0
  399. package/dist/schemas/index.d.ts +8 -0
  400. package/dist/schemas/index.d.ts.map +1 -0
  401. package/dist/schemas/index.js +21 -0
  402. package/dist/schemas/index.js.map +1 -0
  403. package/dist/server/index.d.ts +5 -0
  404. package/dist/server/index.d.ts.map +1 -0
  405. package/dist/server/index.js +4 -0
  406. package/dist/server/index.js.map +1 -0
  407. package/dist/services/config-accessor.d.ts +40 -0
  408. package/dist/services/config-accessor.d.ts.map +1 -0
  409. package/dist/services/config-accessor.js +180 -0
  410. package/dist/services/config-accessor.js.map +1 -0
  411. package/dist/services/config-storage/index.d.ts +8 -0
  412. package/dist/services/config-storage/index.d.ts.map +1 -0
  413. package/dist/services/config-storage/index.js +7 -0
  414. package/dist/services/config-storage/index.js.map +1 -0
  415. package/dist/services/config-storage/service.d.ts +63 -0
  416. package/dist/services/config-storage/service.d.ts.map +1 -0
  417. package/dist/services/config-storage/service.js +234 -0
  418. package/dist/services/config-storage/service.js.map +1 -0
  419. package/dist/services/config.d.ts +3 -0
  420. package/dist/services/config.d.ts.map +1 -0
  421. package/dist/services/config.js +30 -0
  422. package/dist/services/config.js.map +1 -0
  423. package/dist/services/encryption.d.ts +114 -0
  424. package/dist/services/encryption.d.ts.map +1 -0
  425. package/dist/services/encryption.js +232 -0
  426. package/dist/services/encryption.js.map +1 -0
  427. package/dist/services/index.d.ts +12 -0
  428. package/dist/services/index.d.ts.map +1 -0
  429. package/dist/services/index.js +16 -0
  430. package/dist/services/index.js.map +1 -0
  431. package/dist/services/loader/loader.descriptor.d.ts +103 -0
  432. package/dist/services/loader/loader.descriptor.d.ts.map +1 -0
  433. package/dist/services/loader/loader.descriptor.js +60 -0
  434. package/dist/services/loader/loader.descriptor.js.map +1 -0
  435. package/dist/services/loader/loader.impl.cloud.d.ts +55 -0
  436. package/dist/services/loader/loader.impl.cloud.d.ts.map +1 -0
  437. package/dist/services/loader/loader.impl.cloud.js +182 -0
  438. package/dist/services/loader/loader.impl.cloud.js.map +1 -0
  439. package/dist/services/loader/loader.impl.consumer.d.ts +48 -0
  440. package/dist/services/loader/loader.impl.consumer.d.ts.map +1 -0
  441. package/dist/services/loader/loader.impl.consumer.js +175 -0
  442. package/dist/services/loader/loader.impl.consumer.js.map +1 -0
  443. package/dist/services/loader/loader.impl.consumer.local-first.d.ts +59 -0
  444. package/dist/services/loader/loader.impl.consumer.local-first.d.ts.map +1 -0
  445. package/dist/services/loader/loader.impl.consumer.local-first.js +347 -0
  446. package/dist/services/loader/loader.impl.consumer.local-first.js.map +1 -0
  447. package/dist/services/manifest-utils.d.ts +47 -0
  448. package/dist/services/manifest-utils.d.ts.map +1 -0
  449. package/dist/services/manifest-utils.js +105 -0
  450. package/dist/services/manifest-utils.js.map +1 -0
  451. package/dist/services/schemas/config-accessor.schema.d.ts +10 -0
  452. package/dist/services/schemas/config-accessor.schema.d.ts.map +1 -0
  453. package/dist/services/schemas/config-accessor.schema.js +2 -0
  454. package/dist/services/schemas/config-accessor.schema.js.map +1 -0
  455. package/dist/services/schemas/encryption.schema.d.ts +22 -0
  456. package/dist/services/schemas/encryption.schema.d.ts.map +1 -0
  457. package/dist/services/schemas/encryption.schema.js +2 -0
  458. package/dist/services/schemas/encryption.schema.js.map +1 -0
  459. package/dist/services/schemas/manifest-utils.schema.d.ts +4 -0
  460. package/dist/services/schemas/manifest-utils.schema.d.ts.map +1 -0
  461. package/dist/services/schemas/manifest-utils.schema.js +2 -0
  462. package/dist/services/schemas/manifest-utils.schema.js.map +1 -0
  463. package/dist/settings/assemble.d.ts +28 -0
  464. package/dist/settings/assemble.d.ts.map +1 -0
  465. package/dist/settings/assemble.js +30 -0
  466. package/dist/settings/assemble.js.map +1 -0
  467. package/dist/settings/index.d.ts +10 -0
  468. package/dist/settings/index.d.ts.map +1 -0
  469. package/dist/settings/index.js +10 -0
  470. package/dist/settings/index.js.map +1 -0
  471. package/dist/settings/settings-section.schema.d.ts +49 -0
  472. package/dist/settings/settings-section.schema.d.ts.map +1 -0
  473. package/dist/settings/settings-section.schema.js +70 -0
  474. package/dist/settings/settings-section.schema.js.map +1 -0
  475. package/dist/storage/adapter.d.ts +11 -0
  476. package/dist/storage/adapter.d.ts.map +1 -0
  477. package/dist/storage/adapter.js +8 -0
  478. package/dist/storage/adapter.js.map +1 -0
  479. package/dist/storage/index.d.ts +8 -0
  480. package/dist/storage/index.d.ts.map +1 -0
  481. package/dist/storage/index.js +8 -0
  482. package/dist/storage/index.js.map +1 -0
  483. package/dist/storage/schemas.d.ts +257 -0
  484. package/dist/storage/schemas.d.ts.map +1 -0
  485. package/dist/storage/schemas.js +179 -0
  486. package/dist/storage/schemas.js.map +1 -0
  487. package/dist/storage/types.d.ts +74 -0
  488. package/dist/storage/types.d.ts.map +1 -0
  489. package/dist/storage/types.js +7 -0
  490. package/dist/storage/types.js.map +1 -0
  491. package/dist/system-constants.d.ts +95 -0
  492. package/dist/system-constants.d.ts.map +1 -0
  493. package/dist/system-constants.js +110 -0
  494. package/dist/system-constants.js.map +1 -0
  495. package/package.json +417 -0
  496. package/src/adapters/cli/flags.ts +260 -0
  497. package/src/adapters/cli/index.ts +24 -0
  498. package/src/adapters/cli/mappings.ts +43 -0
  499. package/src/adapters/cli/prompts.ts +70 -0
  500. package/src/adapters/cli/schemas/flags.schema.ts +8 -0
  501. package/src/adapters/cli/schemas/mappings.schema.ts +3 -0
  502. package/src/adapters/cli/schemas/prompts.schema.ts +4 -0
  503. package/src/adapters/cli/schemas/wizard.schema.ts +21 -0
  504. package/src/adapters/cli/wizard.ts +106 -0
  505. package/src/adapters/web/components/ManifestForm.svelte +817 -0
  506. package/src/browser/index.ts +86 -0
  507. package/src/cli/settings.descriptor.ts +23 -0
  508. package/src/cli/types.ts +59 -0
  509. package/src/client/index.ts +169 -0
  510. package/src/client/storage.ts +76 -0
  511. package/src/collection/collection.ts +121 -0
  512. package/src/collection/index.ts +6 -0
  513. package/src/common/index.ts +86 -0
  514. package/src/config.context.descriptor.ts +12 -0
  515. package/src/config.plugin.ts +214 -0
  516. package/src/crud/base-types.ts +10 -0
  517. package/src/crud/index.ts +15 -0
  518. package/src/crud/schemas/base-types.schema.ts +20 -0
  519. package/src/crud/schemas/shared.schema.ts +14 -0
  520. package/src/crud/shared.ts +8 -0
  521. package/src/crud/types.ts +299 -0
  522. package/src/docs/environment.docs.descriptor.ts +385 -0
  523. package/src/docs/manifests.docs.descriptor.ts +505 -0
  524. package/src/docs/validation.docs.descriptor.ts +443 -0
  525. package/src/doctor.ts +143 -0
  526. package/src/env.runtime.ts +49 -0
  527. package/src/env.ts +91 -0
  528. package/src/environment/current.ts +108 -0
  529. package/src/environment/environment.config.descriptor.ts +60 -0
  530. package/src/environment/environment.config.schema.ts +24 -0
  531. package/src/environment/environment.local.descriptor.ts +45 -0
  532. package/src/environment/environment.plugin.ts +31 -0
  533. package/src/environment/environment.production.descriptor.ts +40 -0
  534. package/src/environment/environment.staging.descriptor.ts +25 -0
  535. package/src/environment/index.ts +22 -0
  536. package/src/environment/kinds/environment.default.ts +57 -0
  537. package/src/environment/kinds/environment.interface.ts +10 -0
  538. package/src/environment/kinds/environment.kind.ts +69 -0
  539. package/src/environment/kinds/environment.schema.ts +57 -0
  540. package/src/environment/kinds/index.ts +8 -0
  541. package/src/environment/kinds/schemas/environment.interface.schema.ts +11 -0
  542. package/src/environment/kinds/schemas/environment.schema.ts +24 -0
  543. package/src/environment/schemas/current.schema.ts +21 -0
  544. package/src/environment/schemas/environment.config.schema.ts +3 -0
  545. package/src/extensions/index.ts +26 -0
  546. package/src/extensions/registry.ts +179 -0
  547. package/src/extensions/types.ts +123 -0
  548. package/src/form/core/field-resolver.ts +380 -0
  549. package/src/form/core/groups.ts +96 -0
  550. package/src/form/core/index.ts +41 -0
  551. package/src/form/core/nested-utils.ts +115 -0
  552. package/src/form/core/schemas/validation.schema.ts +9 -0
  553. package/src/form/core/types.ts +115 -0
  554. package/src/form/core/validation.ts +137 -0
  555. package/src/form/core/visibility.ts +172 -0
  556. package/src/form/index.ts +36 -0
  557. package/src/index.ts +69 -0
  558. package/src/js-yaml.d.ts +4 -0
  559. package/src/loader/cli/index.ts +386 -0
  560. package/src/loader/cli/loaders.ts +153 -0
  561. package/src/loader/cli/types.ts +181 -0
  562. package/src/loader/cli/utils.ts +236 -0
  563. package/src/loader/client.ts +140 -0
  564. package/src/loader/discovery.ts +291 -0
  565. package/src/loader/file-loader.ts +262 -0
  566. package/src/loader/index.server.ts +389 -0
  567. package/src/loader/index.ts +18 -0
  568. package/src/loader/merge.ts +366 -0
  569. package/src/loader/schemas/merge.schema.ts +8 -0
  570. package/src/loader/schemas/validation.schema.ts +18 -0
  571. package/src/loader/server.ts +15 -0
  572. package/src/loader/types.ts +142 -0
  573. package/src/loader/validation.ts +261 -0
  574. package/src/manifest/builder.ts +452 -0
  575. package/src/manifest/config-manifest.ts +482 -0
  576. package/src/manifest/index.ts +92 -0
  577. package/src/manifest/schema.ts +249 -0
  578. package/src/manifest/schemas/builder.schema.ts +33 -0
  579. package/src/manifest/schemas/config-manifest.schema.ts +1 -0
  580. package/src/manifest/schemas/schema.schema.ts +99 -0
  581. package/src/manifest/types.ts +726 -0
  582. package/src/routing/index.ts +105 -0
  583. package/src/routing/merge.ts +589 -0
  584. package/src/routing/registry.ts +595 -0
  585. package/src/routing/schemas/merge.schema.ts +6 -0
  586. package/src/routing/types.ts +470 -0
  587. package/src/schema/extend-zod.ts +289 -0
  588. package/src/schema/index.ts +44 -0
  589. package/src/schema/references.ts +21 -0
  590. package/src/schema/resolver.ts +343 -0
  591. package/src/schema/schemas/extend-zod.schema.ts +16 -0
  592. package/src/schema/schemas/references.schema.ts +86 -0
  593. package/src/schemas/collection.ts +38 -0
  594. package/src/schemas/config-manifest-descriptor.ts +259 -0
  595. package/src/schemas/config-registry-state.ts +13 -0
  596. package/src/schemas/doctor.schema.ts +27 -0
  597. package/src/schemas/index.ts +53 -0
  598. package/src/server/index.ts +4 -0
  599. package/src/services/config-accessor.ts +218 -0
  600. package/src/services/config-storage/index.ts +8 -0
  601. package/src/services/config-storage/service.ts +355 -0
  602. package/src/services/config.ts +37 -0
  603. package/src/services/encryption.ts +260 -0
  604. package/src/services/index.ts +34 -0
  605. package/src/services/loader/loader.descriptor.ts +96 -0
  606. package/src/services/loader/loader.impl.cloud.ts +214 -0
  607. package/src/services/loader/loader.impl.consumer.local-first.ts +417 -0
  608. package/src/services/loader/loader.impl.consumer.ts +213 -0
  609. package/src/services/manifest-utils.ts +119 -0
  610. package/src/services/schemas/config-accessor.schema.ts +11 -0
  611. package/src/services/schemas/encryption.schema.ts +23 -0
  612. package/src/services/schemas/manifest-utils.schema.ts +4 -0
  613. package/src/settings/assemble.ts +46 -0
  614. package/src/settings/index.ts +19 -0
  615. package/src/settings/settings-section.schema.ts +84 -0
  616. package/src/storage/adapter.ts +12 -0
  617. package/src/storage/index.ts +48 -0
  618. package/src/storage/schemas.ts +215 -0
  619. package/src/storage/types.ts +88 -0
  620. package/src/system-constants.ts +121 -0
@@ -0,0 +1,358 @@
1
+ /**
2
+ * Discriminated Routing Types
3
+ *
4
+ * Types for discriminated field routing - where a discriminator field value
5
+ * dynamically loads variant-specific fields, schemas, and component overrides.
6
+ */
7
+ import type { ZodTypeAny } from 'zod/v4';
8
+ import type { ConfigFieldMeta, ConfigFieldGroup } from '../manifest/types.ts';
9
+ import type { FormStep } from '../crud/shared.ts';
10
+ import type { LazyComponentOverride, ExtensionSurface } from '../extensions/types.ts';
11
+ /**
12
+ * Surface-specific component overrides for a variant
13
+ */
14
+ export interface VariantSurfaceOverrides {
15
+ /** TUI (React/OpenTUI) component overrides */
16
+ tui?: Record<string, LazyComponentOverride>;
17
+ /** Web (SvelteKit) component overrides */
18
+ web?: Record<string, LazyComponentOverride>;
19
+ /** CLI component overrides */
20
+ cli?: Record<string, LazyComponentOverride>;
21
+ }
22
+ /**
23
+ * A manifest variant that extends/overrides a base manifest
24
+ * based on a discriminator field value.
25
+ *
26
+ * @template TConfig - The configuration type for this variant
27
+ */
28
+ export interface ManifestVariant<TConfig extends Record<string, unknown> = Record<string, unknown>> {
29
+ /** Unique variant identifier (matches discriminator value) */
30
+ id: string;
31
+ /**
32
+ * Schema extension (merged with base schema)
33
+ * Variant-specific validation that extends the base schema
34
+ */
35
+ schema?: ZodTypeAny;
36
+ /**
37
+ * Field extensions - merged with base manifest fields
38
+ * Variant fields are added/override base fields
39
+ */
40
+ fields: Record<string, ConfigFieldMeta>;
41
+ /**
42
+ * Field groups - merged with base manifest groups
43
+ */
44
+ groups?: ConfigFieldGroup[];
45
+ /**
46
+ * Default values for variant-specific fields
47
+ * Merged with base defaults (variant wins on conflict)
48
+ */
49
+ defaults?: Partial<TConfig>;
50
+ /**
51
+ * Optional: Override step field placement
52
+ * If not provided, fields auto-inject by matching group ID
53
+ * If provided, completely replaces base form steps
54
+ */
55
+ stepOverrides?: FormStep[];
56
+ /**
57
+ * Surface-specific component overrides
58
+ * Keyed by surface type, then by field key
59
+ */
60
+ overrides?: VariantSurfaceOverrides;
61
+ }
62
+ /**
63
+ * Variant loader function type
64
+ * Used for lazy loading variants on demand
65
+ */
66
+ export type VariantLoader = () => Promise<Map<string, ManifestVariant>>;
67
+ /**
68
+ * Routing configuration for a manifest
69
+ * Enables discriminated field routing based on a field value
70
+ */
71
+ export interface ManifestRouting {
72
+ /**
73
+ * Field key that determines which variant to load
74
+ * e.g., 'providerType', 'agentType'
75
+ */
76
+ discriminator: string;
77
+ /**
78
+ * Display priority for discriminator field (lower = first)
79
+ * Controls where discriminator appears in forms
80
+ * @default 0 (appears first)
81
+ */
82
+ priority?: number;
83
+ /**
84
+ * Variants map or lazy loader function
85
+ * - Map: Eagerly loaded variants keyed by discriminator value
86
+ * - Function: Lazy loader that returns variants on demand
87
+ */
88
+ variants: Map<string, ManifestVariant> | VariantLoader;
89
+ /**
90
+ * Optional fallback variant when discriminator value doesn't match
91
+ */
92
+ fallback?: ManifestVariant;
93
+ }
94
+ /**
95
+ * Nested routing configuration for sub-objects with their own discriminators.
96
+ * Used when a manifest contains multiple discriminated unions (e.g., agent roles).
97
+ *
98
+ * @example
99
+ * ```typescript
100
+ * // For autoloop config with multiple agent roles:
101
+ * nestedRoutings: [
102
+ * { path: 'agents.orchestration', discriminator: 'type', variants: agentVariants },
103
+ * { path: 'agents.development', discriminator: 'type', variants: agentVariants },
104
+ * { path: 'agents.planning', discriminator: 'type', variants: agentVariants },
105
+ * ]
106
+ * ```
107
+ */
108
+ export interface NestedRouting {
109
+ /**
110
+ * Dot-notation path to the nested object containing the discriminator.
111
+ * e.g., 'agents.orchestration', 'providers.primary'
112
+ */
113
+ path: string;
114
+ /**
115
+ * Field key within the nested object that determines variant.
116
+ * e.g., 'type' (full path becomes 'agents.orchestration.type')
117
+ */
118
+ discriminator: string;
119
+ /**
120
+ * Display label for this nested routing section
121
+ */
122
+ label: string;
123
+ /**
124
+ * Optional description for the section
125
+ */
126
+ description?: string;
127
+ /**
128
+ * Optional icon for the section
129
+ */
130
+ icon?: string;
131
+ /**
132
+ * Field path for enable/disable toggle (relative to path).
133
+ * When set, the section shows an enable/disable toggle.
134
+ * e.g., 'enabled' (full path becomes 'agents.orchestration.enabled')
135
+ */
136
+ enableField?: string;
137
+ /**
138
+ * Whether this nested routing is required (no enable toggle).
139
+ * @default false
140
+ */
141
+ required?: boolean;
142
+ /**
143
+ * Display priority (lower = first in list)
144
+ * @default 100
145
+ */
146
+ priority?: number;
147
+ /**
148
+ * Variants map or lazy loader function.
149
+ * Can reference shared variants across multiple nested routings.
150
+ */
151
+ variants: Map<string, ManifestVariant> | VariantLoader;
152
+ /**
153
+ * Optional fallback variant when discriminator value doesn't match
154
+ */
155
+ fallback?: ManifestVariant;
156
+ /**
157
+ * Fields to show in collapsed summary view.
158
+ * Paths are relative to the nested object.
159
+ * e.g., ['model', 'provider'] shows agents.orchestration.model
160
+ */
161
+ summaryFields?: string[];
162
+ /**
163
+ * Whether the section starts expanded
164
+ * @default false
165
+ */
166
+ defaultExpanded?: boolean;
167
+ }
168
+ /**
169
+ * Active nested variant state for tracking multiple discriminators
170
+ */
171
+ export interface ActiveNestedVariant {
172
+ /** The routing path this variant is active for */
173
+ path: string;
174
+ /** The discriminator value */
175
+ discriminatorValue: string;
176
+ /** The resolved variant */
177
+ variant: ManifestVariant;
178
+ /** Whether this section is enabled (if enableField is set) */
179
+ enabled: boolean;
180
+ }
181
+ /**
182
+ * Result of resolving a nested variant
183
+ */
184
+ export interface ResolvedNestedVariant<TConfig extends Record<string, unknown> = Record<string, unknown>> {
185
+ /** The routing path */
186
+ path: string;
187
+ /** The resolved variant (or undefined if not found) */
188
+ variant?: ManifestVariant<TConfig>;
189
+ /** Whether the variant was found */
190
+ found: boolean;
191
+ /** The discriminator value used for lookup */
192
+ discriminatorValue: string;
193
+ /** Whether fallback was used */
194
+ usedFallback: boolean;
195
+ /** Whether this nested routing is enabled */
196
+ enabled: boolean;
197
+ }
198
+ /**
199
+ * Authentication type for provider connections
200
+ */
201
+ export type ProviderAuthType = 'none' | 'bearer' | 'api_key' | 'basic' | 'oauth';
202
+ /**
203
+ * Provider category for organization
204
+ */
205
+ export type ProviderCategory = 'local' | 'cloud' | 'custom';
206
+ /**
207
+ * Hardware constraint for provider execution
208
+ * - 'consumer': Runs on user's machine (CLI, local server)
209
+ * - 'cloud': Runs on platform servers
210
+ */
211
+ export type HardwareConstraint = 'consumer' | 'cloud';
212
+ /**
213
+ * Provider client interface - minimal contract for lazy-loaded clients
214
+ */
215
+ export interface ProviderClient {
216
+ /** Provider identifier */
217
+ readonly providerId: string;
218
+ /** Test connection to the provider */
219
+ testConnection?(): Promise<{
220
+ success: boolean;
221
+ error?: string;
222
+ }>;
223
+ }
224
+ /**
225
+ * Provider client factory type
226
+ */
227
+ export type ProviderClientFactory = () => Promise<ProviderClient>;
228
+ /**
229
+ * Provider metadata
230
+ */
231
+ export interface ProviderMeta {
232
+ /** Display label */
233
+ label: string;
234
+ /** Icon (emoji) */
235
+ icon: string;
236
+ /** Short description */
237
+ description: string;
238
+ /** Provider category */
239
+ category: ProviderCategory;
240
+ /**
241
+ * Hardware constraints - where this provider can run
242
+ * Defaults to ['consumer', 'cloud'] if not specified
243
+ */
244
+ hardware?: HardwareConstraint[];
245
+ /** Supported capabilities */
246
+ capabilities?: string[];
247
+ /** Documentation URL */
248
+ docsUrl?: string;
249
+ }
250
+ /**
251
+ * Provider adapter configuration
252
+ */
253
+ export interface ProviderAdapter {
254
+ /** Lazy-load client factory (optional - only needed if connection testing is implemented) */
255
+ client?: ProviderClientFactory;
256
+ /** Authentication type */
257
+ authType: ProviderAuthType;
258
+ /** Whether connection test is available */
259
+ supportsConnectionTest?: boolean;
260
+ }
261
+ /**
262
+ * Complete provider module definition
263
+ *
264
+ * A provider module is a complete provider definition that includes:
265
+ * - Identity and metadata
266
+ * - Adapter/client implementation
267
+ * - Operating defaults
268
+ * - Config manifest variant
269
+ *
270
+ * @template TConfig - The configuration type for this provider
271
+ */
272
+ export interface ProviderModule<TConfig extends Record<string, unknown> = Record<string, unknown>> {
273
+ /** Unique provider identifier (e.g., 'local-llm', 'cloud-llm') */
274
+ id: string;
275
+ /** Provider type for discrimination (usually same as id) */
276
+ type: string;
277
+ /** Provider metadata */
278
+ meta: ProviderMeta;
279
+ /** Adapter configuration */
280
+ adapter: ProviderAdapter;
281
+ /** Operating defaults for this provider */
282
+ defaults: TConfig;
283
+ /** Config manifest variant */
284
+ config: ManifestVariant<TConfig>;
285
+ }
286
+ /**
287
+ * Result of variant resolution
288
+ */
289
+ export interface ResolvedVariant<TConfig extends Record<string, unknown> = Record<string, unknown>> {
290
+ /** The resolved variant (or undefined if not found) */
291
+ variant?: ManifestVariant<TConfig>;
292
+ /** Whether the variant was found */
293
+ found: boolean;
294
+ /** The discriminator value used for lookup */
295
+ discriminatorValue: string;
296
+ /** Whether fallback was used */
297
+ usedFallback: boolean;
298
+ }
299
+ /**
300
+ * Options for getting surface overrides from a variant
301
+ */
302
+ export interface GetVariantOverridesOptions {
303
+ /** The variant to get overrides from */
304
+ variant: ManifestVariant;
305
+ /** Target surface */
306
+ surface: ExtensionSurface;
307
+ /** Whether to include base manifest overrides */
308
+ includeBase?: boolean;
309
+ }
310
+ /**
311
+ * Type guard to check if routing has lazy variants
312
+ */
313
+ export declare function hasLazyVariants(routing: ManifestRouting): routing is ManifestRouting & {
314
+ variants: VariantLoader;
315
+ };
316
+ /**
317
+ * Type guard to check if routing has eager variants
318
+ */
319
+ export declare function hasEagerVariants(routing: ManifestRouting): routing is ManifestRouting & {
320
+ variants: Map<string, ManifestVariant>;
321
+ };
322
+ /**
323
+ * Type guard to check if an object is a ManifestVariant
324
+ */
325
+ export declare function isManifestVariant(obj: unknown): obj is ManifestVariant;
326
+ /**
327
+ * Type guard to check if an object is a ProviderModule
328
+ */
329
+ export declare function isProviderModule(obj: unknown): obj is ProviderModule;
330
+ /**
331
+ * Type guard to check if nested routing has lazy variants
332
+ */
333
+ export declare function hasNestedLazyVariants(routing: NestedRouting): routing is NestedRouting & {
334
+ variants: VariantLoader;
335
+ };
336
+ /**
337
+ * Type guard to check if nested routing has eager variants
338
+ */
339
+ export declare function hasNestedEagerVariants(routing: NestedRouting): routing is NestedRouting & {
340
+ variants: Map<string, ManifestVariant>;
341
+ };
342
+ /**
343
+ * Type guard to check if an object is a NestedRouting
344
+ */
345
+ export declare function isNestedRouting(obj: unknown): obj is NestedRouting;
346
+ /**
347
+ * Get the full discriminator path for a nested routing
348
+ * @param routing - The nested routing
349
+ * @returns Full dot-notation path (e.g., 'agents.orchestration.type')
350
+ */
351
+ export declare function getNestedDiscriminatorPath(routing: NestedRouting): string;
352
+ /**
353
+ * Get the full enable field path for a nested routing
354
+ * @param routing - The nested routing
355
+ * @returns Full dot-notation path or undefined if no enable field
356
+ */
357
+ export declare function getNestedEnablePath(routing: NestedRouting): string | undefined;
358
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/routing/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Discriminated Routing Types
3
+ *
4
+ * Types for discriminated field routing - where a discriminator field value
5
+ * dynamically loads variant-specific fields, schemas, and component overrides.
6
+ */
7
+ // Type Guards
8
+ /**
9
+ * Type guard to check if routing has lazy variants
10
+ */
11
+ export function hasLazyVariants(routing) {
12
+ return typeof routing.variants === 'function';
13
+ }
14
+ /**
15
+ * Type guard to check if routing has eager variants
16
+ */
17
+ export function hasEagerVariants(routing) {
18
+ return routing.variants instanceof Map;
19
+ }
20
+ /**
21
+ * Type guard to check if an object is a ManifestVariant
22
+ */
23
+ export function isManifestVariant(obj) {
24
+ return (typeof obj === 'object' &&
25
+ obj !== null &&
26
+ 'id' in obj &&
27
+ 'fields' in obj &&
28
+ typeof obj.id === 'string' &&
29
+ typeof obj.fields === 'object');
30
+ }
31
+ /**
32
+ * Type guard to check if an object is a ProviderModule
33
+ */
34
+ export function isProviderModule(obj) {
35
+ return (typeof obj === 'object' &&
36
+ obj !== null &&
37
+ 'id' in obj &&
38
+ 'type' in obj &&
39
+ 'meta' in obj &&
40
+ 'adapter' in obj &&
41
+ 'defaults' in obj &&
42
+ 'config' in obj &&
43
+ isManifestVariant(obj.config));
44
+ }
45
+ /**
46
+ * Type guard to check if nested routing has lazy variants
47
+ */
48
+ export function hasNestedLazyVariants(routing) {
49
+ return typeof routing.variants === 'function';
50
+ }
51
+ /**
52
+ * Type guard to check if nested routing has eager variants
53
+ */
54
+ export function hasNestedEagerVariants(routing) {
55
+ return routing.variants instanceof Map;
56
+ }
57
+ /**
58
+ * Type guard to check if an object is a NestedRouting
59
+ */
60
+ export function isNestedRouting(obj) {
61
+ return (typeof obj === 'object' &&
62
+ obj !== null &&
63
+ 'path' in obj &&
64
+ 'discriminator' in obj &&
65
+ 'label' in obj &&
66
+ 'variants' in obj &&
67
+ typeof obj.path === 'string' &&
68
+ typeof obj.discriminator === 'string' &&
69
+ typeof obj.label === 'string');
70
+ }
71
+ /**
72
+ * Get the full discriminator path for a nested routing
73
+ * @param routing - The nested routing
74
+ * @returns Full dot-notation path (e.g., 'agents.orchestration.type')
75
+ */
76
+ export function getNestedDiscriminatorPath(routing) {
77
+ return `${routing.path}.${routing.discriminator}`;
78
+ }
79
+ /**
80
+ * Get the full enable field path for a nested routing
81
+ * @param routing - The nested routing
82
+ * @returns Full dot-notation path or undefined if no enable field
83
+ */
84
+ export function getNestedEnablePath(routing) {
85
+ if (!routing.enableField)
86
+ return undefined;
87
+ return `${routing.path}.${routing.enableField}`;
88
+ }
89
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/routing/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyWH,cAAc;AAEd;;GAEG;AACH,MAAM,UAAU,eAAe,CAC9B,OAAwB;IAExB,OAAO,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC/B,OAAwB;IAExB,OAAO,OAAO,CAAC,QAAQ,YAAY,GAAG,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC7C,OAAO,CACN,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,IAAI,IAAI,GAAG;QACX,QAAQ,IAAI,GAAG;QACf,OAAQ,GAAuB,CAAC,EAAE,KAAK,QAAQ;QAC/C,OAAQ,GAAuB,CAAC,MAAM,KAAK,QAAQ,CACnD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC5C,OAAO,CACN,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,IAAI,IAAI,GAAG;QACX,MAAM,IAAI,GAAG;QACb,MAAM,IAAI,GAAG;QACb,SAAS,IAAI,GAAG;QAChB,UAAU,IAAI,GAAG;QACjB,QAAQ,IAAI,GAAG;QACf,iBAAiB,CAAE,GAAsB,CAAC,MAAM,CAAC,CACjD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACpC,OAAsB;IAEtB,OAAO,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACrC,OAAsB;IAEtB,OAAO,OAAO,CAAC,QAAQ,YAAY,GAAG,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY;IAC3C,OAAO,CACN,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,MAAM,IAAI,GAAG;QACb,eAAe,IAAI,GAAG;QACtB,OAAO,IAAI,GAAG;QACd,UAAU,IAAI,GAAG;QACjB,OAAQ,GAAqB,CAAC,IAAI,KAAK,QAAQ;QAC/C,OAAQ,GAAqB,CAAC,aAAa,KAAK,QAAQ;QACxD,OAAQ,GAAqB,CAAC,KAAK,KAAK,QAAQ,CAChD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAsB;IAChE,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAsB;IACzD,IAAI,CAAC,OAAO,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;AACjD,CAAC"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Zod Schema Extensions for Config Fields
3
+ *
4
+ * Provides a fluent builder pattern to attach reference and UI metadata
5
+ * to Zod schemas. This enables schema-driven form generation with
6
+ * dynamic option resolution.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const schema = z.object({
11
+ * widgetId: configField(z.string())
12
+ * .references('example.widgets', { labelField: 'name' })
13
+ * .label('Widget')
14
+ * .emptyState({ message: 'No widgets configured' })
15
+ * .build()
16
+ * });
17
+ * ```
18
+ */
19
+ import type { ZodTypeAny } from 'zod/v4';
20
+ import type { ReferenceMeta, ConfigReference, NestedReference, ComputedReference, EnumReference, EmptyStateConfig } from './references.ts';
21
+ import type { UIMeta, ConfigFieldMeta } from './schemas/extend-zod.schema.ts';
22
+ export type { UIMeta, ConfigFieldMeta } from './schemas/extend-zod.schema.ts';
23
+ /**
24
+ * Fluent builder for config-aware schemas
25
+ */
26
+ export declare class ConfigFieldBuilder<T extends ZodTypeAny> {
27
+ private _schema;
28
+ private _referenceMeta?;
29
+ private _uiMeta;
30
+ constructor(schema: T);
31
+ /**
32
+ * Reference another config collection
33
+ * @example .references('example.things')
34
+ * @example .references('example.widgets', { labelField: 'name', filter: 'isActive' })
35
+ */
36
+ references(path: string, options?: Omit<ConfigReference, 'type' | 'path'>): this;
37
+ /**
38
+ * Reference nested data within a parent config item
39
+ * @example .referencesNested('example.widgets', 'widgetId', 'parts')
40
+ */
41
+ referencesNested(parentPath: string, parentField: string, nestedPath: string, options?: Omit<NestedReference, 'type' | 'parentPath' | 'parentField' | 'nestedPath'>): this;
42
+ /**
43
+ * Resolve options via async function
44
+ * @example .computed('fetchWidgetParts', { dependsOn: ['widgetId'] })
45
+ */
46
+ computed(resolver: string, options?: Omit<ComputedReference, 'type' | 'resolver'>): this;
47
+ /**
48
+ * Static enum options
49
+ * @example .options([{ value: 'a', label: 'Option A' }])
50
+ */
51
+ options(values: EnumReference['values']): this;
52
+ /**
53
+ * UI rendering style
54
+ */
55
+ as(style: NonNullable<ReferenceMeta['as']>): this;
56
+ /**
57
+ * Allow multiple selection
58
+ */
59
+ multiple(allow?: boolean): this;
60
+ /**
61
+ * Configure empty state
62
+ */
63
+ emptyState(config: EmptyStateConfig): this;
64
+ /**
65
+ * Set UI label
66
+ */
67
+ label(text: string): this;
68
+ /**
69
+ * Set UI description (shown as subtitle)
70
+ */
71
+ description(text: string): this;
72
+ /**
73
+ * Set help text (shown as tooltip or hint)
74
+ */
75
+ helpText(text: string): this;
76
+ /**
77
+ * Set placeholder text
78
+ */
79
+ placeholder(text: string): this;
80
+ /**
81
+ * Set field order (lower = earlier)
82
+ */
83
+ order(n: number): this;
84
+ /**
85
+ * Set field group for sectioning
86
+ */
87
+ group(id: string): this;
88
+ /**
89
+ * Hide field from UI
90
+ */
91
+ hidden(hide?: boolean): this;
92
+ /**
93
+ * Mark field as read-only
94
+ */
95
+ readOnly(ro?: boolean): this;
96
+ /**
97
+ * Set component type hint
98
+ */
99
+ component(type: NonNullable<UIMeta['component']>): this;
100
+ /**
101
+ * Build the final schema with metadata attached
102
+ */
103
+ build(): T;
104
+ }
105
+ /**
106
+ * Create a config-aware field builder
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * const widgetId = configField(z.string())
111
+ * .references('example.widgets')
112
+ * .label('Widget')
113
+ * .build();
114
+ * ```
115
+ */
116
+ export declare function configField<T extends ZodTypeAny>(schema: T): ConfigFieldBuilder<T>;
117
+ /**
118
+ * Extract reference metadata from schema
119
+ */
120
+ export declare function getReferenceMeta(schema: ZodTypeAny): ReferenceMeta | undefined;
121
+ /**
122
+ * Extract UI metadata from schema
123
+ */
124
+ export declare function getUIMeta(schema: ZodTypeAny): UIMeta | undefined;
125
+ /**
126
+ * Extract all config field metadata from schema
127
+ */
128
+ export declare function getConfigFieldMeta(schema: ZodTypeAny): ConfigFieldMeta;
129
+ /**
130
+ * Check if schema has reference metadata
131
+ */
132
+ export declare function hasReference(schema: ZodTypeAny): boolean;
133
+ /**
134
+ * Check if schema has any config field metadata
135
+ */
136
+ export declare function hasConfigFieldMeta(schema: ZodTypeAny): boolean;
137
+ //# sourceMappingURL=extend-zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend-zod.d.ts","sourceRoot":"","sources":["../../src/schema/extend-zod.ts"],"names":[],"mappings":"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"}