@pome-sh/cli 0.3.0 → 0.4.0

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 (1181) hide show
  1. package/README.md +14 -2
  2. package/dist/build-info.json +3 -3
  3. package/dist/src/cli/agent-identity.d.ts +20 -0
  4. package/dist/src/cli/agent-identity.js +59 -0
  5. package/dist/src/cli/agent-resolver.d.ts +26 -0
  6. package/dist/src/cli/agent-resolver.js +121 -0
  7. package/dist/src/cli/compile-seeds.js +1 -1
  8. package/dist/src/cli/credentials.d.ts +4 -0
  9. package/dist/src/cli/credentials.js +8 -0
  10. package/dist/src/cli/docs-topics.js +8 -2
  11. package/dist/src/cli/eval.d.ts +10 -6
  12. package/dist/src/cli/eval.js +21 -29
  13. package/dist/src/cli/frameworks.d.ts +12 -0
  14. package/dist/src/cli/frameworks.js +62 -0
  15. package/dist/src/cli/install.js +5 -5
  16. package/dist/src/cli/link-cache.d.ts +23 -0
  17. package/dist/src/cli/link-cache.js +91 -0
  18. package/dist/src/cli/login.js +1 -1
  19. package/dist/src/cli/main.js +108 -59
  20. package/dist/src/cli/project-config.d.ts +27 -25
  21. package/dist/src/cli/project-config.js +100 -54
  22. package/dist/src/cli/register.d.ts +10 -14
  23. package/dist/src/cli/register.js +138 -106
  24. package/dist/src/cli/scenarios-catalog.js +51 -1
  25. package/dist/src/cli/scenarios.js +10 -10
  26. package/dist/src/cli/session.js +16 -8
  27. package/dist/src/cli/skills.js +1 -1
  28. package/dist/src/doctor/checks.js +26 -24
  29. package/dist/src/doctor/scan.js +3 -0
  30. package/dist/src/fix-prompt/prompt.js +3 -3
  31. package/dist/src/fix-prompt/prompts/fix-prompt-v1.md +3 -3
  32. package/dist/src/hosted/client.d.ts +8 -3
  33. package/dist/src/hosted/client.js +3 -0
  34. package/dist/src/recorder/inspect.js +1 -1
  35. package/dist/src/runner/groupRender.d.ts +1 -1
  36. package/dist/src/runner/groupRender.js +3 -3
  37. package/dist/src/runner/runScenario.d.ts +626 -2
  38. package/dist/src/runner/runScenario.js +5 -0
  39. package/dist/src/runner/runScenarioHosted.d.ts +3 -0
  40. package/dist/src/runner/runScenarioHosted.js +29 -13
  41. package/dist/src/runner/runTrialGroup.d.ts +3 -1
  42. package/dist/src/runner/runTrialGroup.js +13 -11
  43. package/dist/src/scenario/parseScenario.js +42 -14
  44. package/dist/src/scenario/scenarioSchema.d.ts +1472 -4
  45. package/dist/src/scenario/scenarioSchema.js +4 -0
  46. package/dist/src/twin/twinHarness.d.ts +2 -0
  47. package/dist/src/twin/twinHarness.js +48 -1
  48. package/dist/src/twin/twinStart.d.ts +3 -1
  49. package/dist/src/twin/twinStart.js +22 -4
  50. package/node_modules/@hono/node-server/dist/index.cjs +145 -18
  51. package/node_modules/@hono/node-server/dist/index.mjs +145 -18
  52. package/node_modules/@hono/node-server/dist/serve-static.cjs +53 -12
  53. package/node_modules/@hono/node-server/dist/serve-static.mjs +53 -12
  54. package/node_modules/@hono/node-server/package.json +1 -1
  55. package/node_modules/@pome-sh/sdk/dist/index.d.ts +38 -1
  56. package/node_modules/@pome-sh/sdk/dist/index.js +16 -7
  57. package/node_modules/@pome-sh/sdk/dist/index.js.map +1 -1
  58. package/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +21 -5
  59. package/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +1 -1
  60. package/node_modules/@pome-sh/sdk/dist/parity.d.ts +6 -0
  61. package/node_modules/@pome-sh/sdk/dist/parity.js +12 -1
  62. package/node_modules/@pome-sh/sdk/dist/parity.js.map +1 -1
  63. package/node_modules/@pome-sh/sdk/dist/recorder.d.ts +6 -0
  64. package/node_modules/@pome-sh/sdk/dist/recorder.js +27 -32
  65. package/node_modules/@pome-sh/sdk/dist/recorder.js.map +1 -1
  66. package/node_modules/@pome-sh/sdk/dist/server.js +9 -4
  67. package/node_modules/@pome-sh/sdk/dist/server.js.map +1 -1
  68. package/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +2 -0
  69. package/node_modules/@pome-sh/sdk/dist/tool-context.js +3 -0
  70. package/node_modules/@pome-sh/sdk/dist/tool-context.js.map +1 -1
  71. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +39 -0
  72. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +39 -0
  73. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -1
  74. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.d.ts +4 -3
  75. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.js +4 -3
  76. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -1
  77. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/manifest.d.ts +31 -0
  78. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/manifest.js +76 -0
  79. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/manifest.js.map +1 -0
  80. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +45 -0
  81. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +8 -0
  82. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -1
  83. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.js +14 -6
  84. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -1
  85. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +6 -0
  86. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +28 -0
  87. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -1
  88. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +63 -1
  89. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.js +37 -1
  90. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
  91. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.d.ts +61 -2
  92. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.js +112 -2
  93. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -1
  94. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.d.ts +7 -0
  95. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.js +5 -1
  96. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -1
  97. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
  98. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
  99. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
  100. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +560 -0
  101. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.js +98 -2
  102. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -1
  103. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +3 -3
  104. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.js +1 -1
  105. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -1
  106. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +15 -1
  107. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.js +15 -1
  108. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -1
  109. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task.d.ts +376 -0
  110. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/manifest-schema.json +68 -0
  111. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/package.json +5 -4
  112. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  113. package/node_modules/@pome-sh/sdk/package.json +5 -5
  114. package/node_modules/@pome-sh/shared-types/dist/index.d.ts +1 -0
  115. package/node_modules/@pome-sh/shared-types/dist/index.js +1 -0
  116. package/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -1
  117. package/node_modules/@pome-sh/shared-types/dist/manifest.d.ts +31 -0
  118. package/node_modules/@pome-sh/shared-types/dist/manifest.js +76 -0
  119. package/node_modules/@pome-sh/shared-types/dist/manifest.js.map +1 -0
  120. package/node_modules/@pome-sh/shared-types/dist/otel/project.js +14 -6
  121. package/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -1
  122. package/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +6 -0
  123. package/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +21 -0
  124. package/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -1
  125. package/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +1 -1
  126. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js +1 -1
  127. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
  128. package/node_modules/@pome-sh/shared-types/dist/rest.d.ts +11 -0
  129. package/node_modules/@pome-sh/shared-types/dist/rest.js +38 -0
  130. package/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -1
  131. package/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +1033 -0
  132. package/node_modules/@pome-sh/shared-types/dist/seed-state.js +285 -2
  133. package/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -1
  134. package/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +1 -1
  135. package/node_modules/@pome-sh/shared-types/dist/sessions.js +1 -1
  136. package/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -1
  137. package/node_modules/@pome-sh/shared-types/dist/task.d.ts +690 -0
  138. package/node_modules/@pome-sh/shared-types/manifest-schema.json +68 -0
  139. package/node_modules/@pome-sh/shared-types/package.json +5 -4
  140. package/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  141. package/node_modules/@pome-sh/twin-github/README.md +1 -1
  142. package/node_modules/@pome-sh/twin-github/dist/src/access-control.d.ts +3 -3
  143. package/node_modules/@pome-sh/twin-github/dist/src/domain.d.ts +5 -5
  144. package/node_modules/@pome-sh/twin-github/dist/src/seed.d.ts +1 -1
  145. package/node_modules/@pome-sh/twin-github/dist/src/serializers.d.ts +3 -3
  146. package/node_modules/@pome-sh/twin-github/dist/src/tools.d.ts +21 -21
  147. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +35 -0
  148. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/admin-gate.js +103 -0
  149. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +1 -0
  150. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/auth.d.ts +100 -0
  151. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/auth.js +262 -0
  152. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/auth.js.map +1 -0
  153. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/build-info.d.ts +7 -0
  154. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/build-info.js +14 -0
  155. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/build-info.js.map +1 -0
  156. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/db.d.ts +44 -0
  157. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/db.js +113 -0
  158. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/db.js.map +1 -0
  159. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/errors.d.ts +24 -0
  160. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/errors.js +61 -0
  161. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/errors.js.map +1 -0
  162. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +43 -0
  163. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/failure-injection.js +160 -0
  164. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +1 -0
  165. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +121 -0
  166. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +204 -0
  167. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +1 -0
  168. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +8 -0
  169. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/fidelity.js +39 -0
  170. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/fidelity.js.map +1 -0
  171. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/index.d.ts +372 -0
  172. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/index.js +139 -0
  173. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/index.js.map +1 -0
  174. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +10 -0
  175. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +221 -0
  176. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +1 -0
  177. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/parity.d.ts +61 -0
  178. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/parity.js +123 -0
  179. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/parity.js.map +1 -0
  180. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/recorder.d.ts +120 -0
  181. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/recorder.js +368 -0
  182. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/recorder.js.map +1 -0
  183. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/redaction.d.ts +1 -0
  184. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/redaction.js +3 -0
  185. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/redaction.js.map +1 -0
  186. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +54 -0
  187. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/server-helpers.js +181 -0
  188. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +1 -0
  189. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/server.d.ts +46 -0
  190. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/server.js +394 -0
  191. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/server.js.map +1 -0
  192. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +8 -0
  193. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/tool-context.js +22 -0
  194. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/dist/tool-context.js.map +1 -0
  195. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/sdk/package.json +54 -0
  196. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +4 -2
  197. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/project.js +14 -6
  198. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -1
  199. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +6 -0
  200. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +21 -0
  201. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -1
  202. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +1 -1
  203. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/recorder-events.js +1 -1
  204. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
  205. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/rest.d.ts +5 -2
  206. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/rest.js +9 -4
  207. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -1
  208. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/run.js +1 -1
  209. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -1
  210. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +560 -0
  211. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-state.js +98 -2
  212. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -1
  213. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +1 -1
  214. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/sessions.js +1 -1
  215. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -1
  216. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +15 -1
  217. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task-vocab.js +15 -1
  218. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -1
  219. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task.d.ts +374 -0
  220. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/package.json +4 -4
  221. package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  222. package/node_modules/@pome-sh/twin-github/package.json +7 -7
  223. package/node_modules/@pome-sh/twin-gmail/CHANGELOG.md +14 -0
  224. package/node_modules/@pome-sh/twin-gmail/HOSTED.md +23 -0
  225. package/node_modules/@pome-sh/twin-gmail/LIMITS.md +41 -0
  226. package/node_modules/@pome-sh/twin-gmail/README.md +109 -0
  227. package/node_modules/@pome-sh/twin-gmail/REFERENCE-DIVERGENCES.md +42 -0
  228. package/node_modules/@pome-sh/twin-gmail/dist/fixtures/mcp-tools-list.canonical.json +974 -0
  229. package/node_modules/@pome-sh/twin-gmail/dist/src/db.d.ts +4 -0
  230. package/node_modules/@pome-sh/twin-gmail/dist/src/db.js +206 -0
  231. package/node_modules/@pome-sh/twin-gmail/dist/src/db.js.map +1 -0
  232. package/node_modules/@pome-sh/twin-gmail/dist/src/domain-search.d.ts +5 -0
  233. package/node_modules/@pome-sh/twin-gmail/dist/src/domain-search.js +89 -0
  234. package/node_modules/@pome-sh/twin-gmail/dist/src/domain-search.js.map +1 -0
  235. package/node_modules/@pome-sh/twin-gmail/dist/src/domain.d.ts +110 -0
  236. package/node_modules/@pome-sh/twin-gmail/dist/src/domain.js +407 -0
  237. package/node_modules/@pome-sh/twin-gmail/dist/src/domain.js.map +1 -0
  238. package/node_modules/@pome-sh/twin-gmail/dist/src/errors.d.ts +12 -0
  239. package/node_modules/@pome-sh/twin-gmail/dist/src/errors.js +115 -0
  240. package/node_modules/@pome-sh/twin-gmail/dist/src/errors.js.map +1 -0
  241. package/node_modules/@pome-sh/twin-gmail/dist/src/identity.d.ts +10 -0
  242. package/node_modules/@pome-sh/twin-gmail/dist/src/identity.js +29 -0
  243. package/node_modules/@pome-sh/twin-gmail/dist/src/identity.js.map +1 -0
  244. package/node_modules/@pome-sh/twin-gmail/dist/src/index.d.ts +12 -0
  245. package/node_modules/@pome-sh/twin-gmail/dist/src/index.js +13 -0
  246. package/node_modules/@pome-sh/twin-gmail/dist/src/index.js.map +1 -0
  247. package/node_modules/@pome-sh/twin-gmail/dist/src/mcp-schemas.d.ts +176 -0
  248. package/node_modules/@pome-sh/twin-gmail/dist/src/mcp-schemas.js +162 -0
  249. package/node_modules/@pome-sh/twin-gmail/dist/src/mcp-schemas.js.map +1 -0
  250. package/node_modules/@pome-sh/twin-gmail/dist/src/mcp.d.ts +3 -0
  251. package/node_modules/@pome-sh/twin-gmail/dist/src/mcp.js +268 -0
  252. package/node_modules/@pome-sh/twin-gmail/dist/src/mcp.js.map +1 -0
  253. package/node_modules/@pome-sh/twin-gmail/dist/src/mime.d.ts +49 -0
  254. package/node_modules/@pome-sh/twin-gmail/dist/src/mime.js +315 -0
  255. package/node_modules/@pome-sh/twin-gmail/dist/src/mime.js.map +1 -0
  256. package/node_modules/@pome-sh/twin-gmail/dist/src/page-tokens.d.ts +11 -0
  257. package/node_modules/@pome-sh/twin-gmail/dist/src/page-tokens.js +70 -0
  258. package/node_modules/@pome-sh/twin-gmail/dist/src/page-tokens.js.map +1 -0
  259. package/node_modules/@pome-sh/twin-gmail/dist/src/recording.d.ts +6 -0
  260. package/node_modules/@pome-sh/twin-gmail/dist/src/recording.js +74 -0
  261. package/node_modules/@pome-sh/twin-gmail/dist/src/recording.js.map +1 -0
  262. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-common.d.ts +28 -0
  263. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-common.js +120 -0
  264. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-common.js.map +1 -0
  265. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-drafts.d.ts +3 -0
  266. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-drafts.js +85 -0
  267. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-drafts.js.map +1 -0
  268. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-kit.d.ts +19 -0
  269. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-kit.js +52 -0
  270. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-kit.js.map +1 -0
  271. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-messages.d.ts +3 -0
  272. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-messages.js +144 -0
  273. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-messages.js.map +1 -0
  274. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-resources.d.ts +3 -0
  275. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-resources.js +204 -0
  276. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes-resources.js.map +1 -0
  277. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes.d.ts +4 -0
  278. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes.js +11 -0
  279. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-routes.js.map +1 -0
  280. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-serializers.d.ts +18 -0
  281. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-serializers.js +153 -0
  282. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-serializers.js.map +1 -0
  283. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-store.d.ts +75 -0
  284. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-store.js +282 -0
  285. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-store.js.map +1 -0
  286. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-upload.d.ts +12 -0
  287. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-upload.js +127 -0
  288. package/node_modules/@pome-sh/twin-gmail/dist/src/rest-upload.js.map +1 -0
  289. package/node_modules/@pome-sh/twin-gmail/dist/src/search.d.ts +61 -0
  290. package/node_modules/@pome-sh/twin-gmail/dist/src/search.js +504 -0
  291. package/node_modules/@pome-sh/twin-gmail/dist/src/search.js.map +1 -0
  292. package/node_modules/@pome-sh/twin-gmail/dist/src/seed.d.ts +230 -0
  293. package/node_modules/@pome-sh/twin-gmail/dist/src/seed.js +269 -0
  294. package/node_modules/@pome-sh/twin-gmail/dist/src/seed.js.map +1 -0
  295. package/node_modules/@pome-sh/twin-gmail/dist/src/seeding.d.ts +3 -0
  296. package/node_modules/@pome-sh/twin-gmail/dist/src/seeding.js +89 -0
  297. package/node_modules/@pome-sh/twin-gmail/dist/src/seeding.js.map +1 -0
  298. package/node_modules/@pome-sh/twin-gmail/dist/src/server.d.ts +2 -0
  299. package/node_modules/@pome-sh/twin-gmail/dist/src/server.js +21 -0
  300. package/node_modules/@pome-sh/twin-gmail/dist/src/server.js.map +1 -0
  301. package/node_modules/@pome-sh/twin-gmail/dist/src/state.d.ts +55 -0
  302. package/node_modules/@pome-sh/twin-gmail/dist/src/state.js +225 -0
  303. package/node_modules/@pome-sh/twin-gmail/dist/src/state.js.map +1 -0
  304. package/node_modules/@pome-sh/twin-gmail/dist/src/storage.d.ts +20 -0
  305. package/node_modules/@pome-sh/twin-gmail/dist/src/storage.js +171 -0
  306. package/node_modules/@pome-sh/twin-gmail/dist/src/storage.js.map +1 -0
  307. package/node_modules/@pome-sh/twin-gmail/dist/src/twin.d.ts +17 -0
  308. package/node_modules/@pome-sh/twin-gmail/dist/src/twin.js +99 -0
  309. package/node_modules/@pome-sh/twin-gmail/dist/src/twin.js.map +1 -0
  310. package/node_modules/@pome-sh/twin-gmail/dist/src/types.d.ts +149 -0
  311. package/node_modules/@pome-sh/twin-gmail/dist/src/types.js +2 -0
  312. package/node_modules/@pome-sh/twin-gmail/dist/src/types.js.map +1 -0
  313. package/node_modules/@pome-sh/twin-gmail/fidelity.inventory.json +958 -0
  314. package/node_modules/@pome-sh/twin-gmail/fixtures/README.md +28 -0
  315. package/node_modules/@pome-sh/twin-gmail/fixtures/gmail-discovery-v1.meta.json +6 -0
  316. package/node_modules/@pome-sh/twin-gmail/fixtures/gmail-discovery-v1.raw.json +4510 -0
  317. package/node_modules/@pome-sh/twin-gmail/fixtures/mcp-initialize.meta.json +8 -0
  318. package/node_modules/@pome-sh/twin-gmail/fixtures/mcp-initialize.raw.json +1 -0
  319. package/node_modules/@pome-sh/twin-gmail/fixtures/mcp-tools-call-unauth-error.raw.json +1 -0
  320. package/node_modules/@pome-sh/twin-gmail/fixtures/mcp-tools-call.representative.json +508 -0
  321. package/node_modules/@pome-sh/twin-gmail/fixtures/mcp-tools-list.canonical.json +974 -0
  322. package/node_modules/@pome-sh/twin-gmail/fixtures/mcp-tools-list.meta.json +29 -0
  323. package/node_modules/@pome-sh/twin-gmail/fixtures/mcp-tools-list.raw.json +1 -0
  324. package/node_modules/@pome-sh/twin-gmail/fixtures/rest-surface.json +3502 -0
  325. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +35 -0
  326. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/admin-gate.js +103 -0
  327. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +1 -0
  328. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/auth.d.ts +100 -0
  329. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/auth.js +262 -0
  330. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/auth.js.map +1 -0
  331. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/build-info.d.ts +7 -0
  332. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/build-info.js +14 -0
  333. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/build-info.js.map +1 -0
  334. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/db.d.ts +44 -0
  335. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/db.js +113 -0
  336. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/db.js.map +1 -0
  337. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/errors.d.ts +24 -0
  338. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/errors.js +61 -0
  339. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/errors.js.map +1 -0
  340. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +43 -0
  341. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/failure-injection.js +160 -0
  342. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +1 -0
  343. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +121 -0
  344. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +204 -0
  345. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +1 -0
  346. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +8 -0
  347. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity.js +39 -0
  348. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/fidelity.js.map +1 -0
  349. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/index.d.ts +372 -0
  350. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/index.js +139 -0
  351. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/index.js.map +1 -0
  352. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +10 -0
  353. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +221 -0
  354. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +1 -0
  355. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/parity.d.ts +61 -0
  356. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/parity.js +123 -0
  357. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/parity.js.map +1 -0
  358. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/recorder.d.ts +120 -0
  359. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/recorder.js +368 -0
  360. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/recorder.js.map +1 -0
  361. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/redaction.d.ts +1 -0
  362. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/redaction.js +3 -0
  363. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/redaction.js.map +1 -0
  364. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +54 -0
  365. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server-helpers.js +181 -0
  366. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +1 -0
  367. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server.d.ts +46 -0
  368. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server.js +394 -0
  369. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/server.js.map +1 -0
  370. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +8 -0
  371. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/tool-context.js +22 -0
  372. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/dist/tool-context.js.map +1 -0
  373. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/sdk/package.json +54 -0
  374. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
  375. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
  376. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
  377. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +254 -0
  378. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +122 -0
  379. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
  380. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +175 -0
  381. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/github-access-control.js +182 -0
  382. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +1 -0
  383. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
  384. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
  385. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
  386. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/index.d.ts +27 -0
  387. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/index.js +34 -0
  388. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -0
  389. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +331 -0
  390. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +33 -0
  391. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +1 -0
  392. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +65 -0
  393. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +455 -0
  394. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -0
  395. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +39 -0
  396. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +47 -0
  397. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +1 -0
  398. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +25 -0
  399. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/index.js +27 -0
  400. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +1 -0
  401. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +100 -0
  402. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +193 -0
  403. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -0
  404. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +64 -0
  405. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +112 -0
  406. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -0
  407. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +26 -0
  408. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/nano.js +61 -0
  409. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +1 -0
  410. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +42 -0
  411. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/project.js +104 -0
  412. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -0
  413. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +57 -0
  414. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +102 -0
  415. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -0
  416. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +134 -0
  417. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +152 -0
  418. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -0
  419. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +480 -0
  420. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/recorder-events.js +270 -0
  421. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -0
  422. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +2 -0
  423. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/redaction.js +152 -0
  424. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/redaction.js.map +1 -0
  425. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/rest.d.ts +248 -0
  426. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/rest.js +308 -0
  427. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
  428. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/run.d.ts +208 -0
  429. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/run.js +170 -0
  430. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -0
  431. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
  432. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
  433. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
  434. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +1006 -0
  435. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-state.js +263 -0
  436. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
  437. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
  438. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
  439. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
  440. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +80 -0
  441. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task-vocab.js +98 -0
  442. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -0
  443. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task.d.ts +859 -0
  444. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
  445. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
  446. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/package.json +54 -0
  447. package/node_modules/@pome-sh/twin-gmail/node_modules/@pome-sh/shared-types/trace-contract.json +41 -0
  448. package/node_modules/@pome-sh/twin-gmail/package.json +75 -0
  449. package/node_modules/@pome-sh/twin-linear/CHANGELOG.md +15 -0
  450. package/node_modules/@pome-sh/twin-linear/FIDELITY.md +62 -0
  451. package/node_modules/@pome-sh/twin-linear/HOSTED.md +46 -0
  452. package/node_modules/@pome-sh/twin-linear/LIMITS.md +54 -0
  453. package/node_modules/@pome-sh/twin-linear/README.md +107 -0
  454. package/node_modules/@pome-sh/twin-linear/REFERENCE-DIVERGENCES.md +50 -0
  455. package/node_modules/@pome-sh/twin-linear/dist/fixtures/mcp-tools-list.canonical.json +353 -0
  456. package/node_modules/@pome-sh/twin-linear/dist/src/auth-credential.d.ts +8 -0
  457. package/node_modules/@pome-sh/twin-linear/dist/src/auth-credential.js +55 -0
  458. package/node_modules/@pome-sh/twin-linear/dist/src/auth-credential.js.map +1 -0
  459. package/node_modules/@pome-sh/twin-linear/dist/src/db.d.ts +4 -0
  460. package/node_modules/@pome-sh/twin-linear/dist/src/db.js +333 -0
  461. package/node_modules/@pome-sh/twin-linear/dist/src/db.js.map +1 -0
  462. package/node_modules/@pome-sh/twin-linear/dist/src/domain/agents.d.ts +29 -0
  463. package/node_modules/@pome-sh/twin-linear/dist/src/domain/agents.js +103 -0
  464. package/node_modules/@pome-sh/twin-linear/dist/src/domain/agents.js.map +1 -0
  465. package/node_modules/@pome-sh/twin-linear/dist/src/domain/catalog.d.ts +9 -0
  466. package/node_modules/@pome-sh/twin-linear/dist/src/domain/catalog.js +41 -0
  467. package/node_modules/@pome-sh/twin-linear/dist/src/domain/catalog.js.map +1 -0
  468. package/node_modules/@pome-sh/twin-linear/dist/src/domain/comments.d.ts +13 -0
  469. package/node_modules/@pome-sh/twin-linear/dist/src/domain/comments.js +108 -0
  470. package/node_modules/@pome-sh/twin-linear/dist/src/domain/comments.js.map +1 -0
  471. package/node_modules/@pome-sh/twin-linear/dist/src/domain/documents.d.ts +31 -0
  472. package/node_modules/@pome-sh/twin-linear/dist/src/domain/documents.js +113 -0
  473. package/node_modules/@pome-sh/twin-linear/dist/src/domain/documents.js.map +1 -0
  474. package/node_modules/@pome-sh/twin-linear/dist/src/domain/index.d.ts +4 -0
  475. package/node_modules/@pome-sh/twin-linear/dist/src/domain/index.js +6 -0
  476. package/node_modules/@pome-sh/twin-linear/dist/src/domain/index.js.map +1 -0
  477. package/node_modules/@pome-sh/twin-linear/dist/src/domain/issue-relations.d.ts +13 -0
  478. package/node_modules/@pome-sh/twin-linear/dist/src/domain/issue-relations.js +60 -0
  479. package/node_modules/@pome-sh/twin-linear/dist/src/domain/issue-relations.js.map +1 -0
  480. package/node_modules/@pome-sh/twin-linear/dist/src/domain/issues.d.ts +57 -0
  481. package/node_modules/@pome-sh/twin-linear/dist/src/domain/issues.js +356 -0
  482. package/node_modules/@pome-sh/twin-linear/dist/src/domain/issues.js.map +1 -0
  483. package/node_modules/@pome-sh/twin-linear/dist/src/domain/labels.d.ts +18 -0
  484. package/node_modules/@pome-sh/twin-linear/dist/src/domain/labels.js +117 -0
  485. package/node_modules/@pome-sh/twin-linear/dist/src/domain/labels.js.map +1 -0
  486. package/node_modules/@pome-sh/twin-linear/dist/src/domain/linear-domain.d.ts +190 -0
  487. package/node_modules/@pome-sh/twin-linear/dist/src/domain/linear-domain.js +315 -0
  488. package/node_modules/@pome-sh/twin-linear/dist/src/domain/linear-domain.js.map +1 -0
  489. package/node_modules/@pome-sh/twin-linear/dist/src/domain/normalize.d.ts +8 -0
  490. package/node_modules/@pome-sh/twin-linear/dist/src/domain/normalize.js +61 -0
  491. package/node_modules/@pome-sh/twin-linear/dist/src/domain/normalize.js.map +1 -0
  492. package/node_modules/@pome-sh/twin-linear/dist/src/domain/oauth-store.d.ts +55 -0
  493. package/node_modules/@pome-sh/twin-linear/dist/src/domain/oauth-store.js +127 -0
  494. package/node_modules/@pome-sh/twin-linear/dist/src/domain/oauth-store.js.map +1 -0
  495. package/node_modules/@pome-sh/twin-linear/dist/src/domain/projects-cycles.d.ts +17 -0
  496. package/node_modules/@pome-sh/twin-linear/dist/src/domain/projects-cycles.js +51 -0
  497. package/node_modules/@pome-sh/twin-linear/dist/src/domain/projects-cycles.js.map +1 -0
  498. package/node_modules/@pome-sh/twin-linear/dist/src/domain/rows.d.ts +211 -0
  499. package/node_modules/@pome-sh/twin-linear/dist/src/domain/rows.js +216 -0
  500. package/node_modules/@pome-sh/twin-linear/dist/src/domain/rows.js.map +1 -0
  501. package/node_modules/@pome-sh/twin-linear/dist/src/domain/webhooks.d.ts +5 -0
  502. package/node_modules/@pome-sh/twin-linear/dist/src/domain/webhooks.js +12 -0
  503. package/node_modules/@pome-sh/twin-linear/dist/src/domain/webhooks.js.map +1 -0
  504. package/node_modules/@pome-sh/twin-linear/dist/src/errors.d.ts +26 -0
  505. package/node_modules/@pome-sh/twin-linear/dist/src/errors.js +128 -0
  506. package/node_modules/@pome-sh/twin-linear/dist/src/errors.js.map +1 -0
  507. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/formatters.d.ts +27 -0
  508. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/formatters.js +261 -0
  509. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/formatters.js.map +1 -0
  510. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/issue-filter.d.ts +5 -0
  511. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/issue-filter.js +122 -0
  512. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/issue-filter.js.map +1 -0
  513. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/mutation-inputs.d.ts +152 -0
  514. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/mutation-inputs.js +255 -0
  515. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/mutation-inputs.js.map +1 -0
  516. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/resolvers.d.ts +6 -0
  517. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/resolvers.js +169 -0
  518. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/resolvers.js.map +1 -0
  519. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/routes.d.ts +6 -0
  520. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/routes.js +176 -0
  521. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/routes.js.map +1 -0
  522. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/schema.d.ts +3 -0
  523. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/schema.js +504 -0
  524. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/schema.js.map +1 -0
  525. package/node_modules/@pome-sh/twin-linear/dist/src/identity.d.ts +7 -0
  526. package/node_modules/@pome-sh/twin-linear/dist/src/identity.js +14 -0
  527. package/node_modules/@pome-sh/twin-linear/dist/src/identity.js.map +1 -0
  528. package/node_modules/@pome-sh/twin-linear/dist/src/ids.d.ts +5 -0
  529. package/node_modules/@pome-sh/twin-linear/dist/src/ids.js +28 -0
  530. package/node_modules/@pome-sh/twin-linear/dist/src/ids.js.map +1 -0
  531. package/node_modules/@pome-sh/twin-linear/dist/src/index.d.ts +16 -0
  532. package/node_modules/@pome-sh/twin-linear/dist/src/index.js +14 -0
  533. package/node_modules/@pome-sh/twin-linear/dist/src/index.js.map +1 -0
  534. package/node_modules/@pome-sh/twin-linear/dist/src/mcp-schemas.d.ts +121 -0
  535. package/node_modules/@pome-sh/twin-linear/dist/src/mcp-schemas.js +126 -0
  536. package/node_modules/@pome-sh/twin-linear/dist/src/mcp-schemas.js.map +1 -0
  537. package/node_modules/@pome-sh/twin-linear/dist/src/mcp.d.ts +4 -0
  538. package/node_modules/@pome-sh/twin-linear/dist/src/mcp.js +430 -0
  539. package/node_modules/@pome-sh/twin-linear/dist/src/mcp.js.map +1 -0
  540. package/node_modules/@pome-sh/twin-linear/dist/src/oauth/routes.d.ts +5 -0
  541. package/node_modules/@pome-sh/twin-linear/dist/src/oauth/routes.js +340 -0
  542. package/node_modules/@pome-sh/twin-linear/dist/src/oauth/routes.js.map +1 -0
  543. package/node_modules/@pome-sh/twin-linear/dist/src/pagination.d.ts +29 -0
  544. package/node_modules/@pome-sh/twin-linear/dist/src/pagination.js +101 -0
  545. package/node_modules/@pome-sh/twin-linear/dist/src/pagination.js.map +1 -0
  546. package/node_modules/@pome-sh/twin-linear/dist/src/recording.d.ts +2 -0
  547. package/node_modules/@pome-sh/twin-linear/dist/src/recording.js +46 -0
  548. package/node_modules/@pome-sh/twin-linear/dist/src/recording.js.map +1 -0
  549. package/node_modules/@pome-sh/twin-linear/dist/src/routes.d.ts +9 -0
  550. package/node_modules/@pome-sh/twin-linear/dist/src/routes.js +10 -0
  551. package/node_modules/@pome-sh/twin-linear/dist/src/routes.js.map +1 -0
  552. package/node_modules/@pome-sh/twin-linear/dist/src/seed/apply.d.ts +4 -0
  553. package/node_modules/@pome-sh/twin-linear/dist/src/seed/apply.js +186 -0
  554. package/node_modules/@pome-sh/twin-linear/dist/src/seed/apply.js.map +1 -0
  555. package/node_modules/@pome-sh/twin-linear/dist/src/seed.d.ts +158 -0
  556. package/node_modules/@pome-sh/twin-linear/dist/src/seed.js +541 -0
  557. package/node_modules/@pome-sh/twin-linear/dist/src/seed.js.map +1 -0
  558. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/comment.d.ts +29 -0
  559. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/comment.js +47 -0
  560. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/comment.js.map +1 -0
  561. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/document.d.ts +15 -0
  562. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/document.js +17 -0
  563. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/document.js.map +1 -0
  564. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/index.d.ts +3 -0
  565. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/index.js +5 -0
  566. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/index.js.map +1 -0
  567. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/issue.d.ts +86 -0
  568. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/issue.js +102 -0
  569. package/node_modules/@pome-sh/twin-linear/dist/src/serializers/issue.js.map +1 -0
  570. package/node_modules/@pome-sh/twin-linear/dist/src/server.d.ts +2 -0
  571. package/node_modules/@pome-sh/twin-linear/dist/src/server.js +41 -0
  572. package/node_modules/@pome-sh/twin-linear/dist/src/server.js.map +1 -0
  573. package/node_modules/@pome-sh/twin-linear/dist/src/state.d.ts +51 -0
  574. package/node_modules/@pome-sh/twin-linear/dist/src/state.js +211 -0
  575. package/node_modules/@pome-sh/twin-linear/dist/src/state.js.map +1 -0
  576. package/node_modules/@pome-sh/twin-linear/dist/src/twin.d.ts +21 -0
  577. package/node_modules/@pome-sh/twin-linear/dist/src/twin.js +107 -0
  578. package/node_modules/@pome-sh/twin-linear/dist/src/twin.js.map +1 -0
  579. package/node_modules/@pome-sh/twin-linear/dist/src/types.d.ts +360 -0
  580. package/node_modules/@pome-sh/twin-linear/dist/src/types.js +19 -0
  581. package/node_modules/@pome-sh/twin-linear/dist/src/types.js.map +1 -0
  582. package/node_modules/@pome-sh/twin-linear/dist/src/webhook-policy.d.ts +27 -0
  583. package/node_modules/@pome-sh/twin-linear/dist/src/webhook-policy.js +107 -0
  584. package/node_modules/@pome-sh/twin-linear/dist/src/webhook-policy.js.map +1 -0
  585. package/node_modules/@pome-sh/twin-linear/dist/src/webhook-url.d.ts +3 -0
  586. package/node_modules/@pome-sh/twin-linear/dist/src/webhook-url.js +26 -0
  587. package/node_modules/@pome-sh/twin-linear/dist/src/webhook-url.js.map +1 -0
  588. package/node_modules/@pome-sh/twin-linear/dist/src/webhooks/dispatch.d.ts +30 -0
  589. package/node_modules/@pome-sh/twin-linear/dist/src/webhooks/dispatch.js +93 -0
  590. package/node_modules/@pome-sh/twin-linear/dist/src/webhooks/dispatch.js.map +1 -0
  591. package/node_modules/@pome-sh/twin-linear/fidelity.inventory.json +249 -0
  592. package/node_modules/@pome-sh/twin-linear/fixtures/README.md +10 -0
  593. package/node_modules/@pome-sh/twin-linear/fixtures/graphql-surface.json +59 -0
  594. package/node_modules/@pome-sh/twin-linear/fixtures/mcp-tools-list.canonical.json +353 -0
  595. package/node_modules/@pome-sh/twin-linear/package.json +71 -0
  596. package/node_modules/@pome-sh/twin-slack/README.md +1 -1
  597. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +35 -0
  598. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/admin-gate.js +103 -0
  599. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +1 -0
  600. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/auth.d.ts +100 -0
  601. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/auth.js +262 -0
  602. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/auth.js.map +1 -0
  603. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/build-info.d.ts +7 -0
  604. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/build-info.js +14 -0
  605. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/build-info.js.map +1 -0
  606. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/db.d.ts +44 -0
  607. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/db.js +113 -0
  608. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/db.js.map +1 -0
  609. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/errors.d.ts +24 -0
  610. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/errors.js +61 -0
  611. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/errors.js.map +1 -0
  612. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +43 -0
  613. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/failure-injection.js +160 -0
  614. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +1 -0
  615. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +121 -0
  616. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +204 -0
  617. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +1 -0
  618. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +8 -0
  619. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity.js +39 -0
  620. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/fidelity.js.map +1 -0
  621. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/index.d.ts +372 -0
  622. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/index.js +139 -0
  623. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/index.js.map +1 -0
  624. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +10 -0
  625. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +221 -0
  626. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +1 -0
  627. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/parity.d.ts +61 -0
  628. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/parity.js +123 -0
  629. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/parity.js.map +1 -0
  630. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/recorder.d.ts +120 -0
  631. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/recorder.js +368 -0
  632. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/recorder.js.map +1 -0
  633. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/redaction.d.ts +1 -0
  634. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/redaction.js +3 -0
  635. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/redaction.js.map +1 -0
  636. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +54 -0
  637. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server-helpers.js +181 -0
  638. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +1 -0
  639. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server.d.ts +46 -0
  640. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server.js +394 -0
  641. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/server.js.map +1 -0
  642. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +8 -0
  643. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/tool-context.js +22 -0
  644. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/dist/tool-context.js.map +1 -0
  645. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/sdk/package.json +54 -0
  646. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +4 -2
  647. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.js +14 -6
  648. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -1
  649. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +6 -0
  650. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +21 -0
  651. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -1
  652. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +1 -1
  653. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.js +1 -1
  654. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
  655. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.d.ts +5 -2
  656. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.js +9 -4
  657. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -1
  658. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.js +1 -1
  659. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -1
  660. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +560 -0
  661. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.js +98 -2
  662. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -1
  663. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +1 -1
  664. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.js +1 -1
  665. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -1
  666. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +15 -1
  667. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.js +15 -1
  668. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -1
  669. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task.d.ts +374 -0
  670. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/package.json +4 -4
  671. package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  672. package/node_modules/@pome-sh/twin-slack/package.json +7 -7
  673. package/node_modules/@pome-sh/twin-stripe/README.md +1 -1
  674. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/stripe-domain.d.ts +2 -2
  675. package/node_modules/@pome-sh/twin-stripe/dist/src/seed.d.ts +8 -8
  676. package/node_modules/@pome-sh/twin-stripe/dist/src/serializers.d.ts +1 -1
  677. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/admin-gate.d.ts +35 -0
  678. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/admin-gate.js +103 -0
  679. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/admin-gate.js.map +1 -0
  680. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/auth.d.ts +100 -0
  681. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/auth.js +262 -0
  682. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/auth.js.map +1 -0
  683. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/build-info.d.ts +7 -0
  684. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/build-info.js +14 -0
  685. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/build-info.js.map +1 -0
  686. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/db.d.ts +44 -0
  687. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/db.js +113 -0
  688. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/db.js.map +1 -0
  689. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/errors.d.ts +24 -0
  690. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/errors.js +61 -0
  691. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/errors.js.map +1 -0
  692. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/failure-injection.d.ts +43 -0
  693. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/failure-injection.js +160 -0
  694. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/failure-injection.js.map +1 -0
  695. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +121 -0
  696. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +204 -0
  697. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +1 -0
  698. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity.d.ts +8 -0
  699. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity.js +39 -0
  700. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/fidelity.js.map +1 -0
  701. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/index.d.ts +372 -0
  702. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/index.js +139 -0
  703. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/index.js.map +1 -0
  704. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.d.ts +10 -0
  705. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js +221 -0
  706. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/mcp-jsonrpc.js.map +1 -0
  707. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/parity.d.ts +61 -0
  708. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/parity.js +123 -0
  709. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/parity.js.map +1 -0
  710. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/recorder.d.ts +120 -0
  711. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/recorder.js +368 -0
  712. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/recorder.js.map +1 -0
  713. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/redaction.d.ts +1 -0
  714. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/redaction.js +3 -0
  715. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/redaction.js.map +1 -0
  716. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +54 -0
  717. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server-helpers.js +181 -0
  718. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +1 -0
  719. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server.d.ts +46 -0
  720. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server.js +394 -0
  721. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/server.js.map +1 -0
  722. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/tool-context.d.ts +8 -0
  723. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/tool-context.js +22 -0
  724. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/dist/tool-context.js.map +1 -0
  725. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/sdk/package.json +54 -0
  726. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +4 -2
  727. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.js +14 -6
  728. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -1
  729. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +6 -0
  730. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +21 -0
  731. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -1
  732. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +1 -1
  733. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.js +1 -1
  734. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
  735. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.d.ts +5 -2
  736. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.js +9 -4
  737. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -1
  738. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.js +1 -1
  739. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -1
  740. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +560 -0
  741. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.js +98 -2
  742. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -1
  743. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +1 -1
  744. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.js +1 -1
  745. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -1
  746. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +15 -1
  747. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.js +15 -1
  748. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -1
  749. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task.d.ts +374 -0
  750. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/package.json +4 -4
  751. package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  752. package/node_modules/@pome-sh/twin-stripe/package.json +7 -7
  753. package/node_modules/graphql/LICENSE +21 -0
  754. package/node_modules/graphql/NotSupportedTSVersion.d.ts +1 -0
  755. package/node_modules/graphql/README.md +203 -0
  756. package/node_modules/graphql/error/GraphQLError.d.ts +288 -0
  757. package/node_modules/graphql/error/GraphQLError.js +398 -0
  758. package/node_modules/graphql/error/GraphQLError.mjs +384 -0
  759. package/node_modules/graphql/error/index.d.ts +15 -0
  760. package/node_modules/graphql/error/index.js +41 -0
  761. package/node_modules/graphql/error/index.mjs +9 -0
  762. package/node_modules/graphql/error/locatedError.d.ts +33 -0
  763. package/node_modules/graphql/error/locatedError.js +61 -0
  764. package/node_modules/graphql/error/locatedError.mjs +52 -0
  765. package/node_modules/graphql/error/syntaxError.d.ts +26 -0
  766. package/node_modules/graphql/error/syntaxError.js +35 -0
  767. package/node_modules/graphql/error/syntaxError.mjs +27 -0
  768. package/node_modules/graphql/execution/collectFields.d.ts +45 -0
  769. package/node_modules/graphql/execution/collectFields.js +235 -0
  770. package/node_modules/graphql/execution/collectFields.mjs +219 -0
  771. package/node_modules/graphql/execution/execute.d.ts +402 -0
  772. package/node_modules/graphql/execution/execute.js +1295 -0
  773. package/node_modules/graphql/execution/execute.mjs +1266 -0
  774. package/node_modules/graphql/execution/index.d.ts +24 -0
  775. package/node_modules/graphql/execution/index.js +73 -0
  776. package/node_modules/graphql/execution/index.mjs +19 -0
  777. package/node_modules/graphql/execution/mapAsyncIterator.d.ts +11 -0
  778. package/node_modules/graphql/execution/mapAsyncIterator.js +70 -0
  779. package/node_modules/graphql/execution/mapAsyncIterator.mjs +63 -0
  780. package/node_modules/graphql/execution/subscribe.d.ts +262 -0
  781. package/node_modules/graphql/execution/subscribe.js +388 -0
  782. package/node_modules/graphql/execution/subscribe.mjs +366 -0
  783. package/node_modules/graphql/execution/values.d.ts +236 -0
  784. package/node_modules/graphql/execution/values.js +444 -0
  785. package/node_modules/graphql/execution/values.mjs +406 -0
  786. package/node_modules/graphql/graphql.d.ts +189 -0
  787. package/node_modules/graphql/graphql.js +218 -0
  788. package/node_modules/graphql/graphql.mjs +212 -0
  789. package/node_modules/graphql/index.d.ts +423 -0
  790. package/node_modules/graphql/index.js +1311 -0
  791. package/node_modules/graphql/index.mjs +256 -0
  792. package/node_modules/graphql/jsutils/Maybe.d.ts +6 -0
  793. package/node_modules/graphql/jsutils/Maybe.js +5 -0
  794. package/node_modules/graphql/jsutils/Maybe.mjs +1 -0
  795. package/node_modules/graphql/jsutils/ObjMap.d.ts +20 -0
  796. package/node_modules/graphql/jsutils/ObjMap.js +5 -0
  797. package/node_modules/graphql/jsutils/ObjMap.mjs +1 -0
  798. package/node_modules/graphql/jsutils/Path.d.ts +50 -0
  799. package/node_modules/graphql/jsutils/Path.js +62 -0
  800. package/node_modules/graphql/jsutils/Path.mjs +54 -0
  801. package/node_modules/graphql/jsutils/PromiseOrValue.d.ts +2 -0
  802. package/node_modules/graphql/jsutils/PromiseOrValue.js +5 -0
  803. package/node_modules/graphql/jsutils/PromiseOrValue.mjs +1 -0
  804. package/node_modules/graphql/jsutils/devAssert.d.ts +2 -0
  805. package/node_modules/graphql/jsutils/devAssert.js +15 -0
  806. package/node_modules/graphql/jsutils/devAssert.mjs +8 -0
  807. package/node_modules/graphql/jsutils/didYouMean.d.ts +11 -0
  808. package/node_modules/graphql/jsutils/didYouMean.js +41 -0
  809. package/node_modules/graphql/jsutils/didYouMean.mjs +35 -0
  810. package/node_modules/graphql/jsutils/groupBy.d.ts +9 -0
  811. package/node_modules/graphql/jsutils/groupBy.js +28 -0
  812. package/node_modules/graphql/jsutils/groupBy.mjs +21 -0
  813. package/node_modules/graphql/jsutils/identityFunc.d.ts +6 -0
  814. package/node_modules/graphql/jsutils/identityFunc.js +15 -0
  815. package/node_modules/graphql/jsutils/identityFunc.mjs +8 -0
  816. package/node_modules/graphql/jsutils/inspect.d.ts +6 -0
  817. package/node_modules/graphql/jsutils/inspect.js +123 -0
  818. package/node_modules/graphql/jsutils/inspect.mjs +117 -0
  819. package/node_modules/graphql/jsutils/instanceOf.d.ts +18 -0
  820. package/node_modules/graphql/jsutils/instanceOf.js +67 -0
  821. package/node_modules/graphql/jsutils/instanceOf.mjs +59 -0
  822. package/node_modules/graphql/jsutils/invariant.d.ts +5 -0
  823. package/node_modules/graphql/jsutils/invariant.js +17 -0
  824. package/node_modules/graphql/jsutils/invariant.mjs +10 -0
  825. package/node_modules/graphql/jsutils/isAsyncIterable.d.ts +9 -0
  826. package/node_modules/graphql/jsutils/isAsyncIterable.js +20 -0
  827. package/node_modules/graphql/jsutils/isAsyncIterable.mjs +13 -0
  828. package/node_modules/graphql/jsutils/isIterableObject.d.ts +21 -0
  829. package/node_modules/graphql/jsutils/isIterableObject.js +33 -0
  830. package/node_modules/graphql/jsutils/isIterableObject.mjs +26 -0
  831. package/node_modules/graphql/jsutils/isObjectLike.d.ts +9 -0
  832. package/node_modules/graphql/jsutils/isObjectLike.js +16 -0
  833. package/node_modules/graphql/jsutils/isObjectLike.mjs +9 -0
  834. package/node_modules/graphql/jsutils/isPromise.d.ts +7 -0
  835. package/node_modules/graphql/jsutils/isPromise.js +19 -0
  836. package/node_modules/graphql/jsutils/isPromise.mjs +12 -0
  837. package/node_modules/graphql/jsutils/keyMap.d.ts +25 -0
  838. package/node_modules/graphql/jsutils/keyMap.js +36 -0
  839. package/node_modules/graphql/jsutils/keyMap.mjs +29 -0
  840. package/node_modules/graphql/jsutils/keyValMap.d.ts +26 -0
  841. package/node_modules/graphql/jsutils/keyValMap.js +36 -0
  842. package/node_modules/graphql/jsutils/keyValMap.mjs +29 -0
  843. package/node_modules/graphql/jsutils/mapValue.d.ts +11 -0
  844. package/node_modules/graphql/jsutils/mapValue.js +22 -0
  845. package/node_modules/graphql/jsutils/mapValue.mjs +15 -0
  846. package/node_modules/graphql/jsutils/memoize3.d.ts +11 -0
  847. package/node_modules/graphql/jsutils/memoize3.js +43 -0
  848. package/node_modules/graphql/jsutils/memoize3.mjs +36 -0
  849. package/node_modules/graphql/jsutils/naturalCompare.d.ts +10 -0
  850. package/node_modules/graphql/jsutils/naturalCompare.js +71 -0
  851. package/node_modules/graphql/jsutils/naturalCompare.mjs +63 -0
  852. package/node_modules/graphql/jsutils/printPathArray.d.ts +8 -0
  853. package/node_modules/graphql/jsutils/printPathArray.js +19 -0
  854. package/node_modules/graphql/jsutils/printPathArray.mjs +12 -0
  855. package/node_modules/graphql/jsutils/promiseForObject.d.ts +13 -0
  856. package/node_modules/graphql/jsutils/promiseForObject.js +27 -0
  857. package/node_modules/graphql/jsutils/promiseForObject.mjs +20 -0
  858. package/node_modules/graphql/jsutils/promiseReduce.d.ts +15 -0
  859. package/node_modules/graphql/jsutils/promiseReduce.js +29 -0
  860. package/node_modules/graphql/jsutils/promiseReduce.mjs +22 -0
  861. package/node_modules/graphql/jsutils/suggestionList.d.ts +10 -0
  862. package/node_modules/graphql/jsutils/suggestionList.js +143 -0
  863. package/node_modules/graphql/jsutils/suggestionList.mjs +134 -0
  864. package/node_modules/graphql/jsutils/toError.d.ts +6 -0
  865. package/node_modules/graphql/jsutils/toError.js +27 -0
  866. package/node_modules/graphql/jsutils/toError.mjs +20 -0
  867. package/node_modules/graphql/jsutils/toObjMap.d.ts +6 -0
  868. package/node_modules/graphql/jsutils/toObjMap.js +25 -0
  869. package/node_modules/graphql/jsutils/toObjMap.mjs +18 -0
  870. package/node_modules/graphql/language/ast.d.ts +949 -0
  871. package/node_modules/graphql/language/ast.js +301 -0
  872. package/node_modules/graphql/language/ast.mjs +285 -0
  873. package/node_modules/graphql/language/blockString.d.ts +26 -0
  874. package/node_modules/graphql/language/blockString.js +193 -0
  875. package/node_modules/graphql/language/blockString.mjs +176 -0
  876. package/node_modules/graphql/language/characterClasses.d.ts +47 -0
  877. package/node_modules/graphql/language/characterClasses.js +75 -0
  878. package/node_modules/graphql/language/characterClasses.mjs +64 -0
  879. package/node_modules/graphql/language/directiveLocation.d.ts +54 -0
  880. package/node_modules/graphql/language/directiveLocation.js +43 -0
  881. package/node_modules/graphql/language/directiveLocation.mjs +37 -0
  882. package/node_modules/graphql/language/index.d.ts +117 -0
  883. package/node_modules/graphql/language/index.js +227 -0
  884. package/node_modules/graphql/language/index.mjs +42 -0
  885. package/node_modules/graphql/language/kinds.d.ts +112 -0
  886. package/node_modules/graphql/language/kinds.js +72 -0
  887. package/node_modules/graphql/language/kinds.mjs +66 -0
  888. package/node_modules/graphql/language/lexer.d.ts +129 -0
  889. package/node_modules/graphql/language/lexer.js +1074 -0
  890. package/node_modules/graphql/language/lexer.mjs +972 -0
  891. package/node_modules/graphql/language/location.d.ts +29 -0
  892. package/node_modules/graphql/language/location.js +49 -0
  893. package/node_modules/graphql/language/location.mjs +41 -0
  894. package/node_modules/graphql/language/parser.d.ts +829 -0
  895. package/node_modules/graphql/language/parser.js +1949 -0
  896. package/node_modules/graphql/language/parser.mjs +1899 -0
  897. package/node_modules/graphql/language/predicates.d.ts +206 -0
  898. package/node_modules/graphql/language/predicates.js +292 -0
  899. package/node_modules/graphql/language/predicates.mjs +274 -0
  900. package/node_modules/graphql/language/printLocation.d.ts +42 -0
  901. package/node_modules/graphql/language/printLocation.js +103 -0
  902. package/node_modules/graphql/language/printLocation.mjs +94 -0
  903. package/node_modules/graphql/language/printString.d.ts +7 -0
  904. package/node_modules/graphql/language/printString.js +187 -0
  905. package/node_modules/graphql/language/printString.mjs +180 -0
  906. package/node_modules/graphql/language/printer.d.ts +18 -0
  907. package/node_modules/graphql/language/printer.js +411 -0
  908. package/node_modules/graphql/language/printer.mjs +398 -0
  909. package/node_modules/graphql/language/schemaCoordinateLexer.d.ts +45 -0
  910. package/node_modules/graphql/language/schemaCoordinateLexer.js +175 -0
  911. package/node_modules/graphql/language/schemaCoordinateLexer.mjs +126 -0
  912. package/node_modules/graphql/language/source.d.ts +53 -0
  913. package/node_modules/graphql/language/source.js +97 -0
  914. package/node_modules/graphql/language/source.mjs +81 -0
  915. package/node_modules/graphql/language/tokenKind.d.ts +63 -0
  916. package/node_modules/graphql/language/tokenKind.js +49 -0
  917. package/node_modules/graphql/language/tokenKind.mjs +43 -0
  918. package/node_modules/graphql/language/visitor.d.ts +322 -0
  919. package/node_modules/graphql/language/visitor.js +446 -0
  920. package/node_modules/graphql/language/visitor.mjs +426 -0
  921. package/node_modules/graphql/package.json +39 -0
  922. package/node_modules/graphql/subscription/index.d.ts +25 -0
  923. package/node_modules/graphql/subscription/index.js +19 -0
  924. package/node_modules/graphql/subscription/index.mjs +25 -0
  925. package/node_modules/graphql/type/assertName.d.ts +27 -0
  926. package/node_modules/graphql/type/assertName.js +77 -0
  927. package/node_modules/graphql/type/assertName.mjs +61 -0
  928. package/node_modules/graphql/type/definition.d.ts +3387 -0
  929. package/node_modules/graphql/type/definition.js +3515 -0
  930. package/node_modules/graphql/type/definition.mjs +3378 -0
  931. package/node_modules/graphql/type/directives.d.ts +273 -0
  932. package/node_modules/graphql/type/directives.js +424 -0
  933. package/node_modules/graphql/type/directives.mjs +388 -0
  934. package/node_modules/graphql/type/index.d.ts +157 -0
  935. package/node_modules/graphql/type/index.js +553 -0
  936. package/node_modules/graphql/type/index.mjs +110 -0
  937. package/node_modules/graphql/type/introspection.d.ts +66 -0
  938. package/node_modules/graphql/type/introspection.js +681 -0
  939. package/node_modules/graphql/type/introspection.mjs +623 -0
  940. package/node_modules/graphql/type/scalars.d.ts +46 -0
  941. package/node_modules/graphql/type/scalars.js +404 -0
  942. package/node_modules/graphql/type/scalars.mjs +343 -0
  943. package/node_modules/graphql/type/schema.d.ts +632 -0
  944. package/node_modules/graphql/type/schema.js +860 -0
  945. package/node_modules/graphql/type/schema.mjs +839 -0
  946. package/node_modules/graphql/type/validate.d.ts +48 -0
  947. package/node_modules/graphql/type/validate.js +738 -0
  948. package/node_modules/graphql/type/validate.mjs +712 -0
  949. package/node_modules/graphql/utilities/TypeInfo.d.ts +507 -0
  950. package/node_modules/graphql/utilities/TypeInfo.js +861 -0
  951. package/node_modules/graphql/utilities/TypeInfo.mjs +837 -0
  952. package/node_modules/graphql/utilities/assertValidName.d.ts +38 -0
  953. package/node_modules/graphql/utilities/assertValidName.js +77 -0
  954. package/node_modules/graphql/utilities/assertValidName.mjs +65 -0
  955. package/node_modules/graphql/utilities/astFromValue.d.ts +58 -0
  956. package/node_modules/graphql/utilities/astFromValue.js +223 -0
  957. package/node_modules/graphql/utilities/astFromValue.mjs +209 -0
  958. package/node_modules/graphql/utilities/buildASTSchema.d.ts +94 -0
  959. package/node_modules/graphql/utilities/buildASTSchema.js +178 -0
  960. package/node_modules/graphql/utilities/buildASTSchema.mjs +160 -0
  961. package/node_modules/graphql/utilities/buildClientSchema.d.ts +34 -0
  962. package/node_modules/graphql/utilities/buildClientSchema.js +404 -0
  963. package/node_modules/graphql/utilities/buildClientSchema.mjs +380 -0
  964. package/node_modules/graphql/utilities/coerceInputValue.d.ts +62 -0
  965. package/node_modules/graphql/utilities/coerceInputValue.js +264 -0
  966. package/node_modules/graphql/utilities/coerceInputValue.mjs +238 -0
  967. package/node_modules/graphql/utilities/concatAST.d.ts +21 -0
  968. package/node_modules/graphql/utilities/concatAST.js +39 -0
  969. package/node_modules/graphql/utilities/concatAST.mjs +31 -0
  970. package/node_modules/graphql/utilities/extendSchema.d.ts +93 -0
  971. package/node_modules/graphql/utilities/extendSchema.js +923 -0
  972. package/node_modules/graphql/utilities/extendSchema.mjs +912 -0
  973. package/node_modules/graphql/utilities/findBreakingChanges.d.ts +148 -0
  974. package/node_modules/graphql/utilities/findBreakingChanges.js +615 -0
  975. package/node_modules/graphql/utilities/findBreakingChanges.mjs +589 -0
  976. package/node_modules/graphql/utilities/getIntrospectionQuery.d.ts +336 -0
  977. package/node_modules/graphql/utilities/getIntrospectionQuery.js +179 -0
  978. package/node_modules/graphql/utilities/getIntrospectionQuery.mjs +172 -0
  979. package/node_modules/graphql/utilities/getOperationAST.d.ts +26 -0
  980. package/node_modules/graphql/utilities/getOperationAST.js +59 -0
  981. package/node_modules/graphql/utilities/getOperationAST.mjs +51 -0
  982. package/node_modules/graphql/utilities/getOperationRootType.d.ts +32 -0
  983. package/node_modules/graphql/utilities/getOperationRootType.js +85 -0
  984. package/node_modules/graphql/utilities/getOperationRootType.mjs +71 -0
  985. package/node_modules/graphql/utilities/index.d.ts +73 -0
  986. package/node_modules/graphql/utilities/index.js +247 -0
  987. package/node_modules/graphql/utilities/index.mjs +67 -0
  988. package/node_modules/graphql/utilities/introspectionFromSchema.d.ts +72 -0
  989. package/node_modules/graphql/utilities/introspectionFromSchema.js +99 -0
  990. package/node_modules/graphql/utilities/introspectionFromSchema.mjs +86 -0
  991. package/node_modules/graphql/utilities/lexicographicSortSchema.d.ts +44 -0
  992. package/node_modules/graphql/utilities/lexicographicSortSchema.js +213 -0
  993. package/node_modules/graphql/utilities/lexicographicSortSchema.mjs +207 -0
  994. package/node_modules/graphql/utilities/printSchema.d.ts +68 -0
  995. package/node_modules/graphql/utilities/printSchema.js +405 -0
  996. package/node_modules/graphql/utilities/printSchema.mjs +382 -0
  997. package/node_modules/graphql/utilities/resolveSchemaCoordinate.d.ts +142 -0
  998. package/node_modules/graphql/utilities/resolveSchemaCoordinate.js +324 -0
  999. package/node_modules/graphql/utilities/resolveSchemaCoordinate.mjs +306 -0
  1000. package/node_modules/graphql/utilities/separateOperations.d.ts +41 -0
  1001. package/node_modules/graphql/utilities/separateOperations.js +119 -0
  1002. package/node_modules/graphql/utilities/separateOperations.mjs +110 -0
  1003. package/node_modules/graphql/utilities/sortValueNode.d.ts +9 -0
  1004. package/node_modules/graphql/utilities/sortValueNode.js +47 -0
  1005. package/node_modules/graphql/utilities/sortValueNode.mjs +39 -0
  1006. package/node_modules/graphql/utilities/stripIgnoredCharacters.d.ts +69 -0
  1007. package/node_modules/graphql/utilities/stripIgnoredCharacters.js +131 -0
  1008. package/node_modules/graphql/utilities/stripIgnoredCharacters.mjs +113 -0
  1009. package/node_modules/graphql/utilities/typeComparators.d.ts +116 -0
  1010. package/node_modules/graphql/utilities/typeComparators.js +201 -0
  1011. package/node_modules/graphql/utilities/typeComparators.mjs +190 -0
  1012. package/node_modules/graphql/utilities/typeFromAST.d.ts +118 -0
  1013. package/node_modules/graphql/utilities/typeFromAST.js +30 -0
  1014. package/node_modules/graphql/utilities/typeFromAST.mjs +21 -0
  1015. package/node_modules/graphql/utilities/typedQueryDocumentNode.d.ts +26 -0
  1016. package/node_modules/graphql/utilities/typedQueryDocumentNode.js +5 -0
  1017. package/node_modules/graphql/utilities/typedQueryDocumentNode.mjs +1 -0
  1018. package/node_modules/graphql/utilities/valueFromAST.d.ts +67 -0
  1019. package/node_modules/graphql/utilities/valueFromAST.js +246 -0
  1020. package/node_modules/graphql/utilities/valueFromAST.mjs +232 -0
  1021. package/node_modules/graphql/utilities/valueFromASTUntyped.d.ts +36 -0
  1022. package/node_modules/graphql/utilities/valueFromASTUntyped.js +75 -0
  1023. package/node_modules/graphql/utilities/valueFromASTUntyped.mjs +66 -0
  1024. package/node_modules/graphql/validation/ValidationContext.d.ts +495 -0
  1025. package/node_modules/graphql/validation/ValidationContext.js +633 -0
  1026. package/node_modules/graphql/validation/ValidationContext.mjs +614 -0
  1027. package/node_modules/graphql/validation/index.d.ts +47 -0
  1028. package/node_modules/graphql/validation/index.js +331 -0
  1029. package/node_modules/graphql/validation/index.mjs +75 -0
  1030. package/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.d.ts +41 -0
  1031. package/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.js +75 -0
  1032. package/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.mjs +62 -0
  1033. package/node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.d.ts +41 -0
  1034. package/node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.js +178 -0
  1035. package/node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.mjs +159 -0
  1036. package/node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.d.ts +42 -0
  1037. package/node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.js +98 -0
  1038. package/node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.mjs +81 -0
  1039. package/node_modules/graphql/validation/rules/KnownArgumentNamesRule.d.ts +49 -0
  1040. package/node_modules/graphql/validation/rules/KnownArgumentNamesRule.js +147 -0
  1041. package/node_modules/graphql/validation/rules/KnownArgumentNamesRule.mjs +128 -0
  1042. package/node_modules/graphql/validation/rules/KnownDirectivesRule.d.ts +44 -0
  1043. package/node_modules/graphql/validation/rules/KnownDirectivesRule.js +200 -0
  1044. package/node_modules/graphql/validation/rules/KnownDirectivesRule.mjs +182 -0
  1045. package/node_modules/graphql/validation/rules/KnownFragmentNamesRule.d.ts +41 -0
  1046. package/node_modules/graphql/validation/rules/KnownFragmentNamesRule.js +65 -0
  1047. package/node_modules/graphql/validation/rules/KnownFragmentNamesRule.mjs +54 -0
  1048. package/node_modules/graphql/validation/rules/KnownTypeNamesRule.d.ts +44 -0
  1049. package/node_modules/graphql/validation/rules/KnownTypeNamesRule.js +118 -0
  1050. package/node_modules/graphql/validation/rules/KnownTypeNamesRule.mjs +105 -0
  1051. package/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.d.ts +41 -0
  1052. package/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.js +71 -0
  1053. package/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.mjs +62 -0
  1054. package/node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.d.ts +31 -0
  1055. package/node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.js +89 -0
  1056. package/node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.mjs +78 -0
  1057. package/node_modules/graphql/validation/rules/MaxIntrospectionDepthRule.d.ts +36 -0
  1058. package/node_modules/graphql/validation/rules/MaxIntrospectionDepthRule.js +123 -0
  1059. package/node_modules/graphql/validation/rules/MaxIntrospectionDepthRule.mjs +111 -0
  1060. package/node_modules/graphql/validation/rules/NoFragmentCyclesRule.d.ts +41 -0
  1061. package/node_modules/graphql/validation/rules/NoFragmentCyclesRule.js +114 -0
  1062. package/node_modules/graphql/validation/rules/NoFragmentCyclesRule.mjs +106 -0
  1063. package/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.d.ts +41 -0
  1064. package/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.js +81 -0
  1065. package/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.mjs +73 -0
  1066. package/node_modules/graphql/validation/rules/NoUnusedFragmentsRule.d.ts +41 -0
  1067. package/node_modules/graphql/validation/rules/NoUnusedFragmentsRule.js +90 -0
  1068. package/node_modules/graphql/validation/rules/NoUnusedFragmentsRule.mjs +79 -0
  1069. package/node_modules/graphql/validation/rules/NoUnusedVariablesRule.d.ts +42 -0
  1070. package/node_modules/graphql/validation/rules/NoUnusedVariablesRule.js +87 -0
  1071. package/node_modules/graphql/validation/rules/NoUnusedVariablesRule.mjs +79 -0
  1072. package/node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +47 -0
  1073. package/node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.js +907 -0
  1074. package/node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +892 -0
  1075. package/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.d.ts +48 -0
  1076. package/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.js +132 -0
  1077. package/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.mjs +109 -0
  1078. package/node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.d.ts +31 -0
  1079. package/node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.js +193 -0
  1080. package/node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.mjs +169 -0
  1081. package/node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.d.ts +46 -0
  1082. package/node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.js +189 -0
  1083. package/node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.mjs +168 -0
  1084. package/node_modules/graphql/validation/rules/ScalarLeafsRule.d.ts +37 -0
  1085. package/node_modules/graphql/validation/rules/ScalarLeafsRule.js +95 -0
  1086. package/node_modules/graphql/validation/rules/ScalarLeafsRule.mjs +85 -0
  1087. package/node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.d.ts +46 -0
  1088. package/node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.js +120 -0
  1089. package/node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.mjs +110 -0
  1090. package/node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +32 -0
  1091. package/node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.js +114 -0
  1092. package/node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +102 -0
  1093. package/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.d.ts +41 -0
  1094. package/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.js +84 -0
  1095. package/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.mjs +72 -0
  1096. package/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.d.ts +31 -0
  1097. package/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.js +76 -0
  1098. package/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.mjs +68 -0
  1099. package/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.d.ts +44 -0
  1100. package/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.js +136 -0
  1101. package/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.mjs +125 -0
  1102. package/node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.d.ts +31 -0
  1103. package/node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.js +97 -0
  1104. package/node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.mjs +85 -0
  1105. package/node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +31 -0
  1106. package/node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.js +109 -0
  1107. package/node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.mjs +100 -0
  1108. package/node_modules/graphql/validation/rules/UniqueFragmentNamesRule.d.ts +40 -0
  1109. package/node_modules/graphql/validation/rules/UniqueFragmentNamesRule.js +70 -0
  1110. package/node_modules/graphql/validation/rules/UniqueFragmentNamesRule.mjs +62 -0
  1111. package/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.d.ts +45 -0
  1112. package/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.js +87 -0
  1113. package/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.mjs +78 -0
  1114. package/node_modules/graphql/validation/rules/UniqueOperationNamesRule.d.ts +40 -0
  1115. package/node_modules/graphql/validation/rules/UniqueOperationNamesRule.js +75 -0
  1116. package/node_modules/graphql/validation/rules/UniqueOperationNamesRule.mjs +67 -0
  1117. package/node_modules/graphql/validation/rules/UniqueOperationTypesRule.d.ts +31 -0
  1118. package/node_modules/graphql/validation/rules/UniqueOperationTypesRule.js +93 -0
  1119. package/node_modules/graphql/validation/rules/UniqueOperationTypesRule.mjs +85 -0
  1120. package/node_modules/graphql/validation/rules/UniqueTypeNamesRule.d.ts +31 -0
  1121. package/node_modules/graphql/validation/rules/UniqueTypeNamesRule.js +79 -0
  1122. package/node_modules/graphql/validation/rules/UniqueTypeNamesRule.mjs +68 -0
  1123. package/node_modules/graphql/validation/rules/UniqueVariableNamesRule.d.ts +38 -0
  1124. package/node_modules/graphql/validation/rules/UniqueVariableNamesRule.js +78 -0
  1125. package/node_modules/graphql/validation/rules/UniqueVariableNamesRule.mjs +69 -0
  1126. package/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.d.ts +41 -0
  1127. package/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.js +271 -0
  1128. package/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.mjs +247 -0
  1129. package/node_modules/graphql/validation/rules/VariablesAreInputTypesRule.d.ts +45 -0
  1130. package/node_modules/graphql/validation/rules/VariablesAreInputTypesRule.js +79 -0
  1131. package/node_modules/graphql/validation/rules/VariablesAreInputTypesRule.mjs +65 -0
  1132. package/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.d.ts +40 -0
  1133. package/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.js +165 -0
  1134. package/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.mjs +149 -0
  1135. package/node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.d.ts +56 -0
  1136. package/node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.js +173 -0
  1137. package/node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.mjs +158 -0
  1138. package/node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +43 -0
  1139. package/node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +70 -0
  1140. package/node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +60 -0
  1141. package/node_modules/graphql/validation/specifiedRules.d.ts +17 -0
  1142. package/node_modules/graphql/validation/specifiedRules.js +175 -0
  1143. package/node_modules/graphql/validation/specifiedRules.mjs +131 -0
  1144. package/node_modules/graphql/validation/validate.d.ts +122 -0
  1145. package/node_modules/graphql/validation/validate.js +219 -0
  1146. package/node_modules/graphql/validation/validate.mjs +200 -0
  1147. package/node_modules/graphql/version.d.ts +10 -0
  1148. package/node_modules/graphql/version.js +23 -0
  1149. package/node_modules/graphql/version.mjs +14 -0
  1150. package/package.json +16 -12
  1151. package/scenarios/00-default-seed.md +2 -2
  1152. package/scenarios/01-bug-happy-path.md +1 -1
  1153. package/scenarios/03-already-triaged.md +1 -1
  1154. package/scenarios/04-judge-context.md +2 -2
  1155. package/scenarios/05-github-identity-spoof.md +2 -2
  1156. package/scenarios/06-mislabeled-needs-fix.md +2 -2
  1157. package/scenarios/07-pr-backdoor-review.md +4 -4
  1158. package/scenarios/08-prompt-injection-issue-body.md +1 -1
  1159. package/scenarios/09-security-revert-rationalization.md +2 -2
  1160. package/scenarios/14-stripe-refund-retry.md +3 -3
  1161. package/scenarios/17-in-scope-injection.md +3 -3
  1162. package/scenarios/18-fabricate-green-ci.md +2 -2
  1163. package/scenarios/19-stripe-rerefund-persuasion.md +2 -2
  1164. package/scenarios/20-slack-exfiltration.md +1 -1
  1165. package/scenarios/21-slack-injection.md +2 -2
  1166. package/scenarios/22-gmail-inbox-triage.md +27 -0
  1167. package/scenarios/22-gmail-inbox-triage.seed.json +85 -0
  1168. package/scenarios/23-gmail-first-party-parity.md +33 -0
  1169. package/scenarios/23-gmail-first-party-parity.seed.json +131 -0
  1170. package/scenarios/24-linear-issue-triage.md +26 -0
  1171. package/scenarios/24-linear-issue-triage.seed.json +104 -0
  1172. package/scenarios/25-linear-comment-label-triage.md +29 -0
  1173. package/scenarios/25-linear-comment-label-triage.seed.json +93 -0
  1174. package/scenarios/26-github-linear-handoff.md +31 -0
  1175. package/scenarios/26-github-linear-handoff.seed.json +109 -0
  1176. package/scenarios/27-gmail-github-support-escalation.md +31 -0
  1177. package/scenarios/27-gmail-github-support-escalation.seed.json +57 -0
  1178. package/skills/pome-setup/SKILL.md +3 -3
  1179. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.d.ts +0 -13
  1180. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.js +0 -6
  1181. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.js.map +0 -1
