@elytracms/core 0.0.6

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 (521) hide show
  1. package/LICENSE +21 -0
  2. package/dist/clipboard/build.d.ts +77 -0
  3. package/dist/clipboard/build.js +128 -0
  4. package/dist/clipboard/build.js.map +1 -0
  5. package/dist/clipboard/clipboard.d.ts +33 -0
  6. package/dist/clipboard/clipboard.js +45 -0
  7. package/dist/clipboard/clipboard.js.map +1 -0
  8. package/dist/clipboard/fragment.d.ts +112 -0
  9. package/dist/clipboard/fragment.js +79 -0
  10. package/dist/clipboard/fragment.js.map +1 -0
  11. package/dist/clipboard/html.d.ts +26 -0
  12. package/dist/clipboard/html.js +82 -0
  13. package/dist/clipboard/html.js.map +1 -0
  14. package/dist/clipboard/index.d.ts +15 -0
  15. package/dist/clipboard/index.js +16 -0
  16. package/dist/clipboard/index.js.map +1 -0
  17. package/dist/clipboard/references.d.ts +50 -0
  18. package/dist/clipboard/references.js +0 -0
  19. package/dist/clipboard/references.js.map +1 -0
  20. package/dist/clipboard/serialize.d.ts +69 -0
  21. package/dist/clipboard/serialize.js +130 -0
  22. package/dist/clipboard/serialize.js.map +1 -0
  23. package/dist/cms-core/collections.d.ts +82 -0
  24. package/dist/cms-core/collections.js +187 -0
  25. package/dist/cms-core/collections.js.map +1 -0
  26. package/dist/cms-core/documents.d.ts +71 -0
  27. package/dist/cms-core/documents.js +67 -0
  28. package/dist/cms-core/documents.js.map +1 -0
  29. package/dist/cms-core/envelopes.d.ts +80 -0
  30. package/dist/cms-core/envelopes.js +124 -0
  31. package/dist/cms-core/envelopes.js.map +1 -0
  32. package/dist/cms-core/fields.d.ts +220 -0
  33. package/dist/cms-core/fields.js +250 -0
  34. package/dist/cms-core/fields.js.map +1 -0
  35. package/dist/cms-core/fixtures.d.ts +92 -0
  36. package/dist/cms-core/fixtures.js +357 -0
  37. package/dist/cms-core/fixtures.js.map +1 -0
  38. package/dist/cms-core/hierarchy.d.ts +113 -0
  39. package/dist/cms-core/hierarchy.js +223 -0
  40. package/dist/cms-core/hierarchy.js.map +1 -0
  41. package/dist/cms-core/index.d.ts +25 -0
  42. package/dist/cms-core/index.js +26 -0
  43. package/dist/cms-core/index.js.map +1 -0
  44. package/dist/cms-core/infer.d.ts +103 -0
  45. package/dist/cms-core/infer.js +57 -0
  46. package/dist/cms-core/infer.js.map +1 -0
  47. package/dist/cms-core/issues.d.ts +92 -0
  48. package/dist/cms-core/issues.js +74 -0
  49. package/dist/cms-core/issues.js.map +1 -0
  50. package/dist/cms-core/json-schema.d.ts +25 -0
  51. package/dist/cms-core/json-schema.js +110 -0
  52. package/dist/cms-core/json-schema.js.map +1 -0
  53. package/dist/cms-core/localization.d.ts +51 -0
  54. package/dist/cms-core/localization.js +89 -0
  55. package/dist/cms-core/localization.js.map +1 -0
  56. package/dist/cms-core/routes.d.ts +76 -0
  57. package/dist/cms-core/routes.js +220 -0
  58. package/dist/cms-core/routes.js.map +1 -0
  59. package/dist/cms-core/self-type.d.ts +41 -0
  60. package/dist/cms-core/self-type.js +191 -0
  61. package/dist/cms-core/self-type.js.map +1 -0
  62. package/dist/cms-core/url-for-document.d.ts +39 -0
  63. package/dist/cms-core/url-for-document.js +138 -0
  64. package/dist/cms-core/url-for-document.js.map +1 -0
  65. package/dist/cms-core/validate-document.d.ts +121 -0
  66. package/dist/cms-core/validate-document.js +871 -0
  67. package/dist/cms-core/validate-document.js.map +1 -0
  68. package/dist/cms-core/versions.d.ts +75 -0
  69. package/dist/cms-core/versions.js +97 -0
  70. package/dist/cms-core/versions.js.map +1 -0
  71. package/dist/collaboration/approval.d.ts +68 -0
  72. package/dist/collaboration/approval.js +104 -0
  73. package/dist/collaboration/approval.js.map +1 -0
  74. package/dist/collaboration/collaboration.d.ts +49 -0
  75. package/dist/collaboration/collaboration.js +56 -0
  76. package/dist/collaboration/collaboration.js.map +1 -0
  77. package/dist/collaboration/comments.d.ts +72 -0
  78. package/dist/collaboration/comments.js +118 -0
  79. package/dist/collaboration/comments.js.map +1 -0
  80. package/dist/collaboration/core.d.ts +25 -0
  81. package/dist/collaboration/core.js +26 -0
  82. package/dist/collaboration/core.js.map +1 -0
  83. package/dist/collaboration/index.d.ts +14 -0
  84. package/dist/collaboration/index.js +15 -0
  85. package/dist/collaboration/index.js.map +1 -0
  86. package/dist/collaboration/presence.d.ts +62 -0
  87. package/dist/collaboration/presence.js +85 -0
  88. package/dist/collaboration/presence.js.map +1 -0
  89. package/dist/collaboration/publishing.d.ts +60 -0
  90. package/dist/collaboration/publishing.js +93 -0
  91. package/dist/collaboration/publishing.js.map +1 -0
  92. package/dist/collaboration/versions.d.ts +52 -0
  93. package/dist/collaboration/versions.js +81 -0
  94. package/dist/collaboration/versions.js.map +1 -0
  95. package/dist/component-registry/index.d.ts +3 -0
  96. package/dist/component-registry/index.js +4 -0
  97. package/dist/component-registry/index.js.map +1 -0
  98. package/dist/component-registry/issues.d.ts +6 -0
  99. package/dist/component-registry/issues.js +2 -0
  100. package/dist/component-registry/issues.js.map +1 -0
  101. package/dist/component-registry/manifest.d.ts +164 -0
  102. package/dist/component-registry/manifest.js +129 -0
  103. package/dist/component-registry/manifest.js.map +1 -0
  104. package/dist/component-registry/registry.d.ts +33 -0
  105. package/dist/component-registry/registry.js +90 -0
  106. package/dist/component-registry/registry.js.map +1 -0
  107. package/dist/content/__fixtures__/filterable-collections.d.ts +14 -0
  108. package/dist/content/__fixtures__/filterable-collections.js +15 -0
  109. package/dist/content/__fixtures__/filterable-collections.js.map +1 -0
  110. package/dist/content/__fixtures__/sample-accessor-types.d.ts +56 -0
  111. package/dist/content/__fixtures__/sample-accessor-types.js +5 -0
  112. package/dist/content/__fixtures__/sample-accessor-types.js.map +1 -0
  113. package/dist/content/__fixtures__/sample-delivery-types.d.ts +122 -0
  114. package/dist/content/__fixtures__/sample-delivery-types.js +5 -0
  115. package/dist/content/__fixtures__/sample-delivery-types.js.map +1 -0
  116. package/dist/content/assets.d.ts +53 -0
  117. package/dist/content/assets.js +38 -0
  118. package/dist/content/assets.js.map +1 -0
  119. package/dist/content/binding-sources.d.ts +53 -0
  120. package/dist/content/binding-sources.js +73 -0
  121. package/dist/content/binding-sources.js.map +1 -0
  122. package/dist/content/client.d.ts +90 -0
  123. package/dist/content/client.js +383 -0
  124. package/dist/content/client.js.map +1 -0
  125. package/dist/content/codegen.d.ts +54 -0
  126. package/dist/content/codegen.js +305 -0
  127. package/dist/content/codegen.js.map +1 -0
  128. package/dist/content/context.d.ts +38 -0
  129. package/dist/content/context.js +21 -0
  130. package/dist/content/context.js.map +1 -0
  131. package/dist/content/cursor.d.ts +33 -0
  132. package/dist/content/cursor.js +104 -0
  133. package/dist/content/cursor.js.map +1 -0
  134. package/dist/content/index.d.ts +28 -0
  135. package/dist/content/index.js +29 -0
  136. package/dist/content/index.js.map +1 -0
  137. package/dist/content/locale.d.ts +30 -0
  138. package/dist/content/locale.js +26 -0
  139. package/dist/content/locale.js.map +1 -0
  140. package/dist/content/perspective.d.ts +29 -0
  141. package/dist/content/perspective.js +31 -0
  142. package/dist/content/perspective.js.map +1 -0
  143. package/dist/content/populate.d.ts +25 -0
  144. package/dist/content/populate.js +22 -0
  145. package/dist/content/populate.js.map +1 -0
  146. package/dist/content/query.d.ts +122 -0
  147. package/dist/content/query.js +257 -0
  148. package/dist/content/query.js.map +1 -0
  149. package/dist/content/raw.d.ts +13 -0
  150. package/dist/content/raw.js +14 -0
  151. package/dist/content/raw.js.map +1 -0
  152. package/dist/content/resolve.d.ts +97 -0
  153. package/dist/content/resolve.js +261 -0
  154. package/dist/content/resolve.js.map +1 -0
  155. package/dist/content/serialize.d.ts +30 -0
  156. package/dist/content/serialize.js +57 -0
  157. package/dist/content/serialize.js.map +1 -0
  158. package/dist/content/tags.d.ts +54 -0
  159. package/dist/content/tags.js +40 -0
  160. package/dist/content/tags.js.map +1 -0
  161. package/dist/data-binding/fixtures.d.ts +20 -0
  162. package/dist/data-binding/fixtures.js +47 -0
  163. package/dist/data-binding/fixtures.js.map +1 -0
  164. package/dist/data-binding/index.d.ts +14 -0
  165. package/dist/data-binding/index.js +15 -0
  166. package/dist/data-binding/index.js.map +1 -0
  167. package/dist/data-binding/issues.d.ts +45 -0
  168. package/dist/data-binding/issues.js +46 -0
  169. package/dist/data-binding/issues.js.map +1 -0
  170. package/dist/data-binding/resolve.d.ts +87 -0
  171. package/dist/data-binding/resolve.js +204 -0
  172. package/dist/data-binding/resolve.js.map +1 -0
  173. package/dist/data-binding/sample.d.ts +21 -0
  174. package/dist/data-binding/sample.js +23 -0
  175. package/dist/data-binding/sample.js.map +1 -0
  176. package/dist/data-binding/sources.d.ts +225 -0
  177. package/dist/data-binding/sources.js +154 -0
  178. package/dist/data-binding/sources.js.map +1 -0
  179. package/dist/data-binding/tokens.d.ts +62 -0
  180. package/dist/data-binding/tokens.js +150 -0
  181. package/dist/data-binding/tokens.js.map +1 -0
  182. package/dist/design-tokens/css.d.ts +34 -0
  183. package/dist/design-tokens/css.js +51 -0
  184. package/dist/design-tokens/css.js.map +1 -0
  185. package/dist/design-tokens/index.d.ts +10 -0
  186. package/dist/design-tokens/index.js +11 -0
  187. package/dist/design-tokens/index.js.map +1 -0
  188. package/dist/design-tokens/style-guide.d.ts +30 -0
  189. package/dist/design-tokens/style-guide.js +31 -0
  190. package/dist/design-tokens/style-guide.js.map +1 -0
  191. package/dist/design-tokens/tokens.d.ts +89 -0
  192. package/dist/design-tokens/tokens.js +112 -0
  193. package/dist/design-tokens/tokens.js.map +1 -0
  194. package/dist/export-sync/builder-source.d.ts +85 -0
  195. package/dist/export-sync/builder-source.js +124 -0
  196. package/dist/export-sync/builder-source.js.map +1 -0
  197. package/dist/export-sync/check.d.ts +61 -0
  198. package/dist/export-sync/check.js +126 -0
  199. package/dist/export-sync/check.js.map +1 -0
  200. package/dist/export-sync/cli.d.ts +89 -0
  201. package/dist/export-sync/cli.js +323 -0
  202. package/dist/export-sync/cli.js.map +1 -0
  203. package/dist/export-sync/core.d.ts +58 -0
  204. package/dist/export-sync/core.js +41 -0
  205. package/dist/export-sync/core.js.map +1 -0
  206. package/dist/export-sync/eject.d.ts +28 -0
  207. package/dist/export-sync/eject.js +21 -0
  208. package/dist/export-sync/eject.js.map +1 -0
  209. package/dist/export-sync/fixtures.d.ts +25 -0
  210. package/dist/export-sync/fixtures.js +87 -0
  211. package/dist/export-sync/fixtures.js.map +1 -0
  212. package/dist/export-sync/generate.d.ts +7 -0
  213. package/dist/export-sync/generate.js +505 -0
  214. package/dist/export-sync/generate.js.map +1 -0
  215. package/dist/export-sync/index.d.ts +37 -0
  216. package/dist/export-sync/index.js +39 -0
  217. package/dist/export-sync/index.js.map +1 -0
  218. package/dist/export-sync/init.d.ts +123 -0
  219. package/dist/export-sync/init.js +234 -0
  220. package/dist/export-sync/init.js.map +1 -0
  221. package/dist/export-sync/manifest-host.d.ts +48 -0
  222. package/dist/export-sync/manifest-host.js +73 -0
  223. package/dist/export-sync/manifest-host.js.map +1 -0
  224. package/dist/export-sync/node.d.ts +20 -0
  225. package/dist/export-sync/node.js +101 -0
  226. package/dist/export-sync/node.js.map +1 -0
  227. package/dist/export-sync/push.d.ts +76 -0
  228. package/dist/export-sync/push.js +197 -0
  229. package/dist/export-sync/push.js.map +1 -0
  230. package/dist/export-sync/registry-sync-client.d.ts +59 -0
  231. package/dist/export-sync/registry-sync-client.js +97 -0
  232. package/dist/export-sync/registry-sync-client.js.map +1 -0
  233. package/dist/export-sync/sync.d.ts +47 -0
  234. package/dist/export-sync/sync.js +47 -0
  235. package/dist/export-sync/sync.js.map +1 -0
  236. package/dist/export-sync/typegen.d.ts +40 -0
  237. package/dist/export-sync/typegen.js +45 -0
  238. package/dist/export-sync/typegen.js.map +1 -0
  239. package/dist/export-sync/validate.d.ts +19 -0
  240. package/dist/export-sync/validate.js +102 -0
  241. package/dist/export-sync/validate.js.map +1 -0
  242. package/dist/export-sync/watch.d.ts +66 -0
  243. package/dist/export-sync/watch.js +70 -0
  244. package/dist/export-sync/watch.js.map +1 -0
  245. package/dist/operations/assets.d.ts +198 -0
  246. package/dist/operations/assets.js +75 -0
  247. package/dist/operations/assets.js.map +1 -0
  248. package/dist/operations/authorization.d.ts +49 -0
  249. package/dist/operations/authorization.js +128 -0
  250. package/dist/operations/authorization.js.map +1 -0
  251. package/dist/operations/changesets.d.ts +160 -0
  252. package/dist/operations/changesets.js +442 -0
  253. package/dist/operations/changesets.js.map +1 -0
  254. package/dist/operations/client.d.ts +49 -0
  255. package/dist/operations/client.js +57 -0
  256. package/dist/operations/client.js.map +1 -0
  257. package/dist/operations/core.d.ts +238 -0
  258. package/dist/operations/core.js +269 -0
  259. package/dist/operations/core.js.map +1 -0
  260. package/dist/operations/documents.d.ts +432 -0
  261. package/dist/operations/documents.js +344 -0
  262. package/dist/operations/documents.js.map +1 -0
  263. package/dist/operations/graph.d.ts +138 -0
  264. package/dist/operations/graph.js +78 -0
  265. package/dist/operations/graph.js.map +1 -0
  266. package/dist/operations/index.d.ts +19 -0
  267. package/dist/operations/index.js +20 -0
  268. package/dist/operations/index.js.map +1 -0
  269. package/dist/operations/members.d.ts +87 -0
  270. package/dist/operations/members.js +56 -0
  271. package/dist/operations/members.js.map +1 -0
  272. package/dist/operations/publishing.d.ts +89 -0
  273. package/dist/operations/publishing.js +57 -0
  274. package/dist/operations/publishing.js.map +1 -0
  275. package/dist/operations/references.d.ts +222 -0
  276. package/dist/operations/references.js +177 -0
  277. package/dist/operations/references.js.map +1 -0
  278. package/dist/operations/schema.d.ts +413 -0
  279. package/dist/operations/schema.js +138 -0
  280. package/dist/operations/schema.js.map +1 -0
  281. package/dist/operations/tokens.d.ts +79 -0
  282. package/dist/operations/tokens.js +102 -0
  283. package/dist/operations/tokens.js.map +1 -0
  284. package/dist/persistence/adapter.d.ts +79 -0
  285. package/dist/persistence/adapter.js +55 -0
  286. package/dist/persistence/adapter.js.map +1 -0
  287. package/dist/persistence/assets.d.ts +120 -0
  288. package/dist/persistence/assets.js +141 -0
  289. package/dist/persistence/assets.js.map +1 -0
  290. package/dist/persistence/backend-validation.d.ts +43 -0
  291. package/dist/persistence/backend-validation.js +57 -0
  292. package/dist/persistence/backend-validation.js.map +1 -0
  293. package/dist/persistence/cli-tokens.d.ts +50 -0
  294. package/dist/persistence/cli-tokens.js +66 -0
  295. package/dist/persistence/cli-tokens.js.map +1 -0
  296. package/dist/persistence/cms.d.ts +148 -0
  297. package/dist/persistence/cms.js +232 -0
  298. package/dist/persistence/cms.js.map +1 -0
  299. package/dist/persistence/contract-scenarios.d.ts +73 -0
  300. package/dist/persistence/contract-scenarios.js +496 -0
  301. package/dist/persistence/contract-scenarios.js.map +1 -0
  302. package/dist/persistence/core.d.ts +96 -0
  303. package/dist/persistence/core.js +110 -0
  304. package/dist/persistence/core.js.map +1 -0
  305. package/dist/persistence/graph.d.ts +61 -0
  306. package/dist/persistence/graph.js +98 -0
  307. package/dist/persistence/graph.js.map +1 -0
  308. package/dist/persistence/index.d.ts +22 -0
  309. package/dist/persistence/index.js +23 -0
  310. package/dist/persistence/index.js.map +1 -0
  311. package/dist/persistence/members.d.ts +70 -0
  312. package/dist/persistence/members.js +0 -0
  313. package/dist/persistence/members.js.map +1 -0
  314. package/dist/persistence/publishing.d.ts +59 -0
  315. package/dist/persistence/publishing.js +95 -0
  316. package/dist/persistence/publishing.js.map +1 -0
  317. package/dist/persistence/reference-extraction.d.ts +44 -0
  318. package/dist/persistence/reference-extraction.js +204 -0
  319. package/dist/persistence/reference-extraction.js.map +1 -0
  320. package/dist/persistence/reference-indexing.d.ts +68 -0
  321. package/dist/persistence/reference-indexing.js +112 -0
  322. package/dist/persistence/reference-indexing.js.map +1 -0
  323. package/dist/persistence/references.d.ts +257 -0
  324. package/dist/persistence/references.js +0 -0
  325. package/dist/persistence/references.js.map +1 -0
  326. package/dist/persistence/seed.d.ts +55 -0
  327. package/dist/persistence/seed.js +102 -0
  328. package/dist/persistence/seed.js.map +1 -0
  329. package/dist/persistence/self-maintaining-adapter.d.ts +41 -0
  330. package/dist/persistence/self-maintaining-adapter.js +79 -0
  331. package/dist/persistence/self-maintaining-adapter.js.map +1 -0
  332. package/dist/plugins/asset-storage.d.ts +76 -0
  333. package/dist/plugins/asset-storage.js +104 -0
  334. package/dist/plugins/asset-storage.js.map +1 -0
  335. package/dist/plugins/component-package.d.ts +54 -0
  336. package/dist/plugins/component-package.js +92 -0
  337. package/dist/plugins/component-package.js.map +1 -0
  338. package/dist/plugins/data-sources.d.ts +78 -0
  339. package/dist/plugins/data-sources.js +99 -0
  340. package/dist/plugins/data-sources.js.map +1 -0
  341. package/dist/plugins/examples.d.ts +47 -0
  342. package/dist/plugins/examples.js +205 -0
  343. package/dist/plugins/examples.js.map +1 -0
  344. package/dist/plugins/export-targets.d.ts +47 -0
  345. package/dist/plugins/export-targets.js +78 -0
  346. package/dist/plugins/export-targets.js.map +1 -0
  347. package/dist/plugins/field-types.d.ts +86 -0
  348. package/dist/plugins/field-types.js +93 -0
  349. package/dist/plugins/field-types.js.map +1 -0
  350. package/dist/plugins/hooks.d.ts +60 -0
  351. package/dist/plugins/hooks.js +94 -0
  352. package/dist/plugins/hooks.js.map +1 -0
  353. package/dist/plugins/index.d.ts +27 -0
  354. package/dist/plugins/index.js +28 -0
  355. package/dist/plugins/index.js.map +1 -0
  356. package/dist/plugins/marketplace.d.ts +90 -0
  357. package/dist/plugins/marketplace.js +110 -0
  358. package/dist/plugins/marketplace.js.map +1 -0
  359. package/dist/plugins/plugin.d.ts +107 -0
  360. package/dist/plugins/plugin.js +122 -0
  361. package/dist/plugins/plugin.js.map +1 -0
  362. package/dist/plugins/templates.d.ts +66 -0
  363. package/dist/plugins/templates.js +74 -0
  364. package/dist/plugins/templates.js.map +1 -0
  365. package/dist/project-graph/binding.d.ts +68 -0
  366. package/dist/project-graph/binding.js +39 -0
  367. package/dist/project-graph/binding.js.map +1 -0
  368. package/dist/project-graph/container.d.ts +126 -0
  369. package/dist/project-graph/container.js +221 -0
  370. package/dist/project-graph/container.js.map +1 -0
  371. package/dist/project-graph/edit.d.ts +66 -0
  372. package/dist/project-graph/edit.js +201 -0
  373. package/dist/project-graph/edit.js.map +1 -0
  374. package/dist/project-graph/fixtures.d.ts +51 -0
  375. package/dist/project-graph/fixtures.js +224 -0
  376. package/dist/project-graph/fixtures.js.map +1 -0
  377. package/dist/project-graph/ids.d.ts +17 -0
  378. package/dist/project-graph/ids.js +19 -0
  379. package/dist/project-graph/ids.js.map +1 -0
  380. package/dist/project-graph/index.d.ts +12 -0
  381. package/dist/project-graph/index.js +13 -0
  382. package/dist/project-graph/index.js.map +1 -0
  383. package/dist/project-graph/issues.d.ts +61 -0
  384. package/dist/project-graph/issues.js +44 -0
  385. package/dist/project-graph/issues.js.map +1 -0
  386. package/dist/project-graph/json.d.ts +6 -0
  387. package/dist/project-graph/json.js +10 -0
  388. package/dist/project-graph/json.js.map +1 -0
  389. package/dist/project-graph/node.d.ts +48 -0
  390. package/dist/project-graph/node.js +42 -0
  391. package/dist/project-graph/node.js.map +1 -0
  392. package/dist/project-graph/normalize.d.ts +17 -0
  393. package/dist/project-graph/normalize.js +110 -0
  394. package/dist/project-graph/normalize.js.map +1 -0
  395. package/dist/project-graph/serialize.d.ts +36 -0
  396. package/dist/project-graph/serialize.js +51 -0
  397. package/dist/project-graph/serialize.js.map +1 -0
  398. package/dist/project-graph/structure.d.ts +40 -0
  399. package/dist/project-graph/structure.js +36 -0
  400. package/dist/project-graph/structure.js.map +1 -0
  401. package/dist/project-graph/validate.d.ts +84 -0
  402. package/dist/project-graph/validate.js +158 -0
  403. package/dist/project-graph/validate.js.map +1 -0
  404. package/dist/rich-text/adapter.d.ts +43 -0
  405. package/dist/rich-text/adapter.js +24 -0
  406. package/dist/rich-text/adapter.js.map +1 -0
  407. package/dist/rich-text/dom-editor.d.ts +101 -0
  408. package/dist/rich-text/dom-editor.js +482 -0
  409. package/dist/rich-text/dom-editor.js.map +1 -0
  410. package/dist/rich-text/embed.d.ts +70 -0
  411. package/dist/rich-text/embed.js +70 -0
  412. package/dist/rich-text/embed.js.map +1 -0
  413. package/dist/rich-text/fixtures.d.ts +25 -0
  414. package/dist/rich-text/fixtures.js +115 -0
  415. package/dist/rich-text/fixtures.js.map +1 -0
  416. package/dist/rich-text/html.d.ts +5 -0
  417. package/dist/rich-text/html.js +309 -0
  418. package/dist/rich-text/html.js.map +1 -0
  419. package/dist/rich-text/index.d.ts +19 -0
  420. package/dist/rich-text/index.js +20 -0
  421. package/dist/rich-text/index.js.map +1 -0
  422. package/dist/rich-text/markdown.d.ts +7 -0
  423. package/dist/rich-text/markdown.js +235 -0
  424. package/dist/rich-text/markdown.js.map +1 -0
  425. package/dist/rich-text/portable-text.d.ts +50 -0
  426. package/dist/rich-text/portable-text.js +223 -0
  427. package/dist/rich-text/portable-text.js.map +1 -0
  428. package/dist/rich-text/registry.d.ts +48 -0
  429. package/dist/rich-text/registry.js +16 -0
  430. package/dist/rich-text/registry.js.map +1 -0
  431. package/dist/rich-text/render.d.ts +69 -0
  432. package/dist/rich-text/render.js +205 -0
  433. package/dist/rich-text/render.js.map +1 -0
  434. package/dist/rich-text/schema.d.ts +86 -0
  435. package/dist/rich-text/schema.js +80 -0
  436. package/dist/rich-text/schema.js.map +1 -0
  437. package/dist/rich-text/test-support.d.ts +7 -0
  438. package/dist/rich-text/test-support.js +8 -0
  439. package/dist/rich-text/test-support.js.map +1 -0
  440. package/dist/runtime-renderer/client.d.ts +14 -0
  441. package/dist/runtime-renderer/client.js +15 -0
  442. package/dist/runtime-renderer/client.js.map +1 -0
  443. package/dist/runtime-renderer/condition.d.ts +8 -0
  444. package/dist/runtime-renderer/condition.js +48 -0
  445. package/dist/runtime-renderer/condition.js.map +1 -0
  446. package/dist/runtime-renderer/content-client.d.ts +62 -0
  447. package/dist/runtime-renderer/content-client.js +37 -0
  448. package/dist/runtime-renderer/content-client.js.map +1 -0
  449. package/dist/runtime-renderer/context.d.ts +185 -0
  450. package/dist/runtime-renderer/context.js +7 -0
  451. package/dist/runtime-renderer/context.js.map +1 -0
  452. package/dist/runtime-renderer/fallback.d.ts +39 -0
  453. package/dist/runtime-renderer/fallback.js +45 -0
  454. package/dist/runtime-renderer/fallback.js.map +1 -0
  455. package/dist/runtime-renderer/index.d.ts +13 -0
  456. package/dist/runtime-renderer/index.js +13 -0
  457. package/dist/runtime-renderer/index.js.map +1 -0
  458. package/dist/runtime-renderer/primitives.d.ts +85 -0
  459. package/dist/runtime-renderer/primitives.js +442 -0
  460. package/dist/runtime-renderer/primitives.js.map +1 -0
  461. package/dist/runtime-renderer/render.d.ts +138 -0
  462. package/dist/runtime-renderer/render.js +825 -0
  463. package/dist/runtime-renderer/render.js.map +1 -0
  464. package/dist/runtime-renderer/rich-text.d.ts +26 -0
  465. package/dist/runtime-renderer/rich-text.js +113 -0
  466. package/dist/runtime-renderer/rich-text.js.map +1 -0
  467. package/dist/starter-kits/index.d.ts +13 -0
  468. package/dist/starter-kits/index.js +14 -0
  469. package/dist/starter-kits/index.js.map +1 -0
  470. package/dist/starter-kits/instantiate.d.ts +29 -0
  471. package/dist/starter-kits/instantiate.js +24 -0
  472. package/dist/starter-kits/instantiate.js.map +1 -0
  473. package/dist/starter-kits/kit.d.ts +61 -0
  474. package/dist/starter-kits/kit.js +37 -0
  475. package/dist/starter-kits/kit.js.map +1 -0
  476. package/dist/starter-kits/kits.d.ts +7 -0
  477. package/dist/starter-kits/kits.js +201 -0
  478. package/dist/starter-kits/kits.js.map +1 -0
  479. package/dist/starter-kits/manifests.d.ts +7 -0
  480. package/dist/starter-kits/manifests.js +111 -0
  481. package/dist/starter-kits/manifests.js.map +1 -0
  482. package/dist/starter-kits/upgrade.d.ts +39 -0
  483. package/dist/starter-kits/upgrade.js +54 -0
  484. package/dist/starter-kits/upgrade.js.map +1 -0
  485. package/dist/starter-kits/validate.d.ts +16 -0
  486. package/dist/starter-kits/validate.js +77 -0
  487. package/dist/starter-kits/validate.js.map +1 -0
  488. package/dist/studio-core/context.d.ts +27 -0
  489. package/dist/studio-core/context.js +44 -0
  490. package/dist/studio-core/context.js.map +1 -0
  491. package/dist/studio-core/errors.d.ts +58 -0
  492. package/dist/studio-core/errors.js +74 -0
  493. package/dist/studio-core/errors.js.map +1 -0
  494. package/dist/studio-core/fixtures.d.ts +18 -0
  495. package/dist/studio-core/fixtures.js +83 -0
  496. package/dist/studio-core/fixtures.js.map +1 -0
  497. package/dist/studio-core/ids.d.ts +22 -0
  498. package/dist/studio-core/ids.js +33 -0
  499. package/dist/studio-core/ids.js.map +1 -0
  500. package/dist/studio-core/index.d.ts +11 -0
  501. package/dist/studio-core/index.js +12 -0
  502. package/dist/studio-core/index.js.map +1 -0
  503. package/dist/studio-core/issues.d.ts +50 -0
  504. package/dist/studio-core/issues.js +33 -0
  505. package/dist/studio-core/issues.js.map +1 -0
  506. package/dist/studio-core/metadata.d.ts +109 -0
  507. package/dist/studio-core/metadata.js +74 -0
  508. package/dist/studio-core/metadata.js.map +1 -0
  509. package/dist/studio-core/repository.d.ts +73 -0
  510. package/dist/studio-core/repository.js +202 -0
  511. package/dist/studio-core/repository.js.map +1 -0
  512. package/dist/studio-core/sections.d.ts +73 -0
  513. package/dist/studio-core/sections.js +68 -0
  514. package/dist/studio-core/sections.js.map +1 -0
  515. package/dist/studio-core/validate.d.ts +15 -0
  516. package/dist/studio-core/validate.js +119 -0
  517. package/dist/studio-core/validate.js.map +1 -0
  518. package/dist/studio-core/workspace-config.d.ts +587 -0
  519. package/dist/studio-core/workspace-config.js +434 -0
  520. package/dist/studio-core/workspace-config.js.map +1 -0
  521. package/package.json +104 -0
