@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,347 @@
1
+ /**
2
+ * Config Loader - Local-First Implementation
3
+ *
4
+ * Hybrid configuration loading using runtime-composed strategy.
5
+ * Implements local-first policy through runtime resolution, not internal branching.
6
+ *
7
+ * Scope: { hardware: ['consumer'], qualifiers: { storage: 'local-first' }}
8
+ *
9
+ * This replaces the syncDirection branching in UnifiedConfigLoader with a pure
10
+ * runtime-composed approach. The cloud client is resolved via runtime.query when needed.
11
+ */
12
+ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
13
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
14
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
15
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
16
+ });
17
+ }
18
+ return path;
19
+ };
20
+ import { createRuntimeImplementation, getVibesRuntime } from '@vibesdotdev/runtime';
21
+ import * as z from 'zod/v4';
22
+ /** Deferred LocalDB adapter - loads the real adapter dynamically */
23
+ function createDeferredLocalDBAdapter(options) {
24
+ let docStore = null;
25
+ async function getDocStore() {
26
+ if (!docStore) {
27
+ const modulePath = '@vibesdotdev/storage-adapter-localdb/localdb.adapter.impl';
28
+ const { default: implementation } = (await import(__rewriteRelativeImportExtension(
29
+ /* @vite-ignore */ modulePath)));
30
+ const adapter = implementation.impl;
31
+ const basePath = options.scope === 'project'
32
+ ? `${process.cwd()}/.vibes`
33
+ : `${process.env.HOME ?? '~'}/.vibes`;
34
+ adapter.configure({ basePath });
35
+ docStore = adapter.documentStore(options.namespace, z.unknown());
36
+ }
37
+ return docStore;
38
+ }
39
+ return {
40
+ async load() {
41
+ const store = await getDocStore();
42
+ return store.load();
43
+ },
44
+ async save(data) {
45
+ const store = await getDocStore();
46
+ return store.save(data);
47
+ },
48
+ async exists() {
49
+ const store = await getDocStore();
50
+ return store.exists();
51
+ },
52
+ async delete() {
53
+ const store = await getDocStore();
54
+ return store.delete();
55
+ }
56
+ };
57
+ }
58
+ /** Create a fetch-based cloud settings client */
59
+ function createFetchCloudClient(options) {
60
+ const { baseUrl, getAuthToken } = options;
61
+ return {
62
+ async get(namespace) {
63
+ const token = await getAuthToken();
64
+ if (!token)
65
+ return null;
66
+ const res = await fetch(`${baseUrl}/api/settings/${encodeURIComponent(namespace)}`, {
67
+ headers: { Authorization: `Bearer ${token}` }
68
+ });
69
+ if (!res.ok)
70
+ return null;
71
+ return res.json();
72
+ },
73
+ async set(namespace, data) {
74
+ const token = await getAuthToken();
75
+ if (!token)
76
+ throw new Error('Not authenticated');
77
+ await fetch(`${baseUrl}/api/settings/${encodeURIComponent(namespace)}`, {
78
+ method: 'PUT',
79
+ headers: {
80
+ 'Content-Type': 'application/json',
81
+ Authorization: `Bearer ${token}`
82
+ },
83
+ body: JSON.stringify(data)
84
+ });
85
+ },
86
+ async delete(namespace) {
87
+ const token = await getAuthToken();
88
+ if (!token)
89
+ throw new Error('Not authenticated');
90
+ await fetch(`${baseUrl}/api/settings/${encodeURIComponent(namespace)}`, {
91
+ method: 'DELETE',
92
+ headers: { Authorization: `Bearer ${token}` }
93
+ });
94
+ }
95
+ };
96
+ }
97
+ /**
98
+ * Local-First Config Loader
99
+ *
100
+ * Hybrid implementation that composes local and cloud storage through runtime.
101
+ * No internal branching - cloud client is resolved via runtime.query.
102
+ *
103
+ * Load strategy: local first, then cloud (with optional caching)
104
+ * Save strategy: local always, cloud when authenticated
105
+ */
106
+ export class LocalFirstConfigLoader {
107
+ runtime;
108
+ localAdapters = new Map();
109
+ constructor() {
110
+ this.runtime = getVibesRuntime();
111
+ }
112
+ /**
113
+ * Resolve cloud client from runtime when needed
114
+ * Returns null if cloud is not available (not authenticated)
115
+ */
116
+ async resolveCloudClient() {
117
+ try {
118
+ // Query runtime for cloud storage adapter
119
+ const cloudAdapter = await this.runtime
120
+ .query('storage/adapter')
121
+ .matching({
122
+ qualifiers: { type: 'cloud', purpose: 'settings' }
123
+ })
124
+ .resolve();
125
+ if (cloudAdapter && typeof cloudAdapter === 'object') {
126
+ // Check if it has document store capabilities
127
+ if ('documentStore' in cloudAdapter) {
128
+ return this.wrapAdapterAsCloudClient(cloudAdapter);
129
+ }
130
+ }
131
+ // Fallback: try to resolve from context/config
132
+ try {
133
+ const configContext = await this.runtime.context('config');
134
+ if (configContext && typeof configContext === 'object') {
135
+ const baseUrl = configContext.cloudBaseUrl;
136
+ const getAuthToken = configContext.getAuthToken;
137
+ if (baseUrl && getAuthToken) {
138
+ return createFetchCloudClient({ baseUrl, getAuthToken });
139
+ }
140
+ }
141
+ }
142
+ catch {
143
+ // Config context not available
144
+ }
145
+ }
146
+ catch {
147
+ // Cloud not available
148
+ }
149
+ return null;
150
+ }
151
+ /**
152
+ * Wrap a storage adapter as cloud client interface
153
+ */
154
+ wrapAdapterAsCloudClient(adapter) {
155
+ return {
156
+ async get(namespace) {
157
+ // The adapter already has namespace baked in via documentStore()
158
+ const store = adapter.load;
159
+ if (store) {
160
+ return store.call(adapter);
161
+ }
162
+ return null;
163
+ },
164
+ async set(namespace, data) {
165
+ const save = adapter.save;
166
+ if (save) {
167
+ return save.call(adapter, data);
168
+ }
169
+ },
170
+ async delete(namespace) {
171
+ const del = adapter.delete;
172
+ if (del) {
173
+ return del.call(adapter);
174
+ }
175
+ }
176
+ };
177
+ }
178
+ /**
179
+ * Load configuration: local first, then cloud
180
+ */
181
+ async load(manifest) {
182
+ const namespace = manifest.storage.namespace;
183
+ try {
184
+ // Step 1: Try local first
185
+ const localAdapter = this.getLocalAdapter(namespace, manifest);
186
+ const localData = await localAdapter.load();
187
+ if (localData !== null) {
188
+ return {
189
+ data: localData,
190
+ source: 'local',
191
+ inSync: true,
192
+ lastSyncedAt: null
193
+ };
194
+ }
195
+ // Step 2: Local empty, try cloud (resolved via runtime)
196
+ const cloudClient = await this.resolveCloudClient();
197
+ if (cloudClient) {
198
+ const cloudData = await cloudClient.get(namespace);
199
+ if (cloudData !== null) {
200
+ // Cache to local for future loads
201
+ await localAdapter.save(cloudData);
202
+ return {
203
+ data: cloudData,
204
+ source: 'cloud',
205
+ inSync: true,
206
+ lastSyncedAt: new Date()
207
+ };
208
+ }
209
+ }
210
+ // Step 3: Neither has data
211
+ return {
212
+ data: null,
213
+ source: 'default',
214
+ inSync: true,
215
+ lastSyncedAt: null
216
+ };
217
+ }
218
+ catch (error) {
219
+ return {
220
+ data: null,
221
+ source: 'default',
222
+ inSync: false,
223
+ lastSyncedAt: null,
224
+ syncError: error instanceof Error ? error.message : 'Load failed'
225
+ };
226
+ }
227
+ }
228
+ /**
229
+ * Save configuration: local always, cloud when available
230
+ */
231
+ async save(manifest, data) {
232
+ const namespace = manifest.storage.namespace;
233
+ try {
234
+ // Step 1: Save to local
235
+ const localAdapter = this.getLocalAdapter(namespace, manifest);
236
+ await localAdapter.save(data);
237
+ // Step 2: Try to sync to cloud (resolved via runtime)
238
+ const cloudClient = await this.resolveCloudClient();
239
+ if (cloudClient) {
240
+ await cloudClient.set(namespace, data);
241
+ return {
242
+ success: true,
243
+ direction: 'push',
244
+ changesApplied: 1
245
+ };
246
+ }
247
+ // No cloud available, local-only save
248
+ return {
249
+ success: true,
250
+ direction: 'none',
251
+ changesApplied: 1
252
+ };
253
+ }
254
+ catch (error) {
255
+ return {
256
+ success: false,
257
+ direction: 'none',
258
+ changesApplied: 0,
259
+ error: error instanceof Error ? error.message : 'Save failed'
260
+ };
261
+ }
262
+ }
263
+ /**
264
+ * Sync between local and cloud
265
+ */
266
+ async sync(manifest, direction = 'auto') {
267
+ const namespace = manifest.storage.namespace;
268
+ try {
269
+ const localAdapter = this.getLocalAdapter(namespace, manifest);
270
+ const cloudClient = await this.resolveCloudClient();
271
+ if (!cloudClient) {
272
+ return {
273
+ success: true,
274
+ direction: 'none',
275
+ changesApplied: 0
276
+ };
277
+ }
278
+ const localData = await localAdapter.load();
279
+ const cloudData = await cloudClient.get(namespace);
280
+ // Determine actual direction
281
+ let actualDirection = direction;
282
+ if (direction === 'auto') {
283
+ // Prefer local if it exists (CLI edits take precedence)
284
+ actualDirection = localData !== null ? 'push' : 'pull';
285
+ }
286
+ if (actualDirection === 'push' && localData !== null) {
287
+ await cloudClient.set(namespace, localData);
288
+ return {
289
+ success: true,
290
+ direction: 'push',
291
+ changesApplied: 1
292
+ };
293
+ }
294
+ else if (actualDirection === 'pull' && cloudData !== null) {
295
+ await localAdapter.save(cloudData);
296
+ return {
297
+ success: true,
298
+ direction: 'pull',
299
+ changesApplied: 1
300
+ };
301
+ }
302
+ return {
303
+ success: true,
304
+ direction: 'none',
305
+ changesApplied: 0
306
+ };
307
+ }
308
+ catch (error) {
309
+ return {
310
+ success: false,
311
+ direction: 'none',
312
+ changesApplied: 0,
313
+ error: error instanceof Error ? error.message : 'Sync failed'
314
+ };
315
+ }
316
+ }
317
+ // Private helpers
318
+ getLocalAdapter(namespace, manifest) {
319
+ let adapter = this.localAdapters.get(namespace);
320
+ if (!adapter) {
321
+ adapter = createDeferredLocalDBAdapter({
322
+ scope: manifest.storage.scope === 'project' ? 'project' : 'global',
323
+ namespace,
324
+ encrypt: manifest.storage.encryptSensitive
325
+ });
326
+ this.localAdapters.set(namespace, adapter);
327
+ }
328
+ return adapter;
329
+ }
330
+ }
331
+ /**
332
+ * Runtime implementation registration
333
+ *
334
+ * Scope: consumer hardware with local-first storage qualifier.
335
+ * No syncDirection parameter - the qualifier encodes the policy.
336
+ * Cloud resolved through runtime.query, not internal composition.
337
+ */
338
+ export default createRuntimeImplementation({
339
+ kind: 'config/loader',
340
+ id: 'config.loader.local-first',
341
+ implementation: LocalFirstConfigLoader,
342
+ constraint: {
343
+ hardware: ['consumer'],
344
+ qualifiers: { storage: 'local-first' }
345
+ }
346
+ });
347
+ //# sourceMappingURL=loader.impl.consumer.local-first.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.impl.consumer.local-first.js","sourceRoot":"","sources":["../../../src/services/loader/loader.impl.consumer.local-first.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Manifest Utilities
3
+ *
4
+ * Runtime-based utilities for looking up and working with config manifests.
5
+ * Replaces the legacy registry/manifests.js functions.
6
+ */
7
+ import type { ConfigManifest } from '../manifest/types.ts';
8
+ import type { RecordManifest } from '../crud/types.ts';
9
+ import type { AnyManifest } from './schemas/manifest-utils.schema.ts';
10
+ export type { AnyManifest } from './schemas/manifest-utils.schema.ts';
11
+ /**
12
+ * Get a manifest by ID from the runtime
13
+ */
14
+ export declare function getManifest(id: string): AnyManifest | null;
15
+ /**
16
+ * Get all registered manifest IDs
17
+ */
18
+ export declare function getAllManifestIds(): string[];
19
+ /**
20
+ * Get all registered manifests
21
+ */
22
+ export declare function getAllManifests(): AnyManifest[];
23
+ /**
24
+ * Check if a manifest is a ConfigManifest (single-object config)
25
+ */
26
+ export declare function isConfigManifest(manifest: unknown): manifest is ConfigManifest;
27
+ /**
28
+ * Check if a manifest is a RecordManifest (CRUD list)
29
+ */
30
+ export declare function isRecordManifest(manifest: unknown): manifest is RecordManifest;
31
+ /**
32
+ * Get manifests by surface
33
+ */
34
+ export declare function getManifestsForSurface(surface: string): AnyManifest[];
35
+ /**
36
+ * Get manifests by navigation page
37
+ */
38
+ export declare function getManifestsForPage(page: string): AnyManifest[];
39
+ /**
40
+ * Get manifests by navigation section
41
+ */
42
+ export declare function getManifestsForSection(page: string, section: string): AnyManifest[];
43
+ /**
44
+ * Get manifests by category
45
+ */
46
+ export declare function getManifestsByCategory(category: string): AnyManifest[];
47
+ //# sourceMappingURL=manifest-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-utils.d.ts","sourceRoot":"","sources":["../../src/services/manifest-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAEtE,YAAY,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAEtE;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAQ1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAQ5C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,WAAW,EAAE,CAQ/C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,cAAc,CAW9E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,cAAc,CAW9E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAMrE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAE/D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAInF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAEtE"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Manifest Utilities
3
+ *
4
+ * Runtime-based utilities for looking up and working with config manifests.
5
+ * Replaces the legacy registry/manifests.js functions.
6
+ */
7
+ import { getVibesRuntime } from '@vibesdotdev/runtime';
8
+ /**
9
+ * Get a manifest by ID from the runtime
10
+ */
11
+ export function getManifest(id) {
12
+ try {
13
+ const runtime = getVibesRuntime();
14
+ const descriptors = runtime.query('config/manifest').descriptors();
15
+ return descriptors.find((d) => d.id === id) ?? null;
16
+ }
17
+ catch {
18
+ return null;
19
+ }
20
+ }
21
+ /**
22
+ * Get all registered manifest IDs
23
+ */
24
+ export function getAllManifestIds() {
25
+ try {
26
+ const runtime = getVibesRuntime();
27
+ const descriptors = runtime.query('config/manifest').descriptors();
28
+ return descriptors.map((d) => d.id);
29
+ }
30
+ catch {
31
+ return [];
32
+ }
33
+ }
34
+ /**
35
+ * Get all registered manifests
36
+ */
37
+ export function getAllManifests() {
38
+ try {
39
+ const runtime = getVibesRuntime();
40
+ const descriptors = runtime.query('config/manifest').descriptors();
41
+ return descriptors;
42
+ }
43
+ catch {
44
+ return [];
45
+ }
46
+ }
47
+ /**
48
+ * Check if a manifest is a ConfigManifest (single-object config)
49
+ */
50
+ export function isConfigManifest(manifest) {
51
+ if (!manifest || typeof manifest !== 'object')
52
+ return false;
53
+ const m = manifest;
54
+ return (typeof m.id === 'string' &&
55
+ typeof m.schema === 'object' &&
56
+ m.schema !== null &&
57
+ typeof m.fields === 'object' &&
58
+ m.fields !== null &&
59
+ !('crud' in m) // RecordManifests have crud config
60
+ );
61
+ }
62
+ /**
63
+ * Check if a manifest is a RecordManifest (CRUD list)
64
+ */
65
+ export function isRecordManifest(manifest) {
66
+ if (!manifest || typeof manifest !== 'object')
67
+ return false;
68
+ const m = manifest;
69
+ return (typeof m.id === 'string' &&
70
+ typeof m.schema === 'object' &&
71
+ m.schema !== null &&
72
+ 'crud' in m &&
73
+ typeof m.crud === 'object' &&
74
+ m.crud !== null);
75
+ }
76
+ /**
77
+ * Get manifests by surface
78
+ */
79
+ export function getManifestsForSurface(surface) {
80
+ return getAllManifests().filter((m) => {
81
+ if (!m.context?.surfaces)
82
+ return true; // No surface restriction
83
+ const surfaces = m.context.surfaces;
84
+ return surfaces.includes(surface);
85
+ });
86
+ }
87
+ /**
88
+ * Get manifests by navigation page
89
+ */
90
+ export function getManifestsForPage(page) {
91
+ return getAllManifests().filter((m) => m.navigation?.page === page);
92
+ }
93
+ /**
94
+ * Get manifests by navigation section
95
+ */
96
+ export function getManifestsForSection(page, section) {
97
+ return getAllManifests().filter((m) => m.navigation?.page === page && m.navigation?.section === section);
98
+ }
99
+ /**
100
+ * Get manifests by category
101
+ */
102
+ export function getManifestsByCategory(category) {
103
+ return getAllManifests().filter((m) => m.category === category);
104
+ }
105
+ //# sourceMappingURL=manifest-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-utils.js","sourceRoot":"","sources":["../../src/services/manifest-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface ConfigAccessor<T> {
2
+ get(): T | null;
3
+ setField<K extends keyof T>(field: K, value: T[K]): void;
4
+ setFields(fields: Partial<T>): void;
5
+ subscribe(callback: (values: T | null) => void): () => void;
6
+ save(): Promise<void>;
7
+ reload(): Promise<void>;
8
+ isDirty(): boolean;
9
+ }
10
+ //# sourceMappingURL=config-accessor.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-accessor.schema.d.ts","sourceRoot":"","sources":["../../../src/services/schemas/config-accessor.schema.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc,CAAC,CAAC;IAChC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAChB,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACzD,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACpC,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,IAAI,OAAO,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config-accessor.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-accessor.schema.js","sourceRoot":"","sources":["../../../src/services/schemas/config-accessor.schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ export interface EncryptedValue {
2
+ ciphertext: string;
3
+ iv: string;
4
+ salt: string;
5
+ tag: string;
6
+ algorithm: string;
7
+ iterations: number;
8
+ }
9
+ export interface SerializedEncryptedValue {
10
+ v: 1;
11
+ ct: string;
12
+ iv: string;
13
+ s: string;
14
+ t: string;
15
+ a: string;
16
+ i: number;
17
+ }
18
+ export interface EncryptionOptions {
19
+ salt?: Buffer;
20
+ iv?: Buffer;
21
+ }
22
+ //# sourceMappingURL=encryption.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encryption.schema.d.ts","sourceRoot":"","sources":["../../../src/services/schemas/encryption.schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACxC,CAAC,EAAE,CAAC,CAAC;IACL,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AAED,MAAM,WAAW,iBAAiB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACZ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=encryption.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encryption.schema.js","sourceRoot":"","sources":["../../../src/services/schemas/encryption.schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { ConfigManifest } from '../../manifest/types.ts';
2
+ import type { RecordManifest } from '../../crud/types.ts';
3
+ export type AnyManifest = ConfigManifest | RecordManifest;
4
+ //# sourceMappingURL=manifest-utils.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-utils.schema.d.ts","sourceRoot":"","sources":["../../../src/services/schemas/manifest-utils.schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=manifest-utils.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-utils.schema.js","sourceRoot":"","sources":["../../../src/services/schemas/manifest-utils.schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Settings Assembly
3
+ *
4
+ * Builds the global Settings layout at runtime by concatenating every
5
+ * `settings/section` descriptor registered with the runtime. Config does
6
+ * not own the section list; each owning module contributes its own.
7
+ */
8
+ import type { SettingsSectionDescriptor } from './settings-section.schema.ts';
9
+ /** Minimum surface a runtime accessor must expose for assembly. */
10
+ export interface SettingsSectionRuntime {
11
+ assets(kind: 'settings/section'): {
12
+ descriptors(): SettingsSectionDescriptor[];
13
+ };
14
+ }
15
+ /**
16
+ * Returns every registered Settings section, filtered to `enabled !== false`
17
+ * and sorted by `order` (ascending; unset → 100). Pure: callers may safely
18
+ * pass the result to a UI without further sorting.
19
+ */
20
+ export declare function assembleSettingsSections(runtime: SettingsSectionRuntime): SettingsSectionDescriptor[];
21
+ /**
22
+ * Resolve the section a given `config/manifest` ID participates in (if any).
23
+ *
24
+ * Returns the first section whose `manifests[]` contains the given id, in
25
+ * assembled order. Returns `undefined` when no section claims it.
26
+ */
27
+ export declare function findSectionForManifest(runtime: SettingsSectionRuntime, manifestId: string): SettingsSectionDescriptor | undefined;
28
+ //# sourceMappingURL=assemble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assemble.d.ts","sourceRoot":"","sources":["../../src/settings/assemble.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAE9E,mEAAmE;AACnE,MAAM,WAAW,sBAAsB;IACtC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG;QACjC,WAAW,IAAI,yBAAyB,EAAE,CAAC;KAC3C,CAAC;CACF;AAID;;;;GAIG;AACH,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,sBAAsB,GAC7B,yBAAyB,EAAE,CAM7B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,sBAAsB,EAC/B,UAAU,EAAE,MAAM,GAChB,yBAAyB,GAAG,SAAS,CAEvC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Settings Assembly
3
+ *
4
+ * Builds the global Settings layout at runtime by concatenating every
5
+ * `settings/section` descriptor registered with the runtime. Config does
6
+ * not own the section list; each owning module contributes its own.
7
+ */
8
+ const DEFAULT_ORDER = 100;
9
+ /**
10
+ * Returns every registered Settings section, filtered to `enabled !== false`
11
+ * and sorted by `order` (ascending; unset → 100). Pure: callers may safely
12
+ * pass the result to a UI without further sorting.
13
+ */
14
+ export function assembleSettingsSections(runtime) {
15
+ const descriptors = runtime.assets('settings/section').descriptors();
16
+ return descriptors
17
+ .filter((d) => d.enabled !== false)
18
+ .slice()
19
+ .sort((a, b) => (a.order ?? DEFAULT_ORDER) - (b.order ?? DEFAULT_ORDER));
20
+ }
21
+ /**
22
+ * Resolve the section a given `config/manifest` ID participates in (if any).
23
+ *
24
+ * Returns the first section whose `manifests[]` contains the given id, in
25
+ * assembled order. Returns `undefined` when no section claims it.
26
+ */
27
+ export function findSectionForManifest(runtime, manifestId) {
28
+ return assembleSettingsSections(runtime).find((s) => s.manifests.includes(manifestId));
29
+ }
30
+ //# sourceMappingURL=assemble.js.map