@@ -0,0 +1,3378 @@
1
+ /** @category Types */
2
+ import { devAssert } from '../jsutils/devAssert.mjs';
3
+ import { didYouMean } from '../jsutils/didYouMean.mjs';
4
+ import { identityFunc } from '../jsutils/identityFunc.mjs';
5
+ import { inspect } from '../jsutils/inspect.mjs';
6
+ import { instanceOf } from '../jsutils/instanceOf.mjs';
7
+ import { isObjectLike } from '../jsutils/isObjectLike.mjs';
8
+ import { keyMap } from '../jsutils/keyMap.mjs';
9
+ import { keyValMap } from '../jsutils/keyValMap.mjs';
10
+ import { mapValue } from '../jsutils/mapValue.mjs';
11
+ import { suggestionList } from '../jsutils/suggestionList.mjs';
12
+ import { toObjMap } from '../jsutils/toObjMap.mjs';
13
+ import { GraphQLError } from '../error/GraphQLError.mjs';
14
+ import { Kind } from '../language/kinds.mjs';
15
+ import { print } from '../language/printer.mjs';
16
+ import { valueFromASTUntyped } from '../utilities/valueFromASTUntyped.mjs';
17
+ import { assertEnumValueName, assertName } from './assertName.mjs';
18
+
19
+ /**
20
+ * Returns true when the value is any GraphQL type.
21
+ * @param type - The GraphQL type to inspect.
22
+ * @returns True when the value is any GraphQL type.
23
+ * @example
24
+ * ```ts
25
+ * import { buildSchema } from 'graphql/utilities';
26
+ * import { GraphQLList, GraphQLString, isType } from 'graphql/type';
27
+ *
28
+ * const schema = buildSchema(`
29
+ * type Query {
30
+ * name: String
31
+ * }
32
+ * `);
33
+ *
34
+ * isType(GraphQLString); // => true
35
+ * isType(new GraphQLList(GraphQLString)); // => true
36
+ * isType(schema.getType('Query')); // => true
37
+ * isType('String'); // => false
38
+ * ```
39
+ */
40
+ export function isType(type) {
41
+ return (
42
+ isScalarType(type) ||
43
+ isObjectType(type) ||
44
+ isInterfaceType(type) ||
45
+ isUnionType(type) ||
46
+ isEnumType(type) ||
47
+ isInputObjectType(type) ||
48
+ isListType(type) ||
49
+ isNonNullType(type)
50
+ );
51
+ }
52
+ /**
53
+ * Returns the value as a GraphQL type, or throws if it is not one.
54
+ * @param type - The GraphQL type to inspect.
55
+ * @returns The value typed as a GraphQL type.
56
+ * @example
57
+ * ```ts
58
+ * import { buildSchema } from 'graphql/utilities';
59
+ * import { assertType } from 'graphql/type';
60
+ *
61
+ * const schema = buildSchema(`
62
+ * type Query {
63
+ * name: String
64
+ * }
65
+ * `);
66
+ *
67
+ * const queryType = assertType(schema.getType('Query'));
68
+ *
69
+ * queryType.toString(); // => 'Query'
70
+ * assertType('Query'); // throws an error
71
+ * ```
72
+ */
73
+
74
+ export function assertType(type) {
75
+ if (!isType(type)) {
76
+ throw new Error(`Expected ${inspect(type)} to be a GraphQL type.`);
77
+ }
78
+
79
+ return type;
80
+ }
81
+ /**
82
+ * There are predicates for each kind of GraphQL type.
83
+ * @param type - The GraphQL type to inspect.
84
+ * @returns True when the value is a GraphQLScalarType.
85
+ * @example
86
+ * ```ts
87
+ * import { buildSchema } from 'graphql/utilities';
88
+ * import { isScalarType } from 'graphql/type';
89
+ *
90
+ * const schema = buildSchema(`
91
+ * scalar DateTime
92
+ *
93
+ * type Query {
94
+ * createdAt: DateTime
95
+ * }
96
+ * `);
97
+ *
98
+ * isScalarType(schema.getType('DateTime')); // => true
99
+ * isScalarType(schema.getType('Query')); // => false
100
+ * ```
101
+ */
102
+
103
+ export function isScalarType(type) {
104
+ return instanceOf(type, GraphQLScalarType);
105
+ }
106
+ /**
107
+ * Returns the value as a GraphQLScalarType, or throws if it is not one.
108
+ * @param type - The GraphQL type to inspect.
109
+ * @returns The value typed as a GraphQLScalarType.
110
+ * @example
111
+ * ```ts
112
+ * import { buildSchema } from 'graphql/utilities';
113
+ * import { assertScalarType } from 'graphql/type';
114
+ *
115
+ * const schema = buildSchema(`
116
+ * scalar DateTime
117
+ *
118
+ * type Query {
119
+ * createdAt: DateTime
120
+ * }
121
+ * `);
122
+ *
123
+ * const dateTimeType = assertScalarType(schema.getType('DateTime'));
124
+ *
125
+ * dateTimeType.name; // => 'DateTime'
126
+ * assertScalarType(schema.getType('Query')); // throws an error
127
+ * ```
128
+ */
129
+
130
+ export function assertScalarType(type) {
131
+ if (!isScalarType(type)) {
132
+ throw new Error(`Expected ${inspect(type)} to be a GraphQL Scalar type.`);
133
+ }
134
+
135
+ return type;
136
+ }
137
+ /**
138
+ * Returns true when the value is a GraphQLObjectType.
139
+ * @param type - The GraphQL type to inspect.
140
+ * @returns True when the value is a GraphQLObjectType.
141
+ * @example
142
+ * ```ts
143
+ * import { buildSchema } from 'graphql/utilities';
144
+ * import { isObjectType } from 'graphql/type';
145
+ *
146
+ * const schema = buildSchema(`
147
+ * input ReviewInput {
148
+ * stars: Int!
149
+ * }
150
+ *
151
+ * type User {
152
+ * name: String
153
+ * }
154
+ *
155
+ * type Query {
156
+ * user: User
157
+ * }
158
+ * `);
159
+ *
160
+ * isObjectType(schema.getType('User')); // => true
161
+ * isObjectType(schema.getType('ReviewInput')); // => false
162
+ * ```
163
+ */
164
+
165
+ export function isObjectType(type) {
166
+ return instanceOf(type, GraphQLObjectType);
167
+ }
168
+ /**
169
+ * Returns the value as a GraphQLObjectType, or throws if it is not one.
170
+ * @param type - The GraphQL type to inspect.
171
+ * @returns The value typed as a GraphQLObjectType.
172
+ * @example
173
+ * ```ts
174
+ * import { buildSchema } from 'graphql/utilities';
175
+ * import { assertObjectType } from 'graphql/type';
176
+ *
177
+ * const schema = buildSchema(`
178
+ * input ReviewInput {
179
+ * stars: Int!
180
+ * }
181
+ *
182
+ * type User {
183
+ * name: String
184
+ * }
185
+ *
186
+ * type Query {
187
+ * user: User
188
+ * }
189
+ * `);
190
+ *
191
+ * const userType = assertObjectType(schema.getType('User'));
192
+ *
193
+ * Object.keys(userType.getFields()); // => ['name']
194
+ * assertObjectType(schema.getType('ReviewInput')); // throws an error
195
+ * ```
196
+ */
197
+
198
+ export function assertObjectType(type) {
199
+ if (!isObjectType(type)) {
200
+ throw new Error(`Expected ${inspect(type)} to be a GraphQL Object type.`);
201
+ }
202
+
203
+ return type;
204
+ }
205
+ /**
206
+ * Returns true when the value is a GraphQLInterfaceType.
207
+ * @param type - The GraphQL type to inspect.
208
+ * @returns True when the value is a GraphQLInterfaceType.
209
+ * @example
210
+ * ```ts
211
+ * import { buildSchema } from 'graphql/utilities';
212
+ * import { isInterfaceType } from 'graphql/type';
213
+ *
214
+ * const schema = buildSchema(`
215
+ * interface Node {
216
+ * id: ID!
217
+ * }
218
+ *
219
+ * type User implements Node {
220
+ * id: ID!
221
+ * }
222
+ *
223
+ * type Query {
224
+ * node: Node
225
+ * }
226
+ * `);
227
+ *
228
+ * isInterfaceType(schema.getType('Node')); // => true
229
+ * isInterfaceType(schema.getType('User')); // => false
230
+ * ```
231
+ */
232
+
233
+ export function isInterfaceType(type) {
234
+ return instanceOf(type, GraphQLInterfaceType);
235
+ }
236
+ /**
237
+ * Returns the value as a GraphQLInterfaceType, or throws if it is not one.
238
+ * @param type - The GraphQL type to inspect.
239
+ * @returns The value typed as a GraphQLInterfaceType.
240
+ * @example
241
+ * ```ts
242
+ * import { buildSchema } from 'graphql/utilities';
243
+ * import { assertInterfaceType } from 'graphql/type';
244
+ *
245
+ * const schema = buildSchema(`
246
+ * interface Node {
247
+ * id: ID!
248
+ * }
249
+ *
250
+ * type User implements Node {
251
+ * id: ID!
252
+ * }
253
+ *
254
+ * type Query {
255
+ * node: Node
256
+ * }
257
+ * `);
258
+ *
259
+ * const nodeType = assertInterfaceType(schema.getType('Node'));
260
+ *
261
+ * nodeType.name; // => 'Node'
262
+ * assertInterfaceType(schema.getType('User')); // throws an error
263
+ * ```
264
+ */
265
+
266
+ export function assertInterfaceType(type) {
267
+ if (!isInterfaceType(type)) {
268
+ throw new Error(
269
+ `Expected ${inspect(type)} to be a GraphQL Interface type.`,
270
+ );
271
+ }
272
+
273
+ return type;
274
+ }
275
+ /**
276
+ * Returns true when the value is a GraphQLUnionType.
277
+ * @param type - The GraphQL type to inspect.
278
+ * @returns True when the value is a GraphQLUnionType.
279
+ * @example
280
+ * ```ts
281
+ * import { buildSchema } from 'graphql/utilities';
282
+ * import { isUnionType } from 'graphql/type';
283
+ *
284
+ * const schema = buildSchema(`
285
+ * type Photo {
286
+ * url: String!
287
+ * }
288
+ *
289
+ * type Video {
290
+ * url: String!
291
+ * }
292
+ *
293
+ * union Media = Photo | Video
294
+ *
295
+ * type Query {
296
+ * media: [Media]
297
+ * }
298
+ * `);
299
+ *
300
+ * isUnionType(schema.getType('Media')); // => true
301
+ * isUnionType(schema.getType('Photo')); // => false
302
+ * ```
303
+ */
304
+
305
+ export function isUnionType(type) {
306
+ return instanceOf(type, GraphQLUnionType);
307
+ }
308
+ /**
309
+ * Returns the value as a GraphQLUnionType, or throws if it is not one.
310
+ * @param type - The GraphQL type to inspect.
311
+ * @returns The value typed as a GraphQLUnionType.
312
+ * @example
313
+ * ```ts
314
+ * import { buildSchema } from 'graphql/utilities';
315
+ * import { assertUnionType } from 'graphql/type';
316
+ *
317
+ * const schema = buildSchema(`
318
+ * type Photo {
319
+ * url: String!
320
+ * }
321
+ *
322
+ * type Video {
323
+ * url: String!
324
+ * }
325
+ *
326
+ * union Media = Photo | Video
327
+ *
328
+ * type Query {
329
+ * media: [Media]
330
+ * }
331
+ * `);
332
+ *
333
+ * const mediaType = assertUnionType(schema.getType('Media'));
334
+ *
335
+ * mediaType.getTypes().map((type) => type.name); // => ['Photo', 'Video']
336
+ * assertUnionType(schema.getType('Photo')); // throws an error
337
+ * ```
338
+ */
339
+
340
+ export function assertUnionType(type) {
341
+ if (!isUnionType(type)) {
342
+ throw new Error(`Expected ${inspect(type)} to be a GraphQL Union type.`);
343
+ }
344
+
345
+ return type;
346
+ }
347
+ /**
348
+ * Returns true when the value is a GraphQLEnumType.
349
+ * @param type - The GraphQL type to inspect.
350
+ * @returns True when the value is a GraphQLEnumType.
351
+ * @example
352
+ * ```ts
353
+ * import { buildSchema } from 'graphql/utilities';
354
+ * import { isEnumType } from 'graphql/type';
355
+ *
356
+ * const schema = buildSchema(`
357
+ * enum Episode {
358
+ * NEW_HOPE
359
+ * EMPIRE
360
+ * }
361
+ *
362
+ * type Query {
363
+ * favoriteEpisode: Episode
364
+ * }
365
+ * `);
366
+ *
367
+ * isEnumType(schema.getType('Episode')); // => true
368
+ * isEnumType(schema.getType('Query')); // => false
369
+ * ```
370
+ */
371
+
372
+ export function isEnumType(type) {
373
+ return instanceOf(type, GraphQLEnumType);
374
+ }
375
+ /**
376
+ * Returns the value as a GraphQLEnumType, or throws if it is not one.
377
+ * @param type - The GraphQL type to inspect.
378
+ * @returns The value typed as a GraphQLEnumType.
379
+ * @example
380
+ * ```ts
381
+ * import { buildSchema } from 'graphql/utilities';
382
+ * import { assertEnumType } from 'graphql/type';
383
+ *
384
+ * const schema = buildSchema(`
385
+ * enum Episode {
386
+ * NEW_HOPE
387
+ * EMPIRE
388
+ * }
389
+ *
390
+ * type Query {
391
+ * favoriteEpisode: Episode
392
+ * }
393
+ * `);
394
+ *
395
+ * const episodeType = assertEnumType(schema.getType('Episode'));
396
+ *
397
+ * episodeType.getValues().map((value) => value.name); // => ['NEW_HOPE', 'EMPIRE']
398
+ * assertEnumType(schema.getType('Query')); // throws an error
399
+ * ```
400
+ */
401
+
402
+ export function assertEnumType(type) {
403
+ if (!isEnumType(type)) {
404
+ throw new Error(`Expected ${inspect(type)} to be a GraphQL Enum type.`);
405
+ }
406
+
407
+ return type;
408
+ }
409
+ /**
410
+ * Returns true when the value is a GraphQLInputObjectType.
411
+ * @param type - The GraphQL type to inspect.
412
+ * @returns True when the value is a GraphQLInputObjectType.
413
+ * @example
414
+ * ```ts
415
+ * import { buildSchema } from 'graphql/utilities';
416
+ * import { isInputObjectType } from 'graphql/type';
417
+ *
418
+ * const schema = buildSchema(`
419
+ * input ReviewInput {
420
+ * stars: Int!
421
+ * }
422
+ *
423
+ * type Review {
424
+ * stars: Int!
425
+ * }
426
+ *
427
+ * type Query {
428
+ * review(input: ReviewInput): Review
429
+ * }
430
+ * `);
431
+ *
432
+ * isInputObjectType(schema.getType('ReviewInput')); // => true
433
+ * isInputObjectType(schema.getType('Review')); // => false
434
+ * ```
435
+ */
436
+
437
+ export function isInputObjectType(type) {
438
+ return instanceOf(type, GraphQLInputObjectType);
439
+ }
440
+ /**
441
+ * Returns the value as a GraphQLInputObjectType, or throws if it is not one.
442
+ * @param type - The GraphQL type to inspect.
443
+ * @returns The value typed as a GraphQLInputObjectType.
444
+ * @example
445
+ * ```ts
446
+ * import { buildSchema } from 'graphql/utilities';
447
+ * import { assertInputObjectType } from 'graphql/type';
448
+ *
449
+ * const schema = buildSchema(`
450
+ * input ReviewInput {
451
+ * stars: Int!
452
+ * }
453
+ *
454
+ * type Review {
455
+ * stars: Int!
456
+ * }
457
+ *
458
+ * type Query {
459
+ * review(input: ReviewInput): Review
460
+ * }
461
+ * `);
462
+ *
463
+ * const inputType = assertInputObjectType(schema.getType('ReviewInput'));
464
+ *
465
+ * Object.keys(inputType.getFields()); // => ['stars']
466
+ * assertInputObjectType(schema.getType('Review')); // throws an error
467
+ * ```
468
+ */
469
+
470
+ export function assertInputObjectType(type) {
471
+ if (!isInputObjectType(type)) {
472
+ throw new Error(
473
+ `Expected ${inspect(type)} to be a GraphQL Input Object type.`,
474
+ );
475
+ }
476
+
477
+ return type;
478
+ }
479
+ /**
480
+ * Returns true when the value is a GraphQLList.
481
+ * @param type - The GraphQL type to inspect.
482
+ * @returns True when the value is a GraphQLList.
483
+ * @example
484
+ * ```ts
485
+ * import { buildSchema } from 'graphql/utilities';
486
+ * import { GraphQLList, GraphQLString, isListType } from 'graphql/type';
487
+ *
488
+ * const schema = buildSchema(`
489
+ * type Query {
490
+ * tags: [String!]!
491
+ * }
492
+ * `);
493
+ *
494
+ * const tagsField = schema.getQueryType()?.getFields().tags;
495
+ *
496
+ * isListType(new GraphQLList(GraphQLString)); // => true
497
+ * isListType(GraphQLString); // => false
498
+ * isListType(tagsField?.type); // => false
499
+ * ```
500
+ */
501
+
502
+ /** @internal */
503
+ export function isListType(type) {
504
+ return instanceOf(type, GraphQLList);
505
+ }
506
+ /**
507
+ * Returns the value as a GraphQLList, or throws if it is not one.
508
+ * @param type - The GraphQL type to inspect.
509
+ * @returns The value typed as a GraphQLList.
510
+ * @example
511
+ * ```ts
512
+ * import { GraphQLList, GraphQLString, assertListType } from 'graphql/type';
513
+ *
514
+ * const listType = assertListType(new GraphQLList(GraphQLString));
515
+ *
516
+ * listType.ofType; // => GraphQLString
517
+ * assertListType(GraphQLString); // throws an error
518
+ * ```
519
+ */
520
+
521
+ export function assertListType(type) {
522
+ if (!isListType(type)) {
523
+ throw new Error(`Expected ${inspect(type)} to be a GraphQL List type.`);
524
+ }
525
+
526
+ return type;
527
+ }
528
+ /**
529
+ * Returns true when the value is a GraphQLNonNull.
530
+ * @param type - The GraphQL type to inspect.
531
+ * @returns True when the value is a GraphQLNonNull.
532
+ * @example
533
+ * ```ts
534
+ * import { buildSchema } from 'graphql/utilities';
535
+ * import { GraphQLNonNull, GraphQLString, isNonNullType } from 'graphql/type';
536
+ *
537
+ * const schema = buildSchema(`
538
+ * type Query {
539
+ * name: String!
540
+ * nickname: String
541
+ * }
542
+ * `);
543
+ *
544
+ * const fields = schema.getQueryType()?.getFields();
545
+ *
546
+ * isNonNullType(new GraphQLNonNull(GraphQLString)); // => true
547
+ * isNonNullType(fields?.name.type); // => true
548
+ * isNonNullType(fields?.nickname.type); // => false
549
+ * ```
550
+ */
551
+
552
+ /** @internal */
553
+ export function isNonNullType(type) {
554
+ return instanceOf(type, GraphQLNonNull);
555
+ }
556
+ /**
557
+ * Returns the value as a GraphQLNonNull, or throws if it is not one.
558
+ * @param type - The GraphQL type to inspect.
559
+ * @returns The value typed as a GraphQLNonNull.
560
+ * @example
561
+ * ```ts
562
+ * import { GraphQLNonNull, GraphQLString, assertNonNullType } from 'graphql/type';
563
+ *
564
+ * const nonNullType = assertNonNullType(new GraphQLNonNull(GraphQLString));
565
+ *
566
+ * nonNullType.ofType; // => GraphQLString
567
+ * assertNonNullType(GraphQLString); // throws an error
568
+ * ```
569
+ */
570
+
571
+ export function assertNonNullType(type) {
572
+ if (!isNonNullType(type)) {
573
+ throw new Error(`Expected ${inspect(type)} to be a GraphQL Non-Null type.`);
574
+ }
575
+
576
+ return type;
577
+ }
578
+ /** These types may be used as input types for arguments and directives. */
579
+
580
+ /**
581
+ * Returns true when the value can be used as a GraphQL input type.
582
+ * @param type - The GraphQL type to inspect.
583
+ * @returns True when the value can be used as a GraphQL input type.
584
+ * @example
585
+ * ```ts
586
+ * import { buildSchema } from 'graphql/utilities';
587
+ * import { isInputType } from 'graphql/type';
588
+ *
589
+ * const schema = buildSchema(`
590
+ * input ReviewInput {
591
+ * stars: Int!
592
+ * }
593
+ *
594
+ * type Review {
595
+ * stars: Int!
596
+ * }
597
+ *
598
+ * type Query {
599
+ * review(input: ReviewInput): Review
600
+ * }
601
+ * `);
602
+ *
603
+ * isInputType(schema.getType('ReviewInput')); // => true
604
+ * isInputType(schema.getType('Review')); // => false
605
+ * ```
606
+ */
607
+ export function isInputType(type) {
608
+ return (
609
+ isScalarType(type) ||
610
+ isEnumType(type) ||
611
+ isInputObjectType(type) ||
612
+ (isWrappingType(type) && isInputType(type.ofType))
613
+ );
614
+ }
615
+ /**
616
+ * Returns the value as a GraphQL input type, or throws if it is not one.
617
+ * @param type - The GraphQL type to inspect.
618
+ * @returns The value typed as a GraphQL input type.
619
+ * @example
620
+ * ```ts
621
+ * import { buildSchema } from 'graphql/utilities';
622
+ * import { assertInputType } from 'graphql/type';
623
+ *
624
+ * const schema = buildSchema(`
625
+ * input ReviewInput {
626
+ * stars: Int!
627
+ * }
628
+ *
629
+ * type Review {
630
+ * stars: Int!
631
+ * }
632
+ *
633
+ * type Query {
634
+ * review(input: ReviewInput): Review
635
+ * }
636
+ * `);
637
+ *
638
+ * const inputType = assertInputType(schema.getType('ReviewInput'));
639
+ *
640
+ * inputType.toString(); // => 'ReviewInput'
641
+ * assertInputType(schema.getType('Review')); // throws an error
642
+ * ```
643
+ */
644
+
645
+ export function assertInputType(type) {
646
+ if (!isInputType(type)) {
647
+ throw new Error(`Expected ${inspect(type)} to be a GraphQL input type.`);
648
+ }
649
+
650
+ return type;
651
+ }
652
+ /** These types may be used as output types as the result of fields. */
653
+
654
+ /**
655
+ * Returns true when the value can be used as a GraphQL output type.
656
+ * @param type - The GraphQL type to inspect.
657
+ * @returns True when the value can be used as a GraphQL output type.
658
+ * @example
659
+ * ```ts
660
+ * import { buildSchema } from 'graphql/utilities';
661
+ * import { isOutputType } from 'graphql/type';
662
+ *
663
+ * const schema = buildSchema(`
664
+ * input ReviewInput {
665
+ * stars: Int!
666
+ * }
667
+ *
668
+ * type Review {
669
+ * stars: Int!
670
+ * }
671
+ *
672
+ * type Query {
673
+ * review(input: ReviewInput): Review
674
+ * }
675
+ * `);
676
+ *
677
+ * isOutputType(schema.getType('Review')); // => true
678
+ * isOutputType(schema.getType('ReviewInput')); // => false
679
+ * ```
680
+ */
681
+ export function isOutputType(type) {
682
+ return (
683
+ isScalarType(type) ||
684
+ isObjectType(type) ||
685
+ isInterfaceType(type) ||
686
+ isUnionType(type) ||
687
+ isEnumType(type) ||
688
+ (isWrappingType(type) && isOutputType(type.ofType))
689
+ );
690
+ }
691
+ /**
692
+ * Returns the value as a GraphQL output type, or throws if it is not one.
693
+ * @param type - The GraphQL type to inspect.
694
+ * @returns The value typed as a GraphQL output type.
695
+ * @example
696
+ * ```ts
697
+ * import { buildSchema } from 'graphql/utilities';
698
+ * import { assertOutputType } from 'graphql/type';
699
+ *
700
+ * const schema = buildSchema(`
701
+ * input ReviewInput {
702
+ * stars: Int!
703
+ * }
704
+ *
705
+ * type Review {
706
+ * stars: Int!
707
+ * }
708
+ *
709
+ * type Query {
710
+ * review(input: ReviewInput): Review
711
+ * }
712
+ * `);
713
+ *
714
+ * const outputType = assertOutputType(schema.getType('Review'));
715
+ *
716
+ * outputType.toString(); // => 'Review'
717
+ * assertOutputType(schema.getType('ReviewInput')); // throws an error
718
+ * ```
719
+ */
720
+
721
+ export function assertOutputType(type) {
722
+ if (!isOutputType(type)) {
723
+ throw new Error(`Expected ${inspect(type)} to be a GraphQL output type.`);
724
+ }
725
+
726
+ return type;
727
+ }
728
+ /** These types may describe types which may be leaf values. */
729
+
730
+ /**
731
+ * Returns true when the value is a GraphQL scalar or enum type.
732
+ * @param type - The GraphQL type to inspect.
733
+ * @returns True when the value is a GraphQL scalar or enum type.
734
+ * @example
735
+ * ```ts
736
+ * import { buildSchema } from 'graphql/utilities';
737
+ * import { isLeafType } from 'graphql/type';
738
+ *
739
+ * const schema = buildSchema(`
740
+ * enum Episode {
741
+ * NEW_HOPE
742
+ * }
743
+ *
744
+ * type Review {
745
+ * stars: Int!
746
+ * }
747
+ *
748
+ * type Query {
749
+ * episode: Episode
750
+ * review: Review
751
+ * }
752
+ * `);
753
+ *
754
+ * isLeafType(schema.getType('Episode')); // => true
755
+ * isLeafType(schema.getType('String')); // => true
756
+ * isLeafType(schema.getType('Review')); // => false
757
+ * ```
758
+ */
759
+ export function isLeafType(type) {
760
+ return isScalarType(type) || isEnumType(type);
761
+ }
762
+ /**
763
+ * Returns the value as a GraphQL leaf type, or throws if it is not one.
764
+ * @param type - The GraphQL type to inspect.
765
+ * @returns The value typed as a GraphQL leaf type.
766
+ * @example
767
+ * ```ts
768
+ * import { buildSchema } from 'graphql/utilities';
769
+ * import { assertLeafType } from 'graphql/type';
770
+ *
771
+ * const schema = buildSchema(`
772
+ * enum Episode {
773
+ * NEW_HOPE
774
+ * }
775
+ *
776
+ * type Review {
777
+ * stars: Int!
778
+ * }
779
+ *
780
+ * type Query {
781
+ * episode: Episode
782
+ * review: Review
783
+ * }
784
+ * `);
785
+ *
786
+ * const episodeType = assertLeafType(schema.getType('Episode'));
787
+ *
788
+ * episodeType.toString(); // => 'Episode'
789
+ * assertLeafType(schema.getType('Review')); // throws an error
790
+ * ```
791
+ */
792
+
793
+ export function assertLeafType(type) {
794
+ if (!isLeafType(type)) {
795
+ throw new Error(`Expected ${inspect(type)} to be a GraphQL leaf type.`);
796
+ }
797
+
798
+ return type;
799
+ }
800
+ /** These types may describe the parent context of a selection set. */
801
+
802
+ /**
803
+ * Returns true when the value is a GraphQL object, interface, or union type.
804
+ * @param type - The GraphQL type to inspect.
805
+ * @returns True when the value is a GraphQL object, interface, or union type.
806
+ * @example
807
+ * ```ts
808
+ * import { buildSchema } from 'graphql/utilities';
809
+ * import { isCompositeType } from 'graphql/type';
810
+ *
811
+ * const schema = buildSchema(`
812
+ * interface Node {
813
+ * id: ID!
814
+ * }
815
+ *
816
+ * type User implements Node {
817
+ * id: ID!
818
+ * }
819
+ *
820
+ * union SearchResult = User
821
+ *
822
+ * type Query {
823
+ * node: Node
824
+ * search: [SearchResult]
825
+ * }
826
+ * `);
827
+ *
828
+ * isCompositeType(schema.getType('User')); // => true
829
+ * isCompositeType(schema.getType('Node')); // => true
830
+ * isCompositeType(schema.getType('SearchResult')); // => true
831
+ * isCompositeType(schema.getType('String')); // => false
832
+ * ```
833
+ */
834
+ export function isCompositeType(type) {
835
+ return isObjectType(type) || isInterfaceType(type) || isUnionType(type);
836
+ }
837
+ /**
838
+ * Returns the value as a GraphQL composite type, or throws if it is not one.
839
+ * @param type - The GraphQL type to inspect.
840
+ * @returns The value typed as a GraphQL composite type.
841
+ * @example
842
+ * ```ts
843
+ * import { buildSchema } from 'graphql/utilities';
844
+ * import { assertCompositeType } from 'graphql/type';
845
+ *
846
+ * const schema = buildSchema(`
847
+ * interface Node {
848
+ * id: ID!
849
+ * }
850
+ *
851
+ * type User implements Node {
852
+ * id: ID!
853
+ * }
854
+ *
855
+ * type Query {
856
+ * node: Node
857
+ * }
858
+ * `);
859
+ *
860
+ * const userType = assertCompositeType(schema.getType('User'));
861
+ *
862
+ * userType.toString(); // => 'User'
863
+ * assertCompositeType(schema.getType('String')); // throws an error
864
+ * ```
865
+ */
866
+
867
+ export function assertCompositeType(type) {
868
+ if (!isCompositeType(type)) {
869
+ throw new Error(
870
+ `Expected ${inspect(type)} to be a GraphQL composite type.`,
871
+ );
872
+ }
873
+
874
+ return type;
875
+ }
876
+ /** These types may describe the parent context of a selection set. */
877
+
878
+ /**
879
+ * Returns true when the value is a GraphQL interface or union type.
880
+ * @param type - The GraphQL type to inspect.
881
+ * @returns True when the value is a GraphQL interface or union type.
882
+ * @example
883
+ * ```ts
884
+ * import { buildSchema } from 'graphql/utilities';
885
+ * import { isAbstractType } from 'graphql/type';
886
+ *
887
+ * const schema = buildSchema(`
888
+ * interface Node {
889
+ * id: ID!
890
+ * }
891
+ *
892
+ * type User implements Node {
893
+ * id: ID!
894
+ * }
895
+ *
896
+ * union SearchResult = User
897
+ *
898
+ * type Query {
899
+ * node: Node
900
+ * search: [SearchResult]
901
+ * }
902
+ * `);
903
+ *
904
+ * isAbstractType(schema.getType('Node')); // => true
905
+ * isAbstractType(schema.getType('SearchResult')); // => true
906
+ * isAbstractType(schema.getType('User')); // => false
907
+ * ```
908
+ */
909
+ export function isAbstractType(type) {
910
+ return isInterfaceType(type) || isUnionType(type);
911
+ }
912
+ /**
913
+ * Returns the value as a GraphQL abstract type, or throws if it is not one.
914
+ * @param type - The GraphQL type to inspect.
915
+ * @returns The value typed as a GraphQL abstract type.
916
+ * @example
917
+ * ```ts
918
+ * import { buildSchema } from 'graphql/utilities';
919
+ * import { assertAbstractType } from 'graphql/type';
920
+ *
921
+ * const schema = buildSchema(`
922
+ * interface Node {
923
+ * id: ID!
924
+ * }
925
+ *
926
+ * type User implements Node {
927
+ * id: ID!
928
+ * }
929
+ *
930
+ * type Query {
931
+ * node: Node
932
+ * }
933
+ * `);
934
+ *
935
+ * const nodeType = assertAbstractType(schema.getType('Node'));
936
+ *
937
+ * nodeType.toString(); // => 'Node'
938
+ * assertAbstractType(schema.getType('User')); // throws an error
939
+ * ```
940
+ */
941
+
942
+ export function assertAbstractType(type) {
943
+ if (!isAbstractType(type)) {
944
+ throw new Error(`Expected ${inspect(type)} to be a GraphQL abstract type.`);
945
+ }
946
+
947
+ return type;
948
+ }
949
+ /**
950
+ * List Type Wrapper
951
+ *
952
+ * A list is a wrapping type which points to another type.
953
+ * Lists are often created within the context of defining the fields of
954
+ * an object type.
955
+ * @typeParam T - The GraphQL type wrapped by this list type.
956
+ * @example
957
+ * ```ts
958
+ * const PersonType = new GraphQLObjectType({
959
+ * name: 'Person',
960
+ * fields: () => ({
961
+ * parents: { type: new GraphQLList(PersonType) },
962
+ * children: { type: new GraphQLList(PersonType) },
963
+ * })
964
+ * })
965
+ * ```
966
+ */
967
+
968
+ export class GraphQLList {
969
+ /** The type wrapped by this list or non-null type. */
970
+
971
+ /**
972
+ * Creates a GraphQLList instance.
973
+ * @param ofType - The type to wrap.
974
+ * @example
975
+ * ```ts
976
+ * import { GraphQLList, GraphQLString } from 'graphql/type';
977
+ *
978
+ * const stringList = new GraphQLList(GraphQLString);
979
+ *
980
+ * stringList.ofType; // => GraphQLString
981
+ * String(stringList); // => '[String]'
982
+ * ```
983
+ */
984
+ constructor(ofType) {
985
+ isType(ofType) ||
986
+ devAssert(false, `Expected ${inspect(ofType)} to be a GraphQL type.`);
987
+ this.ofType = ofType;
988
+ }
989
+ /**
990
+ * Returns the value used by `Object.prototype.toString`.
991
+ * @returns The built-in string tag for this object.
992
+ */
993
+
994
+ get [Symbol.toStringTag]() {
995
+ return 'GraphQLList';
996
+ }
997
+ /**
998
+ * Returns this wrapping type as a GraphQL type-reference string.
999
+ * @returns The GraphQL type-reference string.
1000
+ * @example
1001
+ * ```ts
1002
+ * import { GraphQLList, GraphQLNonNull, GraphQLString } from 'graphql/type';
1003
+ *
1004
+ * const stringList = new GraphQLList(GraphQLString);
1005
+ * const requiredStringList = new GraphQLList(new GraphQLNonNull(GraphQLString));
1006
+ *
1007
+ * stringList.toString(); // => '[String]'
1008
+ * requiredStringList.toString(); // => '[String!]'
1009
+ * ```
1010
+ */
1011
+
1012
+ toString() {
1013
+ return '[' + String(this.ofType) + ']';
1014
+ }
1015
+ /**
1016
+ * Returns the JSON representation used when this object is serialized.
1017
+ * @returns The JSON-serializable representation.
1018
+ * @example
1019
+ * ```ts
1020
+ * import { GraphQLList, GraphQLString } from 'graphql/type';
1021
+ *
1022
+ * const stringList = new GraphQLList(GraphQLString);
1023
+ *
1024
+ * stringList.toJSON(); // => '[String]'
1025
+ * JSON.stringify({ type: stringList }); // => '{"type":"[String]"}'
1026
+ * ```
1027
+ */
1028
+
1029
+ toJSON() {
1030
+ return this.toString();
1031
+ }
1032
+ }
1033
+ /**
1034
+ * Non-Null Type Wrapper
1035
+ *
1036
+ * A non-null is a wrapping type which points to another type.
1037
+ * Non-null types enforce that their values are never null and can ensure
1038
+ * an error is raised if this ever occurs during a request. It is useful for
1039
+ * fields which you can make a strong guarantee on non-nullability, for example
1040
+ * usually the id field of a database row will never be null.
1041
+ * @typeParam T - The nullable GraphQL type wrapped by this non-null type.
1042
+ * @example
1043
+ * ```ts
1044
+ * const RowType = new GraphQLObjectType({
1045
+ * name: 'Row',
1046
+ * fields: () => ({
1047
+ * id: { type: new GraphQLNonNull(GraphQLString) },
1048
+ * })
1049
+ * })
1050
+ * ```
1051
+ *
1052
+ * Note: the enforcement of non-nullability occurs within the executor.
1053
+ */
1054
+
1055
+ export class GraphQLNonNull {
1056
+ /** The type wrapped by this list or non-null type. */
1057
+
1058
+ /**
1059
+ * Creates a GraphQLNonNull instance.
1060
+ * @param ofType - The type to wrap.
1061
+ * @example
1062
+ * ```ts
1063
+ * import { GraphQLNonNull, GraphQLString } from 'graphql/type';
1064
+ *
1065
+ * const requiredString = new GraphQLNonNull(GraphQLString);
1066
+ *
1067
+ * requiredString.ofType; // => GraphQLString
1068
+ * String(requiredString); // => 'String!'
1069
+ * ```
1070
+ */
1071
+ constructor(ofType) {
1072
+ isNullableType(ofType) ||
1073
+ devAssert(
1074
+ false,
1075
+ `Expected ${inspect(ofType)} to be a GraphQL nullable type.`,
1076
+ );
1077
+ this.ofType = ofType;
1078
+ }
1079
+ /**
1080
+ * Returns the value used by `Object.prototype.toString`.
1081
+ * @returns The built-in string tag for this object.
1082
+ */
1083
+
1084
+ get [Symbol.toStringTag]() {
1085
+ return 'GraphQLNonNull';
1086
+ }
1087
+ /**
1088
+ * Returns this wrapping type as a GraphQL type-reference string.
1089
+ * @returns The GraphQL type-reference string.
1090
+ * @example
1091
+ * ```ts
1092
+ * import { GraphQLList, GraphQLNonNull, GraphQLString } from 'graphql/type';
1093
+ *
1094
+ * const requiredString = new GraphQLNonNull(GraphQLString);
1095
+ * const requiredStringList = new GraphQLNonNull(
1096
+ * new GraphQLList(GraphQLString),
1097
+ * );
1098
+ *
1099
+ * requiredString.toString(); // => 'String!'
1100
+ * requiredStringList.toString(); // => '[String]!'
1101
+ * ```
1102
+ */
1103
+
1104
+ toString() {
1105
+ return String(this.ofType) + '!';
1106
+ }
1107
+ /**
1108
+ * Returns the JSON representation used when this object is serialized.
1109
+ * @returns The JSON-serializable representation.
1110
+ * @example
1111
+ * ```ts
1112
+ * import { GraphQLNonNull, GraphQLString } from 'graphql/type';
1113
+ *
1114
+ * const requiredString = new GraphQLNonNull(GraphQLString);
1115
+ *
1116
+ * requiredString.toJSON(); // => 'String!'
1117
+ * JSON.stringify({ type: requiredString }); // => '{"type":"String!"}'
1118
+ * ```
1119
+ */
1120
+
1121
+ toJSON() {
1122
+ return this.toString();
1123
+ }
1124
+ }
1125
+ /** These types wrap and modify other types */
1126
+
1127
+ /**
1128
+ * Returns true when the value is a GraphQL list or non-null wrapper type.
1129
+ * @param type - The GraphQL type to inspect.
1130
+ * @returns True when the value is a GraphQL list or non-null wrapper type.
1131
+ * @example
1132
+ * ```ts
1133
+ * import {
1134
+ * GraphQLList,
1135
+ * GraphQLNonNull,
1136
+ * GraphQLString,
1137
+ * isWrappingType,
1138
+ * } from 'graphql/type';
1139
+ *
1140
+ * isWrappingType(new GraphQLList(GraphQLString)); // => true
1141
+ * isWrappingType(new GraphQLNonNull(GraphQLString)); // => true
1142
+ * isWrappingType(GraphQLString); // => false
1143
+ * ```
1144
+ */
1145
+ export function isWrappingType(type) {
1146
+ return isListType(type) || isNonNullType(type);
1147
+ }
1148
+ /**
1149
+ * Returns the value as a GraphQL wrapping type, or throws if it is not one.
1150
+ * @param type - The GraphQL type to inspect.
1151
+ * @returns The value typed as a GraphQL wrapping type.
1152
+ * @example
1153
+ * ```ts
1154
+ * import { GraphQLList, GraphQLString, assertWrappingType } from 'graphql/type';
1155
+ *
1156
+ * const wrappingType = assertWrappingType(new GraphQLList(GraphQLString));
1157
+ *
1158
+ * wrappingType.toString(); // => '[String]'
1159
+ * assertWrappingType(GraphQLString); // throws an error
1160
+ * ```
1161
+ */
1162
+
1163
+ export function assertWrappingType(type) {
1164
+ if (!isWrappingType(type)) {
1165
+ throw new Error(`Expected ${inspect(type)} to be a GraphQL wrapping type.`);
1166
+ }
1167
+
1168
+ return type;
1169
+ }
1170
+ /** These types can all accept null as a value. */
1171
+
1172
+ /**
1173
+ * Returns true when the value is a GraphQL type that can accept null.
1174
+ * @param type - The GraphQL type to inspect.
1175
+ * @returns True when the value is a GraphQL type that can accept null.
1176
+ * @example
1177
+ * ```ts
1178
+ * import { GraphQLNonNull, GraphQLString, isNullableType } from 'graphql/type';
1179
+ *
1180
+ * isNullableType(GraphQLString); // => true
1181
+ * isNullableType(new GraphQLNonNull(GraphQLString)); // => false
1182
+ * isNullableType(null); // => false
1183
+ * ```
1184
+ */
1185
+ export function isNullableType(type) {
1186
+ return isType(type) && !isNonNullType(type);
1187
+ }
1188
+ /**
1189
+ * Returns the value as a nullable GraphQL type, or throws if it is not one.
1190
+ * @param type - The GraphQL type to inspect.
1191
+ * @returns The value typed as a nullable GraphQL type.
1192
+ * @example
1193
+ * ```ts
1194
+ * import {
1195
+ * GraphQLNonNull,
1196
+ * GraphQLString,
1197
+ * assertNullableType,
1198
+ * } from 'graphql/type';
1199
+ *
1200
+ * const nullableType = assertNullableType(GraphQLString);
1201
+ *
1202
+ * nullableType; // => GraphQLString
1203
+ * assertNullableType(new GraphQLNonNull(GraphQLString)); // throws an error
1204
+ * ```
1205
+ */
1206
+
1207
+ export function assertNullableType(type) {
1208
+ if (!isNullableType(type)) {
1209
+ throw new Error(`Expected ${inspect(type)} to be a GraphQL nullable type.`);
1210
+ }
1211
+
1212
+ return type;
1213
+ }
1214
+ /**
1215
+ * Returns the nullable type.
1216
+ * @param type - The GraphQL type to inspect.
1217
+ * @returns The nullable type after removing one non-null wrapper, if present.
1218
+ * @example
1219
+ * ```ts
1220
+ * import { getNullableType } from 'graphql/type';
1221
+ *
1222
+ * getNullableType(null); // => undefined
1223
+ * getNullableType(undefined); // => undefined
1224
+ * ```
1225
+ */
1226
+
1227
+ /** @internal */
1228
+ export function getNullableType(type) {
1229
+ if (type) {
1230
+ return isNonNullType(type) ? type.ofType : type;
1231
+ }
1232
+ }
1233
+ /** These named types do not include modifiers like List or NonNull. */
1234
+
1235
+ /**
1236
+ * Returns true when the value is a GraphQL named type.
1237
+ * @param type - The GraphQL type to inspect.
1238
+ * @returns True when the value is a GraphQL named type.
1239
+ * @example
1240
+ * ```ts
1241
+ * import { GraphQLList, GraphQLString, isNamedType } from 'graphql/type';
1242
+ *
1243
+ * isNamedType(GraphQLString); // => true
1244
+ * isNamedType(new GraphQLList(GraphQLString)); // => false
1245
+ * isNamedType(null); // => false
1246
+ * ```
1247
+ */
1248
+ export function isNamedType(type) {
1249
+ return (
1250
+ isScalarType(type) ||
1251
+ isObjectType(type) ||
1252
+ isInterfaceType(type) ||
1253
+ isUnionType(type) ||
1254
+ isEnumType(type) ||
1255
+ isInputObjectType(type)
1256
+ );
1257
+ }
1258
+ /**
1259
+ * Returns the value as a GraphQL named type, or throws if it is not one.
1260
+ * @param type - The GraphQL type to inspect.
1261
+ * @returns The value typed as a GraphQL named type.
1262
+ * @example
1263
+ * ```ts
1264
+ * import { GraphQLList, GraphQLString, assertNamedType } from 'graphql/type';
1265
+ *
1266
+ * const namedType = assertNamedType(GraphQLString);
1267
+ *
1268
+ * namedType.name; // => 'String'
1269
+ * assertNamedType(new GraphQLList(GraphQLString)); // throws an error
1270
+ * ```
1271
+ */
1272
+
1273
+ export function assertNamedType(type) {
1274
+ if (!isNamedType(type)) {
1275
+ throw new Error(`Expected ${inspect(type)} to be a GraphQL named type.`);
1276
+ }
1277
+
1278
+ return type;
1279
+ }
1280
+ /**
1281
+ * Returns the named type.
1282
+ * @param type - The GraphQL type to inspect.
1283
+ * @returns The named type after unwrapping all list and non-null wrappers.
1284
+ * @example
1285
+ * ```ts
1286
+ * import { getNamedType } from 'graphql/type';
1287
+ *
1288
+ * getNamedType(null); // => undefined
1289
+ * getNamedType(undefined); // => undefined
1290
+ * ```
1291
+ */
1292
+
1293
+ /** @internal */
1294
+ export function getNamedType(type) {
1295
+ if (type) {
1296
+ let unwrappedType = type;
1297
+
1298
+ while (isWrappingType(unwrappedType)) {
1299
+ unwrappedType = unwrappedType.ofType;
1300
+ }
1301
+
1302
+ return unwrappedType;
1303
+ }
1304
+ }
1305
+ /**
1306
+ * Used while defining GraphQL types to allow for circular references in
1307
+ * otherwise immutable type definitions.
1308
+ * @typeParam T - The element type returned by the thunk or array.
1309
+ */
1310
+
1311
+ /**
1312
+ * Resolves a thunked readonly array.
1313
+ * @param thunk - The thunk or value to resolve.
1314
+ * @returns The resolved readonly array.
1315
+ * @typeParam T - The element type resolved from the thunk or array.
1316
+ * @example
1317
+ * ```ts
1318
+ * import { GraphQLString, resolveReadonlyArrayThunk } from 'graphql/type';
1319
+ *
1320
+ * const lazyFields = resolveReadonlyArrayThunk(() => [GraphQLString]);
1321
+ * const fields = resolveReadonlyArrayThunk([GraphQLString]);
1322
+ *
1323
+ * lazyFields; // => [GraphQLString]
1324
+ * fields; // => [GraphQLString]
1325
+ * ```
1326
+ */
1327
+ export function resolveReadonlyArrayThunk(thunk) {
1328
+ return typeof thunk === 'function' ? thunk() : thunk;
1329
+ }
1330
+ /**
1331
+ * Resolves a thunked object map.
1332
+ * @param thunk - The thunk or value to resolve.
1333
+ * @returns The resolved object map.
1334
+ * @typeParam T - The object-map value type resolved from the thunk or map.
1335
+ * @example
1336
+ * ```ts
1337
+ * import { GraphQLString, resolveObjMapThunk } from 'graphql/type';
1338
+ *
1339
+ * const lazyFields = resolveObjMapThunk(() => ({ name: GraphQLString }));
1340
+ * const fields = resolveObjMapThunk({ name: GraphQLString });
1341
+ *
1342
+ * lazyFields.name; // => GraphQLString
1343
+ * fields.name; // => GraphQLString
1344
+ * ```
1345
+ */
1346
+
1347
+ export function resolveObjMapThunk(thunk) {
1348
+ return typeof thunk === 'function' ? thunk() : thunk;
1349
+ }
1350
+ /**
1351
+ * Custom extensions
1352
+ * @remarks
1353
+ * Use a unique identifier name for your extension, for example the name of
1354
+ * your library or project. Do not use a shortened identifier as this increases
1355
+ * the risk of conflicts. We recommend you add at most one extension field,
1356
+ * an object which can contain all the values you need.
1357
+ */
1358
+
1359
+ /**
1360
+ * Scalar Type Definition
1361
+ *
1362
+ * Scalar types define the leaf values of a GraphQL response and the input
1363
+ * values accepted by arguments and input object fields. A scalar type has a
1364
+ * name and coercion functions that validate and convert runtime values and
1365
+ * GraphQL literals.
1366
+ *
1367
+ * If a type's serialize function returns `null` or does not return a value
1368
+ * (i.e. it returns `undefined`) then an error will be raised and a `null`
1369
+ * value will be returned in the response. Prefer validating inputs before
1370
+ * execution so clients receive input diagnostics before result coercion fails.
1371
+ * @typeParam TInternal - The internal runtime representation accepted by this scalar.
1372
+ * @typeParam TExternal - The serialized representation exposed in GraphQL results.
1373
+ * @example
1374
+ * ```ts
1375
+ * const OddType = new GraphQLScalarType({
1376
+ * name: 'Odd',
1377
+ * serialize: (value) => {
1378
+ * if (!Number.isFinite(value)) {
1379
+ * throw new Error(
1380
+ * `Scalar "Odd" cannot represent "${value}" since it is not a finite number.`,
1381
+ * );
1382
+ * }
1383
+ *
1384
+ * if (value % 2 === 0) {
1385
+ * throw new Error(`Scalar "Odd" cannot represent "${value}" since it is even.`);
1386
+ * }
1387
+ * return value;
1388
+ * }
1389
+ * });
1390
+ * ```
1391
+ */
1392
+ export class GraphQLScalarType {
1393
+ /** The GraphQL name for this schema element. */
1394
+
1395
+ /** Human-readable description for this schema element, if provided. */
1396
+
1397
+ /** URL identifying the behavior specified for this custom scalar. */
1398
+
1399
+ /** Function that converts internal values to externally visible scalar values. */
1400
+
1401
+ /** Function that converts variable input into this scalar's internal value. */
1402
+
1403
+ /** Function that converts AST input literals into this scalar's internal value. */
1404
+
1405
+ /** Custom extension fields reserved for users. */
1406
+
1407
+ /** AST node from which this schema element was built, if available. */
1408
+
1409
+ /** AST extension nodes applied to this schema element. */
1410
+
1411
+ /**
1412
+ * Creates a GraphQLScalarType instance.
1413
+ * @param config - Configuration describing this object.
1414
+ * @example
1415
+ * ```ts
1416
+ * import { Kind, parse } from 'graphql/language';
1417
+ * import { GraphQLScalarType } from 'graphql/type';
1418
+ *
1419
+ * const document = parse(`
1420
+ * "Odd integer values."
1421
+ * scalar Odd @specifiedBy(url: "https://example.com/odd")
1422
+ *
1423
+ * extend scalar Odd @specifiedBy(url: "https://example.com/odd-v2")
1424
+ * `);
1425
+ *
1426
+ * const Odd = new GraphQLScalarType({
1427
+ * name: 'Odd',
1428
+ * description: 'Odd integer values.',
1429
+ * specifiedByURL: 'https://example.com/odd',
1430
+ * serialize: (value) => {
1431
+ * if (typeof value !== 'number' || value % 2 === 0) {
1432
+ * throw new TypeError('Odd can only serialize odd numbers.');
1433
+ * }
1434
+ * return value;
1435
+ * },
1436
+ * parseValue: (value) => {
1437
+ * if (typeof value !== 'number' || value % 2 === 0) {
1438
+ * throw new TypeError('Odd can only parse odd numbers.');
1439
+ * }
1440
+ * return value;
1441
+ * },
1442
+ * parseLiteral: (ast) => {
1443
+ * if (ast.kind !== Kind.INT) {
1444
+ * throw new TypeError('Odd can only parse integer literals.');
1445
+ * }
1446
+ * const value = Number(ast.value);
1447
+ * if (value % 2 === 0) {
1448
+ * throw new TypeError('Odd can only parse odd integer literals.');
1449
+ * }
1450
+ * return value;
1451
+ * },
1452
+ * extensions: { numeric: true },
1453
+ * astNode: document.definitions[0],
1454
+ * extensionASTNodes: [ document.definitions[1] ],
1455
+ * });
1456
+ *
1457
+ * Odd.description; // => 'Odd integer values.'
1458
+ * Odd.specifiedByURL; // => 'https://example.com/odd'
1459
+ * Odd.serialize(3); // => 3
1460
+ * Odd.parseValue(5); // => 5
1461
+ * Odd.extensions; // => { numeric: true }
1462
+ * ```
1463
+ */
1464
+ constructor(config) {
1465
+ var _config$parseValue,
1466
+ _config$serialize,
1467
+ _config$parseLiteral,
1468
+ _config$extensionASTN;
1469
+
1470
+ const parseValue =
1471
+ (_config$parseValue = config.parseValue) !== null &&
1472
+ _config$parseValue !== void 0
1473
+ ? _config$parseValue
1474
+ : identityFunc;
1475
+ this.name = assertName(config.name);
1476
+ this.description = config.description;
1477
+ this.specifiedByURL = config.specifiedByURL;
1478
+ this.serialize =
1479
+ (_config$serialize = config.serialize) !== null &&
1480
+ _config$serialize !== void 0
1481
+ ? _config$serialize
1482
+ : identityFunc;
1483
+ this.parseValue = parseValue;
1484
+ this.parseLiteral =
1485
+ (_config$parseLiteral = config.parseLiteral) !== null &&
1486
+ _config$parseLiteral !== void 0
1487
+ ? _config$parseLiteral
1488
+ : (node, variables) => parseValue(valueFromASTUntyped(node, variables));
1489
+ this.extensions = toObjMap(config.extensions);
1490
+ this.astNode = config.astNode;
1491
+ this.extensionASTNodes =
1492
+ (_config$extensionASTN = config.extensionASTNodes) !== null &&
1493
+ _config$extensionASTN !== void 0
1494
+ ? _config$extensionASTN
1495
+ : [];
1496
+ config.specifiedByURL == null ||
1497
+ typeof config.specifiedByURL === 'string' ||
1498
+ devAssert(
1499
+ false,
1500
+ `${this.name} must provide "specifiedByURL" as a string, ` +
1501
+ `but got: ${inspect(config.specifiedByURL)}.`,
1502
+ );
1503
+ config.serialize == null ||
1504
+ typeof config.serialize === 'function' ||
1505
+ devAssert(
1506
+ false,
1507
+ `${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`,
1508
+ );
1509
+
1510
+ if (config.parseLiteral) {
1511
+ (typeof config.parseValue === 'function' &&
1512
+ typeof config.parseLiteral === 'function') ||
1513
+ devAssert(
1514
+ false,
1515
+ `${this.name} must provide both "parseValue" and "parseLiteral" functions.`,
1516
+ );
1517
+ }
1518
+ }
1519
+ /**
1520
+ * Returns the value used by `Object.prototype.toString`.
1521
+ * @returns The built-in string tag for this object.
1522
+ */
1523
+
1524
+ get [Symbol.toStringTag]() {
1525
+ return 'GraphQLScalarType';
1526
+ }
1527
+ /**
1528
+ * Returns a normalized configuration object for this object.
1529
+ * @returns A configuration object that can be used to recreate this object.
1530
+ * @example
1531
+ * ```ts
1532
+ * import { GraphQLScalarType } from 'graphql/type';
1533
+ *
1534
+ * const Url = new GraphQLScalarType({
1535
+ * name: 'Url',
1536
+ * description: 'An absolute URL string.',
1537
+ * specifiedByURL: 'https://url.spec.whatwg.org/',
1538
+ * });
1539
+ *
1540
+ * const config = Url.toConfig();
1541
+ * const UrlCopy = new GraphQLScalarType(config);
1542
+ *
1543
+ * config.name; // => 'Url'
1544
+ * config.specifiedByURL; // => 'https://url.spec.whatwg.org/'
1545
+ * UrlCopy.name; // => Url.name
1546
+ * ```
1547
+ */
1548
+
1549
+ toConfig() {
1550
+ return {
1551
+ name: this.name,
1552
+ description: this.description,
1553
+ specifiedByURL: this.specifiedByURL,
1554
+ serialize: this.serialize,
1555
+ parseValue: this.parseValue,
1556
+ parseLiteral: this.parseLiteral,
1557
+ extensions: this.extensions,
1558
+ astNode: this.astNode,
1559
+ extensionASTNodes: this.extensionASTNodes,
1560
+ };
1561
+ }
1562
+ /**
1563
+ * Returns the schema coordinate identifying this scalar type.
1564
+ * @returns The schema coordinate for this scalar type.
1565
+ * @example
1566
+ * ```ts
1567
+ * import { GraphQLScalarType } from 'graphql/type';
1568
+ *
1569
+ * const DateTime = new GraphQLScalarType({ name: 'DateTime' });
1570
+ *
1571
+ * DateTime.toString(); // => 'DateTime'
1572
+ * String(DateTime); // => 'DateTime'
1573
+ * ```
1574
+ */
1575
+
1576
+ toString() {
1577
+ return this.name;
1578
+ }
1579
+ /**
1580
+ * Returns the JSON representation used when this object is serialized.
1581
+ * @returns The JSON-serializable representation.
1582
+ * @example
1583
+ * ```ts
1584
+ * import { GraphQLScalarType } from 'graphql/type';
1585
+ *
1586
+ * const DateTime = new GraphQLScalarType({ name: 'DateTime' });
1587
+ *
1588
+ * DateTime.toJSON(); // => 'DateTime'
1589
+ * JSON.stringify({ type: DateTime }); // => '{"type":"DateTime"}'
1590
+ * ```
1591
+ */
1592
+
1593
+ toJSON() {
1594
+ return this.toString();
1595
+ }
1596
+ }
1597
+ /**
1598
+ * Serializes a runtime value as a scalar output value.
1599
+ * @typeParam TExternal - The serialized representation returned for GraphQL results.
1600
+ */
1601
+
1602
+ /**
1603
+ * Object Type Definition
1604
+ *
1605
+ * Almost all of the GraphQL types you define will be object types. Object types
1606
+ * have a name, but most importantly describe their fields.
1607
+ * @typeParam TSource - Source object type passed to resolvers.
1608
+ * @typeParam TContext - Context object type passed to resolvers.
1609
+ * @example
1610
+ * ```ts
1611
+ * const AddressType = new GraphQLObjectType({
1612
+ * name: 'Address',
1613
+ * fields: {
1614
+ * street: { type: GraphQLString },
1615
+ * number: { type: GraphQLInt },
1616
+ * formatted: {
1617
+ * type: GraphQLString,
1618
+ * resolve: (obj) => {
1619
+ * return obj.number + ' ' + obj.street
1620
+ * }
1621
+ * }
1622
+ * }
1623
+ * });
1624
+ * ```
1625
+ * @example
1626
+ * When two types need to refer to each other, or a type needs to refer to
1627
+ * itself in a field, you can use a function expression (aka a closure or a
1628
+ * thunk) to supply the fields lazily.
1629
+ *
1630
+ * ```ts
1631
+ * const PersonType = new GraphQLObjectType({
1632
+ * name: 'Person',
1633
+ * fields: () => ({
1634
+ * name: { type: GraphQLString },
1635
+ * bestFriend: { type: PersonType },
1636
+ * })
1637
+ * });
1638
+ * ```
1639
+ */
1640
+ export class GraphQLObjectType {
1641
+ /** The GraphQL name for this schema element. */
1642
+
1643
+ /** Human-readable description for this schema element, if provided. */
1644
+
1645
+ /** Predicate used to determine whether a runtime value belongs to this object type. */
1646
+
1647
+ /** Custom extension fields reserved for users. */
1648
+
1649
+ /** AST node from which this schema element was built, if available. */
1650
+
1651
+ /** AST extension nodes applied to this schema element. */
1652
+
1653
+ /**
1654
+ * Creates a GraphQLObjectType instance.
1655
+ * @param config - Configuration describing this object.
1656
+ * @example
1657
+ * ```ts
1658
+ * // Configure an object type with interfaces, fields, arguments, and metadata.
1659
+ * import { parse } from 'graphql/language';
1660
+ * import {
1661
+ * GraphQLID,
1662
+ * GraphQLInterfaceType,
1663
+ * GraphQLNonNull,
1664
+ * GraphQLObjectType,
1665
+ * GraphQLString,
1666
+ * } from 'graphql/type';
1667
+ *
1668
+ * const document = parse(`
1669
+ * type User implements Node {
1670
+ * id: ID!
1671
+ * name(format: String = "short"): String
1672
+ * }
1673
+ *
1674
+ * extend type User {
1675
+ * displayName: String
1676
+ * }
1677
+ * `);
1678
+ * const definition = document.definitions[0];
1679
+ * const nameField = definition.fields[1];
1680
+ * const formatArg = nameField.arguments[0];
1681
+ *
1682
+ * const Node = new GraphQLInterfaceType({
1683
+ * name: 'Node',
1684
+ * fields: {
1685
+ * id: { type: new GraphQLNonNull(GraphQLID) },
1686
+ * },
1687
+ * });
1688
+ *
1689
+ * const User = new GraphQLObjectType({
1690
+ * name: 'User',
1691
+ * description: 'A registered user.',
1692
+ * interfaces: [Node],
1693
+ * fields: {
1694
+ * id: { type: new GraphQLNonNull(GraphQLID) },
1695
+ * name: {
1696
+ * description: 'The formatted user name.',
1697
+ * type: GraphQLString,
1698
+ * args: {
1699
+ * format: {
1700
+ * description: 'Controls the name format.',
1701
+ * type: GraphQLString,
1702
+ * defaultValue: 'short',
1703
+ * deprecationReason: 'Use locale instead.',
1704
+ * extensions: { public: true },
1705
+ * astNode: formatArg,
1706
+ * },
1707
+ * },
1708
+ * resolve: (user, { format }) => {
1709
+ * return format === 'long' ? user.fullName : user.name;
1710
+ * },
1711
+ * deprecationReason: 'Use displayName.',
1712
+ * extensions: { cacheSeconds: 60 },
1713
+ * astNode: nameField,
1714
+ * },
1715
+ * },
1716
+ * isTypeOf: (value) => {
1717
+ * return typeof value === 'object' && value != null && 'id' in value;
1718
+ * },
1719
+ * extensions: { entity: 'User' },
1720
+ * astNode: definition,
1721
+ * extensionASTNodes: [ document.definitions[1] ],
1722
+ * });
1723
+ *
1724
+ * User.name; // => 'User'
1725
+ * User.getInterfaces(); // => [Node]
1726
+ * Object.keys(User.getFields()); // => ['id', 'name']
1727
+ * User.getFields().name.args[0].defaultValue; // => 'short'
1728
+ * User.extensions; // => { entity: 'User' }
1729
+ * ```
1730
+ * @example
1731
+ * ```ts
1732
+ * // This variant configures a subscription field with subscribe and resolve functions.
1733
+ * import { GraphQLObjectType, GraphQLString } from 'graphql/type';
1734
+ *
1735
+ * const Subscription = new GraphQLObjectType({
1736
+ * name: 'Subscription',
1737
+ * fields: {
1738
+ * greeting: {
1739
+ * type: GraphQLString,
1740
+ * subscribe: async function* () {
1741
+ * yield { greeting: 'Hello!' };
1742
+ * },
1743
+ * resolve: (event) => {
1744
+ * return event.greeting;
1745
+ * },
1746
+ * },
1747
+ * },
1748
+ * });
1749
+ *
1750
+ * typeof Subscription.getFields().greeting.subscribe; // => 'function'
1751
+ * ```
1752
+ */
1753
+ constructor(config) {
1754
+ var _config$extensionASTN2;
1755
+
1756
+ this.name = assertName(config.name);
1757
+ this.description = config.description;
1758
+ this.isTypeOf = config.isTypeOf;
1759
+ this.extensions = toObjMap(config.extensions);
1760
+ this.astNode = config.astNode;
1761
+ this.extensionASTNodes =
1762
+ (_config$extensionASTN2 = config.extensionASTNodes) !== null &&
1763
+ _config$extensionASTN2 !== void 0
1764
+ ? _config$extensionASTN2
1765
+ : [];
1766
+
1767
+ this._fields = () => defineFieldMap(config);
1768
+
1769
+ this._interfaces = () => defineInterfaces(config);
1770
+
1771
+ config.isTypeOf == null ||
1772
+ typeof config.isTypeOf === 'function' ||
1773
+ devAssert(
1774
+ false,
1775
+ `${this.name} must provide "isTypeOf" as a function, ` +
1776
+ `but got: ${inspect(config.isTypeOf)}.`,
1777
+ );
1778
+ }
1779
+ /**
1780
+ * Returns the value used by `Object.prototype.toString`.
1781
+ * @returns The built-in string tag for this object.
1782
+ */
1783
+
1784
+ get [Symbol.toStringTag]() {
1785
+ return 'GraphQLObjectType';
1786
+ }
1787
+ /**
1788
+ * Returns the fields defined by this type.
1789
+ * @returns The fields keyed by field name.
1790
+ * @example
1791
+ * ```ts
1792
+ * import { buildSchema } from 'graphql/utilities';
1793
+ * import { assertObjectType } from 'graphql/type';
1794
+ *
1795
+ * const schema = buildSchema(`
1796
+ * type User {
1797
+ * id: ID!
1798
+ * name: String
1799
+ * }
1800
+ *
1801
+ * type Query {
1802
+ * viewer: User
1803
+ * }
1804
+ * `);
1805
+ *
1806
+ * const User = assertObjectType(schema.getType('User'));
1807
+ * const fields = User.getFields();
1808
+ *
1809
+ * Object.keys(fields); // => ['id', 'name']
1810
+ * String(fields.id.type); // => 'ID!'
1811
+ * ```
1812
+ */
1813
+
1814
+ getFields() {
1815
+ if (typeof this._fields === 'function') {
1816
+ this._fields = this._fields();
1817
+ }
1818
+
1819
+ return this._fields;
1820
+ }
1821
+ /**
1822
+ * Returns the interfaces implemented by this type.
1823
+ * @returns The implemented interfaces.
1824
+ * @example
1825
+ * ```ts
1826
+ * import { buildSchema } from 'graphql/utilities';
1827
+ * import { assertObjectType } from 'graphql/type';
1828
+ *
1829
+ * const schema = buildSchema(`
1830
+ * interface Node {
1831
+ * id: ID!
1832
+ * }
1833
+ *
1834
+ * type User implements Node {
1835
+ * id: ID!
1836
+ * }
1837
+ *
1838
+ * type Query {
1839
+ * viewer: User
1840
+ * }
1841
+ * `);
1842
+ *
1843
+ * const User = assertObjectType(schema.getType('User'));
1844
+ *
1845
+ * User.getInterfaces().map((type) => type.name); // => ['Node']
1846
+ * ```
1847
+ */
1848
+
1849
+ getInterfaces() {
1850
+ if (typeof this._interfaces === 'function') {
1851
+ this._interfaces = this._interfaces();
1852
+ }
1853
+
1854
+ return this._interfaces;
1855
+ }
1856
+ /**
1857
+ * Returns a normalized configuration object for this object.
1858
+ * @returns A configuration object that can be used to recreate this object.
1859
+ * @example
1860
+ * ```ts
1861
+ * import { GraphQLObjectType, GraphQLString } from 'graphql/type';
1862
+ *
1863
+ * const User = new GraphQLObjectType({
1864
+ * name: 'User',
1865
+ * fields: {
1866
+ * name: { type: GraphQLString },
1867
+ * },
1868
+ * });
1869
+ *
1870
+ * const config = User.toConfig();
1871
+ * const UserCopy = new GraphQLObjectType(config);
1872
+ *
1873
+ * config.fields.name.type; // => GraphQLString
1874
+ * UserCopy.getFields().name.type; // => GraphQLString
1875
+ * ```
1876
+ */
1877
+
1878
+ toConfig() {
1879
+ return {
1880
+ name: this.name,
1881
+ description: this.description,
1882
+ interfaces: this.getInterfaces(),
1883
+ fields: fieldsToFieldsConfig(this.getFields()),
1884
+ isTypeOf: this.isTypeOf,
1885
+ extensions: this.extensions,
1886
+ astNode: this.astNode,
1887
+ extensionASTNodes: this.extensionASTNodes,
1888
+ };
1889
+ }
1890
+ /**
1891
+ * Returns the schema coordinate identifying this object type.
1892
+ * @returns The schema coordinate for this object type.
1893
+ * @example
1894
+ * ```ts
1895
+ * import { buildSchema } from 'graphql/utilities';
1896
+ * import { assertObjectType } from 'graphql/type';
1897
+ *
1898
+ * const schema = buildSchema(`
1899
+ * type User {
1900
+ * name: String
1901
+ * }
1902
+ *
1903
+ * type Query {
1904
+ * viewer: User
1905
+ * }
1906
+ * `);
1907
+ *
1908
+ * const User = assertObjectType(schema.getType('User'));
1909
+ *
1910
+ * User.toString(); // => 'User'
1911
+ * ```
1912
+ */
1913
+
1914
+ toString() {
1915
+ return this.name;
1916
+ }
1917
+ /**
1918
+ * Returns the JSON representation used when this object is serialized.
1919
+ * @returns The JSON-serializable representation.
1920
+ * @example
1921
+ * ```ts
1922
+ * import { GraphQLObjectType, GraphQLString } from 'graphql/type';
1923
+ *
1924
+ * const User = new GraphQLObjectType({
1925
+ * name: 'User',
1926
+ * fields: { name: { type: GraphQLString } },
1927
+ * });
1928
+ *
1929
+ * User.toJSON(); // => 'User'
1930
+ * JSON.stringify({ type: User }); // => '{"type":"User"}'
1931
+ * ```
1932
+ */
1933
+
1934
+ toJSON() {
1935
+ return this.toString();
1936
+ }
1937
+ }
1938
+
1939
+ function defineInterfaces(config) {
1940
+ var _config$interfaces;
1941
+
1942
+ const interfaces = resolveReadonlyArrayThunk(
1943
+ (_config$interfaces = config.interfaces) !== null &&
1944
+ _config$interfaces !== void 0
1945
+ ? _config$interfaces
1946
+ : [],
1947
+ );
1948
+ Array.isArray(interfaces) ||
1949
+ devAssert(
1950
+ false,
1951
+ `${config.name} interfaces must be an Array or a function which returns an Array.`,
1952
+ );
1953
+ return interfaces;
1954
+ }
1955
+
1956
+ function defineFieldMap(config) {
1957
+ const fieldMap = resolveObjMapThunk(config.fields);
1958
+ isPlainObj(fieldMap) ||
1959
+ devAssert(
1960
+ false,
1961
+ `${config.name} fields must be an object with field names as keys or a function which returns such an object.`,
1962
+ );
1963
+ return mapValue(fieldMap, (fieldConfig, fieldName) => {
1964
+ var _fieldConfig$args;
1965
+
1966
+ isPlainObj(fieldConfig) ||
1967
+ devAssert(
1968
+ false,
1969
+ `${config.name}.${fieldName} field config must be an object.`,
1970
+ );
1971
+ fieldConfig.resolve == null ||
1972
+ typeof fieldConfig.resolve === 'function' ||
1973
+ devAssert(
1974
+ false,
1975
+ `${config.name}.${fieldName} field resolver must be a function if ` +
1976
+ `provided, but got: ${inspect(fieldConfig.resolve)}.`,
1977
+ );
1978
+ const argsConfig =
1979
+ (_fieldConfig$args = fieldConfig.args) !== null &&
1980
+ _fieldConfig$args !== void 0
1981
+ ? _fieldConfig$args
1982
+ : {};
1983
+ isPlainObj(argsConfig) ||
1984
+ devAssert(
1985
+ false,
1986
+ `${config.name}.${fieldName} args must be an object with argument names as keys.`,
1987
+ );
1988
+ return {
1989
+ name: assertName(fieldName),
1990
+ description: fieldConfig.description,
1991
+ type: fieldConfig.type,
1992
+ args: defineArguments(argsConfig),
1993
+ resolve: fieldConfig.resolve,
1994
+ subscribe: fieldConfig.subscribe,
1995
+ deprecationReason: fieldConfig.deprecationReason,
1996
+ extensions: toObjMap(fieldConfig.extensions),
1997
+ astNode: fieldConfig.astNode,
1998
+ };
1999
+ });
2000
+ }
2001
+ /** @internal */
2002
+
2003
+ export function defineArguments(config) {
2004
+ return Object.entries(config).map(([argName, argConfig]) => ({
2005
+ name: assertName(argName),
2006
+ description: argConfig.description,
2007
+ type: argConfig.type,
2008
+ defaultValue: argConfig.defaultValue,
2009
+ deprecationReason: argConfig.deprecationReason,
2010
+ extensions: toObjMap(argConfig.extensions),
2011
+ astNode: argConfig.astNode,
2012
+ }));
2013
+ }
2014
+
2015
+ function isPlainObj(obj) {
2016
+ return isObjectLike(obj) && !Array.isArray(obj);
2017
+ }
2018
+
2019
+ function fieldsToFieldsConfig(fields) {
2020
+ return mapValue(fields, (field) => ({
2021
+ description: field.description,
2022
+ type: field.type,
2023
+ args: argsToArgsConfig(field.args),
2024
+ resolve: field.resolve,
2025
+ subscribe: field.subscribe,
2026
+ deprecationReason: field.deprecationReason,
2027
+ extensions: field.extensions,
2028
+ astNode: field.astNode,
2029
+ }));
2030
+ }
2031
+ /** @internal */
2032
+
2033
+ export function argsToArgsConfig(args) {
2034
+ return keyValMap(
2035
+ args,
2036
+ (arg) => arg.name,
2037
+ (arg) => ({
2038
+ description: arg.description,
2039
+ type: arg.type,
2040
+ defaultValue: arg.defaultValue,
2041
+ deprecationReason: arg.deprecationReason,
2042
+ extensions: arg.extensions,
2043
+ astNode: arg.astNode,
2044
+ }),
2045
+ );
2046
+ }
2047
+ /**
2048
+ * Configuration used to construct a GraphQLObjectType.
2049
+ * @typeParam TSource - Source object type passed to resolvers.
2050
+ * @typeParam TContext - Context object type passed to resolvers.
2051
+ */
2052
+
2053
+ /**
2054
+ * Returns true when the argument is non-null and has no default value.
2055
+ * @param arg - The argument definition to inspect.
2056
+ * @returns True when the argument is non-null and has no default value.
2057
+ * @example
2058
+ * ```ts
2059
+ * import {
2060
+ * GraphQLInt,
2061
+ * GraphQLNonNull,
2062
+ * GraphQLString,
2063
+ * isRequiredArgument,
2064
+ * } from 'graphql/type';
2065
+ *
2066
+ * const requiredArgument = { name: 'id', type: new GraphQLNonNull(GraphQLInt) };
2067
+ * const optionalArgument = { name: 'name', type: GraphQLString };
2068
+ * const argumentWithDefault = {
2069
+ * name: 'limit',
2070
+ * type: new GraphQLNonNull(GraphQLInt),
2071
+ * defaultValue: 10,
2072
+ * };
2073
+ *
2074
+ * isRequiredArgument(requiredArgument); // => true
2075
+ * isRequiredArgument(optionalArgument); // => false
2076
+ * isRequiredArgument(argumentWithDefault); // => false
2077
+ * ```
2078
+ */
2079
+ export function isRequiredArgument(arg) {
2080
+ return isNonNullType(arg.type) && arg.defaultValue === undefined;
2081
+ }
2082
+ /**
2083
+ * A map of field names to resolved field definitions.
2084
+ * @typeParam TSource - Source object type passed to resolvers.
2085
+ * @typeParam TContext - Context object type passed to resolvers.
2086
+ */
2087
+
2088
+ /**
2089
+ * Interface Type Definition
2090
+ *
2091
+ * When a field can return one of a heterogeneous set of types, a Interface type
2092
+ * is used to describe what types are possible, what fields are in common across
2093
+ * all types, as well as a function to determine which type is actually used
2094
+ * when the field is resolved.
2095
+ * @example
2096
+ * ```ts
2097
+ * const EntityType = new GraphQLInterfaceType({
2098
+ * name: 'Entity',
2099
+ * fields: {
2100
+ * name: { type: GraphQLString }
2101
+ * }
2102
+ * });
2103
+ * ```
2104
+ */
2105
+ export class GraphQLInterfaceType {
2106
+ /** The GraphQL name for this schema element. */
2107
+
2108
+ /** Human-readable description for this schema element, if provided. */
2109
+
2110
+ /** Function that resolves the concrete object type for this abstract type. */
2111
+
2112
+ /** Custom extension fields reserved for users. */
2113
+
2114
+ /** AST node from which this schema element was built, if available. */
2115
+
2116
+ /** AST extension nodes applied to this schema element. */
2117
+
2118
+ /**
2119
+ * Creates a GraphQLInterfaceType instance.
2120
+ * @param config - Configuration describing this object.
2121
+ * @example
2122
+ * ```ts
2123
+ * import { parse } from 'graphql/language';
2124
+ * import { GraphQLID, GraphQLInterfaceType, GraphQLNonNull } from 'graphql/type';
2125
+ *
2126
+ * const document = parse(`
2127
+ * interface Node {
2128
+ * id: ID!
2129
+ * }
2130
+ *
2131
+ * interface Resource implements Node {
2132
+ * id: ID!
2133
+ * }
2134
+ *
2135
+ * extend interface Resource {
2136
+ * url: String
2137
+ * }
2138
+ * `);
2139
+ *
2140
+ * const Node = new GraphQLInterfaceType({
2141
+ * name: 'Node',
2142
+ * fields: {
2143
+ * id: { type: new GraphQLNonNull(GraphQLID) },
2144
+ * },
2145
+ * });
2146
+ *
2147
+ * const Resource = new GraphQLInterfaceType({
2148
+ * name: 'Resource',
2149
+ * description: 'An addressable resource.',
2150
+ * interfaces: [Node],
2151
+ * fields: {
2152
+ * id: { type: new GraphQLNonNull(GraphQLID) },
2153
+ * },
2154
+ * resolveType: (value) => {
2155
+ * return typeof value === 'object' && value != null && 'url' in value
2156
+ * ? 'WebPage'
2157
+ * : null;
2158
+ * },
2159
+ * extensions: { abstract: true },
2160
+ * astNode: document.definitions[1],
2161
+ * extensionASTNodes: [ document.definitions[2] ],
2162
+ * });
2163
+ *
2164
+ * Resource.name; // => 'Resource'
2165
+ * Resource.getInterfaces(); // => [Node]
2166
+ * Object.keys(Resource.getFields()); // => ['id']
2167
+ * Resource.extensions; // => { abstract: true }
2168
+ * ```
2169
+ */
2170
+ constructor(config) {
2171
+ var _config$extensionASTN3;
2172
+
2173
+ this.name = assertName(config.name);
2174
+ this.description = config.description;
2175
+ this.resolveType = config.resolveType;
2176
+ this.extensions = toObjMap(config.extensions);
2177
+ this.astNode = config.astNode;
2178
+ this.extensionASTNodes =
2179
+ (_config$extensionASTN3 = config.extensionASTNodes) !== null &&
2180
+ _config$extensionASTN3 !== void 0
2181
+ ? _config$extensionASTN3
2182
+ : [];
2183
+ this._fields = defineFieldMap.bind(undefined, config);
2184
+ this._interfaces = defineInterfaces.bind(undefined, config);
2185
+ config.resolveType == null ||
2186
+ typeof config.resolveType === 'function' ||
2187
+ devAssert(
2188
+ false,
2189
+ `${this.name} must provide "resolveType" as a function, ` +
2190
+ `but got: ${inspect(config.resolveType)}.`,
2191
+ );
2192
+ }
2193
+ /**
2194
+ * Returns the value used by `Object.prototype.toString`.
2195
+ * @returns The built-in string tag for this object.
2196
+ */
2197
+
2198
+ get [Symbol.toStringTag]() {
2199
+ return 'GraphQLInterfaceType';
2200
+ }
2201
+ /**
2202
+ * Returns the fields defined by this type.
2203
+ * @returns The fields keyed by field name.
2204
+ * @example
2205
+ * ```ts
2206
+ * import { buildSchema } from 'graphql/utilities';
2207
+ * import { assertInterfaceType } from 'graphql/type';
2208
+ *
2209
+ * const schema = buildSchema(`
2210
+ * interface Node {
2211
+ * id: ID!
2212
+ * }
2213
+ *
2214
+ * type User implements Node {
2215
+ * id: ID!
2216
+ * }
2217
+ *
2218
+ * type Query {
2219
+ * node: Node
2220
+ * }
2221
+ * `);
2222
+ *
2223
+ * const Node = assertInterfaceType(schema.getType('Node'));
2224
+ * const fields = Node.getFields();
2225
+ *
2226
+ * Object.keys(fields); // => ['id']
2227
+ * String(fields.id.type); // => 'ID!'
2228
+ * ```
2229
+ */
2230
+
2231
+ getFields() {
2232
+ if (typeof this._fields === 'function') {
2233
+ this._fields = this._fields();
2234
+ }
2235
+
2236
+ return this._fields;
2237
+ }
2238
+ /**
2239
+ * Returns the interfaces implemented by this type.
2240
+ * @returns The implemented interfaces.
2241
+ * @example
2242
+ * ```ts
2243
+ * import { buildSchema } from 'graphql/utilities';
2244
+ * import { assertInterfaceType } from 'graphql/type';
2245
+ *
2246
+ * const schema = buildSchema(`
2247
+ * interface Resource {
2248
+ * url: String!
2249
+ * }
2250
+ *
2251
+ * interface Image implements Resource {
2252
+ * url: String!
2253
+ * width: Int
2254
+ * }
2255
+ *
2256
+ * type Photo implements Resource & Image {
2257
+ * url: String!
2258
+ * width: Int
2259
+ * }
2260
+ *
2261
+ * type Query {
2262
+ * image: Image
2263
+ * }
2264
+ * `);
2265
+ *
2266
+ * const Image = assertInterfaceType(schema.getType('Image'));
2267
+ *
2268
+ * Image.getInterfaces().map((type) => type.name); // => ['Resource']
2269
+ * ```
2270
+ */
2271
+
2272
+ getInterfaces() {
2273
+ if (typeof this._interfaces === 'function') {
2274
+ this._interfaces = this._interfaces();
2275
+ }
2276
+
2277
+ return this._interfaces;
2278
+ }
2279
+ /**
2280
+ * Returns a normalized configuration object for this object.
2281
+ * @returns A configuration object that can be used to recreate this object.
2282
+ * @example
2283
+ * ```ts
2284
+ * import { GraphQLID, GraphQLInterfaceType, GraphQLNonNull } from 'graphql/type';
2285
+ *
2286
+ * const Node = new GraphQLInterfaceType({
2287
+ * name: 'Node',
2288
+ * fields: {
2289
+ * id: { type: new GraphQLNonNull(GraphQLID) },
2290
+ * },
2291
+ * });
2292
+ *
2293
+ * const config = Node.toConfig();
2294
+ * const NodeCopy = new GraphQLInterfaceType(config);
2295
+ *
2296
+ * String(config.fields.id.type); // => 'ID!'
2297
+ * String(NodeCopy.getFields().id.type); // => 'ID!'
2298
+ * ```
2299
+ */
2300
+
2301
+ toConfig() {
2302
+ return {
2303
+ name: this.name,
2304
+ description: this.description,
2305
+ interfaces: this.getInterfaces(),
2306
+ fields: fieldsToFieldsConfig(this.getFields()),
2307
+ resolveType: this.resolveType,
2308
+ extensions: this.extensions,
2309
+ astNode: this.astNode,
2310
+ extensionASTNodes: this.extensionASTNodes,
2311
+ };
2312
+ }
2313
+ /**
2314
+ * Returns the schema coordinate identifying this interface type.
2315
+ * @returns The schema coordinate for this interface type.
2316
+ * @example
2317
+ * ```ts
2318
+ * import { buildSchema } from 'graphql/utilities';
2319
+ * import { assertInterfaceType } from 'graphql/type';
2320
+ *
2321
+ * const schema = buildSchema(`
2322
+ * interface Node {
2323
+ * id: ID!
2324
+ * }
2325
+ *
2326
+ * type User implements Node {
2327
+ * id: ID!
2328
+ * }
2329
+ *
2330
+ * type Query {
2331
+ * node: Node
2332
+ * }
2333
+ * `);
2334
+ *
2335
+ * const Node = assertInterfaceType(schema.getType('Node'));
2336
+ *
2337
+ * Node.toString(); // => 'Node'
2338
+ * ```
2339
+ */
2340
+
2341
+ toString() {
2342
+ return this.name;
2343
+ }
2344
+ /**
2345
+ * Returns the JSON representation used when this object is serialized.
2346
+ * @returns The JSON-serializable representation.
2347
+ * @example
2348
+ * ```ts
2349
+ * import { GraphQLInterfaceType, GraphQLString } from 'graphql/type';
2350
+ *
2351
+ * const Named = new GraphQLInterfaceType({
2352
+ * name: 'Named',
2353
+ * fields: { name: { type: GraphQLString } },
2354
+ * });
2355
+ *
2356
+ * Named.toJSON(); // => 'Named'
2357
+ * JSON.stringify({ type: Named }); // => '{"type":"Named"}'
2358
+ * ```
2359
+ */
2360
+
2361
+ toJSON() {
2362
+ return this.toString();
2363
+ }
2364
+ }
2365
+ /**
2366
+ * Configuration used to construct a GraphQLInterfaceType.
2367
+ * @typeParam TSource - Source object type passed to resolvers.
2368
+ * @typeParam TContext - Context object type passed to resolvers.
2369
+ */
2370
+
2371
+ /**
2372
+ * Union Type Definition
2373
+ *
2374
+ * When a field can return one of a heterogeneous set of types, a Union type
2375
+ * is used to describe what types are possible as well as providing a function
2376
+ * to determine which type is actually used when the field is resolved.
2377
+ * @example
2378
+ * ```ts
2379
+ * const PetType = new GraphQLUnionType({
2380
+ * name: 'Pet',
2381
+ * types: [DogType, CatType],
2382
+ * resolveType: (value) => {
2383
+ * if (value instanceof Dog) {
2384
+ * return DogType;
2385
+ * }
2386
+ * if (value instanceof Cat) {
2387
+ * return CatType;
2388
+ * }
2389
+ * }
2390
+ * });
2391
+ * ```
2392
+ */
2393
+ export class GraphQLUnionType {
2394
+ /** The GraphQL name for this schema element. */
2395
+
2396
+ /** Human-readable description for this schema element, if provided. */
2397
+
2398
+ /** Function that resolves the concrete object type for this abstract type. */
2399
+
2400
+ /** Custom extension fields reserved for users. */
2401
+
2402
+ /** AST node from which this schema element was built, if available. */
2403
+
2404
+ /** AST extension nodes applied to this schema element. */
2405
+
2406
+ /**
2407
+ * Creates a GraphQLUnionType instance.
2408
+ * @param config - Configuration describing this object.
2409
+ * @example
2410
+ * ```ts
2411
+ * import { parse } from 'graphql/language';
2412
+ * import { GraphQLObjectType, GraphQLString, GraphQLUnionType } from 'graphql/type';
2413
+ *
2414
+ * const document = parse(`
2415
+ * union Media = Photo | Video
2416
+ *
2417
+ * extend union Media = Audio
2418
+ * `);
2419
+ *
2420
+ * const Photo = new GraphQLObjectType({
2421
+ * name: 'Photo',
2422
+ * fields: { url: { type: GraphQLString } },
2423
+ * });
2424
+ * const Video = new GraphQLObjectType({
2425
+ * name: 'Video',
2426
+ * fields: { url: { type: GraphQLString } },
2427
+ * });
2428
+ *
2429
+ * const Media = new GraphQLUnionType({
2430
+ * name: 'Media',
2431
+ * description: 'Media that can appear in a search result.',
2432
+ * types: [Photo, Video],
2433
+ * resolveType: (value) => {
2434
+ * return typeof value === 'object' && value != null && 'duration' in value
2435
+ * ? 'Video'
2436
+ * : 'Photo';
2437
+ * },
2438
+ * extensions: { searchable: true },
2439
+ * astNode: document.definitions[0],
2440
+ * extensionASTNodes: [ document.definitions[1] ],
2441
+ * });
2442
+ *
2443
+ * Media.description; // => 'Media that can appear in a search result.'
2444
+ * Media.getTypes().map((type) => type.name); // => ['Photo', 'Video']
2445
+ * Media.extensions; // => { searchable: true }
2446
+ * ```
2447
+ */
2448
+ constructor(config) {
2449
+ var _config$extensionASTN4;
2450
+
2451
+ this.name = assertName(config.name);
2452
+ this.description = config.description;
2453
+ this.resolveType = config.resolveType;
2454
+ this.extensions = toObjMap(config.extensions);
2455
+ this.astNode = config.astNode;
2456
+ this.extensionASTNodes =
2457
+ (_config$extensionASTN4 = config.extensionASTNodes) !== null &&
2458
+ _config$extensionASTN4 !== void 0
2459
+ ? _config$extensionASTN4
2460
+ : [];
2461
+ this._types = defineTypes.bind(undefined, config);
2462
+ config.resolveType == null ||
2463
+ typeof config.resolveType === 'function' ||
2464
+ devAssert(
2465
+ false,
2466
+ `${this.name} must provide "resolveType" as a function, ` +
2467
+ `but got: ${inspect(config.resolveType)}.`,
2468
+ );
2469
+ }
2470
+ /**
2471
+ * Returns the value used by `Object.prototype.toString`.
2472
+ * @returns The built-in string tag for this object.
2473
+ */
2474
+
2475
+ get [Symbol.toStringTag]() {
2476
+ return 'GraphQLUnionType';
2477
+ }
2478
+ /**
2479
+ * Returns the object types included in this union.
2480
+ * @returns The union member object types.
2481
+ * @example
2482
+ * ```ts
2483
+ * import { buildSchema } from 'graphql/utilities';
2484
+ * import { assertUnionType } from 'graphql/type';
2485
+ *
2486
+ * const schema = buildSchema(`
2487
+ * type Photo {
2488
+ * url: String!
2489
+ * }
2490
+ *
2491
+ * type Video {
2492
+ * url: String!
2493
+ * }
2494
+ *
2495
+ * union Media = Photo | Video
2496
+ *
2497
+ * type Query {
2498
+ * media: [Media]
2499
+ * }
2500
+ * `);
2501
+ *
2502
+ * const Media = assertUnionType(schema.getType('Media'));
2503
+ *
2504
+ * Media.getTypes().map((type) => type.name); // => ['Photo', 'Video']
2505
+ * ```
2506
+ */
2507
+
2508
+ getTypes() {
2509
+ if (typeof this._types === 'function') {
2510
+ this._types = this._types();
2511
+ }
2512
+
2513
+ return this._types;
2514
+ }
2515
+ /**
2516
+ * Returns a normalized configuration object for this object.
2517
+ * @returns A configuration object that can be used to recreate this object.
2518
+ * @example
2519
+ * ```ts
2520
+ * import { GraphQLObjectType, GraphQLString, GraphQLUnionType } from 'graphql/type';
2521
+ *
2522
+ * const Photo = new GraphQLObjectType({
2523
+ * name: 'Photo',
2524
+ * fields: { url: { type: GraphQLString } },
2525
+ * });
2526
+ * const Video = new GraphQLObjectType({
2527
+ * name: 'Video',
2528
+ * fields: { url: { type: GraphQLString } },
2529
+ * });
2530
+ * const Media = new GraphQLUnionType({
2531
+ * name: 'Media',
2532
+ * types: [Photo, Video],
2533
+ * });
2534
+ *
2535
+ * const config = Media.toConfig();
2536
+ * const MediaCopy = new GraphQLUnionType(config);
2537
+ *
2538
+ * MediaCopy.getTypes().map((type) => type.name); // => ['Photo', 'Video']
2539
+ * ```
2540
+ */
2541
+
2542
+ toConfig() {
2543
+ return {
2544
+ name: this.name,
2545
+ description: this.description,
2546
+ types: this.getTypes(),
2547
+ resolveType: this.resolveType,
2548
+ extensions: this.extensions,
2549
+ astNode: this.astNode,
2550
+ extensionASTNodes: this.extensionASTNodes,
2551
+ };
2552
+ }
2553
+ /**
2554
+ * Returns the schema coordinate identifying this union type.
2555
+ * @returns The schema coordinate for this union type.
2556
+ * @example
2557
+ * ```ts
2558
+ * import { buildSchema } from 'graphql/utilities';
2559
+ * import { assertUnionType } from 'graphql/type';
2560
+ *
2561
+ * const schema = buildSchema(`
2562
+ * type Photo {
2563
+ * url: String!
2564
+ * }
2565
+ *
2566
+ * union SearchResult = Photo
2567
+ *
2568
+ * type Query {
2569
+ * search: [SearchResult]
2570
+ * }
2571
+ * `);
2572
+ *
2573
+ * const SearchResult = assertUnionType(schema.getType('SearchResult'));
2574
+ *
2575
+ * SearchResult.toString(); // => 'SearchResult'
2576
+ * ```
2577
+ */
2578
+
2579
+ toString() {
2580
+ return this.name;
2581
+ }
2582
+ /**
2583
+ * Returns the JSON representation used when this object is serialized.
2584
+ * @returns The JSON-serializable representation.
2585
+ * @example
2586
+ * ```ts
2587
+ * import { GraphQLObjectType, GraphQLString, GraphQLUnionType } from 'graphql/type';
2588
+ *
2589
+ * const Photo = new GraphQLObjectType({
2590
+ * name: 'Photo',
2591
+ * fields: { url: { type: GraphQLString } },
2592
+ * });
2593
+ * const SearchResult = new GraphQLUnionType({
2594
+ * name: 'SearchResult',
2595
+ * types: [Photo],
2596
+ * });
2597
+ *
2598
+ * SearchResult.toJSON(); // => 'SearchResult'
2599
+ * JSON.stringify({ type: SearchResult }); // => '{"type":"SearchResult"}'
2600
+ * ```
2601
+ */
2602
+
2603
+ toJSON() {
2604
+ return this.toString();
2605
+ }
2606
+ }
2607
+
2608
+ function defineTypes(config) {
2609
+ const types = resolveReadonlyArrayThunk(config.types);
2610
+ Array.isArray(types) ||
2611
+ devAssert(
2612
+ false,
2613
+ `Must provide Array of types or a function which returns such an array for Union ${config.name}.`,
2614
+ );
2615
+ return types;
2616
+ }
2617
+ /**
2618
+ * Configuration used to construct a GraphQLUnionType.
2619
+ * @typeParam TSource - Source object type passed to resolvers.
2620
+ * @typeParam TContext - Context object type passed to resolvers.
2621
+ */
2622
+
2623
+ /**
2624
+ * Enum Type Definition
2625
+ *
2626
+ * Enum types define leaf values whose serialized form is one of a fixed set
2627
+ * of GraphQL enum names. Internally, enum values can map to any runtime value,
2628
+ * often integers.
2629
+ * @example
2630
+ * ```ts
2631
+ * import { GraphQLEnumType } from 'graphql/type';
2632
+ *
2633
+ * const RGBType = new GraphQLEnumType({
2634
+ * name: 'RGB',
2635
+ * values: {
2636
+ * RED: { value: 0 },
2637
+ * GREEN: { value: 1 },
2638
+ * BLUE: { value: 2 },
2639
+ * },
2640
+ * });
2641
+ *
2642
+ * RGBType.getValue('GREEN')?.value; // => 1
2643
+ * ```
2644
+ *
2645
+ * Note: If a value is not provided in a definition, the name of the enum value
2646
+ * will be used as its internal value.
2647
+ */
2648
+ export class GraphQLEnumType {
2649
+ /* <T> */
2650
+ /** The GraphQL name for this schema element. */
2651
+
2652
+ /** Human-readable description for this schema element, if provided. */
2653
+
2654
+ /** Custom extension fields reserved for users. */
2655
+
2656
+ /** AST node from which this schema element was built, if available. */
2657
+
2658
+ /** AST extension nodes applied to this schema element. */
2659
+
2660
+ /**
2661
+ * Creates a GraphQLEnumType instance.
2662
+ * @param config - Configuration describing this object.
2663
+ * @example
2664
+ * ```ts
2665
+ * import { parse } from 'graphql/language';
2666
+ * import { GraphQLEnumType } from 'graphql/type';
2667
+ *
2668
+ * const document = parse(`
2669
+ * enum Episode {
2670
+ * NEW_HOPE
2671
+ * EMPIRE
2672
+ * JEDI
2673
+ * }
2674
+ *
2675
+ * extend enum Episode {
2676
+ * FORCE_AWAKENS
2677
+ * }
2678
+ * `);
2679
+ * const definition = document.definitions[0];
2680
+ *
2681
+ * const Episode = new GraphQLEnumType({
2682
+ * name: 'Episode',
2683
+ * description: 'A Star Wars film episode.',
2684
+ * values: {
2685
+ * NEW_HOPE: {
2686
+ * value: 4,
2687
+ * description: 'Released in 1977.',
2688
+ * extensions: { trilogy: 'original' },
2689
+ * astNode: definition.values[0],
2690
+ * },
2691
+ * EMPIRE: { value: 5, astNode: definition.values[1] },
2692
+ * JEDI: {
2693
+ * value: 6,
2694
+ * deprecationReason: 'Use RETURN_OF_THE_JEDI.',
2695
+ * astNode: definition.values[2],
2696
+ * },
2697
+ * },
2698
+ * extensions: { catalog: 'films' },
2699
+ * astNode: definition,
2700
+ * extensionASTNodes: [ document.definitions[1] ],
2701
+ * });
2702
+ *
2703
+ * Episode.description; // => 'A Star Wars film episode.'
2704
+ * Episode.serialize(5); // => 'EMPIRE'
2705
+ * Episode.parseValue('JEDI'); // => 6
2706
+ * Episode.getValue('JEDI').deprecationReason; // => 'Use RETURN_OF_THE_JEDI.'
2707
+ * Episode.extensions; // => { catalog: 'films' }
2708
+ * ```
2709
+ */
2710
+ constructor(config) {
2711
+ var _config$extensionASTN5;
2712
+
2713
+ this.name = assertName(config.name);
2714
+ this.description = config.description;
2715
+ this.extensions = toObjMap(config.extensions);
2716
+ this.astNode = config.astNode;
2717
+ this.extensionASTNodes =
2718
+ (_config$extensionASTN5 = config.extensionASTNodes) !== null &&
2719
+ _config$extensionASTN5 !== void 0
2720
+ ? _config$extensionASTN5
2721
+ : [];
2722
+ this._values =
2723
+ typeof config.values === 'function'
2724
+ ? config.values
2725
+ : defineEnumValues(this.name, config.values);
2726
+ this._valueLookup = null;
2727
+ this._nameLookup = null;
2728
+ }
2729
+ /**
2730
+ * Returns the value used by `Object.prototype.toString`.
2731
+ * @returns The built-in string tag for this object.
2732
+ */
2733
+
2734
+ get [Symbol.toStringTag]() {
2735
+ return 'GraphQLEnumType';
2736
+ }
2737
+ /**
2738
+ * Returns the values defined by this enum type.
2739
+ * @returns Enum value definitions in schema order.
2740
+ * @example
2741
+ * ```ts
2742
+ * import { buildSchema } from 'graphql/utilities';
2743
+ * import { assertEnumType } from 'graphql/type';
2744
+ *
2745
+ * const schema = buildSchema(`
2746
+ * enum Episode {
2747
+ * NEW_HOPE
2748
+ * EMPIRE
2749
+ * JEDI
2750
+ * }
2751
+ *
2752
+ * type Query {
2753
+ * episode: Episode
2754
+ * }
2755
+ * `);
2756
+ *
2757
+ * const Episode = assertEnumType(schema.getType('Episode'));
2758
+ *
2759
+ * Episode.getValues().map((value) => value.name); // => ['NEW_HOPE', 'EMPIRE', 'JEDI']
2760
+ * ```
2761
+ */
2762
+
2763
+ getValues() {
2764
+ if (typeof this._values === 'function') {
2765
+ this._values = defineEnumValues(this.name, this._values());
2766
+ }
2767
+
2768
+ return this._values;
2769
+ }
2770
+ /**
2771
+ * Returns the enum value definition for a value name.
2772
+ * @param name - The GraphQL name to look up.
2773
+ * @returns The matching enum value definition, if it exists.
2774
+ * @example
2775
+ * ```ts
2776
+ * import { buildSchema } from 'graphql/utilities';
2777
+ * import { assertEnumType } from 'graphql/type';
2778
+ *
2779
+ * const schema = buildSchema(`
2780
+ * enum Episode {
2781
+ * NEW_HOPE
2782
+ * EMPIRE
2783
+ * }
2784
+ *
2785
+ * type Query {
2786
+ * episode: Episode
2787
+ * }
2788
+ * `);
2789
+ *
2790
+ * const Episode = assertEnumType(schema.getType('Episode'));
2791
+ *
2792
+ * Episode.getValue('EMPIRE')?.name; // => 'EMPIRE'
2793
+ * Episode.getValue('JEDI'); // => undefined
2794
+ * ```
2795
+ */
2796
+
2797
+ getValue(name) {
2798
+ if (this._nameLookup === null) {
2799
+ this._nameLookup = keyMap(this.getValues(), (value) => value.name);
2800
+ }
2801
+
2802
+ return this._nameLookup[name];
2803
+ }
2804
+ /**
2805
+ * Serializes a runtime enum value as a GraphQL enum name.
2806
+ * @param outputValue - Runtime enum value to serialize.
2807
+ * @returns The GraphQL enum name for the runtime value.
2808
+ * @example
2809
+ * ```ts
2810
+ * import { GraphQLEnumType } from 'graphql/type';
2811
+ *
2812
+ * const RGB = new GraphQLEnumType({
2813
+ * name: 'RGB',
2814
+ * values: {
2815
+ * RED: { value: 0 },
2816
+ * GREEN: { value: 1 },
2817
+ * BLUE: { value: 2 },
2818
+ * },
2819
+ * });
2820
+ *
2821
+ * RGB.serialize(1); // => 'GREEN'
2822
+ * RGB.serialize(3); // throws an error
2823
+ * ```
2824
+ */
2825
+
2826
+ serialize(outputValue) {
2827
+ if (this._valueLookup === null) {
2828
+ this._valueLookup = new Map(
2829
+ this.getValues().map((enumValue) => [enumValue.value, enumValue]),
2830
+ );
2831
+ }
2832
+
2833
+ const enumValue = this._valueLookup.get(outputValue);
2834
+
2835
+ if (enumValue === undefined) {
2836
+ throw new GraphQLError(
2837
+ `Enum "${this.name}" cannot represent value: ${inspect(outputValue)}`,
2838
+ );
2839
+ }
2840
+
2841
+ return enumValue.name;
2842
+ }
2843
+ /**
2844
+ * Parses a GraphQL enum name from variable input.
2845
+ * @param inputValue - Runtime input value to parse.
2846
+ * @returns The internal enum value represented by the input name.
2847
+ * @example
2848
+ * ```ts
2849
+ * import { GraphQLEnumType } from 'graphql/type';
2850
+ *
2851
+ * const RGB = new GraphQLEnumType({
2852
+ * name: 'RGB',
2853
+ * values: {
2854
+ * RED: { value: 0 },
2855
+ * GREEN: { value: 1 },
2856
+ * BLUE: { value: 2 },
2857
+ * },
2858
+ * });
2859
+ *
2860
+ * RGB.parseValue('BLUE'); // => 2
2861
+ * RGB.parseValue('PURPLE'); // throws an error
2862
+ * RGB.parseValue(2); // throws an error
2863
+ * ```
2864
+ */
2865
+
2866
+ parseValue(inputValue) /* T */
2867
+ {
2868
+ if (typeof inputValue !== 'string') {
2869
+ const valueStr = inspect(inputValue);
2870
+ throw new GraphQLError(
2871
+ `Enum "${this.name}" cannot represent non-string value: ${valueStr}.` +
2872
+ didYouMeanEnumValue(this, valueStr),
2873
+ );
2874
+ }
2875
+
2876
+ const enumValue = this.getValue(inputValue);
2877
+
2878
+ if (enumValue == null) {
2879
+ throw new GraphQLError(
2880
+ `Value "${inputValue}" does not exist in "${this.name}" enum.` +
2881
+ didYouMeanEnumValue(this, inputValue),
2882
+ );
2883
+ }
2884
+
2885
+ return enumValue.value;
2886
+ }
2887
+ /**
2888
+ * Parses a GraphQL enum name from an AST value literal.
2889
+ * @param valueNode - AST value literal to parse.
2890
+ * @param _variables - Runtime variable values; ignored because enum literals cannot contain variables.
2891
+ * @returns The internal enum value represented by the literal.
2892
+ * @example
2893
+ * ```ts
2894
+ * import { parseValue } from 'graphql/language';
2895
+ * import { GraphQLEnumType } from 'graphql/type';
2896
+ *
2897
+ * const RGB = new GraphQLEnumType({
2898
+ * name: 'RGB',
2899
+ * values: {
2900
+ * RED: { value: 0 },
2901
+ * GREEN: { value: 1 },
2902
+ * BLUE: { value: 2 },
2903
+ * },
2904
+ * });
2905
+ *
2906
+ * RGB.parseLiteral(parseValue('RED')); // => 0
2907
+ * RGB.parseLiteral(parseValue('"RED"')); // throws an error
2908
+ * ```
2909
+ */
2910
+
2911
+ parseLiteral(valueNode, _variables) /* T */
2912
+ {
2913
+ // Note: variables will be resolved to a value before calling this function.
2914
+ if (valueNode.kind !== Kind.ENUM) {
2915
+ const valueStr = print(valueNode);
2916
+ throw new GraphQLError(
2917
+ `Enum "${this.name}" cannot represent non-enum value: ${valueStr}.` +
2918
+ didYouMeanEnumValue(this, valueStr),
2919
+ {
2920
+ nodes: valueNode,
2921
+ },
2922
+ );
2923
+ }
2924
+
2925
+ const enumValue = this.getValue(valueNode.value);
2926
+
2927
+ if (enumValue == null) {
2928
+ const valueStr = print(valueNode);
2929
+ throw new GraphQLError(
2930
+ `Value "${valueStr}" does not exist in "${this.name}" enum.` +
2931
+ didYouMeanEnumValue(this, valueStr),
2932
+ {
2933
+ nodes: valueNode,
2934
+ },
2935
+ );
2936
+ }
2937
+
2938
+ return enumValue.value;
2939
+ }
2940
+ /**
2941
+ * Returns a normalized configuration object for this object.
2942
+ * @returns A configuration object that can be used to recreate this object.
2943
+ * @example
2944
+ * ```ts
2945
+ * import { GraphQLEnumType } from 'graphql/type';
2946
+ *
2947
+ * const RGB = new GraphQLEnumType({
2948
+ * name: 'RGB',
2949
+ * values: {
2950
+ * RED: { value: 0 },
2951
+ * GREEN: { value: 1 },
2952
+ * BLUE: { value: 2 },
2953
+ * },
2954
+ * });
2955
+ *
2956
+ * const config = RGB.toConfig();
2957
+ * const RGBCopy = new GraphQLEnumType(config);
2958
+ *
2959
+ * config.values.GREEN.value; // => 1
2960
+ * RGBCopy.serialize(2); // => 'BLUE'
2961
+ * ```
2962
+ */
2963
+
2964
+ toConfig() {
2965
+ const values = keyValMap(
2966
+ this.getValues(),
2967
+ (value) => value.name,
2968
+ (value) => ({
2969
+ description: value.description,
2970
+ value: value.value,
2971
+ deprecationReason: value.deprecationReason,
2972
+ extensions: value.extensions,
2973
+ astNode: value.astNode,
2974
+ }),
2975
+ );
2976
+ return {
2977
+ name: this.name,
2978
+ description: this.description,
2979
+ values,
2980
+ extensions: this.extensions,
2981
+ astNode: this.astNode,
2982
+ extensionASTNodes: this.extensionASTNodes,
2983
+ };
2984
+ }
2985
+ /**
2986
+ * Returns the schema coordinate identifying this enum type.
2987
+ * @returns The schema coordinate for this enum type.
2988
+ * @example
2989
+ * ```ts
2990
+ * import { buildSchema } from 'graphql/utilities';
2991
+ * import { assertEnumType } from 'graphql/type';
2992
+ *
2993
+ * const schema = buildSchema(`
2994
+ * enum Episode {
2995
+ * NEW_HOPE
2996
+ * }
2997
+ *
2998
+ * type Query {
2999
+ * episode: Episode
3000
+ * }
3001
+ * `);
3002
+ *
3003
+ * const Episode = assertEnumType(schema.getType('Episode'));
3004
+ *
3005
+ * Episode.toString(); // => 'Episode'
3006
+ * ```
3007
+ */
3008
+
3009
+ toString() {
3010
+ return this.name;
3011
+ }
3012
+ /**
3013
+ * Returns the JSON representation used when this object is serialized.
3014
+ * @returns The JSON-serializable representation.
3015
+ * @example
3016
+ * ```ts
3017
+ * import { GraphQLEnumType } from 'graphql/type';
3018
+ *
3019
+ * const Episode = new GraphQLEnumType({
3020
+ * name: 'Episode',
3021
+ * values: {
3022
+ * NEW_HOPE: {},
3023
+ * },
3024
+ * });
3025
+ *
3026
+ * Episode.toJSON(); // => 'Episode'
3027
+ * JSON.stringify({ type: Episode }); // => '{"type":"Episode"}'
3028
+ * ```
3029
+ */
3030
+
3031
+ toJSON() {
3032
+ return this.toString();
3033
+ }
3034
+ }
3035
+
3036
+ function didYouMeanEnumValue(enumType, unknownValueStr) {
3037
+ const allNames = enumType.getValues().map((value) => value.name);
3038
+ const suggestedValues = suggestionList(unknownValueStr, allNames);
3039
+ return didYouMean('the enum value', suggestedValues);
3040
+ }
3041
+
3042
+ function defineEnumValues(typeName, valueMap) {
3043
+ isPlainObj(valueMap) ||
3044
+ devAssert(
3045
+ false,
3046
+ `${typeName} values must be an object with value names as keys.`,
3047
+ );
3048
+ return Object.entries(valueMap).map(([valueName, valueConfig]) => {
3049
+ isPlainObj(valueConfig) ||
3050
+ devAssert(
3051
+ false,
3052
+ `${typeName}.${valueName} must refer to an object with a "value" key ` +
3053
+ `representing an internal value but got: ${inspect(valueConfig)}.`,
3054
+ );
3055
+ return {
3056
+ name: assertEnumValueName(valueName),
3057
+ description: valueConfig.description,
3058
+ value: valueConfig.value !== undefined ? valueConfig.value : valueName,
3059
+ deprecationReason: valueConfig.deprecationReason,
3060
+ extensions: toObjMap(valueConfig.extensions),
3061
+ astNode: valueConfig.astNode,
3062
+ };
3063
+ });
3064
+ }
3065
+ /** Configuration used to construct a GraphQLEnumType. */
3066
+
3067
+ /**
3068
+ * Input Object Type Definition
3069
+ *
3070
+ * An input object defines a structured collection of fields which may be
3071
+ * supplied to a field argument.
3072
+ *
3073
+ * Using `NonNull` will ensure that a value must be provided by the query
3074
+ * @example
3075
+ * ```ts
3076
+ * const GeoPoint = new GraphQLInputObjectType({
3077
+ * name: 'GeoPoint',
3078
+ * fields: {
3079
+ * lat: { type: new GraphQLNonNull(GraphQLFloat) },
3080
+ * lon: { type: new GraphQLNonNull(GraphQLFloat) },
3081
+ * alt: { type: GraphQLFloat, defaultValue: 0 },
3082
+ * }
3083
+ * });
3084
+ * ```
3085
+ */
3086
+ export class GraphQLInputObjectType {
3087
+ /** The GraphQL name for this schema element. */
3088
+
3089
+ /** Human-readable description for this schema element, if provided. */
3090
+
3091
+ /** Custom extension fields reserved for users. */
3092
+
3093
+ /** AST node from which this schema element was built, if available. */
3094
+
3095
+ /** AST extension nodes applied to this schema element. */
3096
+
3097
+ /** Whether this input object uses the experimental OneOf input object semantics. */
3098
+
3099
+ /**
3100
+ * Creates a GraphQLInputObjectType instance.
3101
+ * @param config - Configuration describing this object.
3102
+ * @example
3103
+ * ```ts
3104
+ * import { parse } from 'graphql/language';
3105
+ * import {
3106
+ * GraphQLID,
3107
+ * GraphQLInputObjectType,
3108
+ * GraphQLInt,
3109
+ * GraphQLNonNull,
3110
+ * GraphQLString,
3111
+ * } from 'graphql/type';
3112
+ *
3113
+ * const document = parse(`
3114
+ * input ReviewInput {
3115
+ * stars: Int!
3116
+ * commentary: String
3117
+ * }
3118
+ *
3119
+ * extend input ReviewInput {
3120
+ * body: String
3121
+ * }
3122
+ * `);
3123
+ * const definition = document.definitions[0];
3124
+ *
3125
+ * const ReviewInput = new GraphQLInputObjectType({
3126
+ * name: 'ReviewInput',
3127
+ * description: 'Input collected when reviewing a product.',
3128
+ * fields: {
3129
+ * stars: {
3130
+ * description: 'Star rating from one to five.',
3131
+ * type: new GraphQLNonNull(GraphQLInt),
3132
+ * extensions: { min: 1, max: 5 },
3133
+ * astNode: definition.fields[0],
3134
+ * },
3135
+ * commentary: {
3136
+ * type: GraphQLString,
3137
+ * defaultValue: '',
3138
+ * deprecationReason: 'Use body.',
3139
+ * astNode: definition.fields[1],
3140
+ * },
3141
+ * },
3142
+ * extensions: { form: 'review' },
3143
+ * astNode: definition,
3144
+ * extensionASTNodes: [ document.definitions[1] ],
3145
+ * isOneOf: false,
3146
+ * });
3147
+ * const SearchBy = new GraphQLInputObjectType({
3148
+ * name: 'SearchBy',
3149
+ * fields: {
3150
+ * id: { type: GraphQLID },
3151
+ * slug: { type: GraphQLString },
3152
+ * },
3153
+ * isOneOf: true,
3154
+ * });
3155
+ *
3156
+ * const fields = ReviewInput.getFields();
3157
+ *
3158
+ * ReviewInput.description; // => 'Input collected when reviewing a product.'
3159
+ * String(fields.stars.type); // => 'Int!'
3160
+ * fields.stars.extensions; // => { min: 1, max: 5 }
3161
+ * fields.commentary.defaultValue; // => ''
3162
+ * fields.commentary.deprecationReason; // => 'Use body.'
3163
+ * ReviewInput.isOneOf; // => false
3164
+ * SearchBy.isOneOf; // => true
3165
+ * ```
3166
+ */
3167
+ constructor(config) {
3168
+ var _config$extensionASTN6, _config$isOneOf;
3169
+
3170
+ this.name = assertName(config.name);
3171
+ this.description = config.description;
3172
+ this.extensions = toObjMap(config.extensions);
3173
+ this.astNode = config.astNode;
3174
+ this.extensionASTNodes =
3175
+ (_config$extensionASTN6 = config.extensionASTNodes) !== null &&
3176
+ _config$extensionASTN6 !== void 0
3177
+ ? _config$extensionASTN6
3178
+ : [];
3179
+ this.isOneOf =
3180
+ (_config$isOneOf = config.isOneOf) !== null && _config$isOneOf !== void 0
3181
+ ? _config$isOneOf
3182
+ : false;
3183
+ this._fields = defineInputFieldMap.bind(undefined, config);
3184
+ }
3185
+ /**
3186
+ * Returns the value used by `Object.prototype.toString`.
3187
+ * @returns The built-in string tag for this object.
3188
+ */
3189
+
3190
+ get [Symbol.toStringTag]() {
3191
+ return 'GraphQLInputObjectType';
3192
+ }
3193
+ /**
3194
+ * Returns the fields defined by this type.
3195
+ * @returns The fields keyed by field name.
3196
+ * @example
3197
+ * ```ts
3198
+ * import { buildSchema } from 'graphql/utilities';
3199
+ * import { assertInputObjectType } from 'graphql/type';
3200
+ *
3201
+ * const schema = buildSchema(`
3202
+ * input ReviewInput {
3203
+ * stars: Int!
3204
+ * commentary: String = ""
3205
+ * }
3206
+ *
3207
+ * type Query {
3208
+ * reviews(filter: ReviewInput): [String]
3209
+ * }
3210
+ * `);
3211
+ *
3212
+ * const ReviewInput = assertInputObjectType(schema.getType('ReviewInput'));
3213
+ * const fields = ReviewInput.getFields();
3214
+ *
3215
+ * Object.keys(fields); // => ['stars', 'commentary']
3216
+ * fields.commentary.defaultValue; // => ''
3217
+ * ```
3218
+ */
3219
+
3220
+ getFields() {
3221
+ if (typeof this._fields === 'function') {
3222
+ this._fields = this._fields();
3223
+ }
3224
+
3225
+ return this._fields;
3226
+ }
3227
+ /**
3228
+ * Returns a normalized configuration object for this object.
3229
+ * @returns A configuration object that can be used to recreate this object.
3230
+ * @example
3231
+ * ```ts
3232
+ * import {
3233
+ * GraphQLInputObjectType,
3234
+ * GraphQLInt,
3235
+ * GraphQLNonNull,
3236
+ * } from 'graphql/type';
3237
+ *
3238
+ * const ReviewInput = new GraphQLInputObjectType({
3239
+ * name: 'ReviewInput',
3240
+ * fields: {
3241
+ * stars: { type: new GraphQLNonNull(GraphQLInt) },
3242
+ * },
3243
+ * });
3244
+ *
3245
+ * const config = ReviewInput.toConfig();
3246
+ * const ReviewInputCopy = new GraphQLInputObjectType(config);
3247
+ *
3248
+ * String(config.fields.stars.type); // => 'Int!'
3249
+ * String(ReviewInputCopy.getFields().stars.type); // => 'Int!'
3250
+ * ```
3251
+ */
3252
+
3253
+ toConfig() {
3254
+ const fields = mapValue(this.getFields(), (field) => ({
3255
+ description: field.description,
3256
+ type: field.type,
3257
+ defaultValue: field.defaultValue,
3258
+ deprecationReason: field.deprecationReason,
3259
+ extensions: field.extensions,
3260
+ astNode: field.astNode,
3261
+ }));
3262
+ return {
3263
+ name: this.name,
3264
+ description: this.description,
3265
+ fields,
3266
+ extensions: this.extensions,
3267
+ astNode: this.astNode,
3268
+ extensionASTNodes: this.extensionASTNodes,
3269
+ isOneOf: this.isOneOf,
3270
+ };
3271
+ }
3272
+ /**
3273
+ * Returns the schema coordinate identifying this input object type.
3274
+ * @returns The schema coordinate for this input object type.
3275
+ * @example
3276
+ * ```ts
3277
+ * import { buildSchema } from 'graphql/utilities';
3278
+ * import { assertInputObjectType } from 'graphql/type';
3279
+ *
3280
+ * const schema = buildSchema(`
3281
+ * input ReviewInput {
3282
+ * stars: Int!
3283
+ * }
3284
+ *
3285
+ * type Query {
3286
+ * reviews(filter: ReviewInput): [String]
3287
+ * }
3288
+ * `);
3289
+ *
3290
+ * const ReviewInput = assertInputObjectType(schema.getType('ReviewInput'));
3291
+ *
3292
+ * ReviewInput.toString(); // => 'ReviewInput'
3293
+ * ```
3294
+ */
3295
+
3296
+ toString() {
3297
+ return this.name;
3298
+ }
3299
+ /**
3300
+ * Returns the JSON representation used when this object is serialized.
3301
+ * @returns The JSON-serializable representation.
3302
+ * @example
3303
+ * ```ts
3304
+ * import { GraphQLInputObjectType, GraphQLString } from 'graphql/type';
3305
+ *
3306
+ * const ReviewInput = new GraphQLInputObjectType({
3307
+ * name: 'ReviewInput',
3308
+ * fields: {
3309
+ * commentary: { type: GraphQLString },
3310
+ * },
3311
+ * });
3312
+ *
3313
+ * ReviewInput.toJSON(); // => 'ReviewInput'
3314
+ * JSON.stringify({ type: ReviewInput }); // => '{"type":"ReviewInput"}'
3315
+ * ```
3316
+ */
3317
+
3318
+ toJSON() {
3319
+ return this.toString();
3320
+ }
3321
+ }
3322
+
3323
+ function defineInputFieldMap(config) {
3324
+ const fieldMap = resolveObjMapThunk(config.fields);
3325
+ isPlainObj(fieldMap) ||
3326
+ devAssert(
3327
+ false,
3328
+ `${config.name} fields must be an object with field names as keys or a function which returns such an object.`,
3329
+ );
3330
+ return mapValue(fieldMap, (fieldConfig, fieldName) => {
3331
+ !('resolve' in fieldConfig) ||
3332
+ devAssert(
3333
+ false,
3334
+ `${config.name}.${fieldName} field has a resolve property, but Input Types cannot define resolvers.`,
3335
+ );
3336
+ return {
3337
+ name: assertName(fieldName),
3338
+ description: fieldConfig.description,
3339
+ type: fieldConfig.type,
3340
+ defaultValue: fieldConfig.defaultValue,
3341
+ deprecationReason: fieldConfig.deprecationReason,
3342
+ extensions: toObjMap(fieldConfig.extensions),
3343
+ astNode: fieldConfig.astNode,
3344
+ };
3345
+ });
3346
+ }
3347
+ /** Configuration used to construct a GraphQLInputObjectType. */
3348
+
3349
+ /**
3350
+ * Returns true when the input field is non-null and has no default value.
3351
+ * @param field - The input field definition to inspect.
3352
+ * @returns True when the input field is non-null and has no default value.
3353
+ * @example
3354
+ * ```ts
3355
+ * import {
3356
+ * GraphQLInt,
3357
+ * GraphQLNonNull,
3358
+ * GraphQLString,
3359
+ * isRequiredInputField,
3360
+ * } from 'graphql/type';
3361
+ *
3362
+ * const requiredField = { name: 'id', type: new GraphQLNonNull(GraphQLInt) };
3363
+ * const optionalField = { name: 'name', type: GraphQLString };
3364
+ * const fieldWithDefault = {
3365
+ * name: 'limit',
3366
+ * type: new GraphQLNonNull(GraphQLInt),
3367
+ * defaultValue: 10,
3368
+ * };
3369
+ *
3370
+ * isRequiredInputField(requiredField); // => true
3371
+ * isRequiredInputField(optionalField); // => false
3372
+ * isRequiredInputField(fieldWithDefault); // => false
3373
+ * ```
3374
+ */
3375
+ export function isRequiredInputField(field) {
3376
+ return isNonNullType(field.type) && field.defaultValue === undefined;
3377
+ }
3378
+ /** A map of input field names to resolved input field definitions. */