@takeshape/schema 11.52.0 → 11.56.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1030) 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/latest.d.ts +2222 -0
  162. package/dist/project-schema/migrate.d.ts +4 -0
  163. package/dist/project-schema/migrate.js +194 -0
  164. package/dist/project-schema/v3.48.0.d.ts +2161 -0
  165. package/dist/project-schema/v3.49.0.d.ts +2170 -0
  166. package/dist/project-schema/v3.50.0.d.ts +2222 -0
  167. package/dist/project-schema/v3.51.0.d.ts +2222 -0
  168. package/dist/refs.d.ts +226 -0
  169. package/dist/refs.js +608 -0
  170. package/dist/relationships.d.ts +40 -0
  171. package/dist/relationships.js +311 -0
  172. package/dist/runtime-schema.d.ts +5 -0
  173. package/dist/runtime-schema.js +80 -0
  174. package/dist/schema-transform.d.ts +19 -0
  175. package/dist/schema-transform.js +74 -0
  176. package/dist/schema-util.d.ts +210 -0
  177. package/dist/schema-util.js +1077 -0
  178. package/dist/schemas/auth-schemas.json +365 -0
  179. package/dist/schemas/index.js +154 -0
  180. package/dist/schemas/project-schema/experimental.json +1104 -0
  181. package/dist/service-dependencies.d.ts +13 -0
  182. package/dist/service-dependencies.js +165 -0
  183. package/dist/services/__tests__/services.test.d.ts +1 -0
  184. package/dist/services/__tests__/services.test.js +113 -0
  185. package/dist/services/services.d.ts +31 -0
  186. package/dist/services/services.js +145 -0
  187. package/dist/services/types.js +1 -0
  188. package/dist/services/util.d.ts +16 -0
  189. package/dist/taxonomies.d.ts +15 -0
  190. package/dist/taxonomies.js +24 -0
  191. package/dist/template-shapes/__tests__/index.test.d.ts +1 -0
  192. package/dist/template-shapes/__tests__/index.test.js +40 -0
  193. package/dist/template-shapes/__tests__/names.test.d.ts +1 -0
  194. package/dist/template-shapes/__tests__/names.test.js +19 -0
  195. package/dist/template-shapes/__tests__/templates.test.d.ts +1 -0
  196. package/dist/template-shapes/__tests__/templates.test.js +80 -0
  197. package/dist/template-shapes/__tests__/where.test.d.ts +1 -0
  198. package/dist/template-shapes/__tests__/where.test.js +218 -0
  199. package/dist/template-shapes/index.d.ts +7 -0
  200. package/dist/template-shapes/names.d.ts +10 -0
  201. package/dist/template-shapes/templates.d.ts +32 -0
  202. package/dist/template-shapes/templates.js +319 -0
  203. package/dist/template-shapes/types.d.ts +15 -0
  204. package/dist/template-shapes/where.d.ts +37 -0
  205. package/dist/template-shapes/where.js +402 -0
  206. package/dist/types/__tests__/utils.test.d.ts +1 -0
  207. package/dist/types/__tests__/utils.test.js +159 -0
  208. package/dist/types/index.d.ts +3 -0
  209. package/dist/types/index.js +2 -0
  210. package/dist/types/transforms.d.ts +13 -0
  211. package/dist/types/transforms.js +1 -0
  212. package/dist/types/types.d.ts +211 -0
  213. package/dist/types/utils.d.ts +117 -0
  214. package/dist/types/utils.js +279 -0
  215. package/dist/unions.d.ts +14 -0
  216. package/dist/unions.js +77 -0
  217. package/dist/util/__tests__/api-indexing.test.d.ts +1 -0
  218. package/dist/util/__tests__/api-indexing.test.js +129 -0
  219. package/dist/util/__tests__/detect-cycles.test.d.ts +1 -0
  220. package/dist/util/__tests__/detect-cycles.test.js +193 -0
  221. package/dist/util/__tests__/find-shape-at-path.test.d.ts +1 -0
  222. package/dist/util/__tests__/find-shape-at-path.test.js +41 -0
  223. package/dist/util/__tests__/form-config.test.d.ts +1 -0
  224. package/dist/util/__tests__/form-config.test.js +196 -0
  225. package/dist/util/__tests__/get-return-shape.test.d.ts +1 -0
  226. package/dist/util/__tests__/get-return-shape.test.js +27 -0
  227. package/dist/util/__tests__/has-args.test.d.ts +1 -0
  228. package/dist/util/__tests__/has-args.test.js +46 -0
  229. package/dist/util/__tests__/merge.test.d.ts +1 -0
  230. package/dist/util/__tests__/merge.test.js +1074 -0
  231. package/dist/util/__tests__/patch-schema.test.d.ts +1 -0
  232. package/dist/util/__tests__/patch-schema.test.js +82 -0
  233. package/dist/util/__tests__/shapes.test.d.ts +1 -0
  234. package/dist/util/__tests__/shapes.test.js +30 -0
  235. package/dist/util/ai-tools.d.ts +3 -0
  236. package/dist/util/api-indexing.d.ts +9 -0
  237. package/dist/util/api-indexing.js +57 -0
  238. package/dist/util/detect-cycles.d.ts +7 -0
  239. package/dist/util/detect-cycles.js +45 -0
  240. package/dist/util/find-shape-at-path.d.ts +21 -0
  241. package/dist/util/form-config.d.ts +11 -0
  242. package/dist/util/form-config.js +62 -0
  243. package/dist/util/get-conflicting-properties.d.ts +6 -0
  244. package/dist/util/get-conflicting-properties.js +55 -0
  245. package/dist/util/get-return-shape.d.ts +4 -0
  246. package/dist/util/get-return-shape.js +30 -0
  247. package/dist/util/has-arg.d.ts +4 -0
  248. package/dist/util/has-arg.js +13 -0
  249. package/dist/util/merge.d.ts +15 -0
  250. package/dist/util/merge.js +256 -0
  251. package/dist/util/patch-schema.d.ts +8 -0
  252. package/dist/util/shapes.d.ts +5 -0
  253. package/dist/validate/errors.d.ts +3 -0
  254. package/dist/validate/errors.js +20 -0
  255. package/dist/validate/validate.d.ts +73 -0
  256. package/dist/validate/validate.js +1107 -0
  257. package/dist/versions.d.ts +4 -0
  258. package/dist/versions.js +4 -0
  259. package/dist/workflows.d.ts +14 -0
  260. package/dist/workflows.js +66 -0
  261. package/examples/latest/agent-schema.json +12 -4
  262. package/examples/latest/all-fields-shapes-inline.json +52 -18
  263. package/examples/latest/all-fields-shapes.json +76 -26
  264. package/examples/latest/betzino.json +3139 -902
  265. package/examples/latest/blog-schema.json +28 -8
  266. package/examples/latest/brewery-schema.json +25 -7
  267. package/examples/latest/clear-cache-schema.json +7 -3
  268. package/examples/latest/complex-project-schema.json +359 -98
  269. package/examples/latest/complex-schema.json +1754 -487
  270. package/examples/latest/edit-schema.json +11 -4
  271. package/examples/latest/fabric-ecommerce.json +838 -187
  272. package/examples/latest/frank-and-fred-schema.json +1753 -486
  273. package/examples/latest/klirr-schema.json +2411 -682
  274. package/examples/latest/layers/rick-and-morty-layer.json +32 -11
  275. package/examples/latest/layers/shopify-layer-2023-01.json +8637 -2206
  276. package/examples/latest/layers/shopify-storefront-2023-04.json +1714 -404
  277. package/examples/latest/layers/wordpress-2024-01.json +2746 -691
  278. package/examples/latest/massive-schema.json +584 -131
  279. package/examples/latest/mill-components-schema.json +125 -29
  280. package/examples/latest/nested-shape-arrays.json +19 -7
  281. package/examples/latest/one-earth.json +1113 -236
  282. package/examples/latest/pet-oneof-array.json +22 -7
  283. package/examples/latest/post-schema.json +20 -6
  284. package/examples/latest/pruned-shopify-product-schema.json +830 -185
  285. package/examples/latest/rag-example.json +15 -5
  286. package/examples/latest/real-world-schema.json +56 -14
  287. package/examples/latest/recursive-repeater-schema.json +11 -4
  288. package/examples/latest/recursive-schema.json +11 -4
  289. package/examples/latest/rick-and-morty-ast.json +174 -45
  290. package/examples/latest/rick-and-morty-graphql.json +100 -25
  291. package/examples/latest/rick-and-morty-rest.json +7 -3
  292. package/examples/latest/rick-and-morty-with-indexing.json +13 -5
  293. package/examples/latest/schema-where-filter.json +40 -11
  294. package/examples/latest/schema-with-repeater-draftjs.json +8 -3
  295. package/examples/latest/schema-with-rick-and-morty.json +4 -2
  296. package/examples/latest/shape-books-v3_2_0.json +71 -17
  297. package/examples/latest/shape-books.json +71 -17
  298. package/examples/latest/shape-editor-schema-edited.json +69 -23
  299. package/examples/latest/shape-editor-schema-initial.json +28 -10
  300. package/examples/latest/shapedb-crud-every-prop-type.json +22 -8
  301. package/examples/latest/shopify-lookbook.json +19 -5
  302. package/examples/latest/shopify-product-2022-07.json +3217 -726
  303. package/examples/latest/shopify-product-2023-04.json +4496 -1012
  304. package/examples/latest/shopify-store-with-widget.json +942 -213
  305. package/examples/latest/stripe-product-runtime-schema.json +277 -81
  306. package/examples/latest/stripe-starter-resolved.json +1953 -476
  307. package/examples/latest/user-schema-no-required.json +13 -3
  308. package/examples/latest/user-schema-with-defaults.json +27 -5
  309. package/examples/latest/valvoline-ai-demo.json +69 -17
  310. package/examples/latest/vector-search-schema.json +24 -8
  311. package/package.json +24 -26
  312. package/dist/cjs/package.json +0 -1
  313. package/dist/cjs/src/agents.js +0 -147
  314. package/dist/cjs/src/api-version.js +0 -24
  315. package/dist/cjs/src/auth-schemas.js +0 -8
  316. package/dist/cjs/src/builtin-schema.js +0 -616
  317. package/dist/cjs/src/constants.js +0 -4
  318. package/dist/cjs/src/content-schema-transform.js +0 -175
  319. package/dist/cjs/src/create-input-schema.js +0 -66
  320. package/dist/cjs/src/enum.js +0 -12
  321. package/dist/cjs/src/flatten-templates.js +0 -26
  322. package/dist/cjs/src/get-is-leaf.js +0 -59
  323. package/dist/cjs/src/index.js +0 -62
  324. package/dist/cjs/src/interfaces.js +0 -98
  325. package/dist/cjs/src/layers/layers.js +0 -313
  326. package/dist/cjs/src/layers/refs.js +0 -243
  327. package/dist/cjs/src/layers/type-utils.js +0 -145
  328. package/dist/cjs/src/layers/visitor.js +0 -42
  329. package/dist/cjs/src/migration/index.js +0 -142
  330. package/dist/cjs/src/migration/to/v3.0.0.js +0 -217
  331. package/dist/cjs/src/migration/to/v3.1.0.js +0 -199
  332. package/dist/cjs/src/migration/to/v3.10.0.js +0 -72
  333. package/dist/cjs/src/migration/to/v3.11.0.js +0 -90
  334. package/dist/cjs/src/migration/to/v3.12.0.js +0 -12
  335. package/dist/cjs/src/migration/to/v3.12.1.js +0 -12
  336. package/dist/cjs/src/migration/to/v3.12.2.js +0 -12
  337. package/dist/cjs/src/migration/to/v3.12.3.js +0 -92
  338. package/dist/cjs/src/migration/to/v3.13.0.js +0 -22
  339. package/dist/cjs/src/migration/to/v3.14.0.js +0 -12
  340. package/dist/cjs/src/migration/to/v3.15.0.js +0 -12
  341. package/dist/cjs/src/migration/to/v3.16.0.js +0 -12
  342. package/dist/cjs/src/migration/to/v3.17.0.js +0 -27
  343. package/dist/cjs/src/migration/to/v3.17.1.js +0 -12
  344. package/dist/cjs/src/migration/to/v3.18.0.js +0 -69
  345. package/dist/cjs/src/migration/to/v3.18.1.js +0 -20
  346. package/dist/cjs/src/migration/to/v3.18.2.js +0 -24
  347. package/dist/cjs/src/migration/to/v3.19.0.js +0 -12
  348. package/dist/cjs/src/migration/to/v3.2.0.js +0 -12
  349. package/dist/cjs/src/migration/to/v3.20.0.js +0 -29
  350. package/dist/cjs/src/migration/to/v3.21.0.js +0 -12
  351. package/dist/cjs/src/migration/to/v3.22.0.js +0 -30
  352. package/dist/cjs/src/migration/to/v3.23.0.js +0 -12
  353. package/dist/cjs/src/migration/to/v3.24.0.js +0 -13
  354. package/dist/cjs/src/migration/to/v3.25.0.js +0 -13
  355. package/dist/cjs/src/migration/to/v3.26.0.js +0 -12
  356. package/dist/cjs/src/migration/to/v3.27.0.js +0 -12
  357. package/dist/cjs/src/migration/to/v3.28.0.js +0 -12
  358. package/dist/cjs/src/migration/to/v3.29.0.js +0 -12
  359. package/dist/cjs/src/migration/to/v3.3.0.js +0 -15
  360. package/dist/cjs/src/migration/to/v3.30.0.js +0 -12
  361. package/dist/cjs/src/migration/to/v3.31.0.js +0 -43
  362. package/dist/cjs/src/migration/to/v3.32.0.js +0 -61
  363. package/dist/cjs/src/migration/to/v3.33.0.js +0 -12
  364. package/dist/cjs/src/migration/to/v3.34.0.js +0 -123
  365. package/dist/cjs/src/migration/to/v3.35.0.js +0 -12
  366. package/dist/cjs/src/migration/to/v3.36.0.js +0 -27
  367. package/dist/cjs/src/migration/to/v3.37.0.js +0 -12
  368. package/dist/cjs/src/migration/to/v3.38.0.js +0 -12
  369. package/dist/cjs/src/migration/to/v3.39.0.js +0 -47
  370. package/dist/cjs/src/migration/to/v3.4.0.js +0 -12
  371. package/dist/cjs/src/migration/to/v3.40.0.js +0 -31
  372. package/dist/cjs/src/migration/to/v3.41.0.js +0 -12
  373. package/dist/cjs/src/migration/to/v3.42.0.js +0 -12
  374. package/dist/cjs/src/migration/to/v3.43.0.js +0 -12
  375. package/dist/cjs/src/migration/to/v3.44.0.js +0 -12
  376. package/dist/cjs/src/migration/to/v3.45.0.js +0 -12
  377. package/dist/cjs/src/migration/to/v3.46.0.js +0 -37
  378. package/dist/cjs/src/migration/to/v3.47.0.js +0 -12
  379. package/dist/cjs/src/migration/to/v3.48.0.js +0 -12
  380. package/dist/cjs/src/migration/to/v3.49.0.js +0 -12
  381. package/dist/cjs/src/migration/to/v3.5.0.js +0 -12
  382. package/dist/cjs/src/migration/to/v3.5.1.js +0 -12
  383. package/dist/cjs/src/migration/to/v3.50.0.js +0 -12
  384. package/dist/cjs/src/migration/to/v3.51.0.js +0 -12
  385. package/dist/cjs/src/migration/to/v3.6.0.js +0 -12
  386. package/dist/cjs/src/migration/to/v3.7.0.js +0 -12
  387. package/dist/cjs/src/migration/to/v3.8.0.js +0 -12
  388. package/dist/cjs/src/migration/to/v3.9.0.js +0 -84
  389. package/dist/cjs/src/migration/types.js +0 -2
  390. package/dist/cjs/src/migration/utils.js +0 -10
  391. package/dist/cjs/src/mocks.js +0 -65
  392. package/dist/cjs/src/models/project-schema.js +0 -99
  393. package/dist/cjs/src/models/query.js +0 -35
  394. package/dist/cjs/src/models/service.js +0 -24
  395. package/dist/cjs/src/models/shape.js +0 -89
  396. package/dist/cjs/src/patterns.js +0 -2
  397. package/dist/cjs/src/project-schema/index.js +0 -156
  398. package/dist/cjs/src/project-schema/latest.js +0 -8
  399. package/dist/cjs/src/project-schema/migrate.js +0 -198
  400. package/dist/cjs/src/project-schema/v1.0.0.js +0 -8
  401. package/dist/cjs/src/project-schema/v3.0.0.js +0 -8
  402. package/dist/cjs/src/project-schema/v3.1.0.js +0 -8
  403. package/dist/cjs/src/project-schema/v3.10.0.js +0 -8
  404. package/dist/cjs/src/project-schema/v3.11.0.js +0 -8
  405. package/dist/cjs/src/project-schema/v3.12.0.js +0 -8
  406. package/dist/cjs/src/project-schema/v3.12.1.js +0 -8
  407. package/dist/cjs/src/project-schema/v3.12.2.js +0 -8
  408. package/dist/cjs/src/project-schema/v3.12.3.js +0 -8
  409. package/dist/cjs/src/project-schema/v3.13.0.js +0 -8
  410. package/dist/cjs/src/project-schema/v3.13.1.js +0 -8
  411. package/dist/cjs/src/project-schema/v3.14.0.js +0 -8
  412. package/dist/cjs/src/project-schema/v3.15.0.js +0 -8
  413. package/dist/cjs/src/project-schema/v3.16.0.js +0 -8
  414. package/dist/cjs/src/project-schema/v3.17.0.js +0 -8
  415. package/dist/cjs/src/project-schema/v3.17.1.js +0 -8
  416. package/dist/cjs/src/project-schema/v3.18.0.js +0 -8
  417. package/dist/cjs/src/project-schema/v3.18.1.js +0 -8
  418. package/dist/cjs/src/project-schema/v3.18.2.js +0 -8
  419. package/dist/cjs/src/project-schema/v3.19.0.js +0 -8
  420. package/dist/cjs/src/project-schema/v3.2.0.js +0 -8
  421. package/dist/cjs/src/project-schema/v3.20.0.js +0 -8
  422. package/dist/cjs/src/project-schema/v3.21.0.js +0 -8
  423. package/dist/cjs/src/project-schema/v3.22.0.js +0 -8
  424. package/dist/cjs/src/project-schema/v3.23.0.js +0 -8
  425. package/dist/cjs/src/project-schema/v3.24.0.js +0 -8
  426. package/dist/cjs/src/project-schema/v3.25.0.js +0 -8
  427. package/dist/cjs/src/project-schema/v3.26.0.js +0 -8
  428. package/dist/cjs/src/project-schema/v3.27.0.js +0 -8
  429. package/dist/cjs/src/project-schema/v3.28.0.js +0 -8
  430. package/dist/cjs/src/project-schema/v3.29.0.js +0 -8
  431. package/dist/cjs/src/project-schema/v3.3.0.js +0 -8
  432. package/dist/cjs/src/project-schema/v3.30.0.js +0 -8
  433. package/dist/cjs/src/project-schema/v3.31.0.js +0 -8
  434. package/dist/cjs/src/project-schema/v3.32.0.js +0 -8
  435. package/dist/cjs/src/project-schema/v3.33.0.js +0 -8
  436. package/dist/cjs/src/project-schema/v3.34.0.js +0 -8
  437. package/dist/cjs/src/project-schema/v3.35.0.js +0 -8
  438. package/dist/cjs/src/project-schema/v3.36.0.js +0 -8
  439. package/dist/cjs/src/project-schema/v3.37.0.js +0 -8
  440. package/dist/cjs/src/project-schema/v3.38.0.js +0 -8
  441. package/dist/cjs/src/project-schema/v3.39.0.js +0 -8
  442. package/dist/cjs/src/project-schema/v3.4.0.js +0 -8
  443. package/dist/cjs/src/project-schema/v3.40.0.js +0 -8
  444. package/dist/cjs/src/project-schema/v3.41.0.js +0 -8
  445. package/dist/cjs/src/project-schema/v3.42.0.js +0 -8
  446. package/dist/cjs/src/project-schema/v3.43.0.js +0 -8
  447. package/dist/cjs/src/project-schema/v3.44.0.js +0 -8
  448. package/dist/cjs/src/project-schema/v3.45.0.js +0 -8
  449. package/dist/cjs/src/project-schema/v3.46.0.js +0 -8
  450. package/dist/cjs/src/project-schema/v3.47.0.js +0 -8
  451. package/dist/cjs/src/project-schema/v3.48.0.js +0 -8
  452. package/dist/cjs/src/project-schema/v3.49.0.js +0 -8
  453. package/dist/cjs/src/project-schema/v3.5.0.js +0 -8
  454. package/dist/cjs/src/project-schema/v3.5.1.js +0 -8
  455. package/dist/cjs/src/project-schema/v3.50.0.js +0 -8
  456. package/dist/cjs/src/project-schema/v3.51.0.js +0 -8
  457. package/dist/cjs/src/project-schema/v3.6.0.js +0 -8
  458. package/dist/cjs/src/project-schema/v3.7.0.js +0 -8
  459. package/dist/cjs/src/project-schema/v3.8.0.js +0 -8
  460. package/dist/cjs/src/project-schema/v3.9.0.js +0 -8
  461. package/dist/cjs/src/project-schema/v4.0.0.js +0 -8
  462. package/dist/cjs/src/refs.js +0 -671
  463. package/dist/cjs/src/relationships.js +0 -326
  464. package/dist/cjs/src/runtime-schema.js +0 -88
  465. package/dist/cjs/src/scalars.js +0 -8
  466. package/dist/cjs/src/schema-transform.js +0 -83
  467. package/dist/cjs/src/schema-util.js +0 -1140
  468. package/dist/cjs/src/schemas/auth-schemas.json +0 -313
  469. package/dist/cjs/src/schemas/index.js +0 -162
  470. package/dist/cjs/src/schemas/project-schema/experimental.json +0 -1101
  471. package/dist/cjs/src/schemas/user-schema.json +0 -51
  472. package/dist/cjs/src/service-dependencies.js +0 -172
  473. package/dist/cjs/src/services/services.js +0 -156
  474. package/dist/cjs/src/services/types.js +0 -2
  475. package/dist/cjs/src/services/util.js +0 -45
  476. package/dist/cjs/src/taxonomies.js +0 -28
  477. package/dist/cjs/src/template-shapes/index.js +0 -37
  478. package/dist/cjs/src/template-shapes/names.js +0 -26
  479. package/dist/cjs/src/template-shapes/templates.js +0 -331
  480. package/dist/cjs/src/template-shapes/types.js +0 -10
  481. package/dist/cjs/src/template-shapes/where.js +0 -414
  482. package/dist/cjs/src/types/index.js +0 -19
  483. package/dist/cjs/src/types/transforms.js +0 -2
  484. package/dist/cjs/src/types/types.js +0 -21
  485. package/dist/cjs/src/types/utils.js +0 -344
  486. package/dist/cjs/src/unions.js +0 -88
  487. package/dist/cjs/src/user-schema.js +0 -8
  488. package/dist/cjs/src/util/ai-tools.js +0 -10
  489. package/dist/cjs/src/util/api-indexing.js +0 -62
  490. package/dist/cjs/src/util/detect-cycles.js +0 -48
  491. package/dist/cjs/src/util/find-shape-at-path.js +0 -57
  492. package/dist/cjs/src/util/form-config.js +0 -66
  493. package/dist/cjs/src/util/get-conflicting-properties.js +0 -58
  494. package/dist/cjs/src/util/get-return-shape.js +0 -34
  495. package/dist/cjs/src/util/has-arg.js +0 -17
  496. package/dist/cjs/src/util/merge.js +0 -269
  497. package/dist/cjs/src/util/patch-schema.js +0 -55
  498. package/dist/cjs/src/util/shapes.js +0 -31
  499. package/dist/cjs/src/validate.js +0 -1140
  500. package/dist/cjs/src/versions.js +0 -8
  501. package/dist/cjs/src/workflows.js +0 -76
  502. package/dist/cjs/tsconfig.cjs.tsbuildinfo +0 -1
  503. package/dist/esm/package.json +0 -1
  504. package/dist/esm/src/content-schema-transform.js +0 -162
  505. package/dist/esm/src/flatten-templates.js +0 -20
  506. package/dist/esm/src/get-is-leaf.js +0 -56
  507. package/dist/esm/src/index.js +0 -46
  508. package/dist/esm/src/interfaces.js +0 -85
  509. package/dist/esm/src/layers/layers.js +0 -301
  510. package/dist/esm/src/layers/refs.js +0 -220
  511. package/dist/esm/src/layers/type-utils.js +0 -118
  512. package/dist/esm/src/layers/visitor.js +0 -38
  513. package/dist/esm/src/migration/index.js +0 -122
  514. package/dist/esm/src/migration/to/v3.0.0.js +0 -212
  515. package/dist/esm/src/migration/to/v3.1.0.js +0 -194
  516. package/dist/esm/src/migration/to/v3.32.0.js +0 -59
  517. package/dist/esm/src/migration/to/v3.34.0.js +0 -116
  518. package/dist/esm/src/migration/to/v3.39.0.js +0 -45
  519. package/dist/esm/src/mocks.js +0 -58
  520. package/dist/esm/src/models/project-schema.js +0 -92
  521. package/dist/esm/src/models/shape.js +0 -85
  522. package/dist/esm/src/project-schema/index.js +0 -138
  523. package/dist/esm/src/project-schema/migrate.js +0 -194
  524. package/dist/esm/src/refs.js +0 -608
  525. package/dist/esm/src/relationships.js +0 -311
  526. package/dist/esm/src/runtime-schema.js +0 -80
  527. package/dist/esm/src/schema-transform.js +0 -74
  528. package/dist/esm/src/schema-util.js +0 -1077
  529. package/dist/esm/src/schemas/auth-schemas.json +0 -313
  530. package/dist/esm/src/schemas/index.js +0 -154
  531. package/dist/esm/src/schemas/project-schema/experimental.json +0 -1101
  532. package/dist/esm/src/schemas/project-schema/latest.json +0 -3320
  533. package/dist/esm/src/schemas/project-schema/meta-schema-v1.0.0.json +0 -193
  534. package/dist/esm/src/schemas/project-schema/meta-schema-v3.0.0.json +0 -608
  535. package/dist/esm/src/schemas/project-schema/meta-schema-v3.1.0.json +0 -608
  536. package/dist/esm/src/schemas/project-schema/meta-schema-v3.2.0.json +0 -612
  537. package/dist/esm/src/schemas/project-schema/meta-schema-v3.3.0.json +0 -612
  538. package/dist/esm/src/schemas/project-schema/meta-schema-v3.4.0.json +0 -637
  539. package/dist/esm/src/schemas/project-schema/meta-schema-v3.5.0.json +0 -626
  540. package/dist/esm/src/schemas/project-schema/meta-schema-v3.5.1.json +0 -626
  541. package/dist/esm/src/schemas/project-schema/meta-schema-v3.6.0.json +0 -629
  542. package/dist/esm/src/schemas/project-schema/meta-schema-v3.7.0.json +0 -1137
  543. package/dist/esm/src/schemas/project-schema/meta-schema-v3.8.0.json +0 -1137
  544. package/dist/esm/src/schemas/project-schema/meta-schema-v3.9.0.json +0 -1477
  545. package/dist/esm/src/schemas/project-schema/v1.0.0.json +0 -321
  546. package/dist/esm/src/schemas/project-schema/v3.0.0.json +0 -414
  547. package/dist/esm/src/schemas/project-schema/v3.1.0.json +0 -572
  548. package/dist/esm/src/schemas/project-schema/v3.10.0.json +0 -2097
  549. package/dist/esm/src/schemas/project-schema/v3.11.0.json +0 -2141
  550. package/dist/esm/src/schemas/project-schema/v3.12.0.json +0 -2144
  551. package/dist/esm/src/schemas/project-schema/v3.12.1.json +0 -2282
  552. package/dist/esm/src/schemas/project-schema/v3.12.2.json +0 -2304
  553. package/dist/esm/src/schemas/project-schema/v3.12.3.json +0 -2357
  554. package/dist/esm/src/schemas/project-schema/v3.13.0.json +0 -2377
  555. package/dist/esm/src/schemas/project-schema/v3.14.0.json +0 -2385
  556. package/dist/esm/src/schemas/project-schema/v3.15.0.json +0 -2365
  557. package/dist/esm/src/schemas/project-schema/v3.16.0.json +0 -2373
  558. package/dist/esm/src/schemas/project-schema/v3.17.0.json +0 -2378
  559. package/dist/esm/src/schemas/project-schema/v3.17.1.json +0 -2380
  560. package/dist/esm/src/schemas/project-schema/v3.18.0.json +0 -2356
  561. package/dist/esm/src/schemas/project-schema/v3.18.1.json +0 -2357
  562. package/dist/esm/src/schemas/project-schema/v3.18.2.json +0 -2357
  563. package/dist/esm/src/schemas/project-schema/v3.19.0.json +0 -2369
  564. package/dist/esm/src/schemas/project-schema/v3.2.0.json +0 -580
  565. package/dist/esm/src/schemas/project-schema/v3.20.0.json +0 -2369
  566. package/dist/esm/src/schemas/project-schema/v3.21.0.json +0 -2376
  567. package/dist/esm/src/schemas/project-schema/v3.22.0.json +0 -2381
  568. package/dist/esm/src/schemas/project-schema/v3.23.0.json +0 -2456
  569. package/dist/esm/src/schemas/project-schema/v3.24.0.json +0 -2556
  570. package/dist/esm/src/schemas/project-schema/v3.25.0.json +0 -2552
  571. package/dist/esm/src/schemas/project-schema/v3.26.0.json +0 -2599
  572. package/dist/esm/src/schemas/project-schema/v3.27.0.json +0 -2611
  573. package/dist/esm/src/schemas/project-schema/v3.28.0.json +0 -2656
  574. package/dist/esm/src/schemas/project-schema/v3.29.0.json +0 -2670
  575. package/dist/esm/src/schemas/project-schema/v3.3.0.json +0 -581
  576. package/dist/esm/src/schemas/project-schema/v3.30.0.json +0 -2656
  577. package/dist/esm/src/schemas/project-schema/v3.31.0.json +0 -2714
  578. package/dist/esm/src/schemas/project-schema/v3.32.0.json +0 -2708
  579. package/dist/esm/src/schemas/project-schema/v3.33.0.json +0 -2715
  580. package/dist/esm/src/schemas/project-schema/v3.34.0.json +0 -2715
  581. package/dist/esm/src/schemas/project-schema/v3.35.0.json +0 -2748
  582. package/dist/esm/src/schemas/project-schema/v3.36.0.json +0 -2756
  583. package/dist/esm/src/schemas/project-schema/v3.37.0.json +0 -2821
  584. package/dist/esm/src/schemas/project-schema/v3.38.0.json +0 -2819
  585. package/dist/esm/src/schemas/project-schema/v3.39.0.json +0 -2827
  586. package/dist/esm/src/schemas/project-schema/v3.4.0.json +0 -571
  587. package/dist/esm/src/schemas/project-schema/v3.40.0.json +0 -2830
  588. package/dist/esm/src/schemas/project-schema/v3.41.0.json +0 -2830
  589. package/dist/esm/src/schemas/project-schema/v3.42.0.json +0 -2835
  590. package/dist/esm/src/schemas/project-schema/v3.43.0.json +0 -2841
  591. package/dist/esm/src/schemas/project-schema/v3.44.0.json +0 -3013
  592. package/dist/esm/src/schemas/project-schema/v3.45.0.json +0 -3064
  593. package/dist/esm/src/schemas/project-schema/v3.46.0.json +0 -3136
  594. package/dist/esm/src/schemas/project-schema/v3.47.0.json +0 -3189
  595. package/dist/esm/src/schemas/project-schema/v3.48.0.json +0 -3196
  596. package/dist/esm/src/schemas/project-schema/v3.49.0.json +0 -3239
  597. package/dist/esm/src/schemas/project-schema/v3.5.0.json +0 -571
  598. package/dist/esm/src/schemas/project-schema/v3.5.1.json +0 -571
  599. package/dist/esm/src/schemas/project-schema/v3.50.0.json +0 -3320
  600. package/dist/esm/src/schemas/project-schema/v3.51.0.json +0 -3320
  601. package/dist/esm/src/schemas/project-schema/v3.6.0.json +0 -587
  602. package/dist/esm/src/schemas/project-schema/v3.7.0.json +0 -587
  603. package/dist/esm/src/schemas/project-schema/v3.8.0.json +0 -604
  604. package/dist/esm/src/schemas/project-schema/v3.9.0.json +0 -604
  605. package/dist/esm/src/schemas/project-schema/v4.0.0.json +0 -2316
  606. package/dist/esm/src/schemas/project-schema.json +0 -190
  607. package/dist/esm/src/schemas/user-schema.json +0 -51
  608. package/dist/esm/src/service-dependencies.js +0 -165
  609. package/dist/esm/src/services/services.js +0 -145
  610. package/dist/esm/src/taxonomies.js +0 -24
  611. package/dist/esm/src/template-shapes/templates.js +0 -319
  612. package/dist/esm/src/template-shapes/where.js +0 -402
  613. package/dist/esm/src/types/index.js +0 -3
  614. package/dist/esm/src/types/utils.js +0 -279
  615. package/dist/esm/src/unions.js +0 -77
  616. package/dist/esm/src/user-schema.js +0 -7
  617. package/dist/esm/src/util/api-indexing.js +0 -57
  618. package/dist/esm/src/util/detect-cycles.js +0 -45
  619. package/dist/esm/src/util/form-config.js +0 -62
  620. package/dist/esm/src/util/get-conflicting-properties.js +0 -55
  621. package/dist/esm/src/util/get-return-shape.js +0 -30
  622. package/dist/esm/src/util/has-arg.js +0 -13
  623. package/dist/esm/src/util/merge.js +0 -256
  624. package/dist/esm/src/validate.js +0 -1126
  625. package/dist/esm/src/versions.js +0 -4
  626. package/dist/esm/src/workflows.js +0 -66
  627. package/dist/esm/tsconfig.esm.tsbuildinfo +0 -1
  628. package/dist/types/src/agents.d.ts +0 -14
  629. package/dist/types/src/auth-schemas.d.ts +0 -104
  630. package/dist/types/src/builtin-schema.d.ts +0 -8
  631. package/dist/types/src/content-schema-transform.d.ts +0 -35
  632. package/dist/types/src/create-input-schema.d.ts +0 -9
  633. package/dist/types/src/enum.d.ts +0 -2
  634. package/dist/types/src/flatten-templates.d.ts +0 -2
  635. package/dist/types/src/get-is-leaf.d.ts +0 -3
  636. package/dist/types/src/index.d.ts +0 -48
  637. package/dist/types/src/interfaces.d.ts +0 -12
  638. package/dist/types/src/layers/layers.d.ts +0 -26
  639. package/dist/types/src/layers/refs.d.ts +0 -102
  640. package/dist/types/src/layers/type-utils.d.ts +0 -59
  641. package/dist/types/src/layers/visitor.d.ts +0 -5
  642. package/dist/types/src/migration/index.d.ts +0 -64
  643. package/dist/types/src/migration/to/v3.0.0.d.ts +0 -4
  644. package/dist/types/src/migration/to/v3.1.0.d.ts +0 -4
  645. package/dist/types/src/migration/to/v3.10.0.d.ts +0 -4
  646. package/dist/types/src/migration/to/v3.11.0.d.ts +0 -4
  647. package/dist/types/src/migration/to/v3.12.0.d.ts +0 -4
  648. package/dist/types/src/migration/to/v3.12.1.d.ts +0 -4
  649. package/dist/types/src/migration/to/v3.12.2.d.ts +0 -4
  650. package/dist/types/src/migration/to/v3.12.3.d.ts +0 -4
  651. package/dist/types/src/migration/to/v3.13.0.d.ts +0 -4
  652. package/dist/types/src/migration/to/v3.14.0.d.ts +0 -4
  653. package/dist/types/src/migration/to/v3.15.0.d.ts +0 -4
  654. package/dist/types/src/migration/to/v3.16.0.d.ts +0 -4
  655. package/dist/types/src/migration/to/v3.17.0.d.ts +0 -4
  656. package/dist/types/src/migration/to/v3.17.1.d.ts +0 -4
  657. package/dist/types/src/migration/to/v3.18.0.d.ts +0 -4
  658. package/dist/types/src/migration/to/v3.18.1.d.ts +0 -4
  659. package/dist/types/src/migration/to/v3.18.2.d.ts +0 -4
  660. package/dist/types/src/migration/to/v3.19.0.d.ts +0 -4
  661. package/dist/types/src/migration/to/v3.2.0.d.ts +0 -4
  662. package/dist/types/src/migration/to/v3.20.0.d.ts +0 -4
  663. package/dist/types/src/migration/to/v3.21.0.d.ts +0 -4
  664. package/dist/types/src/migration/to/v3.22.0.d.ts +0 -4
  665. package/dist/types/src/migration/to/v3.23.0.d.ts +0 -4
  666. package/dist/types/src/migration/to/v3.24.0.d.ts +0 -4
  667. package/dist/types/src/migration/to/v3.25.0.d.ts +0 -4
  668. package/dist/types/src/migration/to/v3.26.0.d.ts +0 -4
  669. package/dist/types/src/migration/to/v3.27.0.d.ts +0 -4
  670. package/dist/types/src/migration/to/v3.28.0.d.ts +0 -4
  671. package/dist/types/src/migration/to/v3.29.0.d.ts +0 -4
  672. package/dist/types/src/migration/to/v3.3.0.d.ts +0 -4
  673. package/dist/types/src/migration/to/v3.30.0.d.ts +0 -4
  674. package/dist/types/src/migration/to/v3.31.0.d.ts +0 -4
  675. package/dist/types/src/migration/to/v3.32.0.d.ts +0 -4
  676. package/dist/types/src/migration/to/v3.33.0.d.ts +0 -4
  677. package/dist/types/src/migration/to/v3.34.0.d.ts +0 -6
  678. package/dist/types/src/migration/to/v3.35.0.d.ts +0 -4
  679. package/dist/types/src/migration/to/v3.36.0.d.ts +0 -4
  680. package/dist/types/src/migration/to/v3.37.0.d.ts +0 -4
  681. package/dist/types/src/migration/to/v3.38.0.d.ts +0 -4
  682. package/dist/types/src/migration/to/v3.39.0.d.ts +0 -4
  683. package/dist/types/src/migration/to/v3.4.0.d.ts +0 -4
  684. package/dist/types/src/migration/to/v3.40.0.d.ts +0 -4
  685. package/dist/types/src/migration/to/v3.41.0.d.ts +0 -4
  686. package/dist/types/src/migration/to/v3.42.0.d.ts +0 -4
  687. package/dist/types/src/migration/to/v3.43.0.d.ts +0 -4
  688. package/dist/types/src/migration/to/v3.44.0.d.ts +0 -4
  689. package/dist/types/src/migration/to/v3.45.0.d.ts +0 -4
  690. package/dist/types/src/migration/to/v3.46.0.d.ts +0 -4
  691. package/dist/types/src/migration/to/v3.47.0.d.ts +0 -4
  692. package/dist/types/src/migration/to/v3.48.0.d.ts +0 -4
  693. package/dist/types/src/migration/to/v3.49.0.d.ts +0 -4
  694. package/dist/types/src/migration/to/v3.5.0.d.ts +0 -4
  695. package/dist/types/src/migration/to/v3.5.1.d.ts +0 -4
  696. package/dist/types/src/migration/to/v3.50.0.d.ts +0 -4
  697. package/dist/types/src/migration/to/v3.51.0.d.ts +0 -4
  698. package/dist/types/src/migration/to/v3.6.0.d.ts +0 -4
  699. package/dist/types/src/migration/to/v3.7.0.d.ts +0 -4
  700. package/dist/types/src/migration/to/v3.8.0.d.ts +0 -4
  701. package/dist/types/src/migration/to/v3.9.0.d.ts +0 -4
  702. package/dist/types/src/migration/types.d.ts +0 -19
  703. package/dist/types/src/mocks.d.ts +0 -13
  704. package/dist/types/src/models/project-schema.d.ts +0 -35
  705. package/dist/types/src/models/query.d.ts +0 -17
  706. package/dist/types/src/models/service.d.ts +0 -12
  707. package/dist/types/src/models/shape.d.ts +0 -41
  708. package/dist/types/src/project-schema/index.d.ts +0 -187
  709. package/dist/types/src/project-schema/latest.d.ts +0 -2221
  710. package/dist/types/src/project-schema/migrate.d.ts +0 -4
  711. package/dist/types/src/project-schema/v3.48.0.d.ts +0 -2160
  712. package/dist/types/src/project-schema/v3.49.0.d.ts +0 -2169
  713. package/dist/types/src/project-schema/v3.50.0.d.ts +0 -2221
  714. package/dist/types/src/project-schema/v3.51.0.d.ts +0 -2221
  715. package/dist/types/src/refs.d.ts +0 -226
  716. package/dist/types/src/relationships.d.ts +0 -40
  717. package/dist/types/src/runtime-schema.d.ts +0 -5
  718. package/dist/types/src/schema-transform.d.ts +0 -19
  719. package/dist/types/src/schema-util.d.ts +0 -210
  720. package/dist/types/src/service-dependencies.d.ts +0 -13
  721. package/dist/types/src/services/services.d.ts +0 -31
  722. package/dist/types/src/services/util.d.ts +0 -16
  723. package/dist/types/src/taxonomies.d.ts +0 -15
  724. package/dist/types/src/template-shapes/index.d.ts +0 -7
  725. package/dist/types/src/template-shapes/names.d.ts +0 -10
  726. package/dist/types/src/template-shapes/templates.d.ts +0 -32
  727. package/dist/types/src/template-shapes/types.d.ts +0 -15
  728. package/dist/types/src/template-shapes/where.d.ts +0 -37
  729. package/dist/types/src/types/index.d.ts +0 -3
  730. package/dist/types/src/types/transforms.d.ts +0 -13
  731. package/dist/types/src/types/types.d.ts +0 -211
  732. package/dist/types/src/types/utils.d.ts +0 -117
  733. package/dist/types/src/unions.d.ts +0 -14
  734. package/dist/types/src/user-schema.d.ts +0 -38
  735. package/dist/types/src/util/ai-tools.d.ts +0 -3
  736. package/dist/types/src/util/api-indexing.d.ts +0 -9
  737. package/dist/types/src/util/detect-cycles.d.ts +0 -7
  738. package/dist/types/src/util/find-shape-at-path.d.ts +0 -21
  739. package/dist/types/src/util/form-config.d.ts +0 -11
  740. package/dist/types/src/util/get-conflicting-properties.d.ts +0 -6
  741. package/dist/types/src/util/get-return-shape.d.ts +0 -4
  742. package/dist/types/src/util/has-arg.d.ts +0 -4
  743. package/dist/types/src/util/merge.d.ts +0 -15
  744. package/dist/types/src/util/patch-schema.d.ts +0 -8
  745. package/dist/types/src/util/shapes.d.ts +0 -5
  746. package/dist/types/src/validate.d.ts +0 -75
  747. package/dist/types/src/versions.d.ts +0 -4
  748. package/dist/types/src/workflows.d.ts +0 -14
  749. package/dist/types/tsconfig.types.tsbuildinfo +0 -1
  750. /package/dist/{esm/src/migration/types.js → __tests__/_examples.test.d.ts} +0 -0
  751. /package/dist/{esm/src/patterns.js → __tests__/agents.test.d.ts} +0 -0
  752. /package/dist/{esm/src/services/types.js → __tests__/api-version.test.d.ts} +0 -0
  753. /package/dist/{esm/src/types/transforms.js → __tests__/builtin-schema.test.d.ts} +0 -0
  754. /package/dist/{esm/src/agents.js → agents.js} +0 -0
  755. /package/dist/{types/src/api-version.d.ts → api-version.d.ts} +0 -0
  756. /package/dist/{esm/src/api-version.js → api-version.js} +0 -0
  757. /package/dist/{esm/src/auth-schemas.js → auth-schemas.js} +0 -0
  758. /package/dist/{esm/src/builtin-schema.js → builtin-schema.js} +0 -0
  759. /package/dist/{types/src/constants.d.ts → constants.d.ts} +0 -0
  760. /package/dist/{esm/src/constants.js → constants.js} +0 -0
  761. /package/dist/{esm/src/create-input-schema.js → create-input-schema.js} +0 -0
  762. /package/dist/{esm/src/enum.js → enum.js} +0 -0
  763. /package/dist/{esm/src/migration → migration}/to/v3.10.0.js +0 -0
  764. /package/dist/{esm/src/migration → migration}/to/v3.11.0.js +0 -0
  765. /package/dist/{esm/src/migration → migration}/to/v3.12.0.js +0 -0
  766. /package/dist/{esm/src/migration → migration}/to/v3.12.1.js +0 -0
  767. /package/dist/{esm/src/migration → migration}/to/v3.12.2.js +0 -0
  768. /package/dist/{esm/src/migration → migration}/to/v3.12.3.js +0 -0
  769. /package/dist/{esm/src/migration → migration}/to/v3.13.0.js +0 -0
  770. /package/dist/{esm/src/migration → migration}/to/v3.14.0.js +0 -0
  771. /package/dist/{esm/src/migration → migration}/to/v3.15.0.js +0 -0
  772. /package/dist/{esm/src/migration → migration}/to/v3.16.0.js +0 -0
  773. /package/dist/{esm/src/migration → migration}/to/v3.17.0.js +0 -0
  774. /package/dist/{esm/src/migration → migration}/to/v3.17.1.js +0 -0
  775. /package/dist/{esm/src/migration → migration}/to/v3.18.0.js +0 -0
  776. /package/dist/{esm/src/migration → migration}/to/v3.18.1.js +0 -0
  777. /package/dist/{esm/src/migration → migration}/to/v3.18.2.js +0 -0
  778. /package/dist/{esm/src/migration → migration}/to/v3.19.0.js +0 -0
  779. /package/dist/{esm/src/migration → migration}/to/v3.2.0.js +0 -0
  780. /package/dist/{esm/src/migration → migration}/to/v3.20.0.js +0 -0
  781. /package/dist/{esm/src/migration → migration}/to/v3.21.0.js +0 -0
  782. /package/dist/{esm/src/migration → migration}/to/v3.22.0.js +0 -0
  783. /package/dist/{esm/src/migration → migration}/to/v3.23.0.js +0 -0
  784. /package/dist/{esm/src/migration → migration}/to/v3.24.0.js +0 -0
  785. /package/dist/{esm/src/migration → migration}/to/v3.25.0.js +0 -0
  786. /package/dist/{esm/src/migration → migration}/to/v3.26.0.js +0 -0
  787. /package/dist/{esm/src/migration → migration}/to/v3.27.0.js +0 -0
  788. /package/dist/{esm/src/migration → migration}/to/v3.28.0.js +0 -0
  789. /package/dist/{esm/src/migration → migration}/to/v3.29.0.js +0 -0
  790. /package/dist/{esm/src/migration → migration}/to/v3.3.0.js +0 -0
  791. /package/dist/{esm/src/migration → migration}/to/v3.30.0.js +0 -0
  792. /package/dist/{esm/src/migration → migration}/to/v3.31.0.js +0 -0
  793. /package/dist/{esm/src/migration → migration}/to/v3.33.0.js +0 -0
  794. /package/dist/{esm/src/migration → migration}/to/v3.35.0.js +0 -0
  795. /package/dist/{esm/src/migration → migration}/to/v3.36.0.js +0 -0
  796. /package/dist/{esm/src/migration → migration}/to/v3.37.0.js +0 -0
  797. /package/dist/{esm/src/migration → migration}/to/v3.38.0.js +0 -0
  798. /package/dist/{esm/src/migration → migration}/to/v3.4.0.js +0 -0
  799. /package/dist/{esm/src/migration → migration}/to/v3.40.0.js +0 -0
  800. /package/dist/{esm/src/migration → migration}/to/v3.41.0.js +0 -0
  801. /package/dist/{esm/src/migration → migration}/to/v3.42.0.js +0 -0
  802. /package/dist/{esm/src/migration → migration}/to/v3.43.0.js +0 -0
  803. /package/dist/{esm/src/migration → migration}/to/v3.44.0.js +0 -0
  804. /package/dist/{esm/src/migration → migration}/to/v3.45.0.js +0 -0
  805. /package/dist/{esm/src/migration → migration}/to/v3.46.0.js +0 -0
  806. /package/dist/{esm/src/migration → migration}/to/v3.47.0.js +0 -0
  807. /package/dist/{esm/src/migration → migration}/to/v3.48.0.js +0 -0
  808. /package/dist/{esm/src/migration → migration}/to/v3.49.0.js +0 -0
  809. /package/dist/{esm/src/migration → migration}/to/v3.5.0.js +0 -0
  810. /package/dist/{esm/src/migration → migration}/to/v3.5.1.js +0 -0
  811. /package/dist/{esm/src/migration → migration}/to/v3.50.0.js +0 -0
  812. /package/dist/{esm/src/migration → migration}/to/v3.51.0.js +0 -0
  813. /package/dist/{esm/src/migration → migration}/to/v3.6.0.js +0 -0
  814. /package/dist/{esm/src/migration → migration}/to/v3.7.0.js +0 -0
  815. /package/dist/{esm/src/migration → migration}/to/v3.8.0.js +0 -0
  816. /package/dist/{esm/src/migration → migration}/to/v3.9.0.js +0 -0
  817. /package/dist/{types/src/migration → migration}/utils.d.ts +0 -0
  818. /package/dist/{esm/src/migration → migration}/utils.js +0 -0
  819. /package/dist/{esm/src/models → models}/query.js +0 -0
  820. /package/dist/{esm/src/models → models}/service.js +0 -0
  821. /package/dist/{types/src/patterns.d.ts → patterns.d.ts} +0 -0
  822. /package/dist/{esm/src/project-schema → project-schema}/latest.js +0 -0
  823. /package/dist/{types/src/project-schema → project-schema}/v1.0.0.d.ts +0 -0
  824. /package/dist/{esm/src/project-schema → project-schema}/v1.0.0.js +0 -0
  825. /package/dist/{types/src/project-schema → project-schema}/v3.0.0.d.ts +0 -0
  826. /package/dist/{esm/src/project-schema → project-schema}/v3.0.0.js +0 -0
  827. /package/dist/{types/src/project-schema → project-schema}/v3.1.0.d.ts +0 -0
  828. /package/dist/{esm/src/project-schema → project-schema}/v3.1.0.js +0 -0
  829. /package/dist/{types/src/project-schema → project-schema}/v3.10.0.d.ts +0 -0
  830. /package/dist/{esm/src/project-schema → project-schema}/v3.10.0.js +0 -0
  831. /package/dist/{types/src/project-schema → project-schema}/v3.11.0.d.ts +0 -0
  832. /package/dist/{esm/src/project-schema → project-schema}/v3.11.0.js +0 -0
  833. /package/dist/{types/src/project-schema → project-schema}/v3.12.0.d.ts +0 -0
  834. /package/dist/{esm/src/project-schema → project-schema}/v3.12.0.js +0 -0
  835. /package/dist/{types/src/project-schema → project-schema}/v3.12.1.d.ts +0 -0
  836. /package/dist/{esm/src/project-schema → project-schema}/v3.12.1.js +0 -0
  837. /package/dist/{types/src/project-schema → project-schema}/v3.12.2.d.ts +0 -0
  838. /package/dist/{esm/src/project-schema → project-schema}/v3.12.2.js +0 -0
  839. /package/dist/{types/src/project-schema → project-schema}/v3.12.3.d.ts +0 -0
  840. /package/dist/{esm/src/project-schema → project-schema}/v3.12.3.js +0 -0
  841. /package/dist/{types/src/project-schema → project-schema}/v3.13.0.d.ts +0 -0
  842. /package/dist/{esm/src/project-schema → project-schema}/v3.13.0.js +0 -0
  843. /package/dist/{types/src/project-schema → project-schema}/v3.13.1.d.ts +0 -0
  844. /package/dist/{esm/src/project-schema → project-schema}/v3.13.1.js +0 -0
  845. /package/dist/{types/src/project-schema → project-schema}/v3.14.0.d.ts +0 -0
  846. /package/dist/{esm/src/project-schema → project-schema}/v3.14.0.js +0 -0
  847. /package/dist/{types/src/project-schema → project-schema}/v3.15.0.d.ts +0 -0
  848. /package/dist/{esm/src/project-schema → project-schema}/v3.15.0.js +0 -0
  849. /package/dist/{types/src/project-schema → project-schema}/v3.16.0.d.ts +0 -0
  850. /package/dist/{esm/src/project-schema → project-schema}/v3.16.0.js +0 -0
  851. /package/dist/{types/src/project-schema → project-schema}/v3.17.0.d.ts +0 -0
  852. /package/dist/{esm/src/project-schema → project-schema}/v3.17.0.js +0 -0
  853. /package/dist/{types/src/project-schema → project-schema}/v3.17.1.d.ts +0 -0
  854. /package/dist/{esm/src/project-schema → project-schema}/v3.17.1.js +0 -0
  855. /package/dist/{types/src/project-schema → project-schema}/v3.18.0.d.ts +0 -0
  856. /package/dist/{esm/src/project-schema → project-schema}/v3.18.0.js +0 -0
  857. /package/dist/{types/src/project-schema → project-schema}/v3.18.1.d.ts +0 -0
  858. /package/dist/{esm/src/project-schema → project-schema}/v3.18.1.js +0 -0
  859. /package/dist/{types/src/project-schema → project-schema}/v3.18.2.d.ts +0 -0
  860. /package/dist/{esm/src/project-schema → project-schema}/v3.18.2.js +0 -0
  861. /package/dist/{types/src/project-schema → project-schema}/v3.19.0.d.ts +0 -0
  862. /package/dist/{esm/src/project-schema → project-schema}/v3.19.0.js +0 -0
  863. /package/dist/{types/src/project-schema → project-schema}/v3.2.0.d.ts +0 -0
  864. /package/dist/{esm/src/project-schema → project-schema}/v3.2.0.js +0 -0
  865. /package/dist/{types/src/project-schema → project-schema}/v3.20.0.d.ts +0 -0
  866. /package/dist/{esm/src/project-schema → project-schema}/v3.20.0.js +0 -0
  867. /package/dist/{types/src/project-schema → project-schema}/v3.21.0.d.ts +0 -0
  868. /package/dist/{esm/src/project-schema → project-schema}/v3.21.0.js +0 -0
  869. /package/dist/{types/src/project-schema → project-schema}/v3.22.0.d.ts +0 -0
  870. /package/dist/{esm/src/project-schema → project-schema}/v3.22.0.js +0 -0
  871. /package/dist/{types/src/project-schema → project-schema}/v3.23.0.d.ts +0 -0
  872. /package/dist/{esm/src/project-schema → project-schema}/v3.23.0.js +0 -0
  873. /package/dist/{types/src/project-schema → project-schema}/v3.24.0.d.ts +0 -0
  874. /package/dist/{esm/src/project-schema → project-schema}/v3.24.0.js +0 -0
  875. /package/dist/{types/src/project-schema → project-schema}/v3.25.0.d.ts +0 -0
  876. /package/dist/{esm/src/project-schema → project-schema}/v3.25.0.js +0 -0
  877. /package/dist/{types/src/project-schema → project-schema}/v3.26.0.d.ts +0 -0
  878. /package/dist/{esm/src/project-schema → project-schema}/v3.26.0.js +0 -0
  879. /package/dist/{types/src/project-schema → project-schema}/v3.27.0.d.ts +0 -0
  880. /package/dist/{esm/src/project-schema → project-schema}/v3.27.0.js +0 -0
  881. /package/dist/{types/src/project-schema → project-schema}/v3.28.0.d.ts +0 -0
  882. /package/dist/{esm/src/project-schema → project-schema}/v3.28.0.js +0 -0
  883. /package/dist/{types/src/project-schema → project-schema}/v3.29.0.d.ts +0 -0
  884. /package/dist/{esm/src/project-schema → project-schema}/v3.29.0.js +0 -0
  885. /package/dist/{types/src/project-schema → project-schema}/v3.3.0.d.ts +0 -0
  886. /package/dist/{esm/src/project-schema → project-schema}/v3.3.0.js +0 -0
  887. /package/dist/{types/src/project-schema → project-schema}/v3.30.0.d.ts +0 -0
  888. /package/dist/{esm/src/project-schema → project-schema}/v3.30.0.js +0 -0
  889. /package/dist/{types/src/project-schema → project-schema}/v3.31.0.d.ts +0 -0
  890. /package/dist/{esm/src/project-schema → project-schema}/v3.31.0.js +0 -0
  891. /package/dist/{types/src/project-schema → project-schema}/v3.32.0.d.ts +0 -0
  892. /package/dist/{esm/src/project-schema → project-schema}/v3.32.0.js +0 -0
  893. /package/dist/{types/src/project-schema → project-schema}/v3.33.0.d.ts +0 -0
  894. /package/dist/{esm/src/project-schema → project-schema}/v3.33.0.js +0 -0
  895. /package/dist/{types/src/project-schema → project-schema}/v3.34.0.d.ts +0 -0
  896. /package/dist/{esm/src/project-schema → project-schema}/v3.34.0.js +0 -0
  897. /package/dist/{types/src/project-schema → project-schema}/v3.35.0.d.ts +0 -0
  898. /package/dist/{esm/src/project-schema → project-schema}/v3.35.0.js +0 -0
  899. /package/dist/{types/src/project-schema → project-schema}/v3.36.0.d.ts +0 -0
  900. /package/dist/{esm/src/project-schema → project-schema}/v3.36.0.js +0 -0
  901. /package/dist/{types/src/project-schema → project-schema}/v3.37.0.d.ts +0 -0
  902. /package/dist/{esm/src/project-schema → project-schema}/v3.37.0.js +0 -0
  903. /package/dist/{types/src/project-schema → project-schema}/v3.38.0.d.ts +0 -0
  904. /package/dist/{esm/src/project-schema → project-schema}/v3.38.0.js +0 -0
  905. /package/dist/{types/src/project-schema → project-schema}/v3.39.0.d.ts +0 -0
  906. /package/dist/{esm/src/project-schema → project-schema}/v3.39.0.js +0 -0
  907. /package/dist/{types/src/project-schema → project-schema}/v3.4.0.d.ts +0 -0
  908. /package/dist/{esm/src/project-schema → project-schema}/v3.4.0.js +0 -0
  909. /package/dist/{types/src/project-schema → project-schema}/v3.40.0.d.ts +0 -0
  910. /package/dist/{esm/src/project-schema → project-schema}/v3.40.0.js +0 -0
  911. /package/dist/{types/src/project-schema → project-schema}/v3.41.0.d.ts +0 -0
  912. /package/dist/{esm/src/project-schema → project-schema}/v3.41.0.js +0 -0
  913. /package/dist/{types/src/project-schema → project-schema}/v3.42.0.d.ts +0 -0
  914. /package/dist/{esm/src/project-schema → project-schema}/v3.42.0.js +0 -0
  915. /package/dist/{types/src/project-schema → project-schema}/v3.43.0.d.ts +0 -0
  916. /package/dist/{esm/src/project-schema → project-schema}/v3.43.0.js +0 -0
  917. /package/dist/{types/src/project-schema → project-schema}/v3.44.0.d.ts +0 -0
  918. /package/dist/{esm/src/project-schema → project-schema}/v3.44.0.js +0 -0
  919. /package/dist/{types/src/project-schema → project-schema}/v3.45.0.d.ts +0 -0
  920. /package/dist/{esm/src/project-schema → project-schema}/v3.45.0.js +0 -0
  921. /package/dist/{types/src/project-schema → project-schema}/v3.46.0.d.ts +0 -0
  922. /package/dist/{esm/src/project-schema → project-schema}/v3.46.0.js +0 -0
  923. /package/dist/{types/src/project-schema → project-schema}/v3.47.0.d.ts +0 -0
  924. /package/dist/{esm/src/project-schema → project-schema}/v3.47.0.js +0 -0
  925. /package/dist/{esm/src/project-schema → project-schema}/v3.48.0.js +0 -0
  926. /package/dist/{esm/src/project-schema → project-schema}/v3.49.0.js +0 -0
  927. /package/dist/{types/src/project-schema → project-schema}/v3.5.0.d.ts +0 -0
  928. /package/dist/{esm/src/project-schema → project-schema}/v3.5.0.js +0 -0
  929. /package/dist/{types/src/project-schema → project-schema}/v3.5.1.d.ts +0 -0
  930. /package/dist/{esm/src/project-schema → project-schema}/v3.5.1.js +0 -0
  931. /package/dist/{esm/src/project-schema → project-schema}/v3.50.0.js +0 -0
  932. /package/dist/{esm/src/project-schema → project-schema}/v3.51.0.js +0 -0
  933. /package/dist/{types/src/project-schema → project-schema}/v3.6.0.d.ts +0 -0
  934. /package/dist/{esm/src/project-schema → project-schema}/v3.6.0.js +0 -0
  935. /package/dist/{types/src/project-schema → project-schema}/v3.7.0.d.ts +0 -0
  936. /package/dist/{esm/src/project-schema → project-schema}/v3.7.0.js +0 -0
  937. /package/dist/{types/src/project-schema → project-schema}/v3.8.0.d.ts +0 -0
  938. /package/dist/{esm/src/project-schema → project-schema}/v3.8.0.js +0 -0
  939. /package/dist/{types/src/project-schema → project-schema}/v3.9.0.d.ts +0 -0
  940. /package/dist/{esm/src/project-schema → project-schema}/v3.9.0.js +0 -0
  941. /package/dist/{types/src/project-schema → project-schema}/v4.0.0.d.ts +0 -0
  942. /package/dist/{esm/src/project-schema → project-schema}/v4.0.0.js +0 -0
  943. /package/dist/{types/src/scalars.d.ts → scalars.d.ts} +0 -0
  944. /package/dist/{esm/src/scalars.js → scalars.js} +0 -0
  945. /package/dist/{types/src/schemas → schemas}/index.d.ts +0 -0
  946. /package/dist/{cjs/src/schemas → schemas}/project-schema/latest.json +0 -0
  947. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v1.0.0.json +0 -0
  948. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.0.0.json +0 -0
  949. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.1.0.json +0 -0
  950. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.2.0.json +0 -0
  951. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.3.0.json +0 -0
  952. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.4.0.json +0 -0
  953. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.5.0.json +0 -0
  954. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.5.1.json +0 -0
  955. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.6.0.json +0 -0
  956. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.7.0.json +0 -0
  957. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.8.0.json +0 -0
  958. /package/dist/{cjs/src/schemas → schemas}/project-schema/meta-schema-v3.9.0.json +0 -0
  959. /package/dist/{cjs/src/schemas → schemas}/project-schema/v1.0.0.json +0 -0
  960. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.0.0.json +0 -0
  961. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.1.0.json +0 -0
  962. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.10.0.json +0 -0
  963. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.11.0.json +0 -0
  964. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.12.0.json +0 -0
  965. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.12.1.json +0 -0
  966. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.12.2.json +0 -0
  967. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.12.3.json +0 -0
  968. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.13.0.json +0 -0
  969. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.14.0.json +0 -0
  970. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.15.0.json +0 -0
  971. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.16.0.json +0 -0
  972. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.17.0.json +0 -0
  973. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.17.1.json +0 -0
  974. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.18.0.json +0 -0
  975. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.18.1.json +0 -0
  976. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.18.2.json +0 -0
  977. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.19.0.json +0 -0
  978. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.2.0.json +0 -0
  979. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.20.0.json +0 -0
  980. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.21.0.json +0 -0
  981. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.22.0.json +0 -0
  982. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.23.0.json +0 -0
  983. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.24.0.json +0 -0
  984. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.25.0.json +0 -0
  985. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.26.0.json +0 -0
  986. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.27.0.json +0 -0
  987. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.28.0.json +0 -0
  988. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.29.0.json +0 -0
  989. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.3.0.json +0 -0
  990. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.30.0.json +0 -0
  991. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.31.0.json +0 -0
  992. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.32.0.json +0 -0
  993. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.33.0.json +0 -0
  994. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.34.0.json +0 -0
  995. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.35.0.json +0 -0
  996. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.36.0.json +0 -0
  997. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.37.0.json +0 -0
  998. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.38.0.json +0 -0
  999. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.39.0.json +0 -0
  1000. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.4.0.json +0 -0
  1001. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.40.0.json +0 -0
  1002. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.41.0.json +0 -0
  1003. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.42.0.json +0 -0
  1004. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.43.0.json +0 -0
  1005. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.44.0.json +0 -0
  1006. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.45.0.json +0 -0
  1007. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.46.0.json +0 -0
  1008. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.47.0.json +0 -0
  1009. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.48.0.json +0 -0
  1010. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.49.0.json +0 -0
  1011. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.5.0.json +0 -0
  1012. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.5.1.json +0 -0
  1013. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.50.0.json +0 -0
  1014. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.51.0.json +0 -0
  1015. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.6.0.json +0 -0
  1016. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.7.0.json +0 -0
  1017. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.8.0.json +0 -0
  1018. /package/dist/{cjs/src/schemas → schemas}/project-schema/v3.9.0.json +0 -0
  1019. /package/dist/{cjs/src/schemas → schemas}/project-schema/v4.0.0.json +0 -0
  1020. /package/dist/{cjs/src/schemas → schemas}/project-schema.json +0 -0
  1021. /package/dist/{types/src/services → services}/types.d.ts +0 -0
  1022. /package/dist/{esm/src/services → services}/util.js +0 -0
  1023. /package/dist/{esm/src/template-shapes → template-shapes}/index.js +0 -0
  1024. /package/dist/{esm/src/template-shapes → template-shapes}/names.js +0 -0
  1025. /package/dist/{esm/src/template-shapes → template-shapes}/types.js +0 -0
  1026. /package/dist/{esm/src/types → types}/types.js +0 -0
  1027. /package/dist/{esm/src/util → util}/ai-tools.js +0 -0
  1028. /package/dist/{esm/src/util → util}/find-shape-at-path.js +0 -0
  1029. /package/dist/{esm/src/util → util}/patch-schema.js +0 -0
  1030. /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;