@takeshape/schema 12.1.1 → 12.1.5

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 (514) hide show
  1. package/dist/agents.d.ts +62 -0
  2. package/dist/agents.js +346 -0
  3. package/dist/api-version.d.ts +5 -0
  4. package/dist/api-version.js +17 -0
  5. package/dist/auth-schemas.d.ts +144 -0
  6. package/dist/auth-schemas.js +7 -0
  7. package/dist/auth-utils.d.ts +19 -0
  8. package/dist/auth-utils.js +26 -0
  9. package/dist/builtin-schema.d.ts +18 -0
  10. package/dist/builtin-schema.js +710 -0
  11. package/dist/constants.d.ts +1 -0
  12. package/dist/constants.js +1 -0
  13. package/dist/content-schema-transform.d.ts +35 -0
  14. package/dist/content-schema-transform.js +162 -0
  15. package/dist/create-input-schema.d.ts +9 -0
  16. package/dist/create-input-schema.js +68 -0
  17. package/dist/enum.d.ts +2 -0
  18. package/dist/enum.js +9 -0
  19. package/dist/flatten-templates.d.ts +2 -0
  20. package/dist/flatten-templates.js +20 -0
  21. package/dist/get-is-leaf.d.ts +3 -0
  22. package/dist/get-is-leaf.js +56 -0
  23. package/dist/index.d.ts +64 -0
  24. package/dist/index.js +61 -0
  25. package/dist/interfaces.d.ts +14 -0
  26. package/dist/interfaces.js +86 -0
  27. package/dist/layers/layers.d.ts +26 -0
  28. package/dist/layers/layers.js +301 -0
  29. package/dist/layers/refs.d.ts +102 -0
  30. package/dist/layers/refs.js +220 -0
  31. package/dist/layers/type-utils.d.ts +59 -0
  32. package/dist/layers/type-utils.js +118 -0
  33. package/dist/layers/visitor.d.ts +5 -0
  34. package/dist/layers/visitor.js +38 -0
  35. package/dist/migration/index.d.ts +79 -0
  36. package/dist/migration/index.js +110 -0
  37. package/dist/migration/to/v3.0.0.d.ts +4 -0
  38. package/dist/migration/to/v3.0.0.js +212 -0
  39. package/dist/migration/to/v3.1.0.d.ts +4 -0
  40. package/dist/migration/to/v3.1.0.js +194 -0
  41. package/dist/migration/to/v3.10.0.d.ts +4 -0
  42. package/dist/migration/to/v3.10.0.js +67 -0
  43. package/dist/migration/to/v3.11.0.d.ts +4 -0
  44. package/dist/migration/to/v3.11.0.js +85 -0
  45. package/dist/migration/to/v3.12.3.d.ts +4 -0
  46. package/dist/migration/to/v3.12.3.js +87 -0
  47. package/dist/migration/to/v3.13.0.d.ts +4 -0
  48. package/dist/migration/to/v3.13.0.js +17 -0
  49. package/dist/migration/to/v3.17.0.d.ts +4 -0
  50. package/dist/migration/to/v3.17.0.js +22 -0
  51. package/dist/migration/to/v3.18.0.d.ts +4 -0
  52. package/dist/migration/to/v3.18.0.js +64 -0
  53. package/dist/migration/to/v3.18.1.d.ts +4 -0
  54. package/dist/migration/to/v3.18.1.js +12 -0
  55. package/dist/migration/to/v3.18.2.d.ts +4 -0
  56. package/dist/migration/to/v3.18.2.js +19 -0
  57. package/dist/migration/to/v3.20.0.d.ts +4 -0
  58. package/dist/migration/to/v3.20.0.js +24 -0
  59. package/dist/migration/to/v3.22.0.d.ts +4 -0
  60. package/dist/migration/to/v3.22.0.js +25 -0
  61. package/dist/migration/to/v3.24.0.d.ts +4 -0
  62. package/dist/migration/to/v3.24.0.js +11 -0
  63. package/dist/migration/to/v3.25.0.d.ts +4 -0
  64. package/dist/migration/to/v3.25.0.js +11 -0
  65. package/dist/migration/to/v3.3.0.d.ts +4 -0
  66. package/dist/migration/to/v3.3.0.js +13 -0
  67. package/dist/migration/to/v3.31.0.d.ts +4 -0
  68. package/dist/migration/to/v3.31.0.js +38 -0
  69. package/dist/migration/to/v3.32.0.d.ts +4 -0
  70. package/dist/migration/to/v3.32.0.js +59 -0
  71. package/dist/migration/to/v3.34.0.d.ts +6 -0
  72. package/dist/migration/to/v3.34.0.js +111 -0
  73. package/dist/migration/to/v3.36.0.d.ts +4 -0
  74. package/dist/migration/to/v3.36.0.js +22 -0
  75. package/dist/migration/to/v3.39.0.d.ts +4 -0
  76. package/dist/migration/to/v3.39.0.js +45 -0
  77. package/dist/migration/to/v3.40.0.d.ts +4 -0
  78. package/dist/migration/to/v3.40.0.js +26 -0
  79. package/dist/migration/to/v3.46.0.d.ts +4 -0
  80. package/dist/migration/to/v3.46.0.js +35 -0
  81. package/dist/migration/to/v3.57.0.d.ts +4 -0
  82. package/dist/migration/to/v3.57.0.js +18 -0
  83. package/dist/migration/to/v3.60.0.d.ts +4 -0
  84. package/dist/migration/to/v3.60.0.js +129 -0
  85. package/dist/migration/to/v3.9.0.d.ts +4 -0
  86. package/dist/migration/to/v3.9.0.js +79 -0
  87. package/dist/migration/types.d.ts +26 -0
  88. package/dist/migration/types.js +3 -0
  89. package/dist/migration/utils.d.ts +2 -0
  90. package/dist/migration/utils.js +6 -0
  91. package/dist/mocks.d.ts +14 -0
  92. package/dist/mocks.js +58 -0
  93. package/dist/models/agent.d.ts +3 -0
  94. package/dist/models/agent.js +73 -0
  95. package/dist/models/project-schema.d.ts +28 -0
  96. package/dist/models/project-schema.js +186 -0
  97. package/dist/models/query.d.ts +3 -0
  98. package/dist/models/query.js +46 -0
  99. package/dist/models/runtime-schema.d.ts +9 -0
  100. package/dist/models/runtime-schema.js +20 -0
  101. package/dist/models/shape.d.ts +4 -0
  102. package/dist/models/shape.js +36 -0
  103. package/dist/models/tool.d.ts +4 -0
  104. package/dist/models/tool.js +147 -0
  105. package/dist/models/types.d.ts +97 -0
  106. package/dist/models/types.js +1 -0
  107. package/dist/models/user-schema.d.ts +7 -0
  108. package/dist/models/user-schema.js +9 -0
  109. package/dist/patterns.d.ts +12 -0
  110. package/dist/patterns.js +1 -0
  111. package/dist/project-schema/index.d.ts +229 -0
  112. package/dist/project-schema/index.js +89 -0
  113. package/dist/project-schema/latest.d.ts +2762 -0
  114. package/dist/project-schema/latest.js +7 -0
  115. package/dist/project-schema/migrate.d.ts +4 -0
  116. package/dist/project-schema/migrate.js +236 -0
  117. package/dist/project-schema/v1.0.0.d.ts +299 -0
  118. package/dist/project-schema/v1.0.0.js +7 -0
  119. package/dist/project-schema/v3.0.0.d.ts +478 -0
  120. package/dist/project-schema/v3.0.0.js +7 -0
  121. package/dist/project-schema/v3.1.0.d.ts +621 -0
  122. package/dist/project-schema/v3.1.0.js +7 -0
  123. package/dist/project-schema/v3.10.0.d.ts +1201 -0
  124. package/dist/project-schema/v3.10.0.js +7 -0
  125. package/dist/project-schema/v3.11.0.d.ts +1210 -0
  126. package/dist/project-schema/v3.11.0.js +7 -0
  127. package/dist/project-schema/v3.12.0.d.ts +1214 -0
  128. package/dist/project-schema/v3.12.0.js +7 -0
  129. package/dist/project-schema/v3.12.1.d.ts +1273 -0
  130. package/dist/project-schema/v3.12.1.js +7 -0
  131. package/dist/project-schema/v3.12.2.d.ts +1283 -0
  132. package/dist/project-schema/v3.12.2.js +7 -0
  133. package/dist/project-schema/v3.12.3.d.ts +1306 -0
  134. package/dist/project-schema/v3.12.3.js +7 -0
  135. package/dist/project-schema/v3.13.0.d.ts +1317 -0
  136. package/dist/project-schema/v3.13.0.js +7 -0
  137. package/dist/project-schema/v3.13.1.d.ts +1412 -0
  138. package/dist/project-schema/v3.13.1.js +7 -0
  139. package/dist/project-schema/v3.14.0.d.ts +1436 -0
  140. package/dist/project-schema/v3.14.0.js +7 -0
  141. package/dist/project-schema/v3.15.0.d.ts +1458 -0
  142. package/dist/project-schema/v3.15.0.js +7 -0
  143. package/dist/project-schema/v3.16.0.d.ts +1470 -0
  144. package/dist/project-schema/v3.16.0.js +7 -0
  145. package/dist/project-schema/v3.17.0.d.ts +1467 -0
  146. package/dist/project-schema/v3.17.0.js +7 -0
  147. package/dist/project-schema/v3.17.1.d.ts +1468 -0
  148. package/dist/project-schema/v3.17.1.js +7 -0
  149. package/dist/project-schema/v3.18.0.d.ts +1333 -0
  150. package/dist/project-schema/v3.18.0.js +7 -0
  151. package/dist/project-schema/v3.18.1.d.ts +1332 -0
  152. package/dist/project-schema/v3.18.1.js +7 -0
  153. package/dist/project-schema/v3.18.2.d.ts +1332 -0
  154. package/dist/project-schema/v3.18.2.js +7 -0
  155. package/dist/project-schema/v3.19.0.d.ts +1336 -0
  156. package/dist/project-schema/v3.19.0.js +7 -0
  157. package/dist/project-schema/v3.2.0.d.ts +632 -0
  158. package/dist/project-schema/v3.2.0.js +7 -0
  159. package/dist/project-schema/v3.20.0.d.ts +1336 -0
  160. package/dist/project-schema/v3.20.0.js +7 -0
  161. package/dist/project-schema/v3.21.0.d.ts +1338 -0
  162. package/dist/project-schema/v3.21.0.js +7 -0
  163. package/dist/project-schema/v3.22.0.d.ts +1344 -0
  164. package/dist/project-schema/v3.22.0.js +7 -0
  165. package/dist/project-schema/v3.23.0.d.ts +1376 -0
  166. package/dist/project-schema/v3.23.0.js +7 -0
  167. package/dist/project-schema/v3.24.0.d.ts +1364 -0
  168. package/dist/project-schema/v3.24.0.js +7 -0
  169. package/dist/project-schema/v3.25.0.d.ts +1363 -0
  170. package/dist/project-schema/v3.25.0.js +7 -0
  171. package/dist/project-schema/v3.26.0.d.ts +1388 -0
  172. package/dist/project-schema/v3.26.0.js +7 -0
  173. package/dist/project-schema/v3.27.0.d.ts +1397 -0
  174. package/dist/project-schema/v3.27.0.js +7 -0
  175. package/dist/project-schema/v3.28.0.d.ts +1416 -0
  176. package/dist/project-schema/v3.28.0.js +7 -0
  177. package/dist/project-schema/v3.29.0.d.ts +1423 -0
  178. package/dist/project-schema/v3.29.0.js +7 -0
  179. package/dist/project-schema/v3.3.0.d.ts +632 -0
  180. package/dist/project-schema/v3.3.0.js +7 -0
  181. package/dist/project-schema/v3.30.0.d.ts +1416 -0
  182. package/dist/project-schema/v3.30.0.js +7 -0
  183. package/dist/project-schema/v3.31.0.d.ts +1448 -0
  184. package/dist/project-schema/v3.31.0.js +7 -0
  185. package/dist/project-schema/v3.32.0.d.ts +1439 -0
  186. package/dist/project-schema/v3.32.0.js +7 -0
  187. package/dist/project-schema/v3.33.0.d.ts +1445 -0
  188. package/dist/project-schema/v3.33.0.js +7 -0
  189. package/dist/project-schema/v3.34.0.d.ts +1445 -0
  190. package/dist/project-schema/v3.34.0.js +7 -0
  191. package/dist/project-schema/v3.35.0.d.ts +1464 -0
  192. package/dist/project-schema/v3.35.0.js +7 -0
  193. package/dist/project-schema/v3.36.0.d.ts +1470 -0
  194. package/dist/project-schema/v3.36.0.js +7 -0
  195. package/dist/project-schema/v3.37.0.d.ts +1522 -0
  196. package/dist/project-schema/v3.37.0.js +7 -0
  197. package/dist/project-schema/v3.38.0.d.ts +1522 -0
  198. package/dist/project-schema/v3.38.0.js +7 -0
  199. package/dist/project-schema/v3.39.0.d.ts +1529 -0
  200. package/dist/project-schema/v3.39.0.js +7 -0
  201. package/dist/project-schema/v3.4.0.d.ts +624 -0
  202. package/dist/project-schema/v3.4.0.js +7 -0
  203. package/dist/project-schema/v3.40.0.d.ts +1530 -0
  204. package/dist/project-schema/v3.40.0.js +7 -0
  205. package/dist/project-schema/v3.41.0.d.ts +1530 -0
  206. package/dist/project-schema/v3.41.0.js +7 -0
  207. package/dist/project-schema/v3.42.0.d.ts +1534 -0
  208. package/dist/project-schema/v3.42.0.js +7 -0
  209. package/dist/project-schema/v3.43.0.d.ts +1536 -0
  210. package/dist/project-schema/v3.43.0.js +7 -0
  211. package/dist/project-schema/v3.44.0.d.ts +1621 -0
  212. package/dist/project-schema/v3.44.0.js +7 -0
  213. package/dist/project-schema/v3.45.0.d.ts +1650 -0
  214. package/dist/project-schema/v3.45.0.js +7 -0
  215. package/dist/project-schema/v3.46.0.d.ts +1703 -0
  216. package/dist/project-schema/v3.46.0.js +7 -0
  217. package/dist/project-schema/v3.47.0.d.ts +1736 -0
  218. package/dist/project-schema/v3.47.0.js +7 -0
  219. package/dist/project-schema/v3.48.0.d.ts +2208 -0
  220. package/dist/project-schema/v3.48.0.js +7 -0
  221. package/dist/project-schema/v3.49.0.d.ts +2217 -0
  222. package/dist/project-schema/v3.49.0.js +7 -0
  223. package/dist/project-schema/v3.5.0.d.ts +649 -0
  224. package/dist/project-schema/v3.5.0.js +7 -0
  225. package/dist/project-schema/v3.5.1.d.ts +649 -0
  226. package/dist/project-schema/v3.5.1.js +7 -0
  227. package/dist/project-schema/v3.50.0.d.ts +2269 -0
  228. package/dist/project-schema/v3.50.0.js +7 -0
  229. package/dist/project-schema/v3.51.0.d.ts +2269 -0
  230. package/dist/project-schema/v3.51.0.js +7 -0
  231. package/dist/project-schema/v3.52.0.d.ts +2269 -0
  232. package/dist/project-schema/v3.52.0.js +7 -0
  233. package/dist/project-schema/v3.53.0.d.ts +2350 -0
  234. package/dist/project-schema/v3.53.0.js +7 -0
  235. package/dist/project-schema/v3.54.0.d.ts +2369 -0
  236. package/dist/project-schema/v3.54.0.js +7 -0
  237. package/dist/project-schema/v3.55.0.d.ts +2369 -0
  238. package/dist/project-schema/v3.55.0.js +7 -0
  239. package/dist/project-schema/v3.56.0.d.ts +2405 -0
  240. package/dist/project-schema/v3.56.0.js +7 -0
  241. package/dist/project-schema/v3.57.0.d.ts +2601 -0
  242. package/dist/project-schema/v3.57.0.js +7 -0
  243. package/dist/project-schema/v3.58.0.d.ts +2601 -0
  244. package/dist/project-schema/v3.58.0.js +7 -0
  245. package/dist/project-schema/v3.59.0.d.ts +2650 -0
  246. package/dist/project-schema/v3.59.0.js +7 -0
  247. package/dist/project-schema/v3.6.0.d.ts +658 -0
  248. package/dist/project-schema/v3.6.0.js +7 -0
  249. package/dist/project-schema/v3.60.0.d.ts +2678 -0
  250. package/dist/project-schema/v3.60.0.js +7 -0
  251. package/dist/project-schema/v3.61.0.d.ts +2678 -0
  252. package/dist/project-schema/v3.61.0.js +7 -0
  253. package/dist/project-schema/v3.62.0.d.ts +2693 -0
  254. package/dist/project-schema/v3.62.0.js +7 -0
  255. package/dist/project-schema/v3.63.0.d.ts +2701 -0
  256. package/dist/project-schema/v3.63.0.js +7 -0
  257. package/dist/project-schema/v3.64.0.d.ts +2710 -0
  258. package/dist/project-schema/v3.64.0.js +7 -0
  259. package/dist/project-schema/v3.65.0.d.ts +2762 -0
  260. package/dist/project-schema/v3.65.0.js +7 -0
  261. package/dist/project-schema/v3.7.0.d.ts +961 -0
  262. package/dist/project-schema/v3.7.0.js +7 -0
  263. package/dist/project-schema/v3.8.0.d.ts +979 -0
  264. package/dist/project-schema/v3.8.0.js +7 -0
  265. package/dist/project-schema/v3.9.0.d.ts +1178 -0
  266. package/dist/project-schema/v3.9.0.js +7 -0
  267. package/dist/project-schema/v4.0.0.d.ts +1328 -0
  268. package/dist/project-schema/v4.0.0.js +7 -0
  269. package/dist/refs.d.ts +220 -0
  270. package/dist/refs.js +648 -0
  271. package/dist/relationships.d.ts +40 -0
  272. package/dist/relationships.js +302 -0
  273. package/dist/resolvers/ai/abort-agent-message-args.d.ts +16 -0
  274. package/dist/resolvers/ai/abort-agent-message-args.js +13 -0
  275. package/dist/resolvers/ai/abort-agent-message-response.d.ts +39 -0
  276. package/dist/resolvers/ai/abort-agent-message-response.js +19 -0
  277. package/dist/resolvers/ai/agent-attachment.d.ts +27 -0
  278. package/dist/resolvers/ai/agent-attachment.js +22 -0
  279. package/dist/resolvers/ai/agent-chat-args.d.ts +62 -0
  280. package/dist/resolvers/ai/agent-chat-args.js +30 -0
  281. package/dist/resolvers/ai/agent-chat-payload.d.ts +35 -0
  282. package/dist/resolvers/ai/agent-chat-payload.js +26 -0
  283. package/dist/resolvers/ai/agent-chat-response.d.ts +366 -0
  284. package/dist/resolvers/ai/agent-chat-response.js +21 -0
  285. package/dist/resolvers/ai/agent-generate-args.d.ts +62 -0
  286. package/dist/resolvers/ai/agent-generate-args.js +30 -0
  287. package/dist/resolvers/ai/agent-message-input.d.ts +73 -0
  288. package/dist/resolvers/ai/agent-message-input.js +39 -0
  289. package/dist/resolvers/ai/agent-message-output.d.ts +169 -0
  290. package/dist/resolvers/ai/agent-message-output.js +77 -0
  291. package/dist/resolvers/ai/agent-message-payload.d.ts +849 -0
  292. package/dist/resolvers/ai/agent-message-payload.js +167 -0
  293. package/dist/resolvers/ai/agent-run-mode.d.ts +8 -0
  294. package/dist/resolvers/ai/agent-run-mode.js +9 -0
  295. package/dist/resolvers/ai/agent-session-payload.d.ts +840 -0
  296. package/dist/resolvers/ai/agent-session-payload.js +218 -0
  297. package/dist/resolvers/ai/ai-usage-item.d.ts +70 -0
  298. package/dist/resolvers/ai/ai-usage-item.js +70 -0
  299. package/dist/resolvers/ai/create-agent-session-response.d.ts +276 -0
  300. package/dist/resolvers/ai/create-agent-session-response.js +9 -0
  301. package/dist/resolvers/ai/embedding-search.d.ts +54 -0
  302. package/dist/resolvers/ai/embedding-search.js +46 -0
  303. package/dist/resolvers/ai/get-agent-message-args.d.ts +16 -0
  304. package/dist/resolvers/ai/get-agent-message-args.js +13 -0
  305. package/dist/resolvers/ai/get-agent-message-response.d.ts +1253 -0
  306. package/dist/resolvers/ai/get-agent-message-response.js +79 -0
  307. package/dist/resolvers/ai/inspect-agent-args.d.ts +16 -0
  308. package/dist/resolvers/ai/inspect-agent-args.js +13 -0
  309. package/dist/resolvers/ai/inspect-agent-response.d.ts +631 -0
  310. package/dist/resolvers/ai/inspect-agent-response.js +48 -0
  311. package/dist/resolvers/ai/send-agent-feedback-args.d.ts +52 -0
  312. package/dist/resolvers/ai/send-agent-feedback-args.js +16 -0
  313. package/dist/resolvers/ai/send-agent-message-args.d.ts +48 -0
  314. package/dist/resolvers/ai/send-agent-message-args.js +36 -0
  315. package/dist/resolvers/ai/send-agent-message-response.d.ts +432 -0
  316. package/dist/resolvers/ai/send-agent-message-response.js +51 -0
  317. package/dist/resolvers/ai/types.d.ts +8 -0
  318. package/dist/resolvers/ai/types.js +1 -0
  319. package/dist/resolvers/takeshape/assets/asset-image-meta.d.ts +79 -0
  320. package/dist/resolvers/takeshape/assets/asset-image-meta.js +98 -0
  321. package/dist/resolvers/takeshape/assets/asset-image-params.d.ts +901 -0
  322. package/dist/resolvers/takeshape/assets/asset-image-params.js +726 -0
  323. package/dist/resolvers/takeshape/assets/asset-image.d.ts +17 -0
  324. package/dist/resolvers/takeshape/assets/asset-image.js +15 -0
  325. package/dist/resolvers/takeshape/assets/asset.d.ts +125 -0
  326. package/dist/resolvers/takeshape/assets/asset.js +107 -0
  327. package/dist/resolvers/takeshape/assets/constants.d.ts +11 -0
  328. package/dist/resolvers/takeshape/assets/constants.js +11 -0
  329. package/dist/resolvers/takeshape/builtins/constants.d.ts +1 -0
  330. package/dist/resolvers/takeshape/builtins/constants.js +1 -0
  331. package/dist/runtime-schema.d.ts +6 -0
  332. package/dist/runtime-schema.js +85 -0
  333. package/dist/scalars.d.ts +2 -0
  334. package/dist/scalars.js +4 -0
  335. package/dist/schema-transform.d.ts +19 -0
  336. package/dist/schema-transform.js +74 -0
  337. package/dist/schema-util.d.ts +266 -0
  338. package/dist/schema-util.js +1127 -0
  339. package/dist/schemas/auth-schemas.json +400 -0
  340. package/dist/schemas/index.d.ts +4 -0
  341. package/dist/schemas/index.js +182 -0
  342. package/dist/schemas/project-schema/experimental-2025-07.json +1297 -0
  343. package/dist/schemas/project-schema/latest.d.ts +245 -0
  344. package/dist/schemas/project-schema/latest.js +25 -0
  345. package/dist/schemas/project-schema/latest.json +5109 -0
  346. package/dist/schemas/project-schema/meta-schema-v1.0.0.json +193 -0
  347. package/dist/schemas/project-schema/meta-schema-v3.0.0.json +608 -0
  348. package/dist/schemas/project-schema/meta-schema-v3.1.0.json +608 -0
  349. package/dist/schemas/project-schema/meta-schema-v3.2.0.json +612 -0
  350. package/dist/schemas/project-schema/meta-schema-v3.3.0.json +612 -0
  351. package/dist/schemas/project-schema/meta-schema-v3.4.0.json +637 -0
  352. package/dist/schemas/project-schema/meta-schema-v3.5.0.json +626 -0
  353. package/dist/schemas/project-schema/meta-schema-v3.5.1.json +626 -0
  354. package/dist/schemas/project-schema/meta-schema-v3.6.0.json +629 -0
  355. package/dist/schemas/project-schema/meta-schema-v3.7.0.json +1137 -0
  356. package/dist/schemas/project-schema/meta-schema-v3.8.0.json +1137 -0
  357. package/dist/schemas/project-schema/meta-schema-v3.9.0.json +1477 -0
  358. package/dist/schemas/project-schema/v1.0.0.json +321 -0
  359. package/dist/schemas/project-schema/v3.0.0.json +414 -0
  360. package/dist/schemas/project-schema/v3.1.0.json +572 -0
  361. package/dist/schemas/project-schema/v3.10.0.json +2097 -0
  362. package/dist/schemas/project-schema/v3.11.0.json +2141 -0
  363. package/dist/schemas/project-schema/v3.12.0.json +2144 -0
  364. package/dist/schemas/project-schema/v3.12.1.json +2282 -0
  365. package/dist/schemas/project-schema/v3.12.2.json +2304 -0
  366. package/dist/schemas/project-schema/v3.12.3.json +2357 -0
  367. package/dist/schemas/project-schema/v3.13.0.json +2377 -0
  368. package/dist/schemas/project-schema/v3.14.0.json +2385 -0
  369. package/dist/schemas/project-schema/v3.15.0.json +2365 -0
  370. package/dist/schemas/project-schema/v3.16.0.json +2373 -0
  371. package/dist/schemas/project-schema/v3.17.0.json +2378 -0
  372. package/dist/schemas/project-schema/v3.17.1.json +2380 -0
  373. package/dist/schemas/project-schema/v3.18.0.json +2356 -0
  374. package/dist/schemas/project-schema/v3.18.1.json +2357 -0
  375. package/dist/schemas/project-schema/v3.18.2.json +2357 -0
  376. package/dist/schemas/project-schema/v3.19.0.json +2369 -0
  377. package/dist/schemas/project-schema/v3.2.0.json +580 -0
  378. package/dist/schemas/project-schema/v3.20.0.json +2369 -0
  379. package/dist/schemas/project-schema/v3.21.0.json +2376 -0
  380. package/dist/schemas/project-schema/v3.22.0.json +2381 -0
  381. package/dist/schemas/project-schema/v3.23.0.json +2456 -0
  382. package/dist/schemas/project-schema/v3.24.0.json +2556 -0
  383. package/dist/schemas/project-schema/v3.25.0.json +2552 -0
  384. package/dist/schemas/project-schema/v3.26.0.json +2599 -0
  385. package/dist/schemas/project-schema/v3.27.0.json +2611 -0
  386. package/dist/schemas/project-schema/v3.28.0.json +2656 -0
  387. package/dist/schemas/project-schema/v3.29.0.json +2670 -0
  388. package/dist/schemas/project-schema/v3.3.0.json +581 -0
  389. package/dist/schemas/project-schema/v3.30.0.json +2656 -0
  390. package/dist/schemas/project-schema/v3.31.0.json +2714 -0
  391. package/dist/schemas/project-schema/v3.32.0.json +2708 -0
  392. package/dist/schemas/project-schema/v3.33.0.json +2715 -0
  393. package/dist/schemas/project-schema/v3.34.0.json +2715 -0
  394. package/dist/schemas/project-schema/v3.35.0.json +2748 -0
  395. package/dist/schemas/project-schema/v3.36.0.json +2756 -0
  396. package/dist/schemas/project-schema/v3.37.0.json +2821 -0
  397. package/dist/schemas/project-schema/v3.38.0.json +2819 -0
  398. package/dist/schemas/project-schema/v3.39.0.json +2827 -0
  399. package/dist/schemas/project-schema/v3.4.0.json +571 -0
  400. package/dist/schemas/project-schema/v3.40.0.json +2830 -0
  401. package/dist/schemas/project-schema/v3.41.0.json +2830 -0
  402. package/dist/schemas/project-schema/v3.42.0.json +2835 -0
  403. package/dist/schemas/project-schema/v3.43.0.json +2841 -0
  404. package/dist/schemas/project-schema/v3.44.0.json +3013 -0
  405. package/dist/schemas/project-schema/v3.45.0.json +3064 -0
  406. package/dist/schemas/project-schema/v3.46.0.json +3136 -0
  407. package/dist/schemas/project-schema/v3.47.0.json +3189 -0
  408. package/dist/schemas/project-schema/v3.48.0.json +3196 -0
  409. package/dist/schemas/project-schema/v3.49.0.json +3239 -0
  410. package/dist/schemas/project-schema/v3.5.0.json +571 -0
  411. package/dist/schemas/project-schema/v3.5.1.json +571 -0
  412. package/dist/schemas/project-schema/v3.50.0.json +3320 -0
  413. package/dist/schemas/project-schema/v3.51.0.json +3326 -0
  414. package/dist/schemas/project-schema/v3.52.0.json +3326 -0
  415. package/dist/schemas/project-schema/v3.53.0.json +3476 -0
  416. package/dist/schemas/project-schema/v3.54.0.json +3512 -0
  417. package/dist/schemas/project-schema/v3.55.0.json +3515 -0
  418. package/dist/schemas/project-schema/v3.56.0.json +3530 -0
  419. package/dist/schemas/project-schema/v3.57.0.json +4815 -0
  420. package/dist/schemas/project-schema/v3.58.0.json +4815 -0
  421. package/dist/schemas/project-schema/v3.59.0.json +4912 -0
  422. package/dist/schemas/project-schema/v3.6.0.json +587 -0
  423. package/dist/schemas/project-schema/v3.60.0.json +4974 -0
  424. package/dist/schemas/project-schema/v3.61.0.json +4974 -0
  425. package/dist/schemas/project-schema/v3.62.0.json +5007 -0
  426. package/dist/schemas/project-schema/v3.63.0.json +5020 -0
  427. package/dist/schemas/project-schema/v3.64.0.json +5032 -0
  428. package/dist/schemas/project-schema/v3.65.0.json +5109 -0
  429. package/dist/schemas/project-schema/v3.7.0.json +587 -0
  430. package/dist/schemas/project-schema/v3.8.0.json +604 -0
  431. package/dist/schemas/project-schema/v3.9.0.json +604 -0
  432. package/dist/schemas/project-schema/v4.0.0.json +2316 -0
  433. package/dist/schemas/project-schema.json +232 -0
  434. package/dist/service-dependencies.d.ts +13 -0
  435. package/dist/service-dependencies.js +165 -0
  436. package/dist/services/services.d.ts +31 -0
  437. package/dist/services/services.js +145 -0
  438. package/dist/services/types.d.ts +11 -0
  439. package/dist/services/types.js +1 -0
  440. package/dist/services/util.d.ts +16 -0
  441. package/dist/services/util.js +36 -0
  442. package/dist/shape-paths.d.ts +7 -0
  443. package/dist/shape-paths.js +40 -0
  444. package/dist/taxonomies.d.ts +15 -0
  445. package/dist/taxonomies.js +24 -0
  446. package/dist/template-shapes/index.d.ts +7 -0
  447. package/dist/template-shapes/index.js +33 -0
  448. package/dist/template-shapes/names.d.ts +10 -0
  449. package/dist/template-shapes/names.js +21 -0
  450. package/dist/template-shapes/templates.d.ts +32 -0
  451. package/dist/template-shapes/templates.js +316 -0
  452. package/dist/template-shapes/types.d.ts +15 -0
  453. package/dist/template-shapes/types.js +7 -0
  454. package/dist/template-shapes/where.d.ts +37 -0
  455. package/dist/template-shapes/where.js +415 -0
  456. package/dist/types/index.d.ts +3 -0
  457. package/dist/types/index.js +2 -0
  458. package/dist/types/transforms.d.ts +15 -0
  459. package/dist/types/transforms.js +1 -0
  460. package/dist/types/types.d.ts +206 -0
  461. package/dist/types/types.js +10 -0
  462. package/dist/types/utils.d.ts +112 -0
  463. package/dist/types/utils.js +269 -0
  464. package/dist/unions.d.ts +14 -0
  465. package/dist/unions.js +77 -0
  466. package/dist/util/agent-utils.d.ts +2 -0
  467. package/dist/util/agent-utils.js +7 -0
  468. package/dist/util/api-indexing.d.ts +9 -0
  469. package/dist/util/api-indexing.js +57 -0
  470. package/dist/util/coerce-value.d.ts +9 -0
  471. package/dist/util/coerce-value.js +32 -0
  472. package/dist/util/detect-cycles.d.ts +7 -0
  473. package/dist/util/detect-cycles.js +45 -0
  474. package/dist/util/expressions.d.ts +34 -0
  475. package/dist/util/expressions.js +350 -0
  476. package/dist/util/find-shape-at-path.d.ts +21 -0
  477. package/dist/util/find-shape-at-path.js +53 -0
  478. package/dist/util/form-config.d.ts +11 -0
  479. package/dist/util/form-config.js +62 -0
  480. package/dist/util/get-conflicting-properties.d.ts +6 -0
  481. package/dist/util/get-conflicting-properties.js +55 -0
  482. package/dist/util/get-return-shape.d.ts +4 -0
  483. package/dist/util/get-return-shape.js +30 -0
  484. package/dist/util/graphql-string.d.ts +6 -0
  485. package/dist/util/graphql-string.js +75 -0
  486. package/dist/util/has-arg.d.ts +6 -0
  487. package/dist/util/has-arg.js +25 -0
  488. package/dist/util/is-asset-property.d.ts +3 -0
  489. package/dist/util/is-asset-property.js +11 -0
  490. package/dist/util/merge.d.ts +17 -0
  491. package/dist/util/merge.js +278 -0
  492. package/dist/util/patch-schema.d.ts +13 -0
  493. package/dist/util/patch-schema.js +89 -0
  494. package/dist/util/query-field-path.d.ts +9 -0
  495. package/dist/util/query-field-path.js +23 -0
  496. package/dist/util/shapes.d.ts +5 -0
  497. package/dist/util/shapes.js +22 -0
  498. package/dist/util/tools.d.ts +10 -0
  499. package/dist/util/tools.js +39 -0
  500. package/dist/validate/ai.d.ts +6 -0
  501. package/dist/validate/ai.js +221 -0
  502. package/dist/validate/errors.d.ts +3 -0
  503. package/dist/validate/errors.js +20 -0
  504. package/dist/validate/types.d.ts +43 -0
  505. package/dist/validate/types.js +1 -0
  506. package/dist/validate/util.d.ts +9 -0
  507. package/dist/validate/util.js +62 -0
  508. package/dist/validate/validate.d.ts +41 -0
  509. package/dist/validate/validate.js +1042 -0
  510. package/dist/versions.d.ts +4 -0
  511. package/dist/versions.js +4 -0
  512. package/dist/workflows.d.ts +14 -0
  513. package/dist/workflows.js +66 -0
  514. package/package.json +6 -6
