@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,108 @@
1
+ /**
2
+ * Environment Catalog & Selection
3
+ *
4
+ * Manages the catalog of known environments (local, staging, production, etc.)
5
+ * and persists the user's current selection via the config manifest system.
6
+ *
7
+ * Uses ConfigManifest (runtime-resolved storage adapter) instead of raw fs.
8
+ * Storage adapter selection is runtime-resolved per scope.
9
+ */
10
+
11
+ import { ConfigManifest } from '../manifest/config-manifest.ts';
12
+
13
+ import type { EnvironmentCatalogEntry, CurrentEnvironmentConfig } from './schemas/current.schema.ts';
14
+
15
+ export type { EnvironmentTier, EnvironmentCatalogEntry, CurrentEnvironmentConfig } from './schemas/current.schema.ts';
16
+
17
+ /**
18
+ * Get the environment config manifest.
19
+ * Lazily instantiated; safe to call multiple times.
20
+ */
21
+ function getManifest(): ConfigManifest<{ currentEnvironment?: string; catalog: EnvironmentCatalogEntry[] }> {
22
+ return ConfigManifest.fromId('environment');
23
+ }
24
+
25
+ /** Load all known environments from persistent storage. */
26
+ export async function loadEnvironmentCatalog(): Promise<EnvironmentCatalogEntry[]> {
27
+ const manifest = getManifest();
28
+ const data = await manifest.load();
29
+ return data?.catalog ?? [];
30
+ }
31
+
32
+ /** Resolve the currently-selected environment configuration. */
33
+ export async function resolveCurrentEnvironmentConfig(): Promise<CurrentEnvironmentConfig> {
34
+ const manifest = getManifest();
35
+ const data = await manifest.load();
36
+ const selected = data?.currentEnvironment;
37
+ const catalog = data?.catalog ?? [];
38
+
39
+ if (selected && catalog.length > 0) {
40
+ const entry = catalog.find((e) => (e.id ?? e.name) === selected);
41
+ if (entry) {
42
+ return {
43
+ id: entry.id ?? entry.name,
44
+ name: entry.name,
45
+ apiUrl: entry.apiUrl,
46
+ tier: entry.tier
47
+ };
48
+ }
49
+ }
50
+
51
+ // Default to local
52
+ return { id: 'local', name: 'local', apiUrl: 'http://localhost:5173', tier: 'local' };
53
+ }
54
+
55
+ /** Persist an environment selection (single entry). */
56
+ export async function saveEnvironmentSelection(entry: EnvironmentCatalogEntry): Promise<void> {
57
+ const manifest = getManifest();
58
+ const data = (await manifest.load()) ?? { catalog: [] };
59
+ const id = entry.id ?? entry.name;
60
+ const idx = data.catalog.findIndex((e) => (e.id ?? e.name) === id);
61
+ if (idx >= 0) {
62
+ data.catalog[idx] = entry;
63
+ } else {
64
+ data.catalog.push(entry);
65
+ }
66
+ await manifest.save(data);
67
+ }
68
+
69
+ /** Load the name/id of the currently-selected environment. */
70
+ export async function loadCurrentEnvironmentSelection(): Promise<string | null> {
71
+ const manifest = getManifest();
72
+ const data = await manifest.load();
73
+ return data?.currentEnvironment ?? null;
74
+ }
75
+
76
+ /** Persist the currently-selected environment name/id. */
77
+ export async function saveCurrentEnvironmentSelection(id: string): Promise<void> {
78
+ const manifest = getManifest();
79
+ const data = (await manifest.load()) ?? { catalog: [] };
80
+ data.currentEnvironment = id;
81
+ await manifest.save(data);
82
+ }
83
+
84
+ /** Persist the full environment catalog. */
85
+ export async function saveEnvironmentCatalog(catalog: EnvironmentCatalogEntry[]): Promise<void> {
86
+ const manifest = getManifest();
87
+ const data = (await manifest.load()) ?? { catalog: [] };
88
+ data.catalog = catalog;
89
+ await manifest.save(data);
90
+ }
91
+
92
+ import type { EnvironmentDescriptor } from './kinds/environment.schema';
93
+
94
+ /**
95
+ * Resolve the configured environment descriptor from a list of candidates.
96
+ *
97
+ * Checks the persisted current environment selection and returns the matching
98
+ * descriptor from the candidates list.
99
+ */
100
+ export async function resolveConfiguredEnvironmentDescriptor(
101
+ candidates: EnvironmentDescriptor[]
102
+ ): Promise<EnvironmentDescriptor | undefined> {
103
+ if (candidates.length === 0) return undefined;
104
+
105
+ const currentConfig = await resolveCurrentEnvironmentConfig();
106
+ const configured = candidates.find((d) => d.id === currentConfig.id);
107
+ return configured;
108
+ }
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Environment Config Manifest Descriptor
3
+ *
4
+ * Declares configuration options for the environment module.
5
+ * Used to store user preferences like currentEnvironment.
6
+ * Auto-discovered by the runtime.
7
+ */
8
+
9
+ import type { ConfigManifestDescriptor } from '@vibesdotdev/config/schemas/config-manifest-descriptor';
10
+ import { EnvironmentPreferencesSchema } from './environment.config.schema';
11
+
12
+ const descriptor: ConfigManifestDescriptor = {
13
+ kind: 'config/manifest',
14
+ id: 'environment',
15
+ name: 'Environment Settings',
16
+ description: 'Environment module configuration',
17
+
18
+ customTables: false,
19
+ version: 1,
20
+ internal: false,
21
+
22
+ // Storage configuration
23
+ namespace: 'environment',
24
+ schema: EnvironmentPreferencesSchema,
25
+ allowedAdapters: ['storage.localdb'],
26
+ scope: 'global',
27
+
28
+ // Config tier and classification
29
+ tier: 'user',
30
+ category: 'system',
31
+
32
+ // Field metadata for UI
33
+ fields: {
34
+ currentEnvironment: {
35
+ ui: {
36
+ label: 'Current Environment',
37
+ description: 'The environment to use for API calls',
38
+ component: 'select'
39
+ }
40
+ },
41
+ catalog: {
42
+ ui: {
43
+ label: 'Environment Catalog',
44
+ description: 'List of configured environments',
45
+ component: 'list'
46
+ }
47
+ }
48
+ },
49
+
50
+ // Navigation
51
+ navigation: {
52
+ page: 'settings',
53
+ section: 'environment',
54
+ order: 10
55
+ },
56
+
57
+ enabled: true
58
+ };
59
+
60
+ export default descriptor;
@@ -0,0 +1,24 @@
1
+ import * as z from 'zod/v4';
2
+
3
+ export const EnvironmentTierSchema = z.enum(['local', 'dev', 'staging', 'production']);
4
+
5
+ export const EnvironmentCatalogEntrySchema = z.object({
6
+ id: z.string().optional(),
7
+ name: z.string(),
8
+ apiUrl: z.string().url(),
9
+ tier: EnvironmentTierSchema.optional(),
10
+ description: z.string().optional(),
11
+ isDefault: z.boolean().optional(),
12
+ headers: z.record(z.string(), z.string()).optional(),
13
+ variables: z.record(z.string(), z.string()).optional(),
14
+ databaseUrl: z.string().optional(),
15
+ secrets: z.record(z.string(), z.string()).optional()
16
+ });
17
+
18
+ export const EnvironmentPreferencesSchema = z.object({
19
+ currentEnvironment: z.string().optional(),
20
+ catalog: z.array(EnvironmentCatalogEntrySchema).optional().default([])
21
+ });
22
+
23
+ export type EnvironmentPreferences = z.infer<typeof EnvironmentPreferencesSchema>;
24
+ export type EnvironmentCatalogEntry = z.infer<typeof EnvironmentCatalogEntrySchema>;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Local Environment Descriptor
3
+ *
4
+ * Built-in local development environment (http://localhost:5173).
5
+ * Default in development builds; staging is default for compiled/production builds.
6
+ * Auto-discovered by the runtime.
7
+ */
8
+
9
+ import type { EnvironmentDescriptor } from './kinds/environment.schema';
10
+
11
+ const descriptor: EnvironmentDescriptor = {
12
+ kind: 'config/environment',
13
+ id: 'local',
14
+ name: 'Local',
15
+ description: 'Local development environment (*.vibes.local)',
16
+ apiUrl: 'http://localhost:5173',
17
+ apiUrlEnvVar: 'VIBES_API_URL',
18
+ apps: {
19
+ home: 'https://vibes.local',
20
+ ai: 'https://ai.vibes.local',
21
+ // tools merged into ai — kept as alias for backward compat
22
+ tools: 'https://ai.vibes.local',
23
+ account: 'https://account.vibes.local',
24
+ auth: 'https://auth.vibes.local',
25
+ platform: 'https://platform.vibes.local',
26
+ chat: 'https://chat.vibes.local',
27
+ system: 'https://system.vibes.local',
28
+ workbench: 'https://workbench.vibes.local',
29
+ creative: 'https://creative.vibes.local',
30
+ knowledge: 'https://knowledge.vibes.local',
31
+ runnable: 'https://runnable.vibes.local',
32
+ bridge: 'https://bridge.vibes.local',
33
+ docs: 'https://docs.vibes.local',
34
+ app: 'https://app.vibes.local',
35
+ casework: 'https://maplewood.vibes.local',
36
+ conjure: 'https://conjure.vibes.local',
37
+ assets: 'https://assets.vibes.local',
38
+ template: 'https://template.vibes.local',
39
+ vibesos: 'https://os.vibes.local'
40
+ },
41
+ isDefault: false,
42
+ enabled: true
43
+ };
44
+
45
+ export default descriptor;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Environment Runtime Plugin
3
+ *
4
+ * Registers the config/environment kind for named environment configurations.
5
+ * Environment descriptors and config manifest are auto-discovered.
6
+ */
7
+
8
+ import { createRuntimePlugin } from '@vibesdotdev/runtime';
9
+ import { environmentKind } from './kinds';
10
+ import localEnvironmentDescriptor from './environment.local.descriptor';
11
+ import stagingEnvironmentDescriptor from './environment.staging.descriptor';
12
+ import productionEnvironmentDescriptor from './environment.production.descriptor';
13
+ import environmentConfigDescriptor from './environment.config.descriptor';
14
+
15
+ export default createRuntimePlugin({
16
+ id: 'environment',
17
+ name: 'Environment',
18
+ description: 'Named environment configurations for API targeting',
19
+
20
+ // Depends on config for the config/manifest kind
21
+ dependencies: ['config'],
22
+
23
+ kinds: [environmentKind],
24
+
25
+ descriptors: [
26
+ localEnvironmentDescriptor,
27
+ stagingEnvironmentDescriptor,
28
+ productionEnvironmentDescriptor,
29
+ environmentConfigDescriptor
30
+ ]
31
+ });
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Production Environment Descriptor
3
+ *
4
+ * Built-in production environment (vibes.dev).
5
+ * Auto-discovered by the runtime.
6
+ */
7
+
8
+ import type { EnvironmentDescriptor } from './kinds/environment.schema';
9
+
10
+ const descriptor: EnvironmentDescriptor = {
11
+ kind: 'config/environment',
12
+ id: 'production',
13
+ name: 'Production',
14
+ description: 'Production environment (vibes.dev)',
15
+ apiUrl: 'https://vibes.dev',
16
+ apiUrlEnvVar: 'PRODUCTION_API_URL',
17
+ apps: {
18
+ home: 'https://vibes.dev',
19
+ ai: 'https://ai.vibes.dev',
20
+ // tools merged into ai — kept as alias for backward compat
21
+ tools: 'https://ai.vibes.dev',
22
+ account: 'https://account.vibes.dev',
23
+ auth: 'https://auth.vibes.dev',
24
+ platform: 'https://platform.vibes.dev',
25
+ chat: 'https://chat.vibes.dev',
26
+ system: 'https://system.vibes.dev',
27
+ workbench: 'https://workbench.vibes.dev',
28
+ creative: 'https://creative.vibes.dev',
29
+ knowledge: 'https://knowledge.vibes.dev',
30
+ runnable: 'https://runnable.vibes.dev',
31
+ bridge: 'https://bridge.vibes.dev',
32
+ docs: 'https://docs.vibes.dev',
33
+ app: 'https://app.vibes.dev',
34
+ casework: 'https://maplewood.vibes.dev'
35
+ },
36
+ isDefault: false,
37
+ enabled: true
38
+ };
39
+
40
+ export default descriptor;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Staging Environment Descriptor
3
+ *
4
+ * Built-in staging environment (staging.vibes.dev).
5
+ * Default for compiled/production builds.
6
+ * Auto-discovered by the runtime.
7
+ */
8
+
9
+ import type { EnvironmentDescriptor } from './kinds/environment.schema';
10
+
11
+ const descriptor: EnvironmentDescriptor = {
12
+ kind: 'config/environment',
13
+ id: 'staging',
14
+ name: 'Staging',
15
+ description: 'Staging environment (staging.vibes.dev)',
16
+ apiUrl: 'https://staging.vibes.dev',
17
+ apiUrlEnvVar: 'STAGING_API_URL',
18
+ apps: {
19
+ home: 'https://staging.vibes.dev'
20
+ },
21
+ isDefault: false,
22
+ enabled: true
23
+ };
24
+
25
+ export default descriptor;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Environment Module
3
+ *
4
+ * Provides named environment configurations for API targeting.
5
+ */
6
+
7
+ // Config schema export
8
+ export {
9
+ EnvironmentPreferencesSchema,
10
+ type EnvironmentPreferences
11
+ } from './environment.config.schema';
12
+ export {
13
+ loadCurrentEnvironmentSelection,
14
+ loadEnvironmentCatalog,
15
+ resolveConfiguredEnvironmentDescriptor,
16
+ resolveCurrentEnvironmentConfig,
17
+ saveCurrentEnvironmentSelection,
18
+ saveEnvironmentCatalog,
19
+ saveEnvironmentSelection,
20
+ type EnvironmentCatalogEntry,
21
+ type EnvironmentTier
22
+ } from './current.ts';
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Default Environment Implementation
3
+ *
4
+ * Standard implementation that provides access to environment configuration.
5
+ */
6
+
7
+ import type { KindContext, RuntimeDescriptor } from '@vibesdotdev/runtime/schemas/kind';
8
+ import type { EnvironmentDescriptor } from './environment.schema';
9
+ import type { EnvironmentImplementation } from './environment.interface';
10
+ import { readRuntimeEnv } from '../../env.runtime.ts';
11
+
12
+ export class DefaultEnvironment implements EnvironmentImplementation {
13
+ readonly id: string;
14
+ readonly kind = 'config/environment';
15
+ readonly priority = 0;
16
+ readonly descriptor: EnvironmentDescriptor;
17
+ private readonly resolvedApiUrl: string;
18
+
19
+ constructor(descriptor: RuntimeDescriptor, _context: KindContext) {
20
+ this.id = descriptor.id;
21
+ this.descriptor = descriptor as EnvironmentDescriptor;
22
+ this.resolvedApiUrl = this.resolveApiUrl(this.descriptor);
23
+ }
24
+
25
+ get apiUrl(): string {
26
+ return this.resolvedApiUrl;
27
+ }
28
+
29
+ getHeader(name: string): string | undefined {
30
+ return this.descriptor.headers?.[name];
31
+ }
32
+
33
+ getHeaders(): Record<string, string> {
34
+ return this.descriptor.headers ?? {};
35
+ }
36
+
37
+ getVariable(name: string): string | undefined {
38
+ return this.descriptor.variables?.[name];
39
+ }
40
+
41
+ getVariables(): Record<string, string> {
42
+ return this.descriptor.variables ?? {};
43
+ }
44
+
45
+ private resolveApiUrl(descriptor: EnvironmentDescriptor): string {
46
+ const envVar = descriptor.apiUrlEnvVar;
47
+ if (!envVar) return descriptor.apiUrl;
48
+ const envValue = readRuntimeEnv(envVar);
49
+ if (!envValue || envValue.trim() === '') return descriptor.apiUrl;
50
+ try {
51
+ new URL(envValue);
52
+ return envValue;
53
+ } catch {
54
+ return descriptor.apiUrl;
55
+ }
56
+ }
57
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Environment Implementation Interface
3
+ *
4
+ * Defines the contract for environment implementations.
5
+ */
6
+
7
+ import type { EnvironmentDescriptor } from './environment.schema';
8
+ import type { RuntimeImplementation } from '@vibesdotdev/runtime/schemas/asset';
9
+
10
+ export type { EnvironmentImplementation } from './schemas/environment.interface.schema.ts';
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Environment Kind Definition
3
+ *
4
+ * Registers the config/environment kind for named environment configurations.
5
+ */
6
+
7
+ import type { RuntimeKindDescriptor, KindContext, RuntimeDescriptor } from '@vibesdotdev/runtime/schemas/kind';
8
+ import type { RuntimeScope } from '@vibesdotdev/runtime/schemas/scope';
9
+ import { EnvironmentDescriptorSchema, type EnvironmentDescriptor } from './environment.schema';
10
+ import type { EnvironmentImplementation } from './environment.interface';
11
+ import { DefaultEnvironment } from './environment.default';
12
+ import { resolveConfiguredEnvironmentDescriptor } from '../current.ts';
13
+ import { readRuntimeEnv } from '../../env.runtime.ts';
14
+
15
+ /**
16
+ * Resolution strategy for environments:
17
+ * 1. Check config/manifest for user's currentEnvironment preference
18
+ * 2. Fall back to descriptor marked isDefault
19
+ * 3. Public consumer CLI binary → 'production' (the public-binary build defines
20
+ * `process.env.VIBES_CLI_MODE` as `"public"` via Bun's static substitution; the
21
+ * literal expression below is replaced at compile time so the check is a constant
22
+ * fold in shipped binaries and a runtime read in source-mode dev runs)
23
+ * 4. Fall back to 'staging' in compiled/production builds (NODE_ENV === 'production')
24
+ * 5. Fall back to 'local' environment in development
25
+ * 6. Fall back to first candidate
26
+ */
27
+ async function resolveEnvironment(
28
+ candidates: RuntimeDescriptor[],
29
+ _scope: RuntimeScope,
30
+ context: KindContext
31
+ ): Promise<EnvironmentDescriptor | undefined> {
32
+ if (candidates.length === 0) return undefined;
33
+ const typed = candidates as EnvironmentDescriptor[];
34
+ if (typed.length === 1) return typed[0];
35
+
36
+ void context;
37
+ const configured = await resolveConfiguredEnvironmentDescriptor(typed);
38
+ if (configured) return configured;
39
+
40
+ // Fall back to descriptor marked as default
41
+ const defaultEnv = typed.find((d) => d.isDefault);
42
+ if (defaultEnv) return defaultEnv;
43
+
44
+ // Public consumer CLI binary always defaults to production unless overridden above.
45
+ if (readRuntimeEnv('VIBES_CLI_MODE') === 'public') {
46
+ const productionEnv = typed.find((d) => d.id === 'production');
47
+ if (productionEnv) return productionEnv;
48
+ }
49
+
50
+ // In compiled/production builds default to 'staging'; in dev default to 'local'
51
+ const isProduction = readRuntimeEnv('NODE_ENV') === 'production';
52
+ const buildDefault = typed.find((d) => d.id === (isProduction ? 'staging' : 'local'));
53
+ if (buildDefault) return buildDefault;
54
+
55
+ // Last resort: first candidate
56
+ return typed[0];
57
+ }
58
+
59
+ export const environmentKind: RuntimeKindDescriptor<
60
+ EnvironmentDescriptor,
61
+ EnvironmentImplementation,
62
+ KindContext
63
+ > = {
64
+ id: 'config/environment',
65
+ descriptorSchema: EnvironmentDescriptorSchema,
66
+ defaultImplementation: DefaultEnvironment,
67
+ resolve: resolveEnvironment,
68
+ contexts: [] // No direct context deps, uses runtime.query internally
69
+ };
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Environment Descriptor Schema
3
+ *
4
+ * Defines the structure for named environment configurations.
5
+ */
6
+
7
+ import * as z from 'zod/v4';
8
+ import { RuntimeDescriptorSchema } from '@vibesdotdev/runtime/schemas/descriptor';
9
+
10
+ export const EnvironmentDescriptorSchema = RuntimeDescriptorSchema.extend({
11
+ kind: z.literal('config/environment'),
12
+
13
+ /** Base URL for API calls (the canonical / home origin) */
14
+ apiUrl: z.string().url(),
15
+
16
+ /**
17
+ * Per-app origin map. Keys are app IDs (e.g. `'ai'`, `'tools'`, `'account'`,
18
+ * `'auth'`, `'platform'`, `'chat'`, `'home'`); values are the full origin URL
19
+ * the app is served from in this environment.
20
+ *
21
+ * Open-shaped on purpose: third-party apps embedding the runtime can add
22
+ * their own app IDs. Storage manifests declare `ownerApp: '<id>'` in their
23
+ * `adapterConfig['storage.cloud-api']` and the cloud-api adapter composes
24
+ * `${apps[ownerApp]}/api/storage/${namespace}` to route reads to the
25
+ * owning app's cloud worker.
26
+ */
27
+ apps: z.record(z.string(), z.string().url()).default({}),
28
+
29
+ /** Optional environment variable that overrides apiUrl at runtime */
30
+ apiUrlEnvVar: z.string().optional(),
31
+
32
+ /** Whether this is the default environment when no preference is set */
33
+ isDefault: z.boolean().optional(),
34
+
35
+ /** Custom headers to include in API requests */
36
+ headers: z.record(z.string(), z.string()).optional(),
37
+
38
+ /** Environment variables available to tools */
39
+ variables: z.record(z.string(), z.string()).optional(),
40
+
41
+ /** Kubernetes integration */
42
+ kubernetes: z
43
+ .object({
44
+ context: z.string(),
45
+ namespace: z.string()
46
+ })
47
+ .optional(),
48
+
49
+ /** SigNoz observability integration */
50
+ signoz: z
51
+ .object({
52
+ endpoint: z.string()
53
+ })
54
+ .optional()
55
+ });
56
+
57
+ export type { EnvironmentDescriptor } from './schemas/environment.schema.ts';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Environment Kind Exports
3
+ */
4
+
5
+ export { environmentKind } from './environment.kind';
6
+ export { EnvironmentDescriptorSchema, type EnvironmentDescriptor } from './environment.schema';
7
+ export type { EnvironmentImplementation } from './environment.interface';
8
+ export { DefaultEnvironment } from './environment.default';
@@ -0,0 +1,11 @@
1
+ import type { EnvironmentDescriptor } from './environment.schema';
2
+
3
+ export interface EnvironmentImplementation {
4
+ readonly id: string;
5
+ readonly descriptor: EnvironmentDescriptor;
6
+ readonly apiUrl: string;
7
+ getHeader(name: string): string | undefined;
8
+ getHeaders(): Record<string, string>;
9
+ getVariable(name: string): string | undefined;
10
+ getVariables(): Record<string, string>;
11
+ }
@@ -0,0 +1,24 @@
1
+ export type EnvironmentDescriptor = {
2
+ kind: 'config/environment';
3
+ id: string;
4
+ name?: string;
5
+ description?: string;
6
+ tags?: string[];
7
+ hardware?: string[];
8
+ enabled?: boolean;
9
+ requiredContext?: string[];
10
+ optionalContext?: string[];
11
+ apiUrl: string;
12
+ /**
13
+ * Per-app origin map keyed by app ID. Storage manifests use this with
14
+ * `adapterConfig['storage.cloud-api'].ownerApp` to route cross-app reads.
15
+ * Open-shaped so third-party apps can add their own IDs.
16
+ */
17
+ apps?: Record<string, string>;
18
+ apiUrlEnvVar?: string;
19
+ isDefault?: boolean;
20
+ headers?: Record<string, string>;
21
+ variables?: Record<string, string>;
22
+ kubernetes?: { context: string; namespace: string };
23
+ signoz?: { endpoint: string };
24
+ };
@@ -0,0 +1,21 @@
1
+ export type EnvironmentTier = 'local' | 'dev' | 'staging' | 'production';
2
+
3
+ export interface EnvironmentCatalogEntry {
4
+ id?: string;
5
+ name: string;
6
+ apiUrl: string;
7
+ tier?: EnvironmentTier;
8
+ description?: string;
9
+ isDefault?: boolean;
10
+ headers?: Record<string, string>;
11
+ variables?: Record<string, string>;
12
+ databaseUrl?: string;
13
+ secrets?: Record<string, string>;
14
+ }
15
+
16
+ export interface CurrentEnvironmentConfig {
17
+ id: string;
18
+ name: string;
19
+ apiUrl: string;
20
+ tier?: EnvironmentTier;
21
+ }
@@ -0,0 +1,3 @@
1
+ export type EnvironmentPreferences = {
2
+ currentEnvironment?: string;
3
+ };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Config Extensions Module
3
+ *
4
+ * Surface-specific manifest extensions with lazy component loading.
5
+ */
6
+
7
+ // Core types
8
+ export type {
9
+ ExtensionSurface,
10
+ LazyComponentLoader,
11
+ LazyComponentOverride,
12
+ ManifestSurfaceExtension,
13
+ LoadedExtension
14
+ } from './types.ts';
15
+
16
+ // Registry functions
17
+ export {
18
+ registerExtension,
19
+ getExtension,
20
+ hasExtension,
21
+ loadExtension,
22
+ getAllExtensionKeys,
23
+ getExtensionsForSurface,
24
+ clearExtensionCache,
25
+ clearAllExtensions
26
+ } from './registry.ts';