@takeshape/schema 11.52.0 → 11.55.0

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 (1024) hide show
  1. package/dist/__tests__/_examples.test.js +77 -0
  2. package/dist/__tests__/agents.test.js +163 -0
  3. package/dist/__tests__/api-version.test.js +24 -0
  4. package/dist/__tests__/builtin-schema.test.js +18 -0
  5. package/dist/__tests__/content-schema-transform.test.d.ts +1 -0
  6. package/dist/__tests__/content-schema-transform.test.js +522 -0
  7. package/dist/__tests__/create-input-schema.test.d.ts +1 -0
  8. package/dist/__tests__/create-input-schema.test.js +184 -0
  9. package/dist/__tests__/enum.test.d.ts +1 -0
  10. package/dist/__tests__/enum.test.js +36 -0
  11. package/dist/__tests__/flatten-templates.test.d.ts +1 -0
  12. package/dist/__tests__/flatten-templates.test.js +40 -0
  13. package/dist/__tests__/get-is-leaf.test.d.ts +1 -0
  14. package/dist/__tests__/get-is-leaf.test.js +50 -0
  15. package/dist/__tests__/interfaces.test.d.ts +1 -0
  16. package/dist/__tests__/interfaces.test.js +219 -0
  17. package/dist/__tests__/migration.test.d.ts +1 -0
  18. package/dist/__tests__/migration.test.js +34 -0
  19. package/dist/__tests__/mocks.test.d.ts +1 -0
  20. package/dist/__tests__/mocks.test.js +24 -0
  21. package/dist/__tests__/refs.test.d.ts +1 -0
  22. package/dist/__tests__/refs.test.js +752 -0
  23. package/dist/__tests__/relationships.test.d.ts +1 -0
  24. package/dist/__tests__/relationships.test.js +638 -0
  25. package/dist/__tests__/schema-transform.test.d.ts +1 -0
  26. package/dist/__tests__/schema-transform.test.js +205 -0
  27. package/dist/__tests__/schema-util.test.d.ts +1 -0
  28. package/dist/__tests__/schema-util.test.js +1731 -0
  29. package/dist/__tests__/service-dependencies.test.d.ts +1 -0
  30. package/dist/__tests__/service-dependencies.test.js +360 -0
  31. package/dist/__tests__/unions.test.d.ts +1 -0
  32. package/dist/__tests__/unions.test.js +44 -0
  33. package/dist/__tests__/validate.test.d.ts +1 -0
  34. package/dist/__tests__/validate.test.js +1926 -0
  35. package/dist/__tests__/workflows.test.d.ts +3 -0
  36. package/dist/__tests__/workflows.test.js +149 -0
  37. package/dist/agents.d.ts +14 -0
  38. package/dist/auth-schemas.d.ts +125 -0
  39. package/dist/builtin-schema.d.ts +8 -0
  40. package/dist/content-schema-transform.d.ts +35 -0
  41. package/dist/content-schema-transform.js +162 -0
  42. package/dist/create-input-schema.d.ts +9 -0
  43. package/dist/enum.d.ts +2 -0
  44. package/dist/flatten-templates.d.ts +2 -0
  45. package/dist/flatten-templates.js +20 -0
  46. package/dist/get-is-leaf.d.ts +3 -0
  47. package/dist/get-is-leaf.js +56 -0
  48. package/dist/index.d.ts +48 -0
  49. package/dist/index.js +46 -0
  50. package/dist/interfaces.d.ts +12 -0
  51. package/dist/interfaces.js +85 -0
  52. package/dist/layers/__tests__/layers.test.d.ts +1 -0
  53. package/dist/layers/__tests__/layers.test.js +38 -0
  54. package/dist/layers/layers.d.ts +26 -0
  55. package/dist/layers/layers.js +301 -0
  56. package/dist/layers/refs.d.ts +102 -0
  57. package/dist/layers/refs.js +220 -0
  58. package/dist/layers/type-utils.d.ts +59 -0
  59. package/dist/layers/type-utils.js +118 -0
  60. package/dist/layers/visitor.d.ts +5 -0
  61. package/dist/layers/visitor.js +38 -0
  62. package/dist/migration/index.d.ts +64 -0
  63. package/dist/migration/index.js +122 -0
  64. package/dist/migration/to/__tests__/v3.10.0.test.d.ts +1 -0
  65. package/dist/migration/to/__tests__/v3.10.0.test.js +90 -0
  66. package/dist/migration/to/__tests__/v3.12.3.test.d.ts +1 -0
  67. package/dist/migration/to/__tests__/v3.12.3.test.js +103 -0
  68. package/dist/migration/to/__tests__/v3.17.test.d.ts +1 -0
  69. package/dist/migration/to/__tests__/v3.17.test.js +71 -0
  70. package/dist/migration/to/__tests__/v3.34.0.test.d.ts +1 -0
  71. package/dist/migration/to/__tests__/v3.34.0.test.js +240 -0
  72. package/dist/migration/to/__tests__/v3.39.0.test.d.ts +1 -0
  73. package/dist/migration/to/__tests__/v3.39.0.test.js +116 -0
  74. package/dist/migration/to/__tests__/v3.46.0.test.d.ts +1 -0
  75. package/dist/migration/to/__tests__/v3.46.0.test.js +59 -0
  76. package/dist/migration/to/v3.0.0.d.ts +4 -0
  77. package/dist/migration/to/v3.0.0.js +212 -0
  78. package/dist/migration/to/v3.1.0.d.ts +4 -0
  79. package/dist/migration/to/v3.1.0.js +194 -0
  80. package/dist/migration/to/v3.10.0.d.ts +4 -0
  81. package/dist/migration/to/v3.11.0.d.ts +4 -0
  82. package/dist/migration/to/v3.12.0.d.ts +4 -0
  83. package/dist/migration/to/v3.12.1.d.ts +4 -0
  84. package/dist/migration/to/v3.12.2.d.ts +4 -0
  85. package/dist/migration/to/v3.12.3.d.ts +4 -0
  86. package/dist/migration/to/v3.13.0.d.ts +4 -0
  87. package/dist/migration/to/v3.14.0.d.ts +4 -0
  88. package/dist/migration/to/v3.15.0.d.ts +4 -0
  89. package/dist/migration/to/v3.16.0.d.ts +4 -0
  90. package/dist/migration/to/v3.17.0.d.ts +4 -0
  91. package/dist/migration/to/v3.17.1.d.ts +4 -0
  92. package/dist/migration/to/v3.18.0.d.ts +4 -0
  93. package/dist/migration/to/v3.18.1.d.ts +4 -0
  94. package/dist/migration/to/v3.18.2.d.ts +4 -0
  95. package/dist/migration/to/v3.19.0.d.ts +4 -0
  96. package/dist/migration/to/v3.2.0.d.ts +4 -0
  97. package/dist/migration/to/v3.20.0.d.ts +4 -0
  98. package/dist/migration/to/v3.21.0.d.ts +4 -0
  99. package/dist/migration/to/v3.22.0.d.ts +4 -0
  100. package/dist/migration/to/v3.23.0.d.ts +4 -0
  101. package/dist/migration/to/v3.24.0.d.ts +4 -0
  102. package/dist/migration/to/v3.25.0.d.ts +4 -0
  103. package/dist/migration/to/v3.26.0.d.ts +4 -0
  104. package/dist/migration/to/v3.27.0.d.ts +4 -0
  105. package/dist/migration/to/v3.28.0.d.ts +4 -0
  106. package/dist/migration/to/v3.29.0.d.ts +4 -0
  107. package/dist/migration/to/v3.3.0.d.ts +4 -0
  108. package/dist/migration/to/v3.30.0.d.ts +4 -0
  109. package/dist/migration/to/v3.31.0.d.ts +4 -0
  110. package/dist/migration/to/v3.32.0.d.ts +4 -0
  111. package/dist/migration/to/v3.32.0.js +59 -0
  112. package/dist/migration/to/v3.33.0.d.ts +4 -0
  113. package/dist/migration/to/v3.34.0.d.ts +6 -0
  114. package/dist/migration/to/v3.34.0.js +116 -0
  115. package/dist/migration/to/v3.35.0.d.ts +4 -0
  116. package/dist/migration/to/v3.36.0.d.ts +4 -0
  117. package/dist/migration/to/v3.37.0.d.ts +4 -0
  118. package/dist/migration/to/v3.38.0.d.ts +4 -0
  119. package/dist/migration/to/v3.39.0.d.ts +4 -0
  120. package/dist/migration/to/v3.39.0.js +45 -0
  121. package/dist/migration/to/v3.4.0.d.ts +4 -0
  122. package/dist/migration/to/v3.40.0.d.ts +4 -0
  123. package/dist/migration/to/v3.41.0.d.ts +4 -0
  124. package/dist/migration/to/v3.42.0.d.ts +4 -0
  125. package/dist/migration/to/v3.43.0.d.ts +4 -0
  126. package/dist/migration/to/v3.44.0.d.ts +4 -0
  127. package/dist/migration/to/v3.45.0.d.ts +4 -0
  128. package/dist/migration/to/v3.46.0.d.ts +4 -0
  129. package/dist/migration/to/v3.47.0.d.ts +4 -0
  130. package/dist/migration/to/v3.48.0.d.ts +4 -0
  131. package/dist/migration/to/v3.49.0.d.ts +4 -0
  132. package/dist/migration/to/v3.5.0.d.ts +4 -0
  133. package/dist/migration/to/v3.5.1.d.ts +4 -0
  134. package/dist/migration/to/v3.50.0.d.ts +4 -0
  135. package/dist/migration/to/v3.51.0.d.ts +4 -0
  136. package/dist/migration/to/v3.6.0.d.ts +4 -0
  137. package/dist/migration/to/v3.7.0.d.ts +4 -0
  138. package/dist/migration/to/v3.8.0.d.ts +4 -0
  139. package/dist/migration/to/v3.9.0.d.ts +4 -0
  140. package/dist/migration/types.d.ts +19 -0
  141. package/dist/migration/types.js +1 -0
  142. package/dist/mocks.d.ts +13 -0
  143. package/dist/mocks.js +58 -0
  144. package/dist/models/__tests__/project-schema.test.d.ts +1 -0
  145. package/dist/models/__tests__/project-schema.test.js +67 -0
  146. package/dist/models/__tests__/query.test.d.ts +1 -0
  147. package/dist/models/__tests__/query.test.js +27 -0
  148. package/dist/models/__tests__/service.test.d.ts +1 -0
  149. package/dist/models/__tests__/service.test.js +17 -0
  150. package/dist/models/__tests__/shape.test.d.ts +1 -0
  151. package/dist/models/__tests__/shape.test.js +61 -0
  152. package/dist/models/project-schema.d.ts +35 -0
  153. package/dist/models/project-schema.js +92 -0
  154. package/dist/models/query.d.ts +17 -0
  155. package/dist/models/service.d.ts +12 -0
  156. package/dist/models/shape.d.ts +41 -0
  157. package/dist/models/shape.js +85 -0
  158. package/dist/patterns.js +1 -0
  159. package/dist/project-schema/index.d.ts +187 -0
  160. package/dist/project-schema/index.js +75 -0
  161. package/dist/project-schema/migrate.d.ts +4 -0
  162. package/dist/project-schema/migrate.js +194 -0
  163. package/dist/refs.d.ts +226 -0
  164. package/dist/refs.js +608 -0
  165. package/dist/relationships.d.ts +40 -0
  166. package/dist/relationships.js +311 -0
  167. package/dist/runtime-schema.d.ts +5 -0
  168. package/dist/runtime-schema.js +80 -0
  169. package/dist/schema-transform.d.ts +19 -0
  170. package/dist/schema-transform.js +74 -0
  171. package/dist/schema-util.d.ts +210 -0
  172. package/dist/schema-util.js +1077 -0
  173. package/dist/schemas/auth-schemas.json +365 -0
  174. package/dist/schemas/index.js +154 -0
  175. package/dist/service-dependencies.d.ts +13 -0
  176. package/dist/service-dependencies.js +165 -0
  177. package/dist/services/__tests__/services.test.d.ts +1 -0
  178. package/dist/services/__tests__/services.test.js +113 -0
  179. package/dist/services/services.d.ts +31 -0
  180. package/dist/services/services.js +145 -0
  181. package/dist/services/types.js +1 -0
  182. package/dist/services/util.d.ts +16 -0
  183. package/dist/taxonomies.d.ts +15 -0
  184. package/dist/taxonomies.js +24 -0
  185. package/dist/template-shapes/__tests__/index.test.d.ts +1 -0
  186. package/dist/template-shapes/__tests__/index.test.js +40 -0
  187. package/dist/template-shapes/__tests__/names.test.d.ts +1 -0
  188. package/dist/template-shapes/__tests__/names.test.js +19 -0
  189. package/dist/template-shapes/__tests__/templates.test.d.ts +1 -0
  190. package/dist/template-shapes/__tests__/templates.test.js +80 -0
  191. package/dist/template-shapes/__tests__/where.test.d.ts +1 -0
  192. package/dist/template-shapes/__tests__/where.test.js +218 -0
  193. package/dist/template-shapes/index.d.ts +7 -0
  194. package/dist/template-shapes/names.d.ts +10 -0
  195. package/dist/template-shapes/templates.d.ts +32 -0
  196. package/dist/template-shapes/templates.js +319 -0
  197. package/dist/template-shapes/types.d.ts +15 -0
  198. package/dist/template-shapes/where.d.ts +37 -0
  199. package/dist/template-shapes/where.js +402 -0
  200. package/dist/types/__tests__/utils.test.d.ts +1 -0
  201. package/dist/types/__tests__/utils.test.js +159 -0
  202. package/dist/types/index.d.ts +3 -0
  203. package/dist/types/index.js +2 -0
  204. package/dist/types/transforms.d.ts +13 -0
  205. package/dist/types/transforms.js +1 -0
  206. package/dist/types/types.d.ts +211 -0
  207. package/dist/types/utils.d.ts +117 -0
  208. package/dist/types/utils.js +279 -0
  209. package/dist/unions.d.ts +14 -0
  210. package/dist/unions.js +77 -0
  211. package/dist/util/__tests__/api-indexing.test.d.ts +1 -0
  212. package/dist/util/__tests__/api-indexing.test.js +129 -0
  213. package/dist/util/__tests__/detect-cycles.test.d.ts +1 -0
  214. package/dist/util/__tests__/detect-cycles.test.js +193 -0
  215. package/dist/util/__tests__/find-shape-at-path.test.d.ts +1 -0
  216. package/dist/util/__tests__/find-shape-at-path.test.js +41 -0
  217. package/dist/util/__tests__/form-config.test.d.ts +1 -0
  218. package/dist/util/__tests__/form-config.test.js +196 -0
  219. package/dist/util/__tests__/get-return-shape.test.d.ts +1 -0
  220. package/dist/util/__tests__/get-return-shape.test.js +27 -0
  221. package/dist/util/__tests__/has-args.test.d.ts +1 -0
  222. package/dist/util/__tests__/has-args.test.js +46 -0
  223. package/dist/util/__tests__/merge.test.d.ts +1 -0
  224. package/dist/util/__tests__/merge.test.js +1074 -0
  225. package/dist/util/__tests__/patch-schema.test.d.ts +1 -0
  226. package/dist/util/__tests__/patch-schema.test.js +82 -0
  227. package/dist/util/__tests__/shapes.test.d.ts +1 -0
  228. package/dist/util/__tests__/shapes.test.js +30 -0
  229. package/dist/util/ai-tools.d.ts +3 -0
  230. package/dist/util/api-indexing.d.ts +9 -0
  231. package/dist/util/api-indexing.js +57 -0
  232. package/dist/util/detect-cycles.d.ts +7 -0
  233. package/dist/util/detect-cycles.js +45 -0
  234. package/dist/util/find-shape-at-path.d.ts +21 -0
  235. package/dist/util/form-config.d.ts +11 -0
  236. package/dist/util/form-config.js +62 -0
  237. package/dist/util/get-conflicting-properties.d.ts +6 -0
  238. package/dist/util/get-conflicting-properties.js +55 -0
  239. package/dist/util/get-return-shape.d.ts +4 -0
  240. package/dist/util/get-return-shape.js +30 -0
  241. package/dist/util/has-arg.d.ts +4 -0
  242. package/dist/util/has-arg.js +13 -0
  243. package/dist/util/merge.d.ts +15 -0
  244. package/dist/util/merge.js +256 -0
  245. package/dist/util/patch-schema.d.ts +8 -0
  246. package/dist/util/shapes.d.ts +5 -0
  247. package/dist/validate/errors.d.ts +3 -0
  248. package/dist/validate/errors.js +20 -0
  249. package/dist/validate/validate.d.ts +73 -0
  250. package/dist/validate/validate.js +1107 -0
  251. package/dist/versions.d.ts +4 -0
  252. package/dist/versions.js +4 -0
  253. package/dist/workflows.d.ts +14 -0
  254. package/dist/workflows.js +66 -0
  255. package/examples/latest/agent-schema.json +12 -4
  256. package/examples/latest/all-fields-shapes-inline.json +52 -18
  257. package/examples/latest/all-fields-shapes.json +76 -26
  258. package/examples/latest/betzino.json +3139 -902
  259. package/examples/latest/blog-schema.json +28 -8
  260. package/examples/latest/brewery-schema.json +25 -7
  261. package/examples/latest/clear-cache-schema.json +7 -3
  262. package/examples/latest/complex-project-schema.json +359 -98
  263. package/examples/latest/complex-schema.json +1754 -487
  264. package/examples/latest/edit-schema.json +11 -4
  265. package/examples/latest/fabric-ecommerce.json +838 -187
  266. package/examples/latest/frank-and-fred-schema.json +1753 -486
  267. package/examples/latest/klirr-schema.json +2411 -682
  268. package/examples/latest/layers/rick-and-morty-layer.json +32 -11
  269. package/examples/latest/layers/shopify-layer-2023-01.json +8637 -2206
  270. package/examples/latest/layers/shopify-storefront-2023-04.json +1714 -404
  271. package/examples/latest/layers/wordpress-2024-01.json +2746 -691
  272. package/examples/latest/massive-schema.json +584 -131
  273. package/examples/latest/mill-components-schema.json +125 -29
  274. package/examples/latest/nested-shape-arrays.json +19 -7
  275. package/examples/latest/one-earth.json +1113 -236
  276. package/examples/latest/pet-oneof-array.json +22 -7
  277. package/examples/latest/post-schema.json +20 -6
  278. package/examples/latest/pruned-shopify-product-schema.json +830 -185
  279. package/examples/latest/rag-example.json +15 -5
  280. package/examples/latest/real-world-schema.json +56 -14
  281. package/examples/latest/recursive-repeater-schema.json +11 -4
  282. package/examples/latest/recursive-schema.json +11 -4
  283. package/examples/latest/rick-and-morty-ast.json +174 -45
  284. package/examples/latest/rick-and-morty-graphql.json +100 -25
  285. package/examples/latest/rick-and-morty-rest.json +7 -3
  286. package/examples/latest/rick-and-morty-with-indexing.json +13 -5
  287. package/examples/latest/schema-where-filter.json +40 -11
  288. package/examples/latest/schema-with-repeater-draftjs.json +8 -3
  289. package/examples/latest/schema-with-rick-and-morty.json +4 -2
  290. package/examples/latest/shape-books-v3_2_0.json +71 -17
  291. package/examples/latest/shape-books.json +71 -17
  292. package/examples/latest/shape-editor-schema-edited.json +69 -23
  293. package/examples/latest/shape-editor-schema-initial.json +28 -10
  294. package/examples/latest/shapedb-crud-every-prop-type.json +22 -8
  295. package/examples/latest/shopify-lookbook.json +19 -5
  296. package/examples/latest/shopify-product-2022-07.json +3217 -726
  297. package/examples/latest/shopify-product-2023-04.json +4496 -1012
  298. package/examples/latest/shopify-store-with-widget.json +942 -213
  299. package/examples/latest/stripe-product-runtime-schema.json +277 -81
  300. package/examples/latest/stripe-starter-resolved.json +1953 -476
  301. package/examples/latest/user-schema-no-required.json +13 -3
  302. package/examples/latest/user-schema-with-defaults.json +27 -5
  303. package/examples/latest/valvoline-ai-demo.json +69 -17
  304. package/examples/latest/vector-search-schema.json +24 -8
  305. package/package.json +23 -24
  306. package/dist/cjs/package.json +0 -1
  307. package/dist/cjs/src/agents.js +0 -147
  308. package/dist/cjs/src/api-version.js +0 -24
  309. package/dist/cjs/src/auth-schemas.js +0 -8
  310. package/dist/cjs/src/builtin-schema.js +0 -616
  311. package/dist/cjs/src/constants.js +0 -4
  312. package/dist/cjs/src/content-schema-transform.js +0 -175
  313. package/dist/cjs/src/create-input-schema.js +0 -66
  314. package/dist/cjs/src/enum.js +0 -12
  315. package/dist/cjs/src/flatten-templates.js +0 -26
  316. package/dist/cjs/src/get-is-leaf.js +0 -59
  317. package/dist/cjs/src/index.js +0 -62
  318. package/dist/cjs/src/interfaces.js +0 -98
  319. package/dist/cjs/src/layers/layers.js +0 -313
  320. package/dist/cjs/src/layers/refs.js +0 -243
  321. package/dist/cjs/src/layers/type-utils.js +0 -145
  322. package/dist/cjs/src/layers/visitor.js +0 -42
  323. package/dist/cjs/src/migration/index.js +0 -142
  324. package/dist/cjs/src/migration/to/v3.0.0.js +0 -217
  325. package/dist/cjs/src/migration/to/v3.1.0.js +0 -199
  326. package/dist/cjs/src/migration/to/v3.10.0.js +0 -72
  327. package/dist/cjs/src/migration/to/v3.11.0.js +0 -90
  328. package/dist/cjs/src/migration/to/v3.12.0.js +0 -12
  329. package/dist/cjs/src/migration/to/v3.12.1.js +0 -12
  330. package/dist/cjs/src/migration/to/v3.12.2.js +0 -12
  331. package/dist/cjs/src/migration/to/v3.12.3.js +0 -92
  332. package/dist/cjs/src/migration/to/v3.13.0.js +0 -22
  333. package/dist/cjs/src/migration/to/v3.14.0.js +0 -12
  334. package/dist/cjs/src/migration/to/v3.15.0.js +0 -12
  335. package/dist/cjs/src/migration/to/v3.16.0.js +0 -12
  336. package/dist/cjs/src/migration/to/v3.17.0.js +0 -27
  337. package/dist/cjs/src/migration/to/v3.17.1.js +0 -12
  338. package/dist/cjs/src/migration/to/v3.18.0.js +0 -69
  339. package/dist/cjs/src/migration/to/v3.18.1.js +0 -20
  340. package/dist/cjs/src/migration/to/v3.18.2.js +0 -24
  341. package/dist/cjs/src/migration/to/v3.19.0.js +0 -12
  342. package/dist/cjs/src/migration/to/v3.2.0.js +0 -12
  343. package/dist/cjs/src/migration/to/v3.20.0.js +0 -29
  344. package/dist/cjs/src/migration/to/v3.21.0.js +0 -12
  345. package/dist/cjs/src/migration/to/v3.22.0.js +0 -30
  346. package/dist/cjs/src/migration/to/v3.23.0.js +0 -12
  347. package/dist/cjs/src/migration/to/v3.24.0.js +0 -13
  348. package/dist/cjs/src/migration/to/v3.25.0.js +0 -13
  349. package/dist/cjs/src/migration/to/v3.26.0.js +0 -12
  350. package/dist/cjs/src/migration/to/v3.27.0.js +0 -12
  351. package/dist/cjs/src/migration/to/v3.28.0.js +0 -12
  352. package/dist/cjs/src/migration/to/v3.29.0.js +0 -12
  353. package/dist/cjs/src/migration/to/v3.3.0.js +0 -15
  354. package/dist/cjs/src/migration/to/v3.30.0.js +0 -12
  355. package/dist/cjs/src/migration/to/v3.31.0.js +0 -43
  356. package/dist/cjs/src/migration/to/v3.32.0.js +0 -61
  357. package/dist/cjs/src/migration/to/v3.33.0.js +0 -12
  358. package/dist/cjs/src/migration/to/v3.34.0.js +0 -123
  359. package/dist/cjs/src/migration/to/v3.35.0.js +0 -12
  360. package/dist/cjs/src/migration/to/v3.36.0.js +0 -27
  361. package/dist/cjs/src/migration/to/v3.37.0.js +0 -12
  362. package/dist/cjs/src/migration/to/v3.38.0.js +0 -12
  363. package/dist/cjs/src/migration/to/v3.39.0.js +0 -47
  364. package/dist/cjs/src/migration/to/v3.4.0.js +0 -12
  365. package/dist/cjs/src/migration/to/v3.40.0.js +0 -31
  366. package/dist/cjs/src/migration/to/v3.41.0.js +0 -12
  367. package/dist/cjs/src/migration/to/v3.42.0.js +0 -12
  368. package/dist/cjs/src/migration/to/v3.43.0.js +0 -12
  369. package/dist/cjs/src/migration/to/v3.44.0.js +0 -12
  370. package/dist/cjs/src/migration/to/v3.45.0.js +0 -12
  371. package/dist/cjs/src/migration/to/v3.46.0.js +0 -37
  372. package/dist/cjs/src/migration/to/v3.47.0.js +0 -12
  373. package/dist/cjs/src/migration/to/v3.48.0.js +0 -12
  374. package/dist/cjs/src/migration/to/v3.49.0.js +0 -12
  375. package/dist/cjs/src/migration/to/v3.5.0.js +0 -12
  376. package/dist/cjs/src/migration/to/v3.5.1.js +0 -12
  377. package/dist/cjs/src/migration/to/v3.50.0.js +0 -12
  378. package/dist/cjs/src/migration/to/v3.51.0.js +0 -12
  379. package/dist/cjs/src/migration/to/v3.6.0.js +0 -12
  380. package/dist/cjs/src/migration/to/v3.7.0.js +0 -12
  381. package/dist/cjs/src/migration/to/v3.8.0.js +0 -12
  382. package/dist/cjs/src/migration/to/v3.9.0.js +0 -84
  383. package/dist/cjs/src/migration/types.js +0 -2
  384. package/dist/cjs/src/migration/utils.js +0 -10
  385. package/dist/cjs/src/mocks.js +0 -65
  386. package/dist/cjs/src/models/project-schema.js +0 -99
  387. package/dist/cjs/src/models/query.js +0 -35
  388. package/dist/cjs/src/models/service.js +0 -24
  389. package/dist/cjs/src/models/shape.js +0 -89
  390. package/dist/cjs/src/patterns.js +0 -2
  391. package/dist/cjs/src/project-schema/index.js +0 -156
  392. package/dist/cjs/src/project-schema/latest.js +0 -8
  393. package/dist/cjs/src/project-schema/migrate.js +0 -198
  394. package/dist/cjs/src/project-schema/v1.0.0.js +0 -8
  395. package/dist/cjs/src/project-schema/v3.0.0.js +0 -8
  396. package/dist/cjs/src/project-schema/v3.1.0.js +0 -8
  397. package/dist/cjs/src/project-schema/v3.10.0.js +0 -8
  398. package/dist/cjs/src/project-schema/v3.11.0.js +0 -8
  399. package/dist/cjs/src/project-schema/v3.12.0.js +0 -8
  400. package/dist/cjs/src/project-schema/v3.12.1.js +0 -8
  401. package/dist/cjs/src/project-schema/v3.12.2.js +0 -8
  402. package/dist/cjs/src/project-schema/v3.12.3.js +0 -8
  403. package/dist/cjs/src/project-schema/v3.13.0.js +0 -8
  404. package/dist/cjs/src/project-schema/v3.13.1.js +0 -8
  405. package/dist/cjs/src/project-schema/v3.14.0.js +0 -8
  406. package/dist/cjs/src/project-schema/v3.15.0.js +0 -8
  407. package/dist/cjs/src/project-schema/v3.16.0.js +0 -8
  408. package/dist/cjs/src/project-schema/v3.17.0.js +0 -8
  409. package/dist/cjs/src/project-schema/v3.17.1.js +0 -8
  410. package/dist/cjs/src/project-schema/v3.18.0.js +0 -8
  411. package/dist/cjs/src/project-schema/v3.18.1.js +0 -8
  412. package/dist/cjs/src/project-schema/v3.18.2.js +0 -8
  413. package/dist/cjs/src/project-schema/v3.19.0.js +0 -8
  414. package/dist/cjs/src/project-schema/v3.2.0.js +0 -8
  415. package/dist/cjs/src/project-schema/v3.20.0.js +0 -8
  416. package/dist/cjs/src/project-schema/v3.21.0.js +0 -8
  417. package/dist/cjs/src/project-schema/v3.22.0.js +0 -8
  418. package/dist/cjs/src/project-schema/v3.23.0.js +0 -8
  419. package/dist/cjs/src/project-schema/v3.24.0.js +0 -8
  420. package/dist/cjs/src/project-schema/v3.25.0.js +0 -8
  421. package/dist/cjs/src/project-schema/v3.26.0.js +0 -8
  422. package/dist/cjs/src/project-schema/v3.27.0.js +0 -8
  423. package/dist/cjs/src/project-schema/v3.28.0.js +0 -8
  424. package/dist/cjs/src/project-schema/v3.29.0.js +0 -8
  425. package/dist/cjs/src/project-schema/v3.3.0.js +0 -8
  426. package/dist/cjs/src/project-schema/v3.30.0.js +0 -8
  427. package/dist/cjs/src/project-schema/v3.31.0.js +0 -8
  428. package/dist/cjs/src/project-schema/v3.32.0.js +0 -8
  429. package/dist/cjs/src/project-schema/v3.33.0.js +0 -8
  430. package/dist/cjs/src/project-schema/v3.34.0.js +0 -8
  431. package/dist/cjs/src/project-schema/v3.35.0.js +0 -8
  432. package/dist/cjs/src/project-schema/v3.36.0.js +0 -8
  433. package/dist/cjs/src/project-schema/v3.37.0.js +0 -8
  434. package/dist/cjs/src/project-schema/v3.38.0.js +0 -8
  435. package/dist/cjs/src/project-schema/v3.39.0.js +0 -8
  436. package/dist/cjs/src/project-schema/v3.4.0.js +0 -8
  437. package/dist/cjs/src/project-schema/v3.40.0.js +0 -8
  438. package/dist/cjs/src/project-schema/v3.41.0.js +0 -8
  439. package/dist/cjs/src/project-schema/v3.42.0.js +0 -8
  440. package/dist/cjs/src/project-schema/v3.43.0.js +0 -8
  441. package/dist/cjs/src/project-schema/v3.44.0.js +0 -8
  442. package/dist/cjs/src/project-schema/v3.45.0.js +0 -8
  443. package/dist/cjs/src/project-schema/v3.46.0.js +0 -8
  444. package/dist/cjs/src/project-schema/v3.47.0.js +0 -8
  445. package/dist/cjs/src/project-schema/v3.48.0.js +0 -8
  446. package/dist/cjs/src/project-schema/v3.49.0.js +0 -8
  447. package/dist/cjs/src/project-schema/v3.5.0.js +0 -8
  448. package/dist/cjs/src/project-schema/v3.5.1.js +0 -8
  449. package/dist/cjs/src/project-schema/v3.50.0.js +0 -8
  450. package/dist/cjs/src/project-schema/v3.51.0.js +0 -8
  451. package/dist/cjs/src/project-schema/v3.6.0.js +0 -8
  452. package/dist/cjs/src/project-schema/v3.7.0.js +0 -8
  453. package/dist/cjs/src/project-schema/v3.8.0.js +0 -8
  454. package/dist/cjs/src/project-schema/v3.9.0.js +0 -8
  455. package/dist/cjs/src/project-schema/v4.0.0.js +0 -8
  456. package/dist/cjs/src/refs.js +0 -671
  457. package/dist/cjs/src/relationships.js +0 -326
  458. package/dist/cjs/src/runtime-schema.js +0 -88
  459. package/dist/cjs/src/scalars.js +0 -8
  460. package/dist/cjs/src/schema-transform.js +0 -83
  461. package/dist/cjs/src/schema-util.js +0 -1140
  462. package/dist/cjs/src/schemas/auth-schemas.json +0 -313
  463. package/dist/cjs/src/schemas/index.js +0 -162
  464. package/dist/cjs/src/schemas/user-schema.json +0 -51
  465. package/dist/cjs/src/service-dependencies.js +0 -172
  466. package/dist/cjs/src/services/services.js +0 -156
  467. package/dist/cjs/src/services/types.js +0 -2
  468. package/dist/cjs/src/services/util.js +0 -45
  469. package/dist/cjs/src/taxonomies.js +0 -28
  470. package/dist/cjs/src/template-shapes/index.js +0 -37
  471. package/dist/cjs/src/template-shapes/names.js +0 -26
  472. package/dist/cjs/src/template-shapes/templates.js +0 -331
  473. package/dist/cjs/src/template-shapes/types.js +0 -10
  474. package/dist/cjs/src/template-shapes/where.js +0 -414
  475. package/dist/cjs/src/types/index.js +0 -19
  476. package/dist/cjs/src/types/transforms.js +0 -2
  477. package/dist/cjs/src/types/types.js +0 -21
  478. package/dist/cjs/src/types/utils.js +0 -344
  479. package/dist/cjs/src/unions.js +0 -88
  480. package/dist/cjs/src/user-schema.js +0 -8
  481. package/dist/cjs/src/util/ai-tools.js +0 -10
  482. package/dist/cjs/src/util/api-indexing.js +0 -62
  483. package/dist/cjs/src/util/detect-cycles.js +0 -48
  484. package/dist/cjs/src/util/find-shape-at-path.js +0 -57
  485. package/dist/cjs/src/util/form-config.js +0 -66
  486. package/dist/cjs/src/util/get-conflicting-properties.js +0 -58
  487. package/dist/cjs/src/util/get-return-shape.js +0 -34
  488. package/dist/cjs/src/util/has-arg.js +0 -17
  489. package/dist/cjs/src/util/merge.js +0 -269
  490. package/dist/cjs/src/util/patch-schema.js +0 -55
  491. package/dist/cjs/src/util/shapes.js +0 -31
  492. package/dist/cjs/src/validate.js +0 -1140
  493. package/dist/cjs/src/versions.js +0 -8
  494. package/dist/cjs/src/workflows.js +0 -76
  495. package/dist/cjs/tsconfig.cjs.tsbuildinfo +0 -1
  496. package/dist/esm/package.json +0 -1
  497. package/dist/esm/src/content-schema-transform.js +0 -162
  498. package/dist/esm/src/flatten-templates.js +0 -20
  499. package/dist/esm/src/get-is-leaf.js +0 -56
  500. package/dist/esm/src/index.js +0 -46
  501. package/dist/esm/src/interfaces.js +0 -85
  502. package/dist/esm/src/layers/layers.js +0 -301
  503. package/dist/esm/src/layers/refs.js +0 -220
  504. package/dist/esm/src/layers/type-utils.js +0 -118
  505. package/dist/esm/src/layers/visitor.js +0 -38
  506. package/dist/esm/src/migration/index.js +0 -122
  507. package/dist/esm/src/migration/to/v3.0.0.js +0 -212
  508. package/dist/esm/src/migration/to/v3.1.0.js +0 -194
  509. package/dist/esm/src/migration/to/v3.32.0.js +0 -59
  510. package/dist/esm/src/migration/to/v3.34.0.js +0 -116
  511. package/dist/esm/src/migration/to/v3.39.0.js +0 -45
  512. package/dist/esm/src/mocks.js +0 -58
  513. package/dist/esm/src/models/project-schema.js +0 -92
  514. package/dist/esm/src/models/shape.js +0 -85
  515. package/dist/esm/src/project-schema/index.js +0 -138
  516. package/dist/esm/src/project-schema/migrate.js +0 -194
  517. package/dist/esm/src/refs.js +0 -608
  518. package/dist/esm/src/relationships.js +0 -311
  519. package/dist/esm/src/runtime-schema.js +0 -80
  520. package/dist/esm/src/schema-transform.js +0 -74
  521. package/dist/esm/src/schema-util.js +0 -1077
  522. package/dist/esm/src/schemas/auth-schemas.json +0 -313
  523. package/dist/esm/src/schemas/index.js +0 -154
  524. package/dist/esm/src/schemas/project-schema/experimental.json +0 -1101
  525. package/dist/esm/src/schemas/project-schema/latest.json +0 -3320
  526. package/dist/esm/src/schemas/project-schema/meta-schema-v1.0.0.json +0 -193
  527. package/dist/esm/src/schemas/project-schema/meta-schema-v3.0.0.json +0 -608
  528. package/dist/esm/src/schemas/project-schema/meta-schema-v3.1.0.json +0 -608
  529. package/dist/esm/src/schemas/project-schema/meta-schema-v3.2.0.json +0 -612
  530. package/dist/esm/src/schemas/project-schema/meta-schema-v3.3.0.json +0 -612
  531. package/dist/esm/src/schemas/project-schema/meta-schema-v3.4.0.json +0 -637
  532. package/dist/esm/src/schemas/project-schema/meta-schema-v3.5.0.json +0 -626
  533. package/dist/esm/src/schemas/project-schema/meta-schema-v3.5.1.json +0 -626
  534. package/dist/esm/src/schemas/project-schema/meta-schema-v3.6.0.json +0 -629
  535. package/dist/esm/src/schemas/project-schema/meta-schema-v3.7.0.json +0 -1137
  536. package/dist/esm/src/schemas/project-schema/meta-schema-v3.8.0.json +0 -1137
  537. package/dist/esm/src/schemas/project-schema/meta-schema-v3.9.0.json +0 -1477
  538. package/dist/esm/src/schemas/project-schema/v1.0.0.json +0 -321
  539. package/dist/esm/src/schemas/project-schema/v3.0.0.json +0 -414
  540. package/dist/esm/src/schemas/project-schema/v3.1.0.json +0 -572
  541. package/dist/esm/src/schemas/project-schema/v3.10.0.json +0 -2097
  542. package/dist/esm/src/schemas/project-schema/v3.11.0.json +0 -2141
  543. package/dist/esm/src/schemas/project-schema/v3.12.0.json +0 -2144
  544. package/dist/esm/src/schemas/project-schema/v3.12.1.json +0 -2282
  545. package/dist/esm/src/schemas/project-schema/v3.12.2.json +0 -2304
  546. package/dist/esm/src/schemas/project-schema/v3.12.3.json +0 -2357
  547. package/dist/esm/src/schemas/project-schema/v3.13.0.json +0 -2377
  548. package/dist/esm/src/schemas/project-schema/v3.14.0.json +0 -2385
  549. package/dist/esm/src/schemas/project-schema/v3.15.0.json +0 -2365
  550. package/dist/esm/src/schemas/project-schema/v3.16.0.json +0 -2373
  551. package/dist/esm/src/schemas/project-schema/v3.17.0.json +0 -2378
  552. package/dist/esm/src/schemas/project-schema/v3.17.1.json +0 -2380
  553. package/dist/esm/src/schemas/project-schema/v3.18.0.json +0 -2356
  554. package/dist/esm/src/schemas/project-schema/v3.18.1.json +0 -2357
  555. package/dist/esm/src/schemas/project-schema/v3.18.2.json +0 -2357
  556. package/dist/esm/src/schemas/project-schema/v3.19.0.json +0 -2369
  557. package/dist/esm/src/schemas/project-schema/v3.2.0.json +0 -580
  558. package/dist/esm/src/schemas/project-schema/v3.20.0.json +0 -2369
  559. package/dist/esm/src/schemas/project-schema/v3.21.0.json +0 -2376
  560. package/dist/esm/src/schemas/project-schema/v3.22.0.json +0 -2381
  561. package/dist/esm/src/schemas/project-schema/v3.23.0.json +0 -2456
  562. package/dist/esm/src/schemas/project-schema/v3.24.0.json +0 -2556
  563. package/dist/esm/src/schemas/project-schema/v3.25.0.json +0 -2552
  564. package/dist/esm/src/schemas/project-schema/v3.26.0.json +0 -2599
  565. package/dist/esm/src/schemas/project-schema/v3.27.0.json +0 -2611
  566. package/dist/esm/src/schemas/project-schema/v3.28.0.json +0 -2656
  567. package/dist/esm/src/schemas/project-schema/v3.29.0.json +0 -2670
  568. package/dist/esm/src/schemas/project-schema/v3.3.0.json +0 -581
  569. package/dist/esm/src/schemas/project-schema/v3.30.0.json +0 -2656
  570. package/dist/esm/src/schemas/project-schema/v3.31.0.json +0 -2714
  571. package/dist/esm/src/schemas/project-schema/v3.32.0.json +0 -2708
  572. package/dist/esm/src/schemas/project-schema/v3.33.0.json +0 -2715
  573. package/dist/esm/src/schemas/project-schema/v3.34.0.json +0 -2715
  574. package/dist/esm/src/schemas/project-schema/v3.35.0.json +0 -2748
  575. package/dist/esm/src/schemas/project-schema/v3.36.0.json +0 -2756
  576. package/dist/esm/src/schemas/project-schema/v3.37.0.json +0 -2821
  577. package/dist/esm/src/schemas/project-schema/v3.38.0.json +0 -2819
  578. package/dist/esm/src/schemas/project-schema/v3.39.0.json +0 -2827
  579. package/dist/esm/src/schemas/project-schema/v3.4.0.json +0 -571
  580. package/dist/esm/src/schemas/project-schema/v3.40.0.json +0 -2830
  581. package/dist/esm/src/schemas/project-schema/v3.41.0.json +0 -2830
  582. package/dist/esm/src/schemas/project-schema/v3.42.0.json +0 -2835
  583. package/dist/esm/src/schemas/project-schema/v3.43.0.json +0 -2841
  584. package/dist/esm/src/schemas/project-schema/v3.44.0.json +0 -3013
  585. package/dist/esm/src/schemas/project-schema/v3.45.0.json +0 -3064
  586. package/dist/esm/src/schemas/project-schema/v3.46.0.json +0 -3136
  587. package/dist/esm/src/schemas/project-schema/v3.47.0.json +0 -3189
  588. package/dist/esm/src/schemas/project-schema/v3.48.0.json +0 -3196
  589. package/dist/esm/src/schemas/project-schema/v3.49.0.json +0 -3239
  590. package/dist/esm/src/schemas/project-schema/v3.5.0.json +0 -571
  591. package/dist/esm/src/schemas/project-schema/v3.5.1.json +0 -571
  592. package/dist/esm/src/schemas/project-schema/v3.50.0.json +0 -3320
  593. package/dist/esm/src/schemas/project-schema/v3.51.0.json +0 -3320
  594. package/dist/esm/src/schemas/project-schema/v3.6.0.json +0 -587
  595. package/dist/esm/src/schemas/project-schema/v3.7.0.json +0 -587
  596. package/dist/esm/src/schemas/project-schema/v3.8.0.json +0 -604
  597. package/dist/esm/src/schemas/project-schema/v3.9.0.json +0 -604
  598. package/dist/esm/src/schemas/project-schema/v4.0.0.json +0 -2316
  599. package/dist/esm/src/schemas/project-schema.json +0 -190
  600. package/dist/esm/src/schemas/user-schema.json +0 -51
  601. package/dist/esm/src/service-dependencies.js +0 -165
  602. package/dist/esm/src/services/services.js +0 -145
  603. package/dist/esm/src/taxonomies.js +0 -24
  604. package/dist/esm/src/template-shapes/templates.js +0 -319
  605. package/dist/esm/src/template-shapes/where.js +0 -402
  606. package/dist/esm/src/types/index.js +0 -3
  607. package/dist/esm/src/types/utils.js +0 -279
  608. package/dist/esm/src/unions.js +0 -77
  609. package/dist/esm/src/user-schema.js +0 -7
  610. package/dist/esm/src/util/api-indexing.js +0 -57
  611. package/dist/esm/src/util/detect-cycles.js +0 -45
  612. package/dist/esm/src/util/form-config.js +0 -62
  613. package/dist/esm/src/util/get-conflicting-properties.js +0 -55
  614. package/dist/esm/src/util/get-return-shape.js +0 -30
  615. package/dist/esm/src/util/has-arg.js +0 -13
  616. package/dist/esm/src/util/merge.js +0 -256
  617. package/dist/esm/src/validate.js +0 -1126
  618. package/dist/esm/src/versions.js +0 -4
  619. package/dist/esm/src/workflows.js +0 -66
  620. package/dist/esm/tsconfig.esm.tsbuildinfo +0 -1
  621. package/dist/types/src/agents.d.ts +0 -14
  622. package/dist/types/src/auth-schemas.d.ts +0 -104
  623. package/dist/types/src/builtin-schema.d.ts +0 -8
  624. package/dist/types/src/content-schema-transform.d.ts +0 -35
  625. package/dist/types/src/create-input-schema.d.ts +0 -9
  626. package/dist/types/src/enum.d.ts +0 -2
  627. package/dist/types/src/flatten-templates.d.ts +0 -2
  628. package/dist/types/src/get-is-leaf.d.ts +0 -3
  629. package/dist/types/src/index.d.ts +0 -48
  630. package/dist/types/src/interfaces.d.ts +0 -12
  631. package/dist/types/src/layers/layers.d.ts +0 -26
  632. package/dist/types/src/layers/refs.d.ts +0 -102
  633. package/dist/types/src/layers/type-utils.d.ts +0 -59
  634. package/dist/types/src/layers/visitor.d.ts +0 -5
  635. package/dist/types/src/migration/index.d.ts +0 -64
  636. package/dist/types/src/migration/to/v3.0.0.d.ts +0 -4
  637. package/dist/types/src/migration/to/v3.1.0.d.ts +0 -4
  638. package/dist/types/src/migration/to/v3.10.0.d.ts +0 -4
  639. package/dist/types/src/migration/to/v3.11.0.d.ts +0 -4
  640. package/dist/types/src/migration/to/v3.12.0.d.ts +0 -4
  641. package/dist/types/src/migration/to/v3.12.1.d.ts +0 -4
  642. package/dist/types/src/migration/to/v3.12.2.d.ts +0 -4
  643. package/dist/types/src/migration/to/v3.12.3.d.ts +0 -4
  644. package/dist/types/src/migration/to/v3.13.0.d.ts +0 -4
  645. package/dist/types/src/migration/to/v3.14.0.d.ts +0 -4
  646. package/dist/types/src/migration/to/v3.15.0.d.ts +0 -4
  647. package/dist/types/src/migration/to/v3.16.0.d.ts +0 -4
  648. package/dist/types/src/migration/to/v3.17.0.d.ts +0 -4
  649. package/dist/types/src/migration/to/v3.17.1.d.ts +0 -4
  650. package/dist/types/src/migration/to/v3.18.0.d.ts +0 -4
  651. package/dist/types/src/migration/to/v3.18.1.d.ts +0 -4
  652. package/dist/types/src/migration/to/v3.18.2.d.ts +0 -4
  653. package/dist/types/src/migration/to/v3.19.0.d.ts +0 -4
  654. package/dist/types/src/migration/to/v3.2.0.d.ts +0 -4
  655. package/dist/types/src/migration/to/v3.20.0.d.ts +0 -4
  656. package/dist/types/src/migration/to/v3.21.0.d.ts +0 -4
  657. package/dist/types/src/migration/to/v3.22.0.d.ts +0 -4
  658. package/dist/types/src/migration/to/v3.23.0.d.ts +0 -4
  659. package/dist/types/src/migration/to/v3.24.0.d.ts +0 -4
  660. package/dist/types/src/migration/to/v3.25.0.d.ts +0 -4
  661. package/dist/types/src/migration/to/v3.26.0.d.ts +0 -4
  662. package/dist/types/src/migration/to/v3.27.0.d.ts +0 -4
  663. package/dist/types/src/migration/to/v3.28.0.d.ts +0 -4
  664. package/dist/types/src/migration/to/v3.29.0.d.ts +0 -4
  665. package/dist/types/src/migration/to/v3.3.0.d.ts +0 -4
  666. package/dist/types/src/migration/to/v3.30.0.d.ts +0 -4
  667. package/dist/types/src/migration/to/v3.31.0.d.ts +0 -4
  668. package/dist/types/src/migration/to/v3.32.0.d.ts +0 -4
  669. package/dist/types/src/migration/to/v3.33.0.d.ts +0 -4
  670. package/dist/types/src/migration/to/v3.34.0.d.ts +0 -6
  671. package/dist/types/src/migration/to/v3.35.0.d.ts +0 -4
  672. package/dist/types/src/migration/to/v3.36.0.d.ts +0 -4
  673. package/dist/types/src/migration/to/v3.37.0.d.ts +0 -4
  674. package/dist/types/src/migration/to/v3.38.0.d.ts +0 -4
  675. package/dist/types/src/migration/to/v3.39.0.d.ts +0 -4
  676. package/dist/types/src/migration/to/v3.4.0.d.ts +0 -4
  677. package/dist/types/src/migration/to/v3.40.0.d.ts +0 -4
  678. package/dist/types/src/migration/to/v3.41.0.d.ts +0 -4
  679. package/dist/types/src/migration/to/v3.42.0.d.ts +0 -4
  680. package/dist/types/src/migration/to/v3.43.0.d.ts +0 -4
  681. package/dist/types/src/migration/to/v3.44.0.d.ts +0 -4
  682. package/dist/types/src/migration/to/v3.45.0.d.ts +0 -4
  683. package/dist/types/src/migration/to/v3.46.0.d.ts +0 -4
  684. package/dist/types/src/migration/to/v3.47.0.d.ts +0 -4
  685. package/dist/types/src/migration/to/v3.48.0.d.ts +0 -4
  686. package/dist/types/src/migration/to/v3.49.0.d.ts +0 -4
  687. package/dist/types/src/migration/to/v3.5.0.d.ts +0 -4
  688. package/dist/types/src/migration/to/v3.5.1.d.ts +0 -4
  689. package/dist/types/src/migration/to/v3.50.0.d.ts +0 -4
  690. package/dist/types/src/migration/to/v3.51.0.d.ts +0 -4
  691. package/dist/types/src/migration/to/v3.6.0.d.ts +0 -4
  692. package/dist/types/src/migration/to/v3.7.0.d.ts +0 -4
  693. package/dist/types/src/migration/to/v3.8.0.d.ts +0 -4
  694. package/dist/types/src/migration/to/v3.9.0.d.ts +0 -4
  695. package/dist/types/src/migration/types.d.ts +0 -19
  696. package/dist/types/src/mocks.d.ts +0 -13
  697. package/dist/types/src/models/project-schema.d.ts +0 -35
  698. package/dist/types/src/models/query.d.ts +0 -17
  699. package/dist/types/src/models/service.d.ts +0 -12
  700. package/dist/types/src/models/shape.d.ts +0 -41
  701. package/dist/types/src/project-schema/index.d.ts +0 -187
  702. package/dist/types/src/project-schema/migrate.d.ts +0 -4
  703. package/dist/types/src/refs.d.ts +0 -226
  704. package/dist/types/src/relationships.d.ts +0 -40
  705. package/dist/types/src/runtime-schema.d.ts +0 -5
  706. package/dist/types/src/schema-transform.d.ts +0 -19
  707. package/dist/types/src/schema-util.d.ts +0 -210
  708. package/dist/types/src/service-dependencies.d.ts +0 -13
  709. package/dist/types/src/services/services.d.ts +0 -31
  710. package/dist/types/src/services/util.d.ts +0 -16
  711. package/dist/types/src/taxonomies.d.ts +0 -15
  712. package/dist/types/src/template-shapes/index.d.ts +0 -7
  713. package/dist/types/src/template-shapes/names.d.ts +0 -10
  714. package/dist/types/src/template-shapes/templates.d.ts +0 -32
  715. package/dist/types/src/template-shapes/types.d.ts +0 -15
  716. package/dist/types/src/template-shapes/where.d.ts +0 -37
  717. package/dist/types/src/types/index.d.ts +0 -3
  718. package/dist/types/src/types/transforms.d.ts +0 -13
  719. package/dist/types/src/types/types.d.ts +0 -211
  720. package/dist/types/src/types/utils.d.ts +0 -117
  721. package/dist/types/src/unions.d.ts +0 -14
  722. package/dist/types/src/user-schema.d.ts +0 -38
  723. package/dist/types/src/util/ai-tools.d.ts +0 -3
  724. package/dist/types/src/util/api-indexing.d.ts +0 -9
  725. package/dist/types/src/util/detect-cycles.d.ts +0 -7
  726. package/dist/types/src/util/find-shape-at-path.d.ts +0 -21
  727. package/dist/types/src/util/form-config.d.ts +0 -11
  728. package/dist/types/src/util/get-conflicting-properties.d.ts +0 -6
  729. package/dist/types/src/util/get-return-shape.d.ts +0 -4
  730. package/dist/types/src/util/has-arg.d.ts +0 -4
  731. package/dist/types/src/util/merge.d.ts +0 -15
  732. package/dist/types/src/util/patch-schema.d.ts +0 -8
  733. package/dist/types/src/util/shapes.d.ts +0 -5
  734. package/dist/types/src/validate.d.ts +0 -75
  735. package/dist/types/src/versions.d.ts +0 -4
  736. package/dist/types/src/workflows.d.ts +0 -14
  737. package/dist/types/tsconfig.types.tsbuildinfo +0 -1
  738. /package/dist/{esm/src/migration/types.js → __tests__/_examples.test.d.ts} +0 -0
  739. /package/dist/{esm/src/patterns.js → __tests__/agents.test.d.ts} +0 -0
  740. /package/dist/{esm/src/services/types.js → __tests__/api-version.test.d.ts} +0 -0
  741. /package/dist/{esm/src/types/transforms.js → __tests__/builtin-schema.test.d.ts} +0 -0
  742. /package/dist/{esm/src/agents.js → agents.js} +0 -0
  743. /package/dist/{types/src/api-version.d.ts → api-version.d.ts} +0 -0
  744. /package/dist/{esm/src/api-version.js → api-version.js} +0 -0
  745. /package/dist/{esm/src/auth-schemas.js → auth-schemas.js} +0 -0
  746. /package/dist/{esm/src/builtin-schema.js → builtin-schema.js} +0 -0
  747. /package/dist/{types/src/constants.d.ts → constants.d.ts} +0 -0
  748. /package/dist/{esm/src/constants.js → constants.js} +0 -0
  749. /package/dist/{esm/src/create-input-schema.js → create-input-schema.js} +0 -0
  750. /package/dist/{esm/src/enum.js → enum.js} +0 -0
  751. /package/dist/{esm/src/migration → migration}/to/v3.10.0.js +0 -0
  752. /package/dist/{esm/src/migration → migration}/to/v3.11.0.js +0 -0
  753. /package/dist/{esm/src/migration → migration}/to/v3.12.0.js +0 -0
  754. /package/dist/{esm/src/migration → migration}/to/v3.12.1.js +0 -0
  755. /package/dist/{esm/src/migration → migration}/to/v3.12.2.js +0 -0
  756. /package/dist/{esm/src/migration → migration}/to/v3.12.3.js +0 -0
  757. /package/dist/{esm/src/migration → migration}/to/v3.13.0.js +0 -0
  758. /package/dist/{esm/src/migration → migration}/to/v3.14.0.js +0 -0
  759. /package/dist/{esm/src/migration → migration}/to/v3.15.0.js +0 -0
  760. /package/dist/{esm/src/migration → migration}/to/v3.16.0.js +0 -0
  761. /package/dist/{esm/src/migration → migration}/to/v3.17.0.js +0 -0
  762. /package/dist/{esm/src/migration → migration}/to/v3.17.1.js +0 -0
  763. /package/dist/{esm/src/migration → migration}/to/v3.18.0.js +0 -0
  764. /package/dist/{esm/src/migration → migration}/to/v3.18.1.js +0 -0
  765. /package/dist/{esm/src/migration → migration}/to/v3.18.2.js +0 -0
  766. /package/dist/{esm/src/migration → migration}/to/v3.19.0.js +0 -0
  767. /package/dist/{esm/src/migration → migration}/to/v3.2.0.js +0 -0
  768. /package/dist/{esm/src/migration → migration}/to/v3.20.0.js +0 -0
  769. /package/dist/{esm/src/migration → migration}/to/v3.21.0.js +0 -0
  770. /package/dist/{esm/src/migration → migration}/to/v3.22.0.js +0 -0
  771. /package/dist/{esm/src/migration → migration}/to/v3.23.0.js +0 -0
  772. /package/dist/{esm/src/migration → migration}/to/v3.24.0.js +0 -0
  773. /package/dist/{esm/src/migration → migration}/to/v3.25.0.js +0 -0
  774. /package/dist/{esm/src/migration → migration}/to/v3.26.0.js +0 -0
  775. /package/dist/{esm/src/migration → migration}/to/v3.27.0.js +0 -0
  776. /package/dist/{esm/src/migration → migration}/to/v3.28.0.js +0 -0
  777. /package/dist/{esm/src/migration → migration}/to/v3.29.0.js +0 -0
  778. /package/dist/{esm/src/migration → migration}/to/v3.3.0.js +0 -0
  779. /package/dist/{esm/src/migration → migration}/to/v3.30.0.js +0 -0
  780. /package/dist/{esm/src/migration → migration}/to/v3.31.0.js +0 -0
  781. /package/dist/{esm/src/migration → migration}/to/v3.33.0.js +0 -0
  782. /package/dist/{esm/src/migration → migration}/to/v3.35.0.js +0 -0
  783. /package/dist/{esm/src/migration → migration}/to/v3.36.0.js +0 -0
  784. /package/dist/{esm/src/migration → migration}/to/v3.37.0.js +0 -0
  785. /package/dist/{esm/src/migration → migration}/to/v3.38.0.js +0 -0
  786. /package/dist/{esm/src/migration → migration}/to/v3.4.0.js +0 -0
  787. /package/dist/{esm/src/migration → migration}/to/v3.40.0.js +0 -0
  788. /package/dist/{esm/src/migration → migration}/to/v3.41.0.js +0 -0
  789. /package/dist/{esm/src/migration → migration}/to/v3.42.0.js +0 -0
  790. /package/dist/{esm/src/migration → migration}/to/v3.43.0.js +0 -0
  791. /package/dist/{esm/src/migration → migration}/to/v3.44.0.js +0 -0
  792. /package/dist/{esm/src/migration → migration}/to/v3.45.0.js +0 -0
  793. /package/dist/{esm/src/migration → migration}/to/v3.46.0.js +0 -0
  794. /package/dist/{esm/src/migration → migration}/to/v3.47.0.js +0 -0
  795. /package/dist/{esm/src/migration → migration}/to/v3.48.0.js +0 -0
  796. /package/dist/{esm/src/migration → migration}/to/v3.49.0.js +0 -0
  797. /package/dist/{esm/src/migration → migration}/to/v3.5.0.js +0 -0
  798. /package/dist/{esm/src/migration → migration}/to/v3.5.1.js +0 -0
  799. /package/dist/{esm/src/migration → migration}/to/v3.50.0.js +0 -0
  800. /package/dist/{esm/src/migration → migration}/to/v3.51.0.js +0 -0
  801. /package/dist/{esm/src/migration → migration}/to/v3.6.0.js +0 -0
  802. /package/dist/{esm/src/migration → migration}/to/v3.7.0.js +0 -0
  803. /package/dist/{esm/src/migration → migration}/to/v3.8.0.js +0 -0
  804. /package/dist/{esm/src/migration → migration}/to/v3.9.0.js +0 -0
  805. /package/dist/{types/src/migration → migration}/utils.d.ts +0 -0
  806. /package/dist/{esm/src/migration → migration}/utils.js +0 -0
  807. /package/dist/{esm/src/models → models}/query.js +0 -0
  808. /package/dist/{esm/src/models → models}/service.js +0 -0
  809. /package/dist/{types/src/patterns.d.ts → patterns.d.ts} +0 -0
  810. /package/dist/{types/src/project-schema → project-schema}/latest.d.ts +0 -0
  811. /package/dist/{esm/src/project-schema → project-schema}/latest.js +0 -0
  812. /package/dist/{types/src/project-schema → project-schema}/v1.0.0.d.ts +0 -0
  813. /package/dist/{esm/src/project-schema → project-schema}/v1.0.0.js +0 -0
  814. /package/dist/{types/src/project-schema → project-schema}/v3.0.0.d.ts +0 -0
  815. /package/dist/{esm/src/project-schema → project-schema}/v3.0.0.js +0 -0
  816. /package/dist/{types/src/project-schema → project-schema}/v3.1.0.d.ts +0 -0
  817. /package/dist/{esm/src/project-schema → project-schema}/v3.1.0.js +0 -0
  818. /package/dist/{types/src/project-schema → project-schema}/v3.10.0.d.ts +0 -0
  819. /package/dist/{esm/src/project-schema → project-schema}/v3.10.0.js +0 -0
  820. /package/dist/{types/src/project-schema → project-schema}/v3.11.0.d.ts +0 -0
  821. /package/dist/{esm/src/project-schema → project-schema}/v3.11.0.js +0 -0
  822. /package/dist/{types/src/project-schema → project-schema}/v3.12.0.d.ts +0 -0
  823. /package/dist/{esm/src/project-schema → project-schema}/v3.12.0.js +0 -0
  824. /package/dist/{types/src/project-schema → project-schema}/v3.12.1.d.ts +0 -0
  825. /package/dist/{esm/src/project-schema → project-schema}/v3.12.1.js +0 -0
  826. /package/dist/{types/src/project-schema → project-schema}/v3.12.2.d.ts +0 -0
  827. /package/dist/{esm/src/project-schema → project-schema}/v3.12.2.js +0 -0
  828. /package/dist/{types/src/project-schema → project-schema}/v3.12.3.d.ts +0 -0
  829. /package/dist/{esm/src/project-schema → project-schema}/v3.12.3.js +0 -0
  830. /package/dist/{types/src/project-schema → project-schema}/v3.13.0.d.ts +0 -0
  831. /package/dist/{esm/src/project-schema → project-schema}/v3.13.0.js +0 -0
  832. /package/dist/{types/src/project-schema → project-schema}/v3.13.1.d.ts +0 -0
  833. /package/dist/{esm/src/project-schema → project-schema}/v3.13.1.js +0 -0
  834. /package/dist/{types/src/project-schema → project-schema}/v3.14.0.d.ts +0 -0
  835. /package/dist/{esm/src/project-schema → project-schema}/v3.14.0.js +0 -0
  836. /package/dist/{types/src/project-schema → project-schema}/v3.15.0.d.ts +0 -0
  837. /package/dist/{esm/src/project-schema → project-schema}/v3.15.0.js +0 -0
  838. /package/dist/{types/src/project-schema → project-schema}/v3.16.0.d.ts +0 -0
  839. /package/dist/{esm/src/project-schema → project-schema}/v3.16.0.js +0 -0
  840. /package/dist/{types/src/project-schema → project-schema}/v3.17.0.d.ts +0 -0
  841. /package/dist/{esm/src/project-schema → project-schema}/v3.17.0.js +0 -0
  842. /package/dist/{types/src/project-schema → project-schema}/v3.17.1.d.ts +0 -0
  843. /package/dist/{esm/src/project-schema → project-schema}/v3.17.1.js +0 -0
  844. /package/dist/{types/src/project-schema → project-schema}/v3.18.0.d.ts +0 -0
  845. /package/dist/{esm/src/project-schema → project-schema}/v3.18.0.js +0 -0
  846. /package/dist/{types/src/project-schema → project-schema}/v3.18.1.d.ts +0 -0
  847. /package/dist/{esm/src/project-schema → project-schema}/v3.18.1.js +0 -0
  848. /package/dist/{types/src/project-schema → project-schema}/v3.18.2.d.ts +0 -0
  849. /package/dist/{esm/src/project-schema → project-schema}/v3.18.2.js +0 -0
  850. /package/dist/{types/src/project-schema → project-schema}/v3.19.0.d.ts +0 -0
  851. /package/dist/{esm/src/project-schema → project-schema}/v3.19.0.js +0 -0
  852. /package/dist/{types/src/project-schema → project-schema}/v3.2.0.d.ts +0 -0
  853. /package/dist/{esm/src/project-schema → project-schema}/v3.2.0.js +0 -0
  854. /package/dist/{types/src/project-schema → project-schema}/v3.20.0.d.ts +0 -0
  855. /package/dist/{esm/src/project-schema → project-schema}/v3.20.0.js +0 -0
  856. /package/dist/{types/src/project-schema → project-schema}/v3.21.0.d.ts +0 -0
  857. /package/dist/{esm/src/project-schema → project-schema}/v3.21.0.js +0 -0
  858. /package/dist/{types/src/project-schema → project-schema}/v3.22.0.d.ts +0 -0
  859. /package/dist/{esm/src/project-schema → project-schema}/v3.22.0.js +0 -0
  860. /package/dist/{types/src/project-schema → project-schema}/v3.23.0.d.ts +0 -0
  861. /package/dist/{esm/src/project-schema → project-schema}/v3.23.0.js +0 -0
  862. /package/dist/{types/src/project-schema → project-schema}/v3.24.0.d.ts +0 -0
  863. /package/dist/{esm/src/project-schema → project-schema}/v3.24.0.js +0 -0
  864. /package/dist/{types/src/project-schema → project-schema}/v3.25.0.d.ts +0 -0
  865. /package/dist/{esm/src/project-schema → project-schema}/v3.25.0.js +0 -0
  866. /package/dist/{types/src/project-schema → project-schema}/v3.26.0.d.ts +0 -0
  867. /package/dist/{esm/src/project-schema → project-schema}/v3.26.0.js +0 -0
  868. /package/dist/{types/src/project-schema → project-schema}/v3.27.0.d.ts +0 -0
  869. /package/dist/{esm/src/project-schema → project-schema}/v3.27.0.js +0 -0
  870. /package/dist/{types/src/project-schema → project-schema}/v3.28.0.d.ts +0 -0
  871. /package/dist/{esm/src/project-schema → project-schema}/v3.28.0.js +0 -0
  872. /package/dist/{types/src/project-schema → project-schema}/v3.29.0.d.ts +0 -0
  873. /package/dist/{esm/src/project-schema → project-schema}/v3.29.0.js +0 -0
  874. /package/dist/{types/src/project-schema → project-schema}/v3.3.0.d.ts +0 -0
  875. /package/dist/{esm/src/project-schema → project-schema}/v3.3.0.js +0 -0
  876. /package/dist/{types/src/project-schema → project-schema}/v3.30.0.d.ts +0 -0
  877. /package/dist/{esm/src/project-schema → project-schema}/v3.30.0.js +0 -0
  878. /package/dist/{types/src/project-schema → project-schema}/v3.31.0.d.ts +0 -0
  879. /package/dist/{esm/src/project-schema → project-schema}/v3.31.0.js +0 -0
  880. /package/dist/{types/src/project-schema → project-schema}/v3.32.0.d.ts +0 -0
  881. /package/dist/{esm/src/project-schema → project-schema}/v3.32.0.js +0 -0
  882. /package/dist/{types/src/project-schema → project-schema}/v3.33.0.d.ts +0 -0
  883. /package/dist/{esm/src/project-schema → project-schema}/v3.33.0.js +0 -0
  884. /package/dist/{types/src/project-schema → project-schema}/v3.34.0.d.ts +0 -0
  885. /package/dist/{esm/src/project-schema → project-schema}/v3.34.0.js +0 -0
  886. /package/dist/{types/src/project-schema → project-schema}/v3.35.0.d.ts +0 -0
  887. /package/dist/{esm/src/project-schema → project-schema}/v3.35.0.js +0 -0
  888. /package/dist/{types/src/project-schema → project-schema}/v3.36.0.d.ts +0 -0
  889. /package/dist/{esm/src/project-schema → project-schema}/v3.36.0.js +0 -0
  890. /package/dist/{types/src/project-schema → project-schema}/v3.37.0.d.ts +0 -0
  891. /package/dist/{esm/src/project-schema → project-schema}/v3.37.0.js +0 -0
  892. /package/dist/{types/src/project-schema → project-schema}/v3.38.0.d.ts +0 -0
  893. /package/dist/{esm/src/project-schema → project-schema}/v3.38.0.js +0 -0
  894. /package/dist/{types/src/project-schema → project-schema}/v3.39.0.d.ts +0 -0
  895. /package/dist/{esm/src/project-schema → project-schema}/v3.39.0.js +0 -0
  896. /package/dist/{types/src/project-schema → project-schema}/v3.4.0.d.ts +0 -0
  897. /package/dist/{esm/src/project-schema → project-schema}/v3.4.0.js +0 -0
  898. /package/dist/{types/src/project-schema → project-schema}/v3.40.0.d.ts +0 -0
  899. /package/dist/{esm/src/project-schema → project-schema}/v3.40.0.js +0 -0
  900. /package/dist/{types/src/project-schema → project-schema}/v3.41.0.d.ts +0 -0
  901. /package/dist/{esm/src/project-schema → project-schema}/v3.41.0.js +0 -0
  902. /package/dist/{types/src/project-schema → project-schema}/v3.42.0.d.ts +0 -0
  903. /package/dist/{esm/src/project-schema → project-schema}/v3.42.0.js +0 -0
  904. /package/dist/{types/src/project-schema → project-schema}/v3.43.0.d.ts +0 -0
  905. /package/dist/{esm/src/project-schema → project-schema}/v3.43.0.js +0 -0
  906. /package/dist/{types/src/project-schema → project-schema}/v3.44.0.d.ts +0 -0
  907. /package/dist/{esm/src/project-schema → project-schema}/v3.44.0.js +0 -0
  908. /package/dist/{types/src/project-schema → project-schema}/v3.45.0.d.ts +0 -0
  909. /package/dist/{esm/src/project-schema → project-schema}/v3.45.0.js +0 -0
  910. /package/dist/{types/src/project-schema → project-schema}/v3.46.0.d.ts +0 -0
  911. /package/dist/{esm/src/project-schema → project-schema}/v3.46.0.js +0 -0
  912. /package/dist/{types/src/project-schema → project-schema}/v3.47.0.d.ts +0 -0
  913. /package/dist/{esm/src/project-schema → project-schema}/v3.47.0.js +0 -0
  914. /package/dist/{types/src/project-schema → project-schema}/v3.48.0.d.ts +0 -0
  915. /package/dist/{esm/src/project-schema → project-schema}/v3.48.0.js +0 -0
  916. /package/dist/{types/src/project-schema → project-schema}/v3.49.0.d.ts +0 -0
  917. /package/dist/{esm/src/project-schema → project-schema}/v3.49.0.js +0 -0
  918. /package/dist/{types/src/project-schema → project-schema}/v3.5.0.d.ts +0 -0
  919. /package/dist/{esm/src/project-schema → project-schema}/v3.5.0.js +0 -0
  920. /package/dist/{types/src/project-schema → project-schema}/v3.5.1.d.ts +0 -0
  921. /package/dist/{esm/src/project-schema → project-schema}/v3.5.1.js +0 -0
  922. /package/dist/{types/src/project-schema → project-schema}/v3.50.0.d.ts +0 -0
  923. /package/dist/{esm/src/project-schema → project-schema}/v3.50.0.js +0 -0
  924. /package/dist/{types/src/project-schema → project-schema}/v3.51.0.d.ts +0 -0
  925. /package/dist/{esm/src/project-schema → project-schema}/v3.51.0.js +0 -0
  926. /package/dist/{types/src/project-schema → project-schema}/v3.6.0.d.ts +0 -0
  927. /package/dist/{esm/src/project-schema → project-schema}/v3.6.0.js +0 -0
  928. /package/dist/{types/src/project-schema → project-schema}/v3.7.0.d.ts +0 -0
  929. /package/dist/{esm/src/project-schema → project-schema}/v3.7.0.js +0 -0
  930. /package/dist/{types/src/project-schema → project-schema}/v3.8.0.d.ts +0 -0
  931. /package/dist/{esm/src/project-schema → project-schema}/v3.8.0.js +0 -0
  932. /package/dist/{types/src/project-schema → project-schema}/v3.9.0.d.ts +0 -0
  933. /package/dist/{esm/src/project-schema → project-schema}/v3.9.0.js +0 -0
  934. /package/dist/{types/src/project-schema → project-schema}/v4.0.0.d.ts +0 -0
  935. /package/dist/{esm/src/project-schema → project-schema}/v4.0.0.js +0 -0
  936. /package/dist/{types/src/scalars.d.ts → scalars.d.ts} +0 -0
  937. /package/dist/{esm/src/scalars.js → scalars.js} +0 -0
  938. /package/dist/{types/src/schemas → schemas}/index.d.ts +0 -0
  939. /package/dist/{cjs/src/schemas → schemas}/project-schema/experimental.json +0 -0
  940. /package/dist/{cjs/src/schemas → schemas}/project-schema/latest.json +0 -0
  941. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v1.0.0.json +0 -0
  942. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.0.0.json +0 -0
  943. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.1.0.json +0 -0
  944. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.2.0.json +0 -0
  945. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.3.0.json +0 -0
  946. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.4.0.json +0 -0
  947. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.5.0.json +0 -0
  948. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.5.1.json +0 -0
  949. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.6.0.json +0 -0
  950. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.7.0.json +0 -0
  951. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.8.0.json +0 -0
  952. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.9.0.json +0 -0
  953. /package/dist/{cjs/src/schemas → schemas}/project-schema/v1.0.0.json +0 -0
  954. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.0.0.json +0 -0
  955. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.1.0.json +0 -0
  956. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.10.0.json +0 -0
  957. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.11.0.json +0 -0
  958. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.12.0.json +0 -0
  959. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.12.1.json +0 -0
  960. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.12.2.json +0 -0
  961. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.12.3.json +0 -0
  962. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.13.0.json +0 -0
  963. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.14.0.json +0 -0
  964. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.15.0.json +0 -0
  965. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.16.0.json +0 -0
  966. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.17.0.json +0 -0
  967. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.17.1.json +0 -0
  968. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.18.0.json +0 -0
  969. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.18.1.json +0 -0
  970. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.18.2.json +0 -0
  971. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.19.0.json +0 -0
  972. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.2.0.json +0 -0
  973. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.20.0.json +0 -0
  974. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.21.0.json +0 -0
  975. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.22.0.json +0 -0
  976. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.23.0.json +0 -0
  977. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.24.0.json +0 -0
  978. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.25.0.json +0 -0
  979. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.26.0.json +0 -0
  980. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.27.0.json +0 -0
  981. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.28.0.json +0 -0
  982. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.29.0.json +0 -0
  983. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.3.0.json +0 -0
  984. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.30.0.json +0 -0
  985. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.31.0.json +0 -0
  986. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.32.0.json +0 -0
  987. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.33.0.json +0 -0
  988. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.34.0.json +0 -0
  989. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.35.0.json +0 -0
  990. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.36.0.json +0 -0
  991. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.37.0.json +0 -0
  992. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.38.0.json +0 -0
  993. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.39.0.json +0 -0
  994. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.4.0.json +0 -0
  995. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.40.0.json +0 -0
  996. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.41.0.json +0 -0
  997. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.42.0.json +0 -0
  998. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.43.0.json +0 -0
  999. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.44.0.json +0 -0
  1000. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.45.0.json +0 -0
  1001. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.46.0.json +0 -0
  1002. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.47.0.json +0 -0
  1003. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.48.0.json +0 -0
  1004. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.49.0.json +0 -0
  1005. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.5.0.json +0 -0
  1006. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.5.1.json +0 -0
  1007. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.50.0.json +0 -0
  1008. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.51.0.json +0 -0
  1009. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.6.0.json +0 -0
  1010. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.7.0.json +0 -0
  1011. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.8.0.json +0 -0
  1012. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.9.0.json +0 -0
  1013. /package/dist/{cjs/src/schemas → schemas}/project-schema/v4.0.0.json +0 -0
  1014. /package/dist/{cjs/src/schemas → schemas}/project-schema.json +0 -0
  1015. /package/dist/{types/src/services → services}/types.d.ts +0 -0
  1016. /package/dist/{esm/src/services → services}/util.js +0 -0
  1017. /package/dist/{esm/src/template-shapes → template-shapes}/index.js +0 -0
  1018. /package/dist/{esm/src/template-shapes → template-shapes}/names.js +0 -0
  1019. /package/dist/{esm/src/template-shapes → template-shapes}/types.js +0 -0
  1020. /package/dist/{esm/src/types → types}/types.js +0 -0
  1021. /package/dist/{esm/src/util → util}/ai-tools.js +0 -0
  1022. /package/dist/{esm/src/util → util}/find-shape-at-path.js +0 -0
  1023. /package/dist/{esm/src/util → util}/patch-schema.js +0 -0
  1024. /package/dist/{esm/src/util → util}/shapes.js +0 -0