@@ -0,0 +1,2377 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://schema.takeshape.io/project-schema/v3.13.0#",
4
+ "title": "Project Schema JSON",
5
+ "definitions": {
6
+ "schemaArray": {
7
+ "title": "Schema Array",
8
+ "type": "array",
9
+ "minItems": 1,
10
+ "items": {
11
+ "$ref": "#/definitions/propertySchema"
12
+ }
13
+ },
14
+ "nonNegativeInteger": {
15
+ "title": "Non Negative Integer",
16
+ "type": "integer",
17
+ "minimum": 0
18
+ },
19
+ "nonNegativeIntegerDefault0": {
20
+ "title": "Non Negative Integer Default 0",
21
+ "allOf": [
22
+ {
23
+ "$ref": "#/definitions/nonNegativeInteger"
24
+ },
25
+ {
26
+ "default": 0
27
+ }
28
+ ]
29
+ },
30
+ "simpleTypes": {
31
+ "title": "Simple Types",
32
+ "enum": ["array", "boolean", "integer", "null", "number", "object", "string"]
33
+ },
34
+ "stringArray": {
35
+ "title": "String Array",
36
+ "type": "array",
37
+ "items": {
38
+ "type": "string"
39
+ },
40
+ "uniqueItems": true,
41
+ "default": []
42
+ },
43
+ "relationship": {
44
+ "title": "Relationship",
45
+ "type": "object",
46
+ "properties": {
47
+ "shapeIds": {
48
+ "type": "array",
49
+ "items": {
50
+ "type": "string"
51
+ },
52
+ "minItems": 1
53
+ },
54
+ "type": {
55
+ "type": "string"
56
+ },
57
+ "relatedName": {
58
+ "type": "string",
59
+ "pattern": "^[_a-zA-Z][_a-zA-Z0-9]*$"
60
+ }
61
+ },
62
+ "required": ["shapeIds"],
63
+ "additionalProperties": false
64
+ },
65
+ "backreference": {
66
+ "title": "Back Reference",
67
+ "description": "A configuration object for a reverse reference in a relationship.",
68
+ "type": "object",
69
+ "properties": {
70
+ "enabled": {
71
+ "type": "boolean"
72
+ },
73
+ "name": {
74
+ "type": "string",
75
+ "pattern": "^[_a-zA-Z][_a-zA-Z0-9]*$"
76
+ }
77
+ },
78
+ "additionalProperties": false,
79
+ "required": ["enabled"]
80
+ },
81
+ "mappingString": {
82
+ "title": "Mapping String",
83
+ "type": "string",
84
+ "pattern": "^[\\w-]+(?::[\\w-]+)+(?:\\.[\\w-]+)+$"
85
+ },
86
+ "fieldMapping": {
87
+ "title": "Field Mapping",
88
+ "oneOf": [
89
+ {
90
+ "$ref": "#/definitions/mappingString"
91
+ },
92
+ {
93
+ "type": "array",
94
+ "items": {
95
+ "$ref": "#/definitions/mappingString"
96
+ }
97
+ }
98
+ ]
99
+ },
100
+ "refSchema": {
101
+ "title": "Ref Schema",
102
+ "type": "object",
103
+ "properties": {
104
+ "@ref": {
105
+ "$ref": "#/definitions/ref"
106
+ }
107
+ },
108
+ "required": ["@ref"]
109
+ },
110
+ "refSchemaLegacy": {
111
+ "title": "Ref Schema Legacy",
112
+ "type": "object",
113
+ "properties": {
114
+ "$ref": {
115
+ "$ref": "#/definitions/ref"
116
+ }
117
+ },
118
+ "required": ["$ref"]
119
+ },
120
+ "shapeSchemaEnum": {
121
+ "title": "Shape Schema Enum",
122
+ "type": "object",
123
+ "properties": {
124
+ "enum": {
125
+ "type": "array",
126
+ "items": {
127
+ "type": "string"
128
+ },
129
+ "minItems": 1
130
+ }
131
+ },
132
+ "additionalProperties": false,
133
+ "required": ["enum"]
134
+ },
135
+ "objectSchema": {
136
+ "title": "Object Schema",
137
+ "type": "object",
138
+ "allOf": [
139
+ {
140
+ "$ref": "#/definitions/propertySchema"
141
+ },
142
+ {
143
+ "properties": {
144
+ "type": {
145
+ "type": "string",
146
+ "const": "object"
147
+ },
148
+ "properties": {
149
+ "type": "object",
150
+ "additionalProperties": {
151
+ "$ref": "#/definitions/propertySchema"
152
+ }
153
+ }
154
+ },
155
+ "required": ["type", "properties"]
156
+ }
157
+ ]
158
+ },
159
+ "returnShapeArraySchema": {
160
+ "title": "Return Shape Array Schema",
161
+ "type": "object",
162
+ "allOf": [
163
+ {
164
+ "$ref": "#/definitions/propertySchema"
165
+ },
166
+ {
167
+ "properties": {
168
+ "type": {
169
+ "type": "string",
170
+ "const": "array"
171
+ },
172
+ "items": {
173
+ "oneOf": [
174
+ { "$ref": "#/definitions/refSchema" },
175
+ {
176
+ "type": "object",
177
+ "properties": {
178
+ "type": {
179
+ "enum": ["boolean", "integer", "number", "string"]
180
+ }
181
+ },
182
+ "required": ["type"]
183
+ }
184
+ ]
185
+ }
186
+ },
187
+ "required": ["type", "items"]
188
+ }
189
+ ]
190
+ },
191
+ "shapeSchemaAllOf": {
192
+ "title": "Shape Schema All Of",
193
+ "type": "object",
194
+ "properties": {
195
+ "allOf": {
196
+ "type": "array",
197
+ "items": {
198
+ "oneOf": [
199
+ {
200
+ "$ref": "#/definitions/refSchema"
201
+ },
202
+ {
203
+ "$ref": "#/definitions/refSchemaLegacy"
204
+ },
205
+ {
206
+ "$ref": "#/definitions/objectSchema"
207
+ }
208
+ ],
209
+ "unevaluatedProperties": true
210
+ }
211
+ }
212
+ },
213
+ "required": ["allOf"],
214
+ "additionalProperties": false
215
+ },
216
+ "allOfSchema": {
217
+ "title": "AllOfSchema",
218
+ "allOf": [
219
+ { "$ref": "#/definitions/propertySchema" },
220
+ {
221
+ "type": "object",
222
+ "properties": {
223
+ "allOf": {
224
+ "type": "array",
225
+ "items": {
226
+ "oneOf": [
227
+ {
228
+ "$ref": "#/definitions/refSchema"
229
+ },
230
+ {
231
+ "$ref": "#/definitions/refSchemaLegacy"
232
+ },
233
+ {
234
+ "$ref": "#/definitions/objectSchema"
235
+ }
236
+ ],
237
+ "unevaluatedProperties": true
238
+ }
239
+ }
240
+ },
241
+ "required": ["allOf"]
242
+ }
243
+ ]
244
+ },
245
+ "shapeSchemaOneOf": {
246
+ "title": "Shape Schema One Of",
247
+ "type": "object",
248
+ "properties": {
249
+ "oneOf": {
250
+ "type": "array",
251
+ "items": {
252
+ "oneOf": [
253
+ {
254
+ "$ref": "#/definitions/refSchema"
255
+ },
256
+ {
257
+ "$ref": "#/definitions/refSchemaLegacy"
258
+ },
259
+ {
260
+ "$ref": "#/definitions/objectSchema"
261
+ }
262
+ ],
263
+ "unevaluatedProperties": true
264
+ }
265
+ }
266
+ },
267
+ "required": ["oneOf"],
268
+ "additionalProperties": false
269
+ },
270
+ "oneOfSchema": {
271
+ "title": "OneOfSchema",
272
+ "allOf": [
273
+ { "$ref": "#/definitions/propertySchema" },
274
+ {
275
+ "type": "object",
276
+ "properties": {
277
+ "oneOf": {
278
+ "type": "array",
279
+ "items": {
280
+ "oneOf": [
281
+ {
282
+ "$ref": "#/definitions/refSchema"
283
+ },
284
+ {
285
+ "$ref": "#/definitions/refSchemaLegacy"
286
+ },
287
+ {
288
+ "$ref": "#/definitions/objectSchema"
289
+ }
290
+ ],
291
+ "unevaluatedProperties": true
292
+ }
293
+ }
294
+ },
295
+ "required": ["oneOf"],
296
+ "additionalProperties": false
297
+ }
298
+ ]
299
+ },
300
+ "shapeSchema": {
301
+ "title": "Shape Schema",
302
+ "type": "object",
303
+ "oneOf": [
304
+ { "$ref": "#/definitions/shapeSchemaAllOf" },
305
+ { "$ref": "#/definitions/shapeSchemaOneOf" },
306
+ { "$ref": "#/definitions/shapeSchemaEnum" },
307
+ { "$ref": "#/definitions/objectSchema" }
308
+ ]
309
+ },
310
+ "queryMap": {
311
+ "title": "Query Map",
312
+ "type": "object",
313
+ "patternProperties": {
314
+ "^[0-9A-Za-z_]+$": {
315
+ "$ref": "#/definitions/query"
316
+ }
317
+ },
318
+ "additionalProperties": false
319
+ },
320
+ "args": {
321
+ "title": "Args",
322
+ "oneOf": [{ "type": "string" }, { "$ref": "#/definitions/objectSchema" }]
323
+ },
324
+ "returnShape": {
325
+ "title": "Return Shape",
326
+ "oneOf": [{ "type": "string" }, { "$ref": "#/definitions/returnShapeArraySchema" }]
327
+ },
328
+ "directiveConfigItem": {
329
+ "title": "Directive Config Item",
330
+ "description": "A tuple with a string directive name, and options to pass to the directive",
331
+ "type": "array",
332
+ "items": [
333
+ {
334
+ "title": "Directive Name",
335
+ "type": "string"
336
+ },
337
+ {
338
+ "title": "Directive Options",
339
+ "type": "object",
340
+ "propertyNames": {
341
+ "pattern": "[0-9A-Za-z_-]+"
342
+ }
343
+ }
344
+ ]
345
+ },
346
+ "parameterSerializeStyleOptions": {
347
+ "title": "Parameter Serialize Style Options",
348
+ "description": "All possible options for the more specific ParameterSerializeStyleOptions types.",
349
+ "type": "object",
350
+ "properties": {
351
+ "style": {
352
+ "type": "string",
353
+ "enum": ["simple", "label", "matrix", "form", "spaceDelimited", "pipeDelimited", "deepObject", "none"]
354
+ },
355
+ "explode": {
356
+ "type": "boolean"
357
+ },
358
+ "allowEmptyValue": {
359
+ "type": "boolean"
360
+ },
361
+ "allowReserved": {
362
+ "description": "The allowReserved keyword specifies whether the reserved characters :/?#[]@!$&'()*+,;= in parameter values are allowed to be sent as they are.",
363
+ "type": "boolean"
364
+ },
365
+ "skipEncoding": {
366
+ "type": "boolean"
367
+ }
368
+ },
369
+ "required": ["style"],
370
+ "additionalProperties": false
371
+ },
372
+ "parameterSerializeStyleOptionsForPathParams": {
373
+ "title": "Parameter Serialize Style Options For Path Params",
374
+ "description": "Options to be passed to the serialization routine.",
375
+ "type": "object",
376
+ "properties": {
377
+ "style": {
378
+ "type": "string",
379
+ "enum": ["simple", "label", "matrix", "none"]
380
+ },
381
+ "explode": {
382
+ "type": "boolean"
383
+ },
384
+ "allowEmptyValue": {
385
+ "type": "boolean"
386
+ },
387
+ "allowReserved": {
388
+ "description": "The allowReserved keyword specifies whether the reserved characters :/?#[]@!$&'()*+,;= in parameter values are allowed to be sent as they are.",
389
+ "type": "boolean"
390
+ },
391
+ "skipEncoding": {
392
+ "type": "boolean"
393
+ }
394
+ },
395
+ "required": ["style"],
396
+ "additionalProperties": false
397
+ },
398
+ "parameterSerializeStyleOptionsForSearchParams": {
399
+ "title": "Parameter Serialize Style Options For Search Params",
400
+ "description": "Options to be passed to the serialization routine.",
401
+ "type": "object",
402
+ "properties": {
403
+ "style": {
404
+ "type": "string",
405
+ "enum": ["form", "spaceDelimited", "pipeDelimited", "deepObject", "none"]
406
+ },
407
+ "explode": {
408
+ "type": "boolean"
409
+ },
410
+ "allowEmptyValue": {
411
+ "type": "boolean"
412
+ },
413
+ "allowReserved": {
414
+ "description": "The allowReserved keyword specifies whether the reserved characters :/?#[]@!$&'()*+,;= in parameter values are allowed to be sent as they are.",
415
+ "type": "boolean"
416
+ },
417
+ "skipEncoding": {
418
+ "type": "boolean"
419
+ }
420
+ },
421
+ "required": ["style"],
422
+ "additionalProperties": false
423
+ },
424
+ "parameterSerializeStyleOptionsForHeaders": {
425
+ "title": "Parameter Serialize Style Options For Headers",
426
+ "description": "Options to be passed to the serialization routine.",
427
+ "type": "object",
428
+ "properties": {
429
+ "style": {
430
+ "type": "string",
431
+ "enum": ["simple", "none"]
432
+ },
433
+ "explode": {
434
+ "type": "boolean"
435
+ }
436
+ },
437
+ "required": ["style"],
438
+ "additionalProperties": false
439
+ },
440
+ "parameterSerializeContentOptions": {
441
+ "title": "Parameter Serialize Content Options",
442
+ "description": "Options to be passed to the serialization routine.",
443
+ "type": "object",
444
+ "properties": {
445
+ "contentType": {
446
+ "type": "string"
447
+ },
448
+ "allowReserved": {
449
+ "description": "The allowReserved keyword specifies whether the reserved characters :/?#[]@!$&'()*+,;= in parameter values are allowed to be sent as they are.",
450
+ "type": "boolean"
451
+ },
452
+ "skipEncoding": {
453
+ "type": "boolean"
454
+ },
455
+ "options": {
456
+ "description": "Options to be passed directly to the content serializer library. Valid options depend upon your contentType.",
457
+ "type": "object"
458
+ }
459
+ },
460
+ "required": ["contentType"],
461
+ "additionalProperties": false
462
+ },
463
+ "parameterSerializeOptions": {
464
+ "title": "Parameter Serialize Options",
465
+ "description": "Options to be passed to the serialization routine.",
466
+ "type": "object",
467
+ "oneOf": [
468
+ {
469
+ "$ref": "#/definitions/parameterSerializeStyleOptions"
470
+ },
471
+ {
472
+ "$ref": "#/definitions/parameterSerializeContentOptions"
473
+ }
474
+ ]
475
+ },
476
+ "parameterSerializeConfig": {
477
+ "title": "Parameter Serialize Config",
478
+ "description": "All possible options for the more specific ParameterSerializeConfig types.",
479
+ "type": "object",
480
+ "properties": {
481
+ "content": {
482
+ "$ref": "#/definitions/parameterSerializeContentOptions"
483
+ },
484
+ "defaults": {
485
+ "$ref": "#/definitions/parameterSerializeOptions"
486
+ },
487
+ "paths": {
488
+ "type": "object",
489
+ "patternProperties": {
490
+ "^[^\\n\\r]*$": {
491
+ "$ref": "#/definitions/parameterSerializeOptions"
492
+ }
493
+ }
494
+ }
495
+ },
496
+ "additionalProperties": false
497
+ },
498
+ "parameterSerializeConfigForBody": {
499
+ "title": "Parameter Serialize Config For Body",
500
+ "description": "Top-level paths to use serialization options for.",
501
+ "type": "object",
502
+ "properties": {
503
+ "content": {
504
+ "$ref": "#/definitions/parameterSerializeContentOptions"
505
+ }
506
+ },
507
+ "additionalProperties": false
508
+ },
509
+ "parameterSerializeConfigForPathParams": {
510
+ "title": "Parameter Serialize Config For Path Params",
511
+ "description": "Top-level paths to use path params serialization options for.",
512
+ "type": "object",
513
+ "properties": {
514
+ "template": {
515
+ "description": "For generating the path using tokens frpm the ParameterOps, e.g., '/products/{productId}'",
516
+ "type": "string"
517
+ },
518
+ "defaults": {
519
+ "oneOf": [
520
+ {
521
+ "$ref": "#/definitions/parameterSerializeStyleOptionsForPathParams"
522
+ },
523
+ {
524
+ "$ref": "#/definitions/parameterSerializeContentOptions"
525
+ }
526
+ ]
527
+ },
528
+ "paths": {
529
+ "type": "object",
530
+ "patternProperties": {
531
+ "^[^\\n\\r]*$": {
532
+ "oneOf": [
533
+ {
534
+ "$ref": "#/definitions/parameterSerializeStyleOptionsForPathParams"
535
+ },
536
+ {
537
+ "$ref": "#/definitions/parameterSerializeContentOptions"
538
+ }
539
+ ]
540
+ }
541
+ }
542
+ }
543
+ },
544
+ "required": ["template"],
545
+ "additionalProperties": false
546
+ },
547
+ "parameterSerializeConfigForSearchParams": {
548
+ "title": "Parameter Serialize Config For Search Params",
549
+ "description": "Top-level paths to use search params serialization options for.",
550
+ "type": "object",
551
+ "properties": {
552
+ "defaults": {
553
+ "oneOf": [
554
+ {
555
+ "$ref": "#/definitions/parameterSerializeStyleOptionsForSearchParams"
556
+ },
557
+ {
558
+ "$ref": "#/definitions/parameterSerializeContentOptions"
559
+ }
560
+ ]
561
+ },
562
+ "paths": {
563
+ "type": "object",
564
+ "patternProperties": {
565
+ "^[^\\n\\r]*$": {
566
+ "oneOf": [
567
+ {
568
+ "$ref": "#/definitions/parameterSerializeStyleOptionsForSearchParams"
569
+ },
570
+ {
571
+ "$ref": "#/definitions/parameterSerializeContentOptions"
572
+ }
573
+ ]
574
+ }
575
+ }
576
+ }
577
+ },
578
+ "additionalProperties": false
579
+ },
580
+ "parameterSerializeConfigForHeaders": {
581
+ "title": "Parameter Serialize Config For Headers",
582
+ "description": "Top-level paths to use headers serialization options for.",
583
+ "type": "object",
584
+ "properties": {
585
+ "defaults": {
586
+ "oneOf": [
587
+ {
588
+ "$ref": "#/definitions/parameterSerializeStyleOptionsForHeaders"
589
+ },
590
+ {
591
+ "$ref": "#/definitions/parameterSerializeContentOptions"
592
+ }
593
+ ]
594
+ },
595
+ "paths": {
596
+ "type": "object",
597
+ "patternProperties": {
598
+ "^[^\\n\\r]*$": {
599
+ "oneOf": [
600
+ {
601
+ "$ref": "#/definitions/parameterSerializeStyleOptionsForHeaders"
602
+ },
603
+ {
604
+ "$ref": "#/definitions/parameterSerializeContentOptions"
605
+ }
606
+ ]
607
+ }
608
+ }
609
+ }
610
+ },
611
+ "additionalProperties": false
612
+ },
613
+ "parameterOpNested": {
614
+ "title": "Parameter Op Nested",
615
+ "description": "An object describing an operation to generate a parameter, using a nested OpList.",
616
+ "type": "object",
617
+ "properties": {
618
+ "path": {
619
+ "description": "A path to the parameter for this operation.",
620
+ "type": "string",
621
+ "minLength": 1,
622
+ "pattern": "^[^\\n\\r]*$"
623
+ },
624
+ "op": {
625
+ "description": "A mode for this parameter's operation.",
626
+ "type": "string",
627
+ "enum": ["set", "concat", "extend", "remove"]
628
+ },
629
+ "ops": {
630
+ "description": "A nested op list.",
631
+ "$ref": "#/definitions/parameterOpList"
632
+ }
633
+ },
634
+ "required": ["path", "ops"],
635
+ "additionalProperties": false
636
+ },
637
+ "parameterOpValue": {
638
+ "title": "Parameter Op Value",
639
+ "description": "An object describing an operation to generate a parameter using a value.",
640
+ "type": "object",
641
+ "properties": {
642
+ "path": {
643
+ "description": "A path to the parameter for this operation.",
644
+ "type": "string",
645
+ "minLength": 1,
646
+ "pattern": "^[^\\n\\r]*$"
647
+ },
648
+ "op": {
649
+ "description": "A mode for this parameter's operation.",
650
+ "type": "string",
651
+ "enum": ["set", "concat", "extend", "remove"]
652
+ },
653
+ "value": {
654
+ "description": "A value to set directly at this path.",
655
+ "type": ["number", "string", "boolean", "object", "array", "null"]
656
+ }
657
+ },
658
+ "required": ["path", "value"],
659
+ "additionalProperties": false
660
+ },
661
+ "parameterOpMapping": {
662
+ "title": "Parameter Op Mapping",
663
+ "description": "An object describing an operation to generate a parameter using a mapping.",
664
+ "type": "object",
665
+ "properties": {
666
+ "path": {
667
+ "description": "A path to the parameter for this operation.",
668
+ "type": "string",
669
+ "minLength": 1,
670
+ "pattern": "^[^\\n\\r]*$"
671
+ },
672
+ "op": {
673
+ "description": "A mode for this parameter's operation.",
674
+ "type": "string",
675
+ "enum": ["set", "concat", "extend", "remove"]
676
+ },
677
+ "mapping": {
678
+ "description": "Either a valid JSONPath or a directive pipeline to evaluate against the query context.",
679
+ "oneOf": [
680
+ {
681
+ "type": "string",
682
+ "minLength": 1
683
+ },
684
+ {
685
+ "$ref": "#/definitions/directiveConfig"
686
+ }
687
+ ]
688
+ }
689
+ },
690
+ "required": ["path", "mapping"],
691
+ "additionalProperties": false
692
+ },
693
+ "parameterOpOp": {
694
+ "title": "Parameter Op Op",
695
+ "description": "An object describing an operation to generate a parameter using a mapping.",
696
+ "type": "object",
697
+ "properties": {
698
+ "path": {
699
+ "description": "A path to the parameter for this operation.",
700
+ "type": "string",
701
+ "minLength": 1,
702
+ "pattern": "^[^\\n\\r]*$"
703
+ },
704
+ "op": {
705
+ "description": "A mode for this parameter's operation.",
706
+ "type": "string",
707
+ "enum": ["set", "concat", "extend", "remove"]
708
+ }
709
+ },
710
+ "required": ["path", "op"],
711
+ "additionalProperties": false
712
+ },
713
+ "parameterOp": {
714
+ "title": "Parameter Op",
715
+ "description": "An object describing an operation to generate a parameter.",
716
+ "oneOf": [
717
+ {
718
+ "$ref": "#/definitions/parameterOpNested"
719
+ },
720
+ {
721
+ "$ref": "#/definitions/parameterOpValue"
722
+ },
723
+ {
724
+ "$ref": "#/definitions/parameterOpMapping"
725
+ },
726
+ {
727
+ "$ref": "#/definitions/parameterOpOp"
728
+ }
729
+ ]
730
+ },
731
+ "parameterOpList": {
732
+ "title": "Parameter Op List",
733
+ "type": "array",
734
+ "items": {
735
+ "$ref": "#/definitions/parameterOp"
736
+ },
737
+ "minItems": 1
738
+ },
739
+ "parameterConfig": {
740
+ "title": "Parameter Config",
741
+ "description": "All possible options for the more specific ParameterConfig types.",
742
+ "type": "object",
743
+ "properties": {
744
+ "ops": {
745
+ "$ref": "#/definitions/parameterOpList"
746
+ },
747
+ "serialize": {
748
+ "$ref": "#/definitions/parameterSerializeConfig"
749
+ }
750
+ },
751
+ "required": ["ops"],
752
+ "additionalProperties": false
753
+ },
754
+ "parameterConfigForBody": {
755
+ "title": "Parameter Config For Body",
756
+ "type": "object",
757
+ "properties": {
758
+ "ops": {
759
+ "$ref": "#/definitions/parameterOpList"
760
+ },
761
+ "serialize": {
762
+ "$ref": "#/definitions/parameterSerializeConfigForBody"
763
+ }
764
+ },
765
+ "required": ["ops"],
766
+ "additionalProperties": false
767
+ },
768
+ "parameterConfigForPathParams": {
769
+ "title": "Parameter Config For Path Params",
770
+ "type": "object",
771
+ "properties": {
772
+ "ops": {
773
+ "$ref": "#/definitions/parameterOpList"
774
+ },
775
+ "serialize": {
776
+ "$ref": "#/definitions/parameterSerializeConfigForPathParams"
777
+ }
778
+ },
779
+ "required": ["ops", "serialize"],
780
+ "additionalProperties": false
781
+ },
782
+ "parameterConfigForAwsLambda": {
783
+ "title": "ParameterConfigForAwsLambda",
784
+ "type": "object",
785
+ "properties": {
786
+ "ops": {
787
+ "$ref": "#/definitions/parameterOpList"
788
+ },
789
+ "serialize": {
790
+ "$ref": "#/definitions/parameterSerializeConfigForPathParams"
791
+ }
792
+ },
793
+ "required": ["ops", "serialize"],
794
+ "additionalProperties": false
795
+ },
796
+ "parameterConfigForSearchParams": {
797
+ "title": "Parameter Config For Search Params",
798
+ "type": "object",
799
+ "properties": {
800
+ "ops": {
801
+ "$ref": "#/definitions/parameterOpList"
802
+ },
803
+ "serialize": {
804
+ "$ref": "#/definitions/parameterSerializeConfigForSearchParams"
805
+ }
806
+ },
807
+ "required": ["ops"],
808
+ "additionalProperties": false
809
+ },
810
+ "parameterConfigForHeaders": {
811
+ "title": "Parameter Config For Headers",
812
+ "type": "object",
813
+ "properties": {
814
+ "ops": {
815
+ "$ref": "#/definitions/parameterOpList"
816
+ },
817
+ "serialize": {
818
+ "$ref": "#/definitions/parameterSerializeConfigForHeaders"
819
+ }
820
+ },
821
+ "required": ["ops"],
822
+ "additionalProperties": false
823
+ },
824
+ "parameterConfigForJson": {
825
+ "title": "Parameter Config For Json",
826
+ "type": "object",
827
+ "properties": {
828
+ "ops": {
829
+ "$ref": "#/definitions/parameterOpList"
830
+ }
831
+ },
832
+ "required": ["ops"],
833
+ "additionalProperties": false
834
+ },
835
+ "directiveConfig": {
836
+ "title": "Directive Config",
837
+ "description": "An array of individual directive config items to process in order",
838
+ "type": "array",
839
+ "items": {
840
+ "$ref": "#/definitions/directiveConfigItem"
841
+ },
842
+ "minItems": 1
843
+ },
844
+ "directiveMappingMap": {
845
+ "title": "Directive Mapping Map",
846
+ "description": "An map of object keys / key paths to directive configs",
847
+ "type": "object",
848
+ "patternProperties": {
849
+ "[0-9A-Za-z_-]+": {
850
+ "$ref": "#/definitions/directiveConfig"
851
+ }
852
+ }
853
+ },
854
+ "directiveMappingArrayItem": {
855
+ "title": "Directive Mapping Array Item",
856
+ "description": "A tuple with a string key and a directive config to evaluate",
857
+ "type": "array",
858
+ "items": [{ "type": "string" }, { "$ref": "#/definitions/directiveConfig" }]
859
+ },
860
+ "directiveMappingArray": {
861
+ "title": "Directive Mapping Array",
862
+ "description": "An array of key / value or directive config tuples",
863
+ "type": "array",
864
+ "items": { "$ref": "#/definitions/directiveMappingArrayItem" }
865
+ },
866
+ "basicResolver": {
867
+ "title": "BasicResolver",
868
+ "description": "A single resolver, can be composed with the ComposeResolver.",
869
+ "oneOf": [
870
+ {
871
+ "$ref": "#/definitions/utilResolver"
872
+ },
873
+ {
874
+ "$ref": "#/definitions/takeshapeResolver"
875
+ },
876
+ {
877
+ "$ref": "#/definitions/internalTakeshapeResolver"
878
+ },
879
+ {
880
+ "$ref": "#/definitions/graphqlResolver"
881
+ },
882
+ {
883
+ "$ref": "#/definitions/restResolver"
884
+ },
885
+ {
886
+ "$ref": "#/definitions/awsLambdaResolver"
887
+ }
888
+ ]
889
+ },
890
+ "argsMapping": {
891
+ "title": "ArgsMapping",
892
+ "description": "Maps a query's input args to the input expected by the service's endpoint.",
893
+ "oneOf": [
894
+ {
895
+ "$ref": "#/definitions/directiveMappingMap"
896
+ },
897
+ {
898
+ "$ref": "#/definitions/directiveConfig"
899
+ }
900
+ ]
901
+ },
902
+ "searchParamsMapping": {
903
+ "title": "SearchParamsMapping",
904
+ "description": "Set or evaluate directives to generate searchParams for the service endpoint.",
905
+ "$ref": "#/definitions/directiveMappingArray"
906
+ },
907
+ "resultsMapping": {
908
+ "title": "ResultsMapping",
909
+ "description": "Maps a service endpoint's response results to the expected shape of the query's response.",
910
+ "oneOf": [
911
+ {
912
+ "$ref": "#/definitions/directiveMappingMap"
913
+ },
914
+ {
915
+ "$ref": "#/definitions/directiveConfig"
916
+ }
917
+ ]
918
+ },
919
+ "utilResolver": {
920
+ "title": "UtilResolver",
921
+ "type": "object",
922
+ "properties": {
923
+ "if": {
924
+ "type": "string"
925
+ },
926
+ "id": {
927
+ "type": "string",
928
+ "pattern": "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
929
+ },
930
+ "name": {
931
+ "title": "UtilResolverName",
932
+ "type": "string",
933
+ "description": "Name of the resolver function.",
934
+ "enum": ["debug:noop", "util:wrap"]
935
+ },
936
+ "service": {
937
+ "type": "string",
938
+ "description": "Configuration for a service to use with this resolver."
939
+ },
940
+ "options": {
941
+ "title": "UtilResolverOptions",
942
+ "type": "object",
943
+ "additionalProperties": true
944
+ },
945
+ "args": {
946
+ "description": "Mapping and serialization configuration for args.",
947
+ "$ref": "#/definitions/parameterConfigForJson"
948
+ },
949
+ "results": {
950
+ "description": "Mapping configuration for the results of this resolver step.",
951
+ "$ref": "#/definitions/parameterConfigForJson"
952
+ },
953
+ "argsMapping": {
954
+ "$ref": "#/definitions/argsMapping"
955
+ },
956
+ "resultsMapping": {
957
+ "$ref": "#/definitions/resultsMapping"
958
+ }
959
+ },
960
+ "required": ["name", "service"],
961
+ "additionalProperties": false
962
+ },
963
+ "takeshapeResolver": {
964
+ "title": "TakeshapeResolver",
965
+ "type": "object",
966
+ "properties": {
967
+ "if": { "type": "string" },
968
+ "id": {
969
+ "type": "string",
970
+ "pattern": "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
971
+ },
972
+ "name": {
973
+ "title": "TakeshapeResolverName",
974
+ "type": "string",
975
+ "description": "Name of the resolver function.",
976
+ "enum": [
977
+ "takeshape:get",
978
+ "takeshape:create",
979
+ "takeshape:update",
980
+ "takeshape:delete",
981
+ "takeshape:duplicate",
982
+ "takeshape:find",
983
+ "takeshape:queryApiIndex"
984
+ ]
985
+ },
986
+ "service": {
987
+ "type": "string",
988
+ "description": "Internal service identifier.",
989
+ "enum": ["takeshape:local"]
990
+ },
991
+ "options": {
992
+ "title": "TakeshapeResolverOptions",
993
+ "type": "object",
994
+ "additionalProperties": true
995
+ },
996
+ "argsMapping": {
997
+ "$ref": "#/definitions/argsMapping"
998
+ },
999
+ "resultsMapping": {
1000
+ "$ref": "#/definitions/resultsMapping"
1001
+ },
1002
+ "shapeName": {
1003
+ "description": "A Shape name for the resolver to use.",
1004
+ "type": "string"
1005
+ },
1006
+ "args": {
1007
+ "description": "Mapping and serialization configuration for args.",
1008
+ "$ref": "#/definitions/parameterConfigForJson"
1009
+ },
1010
+ "results": {
1011
+ "description": "Mapping configuration for the results of this resolver step.",
1012
+ "$ref": "#/definitions/parameterConfigForJson"
1013
+ }
1014
+ },
1015
+ "required": ["name", "service", "shapeName"],
1016
+ "additionalProperties": false
1017
+ },
1018
+ "internalTakeshapeResolver": {
1019
+ "title": "InternalTakeshapeResolver",
1020
+ "type": "object",
1021
+ "properties": {
1022
+ "if": {
1023
+ "type": "string"
1024
+ },
1025
+ "id": {
1026
+ "type": "string",
1027
+ "pattern": "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
1028
+ },
1029
+ "name": {
1030
+ "title": "InternalTakeshapeResolverName",
1031
+ "type": "string",
1032
+ "description": "Name of the resolver function.",
1033
+ "enum": ["takeshape:getRelationship", "takeshape:taxonomySuggest", "takeshape:list", "takeshape:search"]
1034
+ },
1035
+ "service": {
1036
+ "type": "string",
1037
+ "description": "Internal service identifier.",
1038
+ "enum": ["takeshape:local"]
1039
+ },
1040
+ "options": {
1041
+ "title": "TakeshapeResolverOptions",
1042
+ "type": "object",
1043
+ "additionalProperties": true
1044
+ },
1045
+ "shapeName": {
1046
+ "description": "An optional Shape name for the resolver.",
1047
+ "type": "string"
1048
+ },
1049
+ "args": {
1050
+ "description": "Mapping and serialization configuration for args.",
1051
+ "$ref": "#/definitions/parameterConfigForJson"
1052
+ },
1053
+ "results": {
1054
+ "description": "Mapping configuration for the results of this resolver step.",
1055
+ "$ref": "#/definitions/parameterConfigForJson"
1056
+ },
1057
+ "argsMapping": {
1058
+ "$ref": "#/definitions/argsMapping"
1059
+ },
1060
+ "resultsMapping": {
1061
+ "$ref": "#/definitions/resultsMapping"
1062
+ }
1063
+ },
1064
+ "required": ["name", "service"],
1065
+ "additionalProperties": false
1066
+ },
1067
+ "graphqlResolver": {
1068
+ "title": "GraphqlResolver",
1069
+ "type": "object",
1070
+ "properties": {
1071
+ "if": { "type": "string" },
1072
+ "id": {
1073
+ "type": "string",
1074
+ "pattern": "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
1075
+ },
1076
+ "name": {
1077
+ "title": "GraphqlResolverName",
1078
+ "type": "string",
1079
+ "description": "Name of the resolver function.",
1080
+ "enum": ["graphql:query", "graphql:mutation"]
1081
+ },
1082
+ "service": {
1083
+ "type": "string",
1084
+ "description": "Configuration for a service to use with this resolver."
1085
+ },
1086
+ "argsMapping": {
1087
+ "$ref": "#/definitions/argsMapping"
1088
+ },
1089
+ "resultsMapping": {
1090
+ "$ref": "#/definitions/resultsMapping"
1091
+ },
1092
+ "options": {
1093
+ "title": "GraphqlResolverOptions",
1094
+ "type": "object",
1095
+ "properties": {
1096
+ "selectionSet": { "type": "string" },
1097
+ "unboxParentSelectionSet": { "type": "boolean" },
1098
+ "ignoreErrors": { "type": "boolean" },
1099
+ "skipWhenMissingArgs": { "type": "boolean" },
1100
+ "ttl": { "type": "number" },
1101
+ "timeout": { "type": "number" },
1102
+ "retry": { "oneOf": [{ "type": "number" }, { "type": "object" }] }
1103
+ },
1104
+ "additionalProperties": true
1105
+ },
1106
+ "fieldName": {
1107
+ "description": "A fieldname to use in queries.",
1108
+ "type": "string"
1109
+ },
1110
+ "headers": {
1111
+ "description": "Mapping and serialization configuration for headers.",
1112
+ "$ref": "#/definitions/parameterConfigForHeaders"
1113
+ },
1114
+ "searchParams": {
1115
+ "description": "Mapping and serialization configuration for searchParams.",
1116
+ "$ref": "#/definitions/parameterConfigForSearchParams"
1117
+ },
1118
+ "args": {
1119
+ "description": "Mapping and serialization configuration for args.",
1120
+ "$ref": "#/definitions/parameterConfigForJson"
1121
+ },
1122
+ "results": {
1123
+ "description": "Mapping configuration for the results of this resolver step.",
1124
+ "$ref": "#/definitions/parameterConfigForJson"
1125
+ }
1126
+ },
1127
+ "required": ["name", "service", "fieldName"],
1128
+ "additionalProperties": false
1129
+ },
1130
+ "restResolver": {
1131
+ "title": "RestResolver",
1132
+ "type": "object",
1133
+ "properties": {
1134
+ "if": { "type": "string" },
1135
+ "id": {
1136
+ "type": "string",
1137
+ "pattern": "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
1138
+ },
1139
+ "name": {
1140
+ "title": "RestResolverName",
1141
+ "type": "string",
1142
+ "description": "Name of the resolver function.",
1143
+ "enum": ["rest:get", "rest:head", "rest:post", "rest:put", "rest:patch", "rest:delete"]
1144
+ },
1145
+ "service": {
1146
+ "type": "string",
1147
+ "description": "Configuration for a service to use with this resolver."
1148
+ },
1149
+ "argsMapping": {
1150
+ "$ref": "#/definitions/argsMapping"
1151
+ },
1152
+ "searchParamsMapping": {
1153
+ "$ref": "#/definitions/searchParamsMapping"
1154
+ },
1155
+ "resultsMapping": {
1156
+ "$ref": "#/definitions/resultsMapping"
1157
+ },
1158
+ "options": {
1159
+ "title": "RestResolverOptions",
1160
+ "type": "object",
1161
+ "properties": {
1162
+ "trailingSlash": { "type": "boolean" },
1163
+ "ttl": { "type": "number" },
1164
+ "timeout": { "type": "number" },
1165
+ "retry": { "oneOf": [{ "type": "number" }, { "type": "object" }] }
1166
+ },
1167
+ "additionalProperties": true
1168
+ },
1169
+ "body": {
1170
+ "description": "Mapping and serialization configuration for a request body.",
1171
+ "$ref": "#/definitions/parameterConfigForBody"
1172
+ },
1173
+ "form": {
1174
+ "description": "Mapping and serialization configuration for form data.",
1175
+ "$ref": "#/definitions/parameterConfigForSearchParams"
1176
+ },
1177
+ "headers": {
1178
+ "description": "Mapping and serialization configuration for headers.",
1179
+ "$ref": "#/definitions/parameterConfigForHeaders"
1180
+ },
1181
+ "json": {
1182
+ "description": "Mapping and serialization configuration for a json request body.",
1183
+ "$ref": "#/definitions/parameterConfigForJson"
1184
+ },
1185
+ "path": {
1186
+ "description": "Mapping and serialization configuration for the path, or a simple string.",
1187
+ "oneOf": [
1188
+ {
1189
+ "$ref": "#/definitions/parameterConfigForPathParams"
1190
+ },
1191
+ {
1192
+ "type": "string"
1193
+ }
1194
+ ]
1195
+ },
1196
+ "searchParams": {
1197
+ "description": "Mapping and serialization configuration for searchParams.",
1198
+ "$ref": "#/definitions/parameterConfigForSearchParams"
1199
+ },
1200
+ "args": {
1201
+ "description": "Mapping and serialization configuration for args.",
1202
+ "$ref": "#/definitions/parameterConfigForJson"
1203
+ },
1204
+ "results": {
1205
+ "description": "Mapping configuration for the results of this resolver step.",
1206
+ "$ref": "#/definitions/parameterConfigForJson"
1207
+ }
1208
+ },
1209
+ "required": ["name", "service", "path"],
1210
+ "additionalProperties": false
1211
+ },
1212
+ "awsLambdaResolver": {
1213
+ "title": "AwsLambdaResolver",
1214
+ "type": "object",
1215
+ "properties": {
1216
+ "if": { "type": "string" },
1217
+ "id": {
1218
+ "type": "string",
1219
+ "pattern": "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
1220
+ },
1221
+ "name": {
1222
+ "title": "AwsLambdaResolverName",
1223
+ "type": "string",
1224
+ "description": "Name of the resolver function.",
1225
+ "enum": ["awsLambda:invoke"]
1226
+ },
1227
+ "service": {
1228
+ "type": "string",
1229
+ "description": "Configuration for a service to use with this resolver."
1230
+ },
1231
+ "options": {
1232
+ "title": "AwsLambdaResolverOptions",
1233
+ "type": "object",
1234
+ "additionalProperties": true
1235
+ },
1236
+ "payload": {
1237
+ "description": "Mapping configuration the Payload.",
1238
+ "$ref": "#/definitions/parameterConfigForJson"
1239
+ },
1240
+ "functionName": {
1241
+ "description": "Mapping configuration for the FunctionName.",
1242
+ "oneOf": [
1243
+ {
1244
+ "type": "string"
1245
+ },
1246
+ {
1247
+ "$ref": "#/definitions/parameterConfigForAwsLambda"
1248
+ }
1249
+ ]
1250
+ },
1251
+ "clientContext": {
1252
+ "description": "Mapping configuration for the ClientContext.",
1253
+ "$ref": "#/definitions/parameterConfigForJson"
1254
+ },
1255
+ "args": {
1256
+ "description": "Mapping and serialization configuration for args.",
1257
+ "$ref": "#/definitions/parameterConfigForJson"
1258
+ },
1259
+ "results": {
1260
+ "description": "Mapping configuration for the results of this resolver step.",
1261
+ "$ref": "#/definitions/parameterConfigForJson"
1262
+ },
1263
+ "argsMapping": {
1264
+ "$ref": "#/definitions/argsMapping"
1265
+ },
1266
+ "searchParamsMapping": {
1267
+ "description": "Set or evaluate directives to generate searchParams for the service endpoint.",
1268
+ "$ref": "#/definitions/searchParamsMapping"
1269
+ },
1270
+ "resultsMapping": {
1271
+ "$ref": "#/definitions/resultsMapping"
1272
+ }
1273
+ },
1274
+ "required": ["name", "service", "functionName"],
1275
+ "additionalProperties": false
1276
+ },
1277
+ "composeResolver": {
1278
+ "title": "ComposeResolver",
1279
+ "type": "object",
1280
+ "properties": {
1281
+ "compose": {
1282
+ "type": "array",
1283
+ "items": {
1284
+ "$ref": "#/definitions/basicResolver"
1285
+ }
1286
+ },
1287
+ "resultsMapping": {
1288
+ "oneOf": [
1289
+ {
1290
+ "$ref": "#/definitions/directiveMappingMap"
1291
+ },
1292
+ {
1293
+ "$ref": "#/definitions/directiveConfig"
1294
+ }
1295
+ ]
1296
+ },
1297
+ "results": {
1298
+ "description": "Mapping configuration for final query results.",
1299
+ "$ref": "#/definitions/parameterConfigForJson"
1300
+ }
1301
+ },
1302
+ "required": ["compose"],
1303
+ "additionalProperties": false
1304
+ },
1305
+ "resolver": {
1306
+ "title": "Resolver",
1307
+ "oneOf": [{ "$ref": "#/definitions/basicResolver" }, { "$ref": "#/definitions/composeResolver" }]
1308
+ },
1309
+ "ref": {
1310
+ "title": "Ref",
1311
+ "type": "string"
1312
+ },
1313
+ "query": {
1314
+ "title": "Query JSON",
1315
+ "type": "object",
1316
+ "properties": {
1317
+ "args": {
1318
+ "description": "The args field specifies the name of a Shape for the input arguments required by your resolver.",
1319
+ "$ref": "#/definitions/args"
1320
+ },
1321
+ "resolver": {
1322
+ "description": "Configures the resolver for your query or mutation.",
1323
+ "$ref": "#/definitions/resolver"
1324
+ },
1325
+ "shape": {
1326
+ "$ref": "#/definitions/returnShape",
1327
+ "description": "Specifies which shape is returned by the query or mutation. The shape can refer to a shape in the schema's \"shapes\" object or a shape that's available on a service schema."
1328
+ },
1329
+ "description": {
1330
+ "type": "string",
1331
+ "description": "Provides more detail about what the query or mutation is for. This will be displayed in the automatically-generated GraphQL API docs."
1332
+ }
1333
+ },
1334
+ "required": ["resolver", "shape"]
1335
+ },
1336
+ "propertySchema": {
1337
+ "title": "PropertySchema",
1338
+ "type": "object",
1339
+ "properties": {
1340
+ "$ref": {
1341
+ "type": "string",
1342
+ "format": "uri-reference"
1343
+ },
1344
+ "title": {
1345
+ "type": "string"
1346
+ },
1347
+ "description": {
1348
+ "type": "string"
1349
+ },
1350
+ "default": {},
1351
+ "readOnly": {
1352
+ "type": "boolean",
1353
+ "default": false
1354
+ },
1355
+ "multipleOf": {
1356
+ "type": "number",
1357
+ "exclusiveMinimum": 0
1358
+ },
1359
+ "maximum": {
1360
+ "type": "number"
1361
+ },
1362
+ "exclusiveMaximum": {
1363
+ "type": "number"
1364
+ },
1365
+ "minimum": {
1366
+ "type": "number"
1367
+ },
1368
+ "exclusiveMinimum": {
1369
+ "type": "number"
1370
+ },
1371
+ "maxLength": {
1372
+ "$ref": "#/definitions/nonNegativeInteger"
1373
+ },
1374
+ "minLength": {
1375
+ "$ref": "#/definitions/nonNegativeIntegerDefault0"
1376
+ },
1377
+ "pattern": {
1378
+ "type": "string",
1379
+ "format": "regex"
1380
+ },
1381
+ "additionalItems": {
1382
+ "$ref": "#/definitions/propertySchema"
1383
+ },
1384
+ "items": {
1385
+ "$ref": "#/definitions/propertySchema"
1386
+ },
1387
+ "maxItems": {
1388
+ "$ref": "#/definitions/nonNegativeInteger"
1389
+ },
1390
+ "minItems": {
1391
+ "$ref": "#/definitions/nonNegativeIntegerDefault0"
1392
+ },
1393
+ "uniqueItems": {
1394
+ "type": "boolean",
1395
+ "default": false
1396
+ },
1397
+ "contains": {
1398
+ "$ref": "#/definitions/propertySchema"
1399
+ },
1400
+ "maxProperties": {
1401
+ "$ref": "#/definitions/nonNegativeInteger"
1402
+ },
1403
+ "minProperties": {
1404
+ "$ref": "#/definitions/nonNegativeIntegerDefault0"
1405
+ },
1406
+ "required": {
1407
+ "$ref": "#/definitions/stringArray"
1408
+ },
1409
+ "additionalProperties": {
1410
+ "oneOf": [{ "$ref": "#/definitions/propertySchema" }, { "enum": [false] }]
1411
+ },
1412
+ "definitions": {
1413
+ "type": "object",
1414
+ "additionalProperties": {
1415
+ "$ref": "#/definitions/propertySchema"
1416
+ },
1417
+ "default": {}
1418
+ },
1419
+ "properties": {
1420
+ "type": "object",
1421
+ "additionalProperties": {
1422
+ "$ref": "#/definitions/propertySchema"
1423
+ },
1424
+ "default": {}
1425
+ },
1426
+ "const": {},
1427
+ "enum": {
1428
+ "type": "array",
1429
+ "minItems": 1,
1430
+ "uniqueItems": true
1431
+ },
1432
+ "type": {
1433
+ "anyOf": [
1434
+ {
1435
+ "$ref": "#/definitions/simpleTypes"
1436
+ },
1437
+ {
1438
+ "type": "array",
1439
+ "items": {
1440
+ "$ref": "#/definitions/simpleTypes"
1441
+ },
1442
+ "minItems": 1,
1443
+ "uniqueItems": true
1444
+ }
1445
+ ]
1446
+ },
1447
+ "format": {
1448
+ "type": "string"
1449
+ },
1450
+ "contentMediaType": {
1451
+ "type": "string"
1452
+ },
1453
+ "contentEncoding": {
1454
+ "type": "string"
1455
+ },
1456
+ "allOf": {
1457
+ "$ref": "#/definitions/schemaArray"
1458
+ },
1459
+ "oneOf": {
1460
+ "$ref": "#/definitions/schemaArray"
1461
+ },
1462
+ "@relationship": {
1463
+ "$ref": "#/definitions/relationship"
1464
+ },
1465
+ "@backreference": {
1466
+ "$ref": "#/definitions/backreference"
1467
+ },
1468
+ "@syncLocaleStructure": {
1469
+ "type": "boolean"
1470
+ },
1471
+ "@sensitive": {
1472
+ "type": "boolean"
1473
+ },
1474
+ "@draftjs": {
1475
+ "type": "boolean"
1476
+ },
1477
+ "@l10n": {
1478
+ "type": "boolean"
1479
+ },
1480
+ "@key": {
1481
+ "type": "string",
1482
+ "pattern": "^[-_a-zA-Z0-9]+$"
1483
+ },
1484
+ "@workflow": {
1485
+ "type": "string"
1486
+ },
1487
+ "@mapping": {
1488
+ "$ref": "#/definitions/fieldMapping"
1489
+ },
1490
+ "@tag": {
1491
+ "type": "string"
1492
+ },
1493
+ "@tags": {
1494
+ "type": "array",
1495
+ "items": {
1496
+ "type": "string"
1497
+ }
1498
+ },
1499
+ "@deprecationReason": {
1500
+ "type": "string"
1501
+ },
1502
+ "@user": {
1503
+ "type": "boolean"
1504
+ },
1505
+ "@args": {
1506
+ "$ref": "#/definitions/args"
1507
+ },
1508
+ "@resolver": {
1509
+ "$ref": "#/definitions/resolver"
1510
+ },
1511
+ "@ref": {
1512
+ "$ref": "#/definitions/ref"
1513
+ },
1514
+ "@derivedFrom": {
1515
+ "type": "string"
1516
+ }
1517
+ },
1518
+ "additionalProperties": false
1519
+ },
1520
+ "shape": {
1521
+ "title": "Shape JSON",
1522
+ "description": "A Shape is a schema object for structuring and storing data from one or more sources, including the TakeShape data store and connected services",
1523
+ "type": "object",
1524
+ "properties": {
1525
+ "name": {
1526
+ "type": "string",
1527
+ "pattern": "^[_a-zA-Z][_a-zA-Z0-9]*$",
1528
+ "description": "The Pascal-cased human-readable id for a Shape. This value should match the shape's key in the shapes object. This value is used in @ref and @mapping annotations"
1529
+ },
1530
+ "id": {
1531
+ "type": "string",
1532
+ "pattern": "[0-9A-Za-z_-]+",
1533
+ "description": "The machine-readable id for a Shape which should never change. When using TakeShape's built-in database to store Shape data, this value is used database as a stable \"table name\" and changing it will result in orphaning that data."
1534
+ },
1535
+ "title": {
1536
+ "type": "string",
1537
+ "description": "The human-readable name for a Shape for use in a UI."
1538
+ },
1539
+ "description": {
1540
+ "type": "string"
1541
+ },
1542
+ "model": {
1543
+ "description": "Specifying a model type allows Shape data to be stored in TakeShape's built-in database",
1544
+ "type": "object",
1545
+ "properties": {
1546
+ "type": {
1547
+ "title": "Model Type",
1548
+ "type": "string",
1549
+ "enum": ["single", "multiple", "taxonomy"]
1550
+ }
1551
+ },
1552
+ "required": ["type"],
1553
+ "additionalProperties": false
1554
+ },
1555
+ "workflow": {
1556
+ "type": "string"
1557
+ },
1558
+ "schema": {
1559
+ "$ref": "#/definitions/shapeSchema"
1560
+ }
1561
+ },
1562
+ "required": ["name", "title", "id", "schema"],
1563
+ "additionalProperties": false
1564
+ },
1565
+ "shapeWithObjectSchema": {
1566
+ "title": "Shape With Object Schema",
1567
+ "type": "object",
1568
+ "allOf": [
1569
+ {
1570
+ "$ref": "#/definitions/shape"
1571
+ },
1572
+ {
1573
+ "type": "object",
1574
+ "properties": {
1575
+ "schema": {
1576
+ "$ref": "#/definitions/objectSchema"
1577
+ }
1578
+ },
1579
+ "required": ["schema"],
1580
+ "additionalProperties": false
1581
+ }
1582
+ ]
1583
+ },
1584
+ "shapeMap": {
1585
+ "title": "Shape Map",
1586
+ "type": "object",
1587
+ "patternProperties": {
1588
+ "^[0-9A-Za-z_]+$": {
1589
+ "$ref": "#/definitions/shape"
1590
+ }
1591
+ },
1592
+ "additionalProperties": false
1593
+ },
1594
+ "formMap": {
1595
+ "title": "Form Map",
1596
+ "type": "object",
1597
+ "patternProperties": {
1598
+ "[0-9A-Za-z_-]+": {
1599
+ "$ref": "#/definitions/formsConfig"
1600
+ }
1601
+ }
1602
+ },
1603
+ "indexedShapeMap": {
1604
+ "title": "Indexed Shape Map",
1605
+ "type": "object",
1606
+ "patternProperties": {
1607
+ "[0-9A-Za-z_-]+": {
1608
+ "$ref": "#/definitions/indexedShapeConfig"
1609
+ }
1610
+ }
1611
+ },
1612
+ "indexedShapeConfig": {
1613
+ "title": "Indexed Shape Config",
1614
+ "type": "object",
1615
+ "properties": {
1616
+ "idField": {
1617
+ "type": "string"
1618
+ },
1619
+ "searchSummaryField": {
1620
+ "type": "string"
1621
+ },
1622
+ "queries": {
1623
+ "$ref": "#/definitions/indexedShapeQueriesConfig"
1624
+ },
1625
+ "triggers": {
1626
+ "type": "array",
1627
+ "items": {
1628
+ "$ref": "#/definitions/indexedShapeTriggersConfig"
1629
+ }
1630
+ }
1631
+ },
1632
+ "additionalProperties": false,
1633
+ "required": ["queries", "triggers"]
1634
+ },
1635
+ "indexedShapeQueriesConfig": {
1636
+ "title": "Indexed Shape Queries Config",
1637
+ "type": "object",
1638
+ "properties": {
1639
+ "list": {
1640
+ "$ref": "#/definitions/indexedShapeListQueryConfig"
1641
+ },
1642
+ "get": {
1643
+ "$ref": "#/definitions/indexedShapeGetQueryConfig"
1644
+ }
1645
+ },
1646
+ "additionalProperties": false
1647
+ },
1648
+ "indexedShapeListQueryConfig": {
1649
+ "title": "Indexed Shape Query All Config",
1650
+ "type": "object",
1651
+ "properties": {
1652
+ "name": {
1653
+ "type": "string"
1654
+ },
1655
+ "ignoreFields": {
1656
+ "type": "array",
1657
+ "items": {
1658
+ "type": "string"
1659
+ }
1660
+ },
1661
+ "objectDepthLimit": {
1662
+ "type": "number"
1663
+ },
1664
+ "pagination": {
1665
+ "$ref": "#/definitions/paginationConfig"
1666
+ }
1667
+ },
1668
+ "additionalProperties": false,
1669
+ "required": ["name"]
1670
+ },
1671
+ "indexedShapeGetQueryConfig": {
1672
+ "title": "Indexed Shape Query Single Config",
1673
+ "type": "object",
1674
+ "properties": {
1675
+ "name": {
1676
+ "type": "string"
1677
+ },
1678
+ "ignoreFields": {
1679
+ "type": "array",
1680
+ "items": {
1681
+ "type": "string"
1682
+ }
1683
+ },
1684
+ "objectDepthLimit": {
1685
+ "type": "number"
1686
+ }
1687
+ },
1688
+ "additionalProperties": false,
1689
+ "required": ["name"]
1690
+ },
1691
+ "paginationConfig": {
1692
+ "title": "Pagination Config",
1693
+ "oneOf": [
1694
+ {
1695
+ "$ref": "#/definitions/paginationCursorConfig"
1696
+ },
1697
+ {
1698
+ "$ref": "#/definitions/paginationPageConfig"
1699
+ },
1700
+ {
1701
+ "$ref": "#/definitions/paginationOffsetConfig"
1702
+ }
1703
+ ]
1704
+ },
1705
+ "paginationCursorConfig": {
1706
+ "title": "Pagination Cursor Config",
1707
+ "type": "object",
1708
+ "properties": {
1709
+ "type": {
1710
+ "type": "string",
1711
+ "enum": ["cursor"]
1712
+ },
1713
+ "cursorArg": {
1714
+ "type": "string"
1715
+ },
1716
+ "cursorPath": {
1717
+ "type": "string"
1718
+ },
1719
+ "pageSize": {
1720
+ "type": "number"
1721
+ },
1722
+ "pageSizeArg": {
1723
+ "type": "string"
1724
+ },
1725
+ "hasMorePath": {
1726
+ "type": "string"
1727
+ },
1728
+ "itemsToIndexPath": {
1729
+ "type": "string"
1730
+ }
1731
+ },
1732
+ "additionalProperties": false,
1733
+ "required": ["type", "cursorArg", "cursorPath", "pageSizeArg", "hasMorePath", "itemsToIndexPath"]
1734
+ },
1735
+ "paginationPageConfig": {
1736
+ "title": "Pagination Page Config",
1737
+ "type": "object",
1738
+ "properties": {
1739
+ "type": {
1740
+ "type": "string",
1741
+ "enum": ["page"]
1742
+ },
1743
+ "pageArg": {
1744
+ "type": "string"
1745
+ },
1746
+ "itemsToIndexPath": {
1747
+ "type": "string"
1748
+ },
1749
+ "pageTotalPath": {
1750
+ "type": "string"
1751
+ }
1752
+ },
1753
+ "additionalProperties": false,
1754
+ "required": ["type", "pageArg", "itemsToIndexPath", "pageTotalPath"]
1755
+ },
1756
+ "paginationOffsetConfig": {
1757
+ "title": "Pagination Offset Config",
1758
+ "type": "object",
1759
+ "properties": {
1760
+ "type": {
1761
+ "type": "string",
1762
+ "enum": ["offset"]
1763
+ },
1764
+ "offsetArg": {
1765
+ "type": "string"
1766
+ },
1767
+ "itemsToIndexPath": {
1768
+ "type": "string"
1769
+ },
1770
+ "itemTotalPath": {
1771
+ "type": "string"
1772
+ }
1773
+ },
1774
+ "additionalProperties": false,
1775
+ "required": ["type", "offsetArg", "itemsToIndexPath", "itemTotalPath"]
1776
+ },
1777
+ "indexedShapeTriggersConfig": {
1778
+ "title": "Indexed Shape Triggers Config",
1779
+ "oneOf": [
1780
+ {
1781
+ "$ref": "#/definitions/indexedShapeScheduleTriggerConfig"
1782
+ },
1783
+ {
1784
+ "$ref": "#/definitions/indexedShapeWebhookTriggerConfig"
1785
+ }
1786
+ ]
1787
+ },
1788
+ "indexedShapeScheduleTriggerConfig": {
1789
+ "title": "Indexed Shape Schedule Trigger Config",
1790
+ "type": "object",
1791
+ "properties": {
1792
+ "type": {
1793
+ "type": "string",
1794
+ "enum": ["schedule"]
1795
+ },
1796
+ "query": {
1797
+ "enum": ["get", "list"]
1798
+ },
1799
+ "interval": {
1800
+ "type": "number"
1801
+ }
1802
+ },
1803
+ "additionalProperties": false,
1804
+ "required": ["type", "query", "interval"]
1805
+ },
1806
+ "indexedShapeWebhookTriggerConfig": {
1807
+ "title": "Indexed Shape Webhook Trigger Config",
1808
+ "type": "object",
1809
+ "properties": {
1810
+ "type": {
1811
+ "type": "string",
1812
+ "enum": ["webhook"]
1813
+ },
1814
+ "query": {
1815
+ "enum": ["get", "list"]
1816
+ },
1817
+ "service": {
1818
+ "type": "string"
1819
+ },
1820
+ "events": {
1821
+ "type": "array",
1822
+ "items": {
1823
+ "type": "string"
1824
+ }
1825
+ }
1826
+ },
1827
+ "additionalProperties": false,
1828
+ "required": ["type", "query", "service", "events"]
1829
+ },
1830
+ "formScalarConfig": {
1831
+ "title": "Form Scalar Config",
1832
+ "type": "object",
1833
+ "properties": {
1834
+ "widget": {
1835
+ "type": "string"
1836
+ }
1837
+ },
1838
+ "additionalProperties": false,
1839
+ "required": ["widget"]
1840
+ },
1841
+ "formObjectConfig": {
1842
+ "title": "Form Object Config",
1843
+ "type": "object",
1844
+ "properties": {
1845
+ "widget": {
1846
+ "type": "string"
1847
+ },
1848
+ "order": {
1849
+ "type": "array",
1850
+ "items": {
1851
+ "type": "string"
1852
+ }
1853
+ },
1854
+ "properties": {
1855
+ "patternProperties": {
1856
+ "[0-9A-Za-z_-]+": {
1857
+ "$ref": "#/definitions/formConfig"
1858
+ }
1859
+ }
1860
+ }
1861
+ },
1862
+ "additionalProperties": false
1863
+ },
1864
+ "formArrayConfig": {
1865
+ "title": "Form Array Config",
1866
+ "type": "object",
1867
+ "properties": {
1868
+ "widget": {
1869
+ "type": "string"
1870
+ },
1871
+ "items": {
1872
+ "$ref": "#/definitions/formConfig"
1873
+ }
1874
+ },
1875
+ "additionalProperties": false,
1876
+ "required": ["widget", "items"]
1877
+ },
1878
+ "customAuthentication": {
1879
+ "title": "Custom Authentication",
1880
+ "description": "For use with a custom auth handler on a service provider.",
1881
+ "type": "object",
1882
+ "properties": {
1883
+ "type": {
1884
+ "type": "string",
1885
+ "enum": ["custom"]
1886
+ }
1887
+ },
1888
+ "additionalProperties": true,
1889
+ "required": ["type"]
1890
+ },
1891
+ "searchParamsAuthentication": {
1892
+ "title": "Search Params Authentication",
1893
+ "type": "object",
1894
+ "properties": {
1895
+ "type": {
1896
+ "type": "string",
1897
+ "enum": ["searchParams"]
1898
+ },
1899
+ "params": {
1900
+ "type": "array",
1901
+ "items": {
1902
+ "properties": {
1903
+ "name": {
1904
+ "type": "string"
1905
+ },
1906
+ "value": {
1907
+ "type": "string"
1908
+ }
1909
+ },
1910
+ "required": ["name", "value"],
1911
+ "additionalProperties": false
1912
+ }
1913
+ }
1914
+ },
1915
+ "additionalProperties": false,
1916
+ "required": ["type", "params"]
1917
+ },
1918
+ "bearerAuthentication": {
1919
+ "title": "Bearer Authentication",
1920
+ "type": "object",
1921
+ "properties": {
1922
+ "type": {
1923
+ "type": "string",
1924
+ "enum": ["bearer"]
1925
+ },
1926
+ "token": {
1927
+ "type": "string"
1928
+ },
1929
+ "prefix": {
1930
+ "type": "string"
1931
+ },
1932
+ "header": {
1933
+ "type": "string"
1934
+ }
1935
+ },
1936
+ "additionalProperties": false,
1937
+ "required": ["type", "token"]
1938
+ },
1939
+ "oauth2BearerAuthentication": {
1940
+ "title": "OAuth 2 Bearer Authentication",
1941
+ "type": "object",
1942
+ "properties": {
1943
+ "type": {
1944
+ "type": "string",
1945
+ "enum": ["oauth2Bearer"]
1946
+ },
1947
+ "token": {
1948
+ "type": "string"
1949
+ },
1950
+ "prefix": {
1951
+ "type": "string"
1952
+ },
1953
+ "header": {
1954
+ "type": "string"
1955
+ },
1956
+ "scope": {
1957
+ "type": "string"
1958
+ },
1959
+ "expiresAt": {
1960
+ "type": "string"
1961
+ }
1962
+ },
1963
+ "additionalProperties": false,
1964
+ "required": ["type", "token"]
1965
+ },
1966
+ "basicAuthentication": {
1967
+ "title": "Basic Authentication",
1968
+ "type": "object",
1969
+ "properties": {
1970
+ "type": {
1971
+ "type": "string",
1972
+ "enum": ["basic"]
1973
+ },
1974
+ "username": {
1975
+ "type": "string"
1976
+ },
1977
+ "password": {
1978
+ "type": "string"
1979
+ },
1980
+ "useIso8859": {
1981
+ "type": "boolean"
1982
+ }
1983
+ },
1984
+ "additionalProperties": false,
1985
+ "required": ["type", "username", "password"]
1986
+ },
1987
+ "oauth2Authentication": {
1988
+ "title": "OAuth 2 Authentication",
1989
+ "type": "object",
1990
+ "properties": {
1991
+ "type": {
1992
+ "type": "string",
1993
+ "enum": ["oauth2"]
1994
+ },
1995
+ "grantType": {
1996
+ "type": "string",
1997
+ "enum": ["authorizationCode", "clientCredentials"]
1998
+ },
1999
+ "authorizationUrl": {
2000
+ "type": "string"
2001
+ },
2002
+ "accessTokenUrl": {
2003
+ "type": "string"
2004
+ },
2005
+ "clientId": {
2006
+ "type": "string"
2007
+ },
2008
+ "clientSecret": {
2009
+ "type": "string"
2010
+ },
2011
+ "scope": {
2012
+ "type": "string"
2013
+ },
2014
+ "usePkce": {
2015
+ "type": "boolean"
2016
+ },
2017
+ "redirectUrl": {
2018
+ "type": "string"
2019
+ },
2020
+ "headerPrefix": {
2021
+ "type": "string"
2022
+ },
2023
+ "audience": {
2024
+ "type": "string"
2025
+ },
2026
+ "resource": {
2027
+ "type": "string"
2028
+ }
2029
+ },
2030
+ "additionalProperties": false,
2031
+ "required": ["type", "grantType", "clientId"]
2032
+ },
2033
+ "awsAuthentication": {
2034
+ "title": "AWS Authentication",
2035
+ "type": "object",
2036
+ "properties": {
2037
+ "type": {
2038
+ "type": "string",
2039
+ "enum": ["aws"]
2040
+ },
2041
+ "awsAccessKeyId": {
2042
+ "type": "string"
2043
+ },
2044
+ "awsSecretAccessKey": {
2045
+ "type": "string"
2046
+ }
2047
+ },
2048
+ "additionalProperties": false,
2049
+ "required": ["type", "awsAccessKeyId", "awsSecretAccessKey"]
2050
+ },
2051
+ "serviceAuthentication": {
2052
+ "title": "Service Authentication",
2053
+ "oneOf": [
2054
+ {
2055
+ "$ref": "#/definitions/oauth2Authentication"
2056
+ },
2057
+ {
2058
+ "$ref": "#/definitions/oauth2BearerAuthentication"
2059
+ },
2060
+ {
2061
+ "$ref": "#/definitions/bearerAuthentication"
2062
+ },
2063
+ {
2064
+ "$ref": "#/definitions/basicAuthentication"
2065
+ },
2066
+ {
2067
+ "$ref": "#/definitions/searchParamsAuthentication"
2068
+ },
2069
+ {
2070
+ "$ref": "#/definitions/awsAuthentication"
2071
+ },
2072
+ {
2073
+ "$ref": "#/definitions/customAuthentication"
2074
+ }
2075
+ ]
2076
+ },
2077
+ "serviceType": {
2078
+ "title": "Service Type",
2079
+ "description": "The general type of this service, specifying how and where it will be utilized.",
2080
+ "type": "string",
2081
+ "enum": ["deployment", "authentication", "takeshape", "rest", "graphql", "openapi", "aws", "unknown"]
2082
+ },
2083
+ "serviceConfig": {
2084
+ "title": "Service Config",
2085
+ "type": "object",
2086
+ "properties": {
2087
+ "id": {
2088
+ "type": "string",
2089
+ "description": "Machine-readable identifier, should typically be the same as the property name on the services object."
2090
+ },
2091
+ "title": {
2092
+ "type": "string",
2093
+ "description": "Human-readable name for this service."
2094
+ },
2095
+ "provider": {
2096
+ "description": "The service provider id.",
2097
+ "type": "string"
2098
+ },
2099
+ "namespace": {
2100
+ "type": "string",
2101
+ "description": "A namespace to use for the imported types tied to this service."
2102
+ },
2103
+ "serviceType": {
2104
+ "$ref": "#/definitions/serviceType"
2105
+ },
2106
+ "authenticationType": {
2107
+ "type": "string",
2108
+ "enum": ["oauth2", "basic", "bearer", "searchParams", "oauth2Bearer", "custom", "aws", "none", "unknown"]
2109
+ },
2110
+ "authentication": {
2111
+ "$ref": "#/definitions/serviceAuthentication"
2112
+ },
2113
+ "webhookId": {
2114
+ "type": "string"
2115
+ },
2116
+ "options": {
2117
+ "type": "object",
2118
+ "description": "Configuration options passed to and handled by the provider."
2119
+ }
2120
+ },
2121
+ "required": ["id", "title", "provider", "serviceType", "authenticationType"],
2122
+ "additionalProperties": false
2123
+ },
2124
+ "storedServiceConfig": {
2125
+ "title": "Service Config JSON",
2126
+ "type": "object",
2127
+ "properties": {
2128
+ "id": {
2129
+ "type": "string",
2130
+ "description": "Machine-readable identifier, should typically be the same as the property name on the services object."
2131
+ },
2132
+ "title": {
2133
+ "type": "string",
2134
+ "description": "Human-readable name for this service."
2135
+ },
2136
+ "provider": {
2137
+ "type": "string",
2138
+ "description": "The service provider id."
2139
+ },
2140
+ "namespace": {
2141
+ "type": "string",
2142
+ "description": "A namespace to use for the imported types tied to this service."
2143
+ },
2144
+ "serviceType": {
2145
+ "$ref": "#/definitions/serviceType"
2146
+ },
2147
+ "authenticationType": {
2148
+ "type": "string",
2149
+ "enum": ["oauth2", "basic", "bearer", "searchParams", "oauth2Bearer", "custom", "aws", "none", "unknown"]
2150
+ },
2151
+ "authentication": {
2152
+ "type": "string"
2153
+ },
2154
+ "webhookId": {
2155
+ "type": "string"
2156
+ },
2157
+ "options": {
2158
+ "type": "object",
2159
+ "description": "Configuration options passed to and handled by the provider."
2160
+ }
2161
+ },
2162
+ "required": ["id", "title", "provider", "serviceType", "authenticationType"],
2163
+ "additionalProperties": false
2164
+ },
2165
+ "anyServiceConfig": {
2166
+ "title": "Any Service Config",
2167
+ "oneOf": [
2168
+ {
2169
+ "$ref": "#/definitions/storedServiceConfig"
2170
+ },
2171
+ {
2172
+ "$ref": "#/definitions/serviceConfig"
2173
+ }
2174
+ ]
2175
+ },
2176
+ "storedServiceMap": {
2177
+ "title": "Service Map JSON",
2178
+ "type": "object",
2179
+ "patternProperties": {
2180
+ "[0-9A-Za-z_-]+": {
2181
+ "$ref": "#/definitions/storedServiceConfig"
2182
+ }
2183
+ }
2184
+ },
2185
+ "workflowStep": {
2186
+ "title": "Workflow Step",
2187
+ "type": "object",
2188
+ "properties": {
2189
+ "name": {
2190
+ "type": "string",
2191
+ "title": "Name",
2192
+ "pattern": "^[_a-zA-Z][_a-zA-Z0-9]*$",
2193
+ "description": "machine-readable slug"
2194
+ },
2195
+ "title": {
2196
+ "title": "Title",
2197
+ "type": "string",
2198
+ "description": "Human-readable id for use in the UI"
2199
+ },
2200
+ "description": {
2201
+ "title": "Description",
2202
+ "type": "string"
2203
+ },
2204
+ "color": {
2205
+ "title": "Color",
2206
+ "type": "string",
2207
+ "description": "Hex color code"
2208
+ },
2209
+ "live": {
2210
+ "title": "Live",
2211
+ "type": "boolean",
2212
+ "description": "Value to indicate whether items in the state should be returned in list queries"
2213
+ },
2214
+ "key": {
2215
+ "title": "Key",
2216
+ "type": "string",
2217
+ "description": "machine-readable id"
2218
+ }
2219
+ },
2220
+ "required": ["name", "title", "color", "live", "key"],
2221
+ "additionalProperties": false
2222
+ },
2223
+ "workflow": {
2224
+ "title": "Workflow",
2225
+ "type": "object",
2226
+ "properties": {
2227
+ "name": {
2228
+ "type": "string",
2229
+ "pattern": "^[_a-zA-Z][_a-zA-Z0-9]*$",
2230
+ "description": "machine-readable id"
2231
+ },
2232
+ "title": {
2233
+ "type": "string",
2234
+ "title": "Workflow Name",
2235
+ "minLength": 1,
2236
+ "description": "Human-readable id for use in the UI"
2237
+ },
2238
+ "steps": {
2239
+ "type": "array",
2240
+ "title": "Steps",
2241
+ "items": {
2242
+ "$ref": "#/definitions/workflowStep"
2243
+ },
2244
+ "minItems": 1
2245
+ }
2246
+ },
2247
+ "required": ["name", "title", "steps"]
2248
+ },
2249
+ "workflowMap": {
2250
+ "title": "Workflow Map",
2251
+ "type": "object",
2252
+ "patternProperties": {
2253
+ "[0-9A-Za-z_-]+": { "$ref": "#/definitions/workflow" }
2254
+ }
2255
+ },
2256
+ "formConfig": {
2257
+ "title": "Form Config",
2258
+ "type": "object"
2259
+ },
2260
+ "formsConfig": {
2261
+ "title": "Forms Config",
2262
+ "type": "object",
2263
+ "properties": {
2264
+ "default": {
2265
+ "$ref": "#/definitions/formConfig"
2266
+ }
2267
+ },
2268
+ "patternProperties": {
2269
+ "[0-9A-Za-z_-]+": {
2270
+ "$ref": "#/definitions/formConfig"
2271
+ }
2272
+ },
2273
+ "required": ["default"]
2274
+ }
2275
+ },
2276
+ "properties": {
2277
+ "$schema": {
2278
+ "type": "string"
2279
+ },
2280
+ "version": {
2281
+ "type": "number",
2282
+ "description": "This is the revision number of your schema. Every time your project schema is updated, this value should be incremented."
2283
+ },
2284
+ "apiVersion": {
2285
+ "type": "string",
2286
+ "description": "The version of the TakeShape API your project is using. We increase the version as we make breaking changes to the API endpoints."
2287
+ },
2288
+ "schemaVersion": {
2289
+ "type": "string",
2290
+ "enum": ["3.13.0"],
2291
+ "description": "The version of the schema format your project is using. We increase the version as we make breaking changes to the schema format."
2292
+ },
2293
+ "projectId": {
2294
+ "type": "string",
2295
+ "description": "The ID of the TakeShape project this schema belongs to."
2296
+ },
2297
+ "author": {
2298
+ "type": "string",
2299
+ "description": "The ID of the TakeShape user who created the schema."
2300
+ },
2301
+ "created": {
2302
+ "type": "string",
2303
+ "format": "date-time",
2304
+ "description": "The date the schema was created"
2305
+ },
2306
+ "updated": {
2307
+ "type": "string",
2308
+ "format": "date-time",
2309
+ "description": "The date the schema was last updated"
2310
+ },
2311
+ "deactivated": {
2312
+ "type": "number"
2313
+ },
2314
+ "defaultLocale": {
2315
+ "type": "string",
2316
+ "minLength": 1,
2317
+ "pattern": "^[a-zA-Z]{2,3}(-[a-zA-Z]{2,3})?$",
2318
+ "description": "The locale that should be preferred when creating new Shape items. This must be an entry in the locales array."
2319
+ },
2320
+ "locales": {
2321
+ "type": "array",
2322
+ "minItems": 1,
2323
+ "items": {
2324
+ "type": "string",
2325
+ "minLength": 1,
2326
+ "pattern": "^[a-zA-Z]{2,3}(-[a-zA-Z]{2,3})?$"
2327
+ }
2328
+ },
2329
+ "queries": {
2330
+ "$ref": "#/definitions/queryMap",
2331
+ "description": "Queries map directly to queries your project's GraphQL API"
2332
+ },
2333
+ "mutations": {
2334
+ "$ref": "#/definitions/queryMap",
2335
+ "description": "Mutations map directly to mutations your project's GraphQL API"
2336
+ },
2337
+ "shapes": {
2338
+ "$ref": "#/definitions/shapeMap",
2339
+ "description": "A Shape is a schema object for structuring and storing data from one or more sources, including the TakeShape data store and connected services."
2340
+ },
2341
+ "indexedShapes": {
2342
+ "$ref": "#/definitions/indexedShapeMap",
2343
+ "description": "Experimental shape indexing configuration if you are curious about learning more message @asprouse in the TakeShape Slack"
2344
+ },
2345
+ "forms": {
2346
+ "$ref": "#/definitions/formMap",
2347
+ "description": "Forms define a visual interface for editing Shapes in the TakeShape UI."
2348
+ },
2349
+ "workflows": {
2350
+ "$ref": "#/definitions/workflowMap",
2351
+ "description": "Workflows describe the status of a shape item. Every schema starts with a default workflow with two steps, Disabled and Enabled"
2352
+ },
2353
+ "dataKey": {
2354
+ "type": "string"
2355
+ },
2356
+ "services": {
2357
+ "$ref": "#/definitions/storedServiceMap",
2358
+ "description": "By connecting new Services to your project schema, you can add shapes, queries, and mutations from 3rd party sources to your API in TakeShape. This allows you to mesh together exactly the API you need to interact with all of the services your app or business depends upon. Services use an encrypted configuration to keep auth tokens secret. For this reason, services can only be added to a schema through the web client or through the Admin API."
2359
+ }
2360
+ },
2361
+ "additionalProperties": false,
2362
+ "required": [
2363
+ "projectId",
2364
+ "created",
2365
+ "updated",
2366
+ "apiVersion",
2367
+ "schemaVersion",
2368
+ "version",
2369
+ "defaultLocale",
2370
+ "locales",
2371
+ "shapes",
2372
+ "queries",
2373
+ "mutations",
2374
+ "workflows",
2375
+ "dataKey"
2376
+ ]
2377
+ }