@takeshape/schema 11.2.0 → 11.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/dist/project-schema/latest.d.ts +2 -2
  2. package/dist/project-schema/v3.0.0.d.ts +2 -2
  3. package/dist/project-schema/v3.1.0.d.ts +2 -2
  4. package/dist/project-schema/v3.10.0.d.ts +2 -2
  5. package/dist/project-schema/v3.11.0.d.ts +2 -2
  6. package/dist/project-schema/v3.12.0.d.ts +2 -2
  7. package/dist/project-schema/v3.12.1.d.ts +2 -2
  8. package/dist/project-schema/v3.12.2.d.ts +1 -1
  9. package/dist/project-schema/v3.12.3.d.ts +1 -1
  10. package/dist/project-schema/v3.13.0.d.ts +2 -2
  11. package/dist/project-schema/v3.14.0.d.ts +2 -2
  12. package/dist/project-schema/v3.15.0.d.ts +2 -2
  13. package/dist/project-schema/v3.16.0.d.ts +2 -2
  14. package/dist/project-schema/v3.17.0.d.ts +2 -2
  15. package/dist/project-schema/v3.17.1.d.ts +1 -1
  16. package/dist/project-schema/v3.18.0.d.ts +2 -2
  17. package/dist/project-schema/v3.18.1.d.ts +2 -2
  18. package/dist/project-schema/v3.18.2.d.ts +2 -2
  19. package/dist/project-schema/v3.19.0.d.ts +2 -2
  20. package/dist/project-schema/v3.2.0.d.ts +2 -2
  21. package/dist/project-schema/v3.20.0.d.ts +2 -2
  22. package/dist/project-schema/v3.21.0.d.ts +2 -2
  23. package/dist/project-schema/v3.22.0.d.ts +2 -2
  24. package/dist/project-schema/v3.23.0.d.ts +2 -2
  25. package/dist/project-schema/v3.24.0.d.ts +2 -2
  26. package/dist/project-schema/v3.25.0.d.ts +2 -2
  27. package/dist/project-schema/v3.26.0.d.ts +2 -2
  28. package/dist/project-schema/v3.27.0.d.ts +2 -2
  29. package/dist/project-schema/v3.28.0.d.ts +2 -2
  30. package/dist/project-schema/v3.29.0.d.ts +2 -2
  31. package/dist/project-schema/v3.3.0.d.ts +2 -2
  32. package/dist/project-schema/v3.30.0.d.ts +2 -2
  33. package/dist/project-schema/v3.31.0.d.ts +2 -2
  34. package/dist/project-schema/v3.32.0.d.ts +2 -2
  35. package/dist/project-schema/v3.33.0.d.ts +2 -2
  36. package/dist/project-schema/v3.34.0.d.ts +2 -2
  37. package/dist/project-schema/v3.35.0.d.ts +2 -2
  38. package/dist/project-schema/v3.36.0.d.ts +2 -2
  39. package/dist/project-schema/v3.37.0.d.ts +2 -2
  40. package/dist/project-schema/v3.38.0.d.ts +2 -2
  41. package/dist/project-schema/v3.39.0.d.ts +2 -2
  42. package/dist/project-schema/v3.4.0.d.ts +2 -2
  43. package/dist/project-schema/v3.40.0.d.ts +2 -2
  44. package/dist/project-schema/v3.41.0.d.ts +2 -2
  45. package/dist/project-schema/v3.42.0.d.ts +2 -2
  46. package/dist/project-schema/v3.43.0.d.ts +2 -2
  47. package/dist/project-schema/v3.44.0.d.ts +2 -2
  48. package/dist/project-schema/v3.45.0.d.ts +2 -2
  49. package/dist/project-schema/v3.46.0.d.ts +2 -2
  50. package/dist/project-schema/v3.5.0.d.ts +2 -2
  51. package/dist/project-schema/v3.5.1.d.ts +2 -2
  52. package/dist/project-schema/v3.6.0.d.ts +2 -2
  53. package/dist/project-schema/v3.7.0.d.ts +2 -2
  54. package/dist/project-schema/v3.8.0.d.ts +2 -2
  55. package/dist/project-schema/v3.9.0.d.ts +2 -2
  56. package/dist/project-schema/v4.0.0.d.ts +2 -2
  57. package/dist/schema-transform.d.ts +2 -2
  58. package/dist/schema-transform.d.ts.map +1 -1
  59. package/dist/schema-util.d.ts +2 -1
  60. package/dist/schema-util.d.ts.map +1 -1
  61. package/dist/schema-util.js +12 -1
  62. package/dist/schemas/project-schema/latest.json +6 -4
  63. package/dist/schemas/project-schema/meta-schema-v3.0.0.json +3 -2
  64. package/dist/schemas/project-schema/meta-schema-v3.1.0.json +3 -2
  65. package/dist/schemas/project-schema/meta-schema-v3.2.0.json +3 -2
  66. package/dist/schemas/project-schema/meta-schema-v3.3.0.json +3 -2
  67. package/dist/schemas/project-schema/meta-schema-v3.4.0.json +3 -2
  68. package/dist/schemas/project-schema/meta-schema-v3.5.0.json +3 -2
  69. package/dist/schemas/project-schema/meta-schema-v3.5.1.json +3 -2
  70. package/dist/schemas/project-schema/meta-schema-v3.6.0.json +3 -2
  71. package/dist/schemas/project-schema/meta-schema-v3.7.0.json +3 -2
  72. package/dist/schemas/project-schema/meta-schema-v3.8.0.json +3 -2
  73. package/dist/schemas/project-schema/meta-schema-v3.9.0.json +3 -2
  74. package/dist/schemas/project-schema/v3.0.0.json +5 -2
  75. package/dist/schemas/project-schema/v3.1.0.json +5 -2
  76. package/dist/schemas/project-schema/v3.10.0.json +8 -4
  77. package/dist/schemas/project-schema/v3.11.0.json +8 -4
  78. package/dist/schemas/project-schema/v3.12.0.json +8 -4
  79. package/dist/schemas/project-schema/v3.12.1.json +8 -4
  80. package/dist/schemas/project-schema/v3.12.2.json +5 -3
  81. package/dist/schemas/project-schema/v3.12.3.json +5 -3
  82. package/dist/schemas/project-schema/v3.13.0.json +8 -4
  83. package/dist/schemas/project-schema/v3.14.0.json +8 -4
  84. package/dist/schemas/project-schema/v3.15.0.json +8 -4
  85. package/dist/schemas/project-schema/v3.16.0.json +8 -4
  86. package/dist/schemas/project-schema/v3.17.0.json +8 -4
  87. package/dist/schemas/project-schema/v3.17.1.json +5 -3
  88. package/dist/schemas/project-schema/v3.18.0.json +8 -4
  89. package/dist/schemas/project-schema/v3.18.1.json +8 -4
  90. package/dist/schemas/project-schema/v3.18.2.json +8 -4
  91. package/dist/schemas/project-schema/v3.19.0.json +8 -4
  92. package/dist/schemas/project-schema/v3.2.0.json +5 -2
  93. package/dist/schemas/project-schema/v3.20.0.json +8 -4
  94. package/dist/schemas/project-schema/v3.21.0.json +8 -4
  95. package/dist/schemas/project-schema/v3.22.0.json +8 -4
  96. package/dist/schemas/project-schema/v3.23.0.json +8 -4
  97. package/dist/schemas/project-schema/v3.24.0.json +6 -4
  98. package/dist/schemas/project-schema/v3.25.0.json +6 -4
  99. package/dist/schemas/project-schema/v3.26.0.json +6 -4
  100. package/dist/schemas/project-schema/v3.27.0.json +6 -4
  101. package/dist/schemas/project-schema/v3.28.0.json +6 -4
  102. package/dist/schemas/project-schema/v3.29.0.json +6 -4
  103. package/dist/schemas/project-schema/v3.3.0.json +5 -2
  104. package/dist/schemas/project-schema/v3.30.0.json +6 -4
  105. package/dist/schemas/project-schema/v3.31.0.json +6 -4
  106. package/dist/schemas/project-schema/v3.32.0.json +6 -4
  107. package/dist/schemas/project-schema/v3.33.0.json +6 -4
  108. package/dist/schemas/project-schema/v3.34.0.json +6 -4
  109. package/dist/schemas/project-schema/v3.35.0.json +6 -4
  110. package/dist/schemas/project-schema/v3.36.0.json +6 -4
  111. package/dist/schemas/project-schema/v3.37.0.json +6 -4
  112. package/dist/schemas/project-schema/v3.38.0.json +7 -5
  113. package/dist/schemas/project-schema/v3.39.0.json +7 -5
  114. package/dist/schemas/project-schema/v3.4.0.json +5 -2
  115. package/dist/schemas/project-schema/v3.40.0.json +6 -4
  116. package/dist/schemas/project-schema/v3.41.0.json +6 -4
  117. package/dist/schemas/project-schema/v3.42.0.json +6 -4
  118. package/dist/schemas/project-schema/v3.43.0.json +6 -4
  119. package/dist/schemas/project-schema/v3.44.0.json +6 -4
  120. package/dist/schemas/project-schema/v3.45.0.json +7 -5
  121. package/dist/schemas/project-schema/v3.46.0.json +6 -4
  122. package/dist/schemas/project-schema/v3.5.0.json +5 -2
  123. package/dist/schemas/project-schema/v3.5.1.json +5 -2
  124. package/dist/schemas/project-schema/v3.6.0.json +5 -2
  125. package/dist/schemas/project-schema/v3.7.0.json +5 -2
  126. package/dist/schemas/project-schema/v3.8.0.json +5 -2
  127. package/dist/schemas/project-schema/v3.9.0.json +5 -2
  128. package/dist/schemas/project-schema/v4.0.0.json +6 -4
  129. package/dist/types/types.d.ts +1 -2
  130. package/dist/types/types.d.ts.map +1 -1
  131. package/dist/types/utils.d.ts +1 -1
  132. package/dist/types/utils.d.ts.map +1 -1
  133. package/dist/types/utils.js +2 -2
  134. package/dist/validate.d.ts.map +1 -1
  135. package/dist/validate.js +5 -3
  136. package/es/schema-util.js +9 -0
  137. package/es/schemas/project-schema/latest.json +6 -4
  138. package/es/schemas/project-schema/meta-schema-v3.0.0.json +3 -2
  139. package/es/schemas/project-schema/meta-schema-v3.1.0.json +3 -2
  140. package/es/schemas/project-schema/meta-schema-v3.2.0.json +3 -2
  141. package/es/schemas/project-schema/meta-schema-v3.3.0.json +3 -2
  142. package/es/schemas/project-schema/meta-schema-v3.4.0.json +3 -2
  143. package/es/schemas/project-schema/meta-schema-v3.5.0.json +3 -2
  144. package/es/schemas/project-schema/meta-schema-v3.5.1.json +3 -2
  145. package/es/schemas/project-schema/meta-schema-v3.6.0.json +3 -2
  146. package/es/schemas/project-schema/meta-schema-v3.7.0.json +3 -2
  147. package/es/schemas/project-schema/meta-schema-v3.8.0.json +3 -2
  148. package/es/schemas/project-schema/meta-schema-v3.9.0.json +3 -2
  149. package/es/schemas/project-schema/v3.0.0.json +5 -2
  150. package/es/schemas/project-schema/v3.1.0.json +5 -2
  151. package/es/schemas/project-schema/v3.10.0.json +8 -4
  152. package/es/schemas/project-schema/v3.11.0.json +8 -4
  153. package/es/schemas/project-schema/v3.12.0.json +8 -4
  154. package/es/schemas/project-schema/v3.12.1.json +8 -4
  155. package/es/schemas/project-schema/v3.12.2.json +5 -3
  156. package/es/schemas/project-schema/v3.12.3.json +5 -3
  157. package/es/schemas/project-schema/v3.13.0.json +8 -4
  158. package/es/schemas/project-schema/v3.14.0.json +8 -4
  159. package/es/schemas/project-schema/v3.15.0.json +8 -4
  160. package/es/schemas/project-schema/v3.16.0.json +8 -4
  161. package/es/schemas/project-schema/v3.17.0.json +8 -4
  162. package/es/schemas/project-schema/v3.17.1.json +5 -3
  163. package/es/schemas/project-schema/v3.18.0.json +8 -4
  164. package/es/schemas/project-schema/v3.18.1.json +8 -4
  165. package/es/schemas/project-schema/v3.18.2.json +8 -4
  166. package/es/schemas/project-schema/v3.19.0.json +8 -4
  167. package/es/schemas/project-schema/v3.2.0.json +5 -2
  168. package/es/schemas/project-schema/v3.20.0.json +8 -4
  169. package/es/schemas/project-schema/v3.21.0.json +8 -4
  170. package/es/schemas/project-schema/v3.22.0.json +8 -4
  171. package/es/schemas/project-schema/v3.23.0.json +8 -4
  172. package/es/schemas/project-schema/v3.24.0.json +6 -4
  173. package/es/schemas/project-schema/v3.25.0.json +6 -4
  174. package/es/schemas/project-schema/v3.26.0.json +6 -4
  175. package/es/schemas/project-schema/v3.27.0.json +6 -4
  176. package/es/schemas/project-schema/v3.28.0.json +6 -4
  177. package/es/schemas/project-schema/v3.29.0.json +6 -4
  178. package/es/schemas/project-schema/v3.3.0.json +5 -2
  179. package/es/schemas/project-schema/v3.30.0.json +6 -4
  180. package/es/schemas/project-schema/v3.31.0.json +6 -4
  181. package/es/schemas/project-schema/v3.32.0.json +6 -4
  182. package/es/schemas/project-schema/v3.33.0.json +6 -4
  183. package/es/schemas/project-schema/v3.34.0.json +6 -4
  184. package/es/schemas/project-schema/v3.35.0.json +6 -4
  185. package/es/schemas/project-schema/v3.36.0.json +6 -4
  186. package/es/schemas/project-schema/v3.37.0.json +6 -4
  187. package/es/schemas/project-schema/v3.38.0.json +7 -5
  188. package/es/schemas/project-schema/v3.39.0.json +7 -5
  189. package/es/schemas/project-schema/v3.4.0.json +5 -2
  190. package/es/schemas/project-schema/v3.40.0.json +6 -4
  191. package/es/schemas/project-schema/v3.41.0.json +6 -4
  192. package/es/schemas/project-schema/v3.42.0.json +6 -4
  193. package/es/schemas/project-schema/v3.43.0.json +6 -4
  194. package/es/schemas/project-schema/v3.44.0.json +6 -4
  195. package/es/schemas/project-schema/v3.45.0.json +7 -5
  196. package/es/schemas/project-schema/v3.46.0.json +6 -4
  197. package/es/schemas/project-schema/v3.5.0.json +5 -2
  198. package/es/schemas/project-schema/v3.5.1.json +5 -2
  199. package/es/schemas/project-schema/v3.6.0.json +5 -2
  200. package/es/schemas/project-schema/v3.7.0.json +5 -2
  201. package/es/schemas/project-schema/v3.8.0.json +5 -2
  202. package/es/schemas/project-schema/v3.9.0.json +5 -2
  203. package/es/schemas/project-schema/v4.0.0.json +6 -4
  204. package/es/types/utils.js +1 -1
  205. package/es/validate.js +6 -4
  206. package/examples/latest/layers/rick-and-morty-layer.json +576 -0
  207. package/examples/{dependencies → latest/layers}/shopify-layer-2023-01.json +3 -2
  208. package/examples/latest/layers/shopify-storefront-2023-04.json +15941 -0
  209. package/examples/latest/layers/wordpress-2024-01.json +26896 -0
  210. package/examples/source/fabric-ecommerce.json +9903 -232
  211. package/examples/{dependencies → source/layers}/rick-and-morty-layer.json +1 -0
  212. package/examples/source/layers/shopify-layer-2023-01.json +86172 -0
  213. package/examples/{dependencies → source/layers}/shopify-storefront-2023-04.json +1 -0
  214. package/examples/{dependencies → source/layers}/wordpress-2024-01.json +1 -0
  215. package/examples/source/pruned-shopify-product-schema.json +9694 -28
  216. package/examples/source/shopify-store-with-widget.json +11906 -2322
  217. package/examples/source/stripe-starter-resolved.json +27539 -629
  218. package/package.json +6 -6
  219. package/examples/dependencies/fabric-ecommerce.json +0 -9716
  220. package/examples/dependencies/pruned-shopify-product-schema.json +0 -9672
  221. package/examples/dependencies/shopify-store-with-widget.json +0 -9854
  222. package/examples/dependencies/stripe-starter-resolved.json +0 -27345
