@takeshape/schema 11.144.1 → 11.154.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 (537) hide show
  1. package/examples/latest/all-fields-shapes-inline.json +1 -1
  2. package/examples/latest/all-fields-shapes.json +1 -1
  3. package/examples/latest/betzino.json +1 -1
  4. package/examples/latest/blog-schema.json +1 -1
  5. package/examples/latest/brewery-schema.json +1 -1
  6. package/examples/latest/chat-agent-schema.json +1 -1
  7. package/examples/latest/clear-cache-schema.json +1 -1
  8. package/examples/latest/complex-project-schema.json +1 -1
  9. package/examples/latest/complex-schema.json +1 -1
  10. package/examples/latest/edit-schema.json +1 -1
  11. package/examples/latest/frank-and-fred-schema.json +1 -1
  12. package/examples/latest/generate-agent-schema.json +1 -1
  13. package/examples/latest/klirr-schema.json +1 -1
  14. package/examples/latest/layers/rick-and-morty-layer.json +1 -1
  15. package/examples/latest/layers/shopify-layer-2023-01.json +1 -1
  16. package/examples/latest/layers/shopify-storefront-2023-04.json +1 -1
  17. package/examples/latest/layers/wordpress-2024-01.json +1 -1
  18. package/examples/latest/massive-schema.json +1 -1
  19. package/examples/latest/mill-components-schema.json +1 -1
  20. package/examples/latest/nested-shape-arrays.json +1 -1
  21. package/examples/latest/one-earth.json +1 -1
  22. package/examples/latest/pet-oneof-array.json +1 -1
  23. package/examples/latest/post-schema.json +1 -1
  24. package/examples/latest/pruned-shopify-product-schema.json +1 -1
  25. package/examples/latest/rag-example.json +1 -1
  26. package/examples/latest/real-world-schema.json +1 -1
  27. package/examples/latest/recursive-repeater-schema.json +1 -1
  28. package/examples/latest/recursive-schema.json +1 -1
  29. package/examples/latest/rick-and-morty-ast.json +1 -1
  30. package/examples/latest/rick-and-morty-graphql.json +1 -1
  31. package/examples/latest/rick-and-morty-rest.json +1 -1
  32. package/examples/latest/rick-and-morty-user-schema.json +1 -1
  33. package/examples/latest/rick-and-morty-with-indexing.json +1 -1
  34. package/examples/latest/schema-where-filter.json +1 -1
  35. package/examples/latest/schema-with-repeater-draftjs.json +1 -1
  36. package/examples/latest/schema-with-rick-and-morty.json +1 -1
  37. package/examples/latest/shape-books-v3_2_0.json +1 -1
  38. package/examples/latest/shape-books.json +1 -1
  39. package/examples/latest/shape-editor-schema-edited.json +1 -1
  40. package/examples/latest/shape-editor-schema-initial.json +1 -1
  41. package/examples/latest/shapedb-crud-every-prop-type.json +1 -1
  42. package/examples/latest/shopify-lookbook.json +1 -1
  43. package/examples/latest/shopify-product-2022-07.json +1 -1
  44. package/examples/latest/shopify-product-2023-04.json +1 -1
  45. package/examples/latest/shopify-store-with-widget.json +1 -1
  46. package/examples/latest/stripe-product-runtime-schema.json +1 -1
  47. package/examples/latest/stripe-starter-resolved.json +1 -1
  48. package/examples/latest/user-schema-no-required.json +1 -1
  49. package/examples/latest/user-schema-with-defaults.json +1 -1
  50. package/examples/latest/valvoline-ai-demo.json +1461 -1421
  51. package/examples/latest/vector-search-schema.json +1 -1
  52. package/package.json +10 -9
  53. package/dist/agents.d.ts +0 -62
  54. package/dist/agents.js +0 -338
  55. package/dist/api-version.d.ts +0 -5
  56. package/dist/api-version.js +0 -17
  57. package/dist/auth-schemas.d.ts +0 -128
  58. package/dist/auth-schemas.js +0 -7
  59. package/dist/auth-utils.d.ts +0 -5
  60. package/dist/auth-utils.js +0 -6
  61. package/dist/builtin-schema.d.ts +0 -18
  62. package/dist/builtin-schema.js +0 -683
  63. package/dist/constants.d.ts +0 -1
  64. package/dist/constants.js +0 -1
  65. package/dist/content-schema-transform.d.ts +0 -35
  66. package/dist/content-schema-transform.js +0 -162
  67. package/dist/create-input-schema.d.ts +0 -9
  68. package/dist/create-input-schema.js +0 -68
  69. package/dist/enum.d.ts +0 -2
  70. package/dist/enum.js +0 -9
  71. package/dist/flatten-templates.d.ts +0 -2
  72. package/dist/flatten-templates.js +0 -20
  73. package/dist/get-is-leaf.d.ts +0 -3
  74. package/dist/get-is-leaf.js +0 -56
  75. package/dist/index.d.ts +0 -62
  76. package/dist/index.js +0 -59
  77. package/dist/interfaces.d.ts +0 -14
  78. package/dist/interfaces.js +0 -86
  79. package/dist/layers/layers.d.ts +0 -26
  80. package/dist/layers/layers.js +0 -301
  81. package/dist/layers/refs.d.ts +0 -102
  82. package/dist/layers/refs.js +0 -220
  83. package/dist/layers/type-utils.d.ts +0 -59
  84. package/dist/layers/type-utils.js +0 -118
  85. package/dist/layers/visitor.d.ts +0 -5
  86. package/dist/layers/visitor.js +0 -38
  87. package/dist/migration/index.d.ts +0 -73
  88. package/dist/migration/index.js +0 -103
  89. package/dist/migration/to/v3.0.0.d.ts +0 -4
  90. package/dist/migration/to/v3.0.0.js +0 -212
  91. package/dist/migration/to/v3.1.0.d.ts +0 -4
  92. package/dist/migration/to/v3.1.0.js +0 -194
  93. package/dist/migration/to/v3.10.0.d.ts +0 -4
  94. package/dist/migration/to/v3.10.0.js +0 -67
  95. package/dist/migration/to/v3.11.0.d.ts +0 -4
  96. package/dist/migration/to/v3.11.0.js +0 -85
  97. package/dist/migration/to/v3.12.3.d.ts +0 -4
  98. package/dist/migration/to/v3.12.3.js +0 -87
  99. package/dist/migration/to/v3.13.0.d.ts +0 -4
  100. package/dist/migration/to/v3.13.0.js +0 -17
  101. package/dist/migration/to/v3.17.0.d.ts +0 -4
  102. package/dist/migration/to/v3.17.0.js +0 -22
  103. package/dist/migration/to/v3.18.0.d.ts +0 -4
  104. package/dist/migration/to/v3.18.0.js +0 -64
  105. package/dist/migration/to/v3.18.1.d.ts +0 -4
  106. package/dist/migration/to/v3.18.1.js +0 -12
  107. package/dist/migration/to/v3.18.2.d.ts +0 -4
  108. package/dist/migration/to/v3.18.2.js +0 -19
  109. package/dist/migration/to/v3.20.0.d.ts +0 -4
  110. package/dist/migration/to/v3.20.0.js +0 -24
  111. package/dist/migration/to/v3.22.0.d.ts +0 -4
  112. package/dist/migration/to/v3.22.0.js +0 -25
  113. package/dist/migration/to/v3.24.0.d.ts +0 -4
  114. package/dist/migration/to/v3.24.0.js +0 -11
  115. package/dist/migration/to/v3.25.0.d.ts +0 -4
  116. package/dist/migration/to/v3.25.0.js +0 -11
  117. package/dist/migration/to/v3.3.0.d.ts +0 -4
  118. package/dist/migration/to/v3.3.0.js +0 -13
  119. package/dist/migration/to/v3.31.0.d.ts +0 -4
  120. package/dist/migration/to/v3.31.0.js +0 -38
  121. package/dist/migration/to/v3.32.0.d.ts +0 -4
  122. package/dist/migration/to/v3.32.0.js +0 -59
  123. package/dist/migration/to/v3.34.0.d.ts +0 -6
  124. package/dist/migration/to/v3.34.0.js +0 -111
  125. package/dist/migration/to/v3.36.0.d.ts +0 -4
  126. package/dist/migration/to/v3.36.0.js +0 -22
  127. package/dist/migration/to/v3.39.0.d.ts +0 -4
  128. package/dist/migration/to/v3.39.0.js +0 -45
  129. package/dist/migration/to/v3.40.0.d.ts +0 -4
  130. package/dist/migration/to/v3.40.0.js +0 -26
  131. package/dist/migration/to/v3.46.0.d.ts +0 -4
  132. package/dist/migration/to/v3.46.0.js +0 -35
  133. package/dist/migration/to/v3.57.0.d.ts +0 -4
  134. package/dist/migration/to/v3.57.0.js +0 -18
  135. package/dist/migration/to/v3.9.0.d.ts +0 -4
  136. package/dist/migration/to/v3.9.0.js +0 -79
  137. package/dist/migration/types.d.ts +0 -26
  138. package/dist/migration/types.js +0 -3
  139. package/dist/migration/utils.d.ts +0 -2
  140. package/dist/migration/utils.js +0 -6
  141. package/dist/mocks.d.ts +0 -14
  142. package/dist/mocks.js +0 -58
  143. package/dist/models/agent.d.ts +0 -3
  144. package/dist/models/agent.js +0 -29
  145. package/dist/models/project-schema.d.ts +0 -18
  146. package/dist/models/project-schema.js +0 -119
  147. package/dist/models/query.d.ts +0 -3
  148. package/dist/models/query.js +0 -38
  149. package/dist/models/runtime-schema.d.ts +0 -9
  150. package/dist/models/runtime-schema.js +0 -20
  151. package/dist/models/shape.d.ts +0 -4
  152. package/dist/models/shape.js +0 -36
  153. package/dist/models/types.d.ts +0 -36
  154. package/dist/models/types.js +0 -1
  155. package/dist/models/user-schema.d.ts +0 -7
  156. package/dist/models/user-schema.js +0 -9
  157. package/dist/patterns.d.ts +0 -12
  158. package/dist/patterns.js +0 -1
  159. package/dist/project-schema/index.d.ts +0 -211
  160. package/dist/project-schema/index.js +0 -83
  161. package/dist/project-schema/latest.d.ts +0 -2619
  162. package/dist/project-schema/latest.js +0 -7
  163. package/dist/project-schema/migrate.d.ts +0 -4
  164. package/dist/project-schema/migrate.js +0 -218
  165. package/dist/project-schema/v1.0.0.d.ts +0 -299
  166. package/dist/project-schema/v1.0.0.js +0 -7
  167. package/dist/project-schema/v3.0.0.d.ts +0 -478
  168. package/dist/project-schema/v3.0.0.js +0 -7
  169. package/dist/project-schema/v3.1.0.d.ts +0 -621
  170. package/dist/project-schema/v3.1.0.js +0 -7
  171. package/dist/project-schema/v3.10.0.d.ts +0 -1201
  172. package/dist/project-schema/v3.10.0.js +0 -7
  173. package/dist/project-schema/v3.11.0.d.ts +0 -1210
  174. package/dist/project-schema/v3.11.0.js +0 -7
  175. package/dist/project-schema/v3.12.0.d.ts +0 -1214
  176. package/dist/project-schema/v3.12.0.js +0 -7
  177. package/dist/project-schema/v3.12.1.d.ts +0 -1273
  178. package/dist/project-schema/v3.12.1.js +0 -7
  179. package/dist/project-schema/v3.12.2.d.ts +0 -1283
  180. package/dist/project-schema/v3.12.2.js +0 -7
  181. package/dist/project-schema/v3.12.3.d.ts +0 -1306
  182. package/dist/project-schema/v3.12.3.js +0 -7
  183. package/dist/project-schema/v3.13.0.d.ts +0 -1317
  184. package/dist/project-schema/v3.13.0.js +0 -7
  185. package/dist/project-schema/v3.13.1.d.ts +0 -1412
  186. package/dist/project-schema/v3.13.1.js +0 -7
  187. package/dist/project-schema/v3.14.0.d.ts +0 -1436
  188. package/dist/project-schema/v3.14.0.js +0 -7
  189. package/dist/project-schema/v3.15.0.d.ts +0 -1458
  190. package/dist/project-schema/v3.15.0.js +0 -7
  191. package/dist/project-schema/v3.16.0.d.ts +0 -1470
  192. package/dist/project-schema/v3.16.0.js +0 -7
  193. package/dist/project-schema/v3.17.0.d.ts +0 -1467
  194. package/dist/project-schema/v3.17.0.js +0 -7
  195. package/dist/project-schema/v3.17.1.d.ts +0 -1468
  196. package/dist/project-schema/v3.17.1.js +0 -7
  197. package/dist/project-schema/v3.18.0.d.ts +0 -1333
  198. package/dist/project-schema/v3.18.0.js +0 -7
  199. package/dist/project-schema/v3.18.1.d.ts +0 -1332
  200. package/dist/project-schema/v3.18.1.js +0 -7
  201. package/dist/project-schema/v3.18.2.d.ts +0 -1332
  202. package/dist/project-schema/v3.18.2.js +0 -7
  203. package/dist/project-schema/v3.19.0.d.ts +0 -1336
  204. package/dist/project-schema/v3.19.0.js +0 -7
  205. package/dist/project-schema/v3.2.0.d.ts +0 -632
  206. package/dist/project-schema/v3.2.0.js +0 -7
  207. package/dist/project-schema/v3.20.0.d.ts +0 -1336
  208. package/dist/project-schema/v3.20.0.js +0 -7
  209. package/dist/project-schema/v3.21.0.d.ts +0 -1338
  210. package/dist/project-schema/v3.21.0.js +0 -7
  211. package/dist/project-schema/v3.22.0.d.ts +0 -1344
  212. package/dist/project-schema/v3.22.0.js +0 -7
  213. package/dist/project-schema/v3.23.0.d.ts +0 -1376
  214. package/dist/project-schema/v3.23.0.js +0 -7
  215. package/dist/project-schema/v3.24.0.d.ts +0 -1364
  216. package/dist/project-schema/v3.24.0.js +0 -7
  217. package/dist/project-schema/v3.25.0.d.ts +0 -1363
  218. package/dist/project-schema/v3.25.0.js +0 -7
  219. package/dist/project-schema/v3.26.0.d.ts +0 -1388
  220. package/dist/project-schema/v3.26.0.js +0 -7
  221. package/dist/project-schema/v3.27.0.d.ts +0 -1397
  222. package/dist/project-schema/v3.27.0.js +0 -7
  223. package/dist/project-schema/v3.28.0.d.ts +0 -1416
  224. package/dist/project-schema/v3.28.0.js +0 -7
  225. package/dist/project-schema/v3.29.0.d.ts +0 -1423
  226. package/dist/project-schema/v3.29.0.js +0 -7
  227. package/dist/project-schema/v3.3.0.d.ts +0 -632
  228. package/dist/project-schema/v3.3.0.js +0 -7
  229. package/dist/project-schema/v3.30.0.d.ts +0 -1416
  230. package/dist/project-schema/v3.30.0.js +0 -7
  231. package/dist/project-schema/v3.31.0.d.ts +0 -1448
  232. package/dist/project-schema/v3.31.0.js +0 -7
  233. package/dist/project-schema/v3.32.0.d.ts +0 -1439
  234. package/dist/project-schema/v3.32.0.js +0 -7
  235. package/dist/project-schema/v3.33.0.d.ts +0 -1445
  236. package/dist/project-schema/v3.33.0.js +0 -7
  237. package/dist/project-schema/v3.34.0.d.ts +0 -1445
  238. package/dist/project-schema/v3.34.0.js +0 -7
  239. package/dist/project-schema/v3.35.0.d.ts +0 -1464
  240. package/dist/project-schema/v3.35.0.js +0 -7
  241. package/dist/project-schema/v3.36.0.d.ts +0 -1470
  242. package/dist/project-schema/v3.36.0.js +0 -7
  243. package/dist/project-schema/v3.37.0.d.ts +0 -1522
  244. package/dist/project-schema/v3.37.0.js +0 -7
  245. package/dist/project-schema/v3.38.0.d.ts +0 -1522
  246. package/dist/project-schema/v3.38.0.js +0 -7
  247. package/dist/project-schema/v3.39.0.d.ts +0 -1529
  248. package/dist/project-schema/v3.39.0.js +0 -7
  249. package/dist/project-schema/v3.4.0.d.ts +0 -624
  250. package/dist/project-schema/v3.4.0.js +0 -7
  251. package/dist/project-schema/v3.40.0.d.ts +0 -1530
  252. package/dist/project-schema/v3.40.0.js +0 -7
  253. package/dist/project-schema/v3.41.0.d.ts +0 -1530
  254. package/dist/project-schema/v3.41.0.js +0 -7
  255. package/dist/project-schema/v3.42.0.d.ts +0 -1534
  256. package/dist/project-schema/v3.42.0.js +0 -7
  257. package/dist/project-schema/v3.43.0.d.ts +0 -1536
  258. package/dist/project-schema/v3.43.0.js +0 -7
  259. package/dist/project-schema/v3.44.0.d.ts +0 -1621
  260. package/dist/project-schema/v3.44.0.js +0 -7
  261. package/dist/project-schema/v3.45.0.d.ts +0 -1650
  262. package/dist/project-schema/v3.45.0.js +0 -7
  263. package/dist/project-schema/v3.46.0.d.ts +0 -1703
  264. package/dist/project-schema/v3.46.0.js +0 -7
  265. package/dist/project-schema/v3.47.0.d.ts +0 -1736
  266. package/dist/project-schema/v3.47.0.js +0 -7
  267. package/dist/project-schema/v3.48.0.d.ts +0 -2208
  268. package/dist/project-schema/v3.48.0.js +0 -7
  269. package/dist/project-schema/v3.49.0.d.ts +0 -2217
  270. package/dist/project-schema/v3.49.0.js +0 -7
  271. package/dist/project-schema/v3.5.0.d.ts +0 -649
  272. package/dist/project-schema/v3.5.0.js +0 -7
  273. package/dist/project-schema/v3.5.1.d.ts +0 -649
  274. package/dist/project-schema/v3.5.1.js +0 -7
  275. package/dist/project-schema/v3.50.0.d.ts +0 -2269
  276. package/dist/project-schema/v3.50.0.js +0 -7
  277. package/dist/project-schema/v3.51.0.d.ts +0 -2269
  278. package/dist/project-schema/v3.51.0.js +0 -7
  279. package/dist/project-schema/v3.52.0.d.ts +0 -2269
  280. package/dist/project-schema/v3.52.0.js +0 -7
  281. package/dist/project-schema/v3.53.0.d.ts +0 -2350
  282. package/dist/project-schema/v3.53.0.js +0 -7
  283. package/dist/project-schema/v3.54.0.d.ts +0 -2369
  284. package/dist/project-schema/v3.54.0.js +0 -7
  285. package/dist/project-schema/v3.55.0.d.ts +0 -2369
  286. package/dist/project-schema/v3.55.0.js +0 -7
  287. package/dist/project-schema/v3.56.0.d.ts +0 -2405
  288. package/dist/project-schema/v3.56.0.js +0 -7
  289. package/dist/project-schema/v3.57.0.d.ts +0 -2601
  290. package/dist/project-schema/v3.57.0.js +0 -7
  291. package/dist/project-schema/v3.58.0.d.ts +0 -2601
  292. package/dist/project-schema/v3.58.0.js +0 -7
  293. package/dist/project-schema/v3.59.0.d.ts +0 -2619
  294. package/dist/project-schema/v3.59.0.js +0 -7
  295. package/dist/project-schema/v3.6.0.d.ts +0 -658
  296. package/dist/project-schema/v3.6.0.js +0 -7
  297. package/dist/project-schema/v3.7.0.d.ts +0 -961
  298. package/dist/project-schema/v3.7.0.js +0 -7
  299. package/dist/project-schema/v3.8.0.d.ts +0 -979
  300. package/dist/project-schema/v3.8.0.js +0 -7
  301. package/dist/project-schema/v3.9.0.d.ts +0 -1178
  302. package/dist/project-schema/v3.9.0.js +0 -7
  303. package/dist/project-schema/v4.0.0.d.ts +0 -1328
  304. package/dist/project-schema/v4.0.0.js +0 -7
  305. package/dist/refs.d.ts +0 -218
  306. package/dist/refs.js +0 -616
  307. package/dist/relationships.d.ts +0 -40
  308. package/dist/relationships.js +0 -302
  309. package/dist/resolvers/ai/abort-agent-message-args.d.ts +0 -16
  310. package/dist/resolvers/ai/abort-agent-message-args.js +0 -13
  311. package/dist/resolvers/ai/abort-agent-message-response.d.ts +0 -39
  312. package/dist/resolvers/ai/abort-agent-message-response.js +0 -19
  313. package/dist/resolvers/ai/agent-chat-args.d.ts +0 -17
  314. package/dist/resolvers/ai/agent-chat-args.js +0 -14
  315. package/dist/resolvers/ai/agent-chat-payload.d.ts +0 -35
  316. package/dist/resolvers/ai/agent-chat-payload.js +0 -26
  317. package/dist/resolvers/ai/agent-chat-response.d.ts +0 -289
  318. package/dist/resolvers/ai/agent-chat-response.js +0 -21
  319. package/dist/resolvers/ai/agent-generate-args.d.ts +0 -17
  320. package/dist/resolvers/ai/agent-generate-args.js +0 -14
  321. package/dist/resolvers/ai/agent-message-input.d.ts +0 -73
  322. package/dist/resolvers/ai/agent-message-input.js +0 -39
  323. package/dist/resolvers/ai/agent-message-output.d.ts +0 -169
  324. package/dist/resolvers/ai/agent-message-output.js +0 -77
  325. package/dist/resolvers/ai/agent-message-payload.d.ts +0 -507
  326. package/dist/resolvers/ai/agent-message-payload.js +0 -156
  327. package/dist/resolvers/ai/agent-run-mode.d.ts +0 -7
  328. package/dist/resolvers/ai/agent-run-mode.js +0 -9
  329. package/dist/resolvers/ai/agent-session-payload.d.ts +0 -515
  330. package/dist/resolvers/ai/agent-session-payload.js +0 -175
  331. package/dist/resolvers/ai/create-agent-session-response.d.ts +0 -199
  332. package/dist/resolvers/ai/create-agent-session-response.js +0 -9
  333. package/dist/resolvers/ai/embedding-search.d.ts +0 -54
  334. package/dist/resolvers/ai/embedding-search.js +0 -46
  335. package/dist/resolvers/ai/get-agent-message-args.d.ts +0 -16
  336. package/dist/resolvers/ai/get-agent-message-args.js +0 -13
  337. package/dist/resolvers/ai/get-agent-message-response.d.ts +0 -805
  338. package/dist/resolvers/ai/get-agent-message-response.js +0 -63
  339. package/dist/resolvers/ai/inspect-agent-args.d.ts +0 -16
  340. package/dist/resolvers/ai/inspect-agent-args.js +0 -13
  341. package/dist/resolvers/ai/inspect-agent-response.d.ts +0 -504
  342. package/dist/resolvers/ai/inspect-agent-response.js +0 -48
  343. package/dist/resolvers/ai/send-agent-feedback-args.d.ts +0 -52
  344. package/dist/resolvers/ai/send-agent-feedback-args.js +0 -16
  345. package/dist/resolvers/ai/send-agent-message-args.d.ts +0 -48
  346. package/dist/resolvers/ai/send-agent-message-args.js +0 -36
  347. package/dist/resolvers/ai/send-agent-message-response.d.ts +0 -353
  348. package/dist/resolvers/ai/send-agent-message-response.js +0 -51
  349. package/dist/resolvers/ai/types.d.ts +0 -6
  350. package/dist/resolvers/ai/types.js +0 -1
  351. package/dist/resolvers/takeshape/assets/asset-image-meta.d.ts +0 -79
  352. package/dist/resolvers/takeshape/assets/asset-image-meta.js +0 -98
  353. package/dist/resolvers/takeshape/assets/asset-image-params.d.ts +0 -901
  354. package/dist/resolvers/takeshape/assets/asset-image-params.js +0 -726
  355. package/dist/resolvers/takeshape/assets/asset-image.d.ts +0 -17
  356. package/dist/resolvers/takeshape/assets/asset-image.js +0 -15
  357. package/dist/resolvers/takeshape/assets/asset.d.ts +0 -125
  358. package/dist/resolvers/takeshape/assets/asset.js +0 -107
  359. package/dist/resolvers/takeshape/assets/constants.d.ts +0 -11
  360. package/dist/resolvers/takeshape/assets/constants.js +0 -11
  361. package/dist/resolvers/takeshape/builtins/constants.d.ts +0 -1
  362. package/dist/resolvers/takeshape/builtins/constants.js +0 -1
  363. package/dist/runtime-schema.d.ts +0 -6
  364. package/dist/runtime-schema.js +0 -85
  365. package/dist/scalars.d.ts +0 -2
  366. package/dist/scalars.js +0 -4
  367. package/dist/schema-transform.d.ts +0 -19
  368. package/dist/schema-transform.js +0 -74
  369. package/dist/schema-util.d.ts +0 -266
  370. package/dist/schema-util.js +0 -1127
  371. package/dist/schemas/auth-schemas.json +0 -374
  372. package/dist/schemas/index.d.ts +0 -4
  373. package/dist/schemas/index.js +0 -170
  374. package/dist/schemas/project-schema/experimental-2025-07.json +0 -1297
  375. package/dist/schemas/project-schema/latest.d.ts +0 -180
  376. package/dist/schemas/project-schema/latest.js +0 -11
  377. package/dist/schemas/project-schema/latest.json +0 -4846
  378. package/dist/schemas/project-schema/meta-schema-v1.0.0.json +0 -193
  379. package/dist/schemas/project-schema/meta-schema-v3.0.0.json +0 -608
  380. package/dist/schemas/project-schema/meta-schema-v3.1.0.json +0 -608
  381. package/dist/schemas/project-schema/meta-schema-v3.2.0.json +0 -612
  382. package/dist/schemas/project-schema/meta-schema-v3.3.0.json +0 -612
  383. package/dist/schemas/project-schema/meta-schema-v3.4.0.json +0 -637
  384. package/dist/schemas/project-schema/meta-schema-v3.5.0.json +0 -626
  385. package/dist/schemas/project-schema/meta-schema-v3.5.1.json +0 -626
  386. package/dist/schemas/project-schema/meta-schema-v3.6.0.json +0 -629
  387. package/dist/schemas/project-schema/meta-schema-v3.7.0.json +0 -1137
  388. package/dist/schemas/project-schema/meta-schema-v3.8.0.json +0 -1137
  389. package/dist/schemas/project-schema/meta-schema-v3.9.0.json +0 -1477
  390. package/dist/schemas/project-schema/v1.0.0.json +0 -321
  391. package/dist/schemas/project-schema/v3.0.0.json +0 -414
  392. package/dist/schemas/project-schema/v3.1.0.json +0 -572
  393. package/dist/schemas/project-schema/v3.10.0.json +0 -2097
  394. package/dist/schemas/project-schema/v3.11.0.json +0 -2141
  395. package/dist/schemas/project-schema/v3.12.0.json +0 -2144
  396. package/dist/schemas/project-schema/v3.12.1.json +0 -2282
  397. package/dist/schemas/project-schema/v3.12.2.json +0 -2304
  398. package/dist/schemas/project-schema/v3.12.3.json +0 -2357
  399. package/dist/schemas/project-schema/v3.13.0.json +0 -2377
  400. package/dist/schemas/project-schema/v3.14.0.json +0 -2385
  401. package/dist/schemas/project-schema/v3.15.0.json +0 -2365
  402. package/dist/schemas/project-schema/v3.16.0.json +0 -2373
  403. package/dist/schemas/project-schema/v3.17.0.json +0 -2378
  404. package/dist/schemas/project-schema/v3.17.1.json +0 -2380
  405. package/dist/schemas/project-schema/v3.18.0.json +0 -2356
  406. package/dist/schemas/project-schema/v3.18.1.json +0 -2357
  407. package/dist/schemas/project-schema/v3.18.2.json +0 -2357
  408. package/dist/schemas/project-schema/v3.19.0.json +0 -2369
  409. package/dist/schemas/project-schema/v3.2.0.json +0 -580
  410. package/dist/schemas/project-schema/v3.20.0.json +0 -2369
  411. package/dist/schemas/project-schema/v3.21.0.json +0 -2376
  412. package/dist/schemas/project-schema/v3.22.0.json +0 -2381
  413. package/dist/schemas/project-schema/v3.23.0.json +0 -2456
  414. package/dist/schemas/project-schema/v3.24.0.json +0 -2556
  415. package/dist/schemas/project-schema/v3.25.0.json +0 -2552
  416. package/dist/schemas/project-schema/v3.26.0.json +0 -2599
  417. package/dist/schemas/project-schema/v3.27.0.json +0 -2611
  418. package/dist/schemas/project-schema/v3.28.0.json +0 -2656
  419. package/dist/schemas/project-schema/v3.29.0.json +0 -2670
  420. package/dist/schemas/project-schema/v3.3.0.json +0 -581
  421. package/dist/schemas/project-schema/v3.30.0.json +0 -2656
  422. package/dist/schemas/project-schema/v3.31.0.json +0 -2714
  423. package/dist/schemas/project-schema/v3.32.0.json +0 -2708
  424. package/dist/schemas/project-schema/v3.33.0.json +0 -2715
  425. package/dist/schemas/project-schema/v3.34.0.json +0 -2715
  426. package/dist/schemas/project-schema/v3.35.0.json +0 -2748
  427. package/dist/schemas/project-schema/v3.36.0.json +0 -2756
  428. package/dist/schemas/project-schema/v3.37.0.json +0 -2821
  429. package/dist/schemas/project-schema/v3.38.0.json +0 -2819
  430. package/dist/schemas/project-schema/v3.39.0.json +0 -2827
  431. package/dist/schemas/project-schema/v3.4.0.json +0 -571
  432. package/dist/schemas/project-schema/v3.40.0.json +0 -2830
  433. package/dist/schemas/project-schema/v3.41.0.json +0 -2830
  434. package/dist/schemas/project-schema/v3.42.0.json +0 -2835
  435. package/dist/schemas/project-schema/v3.43.0.json +0 -2841
  436. package/dist/schemas/project-schema/v3.44.0.json +0 -3013
  437. package/dist/schemas/project-schema/v3.45.0.json +0 -3064
  438. package/dist/schemas/project-schema/v3.46.0.json +0 -3136
  439. package/dist/schemas/project-schema/v3.47.0.json +0 -3189
  440. package/dist/schemas/project-schema/v3.48.0.json +0 -3196
  441. package/dist/schemas/project-schema/v3.49.0.json +0 -3239
  442. package/dist/schemas/project-schema/v3.5.0.json +0 -571
  443. package/dist/schemas/project-schema/v3.5.1.json +0 -571
  444. package/dist/schemas/project-schema/v3.50.0.json +0 -3320
  445. package/dist/schemas/project-schema/v3.51.0.json +0 -3326
  446. package/dist/schemas/project-schema/v3.52.0.json +0 -3326
  447. package/dist/schemas/project-schema/v3.53.0.json +0 -3476
  448. package/dist/schemas/project-schema/v3.54.0.json +0 -3512
  449. package/dist/schemas/project-schema/v3.55.0.json +0 -3515
  450. package/dist/schemas/project-schema/v3.56.0.json +0 -3530
  451. package/dist/schemas/project-schema/v3.57.0.json +0 -4815
  452. package/dist/schemas/project-schema/v3.58.0.json +0 -4815
  453. package/dist/schemas/project-schema/v3.59.0.json +0 -4846
  454. package/dist/schemas/project-schema/v3.6.0.json +0 -587
  455. package/dist/schemas/project-schema/v3.7.0.json +0 -587
  456. package/dist/schemas/project-schema/v3.8.0.json +0 -604
  457. package/dist/schemas/project-schema/v3.9.0.json +0 -604
  458. package/dist/schemas/project-schema/v4.0.0.json +0 -2316
  459. package/dist/schemas/project-schema.json +0 -214
  460. package/dist/service-dependencies.d.ts +0 -13
  461. package/dist/service-dependencies.js +0 -165
  462. package/dist/services/services.d.ts +0 -31
  463. package/dist/services/services.js +0 -145
  464. package/dist/services/types.d.ts +0 -11
  465. package/dist/services/types.js +0 -1
  466. package/dist/services/util.d.ts +0 -16
  467. package/dist/services/util.js +0 -36
  468. package/dist/shape-paths.d.ts +0 -7
  469. package/dist/shape-paths.js +0 -28
  470. package/dist/taxonomies.d.ts +0 -15
  471. package/dist/taxonomies.js +0 -24
  472. package/dist/template-shapes/index.d.ts +0 -7
  473. package/dist/template-shapes/index.js +0 -33
  474. package/dist/template-shapes/names.d.ts +0 -10
  475. package/dist/template-shapes/names.js +0 -21
  476. package/dist/template-shapes/templates.d.ts +0 -32
  477. package/dist/template-shapes/templates.js +0 -316
  478. package/dist/template-shapes/types.d.ts +0 -15
  479. package/dist/template-shapes/types.js +0 -7
  480. package/dist/template-shapes/where.d.ts +0 -37
  481. package/dist/template-shapes/where.js +0 -400
  482. package/dist/types/index.d.ts +0 -3
  483. package/dist/types/index.js +0 -2
  484. package/dist/types/transforms.d.ts +0 -15
  485. package/dist/types/transforms.js +0 -1
  486. package/dist/types/types.d.ts +0 -200
  487. package/dist/types/types.js +0 -10
  488. package/dist/types/utils.d.ts +0 -112
  489. package/dist/types/utils.js +0 -269
  490. package/dist/unions.d.ts +0 -14
  491. package/dist/unions.js +0 -77
  492. package/dist/util/ai-tools.d.ts +0 -2
  493. package/dist/util/ai-tools.js +0 -14
  494. package/dist/util/api-indexing.d.ts +0 -9
  495. package/dist/util/api-indexing.js +0 -57
  496. package/dist/util/coerce-value.d.ts +0 -9
  497. package/dist/util/coerce-value.js +0 -32
  498. package/dist/util/detect-cycles.d.ts +0 -7
  499. package/dist/util/detect-cycles.js +0 -45
  500. package/dist/util/expressions.d.ts +0 -34
  501. package/dist/util/expressions.js +0 -350
  502. package/dist/util/find-shape-at-path.d.ts +0 -21
  503. package/dist/util/find-shape-at-path.js +0 -53
  504. package/dist/util/form-config.d.ts +0 -11
  505. package/dist/util/form-config.js +0 -62
  506. package/dist/util/get-conflicting-properties.d.ts +0 -6
  507. package/dist/util/get-conflicting-properties.js +0 -55
  508. package/dist/util/get-return-shape.d.ts +0 -4
  509. package/dist/util/get-return-shape.js +0 -30
  510. package/dist/util/has-arg.d.ts +0 -6
  511. package/dist/util/has-arg.js +0 -25
  512. package/dist/util/is-asset-property.d.ts +0 -3
  513. package/dist/util/is-asset-property.js +0 -11
  514. package/dist/util/mcp.d.ts +0 -8
  515. package/dist/util/mcp.js +0 -21
  516. package/dist/util/merge.d.ts +0 -15
  517. package/dist/util/merge.js +0 -254
  518. package/dist/util/patch-schema.d.ts +0 -8
  519. package/dist/util/patch-schema.js +0 -51
  520. package/dist/util/query-field-path.d.ts +0 -9
  521. package/dist/util/query-field-path.js +0 -23
  522. package/dist/util/shapes.d.ts +0 -5
  523. package/dist/util/shapes.js +0 -22
  524. package/dist/validate/ai.d.ts +0 -6
  525. package/dist/validate/ai.js +0 -183
  526. package/dist/validate/errors.d.ts +0 -3
  527. package/dist/validate/errors.js +0 -20
  528. package/dist/validate/types.d.ts +0 -1
  529. package/dist/validate/types.js +0 -1
  530. package/dist/validate/util.d.ts +0 -3
  531. package/dist/validate/util.js +0 -28
  532. package/dist/validate/validate.d.ts +0 -80
  533. package/dist/validate/validate.js +0 -1058
  534. package/dist/versions.d.ts +0 -4
  535. package/dist/versions.js +0 -4
  536. package/dist/workflows.d.ts +0 -14
  537. package/dist/workflows.js +0 -66