package/dist/refs.js ADDED
@@ -0,0 +1,608 @@
1
+ import { NotFoundError } from '@takeshape/errors';
2
+ import { isDefined, isIntegerLike, isRecord, visit } from '@takeshape/util';
3
+ import compact from 'lodash/compact.js';
4
+ import assign from 'lodash/fp/assign.js';
5
+ import omit from 'lodash/fp/omit.js';
6
+ import get from 'lodash/get.js';
7
+ import isString from 'lodash/isString.js';
8
+ import { isScalar } from "./scalars.js";
9
+ import { getServiceNamespaces } from "./services/util.js";
10
+ import { getRefType, isAllOfSchema, isExtendsSchema, isObjectSchema, isOneOfSchema, isRefSchema, isRefSchemaLegacy } from "./types/index.js";
11
+ import { getToolRef } from "./util/ai-tools.js";
12
+ import { mergeDeepObjectSchemas, mergeObjectSchemas } from "./util/merge.js";
13
+ /**
14
+ * Guard for RefItemWithPath. Tests for presence of all required props.
15
+ */
16
+ export function isRefItemWithPath(ref) {
17
+ return Boolean(ref.typeName && ref.serviceKey && ref.path && isDefined(ref.isForeign));
18
+ }
19
+ const templateShapeRegex = /^(\w+)<([\w:-]+)>$/;
20
+ /**
21
+ * Parse a template like `PaginatedList<Post>` and return both the template and the shape name.
22
+ */
23
+ export function parseTemplateShape(shapeExpression) {
24
+ const matches = templateShapeRegex.exec(shapeExpression);
25
+ if (matches) {
26
+ return { shapeName: matches[2], template: matches[1] };
27
+ }
28
+ return { shapeName: shapeExpression, template: undefined };
29
+ }
30
+ export function parseReturnShape(projectSchema, shape) {
31
+ if (typeof shape === 'object') {
32
+ if (isRefSchema(shape.items)) {
33
+ const ref = getRef(projectSchema, shape.items);
34
+ if (!ref) {
35
+ throw new Error(`Could not parse ${JSON.stringify(shape.items)}: invalid ref`);
36
+ }
37
+ return {
38
+ isArray: true,
39
+ ref,
40
+ shapeName: refItemToNamespacedShapeName(ref)
41
+ };
42
+ }
43
+ if (typeof shape.items.type !== 'string') {
44
+ throw new Error(`Could not parse ${JSON.stringify(shape.items)}: invalid type`);
45
+ }
46
+ return { isArray: true, shapeName: shape.items.type };
47
+ }
48
+ const ref = refExpressionToRefItem(projectSchema, shape);
49
+ const shapeName = refItemToNamespacedShapeName(ref);
50
+ return { isArray: false, shapeName, ref, template: ref.template };
51
+ }
52
+ /**
53
+ * Convert Query.shape to a PropertySchema
54
+ */
55
+ export function returnShapeToSchema(projectSchema, returnShape) {
56
+ if (typeof returnShape === 'string') {
57
+ if (isScalar(returnShape) || returnShape === 'object') {
58
+ return { type: returnShape };
59
+ }
60
+ return {
61
+ '@ref': refItemToAtRef(refExpressionToRefItem(projectSchema, returnShape))
62
+ };
63
+ }
64
+ return returnShape;
65
+ }
66
+ /**
67
+ * Create a template string like `PaginatedList<Post>` from a template and shape name.
68
+ */
69
+ export function createTemplateShapeName(template, shapeName) {
70
+ return `${template}<${shapeName}>`;
71
+ }
72
+ /**
73
+ * If the string is a template like `PaginatedList<Post>`, return the shape name,
74
+ * in this case `Post`. Otherwise return the input.
75
+ */
76
+ export const untemplate = (input) => {
77
+ return parseTemplateShape(input).shapeName;
78
+ };
79
+ export function getFlattenedTemplateShapeName(shapeName, template) {
80
+ return `${shapeName}${template ?? ''}`;
81
+ }
82
+ function $refToPath(ref) {
83
+ return ref.substr(2).split('/');
84
+ }
85
+ function $refToShapeName(ref) {
86
+ return $refToPath(ref)[1];
87
+ }
88
+ export function $refToAtRef($ref, service, namespace) {
89
+ const shapeName = $refToShapeName($ref);
90
+ if (service === 'local') {
91
+ return `local:${shapeName}`;
92
+ }
93
+ return `${service}:${namespace === undefined ? shapeName : shapeName.replace(`${namespace}_`, '')}`;
94
+ }
95
+ export function refSchemaToPath(context, refSchema) {
96
+ const refItem = getRef(context, refSchema);
97
+ if (refItem === undefined) {
98
+ throw new Error('Invalid ref in refSchemaToPath');
99
+ }
100
+ return refItemToShapePath(refItem);
101
+ }
102
+ /**
103
+ * Safely turn a "template" shape reference (`@args`, `args`, `shape`) into a `RefItem`
104
+ *
105
+ * @param context A partial project schema
106
+ * @param refExpression
107
+ * A ref expression might include "template" name and refer to a local or remote
108
+ * shape, `Foo` or `CreateArgs<Foo>` or `CreateArgs<remote:Foo>`.*
109
+ */
110
+ export function refExpressionToRefItem(context, refExpression) {
111
+ const { shapeName, template } = parseTemplateShape(refExpression);
112
+ if (shapeName.includes(':')) {
113
+ return atRefToRefItem(context, shapeName, template);
114
+ }
115
+ return shapeNameToRefItem(context, shapeName, template);
116
+ }
117
+ /**
118
+ * Converts a list of ref expressions into a list of ref items.
119
+ */
120
+ export function refExpressionListToRefItemList(context, refExpressionList) {
121
+ return refExpressionList.map((ref) => refExpressionToRefItem(context, ref));
122
+ }
123
+ /**
124
+ * Sugar for converting a `refExpression` directly into a shape, without the
125
+ * intermediate `refItem`.
126
+ *
127
+ * @param context A partial project schema
128
+ * @param refExpression
129
+ * A ref expression might include "template" name and refer to a local or remote
130
+ * shape, `Foo` or `CreateArgs<Foo>` or `CreateArgs<remote:Foo>`.
131
+ */
132
+ export function refExpressionToShape(context, refExpression) {
133
+ return refItemToShape(context, refExpressionToRefItem(context, refExpression));
134
+ }
135
+ /**
136
+ * Provided a service name and a referenced type. Supports 2 or 3 part
137
+ * references, e.g., `shopify:my-store:ProductInput` or `my-store:ProductInput`.
138
+ *
139
+ * @returns
140
+ * A 2 member array, where 0 is the service name, 1 is the referenced type.
141
+ */
142
+ export function splitAtRef(atRef) {
143
+ const index = atRef.lastIndexOf(':');
144
+ const serviceKey = index === -1 ? 'local' : atRef.substring(0, index);
145
+ const referencedType = index === -1 ? atRef : atRef.substring(index + 1);
146
+ return [serviceKey, referencedType];
147
+ }
148
+ function isValidServiceId(context, serviceId) {
149
+ return serviceId === 'local' || Boolean(context.services?.[serviceId]);
150
+ }
151
+ /**
152
+ * Parses and returns a typeName, serviceKey, and potentially a namespace for
153
+ * the type.
154
+ */
155
+ export function atRefToRefItem(context, atRef, template) {
156
+ const [serviceKey, typeName] = splitAtRef(atRef);
157
+ // It's possible the service doesn't have a namespace, or is local and has
158
+ // no service config.
159
+ const serviceConfig = context.services?.[serviceKey];
160
+ const serviceNamespace = serviceConfig?.namespace;
161
+ return {
162
+ typeName,
163
+ serviceKey,
164
+ serviceNamespace,
165
+ template,
166
+ isForeign: Boolean(serviceConfig),
167
+ isValidService: isValidServiceId(context, serviceKey)
168
+ };
169
+ }
170
+ export function refToRefItem(context, $ref, template) {
171
+ return shapeNameToRefItem(context, $refToShapeName($ref), template);
172
+ }
173
+ /**
174
+ * Parse a name (query, shape, etc) that might have a namespace and find the corresponding service layer id
175
+ */
176
+ export function parseName(context, name) {
177
+ const shapeNameParts = name.split('_');
178
+ let serviceId;
179
+ let namespace;
180
+ if (shapeNameParts.length > 1) {
181
+ const namespaces = getServiceNamespaces(context);
182
+ const maybeNamespace = shapeNameParts[0];
183
+ serviceId = namespaces.get(maybeNamespace);
184
+ if (serviceId) {
185
+ name = shapeNameParts.slice(1).join('_');
186
+ namespace = maybeNamespace;
187
+ }
188
+ }
189
+ return {
190
+ name,
191
+ serviceId: serviceId ?? 'local',
192
+ namespace
193
+ };
194
+ }
195
+ function shapeNameToRefItem(context, shapeName, template) {
196
+ const parsed = parseName(context, shapeName);
197
+ return {
198
+ typeName: parsed.name,
199
+ serviceKey: parsed.serviceId,
200
+ serviceNamespace: parsed.namespace,
201
+ template,
202
+ isForeign: parsed.serviceId !== 'local',
203
+ isValidService: isValidServiceId(context, parsed.serviceId)
204
+ };
205
+ }
206
+ export function shapeToRefItem(context, shape) {
207
+ return shapeNameToRefItem(context, shape.name);
208
+ }
209
+ export function shapeToRefString(context, shape) {
210
+ return refItemToAtRef(shapeNameToRefItem(context, shape.name));
211
+ }
212
+ /**
213
+ * Given a property schema and project schema, finds a `@ref` or `$ref` and
214
+ * returns a `RefItem` suitable for loading a referenced schema...
215
+ */
216
+ export function getRef(context, refSchema) {
217
+ if (refSchema['@ref']) {
218
+ // @ref: my-service:ShapeName
219
+ const { shapeName, template } = parseTemplateShape(refSchema['@ref']);
220
+ return atRefToRefItem(context, shapeName, template);
221
+ }
222
+ if (refSchema.$ref) {
223
+ // $ref: #/shapes/[ShapeName OR Namespace_TypeName]/schema
224
+ return refToRefItem(context, refSchema.$ref);
225
+ }
226
+ }
227
+ export function getRefWithPath(context, refSchema, schemaPath = [], isInterfaceRef = false) {
228
+ const refItem = getRef(context, refSchema);
229
+ if (refItem) {
230
+ const refType = getRefType(refSchema);
231
+ return {
232
+ ...refItem,
233
+ path: schemaPath.concat([refType]),
234
+ isInterfaceRef
235
+ };
236
+ }
237
+ }
238
+ /**
239
+ * Tests for a `@ref` or `$ref` property directly on the passed schema.
240
+ *
241
+ * @param schema Any schema that might could have a ref property.
242
+ */
243
+ export function hasRefProperty(schema) {
244
+ return Boolean(schema['@ref'] ?? schema.$ref);
245
+ }
246
+ /**
247
+ * From a property that has oneOf or items with oneOf, get all refs
248
+ */
249
+ export function getOneOfRefs(context, propertySchema, schemaPath = []) {
250
+ const oneOf = propertySchema.oneOf ?? propertySchema.items?.oneOf;
251
+ const path = propertySchema.oneOf ? schemaPath : [...schemaPath, 'items'];
252
+ if (oneOf) {
253
+ return compact(oneOf.map((one) => {
254
+ return getRefWithPath(context, one, path);
255
+ }));
256
+ }
257
+ return [];
258
+ }
259
+ /**
260
+ * From a schema with a ref, will return the top-level ref, and potentially
261
+ * a ref item from a nested `items` property.
262
+ */
263
+ export function getRefOrItemsRef(context, refSchema, schemaPath = []) {
264
+ const refItem = getRefWithPath(context, refSchema, schemaPath);
265
+ if (refItem) {
266
+ return refItem;
267
+ }
268
+ if (refSchema.items) {
269
+ return getRefOrItemsRef(context, refSchema.items, schemaPath.concat(['items']));
270
+ }
271
+ }
272
+ /**
273
+ * Turns a `RefItem` into an `@ref`.
274
+ */
275
+ export function refItemToAtRef(refItem) {
276
+ const shapeRef = `${refItem.serviceKey}:${refItem.typeName}`;
277
+ return refItem.template ? createTemplateShapeName(refItem.template, shapeRef) : shapeRef;
278
+ }
279
+ /**
280
+ * Turns a `RefItem` into a standard shape name, namespacing if present.
281
+ */
282
+ export function refItemToNamespacedShapeName(refItem) {
283
+ const { serviceNamespace, typeName } = refItem;
284
+ return serviceNamespace ? `${serviceNamespace}_${typeName}` : typeName;
285
+ }
286
+ /**
287
+ * Turns a `RefItem` into a path suitable for `lodash.get`.
288
+ */
289
+ export function refItemToShapePath(refItem) {
290
+ return ['shapes', refItemToNamespacedShapeName(refItem)];
291
+ }
292
+ /**
293
+ * Get a Shape referenced by a `RefItem`.
294
+ */
295
+ export function refItemToShape(context, refItem) {
296
+ const shapePath = refItemToShapePath(refItem);
297
+ return get(context, shapePath);
298
+ }
299
+ /**
300
+ * Get all shapes referenced by a RefItem array.
301
+ */
302
+ export function refItemListToShapeList(context, refItems) {
303
+ return refItems.map((ref) => refItemToShape(context, ref)).filter(isDefined);
304
+ }
305
+ /**
306
+ * Get a shape referenced by a `RefItem`, also returning the path to the new shape.
307
+ */
308
+ export function refItemToShapeWithPath(context, refItem) {
309
+ const shapePath = refItemToShapePath(refItem);
310
+ const shape = get(context, shapePath);
311
+ return shape ? { shape, path: shapePath } : undefined;
312
+ }
313
+ /**
314
+ * Get a Shape schema referenced by a `RefItem`.
315
+ */
316
+ export function refItemToShapeSchema(context, refItem) {
317
+ const shapePath = refItemToShapePath(refItem);
318
+ return get(context, [...shapePath, 'schema']);
319
+ }
320
+ /**
321
+ * Sugar, for when you really just need a string...
322
+ */
323
+ export function getRefShapeName(context, refSchema) {
324
+ const refItem = getRef(context, refSchema);
325
+ return refItem ? refItemToNamespacedShapeName(refItem) : undefined;
326
+ }
327
+ /**
328
+ * Sugar, for when you really just need a path...
329
+ */
330
+ export function anyRefToShapeSchemaPath(context, refSchema) {
331
+ const refItem = getRef(context, refSchema);
332
+ return refItem ? [...refItemToShapePath(refItem), 'schema'] : undefined;
333
+ }
334
+ /**
335
+ * Helper fn to omit `ref` props from the target schema, and then extend it with the source schema.
336
+ */
337
+ export const omitRefAndExtend = (targetSchema, sourceSchema) => assign(omit(['@ref', '$ref'], targetSchema), sourceSchema);
338
+ /**
339
+ * If there is a $ref, this will insert a property schema from the top level
340
+ * in place of the reference.
341
+ */
342
+ export function followRef(context, schema, ref) {
343
+ const refItem = ref ?? getRef(context, schema);
344
+ if (refItem) {
345
+ const referencedSchema = refItemToShapeSchema(context, refItem);
346
+ if (referencedSchema) {
347
+ return omitRefAndExtend(schema, referencedSchema);
348
+ }
349
+ }
350
+ return schema;
351
+ }
352
+ /**
353
+ * Returns whether a schema has refs.
354
+ */
355
+ export function hasRef(schema) {
356
+ if (isRefSchema(schema) || isRefSchemaLegacy(schema)) {
357
+ return true;
358
+ }
359
+ if (isAllOfSchema(schema)) {
360
+ return Boolean(schema.allOf.find(hasRef));
361
+ }
362
+ if (isOneOfSchema(schema)) {
363
+ return Boolean(schema.oneOf.find(hasRef));
364
+ }
365
+ return false;
366
+ }
367
+ /**
368
+ * Returns whether a schema has refs which can be followed.
369
+ */
370
+ export function hasResolvableRef(context, schema) {
371
+ if (isRefSchema(schema) || isRefSchemaLegacy(schema)) {
372
+ return Boolean(refItemToShapeSchema(context, getRef(context, schema)));
373
+ }
374
+ if (isAllOfSchema(schema)) {
375
+ return Boolean(schema.allOf.find((s) => hasResolvableRef(context, s)));
376
+ }
377
+ if (isOneOfSchema(schema)) {
378
+ return Boolean(schema.oneOf.find((s) => hasResolvableRef(context, s)));
379
+ }
380
+ return false;
381
+ }
382
+ function isSelfReferential(path, shapeName) {
383
+ if (path[0] !== 'shapes' || path[1] !== shapeName) {
384
+ return false;
385
+ }
386
+ const index = path.findIndex((part) => part === 'allOf' || part === 'extends');
387
+ return index !== -1 && isIntegerLike(path[Number(index) + 1]);
388
+ }
389
+ /**
390
+ * Given a schema, will resolve any `allOf` or `ref` objects. This function has
391
+ * to fully resolve all refs, because attempting to extend an object schema with
392
+ * a ref property would create an invalid schema, potentially containing both
393
+ * a ref and properties.
394
+ *
395
+ * If it can't create a valid schema it returns the input.
396
+ */
397
+ export function dereferenceSchema(context, shapeOrFieldSchema, schemaPath = []) {
398
+ const resolveAll = (propertySchema, resolvePath) => {
399
+ try {
400
+ if (isAllOfSchema(propertySchema)) {
401
+ return merge(propertySchema.allOf, 'allOf', resolvePath);
402
+ }
403
+ if (isExtendsSchema(propertySchema)) {
404
+ return merge(propertySchema.extends, 'extends', resolvePath);
405
+ }
406
+ if (isRefSchema(propertySchema)) {
407
+ const refItem = getRefWithPath(context, propertySchema);
408
+ if (!refItem) {
409
+ throw new Error('ref could not be parsed');
410
+ }
411
+ const shapeWithPath = refItemToShapeWithPath(context, refItem);
412
+ if (shapeWithPath && !isSelfReferential(resolvePath, shapeWithPath.shape.name)) {
413
+ /**
414
+ * Pass the new shape's path rather than the parent's path, which
415
+ * will have been truncated to something opaque, like `@ref`.
416
+ */
417
+ return resolveAll(omitRefAndExtend(propertySchema, shapeWithPath.shape.schema), shapeWithPath.path);
418
+ }
419
+ return;
420
+ }
421
+ return propertySchema;
422
+ }
423
+ catch (err) {
424
+ throw new Error(`error at '${resolvePath.join('.')}', ${err.message}`);
425
+ }
426
+ };
427
+ const merge = (schemas, propName, path) => {
428
+ const resolvedSchemas = schemas.map((schema, index) => {
429
+ const resolved = resolveAll(schema, [...path, propName, index]);
430
+ return resolved && isObjectSchema(resolved) ? resolved : undefined;
431
+ });
432
+ return (propName === 'allOf' ? mergeDeepObjectSchemas : mergeObjectSchemas)(...resolvedSchemas);
433
+ };
434
+ return resolveAll(shapeOrFieldSchema, schemaPath) ?? shapeOrFieldSchema;
435
+ }
436
+ export function dereferenceObjectSchema(context, shapeOrFieldSchema, schemaPath = []) {
437
+ const schema = dereferenceSchema(context, shapeOrFieldSchema, schemaPath);
438
+ if (!isObjectSchema(schema)) {
439
+ throw new Error(`provided schema at '${schemaPath.join('.')}' could not be resolved to an object schema`);
440
+ }
441
+ return schema;
442
+ }
443
+ export function createGetNamespace(context) {
444
+ return (serviceId) => context.services?.[serviceId]?.namespace;
445
+ }
446
+ export function parsePropertyRef(refStr) {
447
+ const [serviceId, coordinate] = splitAtRef(refStr);
448
+ const coordinateParts = coordinate.split('.');
449
+ if (coordinateParts.length === 1) {
450
+ return { serviceId, shapeName: 'Query', propertyName: coordinateParts[0] };
451
+ }
452
+ if (coordinateParts.length === 2) {
453
+ return {
454
+ serviceId,
455
+ shapeName: coordinateParts[0],
456
+ propertyName: coordinateParts[1]
457
+ };
458
+ }
459
+ }
460
+ export function serializePropertyRef({ shapeName, propertyName, serviceId }) {
461
+ const coordinate = `${shapeName}.${propertyName}`;
462
+ return serviceId === 'local' ? coordinate : `${serviceId}:${coordinate}`;
463
+ }
464
+ export function normalizePropertyRef(refStr) {
465
+ const parsed = parsePropertyRef(refStr);
466
+ return parsed ? serializePropertyRef(parsed) : refStr;
467
+ }
468
+ export function propertyRefToShapeRef(propertyRef) {
469
+ const parsed = parsePropertyRef(propertyRef);
470
+ if (!parsed) {
471
+ throw new Error(`Invalid property ref "${propertyRef}`);
472
+ }
473
+ return formatShapeRef(parsed.serviceId, parsed.shapeName);
474
+ }
475
+ export function formatShapeRef(serviceId, shapeName) {
476
+ return `${serviceId}:${shapeName}`;
477
+ }
478
+ export function applyNamespace(namespace, name) {
479
+ return namespace ? `${namespace}_${name}` : name;
480
+ }
481
+ export function propertyRefItemToResolverPath(getNamespace, item) {
482
+ const path = propertyRefItemToPath(getNamespace, item);
483
+ return path.concat(path[0] === 'shapes' ? '@resolver' : 'resolver');
484
+ }
485
+ export function propertyRefItemToArgsPath(getNamespace, item) {
486
+ const path = propertyRefItemToPath(getNamespace, item);
487
+ return path.concat(path[0] === 'shapes' ? '@args' : 'args');
488
+ }
489
+ export function propertyRefItemToLocalName(getNamespace, item) {
490
+ const { shapeName, serviceId, propertyName } = item;
491
+ if (shapeName === 'Query' || shapeName === 'Mutation') {
492
+ const namespaced = applyNamespace(getNamespace(serviceId), propertyName);
493
+ return `${shapeName}.${namespaced}`;
494
+ }
495
+ return propertyName;
496
+ }
497
+ export function queryRefToLocalName(context, queryRef) {
498
+ const parsedQueryRef = parsePropertyRef(queryRef);
499
+ if (parsedQueryRef) {
500
+ return parsedQueryRef.serviceId === 'local'
501
+ ? parsedQueryRef.propertyName
502
+ : propertyRefItemToLocalName(createGetNamespace(context), parsedQueryRef);
503
+ }
504
+ }
505
+ export function propertyRefItemToPath(getNamespace, item) {
506
+ const { shapeName, serviceId, propertyName } = item;
507
+ const namespace = getNamespace(serviceId);
508
+ if (shapeName === 'Query' || shapeName === 'Mutation') {
509
+ return [shapeName === 'Query' ? 'queries' : 'mutations', applyNamespace(namespace, propertyName)];
510
+ }
511
+ return ['shapes', applyNamespace(namespace, shapeName), 'schema', 'properties', propertyName];
512
+ }
513
+ export function propertyRefToArgs(projectSchema, ref) {
514
+ const parsed = typeof ref === 'object' ? ref : parsePropertyRef(ref);
515
+ if (parsed) {
516
+ const path = propertyRefItemToArgsPath(createGetNamespace(projectSchema), parsed);
517
+ return get(projectSchema, path);
518
+ }
519
+ }
520
+ /**
521
+ * Get a ref to the given shape.
522
+ */
523
+ export function normalizeRefExpression(context, refExpression) {
524
+ return refItemToAtRef(refExpressionToRefItem(context, refExpression));
525
+ }
526
+ export function normalizeLocalRefString(ref) {
527
+ return ref.startsWith('local:') ? ref.substring(6) : ref;
528
+ }
529
+ export function getAllPropertyRefs(projectSchema) {
530
+ const result = [];
531
+ const parentIsResolver = (path, resolverName) => {
532
+ const parent = get(projectSchema, path.slice(0, -1));
533
+ return (isRecord(parent) &&
534
+ (Array.isArray(resolverName) ? resolverName.some((name) => name === parent.name) : parent.name === resolverName));
535
+ };
536
+ const parentIsGenerateState = (path) => {
537
+ if (path[0] !== 'ai-experimental' || path[path.length - 2] !== 'execution') {
538
+ return false;
539
+ }
540
+ const parent = get(projectSchema, path.slice(0, -1));
541
+ return isRecord(parent) && parent.type === 'generate';
542
+ };
543
+ const pushRef = (refStr) => {
544
+ const parsed = parsePropertyRef(refStr);
545
+ if (parsed) {
546
+ result.push(parsed);
547
+ }
548
+ };
549
+ visit(projectSchema, ['to', 'tools'], (value, path) => {
550
+ const propName = path[path.length - 1];
551
+ if (propName === 'to' && isString(value) && parentIsResolver(path, 'delegate')) {
552
+ pushRef(value);
553
+ }
554
+ else if (propName === 'tools' &&
555
+ Array.isArray(value) &&
556
+ (parentIsGenerateState(path) || parentIsResolver(path, ['ai:generateText', 'ai:chat']))) {
557
+ const tools = value;
558
+ for (const tool of tools) {
559
+ pushRef(getToolRef(tool));
560
+ }
561
+ }
562
+ });
563
+ return result;
564
+ }
565
+ export function getQuery(projectSchema, queryRef) {
566
+ const propertyRef = parsePropertyRef(queryRef);
567
+ if (!propertyRef || (propertyRef.shapeName !== 'Query' && propertyRef.shapeName !== 'Mutation')) {
568
+ throw new Error(`Invalid query ref "${queryRef}"`);
569
+ }
570
+ const path = propertyRefItemToPath(createGetNamespace(projectSchema), propertyRef);
571
+ const query = get(projectSchema, path);
572
+ return query ? { name: path[path.length - 1], query, ref: propertyRef } : undefined;
573
+ }
574
+ export function ensureQuery(projectSchema, queryRef) {
575
+ const query = getQuery(projectSchema, queryRef);
576
+ if (!query) {
577
+ throw new NotFoundError(`Query "${queryRef}" not found`);
578
+ }
579
+ return query;
580
+ }
581
+ export function normalizeRefs(projectSchema, property) {
582
+ let updatedProperty = {
583
+ ...property
584
+ };
585
+ // Array items
586
+ if (property.items) {
587
+ return {
588
+ ...updatedProperty,
589
+ items: normalizeRefs(projectSchema, property.items)
590
+ };
591
+ }
592
+ // Unions
593
+ if (property.oneOf) {
594
+ return {
595
+ ...updatedProperty,
596
+ oneOf: property.oneOf.map((item) => normalizeRefs(projectSchema, item))
597
+ };
598
+ }
599
+ // Convert $ref to @ref
600
+ const refItem = getRef(projectSchema, updatedProperty);
601
+ if (refItem && updatedProperty.$ref) {
602
+ updatedProperty = {
603
+ ...omit(['$ref'], updatedProperty),
604
+ '@ref': refItemToAtRef(refItem)
605
+ };
606
+ }
607
+ return updatedProperty;
608
+ }
@@ -0,0 +1,40 @@
1
+ import type { Maybe } from '@takeshape/util';
2
+ import type { ProjectSchemaJSON, PropertySchema, ShapeJSON, ShapeMap } from './project-schema/index.ts';
3
+ import type { LegacyRelationship, PropertySchemaWithRelationship, Relationship, RelationshipEnv, ShapeRefs } from './types/index.ts';
4
+ /**
5
+ * Turn a LegacyRelationship into a partial PropertySchemaWithRelationship.
6
+ */
7
+ export declare function getRelationshipSchema(projectSchema: ProjectSchemaJSON, relationship: LegacyRelationship | Relationship): PropertySchemaWithRelationship;
8
+ /**
9
+ * Get a list of refs given a property schema with a relationship resolver.
10
+ */
11
+ export declare function getRelationshipShapeRefs(propertySchema: PropertySchemaWithRelationship): ShapeRefs;
12
+ /**
13
+ * Get a list of shapes given a property schema with a relationship resolver.
14
+ */
15
+ export declare function getRelationshipShapes(shapes: ShapeMap, refs: ShapeRefs): ShapeJSON[];
16
+ /**
17
+ * Get a list of shape ids given a property schema with a relationship resolver.
18
+ */
19
+ export declare function getRelationshipShapeIds(shapes: ShapeMap, refs: ShapeRefs): string[];
20
+ /**
21
+ * Turn a Relationship into a LegacyRelationship object.
22
+ */
23
+ export declare function getLegacyRelationship(projectSchema: ProjectSchemaJSON, relationship: Relationship): LegacyRelationship;
24
+ /**
25
+ * Get relationship details from a PropertySchema.
26
+ */
27
+ export declare function getRelationship(propertySchema: PropertySchema): Maybe<Relationship>;
28
+ export declare function findExistingRelationships(projectSchema: ProjectSchemaJSON, shapes: ShapeMap): Record<string, RelationshipEnv[]>;
29
+ /**
30
+ * Test whether two PropertySchemas have equal realtionships
31
+ */
32
+ export declare function isEqualRelationship(a: PropertySchema, b: PropertySchema): boolean;
33
+ /**
34
+ * Test whether an array of PropertySchemas have unequal relationships
35
+ */
36
+ export declare function hasUnequalRelationships(relationships: PropertySchema[]): boolean;
37
+ /**
38
+ * Adds backreference fields to the schema.
39
+ */
40
+ export declare function addRelatedFields(projectSchema: ProjectSchemaJSON, allRelationships: Record<string, RelationshipEnv[]>): ProjectSchemaJSON;