@takeshape/schema 11.143.2 → 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,11 +0,0 @@
1
- import { getRef, parseRef } from "../refs.js";
2
- export function isAssetProperty(prop) {
3
- const ref = getRef({}, prop.oneOf?.[0] ?? prop);
4
- return Boolean(ref && isAssetRefItem(ref));
5
- }
6
- export function isAssetRef(str) {
7
- return isAssetRefItem(parseRef({}, str));
8
- }
9
- function isAssetRefItem(ref) {
10
- return ref.layerId === 'local' && ref.shapeName === 'Asset';
11
- }
@@ -1,8 +0,0 @@
1
- import type { ProjectSchemaJSON, ToolJSON, ToolMap } from '../project-schema/latest.ts';
2
- export declare const TOOL_SCHEMA_PATH: readonly ["mcp", "tools"];
3
- export declare function getMcpToolMap(projectSchema: ProjectSchemaJSON): ToolMap | undefined;
4
- export declare function getMcpTools(projectSchema: ProjectSchemaJSON): ToolJSON[] | undefined;
5
- export declare function getMcpToolNames(projectSchema: ProjectSchemaJSON): string[];
6
- export declare function getMcpTool(projectSchema: ProjectSchemaJSON, toolName: string): ToolJSON | undefined;
7
- export declare function setMcpToolMap<S extends Partial<ProjectSchemaJSON>>(projectSchema: S, tools: ToolMap): S;
8
- export declare function setMcpTool<S extends Partial<ProjectSchemaJSON>>(projectSchema: S, tool: ToolJSON): S;
package/dist/util/mcp.js DELETED
@@ -1,21 +0,0 @@
1
- import set from 'lodash/fp/set.js';
2
- export const TOOL_SCHEMA_PATH = ['mcp', 'tools'];
3
- export function getMcpToolMap(projectSchema) {
4
- return projectSchema.mcp?.tools;
5
- }
6
- export function getMcpTools(projectSchema) {
7
- const toolMap = getMcpToolMap(projectSchema);
8
- return toolMap && Object.values(toolMap);
9
- }
10
- export function getMcpToolNames(projectSchema) {
11
- return Object.keys(getMcpToolMap(projectSchema) ?? {});
12
- }
13
- export function getMcpTool(projectSchema, toolName) {
14
- return getMcpToolMap(projectSchema)?.[toolName];
15
- }
16
- export function setMcpToolMap(projectSchema, tools) {
17
- return set(TOOL_SCHEMA_PATH, tools, projectSchema);
18
- }
19
- export function setMcpTool(projectSchema, tool) {
20
- return set([...TOOL_SCHEMA_PATH, tool.name], tool, projectSchema);
21
- }
@@ -1,15 +0,0 @@
1
- import type { FormConfig, ObjectSchema, ProjectSchemaJSON } from '../project-schema/index.ts';
2
- export declare function mergeObjectSchemas(...args: Array<ObjectSchema | undefined>): ObjectSchema;
3
- export declare function mergeDeepObjectSchemas(...args: Array<ObjectSchema | undefined>): ObjectSchema;
4
- export declare function mergeSchemaProperties(parent: ObjectSchema, overrides: ObjectSchema, deep?: boolean): ObjectSchema;
5
- export declare function rebaseSchemaProperties(base: ObjectSchema, parent: ObjectSchema, head: ObjectSchema): ObjectSchema;
6
- export declare function mergeFormProperties(parent: FormConfig, overrides: FormConfig): FormConfig;
7
- export declare function rebaseFormProperties(base: FormConfig, parent: FormConfig, head: FormConfig): FormConfig;
8
- export declare function mergeFormConfigs(...configs: FormConfig[]): FormConfig;
9
- export declare function mergeProjectSchemas(base: ProjectSchemaJSON, parent: ProjectSchemaJSON, head: ProjectSchemaJSON): {
10
- error: string;
11
- mergedSchema: undefined;
12
- } | {
13
- error: undefined;
14
- mergedSchema: ProjectSchemaJSON;
15
- };
@@ -1,254 +0,0 @@
1
- import { assert, deepClone, isDefined, rebaseArray, rebaseObject } from '@takeshape/util';
2
- import assignWith from 'lodash/assignWith.js';
3
- import difference from 'lodash/difference.js';
4
- import isEqual from 'lodash/isEqual.js';
5
- import last from 'lodash/last.js';
6
- import omit from 'lodash/omit.js';
7
- import pickBy from 'lodash/pickBy.js';
8
- import set from 'lodash/set.js';
9
- import union from 'lodash/union.js';
10
- import unset from 'lodash/unset.js';
11
- import { isExtendsSchema, isObjectSchema, isRefSchema } from "../types/index.js";
12
- export function mergeObjectSchemas(...args) {
13
- return args.filter(isDefined).reduce((parent, schemas) => mergeSchemaProperties(parent, schemas), {
14
- type: 'object',
15
- properties: {}
16
- });
17
- }
18
- export function mergeDeepObjectSchemas(...args) {
19
- return args.filter(isDefined).reduce((parent, schemas) => mergeSchemaProperties(parent, schemas, true), {
20
- type: 'object',
21
- properties: {}
22
- });
23
- }
24
- export function mergeSchemaProperties(parent, overrides, deep = false) {
25
- const result = {
26
- ...parent,
27
- properties: deep
28
- ? assignWith({}, parent.properties, overrides.properties, (objValue, srcValue) => {
29
- // merge objects if possible
30
- if (objValue !== undefined && srcValue !== undefined) {
31
- // skip merging if they are equal this avoids allOf with duplicate refs
32
- if (isEqual(objValue, srcValue)) {
33
- return objValue;
34
- }
35
- if (isObjectSchema(objValue) && isObjectSchema(srcValue)) {
36
- return mergeObjectSchemas(objValue, srcValue);
37
- }
38
- if ((isObjectSchema(objValue) || isRefSchema(objValue)) &&
39
- (isObjectSchema(srcValue) || isRefSchema(srcValue))) {
40
- return { allOf: [objValue, srcValue] };
41
- }
42
- }
43
- })
44
- : { ...parent.properties, ...overrides.properties }
45
- };
46
- const required = union(parent.required, overrides.required);
47
- if (required.length) {
48
- result.required = required;
49
- }
50
- return result;
51
- }
52
- export function rebaseSchemaProperties(base, parent, head) {
53
- const { properties: toProperties, required: toRequired, ...toOther } = base;
54
- const { properties: baseProperties, required: baseRequired, ...baseOther } = parent;
55
- const { properties: fromProperties, required: fromRequired, ...fromOther } = head;
56
- const newSchema = {
57
- ...rebaseObject(toOther, baseOther, fromOther),
58
- type: 'object',
59
- properties: rebaseObject(toProperties, baseProperties, fromProperties)
60
- };
61
- const required = rebaseArray(toRequired ?? [], baseRequired ?? [], fromRequired ?? []);
62
- if (required.length) {
63
- newSchema.required = required;
64
- }
65
- return newSchema;
66
- }
67
- export function mergeFormProperties(parent, overrides) {
68
- const result = {
69
- ...parent,
70
- properties: {
71
- ...parent.properties,
72
- ...overrides.properties
73
- }
74
- };
75
- const order = union(parent.order, overrides.order);
76
- if (order.length) {
77
- result.order = order;
78
- }
79
- return result;
80
- }
81
- export function rebaseFormProperties(base, parent, head) {
82
- const { properties: toProperties, order: toOrder, ...toOther } = base;
83
- const { properties: baseProperties, order: baseOrder, ...baseOther } = parent;
84
- const { properties: fromProperties, order: fromOrder, ...fromOther } = head;
85
- const newForm = {
86
- ...rebaseObject(toOther, baseOther, fromOther),
87
- properties: rebaseObject(toProperties, baseProperties, fromProperties)
88
- };
89
- const order = rebaseArray(toOrder ?? [], baseOrder ?? [], fromOrder ?? []);
90
- if (order.length) {
91
- newForm.order = order;
92
- }
93
- return newForm;
94
- }
95
- export function mergeFormConfigs(...configs) {
96
- return configs.reduce(mergeFormProperties, { properties: {}, order: [] });
97
- }
98
- const mergeableSections = ['shapes', 'mutations', 'queries', 'forms', 'services'];
99
- const isMergeableSection = (str) => {
100
- return mergeableSections.includes(str);
101
- };
102
- const pickUnmergeable = (projectSchema) => {
103
- return pickBy(projectSchema, (_value, key) => !isMergeableSection(key));
104
- };
105
- function compareSection(section, original, updated) {
106
- const changes = [];
107
- const originalKeys = Object.keys(original);
108
- const updatedKeys = Object.keys(updated);
109
- for (const removedKey of difference(originalKeys, updatedKeys)) {
110
- changes.push({ path: [section, removedKey], section, op: 'remove' });
111
- }
112
- for (const [key, value] of Object.entries(updated)) {
113
- if (!original[key]) {
114
- changes.push({ path: [section, key], section, op: 'add', value });
115
- }
116
- else if (!isEqual(original[key], updated[key])) {
117
- changes.push({ path: [section, key], section, op: 'update', value });
118
- }
119
- }
120
- return changes;
121
- }
122
- function compareSections(parent, branch) {
123
- return mergeableSections.flatMap((section) => (parent[section] ?? branch[section]) ? compareSection(section, parent[section] ?? {}, branch[section] ?? {}) : []);
124
- }
125
- function findChangedShape(schema, change) {
126
- return schema.shapes[change.path[1]];
127
- }
128
- function getChangedShape(schema, change) {
129
- const shape = findChangedShape(schema, change);
130
- assert(shape, 'Expected shape not found');
131
- return shape;
132
- }
133
- function rebaseShapeProperties(toShape, fromShape, baseShape) {
134
- return baseShape
135
- ? rebaseObject(omit(toShape, 'schema'), omit(baseShape, 'schema'), omit(fromShape, 'schema'))
136
- : { ...toShape, ...fromShape };
137
- }
138
- function attemptToMerge(base, parent, head, change) {
139
- const toShape = getChangedShape(base, change);
140
- const fromShape = getChangedShape(head, change);
141
- const toSchema = toShape.schema;
142
- const fromSchema = fromShape.schema;
143
- if (isEqual(toSchema, fromSchema)) {
144
- const baseShape = findChangedShape(parent, change);
145
- return {
146
- ...rebaseShapeProperties(toShape, fromShape, baseShape),
147
- schema: toSchema
148
- };
149
- }
150
- if (isObjectSchema(toSchema) && isObjectSchema(fromSchema)) {
151
- const baseShape = findChangedShape(parent, change);
152
- const baseSchema = baseShape?.schema;
153
- return {
154
- ...rebaseShapeProperties(toShape, fromShape, baseShape),
155
- schema: change.op === 'update' && baseSchema && isObjectSchema(baseSchema)
156
- ? rebaseSchemaProperties(toSchema, baseSchema, fromSchema)
157
- : mergeSchemaProperties(toSchema, fromSchema)
158
- };
159
- }
160
- if (isExtendsSchema(toSchema) &&
161
- isExtendsSchema(fromSchema) &&
162
- toSchema.extends.length === fromSchema.extends.length) {
163
- const fromExtends = fromSchema.extends;
164
- const toObj = last(toSchema.extends);
165
- const fromObj = last(fromSchema.extends);
166
- if (toObj &&
167
- isObjectSchema(toObj) &&
168
- fromObj &&
169
- isObjectSchema(fromObj) &&
170
- toSchema.extends.slice(0, toSchema.extends.length - 1).every((item, i) => isEqual(item, fromExtends[i]))) {
171
- let mergedObjSchema;
172
- const baseShape = findChangedShape(parent, change);
173
- const baseSchema = baseShape?.schema;
174
- if (change.op === 'update' && baseSchema && isExtendsSchema(baseSchema)) {
175
- const baseObj = last(baseSchema.extends);
176
- if (baseObj && isObjectSchema(baseObj)) {
177
- mergedObjSchema = rebaseSchemaProperties(toObj, baseObj, fromObj);
178
- }
179
- }
180
- mergedObjSchema ||= mergeSchemaProperties(toObj, fromObj);
181
- return {
182
- ...rebaseShapeProperties(toShape, fromShape, baseShape),
183
- schema: {
184
- extends: [...toSchema.extends.slice(0, toSchema.extends.length - 1), mergedObjSchema]
185
- }
186
- };
187
- }
188
- }
189
- }
190
- function applyChange(base, parent, head, change) {
191
- if (change.op === 'remove') {
192
- unset(base, change.path);
193
- }
194
- else if (change.op === 'add') {
195
- set(base, change.path, change.value);
196
- }
197
- else if (change.op === 'update') {
198
- if (change.section === 'shapes') {
199
- const mergedShape = attemptToMerge(base, parent, head, change);
200
- if (mergedShape) {
201
- set(base, change.path, mergedShape);
202
- return;
203
- }
204
- }
205
- else if (change.section === 'forms') {
206
- const shapeName = change.path[1];
207
- const toForm = base.forms?.[shapeName]?.default;
208
- const fromForm = head.forms?.[shapeName]?.default;
209
- if (toForm && fromForm) {
210
- const baseForm = parent.forms?.[shapeName]?.default;
211
- set(base, change.path, {
212
- default: baseForm ? rebaseFormProperties(toForm, baseForm, fromForm) : mergeFormConfigs(toForm, fromForm)
213
- });
214
- return;
215
- }
216
- }
217
- set(base, change.path, change.value);
218
- }
219
- }
220
- export function mergeProjectSchemas(base, parent, head) {
221
- const changesTo = compareSections(parent, base);
222
- const changesFrom = compareSections(parent, head);
223
- const mergedSchema = deepClone(base);
224
- for (let change of changesFrom) {
225
- const potentialConflict = changesTo.find((changeTo) => isEqual(changeTo.path, change.path));
226
- if (potentialConflict) {
227
- if (potentialConflict.op === 'remove' && change.op !== 'remove') {
228
- return {
229
- error: `Attempting to ${change.op} ${change.path.join('.')} which has already been removed`,
230
- mergedSchema: undefined
231
- };
232
- }
233
- if ((potentialConflict.op === 'add' && change.op === 'add') ||
234
- (potentialConflict.op === 'update' && change.op === 'update')) {
235
- if (change.section === 'shapes') {
236
- const mergedValue = attemptToMerge(base, parent, head, change);
237
- if (!mergedValue) {
238
- return {
239
- error: `Unable to merge ${change.path.join('.')} schemas conflict`,
240
- mergedSchema: undefined
241
- };
242
- }
243
- change = { ...change, op: 'add', value: mergedValue };
244
- }
245
- else if (change.section === 'forms') {
246
- change = { ...change, op: 'update' };
247
- }
248
- }
249
- }
250
- applyChange(mergedSchema, parent, head, change);
251
- }
252
- Object.assign(mergedSchema, rebaseObject(pickUnmergeable(base), pickUnmergeable(parent), pickUnmergeable(head)));
253
- return { error: undefined, mergedSchema };
254
- }
@@ -1,8 +0,0 @@
1
- import { type ProjectSchemaUpdate } from '../migration/types.ts';
2
- import type { ProjectSchemaJSON } from '../project-schema/index.ts';
3
- /**
4
- * Apply a schema update to a schema. This can operate on a schema with frozen properties,
5
- * such as one produced by immer. Resulting schema is not assumed to be valid and should
6
- * be validated if appropriate.
7
- */
8
- export declare function patchSchema<T extends ProjectSchemaJSON>(projectSchema: T, schemaUpdate: ProjectSchemaUpdate): T;
@@ -1,51 +0,0 @@
1
- import set from 'lodash/fp/set.js';
2
- import get from 'lodash/get.js';
3
- import omit from 'lodash/omit.js';
4
- import unset from 'lodash/unset.js';
5
- import { AGENTS_UPDATE_KEY, GUARDS_UPDATE_KEY, MCP_TOOLS_UPDATE_KEY } from "../migration/types.js";
6
- /**
7
- * Array of lodash.get paths to keys that are merged when applying a schema update.
8
- */
9
- const schemaUpdateMergedKeys = [
10
- 'queries',
11
- 'mutations',
12
- 'shapes',
13
- 'workflows',
14
- 'forms',
15
- 'services',
16
- AGENTS_UPDATE_KEY,
17
- GUARDS_UPDATE_KEY,
18
- MCP_TOOLS_UPDATE_KEY
19
- ];
20
- function shallowMerge(original, update) {
21
- const result = { ...original };
22
- for (const [key, obj] of Object.entries(update)) {
23
- // Null is a sentinel value to indicate delete
24
- if (obj === null) {
25
- unset(result, key);
26
- }
27
- else {
28
- result[key] = obj;
29
- }
30
- }
31
- return result;
32
- }
33
- /**
34
- * Apply a schema update to a schema. This can operate on a schema with frozen properties,
35
- * such as one produced by immer. Resulting schema is not assumed to be valid and should
36
- * be validated if appropriate.
37
- */
38
- export function patchSchema(projectSchema, schemaUpdate) {
39
- // Patch old schema with update
40
- let updatedSchema = {
41
- ...projectSchema,
42
- ...omit(schemaUpdate, schemaUpdateMergedKeys)
43
- };
44
- for (const key of schemaUpdateMergedKeys) {
45
- const update = get(schemaUpdate, key);
46
- if (update) {
47
- updatedSchema = set(key, shallowMerge(get(projectSchema, key) ?? {}, update), updatedSchema);
48
- }
49
- }
50
- return updatedSchema;
51
- }
@@ -1,9 +0,0 @@
1
- import type { ProjectSchemaJSON } from '../project-schema/index.ts';
2
- export declare function getQueryFieldPath(operation: 'query' | 'mutation', fieldName: string): ['queries' | 'mutations', ...string[]];
3
- /**
4
- * Get a query or property schema
5
- * @param schema
6
- * @param queryFieldPath
7
- * @returns
8
- */
9
- export declare function findSchemaAtQueryFieldPath(schema: Pick<ProjectSchemaJSON, 'queries' | 'mutations' | 'services' | 'shapes'>, queryFieldPath: ReturnType<typeof getQueryFieldPath>): import("../project-schema/latest.ts").PropertySchema | undefined;
@@ -1,23 +0,0 @@
1
- import { findSchemaAtPath } from "./find-shape-at-path.js";
2
- import { getReturnShape } from "./get-return-shape.js";
3
- function parseFieldName(fieldName) {
4
- return fieldName.split('.');
5
- }
6
- export function getQueryFieldPath(operation, fieldName) {
7
- return [operation === 'query' ? 'queries' : 'mutations', ...parseFieldName(fieldName)];
8
- }
9
- /**
10
- * Get a query or property schema
11
- * @param schema
12
- * @param queryFieldPath
13
- * @returns
14
- */
15
- export function findSchemaAtQueryFieldPath(schema, queryFieldPath) {
16
- const [operationName, queryName, ...fieldPath] = queryFieldPath;
17
- const queryOrMutation = schema[operationName]?.[queryName];
18
- if (!queryOrMutation) {
19
- return undefined;
20
- }
21
- const shape = getReturnShape(schema, queryOrMutation);
22
- return shape ? findSchemaAtPath(schema, shape.schema, fieldPath) : undefined;
23
- }
@@ -1,5 +0,0 @@
1
- import type { ProjectSchemaJSON, ShapeJSON } from '../project-schema/index.ts';
2
- export declare function getShapeById(projectSchema: Pick<ProjectSchemaJSON, 'shapes'>, shapeId: string): ShapeJSON | undefined;
3
- export declare function getShape(context: Pick<ProjectSchemaJSON, 'shapes'>, name: string): ShapeJSON | undefined;
4
- export declare function ensureShape(projectSchema: Pick<ProjectSchemaJSON, 'shapes'>, name: string): ShapeJSON;
5
- export declare function ensureShapeById(projectSchema: Pick<ProjectSchemaJSON, 'shapes'>, shapeId: string): ShapeJSON;
@@ -1,22 +0,0 @@
1
- import { NotFoundError } from '@takeshape/errors';
2
- import find from 'lodash/find.js';
3
- export function getShapeById(projectSchema, shapeId) {
4
- return find(projectSchema.shapes, (shape) => shape.id === shapeId);
5
- }
6
- export function getShape(context, name) {
7
- return context.shapes[name];
8
- }
9
- export function ensureShape(projectSchema, name) {
10
- const shape = getShape(projectSchema, name);
11
- if (!shape) {
12
- throw new NotFoundError(`Shape "${name}" Not found`);
13
- }
14
- return shape;
15
- }
16
- export function ensureShapeById(projectSchema, shapeId) {
17
- const shape = getShapeById(projectSchema, shapeId);
18
- if (!shape) {
19
- throw new NotFoundError(`Shape with id "${shapeId}" Not found`);
20
- }
21
- return shape;
22
- }
@@ -1,6 +0,0 @@
1
- import type { SchemaValidationErrorItem } from '@takeshape/errors';
2
- import type { AIToolConfig, ProjectSchemaJSON } from '../project-schema/latest.ts';
3
- import { type GetNamespace } from '../refs.ts';
4
- import type { Path } from './types.ts';
5
- export declare function validateAIToolConfig(projectSchema: ProjectSchemaJSON, getNamespace: GetNamespace, tool: AIToolConfig | string, basePath: Path): SchemaValidationErrorItem | undefined;
6
- export declare function validateAgents(projectSchema: ProjectSchemaJSON): SchemaValidationErrorItem[];
@@ -1,183 +0,0 @@
1
- import get from 'lodash/get.js';
2
- import { AGENTS_SCHEMA_PATH, getAgentMap, getGuardConfig, isValidAgentMutation } from '../agents.js';
3
- import { createGetNamespace, getToolRef, parsePropertyRef, propertyRefItemToPath } from "../refs.js";
4
- import { isBuiltinMutation, isBuiltinQuery } from "../schema-util.js";
5
- import { validateExpression } from "../util/expressions.js";
6
- import { findDuplicateIndices, pushErrors } from "./util.js";
7
- export function validateAIToolConfig(projectSchema, getNamespace, tool, basePath) {
8
- const toolRef = getToolRef(tool);
9
- const path = typeof tool === 'string' ? basePath : basePath.concat('ref');
10
- const parsed = parsePropertyRef(toolRef);
11
- if (!parsed) {
12
- return {
13
- type: 'conflict',
14
- path,
15
- message: `Unable to parse property ref "${toolRef}"`
16
- };
17
- }
18
- if (parsed.layerId !== 'local') {
19
- return;
20
- }
21
- if ((parsed.shapeName === 'Query' && isBuiltinQuery(parsed.propertyName)) ||
22
- (parsed.shapeName === 'Mutation' && isBuiltinMutation(parsed.propertyName))) {
23
- return;
24
- }
25
- const propertyPath = propertyRefItemToPath(getNamespace, parsed);
26
- if (propertyPath[0] !== 'queries' && propertyPath[0] !== 'mutations') {
27
- return {
28
- type: 'conflict',
29
- path,
30
- message: 'Tools must be a query or mutation'
31
- };
32
- }
33
- const property = get(projectSchema, propertyPath);
34
- if (propertyPath[0] === 'mutations' && isValidAgentMutation(projectSchema, propertyPath[1])) {
35
- return;
36
- }
37
- if (!property) {
38
- return {
39
- type: 'notFound',
40
- path,
41
- message: `Missing tool ${propertyPath[0] === 'queries' ? 'query' : 'mutation'} "${toolRef}"`
42
- };
43
- }
44
- }
45
- function validateAgentTransitions(parentPath, inputNames, transitions) {
46
- const errors = [];
47
- transitions.forEach((transition, transitionIndex) => {
48
- if (transition.type === 'suspend') {
49
- if (!inputNames.has(transition.input)) {
50
- errors.push({
51
- path: [...parentPath, transitionIndex, 'input'],
52
- type: 'notFound',
53
- message: `Invalid input "${transition.input}"`
54
- });
55
- }
56
- }
57
- if (transition.condition) {
58
- const conditionValidation = validateExpression(transition.condition);
59
- if (!conditionValidation.valid) {
60
- const common = {
61
- path: [...parentPath, transitionIndex, 'expression'],
62
- type: 'conflict'
63
- };
64
- errors.push(...conditionValidation.errors.map((message) => ({ ...common, message })));
65
- }
66
- }
67
- });
68
- return errors;
69
- }
70
- export function validateAgents(projectSchema) {
71
- const getNamespace = createGetNamespace(projectSchema);
72
- const errors = [];
73
- const agents = getAgentMap(projectSchema);
74
- if (!agents) {
75
- return errors;
76
- }
77
- for (const [agentName, agent] of Object.entries(agents)) {
78
- const stateNames = new Set();
79
- const agentPath = [...AGENTS_SCHEMA_PATH, agentName];
80
- const inputNames = new Set(agent.api.inputs.map((input) => input.name));
81
- for (const [name, indices] of findDuplicateIndices(agent.api.inputs, 'name')) {
82
- for (const index of indices) {
83
- errors.push({
84
- path: [...agentPath, 'api', 'inputs', index, 'name'],
85
- type: 'conflict',
86
- message: `Duplicate input name "${name}"`
87
- });
88
- }
89
- }
90
- pushErrors(errors, validateAgentTransitions([...agentPath, 'start', 'transitions'], inputNames, agent.start.transitions));
91
- for (const [stateId, state] of Object.entries(agent.states)) {
92
- const statePath = [...agentPath, 'states', stateId];
93
- if (stateNames.has(state.name)) {
94
- errors.push({
95
- path: [...statePath, 'name'],
96
- type: 'conflict',
97
- message: `Duplicate state name "${state.name}"`
98
- });
99
- }
100
- else {
101
- stateNames.add(state.name);
102
- }
103
- if (state.variables) {
104
- state.variables.forEach((variable, variableIndex) => {
105
- variable.steps.forEach((step, stepIndex) => {
106
- const stepPath = [...statePath, 'variables', variableIndex, 'steps', stepIndex];
107
- if (step.condition) {
108
- const conditionValidation = validateExpression(step.condition);
109
- if (!conditionValidation.valid) {
110
- const common = {
111
- path: [...stepPath, 'condition'],
112
- type: 'conflict'
113
- };
114
- errors.push(...conditionValidation.errors.map((message) => ({ ...common, message })));
115
- }
116
- }
117
- const exprValidation = validateExpression(step.expression);
118
- if (!exprValidation.valid) {
119
- const common = {
120
- path: [...stepPath, 'expression'],
121
- type: 'conflict'
122
- };
123
- errors.push(...exprValidation.errors.map((message) => ({ ...common, message })));
124
- }
125
- });
126
- });
127
- }
128
- if (state.transitions) {
129
- errors.push(...validateAgentTransitions([...statePath, 'transitions'], inputNames, state.transitions));
130
- }
131
- if (state.execution.type === 'generate' || state.execution.type === 'chat') {
132
- if (!state.execution.tools) {
133
- continue;
134
- }
135
- for (const [name, indices] of findDuplicateIndices(state.execution.tools, 'name')) {
136
- for (const index of indices) {
137
- errors.push({
138
- path: [...statePath, 'execution', 'tools', index, 'name'],
139
- type: 'conflict',
140
- message: `Duplicate tool name "${name}"`
141
- });
142
- }
143
- }
144
- state.execution.tools.forEach((tool, toolIndex) => {
145
- pushErrors(errors, validateAIToolConfig(projectSchema, getNamespace, tool, [
146
- ...statePath,
147
- 'execution',
148
- 'tools',
149
- toolIndex,
150
- 'ref'
151
- ]));
152
- });
153
- }
154
- }
155
- if (agent.guards) {
156
- agent.guards.forEach(({ guardId }, index) => {
157
- if (!getGuardConfig(projectSchema, guardId)) {
158
- errors.push({
159
- path: [...agentPath, 'guards', index, 'guardId'],
160
- type: 'notFound',
161
- message: `Invalid guardId "${guardId}"`
162
- });
163
- }
164
- });
165
- }
166
- if (agent.historyStrategies) {
167
- const seenStrategyNames = new Set();
168
- for (const [historyStrategyId, historyStrategy] of Object.entries(agent.historyStrategies)) {
169
- if (seenStrategyNames.has(historyStrategy.name)) {
170
- errors.push({
171
- path: [...agentPath, 'historyStrategies', historyStrategyId, 'name'],
172
- type: 'conflict',
173
- message: `Duplicate history strategy name "${historyStrategy.name}"`
174
- });
175
- }
176
- else {
177
- seenStrategyNames.add(historyStrategy.name);
178
- }
179
- }
180
- }
181
- }
182
- return errors;
183
- }
@@ -1,3 +0,0 @@
1
- import type { SchemaValidationErrorItem } from '@takeshape/errors';
2
- import type { ErrorObject } from 'ajv';
3
- export declare function formatError(error: ErrorObject): SchemaValidationErrorItem;
@@ -1,20 +0,0 @@
1
- export function formatError(error) {
2
- let pathStr = error.instancePath;
3
- let message = error.message ?? '';
4
- if ('missingProperty' in error.params) {
5
- pathStr = `${pathStr}.${error.params.missingProperty}`;
6
- }
7
- if ('additionalProperty' in error.params) {
8
- pathStr = `${pathStr}.${error.params.additionalProperty}`;
9
- message = `${message} "${error.params.additionalProperty}"`;
10
- }
11
- if ('allowedValues' in error.params) {
12
- message = `${message} "${error.params.allowedValues.join('", "')}"`;
13
- }
14
- const path = pathStr === '' ? [] : pathStr.substr(1).split(/\.|\/|\['|']\./);
15
- return {
16
- type: 'json',
17
- message,
18
- path
19
- };
20
- }
@@ -1 +0,0 @@
1
- export type Path = Array<string | number>;
@@ -1 +0,0 @@
1
- export {};
@@ -1,3 +0,0 @@
1
- import type { SchemaValidationErrorItem } from '@takeshape/errors';
2
- export declare function findDuplicateIndices<Obj extends object, Key extends keyof Obj>(array: Obj[], key: Key): [Obj[Key], number[]][];
3
- export declare function pushErrors(errors: SchemaValidationErrorItem[], error: SchemaValidationErrorItem | SchemaValidationErrorItem[] | undefined): void;