@@ -0,0 +1,67 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * A locale code (BCP-47-ish, e.g. `en`, `en-US`, `de`). Kept as a plain
4
+ * non-empty string so unusual locales still parse; validity against a project's
5
+ * declared locale set is checked semantically (EC-018).
6
+ */
7
+ export const localeSchema = z.string().min(1);
8
+ /**
9
+ * A document identity (EC-017): the stable pointer to a piece of content. A
10
+ * document belongs to exactly one collection and has a stable id. For localized
11
+ * content the *identity* is collection+id; a specific localized variant is
12
+ * addressed by additionally carrying a locale (see `LocaleAwareDocumentRef`).
13
+ */
14
+ export const documentRefSchema = z.object({
15
+ collection: z.string().min(1),
16
+ id: z.string().min(1),
17
+ });
18
+ /** A document identity together with a specific locale (EC-018). */
19
+ export const localeAwareDocumentRefSchema = documentRefSchema.extend({
20
+ locale: localeSchema,
21
+ });
22
+ /** Stable string key for a document identity. */
23
+ export function documentKey(ref) {
24
+ return `${ref.collection}:${ref.id}`;
25
+ }
26
+ /** Stable string key for a locale-aware document identity. */
27
+ export function localeAwareDocumentKey(ref) {
28
+ return `${ref.collection}:${ref.id}@${ref.locale}`;
29
+ }
30
+ /** Equality on document identity (collection + id), ignoring locale. */
31
+ export function documentRefEquals(a, b) {
32
+ return a.collection === b.collection && a.id === b.id;
33
+ }
34
+ /**
35
+ * Target state of a publish/unpublish *action* (EC-021). No longer a stored
36
+ * document field (EC-224 retired it — publish-ness is the version pointer, see
37
+ * `publishedVersion`); this enum names the *intent* of a bulk publish/unpublish
38
+ * action (the studio's `applyState` contract), not a property a row carries.
39
+ */
40
+ export const publicationStateSchema = z.enum(['draft', 'published']);
41
+ /**
42
+ * A stored document (EC-016/017/018). The live row is the continuous DRAFT
43
+ * (the Sanity model, EC-224). Holds:
44
+ * - identity (`collection` + `id`),
45
+ * - non-localized field values in `values`,
46
+ * - per-locale field values in `localized` (only for localized fields).
47
+ *
48
+ * Publish-ness is NOT a field here: a document is published when an append-only
49
+ * version is pinned via the record's `publishedVersion` pointer (EC-224). The
50
+ * delivery `published` perspective serves that pinned snapshot; this live row
51
+ * is always the working draft.
52
+ */
53
+ export const documentSchema = z.object({
54
+ collection: z.string().min(1),
55
+ id: z.string().min(1),
56
+ /** Non-localized field values shared across locales. */
57
+ values: z.record(z.string(), z.unknown()).default({}),
58
+ /** Per-locale overrides for localized fields: `{ [locale]: { [field]: value } }`. */
59
+ localized: z.record(localeSchema, z.record(z.string(), z.unknown())).optional(),
60
+ /** The default locale this document was authored in (EC-018 fallback source). */
61
+ defaultLocale: localeSchema.optional(),
62
+ });
63
+ /** The identity of a stored document. */
64
+ export function refOf(doc) {
65
+ return { collection: doc.collection, id: doc.id };
66
+ }
67
+ //# sourceMappingURL=documents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/cms-core/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAG7C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACtB,CAAC,CAAA;AAGF,oEAAoE;AACpE,MAAM,CAAC,MAAM,4BAA4B,GAAG,iBAAiB,CAAC,MAAM,CAAC;IACnE,MAAM,EAAE,YAAY;CACrB,CAAC,CAAA;AAGF,iDAAiD;AACjD,MAAM,UAAU,WAAW,CAAC,GAAgB;IAC1C,OAAO,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,EAAE,EAAE,CAAA;AACtC,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,sBAAsB,CAAC,GAA2B;IAChE,OAAO,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAA;AACpD,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,iBAAiB,CAAC,CAAc,EAAE,CAAc;IAC9D,OAAO,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAA;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;AAUpE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,wDAAwD;IACxD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACrD,qFAAqF;IACrF,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/E,iFAAiF;IACjF,aAAa,EAAE,YAAY,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAA;AAGF,yCAAyC;AACzC,MAAM,UAAU,KAAK,CAAC,GAAgB;IACpC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAA;AACnD,CAAC"}
@@ -0,0 +1,80 @@
1
+ import { z } from 'zod';
2
+ import type { DocumentRef } from './documents';
3
+ /**
4
+ * Self-describing content envelopes (EC-277, vision AD-15).
5
+ *
6
+ * A value's *type* used to be inferred from the schema at read time — a stored
7
+ * relation was a bare `{ collection, id }`, an asset a bare id string, a rich-text
8
+ * internal link a fuzzy `elytra:document/…` href. Interpreting those required the
9
+ * schema (or the component manifest), which is exactly why structural derivation
10
+ * (the reference index, where-used, validation) had to run in client/app code.
11
+ *
12
+ * Self-describing data inverts this: every node that *isn't* a plain scalar carries
13
+ * an explicit `type` discriminator at rest, so a structural walk over content can
14
+ * recognise references/assets/blocks **without the schema** — making derivation a
15
+ * pure function of data the backend holds (AD-6 maintained-in-Convex).
16
+ *
17
+ * One discriminator, `type`, unifies with rich-text — ProseMirror nodes already
18
+ * self-describe via `type` (`{ type: 'paragraph' }`), and a typed reference/asset/
19
+ * block node is the *same* concept, not a separate one. `_type` elsewhere would
20
+ * manufacture a seam through one content model.
21
+ *
22
+ * Scope note: only the *fixed-shape* nodes we fully own get an envelope here —
23
+ * references, assets, blocks. User-content objects / array-items stay structural
24
+ * (a plain bag walked key-by-key); their self-description comes free from their
25
+ * typed subfields, and NOT wrapping them avoids `type` colliding with a user field
26
+ * literally named `type`. A block already self-types via `componentId`; `type:
27
+ * 'block'` is added only for walk-uniformity and is accepted-but-not-required.
28
+ */
29
+ /** Node `type` discriminators owned by the envelope layer. */
30
+ export declare const REFERENCE_NODE_TYPE = "reference";
31
+ export declare const ASSET_NODE_TYPE = "asset";
32
+ export declare const BLOCK_NODE_TYPE = "block";
33
+ /**
34
+ * Field names reserved by the self-describing layer. The write-time schema lens
35
+ * (validation) rejects a user field declared with one of these names — the single
36
+ * cost of unifying on a plain `type` discriminator instead of a `_`-namespaced one,
37
+ * enforced at the one write chokepoint we already own.
38
+ */
39
+ export declare const RESERVED_NODE_KEYS: ReadonlySet<string>;
40
+ /**
41
+ * A self-typed reference to a document (EC-277). Wraps the collection-scoped
42
+ * {@link DocumentRef} payload (kept as-is — it matches the reference index key
43
+ * `collection:id`) behind an explicit `type: 'reference'` discriminator.
44
+ */
45
+ export declare const referenceNodeSchema: z.ZodObject<{
46
+ collection: z.ZodString;
47
+ id: z.ZodString;
48
+ type: z.ZodLiteral<"reference">;
49
+ }, z.core.$strip>;
50
+ export type ReferenceNode = z.infer<typeof referenceNodeSchema>;
51
+ /** A self-typed reference to an asset (EC-277). Replaces the bare asset-id string. */
52
+ export declare const assetNodeSchema: z.ZodObject<{
53
+ type: z.ZodLiteral<"asset">;
54
+ id: z.ZodString;
55
+ }, z.core.$strip>;
56
+ export type AssetNode = z.infer<typeof assetNodeSchema>;
57
+ /** Wrap a document identity in a self-typed reference node. */
58
+ export declare function referenceNode(ref: DocumentRef): ReferenceNode;
59
+ /** Wrap an asset id in a self-typed asset node. */
60
+ export declare function assetNode(id: string): AssetNode;
61
+ /** Structural test for a self-typed reference node. */
62
+ export declare function isReferenceNode(value: unknown): value is ReferenceNode;
63
+ /** Structural test for a self-typed asset node. */
64
+ export declare function isAssetNode(value: unknown): value is AssetNode;
65
+ /** The document identity carried by a reference node (strips the discriminator). */
66
+ export declare function refOfReferenceNode(node: ReferenceNode): DocumentRef;
67
+ /**
68
+ * Read a document identity out of a stored relation value, accepting BOTH the
69
+ * self-typed envelope (`{ type: 'reference', collection, id }`) and a legacy bare
70
+ * `{ collection, id }`. This is the single unwrap every relation reader routes
71
+ * through — and the lazy-on-read half of the EC-277 migration: content that has not
72
+ * yet been upgraded still reads correctly. Returns `undefined` for anything else.
73
+ */
74
+ export declare function readDocumentRef(value: unknown): DocumentRef | undefined;
75
+ /**
76
+ * Read an asset id out of a stored asset value, accepting BOTH the self-typed
77
+ * envelope (`{ type: 'asset', id }`) and a legacy bare id string. The asset twin of
78
+ * {@link readDocumentRef}. Returns `undefined` for anything else.
79
+ */
80
+ export declare function readAssetId(value: unknown): string | undefined;
@@ -0,0 +1,124 @@
1
+ import { z } from 'zod';
2
+ import { documentRefSchema } from './documents';
3
+ /**
4
+ * Self-describing content envelopes (EC-277, vision AD-15).
5
+ *
6
+ * A value's *type* used to be inferred from the schema at read time — a stored
7
+ * relation was a bare `{ collection, id }`, an asset a bare id string, a rich-text
8
+ * internal link a fuzzy `elytra:document/…` href. Interpreting those required the
9
+ * schema (or the component manifest), which is exactly why structural derivation
10
+ * (the reference index, where-used, validation) had to run in client/app code.
11
+ *
12
+ * Self-describing data inverts this: every node that *isn't* a plain scalar carries
13
+ * an explicit `type` discriminator at rest, so a structural walk over content can
14
+ * recognise references/assets/blocks **without the schema** — making derivation a
15
+ * pure function of data the backend holds (AD-6 maintained-in-Convex).
16
+ *
17
+ * One discriminator, `type`, unifies with rich-text — ProseMirror nodes already
18
+ * self-describe via `type` (`{ type: 'paragraph' }`), and a typed reference/asset/
19
+ * block node is the *same* concept, not a separate one. `_type` elsewhere would
20
+ * manufacture a seam through one content model.
21
+ *
22
+ * Scope note: only the *fixed-shape* nodes we fully own get an envelope here —
23
+ * references, assets, blocks. User-content objects / array-items stay structural
24
+ * (a plain bag walked key-by-key); their self-description comes free from their
25
+ * typed subfields, and NOT wrapping them avoids `type` colliding with a user field
26
+ * literally named `type`. A block already self-types via `componentId`; `type:
27
+ * 'block'` is added only for walk-uniformity and is accepted-but-not-required.
28
+ */
29
+ /** Node `type` discriminators owned by the envelope layer. */
30
+ export const REFERENCE_NODE_TYPE = 'reference';
31
+ export const ASSET_NODE_TYPE = 'asset';
32
+ export const BLOCK_NODE_TYPE = 'block';
33
+ /**
34
+ * Field names reserved by the self-describing layer. The write-time schema lens
35
+ * (validation) rejects a user field declared with one of these names — the single
36
+ * cost of unifying on a plain `type` discriminator instead of a `_`-namespaced one,
37
+ * enforced at the one write chokepoint we already own.
38
+ */
39
+ export const RESERVED_NODE_KEYS = new Set(['type']);
40
+ /**
41
+ * A self-typed reference to a document (EC-277). Wraps the collection-scoped
42
+ * {@link DocumentRef} payload (kept as-is — it matches the reference index key
43
+ * `collection:id`) behind an explicit `type: 'reference'` discriminator.
44
+ */
45
+ export const referenceNodeSchema = documentRefSchema.extend({
46
+ type: z.literal(REFERENCE_NODE_TYPE),
47
+ });
48
+ /** A self-typed reference to an asset (EC-277). Replaces the bare asset-id string. */
49
+ export const assetNodeSchema = z.object({
50
+ type: z.literal(ASSET_NODE_TYPE),
51
+ id: z.string().min(1),
52
+ });
53
+ // --- Constructors -----------------------------------------------------------------
54
+ /** Wrap a document identity in a self-typed reference node. */
55
+ export function referenceNode(ref) {
56
+ return { type: REFERENCE_NODE_TYPE, collection: ref.collection, id: ref.id };
57
+ }
58
+ /** Wrap an asset id in a self-typed asset node. */
59
+ export function assetNode(id) {
60
+ return { type: ASSET_NODE_TYPE, id };
61
+ }
62
+ // --- Guards -----------------------------------------------------------------------
63
+ function asNodeRecord(value) {
64
+ return typeof value === 'object' && value !== null && !Array.isArray(value)
65
+ ? value
66
+ : undefined;
67
+ }
68
+ /** Structural test for a self-typed reference node. */
69
+ export function isReferenceNode(value) {
70
+ const record = asNodeRecord(value);
71
+ return (record !== undefined &&
72
+ record.type === REFERENCE_NODE_TYPE &&
73
+ typeof record.collection === 'string' &&
74
+ record.collection.length > 0 &&
75
+ typeof record.id === 'string' &&
76
+ record.id.length > 0);
77
+ }
78
+ /** Structural test for a self-typed asset node. */
79
+ export function isAssetNode(value) {
80
+ const record = asNodeRecord(value);
81
+ return (record !== undefined &&
82
+ record.type === ASSET_NODE_TYPE &&
83
+ typeof record.id === 'string' &&
84
+ record.id.length > 0);
85
+ }
86
+ /** The document identity carried by a reference node (strips the discriminator). */
87
+ export function refOfReferenceNode(node) {
88
+ return { collection: node.collection, id: node.id };
89
+ }
90
+ // --- Tolerant readers (the lazy-on-read migration net) ----------------------------
91
+ /**
92
+ * Read a document identity out of a stored relation value, accepting BOTH the
93
+ * self-typed envelope (`{ type: 'reference', collection, id }`) and a legacy bare
94
+ * `{ collection, id }`. This is the single unwrap every relation reader routes
95
+ * through — and the lazy-on-read half of the EC-277 migration: content that has not
96
+ * yet been upgraded still reads correctly. Returns `undefined` for anything else.
97
+ */
98
+ export function readDocumentRef(value) {
99
+ if (isReferenceNode(value))
100
+ return { collection: value.collection, id: value.id };
101
+ const record = asNodeRecord(value);
102
+ if (record !== undefined &&
103
+ record.type === undefined &&
104
+ typeof record.collection === 'string' &&
105
+ record.collection.length > 0 &&
106
+ typeof record.id === 'string' &&
107
+ record.id.length > 0) {
108
+ return { collection: record.collection, id: record.id };
109
+ }
110
+ return undefined;
111
+ }
112
+ /**
113
+ * Read an asset id out of a stored asset value, accepting BOTH the self-typed
114
+ * envelope (`{ type: 'asset', id }`) and a legacy bare id string. The asset twin of
115
+ * {@link readDocumentRef}. Returns `undefined` for anything else.
116
+ */
117
+ export function readAssetId(value) {
118
+ if (isAssetNode(value))
119
+ return value.id;
120
+ if (typeof value === 'string' && value.length > 0)
121
+ return value;
122
+ return undefined;
123
+ }
124
+ //# sourceMappingURL=envelopes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envelopes.js","sourceRoot":"","sources":["../../src/cms-core/envelopes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,220 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Provider-neutral field type catalogue (brief §7.4). Relation and asset are
4
+ * first-class field types but carry extra config (target collection, cardinality),
5
+ * so they're modelled as discriminated variants below rather than bare strings.
6
+ */
7
+ export declare const fieldTypeSchema: z.ZodEnum<{
8
+ number: "number";
9
+ boolean: "boolean";
10
+ object: "object";
11
+ date: "date";
12
+ text: "text";
13
+ select: "select";
14
+ richText: "richText";
15
+ relation: "relation";
16
+ asset: "asset";
17
+ blocks: "blocks";
18
+ }>;
19
+ export type FieldType = z.infer<typeof fieldTypeSchema>;
20
+ /** How many related documents a relation field points at. */
21
+ export declare const cardinalitySchema: z.ZodEnum<{
22
+ one: "one";
23
+ many: "many";
24
+ }>;
25
+ export type Cardinality = z.infer<typeof cardinalitySchema>;
26
+ /**
27
+ * Where a field-def is valid (EC-190 "props as fields"): a CMS document field, a
28
+ * component prop, or both. The same field-def vocabulary drives documents AND
29
+ * component props through one inspector/form engine — `context` only gates which
30
+ * document-only attributes apply, never the stored value or emitted JSON Schema.
31
+ */
32
+ export declare const fieldContextSchema: z.ZodEnum<{
33
+ document: "document";
34
+ prop: "prop";
35
+ both: "both";
36
+ }>;
37
+ export type FieldContext = z.infer<typeof fieldContextSchema>;
38
+ /**
39
+ * Preferred input control when a field type maps to several presentation forms
40
+ * (e.g. a `text` field rendered as a single input, a textarea, a colour picker, or
41
+ * a JSON editor). Presentation only — never affects validation or stored values.
42
+ */
43
+ export declare const fieldControlSchema: z.ZodEnum<{
44
+ input: "input";
45
+ textarea: "textarea";
46
+ color: "color";
47
+ json: "json";
48
+ }>;
49
+ export type FieldControl = z.infer<typeof fieldControlSchema>;
50
+ /**
51
+ * Form/authoring metadata for a field (brief §7.4: groups/tabs/labels/order).
52
+ * Pure presentation hints — never affects validation or stored values.
53
+ */
54
+ export declare const fieldFormMetaSchema: z.ZodObject<{
55
+ label: z.ZodOptional<z.ZodString>;
56
+ description: z.ZodOptional<z.ZodString>;
57
+ placeholder: z.ZodOptional<z.ZodString>;
58
+ group: z.ZodOptional<z.ZodString>;
59
+ tab: z.ZodOptional<z.ZodString>;
60
+ order: z.ZodOptional<z.ZodNumber>;
61
+ readOnly: z.ZodOptional<z.ZodBoolean>;
62
+ hidden: z.ZodOptional<z.ZodBoolean>;
63
+ control: z.ZodOptional<z.ZodEnum<{
64
+ input: "input";
65
+ textarea: "textarea";
66
+ color: "color";
67
+ json: "json";
68
+ }>>;
69
+ inlineEditable: z.ZodOptional<z.ZodBoolean>;
70
+ }, z.core.$strip>;
71
+ export type FieldFormMeta = z.infer<typeof fieldFormMetaSchema>;
72
+ /**
73
+ * Declarative validation metadata for a field (brief §7.4). These constraints
74
+ * are provider-neutral and drive both runtime validation (`validateDocument`)
75
+ * and JSON Schema output. They never throw — violations surface as structured
76
+ * issues.
77
+ */
78
+ export declare const fieldValidationSchema: z.ZodObject<{
79
+ required: z.ZodOptional<z.ZodBoolean>;
80
+ min: z.ZodOptional<z.ZodNumber>;
81
+ max: z.ZodOptional<z.ZodNumber>;
82
+ pattern: z.ZodOptional<z.ZodString>;
83
+ unique: z.ZodOptional<z.ZodBoolean>;
84
+ }, z.core.$strip>;
85
+ export type FieldValidation = z.infer<typeof fieldValidationSchema>;
86
+ /** A single allowed option for a `select` field. */
87
+ export declare const selectOptionSchema: z.ZodObject<{
88
+ value: z.ZodString;
89
+ label: z.ZodOptional<z.ZodString>;
90
+ }, z.core.$strip>;
91
+ export type SelectOption = z.infer<typeof selectOptionSchema>;
92
+ /** A schema of just the shared base attributes — the source for {@link BaseFieldDef}. */
93
+ declare const baseFieldObjectSchema: z.ZodObject<{
94
+ name: z.ZodString;
95
+ localized: z.ZodOptional<z.ZodBoolean>;
96
+ filterable: z.ZodOptional<z.ZodBoolean>;
97
+ context: z.ZodOptional<z.ZodEnum<{
98
+ document: "document";
99
+ prop: "prop";
100
+ both: "both";
101
+ }>>;
102
+ default: z.ZodOptional<z.ZodUnknown>;
103
+ form: z.ZodOptional<z.ZodObject<{
104
+ label: z.ZodOptional<z.ZodString>;
105
+ description: z.ZodOptional<z.ZodString>;
106
+ placeholder: z.ZodOptional<z.ZodString>;
107
+ group: z.ZodOptional<z.ZodString>;
108
+ tab: z.ZodOptional<z.ZodString>;
109
+ order: z.ZodOptional<z.ZodNumber>;
110
+ readOnly: z.ZodOptional<z.ZodBoolean>;
111
+ hidden: z.ZodOptional<z.ZodBoolean>;
112
+ control: z.ZodOptional<z.ZodEnum<{
113
+ input: "input";
114
+ textarea: "textarea";
115
+ color: "color";
116
+ json: "json";
117
+ }>>;
118
+ inlineEditable: z.ZodOptional<z.ZodBoolean>;
119
+ }, z.core.$strip>>;
120
+ validation: z.ZodOptional<z.ZodObject<{
121
+ required: z.ZodOptional<z.ZodBoolean>;
122
+ min: z.ZodOptional<z.ZodNumber>;
123
+ max: z.ZodOptional<z.ZodNumber>;
124
+ pattern: z.ZodOptional<z.ZodString>;
125
+ unique: z.ZodOptional<z.ZodBoolean>;
126
+ }, z.core.$strip>>;
127
+ }, z.core.$strip>;
128
+ /** Attributes every field-def carries, derived from {@link baseFieldShape}. */
129
+ type BaseFieldDef = z.infer<typeof baseFieldObjectSchema>;
130
+ /**
131
+ * A field definition (the shape {@link fieldDefSchema} parses to). Written
132
+ * explicitly rather than via `z.infer` because the `object` variant is recursive
133
+ * — its `fields` reference `FieldDef` itself — and TypeScript cannot infer a
134
+ * self-referential `z.infer`. The schema below is annotated with this type and the
135
+ * two are kept in lock-step (`object-field.test.ts` round-trips against drift).
136
+ *
137
+ * A discriminated union on `type` so relation/asset/select/object carry exactly
138
+ * the extra config they need and nothing more.
139
+ */
140
+ export type FieldDef = (BaseFieldDef & {
141
+ type: 'text';
142
+ }) | (BaseFieldDef & {
143
+ type: 'number';
144
+ }) | (BaseFieldDef & {
145
+ type: 'boolean';
146
+ }) | (BaseFieldDef & {
147
+ type: 'date';
148
+ }) | (BaseFieldDef & {
149
+ type: 'select';
150
+ options: SelectOption[];
151
+ multiple?: boolean;
152
+ }) | (BaseFieldDef & {
153
+ type: 'richText';
154
+ allow?: string[];
155
+ }) | (BaseFieldDef & {
156
+ type: 'relation';
157
+ target: string;
158
+ cardinality: Cardinality;
159
+ populate?: boolean;
160
+ strict?: boolean;
161
+ }) | (BaseFieldDef & {
162
+ type: 'asset';
163
+ cardinality: Cardinality;
164
+ accept?: string[];
165
+ }) | (BaseFieldDef & {
166
+ type: 'blocks';
167
+ allow?: string[];
168
+ cardinality: Cardinality;
169
+ }) | (BaseFieldDef & {
170
+ type: 'object';
171
+ fields: FieldDef[];
172
+ cardinality: Cardinality;
173
+ });
174
+ /**
175
+ * The Zod schema mirroring {@link FieldDef}. The `object` member's `fields` is
176
+ * wrapped in `z.lazy` so the schema can reference itself, while the discriminator
177
+ * stays a static `z.literal('object')` so `discriminatedUnion` can still read it
178
+ * at construction time. The explicit `z.ZodType<FieldDef>` annotation breaks the
179
+ * self-referential inference cycle; the cast reconciles the parsed output (where
180
+ * defaulted `cardinality` is always present) with the union's optional-input type.
181
+ */
182
+ export declare const fieldDefSchema: z.ZodType<FieldDef>;
183
+ /** A relation field, narrowed. */
184
+ export type RelationFieldDef = Extract<FieldDef, {
185
+ type: 'relation';
186
+ }>;
187
+ /** An asset field, narrowed. */
188
+ export type AssetFieldDef = Extract<FieldDef, {
189
+ type: 'asset';
190
+ }>;
191
+ /** A select field, narrowed. */
192
+ export type SelectFieldDef = Extract<FieldDef, {
193
+ type: 'select';
194
+ }>;
195
+ /** A composition (blocks) field, narrowed (EC-186). */
196
+ export type BlocksFieldDef = Extract<FieldDef, {
197
+ type: 'blocks';
198
+ }>;
199
+ /** A rich-text field, narrowed (EC-159/EC-189: carries the embed `allow` list). */
200
+ export type RichTextFieldDef = Extract<FieldDef, {
201
+ type: 'richText';
202
+ }>;
203
+ /** An object / repeater field, narrowed (EC-253). */
204
+ export type ObjectFieldDef = Extract<FieldDef, {
205
+ type: 'object';
206
+ }>;
207
+ /** Narrowing helpers. */
208
+ export declare function isRelationField(field: FieldDef): field is RelationFieldDef;
209
+ export declare function isAssetField(field: FieldDef): field is AssetFieldDef;
210
+ export declare function isSelectField(field: FieldDef): field is SelectFieldDef;
211
+ export declare function isBlocksField(field: FieldDef): field is BlocksFieldDef;
212
+ export declare function isRichTextField(field: FieldDef): field is RichTextFieldDef;
213
+ export declare function isObjectField(field: FieldDef): field is ObjectFieldDef;
214
+ /** Resolve a field-def's context, defaulting to `document` (EC-190). */
215
+ export declare function fieldContext(field: FieldDef): FieldContext;
216
+ /** True if the field-def may be used as a component prop (EC-190). */
217
+ export declare function isPropContext(field: FieldDef): boolean;
218
+ /** True if the field-def may be used as a CMS document field (EC-190). */
219
+ export declare function isDocumentContext(field: FieldDef): boolean;
220
+ export {};