@@ -294,10 +294,11 @@
294
294
  "title": "Query Map",
295
295
  "type": "object",
296
296
  "patternProperties": {
297
- "[0-9A-Za-z_-]+": {
297
+ "^[0-9A-Za-z_]+$": {
298
298
  "$ref": "#/definitions/query"
299
299
  }
300
- }
300
+ },
301
+ "additionalProperties": false
301
302
  },
302
303
  "args": {
303
304
  "title": "Args",
@@ -1522,10 +1523,11 @@
1522
1523
  "title": "Shape Map",
1523
1524
  "type": "object",
1524
1525
  "patternProperties": {
1525
- "[0-9A-Za-z_-]+": {
1526
+ "^[0-9A-Za-z_]+$": {
1526
1527
  "$ref": "#/definitions/shape"
1527
1528
  }
1528
- }
1529
+ },
1530
+ "additionalProperties": false
1529
1531
  },
1530
1532
  "formMap": {
1531
1533
  "title": "Form Map",
package/es/types/utils.js CHANGED
@@ -53,7 +53,7 @@ export const aiResolverNames = ['ai:generateText', 'ai:chat'];
53
53
  export function isAIResolverName(name) {
54
54
  return name ? aiResolverNames.includes(name) : false;
55
55
  }
56
- export function isAIGenerateTextResolver(resolver) {
56
+ export function isAIResolver(resolver) {
57
57
  return isBasicResolver(resolver) && isAIResolverName(resolver.name);
58
58
  }
59
59
  export function isProjectSchemaWithServices(schema) {
package/es/validate.js CHANGED
@@ -22,7 +22,7 @@ import authSchemas from './schemas/auth-schemas.json';
22
22
  import { getAllRefs, getShape } from './schema-util';
23
23
  import { builtInShapes } from './builtin-schema';
24
24
  import { isValidTemplate } from './template-shapes';
25
- import { isAIGenerateTextResolver, isBasicResolver, isComposeResolver, isExtendsSchema, isObjectSchema } from './types/utils';
25
+ import { isAIResolver, isBasicResolver, isComposeResolver, isExtendsSchema, isObjectSchema } from './types/utils';
26
26
  import { refItemToNamespacedShapeName, getRefShapeName, parsePropertyRef, propertyRefItemToResolverPath, createGetNamespace, propertyRefItemToPath, atRefToRefItem, refItemToShape, refItemToAtRef } from './refs';
27
27
  import { scalars } from './scalars';
28
28
  import { isUnionSchema } from './unions';
@@ -145,7 +145,9 @@ function validateResolver(projectSchema, basePath, baseResolver) {
145
145
  if (!shapeName) {
146
146
  return false;
147
147
  }
148
- const shape = getShape(projectSchema, shapeName);
148
+ const shape = getShape(projectSchema, shapeName) ?? getShape({
149
+ shapes: builtInShapes
150
+ }, shapeName);
149
151
  if (shape?.model) {
150
152
  return true;
151
153
  }
@@ -280,7 +282,7 @@ function validateResolver(projectSchema, basePath, baseResolver) {
280
282
  }
281
283
  if (resolver.name === 'delegate') {
282
284
  pushErrors(errors, validateDeletgateResolver(resolver, path));
283
- } else if (isAIGenerateTextResolver(resolver)) {
285
+ } else if (isAIResolver(resolver)) {
284
286
  validateAIGenerateTextResolver(resolver, path);
285
287
  }
286
288
  } else {
@@ -352,7 +354,7 @@ async function validateResolverReferences(context, projectSchema, basePath, base
352
354
  message: `Missing resolver config at property ref "${resolver.to}"`
353
355
  });
354
356
  }
355
- } else if (isAIGenerateTextResolver(resolver)) {
357
+ } else if (isAIResolver(resolver)) {
356
358
  if (resolver.tools) {
357
359
  await pMap(resolver.tools, async (tool, i) => {
358
360
  const toolRef = getToolRef(tool);
@@ -0,0 +1,576 @@
1
+ {
2
+ "shapes": {
3
+ "Rick_Character": {
4
+ "name": "Rick_Character",
5
+ "title": "Rick_Character",
6
+ "id": "Rick_Character",
7
+ "description": "",
8
+ "schema": {
9
+ "type": "object",
10
+ "properties": {
11
+ "id": {
12
+ "type": "string",
13
+ "@tag": "id",
14
+ "@mapping": "rick:Character.id",
15
+ "description": "The id of the character."
16
+ },
17
+ "name": {
18
+ "type": "string",
19
+ "@mapping": "rick:Character.name",
20
+ "description": "The name of the character."
21
+ },
22
+ "status": {
23
+ "type": "string",
24
+ "@mapping": "rick:Character.status",
25
+ "description": "The status of the character ('Alive', 'Dead' or 'unknown')."
26
+ },
27
+ "species": {
28
+ "type": "string",
29
+ "@mapping": "rick:Character.species",
30
+ "description": "The species of the character."
31
+ },
32
+ "type": {
33
+ "type": "string",
34
+ "@mapping": "rick:Character.type",
35
+ "description": "The type or subspecies of the character."
36
+ },
37
+ "gender": {
38
+ "type": "string",
39
+ "@mapping": "rick:Character.gender",
40
+ "description": "The gender of the character ('Female', 'Male', 'Genderless' or 'unknown')."
41
+ },
42
+ "origin": {
43
+ "@ref": "rick:Location",
44
+ "@mapping": "rick:Character.origin",
45
+ "description": "The character's origin location"
46
+ },
47
+ "location": {
48
+ "@ref": "rick:Location",
49
+ "@mapping": "rick:Character.location",
50
+ "description": "The character's last known location"
51
+ },
52
+ "image": {
53
+ "type": "string",
54
+ "@mapping": "rick:Character.image",
55
+ "description": "Link to the character's image.\nAll images are 300x300px and most are medium shots or portraits since they are intended to be used as avatars."
56
+ },
57
+ "episode": {
58
+ "type": "array",
59
+ "items": {
60
+ "@ref": "rick:Episode"
61
+ },
62
+ "@mapping": "rick:Character.episode",
63
+ "description": "Episodes in which this character appeared."
64
+ },
65
+ "created": {
66
+ "type": "string",
67
+ "@mapping": "rick:Character.created",
68
+ "description": "Time at which the character was created in the database."
69
+ }
70
+ },
71
+ "required": [
72
+ "episode"
73
+ ]
74
+ }
75
+ },
76
+ "Rick_Location": {
77
+ "name": "Rick_Location",
78
+ "title": "Rick_Location",
79
+ "id": "Rick_Location",
80
+ "description": "",
81
+ "schema": {
82
+ "type": "object",
83
+ "properties": {
84
+ "id": {
85
+ "type": "string",
86
+ "@tag": "id",
87
+ "@mapping": "rick:Location.id",
88
+ "description": "The id of the location."
89
+ },
90
+ "name": {
91
+ "type": "string",
92
+ "@mapping": "rick:Location.name",
93
+ "description": "The name of the location."
94
+ },
95
+ "type": {
96
+ "type": "string",
97
+ "@mapping": "rick:Location.type",
98
+ "description": "The type of the location."
99
+ },
100
+ "dimension": {
101
+ "type": "string",
102
+ "@mapping": "rick:Location.dimension",
103
+ "description": "The dimension in which the location is located."
104
+ },
105
+ "residents": {
106
+ "type": "array",
107
+ "items": {
108
+ "@ref": "rick:Character"
109
+ },
110
+ "@mapping": "rick:Location.residents",
111
+ "description": "List of characters who have been last seen in the location."
112
+ },
113
+ "created": {
114
+ "type": "string",
115
+ "@mapping": "rick:Location.created",
116
+ "description": "Time at which the location was created in the database."
117
+ }
118
+ },
119
+ "required": [
120
+ "residents"
121
+ ]
122
+ }
123
+ },
124
+ "Rick_Episode": {
125
+ "name": "Rick_Episode",
126
+ "title": "Rick_Episode",
127
+ "id": "Rick_Episode",
128
+ "description": "",
129
+ "schema": {
130
+ "type": "object",
131
+ "properties": {
132
+ "id": {
133
+ "type": "string",
134
+ "@tag": "id",
135
+ "@mapping": "rick:Episode.id",
136
+ "description": "The id of the episode."
137
+ },
138
+ "name": {
139
+ "type": "string",
140
+ "@mapping": "rick:Episode.name",
141
+ "description": "The name of the episode."
142
+ },
143
+ "air_date": {
144
+ "type": "string",
145
+ "@mapping": "rick:Episode.air_date",
146
+ "description": "The air date of the episode."
147
+ },
148
+ "episode": {
149
+ "type": "string",
150
+ "@mapping": "rick:Episode.episode",
151
+ "description": "The code of the episode."
152
+ },
153
+ "characters": {
154
+ "type": "array",
155
+ "items": {
156
+ "@ref": "rick:Character"
157
+ },
158
+ "@mapping": "rick:Episode.characters",
159
+ "description": "List of characters who have been seen in the episode."
160
+ },
161
+ "created": {
162
+ "type": "string",
163
+ "@mapping": "rick:Episode.created",
164
+ "description": "Time at which the episode was created in the database."
165
+ }
166
+ },
167
+ "required": [
168
+ "characters"
169
+ ]
170
+ }
171
+ },
172
+ "Rick_FilterCharacter": {
173
+ "name": "Rick_FilterCharacter",
174
+ "title": "Rick_FilterCharacter",
175
+ "id": "Rick_FilterCharacter",
176
+ "description": "",
177
+ "schema": {
178
+ "type": "object",
179
+ "properties": {
180
+ "name": {
181
+ "type": "string",
182
+ "@mapping": "rick:FilterCharacter.name",
183
+ "description": ""
184
+ },
185
+ "status": {
186
+ "type": "string",
187
+ "@mapping": "rick:FilterCharacter.status",
188
+ "description": ""
189
+ },
190
+ "species": {
191
+ "type": "string",
192
+ "@mapping": "rick:FilterCharacter.species",
193
+ "description": ""
194
+ },
195
+ "type": {
196
+ "type": "string",
197
+ "@mapping": "rick:FilterCharacter.type",
198
+ "description": ""
199
+ },
200
+ "gender": {
201
+ "type": "string",
202
+ "@mapping": "rick:FilterCharacter.gender",
203
+ "description": ""
204
+ }
205
+ }
206
+ }
207
+ },
208
+ "Rick_Characters": {
209
+ "name": "Rick_Characters",
210
+ "title": "Rick_Characters",
211
+ "id": "Rick_Characters",
212
+ "description": "",
213
+ "schema": {
214
+ "type": "object",
215
+ "properties": {
216
+ "info": {
217
+ "@ref": "rick:Info",
218
+ "@mapping": "rick:Characters.info",
219
+ "description": ""
220
+ },
221
+ "results": {
222
+ "type": "array",
223
+ "items": {
224
+ "@ref": "rick:Character"
225
+ },
226
+ "@mapping": "rick:Characters.results",
227
+ "description": ""
228
+ }
229
+ }
230
+ }
231
+ },
232
+ "Rick_Info": {
233
+ "name": "Rick_Info",
234
+ "title": "Rick_Info",
235
+ "id": "Rick_Info",
236
+ "description": "",
237
+ "schema": {
238
+ "type": "object",
239
+ "properties": {
240
+ "count": {
241
+ "type": "integer",
242
+ "@mapping": "rick:Info.count",
243
+ "description": "The length of the response."
244
+ },
245
+ "pages": {
246
+ "type": "integer",
247
+ "@mapping": "rick:Info.pages",
248
+ "description": "The amount of pages."
249
+ },
250
+ "next": {
251
+ "type": "integer",
252
+ "@mapping": "rick:Info.next",
253
+ "description": "Number of the next page (if it exists)"
254
+ },
255
+ "prev": {
256
+ "type": "integer",
257
+ "@mapping": "rick:Info.prev",
258
+ "description": "Number of the previous page (if it exists)"
259
+ }
260
+ }
261
+ }
262
+ },
263
+ "Rick_FilterLocation": {
264
+ "name": "Rick_FilterLocation",
265
+ "title": "Rick_FilterLocation",
266
+ "id": "Rick_FilterLocation",
267
+ "description": "",
268
+ "schema": {
269
+ "type": "object",
270
+ "properties": {
271
+ "name": {
272
+ "type": "string",
273
+ "@mapping": "rick:FilterLocation.name",
274
+ "description": ""
275
+ },
276
+ "type": {
277
+ "type": "string",
278
+ "@mapping": "rick:FilterLocation.type",
279
+ "description": ""
280
+ },
281
+ "dimension": {
282
+ "type": "string",
283
+ "@mapping": "rick:FilterLocation.dimension",
284
+ "description": ""
285
+ }
286
+ }
287
+ }
288
+ },
289
+ "Rick_Locations": {
290
+ "name": "Rick_Locations",
291
+ "title": "Rick_Locations",
292
+ "id": "Rick_Locations",
293
+ "description": "",
294
+ "schema": {
295
+ "type": "object",
296
+ "properties": {
297
+ "info": {
298
+ "@ref": "rick:Info",
299
+ "@mapping": "rick:Locations.info",
300
+ "description": ""
301
+ },
302
+ "results": {
303
+ "type": "array",
304
+ "items": {
305
+ "@ref": "rick:Location"
306
+ },
307
+ "@mapping": "rick:Locations.results",
308
+ "description": ""
309
+ }
310
+ }
311
+ }
312
+ },
313
+ "Rick_FilterEpisode": {
314
+ "name": "Rick_FilterEpisode",
315
+ "title": "Rick_FilterEpisode",
316
+ "id": "Rick_FilterEpisode",
317
+ "description": "",
318
+ "schema": {
319
+ "type": "object",
320
+ "properties": {
321
+ "name": {
322
+ "type": "string",
323
+ "@mapping": "rick:FilterEpisode.name",
324
+ "description": ""
325
+ },
326
+ "episode": {
327
+ "type": "string",
328
+ "@mapping": "rick:FilterEpisode.episode",
329
+ "description": ""
330
+ }
331
+ }
332
+ }
333
+ },
334
+ "Rick_Episodes": {
335
+ "name": "Rick_Episodes",
336
+ "title": "Rick_Episodes",
337
+ "id": "Rick_Episodes",
338
+ "description": "",
339
+ "schema": {
340
+ "type": "object",
341
+ "properties": {
342
+ "info": {
343
+ "@ref": "rick:Info",
344
+ "@mapping": "rick:Episodes.info",
345
+ "description": ""
346
+ },
347
+ "results": {
348
+ "type": "array",
349
+ "items": {
350
+ "@ref": "rick:Episode"
351
+ },
352
+ "@mapping": "rick:Episodes.results",
353
+ "description": ""
354
+ }
355
+ }
356
+ }
357
+ },
358
+ "Rick_CacheControlScope": {
359
+ "name": "Rick_CacheControlScope",
360
+ "title": "Rick_CacheControlScope",
361
+ "id": "Rick_CacheControlScope",
362
+ "description": "",
363
+ "schema": {
364
+ "enum": [
365
+ "PUBLIC",
366
+ "PRIVATE"
367
+ ]
368
+ }
369
+ }
370
+ },
371
+ "queries": {
372
+ "character": {
373
+ "resolver": {
374
+ "name": "graphql:query",
375
+ "service": "rick",
376
+ "fieldName": "character"
377
+ },
378
+ "args": {
379
+ "type": "object",
380
+ "properties": {
381
+ "id": {
382
+ "type": "string",
383
+ "@tag": "id"
384
+ }
385
+ },
386
+ "required": [
387
+ "id"
388
+ ]
389
+ },
390
+ "shape": "Rick_Character"
391
+ },
392
+ "characters": {
393
+ "resolver": {
394
+ "name": "graphql:query",
395
+ "service": "rick",
396
+ "fieldName": "characters"
397
+ },
398
+ "args": {
399
+ "type": "object",
400
+ "properties": {
401
+ "page": {
402
+ "type": "integer"
403
+ },
404
+ "filter": {
405
+ "@ref": "rick:FilterCharacter"
406
+ }
407
+ }
408
+ },
409
+ "shape": "Rick_Characters"
410
+ },
411
+ "charactersByIds": {
412
+ "resolver": {
413
+ "name": "graphql:query",
414
+ "service": "rick",
415
+ "fieldName": "charactersByIds"
416
+ },
417
+ "args": {
418
+ "type": "object",
419
+ "properties": {
420
+ "ids": {
421
+ "type": "array",
422
+ "items": {
423
+ "type": "string",
424
+ "@tag": "id"
425
+ }
426
+ }
427
+ },
428
+ "required": [
429
+ "ids"
430
+ ]
431
+ },
432
+ "shape": {
433
+ "type": "array",
434
+ "items": {
435
+ "@ref": "rick:Character"
436
+ }
437
+ }
438
+ },
439
+ "location": {
440
+ "resolver": {
441
+ "name": "graphql:query",
442
+ "service": "rick",
443
+ "fieldName": "location"
444
+ },
445
+ "args": {
446
+ "type": "object",
447
+ "properties": {
448
+ "id": {
449
+ "type": "string",
450
+ "@tag": "id"
451
+ }
452
+ },
453
+ "required": [
454
+ "id"
455
+ ]
456
+ },
457
+ "shape": "Rick_Location"
458
+ },
459
+ "locations": {
460
+ "resolver": {
461
+ "name": "graphql:query",
462
+ "service": "rick",
463
+ "fieldName": "locations"
464
+ },
465
+ "args": {
466
+ "type": "object",
467
+ "properties": {
468
+ "page": {
469
+ "type": "integer"
470
+ },
471
+ "filter": {
472
+ "@ref": "rick:FilterLocation"
473
+ }
474
+ }
475
+ },
476
+ "shape": "Rick_Locations"
477
+ },
478
+ "locationsByIds": {
479
+ "resolver": {
480
+ "name": "graphql:query",
481
+ "service": "rick",
482
+ "fieldName": "locationsByIds"
483
+ },
484
+ "args": {
485
+ "type": "object",
486
+ "properties": {
487
+ "ids": {
488
+ "type": "array",
489
+ "items": {
490
+ "type": "string",
491
+ "@tag": "id"
492
+ }
493
+ }
494
+ },
495
+ "required": [
496
+ "ids"
497
+ ]
498
+ },
499
+ "shape": {
500
+ "type": "array",
501
+ "items": {
502
+ "@ref": "rick:Location"
503
+ }
504
+ }
505
+ },
506
+ "episode": {
507
+ "resolver": {
508
+ "name": "graphql:query",
509
+ "service": "rick",
510
+ "fieldName": "episode"
511
+ },
512
+ "args": {
513
+ "type": "object",
514
+ "properties": {
515
+ "id": {
516
+ "type": "string",
517
+ "@tag": "id"
518
+ }
519
+ },
520
+ "required": [
521
+ "id"
522
+ ]
523
+ },
524
+ "shape": "Rick_Episode"
525
+ },
526
+ "episodes": {
527
+ "resolver": {
528
+ "name": "graphql:query",
529
+ "service": "rick",
530
+ "fieldName": "episodes"
531
+ },
532
+ "args": {
533
+ "type": "object",
534
+ "properties": {
535
+ "page": {
536
+ "type": "integer"
537
+ },
538
+ "filter": {
539
+ "@ref": "rick:FilterEpisode"
540
+ }
541
+ }
542
+ },
543
+ "shape": "Rick_Episodes"
544
+ },
545
+ "episodesByIds": {
546
+ "resolver": {
547
+ "name": "graphql:query",
548
+ "service": "rick",
549
+ "fieldName": "episodesByIds"
550
+ },
551
+ "args": {
552
+ "type": "object",
553
+ "properties": {
554
+ "ids": {
555
+ "type": "array",
556
+ "items": {
557
+ "type": "string",
558
+ "@tag": "id"
559
+ }
560
+ }
561
+ },
562
+ "required": [
563
+ "ids"
564
+ ]
565
+ },
566
+ "shape": {
567
+ "type": "array",
568
+ "items": {
569
+ "@ref": "rick:Episode"
570
+ }
571
+ }
572
+ }
573
+ },
574
+ "mutations": {},
575
+ "schemaVersion": "3.46.0"
576
+ }
@@ -86167,5 +86167,6 @@
86167
86167
  },
86168
86168
  "shape": "Shopify_WebhookSubscriptionUpdatePayload"
86169
86169
  }
86170
- }
86171
- }
86170
+ },
86171
+ "schemaVersion": "3.46.0"
86172
+ }