@@ -1,214 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "https://schema.takeshape.io/project-schema#",
4
- "title": "Any Project Schema",
5
- "oneOf": [
6
- {
7
- "$ref": "https://schema.takeshape.io/project-schema/v1.0.0#"
8
- },
9
- {
10
- "$ref": "https://schema.takeshape.io/project-schema/v3.0.0#"
11
- },
12
- {
13
- "$ref": "https://schema.takeshape.io/project-schema/v3.1.0#"
14
- },
15
- {
16
- "$ref": "https://schema.takeshape.io/project-schema/v3.2.0#"
17
- },
18
- {
19
- "$ref": "https://schema.takeshape.io/project-schema/v3.3.0#"
20
- },
21
- {
22
- "$ref": "https://schema.takeshape.io/project-schema/v3.4.0#"
23
- },
24
- {
25
- "$ref": "https://schema.takeshape.io/project-schema/v3.5.0#"
26
- },
27
- {
28
- "$ref": "https://schema.takeshape.io/project-schema/v3.5.1#"
29
- },
30
- {
31
- "$ref": "https://schema.takeshape.io/project-schema/v3.6.0#"
32
- },
33
- {
34
- "$ref": "https://schema.takeshape.io/project-schema/v3.7.0#"
35
- },
36
- {
37
- "$ref": "https://schema.takeshape.io/project-schema/v3.8.0#"
38
- },
39
- {
40
- "$ref": "https://schema.takeshape.io/project-schema/v3.9.0#"
41
- },
42
- {
43
- "$ref": "https://schema.takeshape.io/project-schema/v3.10.0#"
44
- },
45
- {
46
- "$ref": "https://schema.takeshape.io/project-schema/v3.11.0#"
47
- },
48
- {
49
- "$ref": "https://schema.takeshape.io/project-schema/v3.12.0#"
50
- },
51
- {
52
- "$ref": "https://schema.takeshape.io/project-schema/v3.12.1#"
53
- },
54
- {
55
- "$ref": "https://schema.takeshape.io/project-schema/v3.12.2#"
56
- },
57
- {
58
- "$ref": "https://schema.takeshape.io/project-schema/v3.12.3#"
59
- },
60
- {
61
- "$ref": "https://schema.takeshape.io/project-schema/v3.13.0#"
62
- },
63
- {
64
- "$ref": "https://schema.takeshape.io/project-schema/v3.14.0#"
65
- },
66
- {
67
- "$ref": "https://schema.takeshape.io/project-schema/v3.15.0#"
68
- },
69
- {
70
- "$ref": "https://schema.takeshape.io/project-schema/v3.16.0#"
71
- },
72
- {
73
- "$ref": "https://schema.takeshape.io/project-schema/v3.17.0#"
74
- },
75
- {
76
- "$ref": "https://schema.takeshape.io/project-schema/v3.17.1#"
77
- },
78
- {
79
- "$ref": "https://schema.takeshape.io/project-schema/v3.18.0#"
80
- },
81
- {
82
- "$ref": "https://schema.takeshape.io/project-schema/v3.18.1#"
83
- },
84
- {
85
- "$ref": "https://schema.takeshape.io/project-schema/v3.18.2#"
86
- },
87
- {
88
- "$ref": "https://schema.takeshape.io/project-schema/v3.19.0#"
89
- },
90
- {
91
- "$ref": "https://schema.takeshape.io/project-schema/v3.20.0#"
92
- },
93
- {
94
- "$ref": "https://schema.takeshape.io/project-schema/v3.21.0#"
95
- },
96
- {
97
- "$ref": "https://schema.takeshape.io/project-schema/v3.22.0#"
98
- },
99
- {
100
- "$ref": "https://schema.takeshape.io/project-schema/v3.23.0#"
101
- },
102
- {
103
- "$ref": "https://schema.takeshape.io/project-schema/v3.24.0#"
104
- },
105
- {
106
- "$ref": "https://schema.takeshape.io/project-schema/v3.25.0#"
107
- },
108
- {
109
- "$ref": "https://schema.takeshape.io/project-schema/v3.26.0#"
110
- },
111
- {
112
- "$ref": "https://schema.takeshape.io/project-schema/v3.27.0#"
113
- },
114
- {
115
- "$ref": "https://schema.takeshape.io/project-schema/v3.28.0#"
116
- },
117
- {
118
- "$ref": "https://schema.takeshape.io/project-schema/v3.29.0#"
119
- },
120
- {
121
- "$ref": "https://schema.takeshape.io/project-schema/v3.30.0#"
122
- },
123
- {
124
- "$ref": "https://schema.takeshape.io/project-schema/v3.31.0#"
125
- },
126
- {
127
- "$ref": "https://schema.takeshape.io/project-schema/v3.32.0#"
128
- },
129
- {
130
- "$ref": "https://schema.takeshape.io/project-schema/v3.33.0#"
131
- },
132
- {
133
- "$ref": "https://schema.takeshape.io/project-schema/v3.34.0#"
134
- },
135
- {
136
- "$ref": "https://schema.takeshape.io/project-schema/v3.35.0#"
137
- },
138
- {
139
- "$ref": "https://schema.takeshape.io/project-schema/v3.36.0#"
140
- },
141
- {
142
- "$ref": "https://schema.takeshape.io/project-schema/v3.37.0#"
143
- },
144
- {
145
- "$ref": "https://schema.takeshape.io/project-schema/v3.38.0#"
146
- },
147
- {
148
- "$ref": "https://schema.takeshape.io/project-schema/v3.39.0#"
149
- },
150
- {
151
- "$ref": "https://schema.takeshape.io/project-schema/v3.40.0#"
152
- },
153
- {
154
- "$ref": "https://schema.takeshape.io/project-schema/v3.41.0#"
155
- },
156
- {
157
- "$ref": "https://schema.takeshape.io/project-schema/v3.42.0#"
158
- },
159
- {
160
- "$ref": "https://schema.takeshape.io/project-schema/v3.43.0#"
161
- },
162
- {
163
- "$ref": "https://schema.takeshape.io/project-schema/v3.44.0#"
164
- },
165
- {
166
- "$ref": "https://schema.takeshape.io/project-schema/v3.45.0#"
167
- },
168
- {
169
- "$ref": "https://schema.takeshape.io/project-schema/v3.46.0#"
170
- },
171
- {
172
- "$ref": "https://schema.takeshape.io/project-schema/v3.47.0#"
173
- },
174
- {
175
- "$ref": "https://schema.takeshape.io/project-schema/v3.48.0#"
176
- },
177
- {
178
- "$ref": "https://schema.takeshape.io/project-schema/v3.49.0#"
179
- },
180
- {
181
- "$ref": "https://schema.takeshape.io/project-schema/v3.50.0#"
182
- },
183
- {
184
- "$ref": "https://schema.takeshape.io/project-schema/v3.51.0#"
185
- },
186
- {
187
- "$ref": "https://schema.takeshape.io/project-schema/v3.52.0#"
188
- },
189
- {
190
- "$ref": "https://schema.takeshape.io/project-schema/v3.53.0#"
191
- },
192
- {
193
- "$ref": "https://schema.takeshape.io/project-schema/v3.54.0#"
194
- },
195
- {
196
- "$ref": "https://schema.takeshape.io/project-schema/v3.55.0#"
197
- },
198
- {
199
- "$ref": "https://schema.takeshape.io/project-schema/v3.56.0#"
200
- },
201
- {
202
- "$ref": "https://schema.takeshape.io/project-schema/v3.57.0#"
203
- },
204
- {
205
- "$ref": "https://schema.takeshape.io/project-schema/v3.58.0#"
206
- },
207
- {
208
- "$ref": "https://schema.takeshape.io/project-schema/v3.59.0#"
209
- },
210
- {
211
- "$ref": "https://schema.takeshape.io/project-schema/v4.0.0#"
212
- }
213
- ]
214
- }
@@ -1,13 +0,0 @@
1
- import type { ProjectSchemaJSON, PropertySchema } from './project-schema/index.ts';
2
- import { type ServicesContext } from './refs.ts';
3
- import { type ServiceLayers } from './types/index.ts';
4
- /**
5
- * Add all referenced shape names to the refSet meant to be used as a callback to visitSchemaProperties
6
- */
7
- export declare function collectReferencedShapeNames(context: ServicesContext, shapeNames: Set<string>): (schema: PropertySchema) => void;
8
- /**
9
- * Returns a schema with all of its dependencies resolved.
10
- * SHOULD only return the minimum set of remote dependencies required to enable
11
- * the local shape definitions.
12
- */
13
- export declare function resolveSchemaShapeDependencies(projectSchema: ProjectSchemaJSON, serviceLayers: ServiceLayers): ProjectSchemaJSON;
@@ -1,165 +0,0 @@
1
- import { addAll, deepClone, mapSet } from '@takeshape/util';
2
- import get from 'lodash/get.js';
3
- import isObject from 'lodash/isObject.js';
4
- import pick from 'lodash/pick.js';
5
- import set from 'lodash/set.js';
6
- import { getImplementationShapeNameMap, isInterfaceShape, pruneUnusedInterfaces } from "./interfaces.js";
7
- import { createGetNamespace, dereferenceObjectSchema, getAllPropertyRefs, getRef, getRefShapeName, isValidRefItem, propertyRefItemToPath, refExpressionToNamespacedName, refItemToNamespacedShapeName } from "./refs.js";
8
- import { getAllNamespaceShapes, getAllRefsInQuery, getArgsReference, visitSchemaProperties } from "./schema-util.js";
9
- import { isExtendsSchema, isObjectSchema, isProjectSchemaWithServices } from "./types/index.js";
10
- function getGraphQLServiceShapeMap(layers) {
11
- return Object.assign({}, ...Object.values(layers).map((layer) => layer.schema?.shapes ?? {}));
12
- }
13
- function schemaExtendsShape(context, shapeName, schema) {
14
- return (isExtendsSchema(schema) &&
15
- schema.extends.some((item) => getRefShapeName(context, item) === shapeName));
16
- }
17
- function getMissingPropertyRefs(projectSchema, getNamespace) {
18
- const propertyRefs = getAllPropertyRefs(projectSchema);
19
- return propertyRefs.filter((ref) => {
20
- const path = propertyRefItemToPath(getNamespace, ref);
21
- return !get(projectSchema, path);
22
- });
23
- }
24
- function refToQuery(serviceSchemas, ref) {
25
- const serviceSchema = serviceSchemas[ref.layerId]?.schema;
26
- if (serviceSchema) {
27
- if (ref.shapeName === 'Query' || ref.shapeName === 'Mutation') {
28
- const operation = ref.shapeName === 'Query' ? 'queries' : 'mutations';
29
- return serviceSchema[operation][ref.propertyName];
30
- }
31
- }
32
- }
33
- function getShapeRefs(services, serviceSchemas, propertyRefs) {
34
- const results = [];
35
- for (const ref of propertyRefs) {
36
- const query = refToQuery(serviceSchemas, ref);
37
- const layerSchema = serviceSchemas[ref.layerId]?.schema;
38
- if (query && layerSchema) {
39
- const layerWithService = {
40
- ...layerSchema,
41
- services: pick(services, [ref.layerId]) // include own service so refs have isValidService: true
42
- };
43
- results.push(...getAllRefsInQuery(layerWithService, [], query));
44
- }
45
- }
46
- return results;
47
- }
48
- function interfacesToShapeNames(projectSchema, shapeRefArray) {
49
- return shapeRefArray.map((shapeRef) => refExpressionToNamespacedName(projectSchema, shapeRef));
50
- }
51
- /**
52
- * Add all referenced shape names to the refSet meant to be used as a callback to visitSchemaProperties
53
- */
54
- export function collectReferencedShapeNames(context, shapeNames) {
55
- const addRef = (refItem) => {
56
- shapeNames.add(refItemToNamespacedShapeName(context, refItem));
57
- };
58
- const collect = (schema) => {
59
- const args = schema['@args'];
60
- if (args && isObject(args) && isObjectSchema(args)) {
61
- Object.values(args.properties).forEach(collect);
62
- }
63
- const argsRefItem = getArgsReference(context, schema);
64
- if (argsRefItem) {
65
- addRef(argsRefItem);
66
- }
67
- const refItem = getRef(context, schema);
68
- if (refItem) {
69
- addRef(refItem);
70
- }
71
- };
72
- return collect;
73
- }
74
- /**
75
- * Returns a schema with all of its dependencies resolved.
76
- * SHOULD only return the minimum set of remote dependencies required to enable
77
- * the local shape definitions.
78
- */
79
- export function resolveSchemaShapeDependencies(projectSchema, serviceLayers) {
80
- const newSchema = deepClone(projectSchema);
81
- if (isProjectSchemaWithServices(projectSchema)) {
82
- const newShapeMap = {};
83
- const requiredShapeNames = new Set(getAllNamespaceShapes(projectSchema));
84
- const getNamespace = createGetNamespace(projectSchema);
85
- const missingPropertyRefs = getMissingPropertyRefs(projectSchema, getNamespace);
86
- if (requiredShapeNames.size || missingPropertyRefs.length) {
87
- const remoteShapeMap = getGraphQLServiceShapeMap(serviceLayers);
88
- // Add shape references from queries
89
- addAll(requiredShapeNames, getShapeRefs(projectSchema.services, serviceLayers, missingPropertyRefs)
90
- .filter(isValidRefItem(projectSchema))
91
- .map((item) => refItemToNamespacedShapeName(projectSchema, item)));
92
- // Add referenced queries and mutations
93
- for (const ref of missingPropertyRefs) {
94
- const query = refToQuery(serviceLayers, ref);
95
- if (query) {
96
- set(newSchema, propertyRefItemToPath(getNamespace, ref), query);
97
- }
98
- }
99
- // Gather all the remote dependencies that our local schema requires.
100
- // If the required shape exists in the remote shape map, visit the
101
- // properties on the remote shape's schema and ensure they are required
102
- // as well.
103
- const collectDependencies = (shapeNames) => {
104
- for (const name of shapeNames) {
105
- const localShape = newSchema.shapes[name];
106
- const remoteShape = remoteShapeMap[name];
107
- // Don't check for dependencies if the shape is already in our schema unless it extends a remote shape
108
- // getNamespacedShapeNameList already collected those dependencies
109
- if ((!localShape || (localShape && schemaExtendsShape(projectSchema, name, localShape.schema))) &&
110
- remoteShape) {
111
- visitSchemaProperties(remoteShape.schema, [remoteShape.name, 'schema'], collectReferencedShapeNames({ services: newSchema.services }, shapeNames));
112
- }
113
- }
114
- };
115
- collectDependencies(requiredShapeNames);
116
- // Collect interfaces that requiredShapeNames implement
117
- const interfaceNames = new Set();
118
- const requiredShapes = mapSet(requiredShapeNames, (shapeName) => newSchema.shapes[shapeName] ?? remoteShapeMap[shapeName]);
119
- for (const shape of requiredShapes) {
120
- if (shape?.interfaces) {
121
- addAll(interfaceNames, interfacesToShapeNames(projectSchema, shape.interfaces));
122
- }
123
- }
124
- // Collect implementations for interfaces in requiredShapeNames
125
- const implementationNames = new Set();
126
- const implementations = getImplementationShapeNameMap({
127
- ...newSchema.shapes,
128
- ...remoteShapeMap
129
- });
130
- for (const shape of requiredShapes) {
131
- if (isInterfaceShape(shape) && implementations[shape.name]) {
132
- addAll(implementationNames, implementations[shape.name]);
133
- }
134
- }
135
- // Collect the dependencies for the interfaces and implementations
136
- collectDependencies(interfaceNames);
137
- collectDependencies(implementationNames);
138
- addAll(requiredShapeNames, interfaceNames);
139
- addAll(requiredShapeNames, implementationNames);
140
- // Populate a ShapeMap with the remote shapes we've gathered
141
- // A combined context which prefers remote shapes for use when merging/inlining
142
- const mergingContext = {
143
- services: newSchema.services,
144
- shapes: { ...newSchema.shapes, ...remoteShapeMap }
145
- };
146
- for (const name of requiredShapeNames) {
147
- const localShape = newSchema.shapes[name];
148
- const remoteShape = remoteShapeMap[name];
149
- if (localShape && remoteShape && schemaExtendsShape(mergingContext, name, localShape.schema)) {
150
- // Merge and inline combined shape when a local shape extends a remote shape
151
- newShapeMap[name] = {
152
- ...localShape,
153
- schema: dereferenceObjectSchema(mergingContext, newSchema.shapes[name].schema)
154
- };
155
- }
156
- else if (localShape ?? remoteShape) {
157
- newShapeMap[name] = localShape ?? remoteShape;
158
- }
159
- }
160
- }
161
- // Assign remote shapes to the new schema, mutating the new schema
162
- Object.assign(newSchema.shapes, pruneUnusedInterfaces(newSchema, newShapeMap));
163
- }
164
- return newSchema;
165
- }
@@ -1,31 +0,0 @@
1
- import type { Overwrite } from '@takeshape/util';
2
- import { SERVICE_OBJECT_PATTERN_NAME } from '../constants.ts';
3
- import type { ProjectSchemaJSON, ServiceConfig, ServiceConfigJSON, ServiceMapJSON, ShapeJSON } from '../project-schema/index.ts';
4
- import type { PatternGenerator, ServiceConfigUpdate, ServiceInfo, ServiceMap } from '../types/types.ts';
5
- import type { DecryptFn, EncryptFn } from './types.ts';
6
- /**
7
- * Given a `StoredServiceConfig` returns a usable `ServiceConfig` with the
8
- * authentication object decrypted.
9
- */
10
- export declare function decryptServiceConfig(decryptFn: DecryptFn, storedServiceConfig: ServiceConfigJSON): ServiceConfig;
11
- /**
12
- * Given a `ServiceMapJSON` returns a usable `ServiceMap` with all the
13
- * authentication objects decrypted.
14
- */
15
- export declare function decryptServiceMap(decryptFn: DecryptFn, ServiceMapJSON: ServiceMapJSON): Promise<ServiceMap>;
16
- /**
17
- * Validates a `ServiceConfig` validator based on the JSON-schema.
18
- */
19
- export declare function validateServiceConfig(maybeServiceConfig: unknown): ServiceConfigJSON;
20
- /**
21
- * Prepare a `ServiceConfig` object update, validating the overall structure
22
- * and encrypting the `ServiceAuthentication` object.
23
- */
24
- export declare function prepareServiceUpdate(encryptFn: EncryptFn, decryptFn: DecryptFn, projectSchema: ProjectSchemaJSON, serviceConfigUpdate: ServiceConfigUpdate, serviceKey: string): ServiceConfigJSON;
25
- export type ServiceInfoWithServiceObject = Overwrite<ServiceInfo, {
26
- generators: {
27
- [SERVICE_OBJECT_PATTERN_NAME]: PatternGenerator;
28
- };
29
- }>;
30
- export declare function getServiceObjectFields(projectSchema: ProjectSchemaJSON, shape: ShapeJSON, provider: string): ServiceInfoWithServiceObject[];
31
- export declare function getServiceInfo(projectSchema: ProjectSchemaJSON, shape: ShapeJSON): Record<string, ServiceInfo[]>;
@@ -1,145 +0,0 @@
1
- import { SchemaValidationError } from '@takeshape/errors';
2
- import { createAjv } from '@takeshape/json-schema';
3
- import { mergeWithArrayMerge } from '@takeshape/util';
4
- import isEqual from 'lodash/isEqual.js';
5
- import isNull from 'lodash/isNull.js';
6
- import { SERVICE_OBJECT_PATTERN_NAME } from "../constants.js";
7
- import { createSchemaPropertyList, getGeneratorVersion, getServiceIdFieldName, getShapeDependencies, pathBetween } from "../schema-util.js";
8
- import { latestSchemaJson } from "../schemas/index.js";
9
- import { isEncryptedServiceConfig, isServiceAuthentication, isServiceResolver } from "../types/utils.js";
10
- import { formatError } from "../validate/errors.js";
11
- import { getStoredServiceConfig } from "./util.js";
12
- /**
13
- * Given a `StoredServiceConfig` returns a usable `ServiceConfig` with the
14
- * authentication object decrypted.
15
- */
16
- export function decryptServiceConfig(decryptFn, storedServiceConfig) {
17
- let authentication;
18
- if (isEncryptedServiceConfig(storedServiceConfig)) {
19
- const decrypted = decryptFn(storedServiceConfig.authentication);
20
- if (isServiceAuthentication(decrypted)) {
21
- authentication = decrypted;
22
- }
23
- }
24
- return {
25
- ...storedServiceConfig,
26
- authentication
27
- };
28
- }
29
- /**
30
- * Given a `ServiceMapJSON` returns a usable `ServiceMap` with all the
31
- * authentication objects decrypted.
32
- */
33
- export async function decryptServiceMap(decryptFn, ServiceMapJSON) {
34
- return Object.entries(ServiceMapJSON).reduce((result, [serviceKey, serviceConfig]) => {
35
- return result.set(serviceKey, decryptServiceConfig(decryptFn, serviceConfig));
36
- }, new Map());
37
- }
38
- function createServiceConfigValidator() {
39
- const validator = createAjv();
40
- const { serviceConfig, ...definitions } = latestSchemaJson.definitions;
41
- return validator.compile({
42
- $id: 'ServiceConfig',
43
- definitions,
44
- ...serviceConfig
45
- });
46
- }
47
- const serviceConfigValidator = createServiceConfigValidator();
48
- /**
49
- * Validates a `ServiceConfig` validator based on the JSON-schema.
50
- */
51
- export function validateServiceConfig(maybeServiceConfig) {
52
- if (serviceConfigValidator(maybeServiceConfig)) {
53
- return maybeServiceConfig;
54
- }
55
- throw new SchemaValidationError('ServiceConfig was invalid', serviceConfigValidator.errors?.map(formatError));
56
- }
57
- /**
58
- * Prepare a `ServiceConfig` object update, validating the overall structure
59
- * and encrypting the `ServiceAuthentication` object.
60
- */
61
- export function prepareServiceUpdate(encryptFn, decryptFn, projectSchema, serviceConfigUpdate, serviceKey) {
62
- const storedServiceConfig = getStoredServiceConfig(projectSchema, serviceKey);
63
- let newServiceConfig = serviceConfigUpdate;
64
- if (storedServiceConfig) {
65
- const existingServiceConfig = decryptServiceConfig(decryptFn, storedServiceConfig);
66
- newServiceConfig = mergeWithArrayMerge(existingServiceConfig, serviceConfigUpdate);
67
- }
68
- const { authentication, authenticationType } = newServiceConfig;
69
- if (authenticationType === 'none' || isNull(authentication)) {
70
- // biome-ignore lint/performance/noDelete: Property presence may matter here
71
- delete newServiceConfig.authentication;
72
- }
73
- else if (authentication !== undefined) {
74
- // Add the discriminator to the authentication object, set authenticationType
75
- // to ensure the update is correct for the auth type.
76
- newServiceConfig.authentication = {
77
- ...authentication,
78
- type: authenticationType
79
- };
80
- }
81
- validateServiceConfig(newServiceConfig);
82
- let serviceConfig;
83
- if (newServiceConfig.authentication) {
84
- serviceConfig = {
85
- ...newServiceConfig,
86
- authentication: encryptFn(newServiceConfig.authentication)
87
- };
88
- }
89
- else {
90
- serviceConfig = newServiceConfig;
91
- }
92
- return serviceConfig;
93
- }
94
- export function getServiceObjectFields(projectSchema, shape, provider) {
95
- return (getServiceInfo(projectSchema, shape)[provider] ?? []).filter((serviceInfo) => serviceInfo.generators[SERVICE_OBJECT_PATTERN_NAME]);
96
- }
97
- // Returns info for all services found in shape, keyed by provider
98
- export function getServiceInfo(projectSchema, shape) {
99
- const result = {};
100
- // Get inline dependencies by not following refs with @resolver
101
- const inlineDepShapes = getShapeDependencies(projectSchema, shape, (prop) => !prop['@resolver']).map((name) => projectSchema.shapes[name]);
102
- const shapesToCheck = [shape, ...inlineDepShapes];
103
- for (const thisShape of shapesToCheck) {
104
- // biome-ignore lint/complexity/noForEach: Types for createSchemaPropertyList do not include the iterator
105
- createSchemaPropertyList(projectSchema, thisShape).forEach(([key, value]) => {
106
- const resolver = value['@resolver'];
107
- if (!isServiceResolver(resolver)) {
108
- return;
109
- }
110
- const serviceConfig = getStoredServiceConfig(projectSchema, resolver.service);
111
- if (!serviceConfig) {
112
- return;
113
- }
114
- const { provider } = serviceConfig;
115
- const generators = {};
116
- const tag = value['@tag'];
117
- if (tag?.startsWith(SERVICE_OBJECT_PATTERN_NAME)) {
118
- const idFieldName = getServiceIdFieldName(key);
119
- const version = tag.substr(Number(tag.lastIndexOf(':')) + 1);
120
- generators[SERVICE_OBJECT_PATTERN_NAME] = {
121
- version,
122
- currentVersion: getGeneratorVersion(SERVICE_OBJECT_PATTERN_NAME),
123
- idFieldName,
124
- serviceObjectType: resolver.fieldName
125
- };
126
- }
127
- const serviceInfo = {
128
- service: resolver.service,
129
- fieldName: key,
130
- path: pathBetween(shape, thisShape, projectSchema),
131
- generators
132
- };
133
- if (Array.isArray(result[provider])) {
134
- // Dedupe service info
135
- if (!result[provider].find((existingServiceInfo) => isEqual(existingServiceInfo, serviceInfo))) {
136
- result[provider].push(serviceInfo);
137
- }
138
- }
139
- else {
140
- result[provider] = [serviceInfo];
141
- }
142
- });
143
- }
144
- return result;
145
- }
@@ -1,11 +0,0 @@
1
- /**
2
- * Decrypt an encrypted authentication JSON string
3
- * Throws an error if decryption fails
4
- */
5
- export type DecryptFn = (authentication: string) => object;
6
- /**
7
- * Decrypt an encrypted authentication JSON string
8
- * Returns undefined if decryption fails
9
- */
10
- export type SafeDecryptFn = (authentication: string) => object | undefined;
11
- export type EncryptFn = (authentication: object) => string;
@@ -1 +0,0 @@
1
- export {};
@@ -1,16 +0,0 @@
1
- import type { ProjectSchemaJSON, Resolver, ServiceConfig, ServiceConfigJSON } from '../project-schema/index.ts';
2
- import type { ServiceKey } from '../types/types.ts';
3
- /**
4
- * Get a service config from a project schema.
5
- */
6
- export declare function getStoredServiceConfig(projectSchema: ProjectSchemaJSON, serviceKey: ServiceKey): ServiceConfigJSON | undefined;
7
- /**
8
- * Get a `Map` keyed with all the service namespaces.
9
- *
10
- * @param context A partial project schema
11
- *
12
- * @returns A `Map` with namespaces as keys, and service keys as values.
13
- */
14
- export declare function getServiceNamespaces(context: Pick<ProjectSchemaJSON, 'services'>): Map<string, string>;
15
- export declare function isMissingAuth(service: Pick<ServiceConfig | ServiceConfigJSON, 'authenticationType' | 'authentication'>): boolean;
16
- export declare function getResolverServices(resolver: Resolver): string[];
@@ -1,36 +0,0 @@
1
- import { isDefined } from '@takeshape/util';
2
- import isEmpty from 'lodash/isEmpty.js';
3
- import uniq from 'lodash/uniq.js';
4
- /**
5
- * Get a service config from a project schema.
6
- */
7
- export function getStoredServiceConfig(projectSchema, serviceKey) {
8
- return projectSchema.services?.[serviceKey];
9
- }
10
- /**
11
- * Get a `Map` keyed with all the service namespaces.
12
- *
13
- * @param context A partial project schema
14
- *
15
- * @returns A `Map` with namespaces as keys, and service keys as values.
16
- */
17
- export function getServiceNamespaces(context) {
18
- const namespaces = new Map();
19
- const { services } = context;
20
- if (services) {
21
- for (const serviceKey of Object.keys(services)) {
22
- const namespace = services[serviceKey]?.namespace;
23
- if (namespace) {
24
- namespaces.set(namespace, serviceKey);
25
- }
26
- }
27
- }
28
- return namespaces;
29
- }
30
- export function isMissingAuth(service) {
31
- return service.authenticationType !== 'none' && isEmpty(service.authentication);
32
- }
33
- export function getResolverServices(resolver) {
34
- const resolverArray = 'compose' in resolver ? resolver.compose : [resolver];
35
- return uniq(resolverArray.map((resolver) => ('service' in resolver ? resolver.service : undefined)).filter(isDefined));
36
- }
@@ -1,7 +0,0 @@
1
- import type { ProjectSchemaJSON, ShapeJSON } from './project-schema/latest.ts';
2
- export interface GetShapePathsArgs {
3
- includeRoot?: boolean;
4
- prefix?: string;
5
- depthLimit?: number;
6
- }
7
- export declare function getShapePaths(projectSchema: ProjectSchemaJSON, shape: ShapeJSON, args?: GetShapePathsArgs): string[];
@@ -1,28 +0,0 @@
1
- import { dereferenceSchema } from "./refs.js";
2
- import { isArraySchema, isObjectSchema } from "./types/utils.js";
3
- export function getShapePaths(projectSchema, shape, args = {}) {
4
- const { includeRoot = false, prefix = '', depthLimit = 2 } = args;
5
- const options = [];
6
- const visit = (propertySchema, path, depth) => {
7
- if (depth > depthLimit) {
8
- return;
9
- }
10
- if (depth !== 0 || includeRoot) {
11
- options.push(path.join('.'));
12
- }
13
- const schema = dereferenceSchema(projectSchema, propertySchema);
14
- if (isArraySchema(schema)) {
15
- if (isObjectSchema(schema.items)) {
16
- visit(schema.items, path, depth + 1);
17
- }
18
- }
19
- else if (isObjectSchema(schema)) {
20
- for (const [name, propSchema] of Object.entries(schema.properties)) {
21
- const newPath = [...path, propSchema.type === 'array' ? `${name}[0]` : name];
22
- visit(propSchema, newPath, depth + 1);
23
- }
24
- }
25
- };
26
- visit(shape.schema, prefix ? [prefix] : [], 0);
27
- return options;
28
- }