polen 0.11.0-next.17 → 0.11.0-next.18

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 (196) hide show
  1. package/build/api/builder/ssg/generate.d.ts.map +1 -1
  2. package/build/api/builder/ssg/generate.js +5 -5
  3. package/build/api/builder/ssg/generate.js.map +1 -1
  4. package/build/api/builder/ssg/page-generator.worker.js +13 -3
  5. package/build/api/builder/ssg/page-generator.worker.js.map +1 -1
  6. package/build/api/config/input.d.ts +88 -3
  7. package/build/api/config/input.d.ts.map +1 -1
  8. package/build/api/config/normalized.d.ts +92 -7
  9. package/build/api/config/normalized.d.ts.map +1 -1
  10. package/build/api/config/normalized.js +11 -3
  11. package/build/api/config/normalized.js.map +1 -1
  12. package/build/api/config-template/template.js +2 -2
  13. package/build/api/config-template/template.js.map +1 -1
  14. package/build/api/content/sidebar.d.ts.map +1 -1
  15. package/build/api/content/sidebar.js +2 -1
  16. package/build/api/content/sidebar.js.map +1 -1
  17. package/build/api/examples/config.d.ts +366 -3
  18. package/build/api/examples/config.d.ts.map +1 -1
  19. package/build/api/examples/config.js +25 -3
  20. package/build/api/examples/config.js.map +1 -1
  21. package/build/api/examples/diagnostic/diagnostic.d.ts +1 -1
  22. package/build/api/examples/diagnostic/validation-error.d.ts +3 -2
  23. package/build/api/examples/diagnostic/validation-error.d.ts.map +1 -1
  24. package/build/api/examples/diagnostic/validation-error.js +9 -3
  25. package/build/api/examples/diagnostic/validation-error.js.map +1 -1
  26. package/build/api/examples/diagnostic/validator.d.ts.map +1 -1
  27. package/build/api/examples/diagnostic/validator.js +115 -68
  28. package/build/api/examples/diagnostic/validator.js.map +1 -1
  29. package/build/api/examples/filter.d.ts.map +1 -1
  30. package/build/api/examples/filter.js +9 -6
  31. package/build/api/examples/filter.js.map +1 -1
  32. package/build/api/examples/scanner.d.ts.map +1 -1
  33. package/build/api/examples/scanner.js +89 -103
  34. package/build/api/examples/scanner.js.map +1 -1
  35. package/build/api/examples/type-usage-indexer.d.ts.map +1 -1
  36. package/build/api/examples/type-usage-indexer.js +17 -30
  37. package/build/api/examples/type-usage-indexer.js.map +1 -1
  38. package/build/api/iso/schema/routing.d.ts.map +1 -1
  39. package/build/api/iso/schema/routing.js +8 -8
  40. package/build/api/iso/schema/routing.js.map +1 -1
  41. package/build/api/iso/schema/validation.d.ts.map +1 -1
  42. package/build/api/iso/schema/validation.js +3 -2
  43. package/build/api/iso/schema/validation.js.map +1 -1
  44. package/build/api/schema/input-sources/directory.js +2 -2
  45. package/build/api/schema/input-sources/directory.js.map +1 -1
  46. package/build/api/schema/input-sources/versioned-directory.d.ts.map +1 -1
  47. package/build/api/schema/input-sources/versioned-directory.js +3 -3
  48. package/build/api/schema/input-sources/versioned-directory.js.map +1 -1
  49. package/build/api/schema/load.d.ts.map +1 -1
  50. package/build/api/schema/load.js +1 -1
  51. package/build/api/schema/load.js.map +1 -1
  52. package/build/lib/catalog/catalog.d.ts +43 -3
  53. package/build/lib/catalog/catalog.d.ts.map +1 -1
  54. package/build/lib/catalog/catalog.js +67 -5
  55. package/build/lib/catalog/catalog.js.map +1 -1
  56. package/build/lib/catalog/versioned.d.ts +11 -1
  57. package/build/lib/catalog/versioned.d.ts.map +1 -1
  58. package/build/lib/catalog/versioned.js +23 -5
  59. package/build/lib/catalog/versioned.js.map +1 -1
  60. package/build/lib/document/document.d.ts +55 -5
  61. package/build/lib/document/document.d.ts.map +1 -1
  62. package/build/lib/document/document.js +96 -2
  63. package/build/lib/document/document.js.map +1 -1
  64. package/build/lib/document/versioned.d.ts +2 -2
  65. package/build/lib/document/versioned.d.ts.map +1 -1
  66. package/build/lib/document/versioned.js +7 -7
  67. package/build/lib/document/versioned.js.map +1 -1
  68. package/build/lib/lifecycles/lifecycles.d.ts +5 -4
  69. package/build/lib/lifecycles/lifecycles.d.ts.map +1 -1
  70. package/build/lib/lifecycles/lifecycles.js +14 -12
  71. package/build/lib/lifecycles/lifecycles.js.map +1 -1
  72. package/build/lib/version-coverage/$$.d.ts +2 -0
  73. package/build/lib/version-coverage/$$.d.ts.map +1 -0
  74. package/build/lib/version-coverage/$$.js +2 -0
  75. package/build/lib/version-coverage/$$.js.map +1 -0
  76. package/build/lib/version-coverage/$.d.ts.map +1 -0
  77. package/build/lib/version-coverage/$.js.map +1 -0
  78. package/build/lib/{version-selection/version-selection.d.ts → version-coverage/version-coverage.d.ts} +1 -1
  79. package/build/lib/version-coverage/version-coverage.d.ts.map +1 -0
  80. package/build/lib/{version-selection/version-selection.js → version-coverage/version-coverage.js} +2 -2
  81. package/build/lib/version-coverage/version-coverage.js.map +1 -0
  82. package/build/template/components/GraphQLDocument.d.ts +1 -1
  83. package/build/template/components/GraphQLDocument.d.ts.map +1 -1
  84. package/build/template/components/GraphQLDocument.js +10 -39
  85. package/build/template/components/GraphQLDocument.js.map +1 -1
  86. package/build/template/components/GraphQLInteractive/lib/parser.d.ts +28 -0
  87. package/build/template/components/GraphQLInteractive/lib/parser.d.ts.map +1 -1
  88. package/build/template/components/GraphQLInteractive/lib/parser.js +60 -27
  89. package/build/template/components/GraphQLInteractive/lib/parser.js.map +1 -1
  90. package/build/template/components/VersionCoveragePicker.d.ts +1 -1
  91. package/build/template/components/VersionCoveragePicker.d.ts.map +1 -1
  92. package/build/template/components/VersionCoveragePicker.js +4 -6
  93. package/build/template/components/VersionCoveragePicker.js.map +1 -1
  94. package/build/template/components/home/QuickStart.d.ts.map +1 -1
  95. package/build/template/components/home/QuickStart.js +8 -4
  96. package/build/template/components/home/QuickStart.js.map +1 -1
  97. package/build/template/hooks/use-highlighted.d.ts.map +1 -1
  98. package/build/template/hooks/use-highlighted.js +19 -13
  99. package/build/template/hooks/use-highlighted.js.map +1 -1
  100. package/build/template/lib/fetch-text.d.ts +18 -0
  101. package/build/template/lib/fetch-text.d.ts.map +1 -1
  102. package/build/template/lib/fetch-text.js +32 -4
  103. package/build/template/lib/fetch-text.js.map +1 -1
  104. package/build/template/routes/examples/name.d.ts.map +1 -1
  105. package/build/template/routes/examples/name.js +4 -2
  106. package/build/template/routes/examples/name.js.map +1 -1
  107. package/build/template/stores/toast.d.ts.map +1 -1
  108. package/build/template/stores/toast.js +5 -3
  109. package/build/template/stores/toast.js.map +1 -1
  110. package/package.json +7 -7
  111. package/src/api/builder/ssg/generate.ts +10 -5
  112. package/src/api/builder/ssg/page-generator.worker.ts +18 -3
  113. package/src/api/config/normalized.ts +12 -3
  114. package/src/api/config-template/template.ts +2 -2
  115. package/src/api/content/sidebar.ts +3 -3
  116. package/src/api/examples/config.test.ts +10 -0
  117. package/src/api/examples/config.ts +33 -4
  118. package/src/api/examples/diagnostic/validation-error.ts +9 -3
  119. package/src/api/examples/diagnostic/validator.test.ts +30 -0
  120. package/src/api/examples/diagnostic/validator.ts +148 -103
  121. package/src/api/examples/filter.ts +9 -6
  122. package/src/api/examples/scanner.ts +136 -117
  123. package/src/api/examples/type-usage-indexer.ts +24 -36
  124. package/src/api/iso/schema/routing.ts +10 -10
  125. package/src/api/iso/schema/validation.ts +3 -2
  126. package/src/api/schema/input-sources/directory.ts +2 -2
  127. package/src/api/schema/input-sources/versioned-directory.ts +5 -7
  128. package/src/api/schema/load.ts +1 -1
  129. package/src/lib/catalog/catalog.ts +89 -6
  130. package/src/lib/catalog/versioned.ts +26 -5
  131. package/src/lib/document/document.ts +135 -2
  132. package/src/lib/document/versioned.ts +8 -8
  133. package/src/lib/lifecycles/lifecycles.ts +32 -27
  134. package/src/lib/version-coverage/$$.ts +1 -0
  135. package/src/lib/{version-selection/version-selection.ts → version-coverage/version-coverage.ts} +1 -1
  136. package/src/template/components/GraphQLDocument.tsx +11 -69
  137. package/src/template/components/GraphQLInteractive/lib/parser.ts +81 -29
  138. package/src/template/components/VersionCoveragePicker.tsx +4 -5
  139. package/src/template/components/home/QuickStart.tsx +16 -7
  140. package/src/template/hooks/use-highlighted.ts +31 -19
  141. package/src/template/lib/fetch-text.ts +45 -4
  142. package/src/template/routes/examples/name.tsx +4 -2
  143. package/src/template/stores/toast.ts +6 -3
  144. package/build/lib/graph/$$.d.ts +0 -2
  145. package/build/lib/graph/$$.d.ts.map +0 -1
  146. package/build/lib/graph/$$.js +0 -2
  147. package/build/lib/graph/$$.js.map +0 -1
  148. package/build/lib/graph/$.d.ts +0 -2
  149. package/build/lib/graph/$.d.ts.map +0 -1
  150. package/build/lib/graph/$.js +0 -2
  151. package/build/lib/graph/$.js.map +0 -1
  152. package/build/lib/graph/graph.d.ts +0 -127
  153. package/build/lib/graph/graph.d.ts.map +0 -1
  154. package/build/lib/graph/graph.js +0 -152
  155. package/build/lib/graph/graph.js.map +0 -1
  156. package/build/lib/mask/$$.d.ts +0 -3
  157. package/build/lib/mask/$$.d.ts.map +0 -1
  158. package/build/lib/mask/$$.js +0 -3
  159. package/build/lib/mask/$$.js.map +0 -1
  160. package/build/lib/mask/$.d.ts +0 -2
  161. package/build/lib/mask/$.d.ts.map +0 -1
  162. package/build/lib/mask/$.js +0 -2
  163. package/build/lib/mask/$.js.map +0 -1
  164. package/build/lib/mask/apply.d.ts +0 -86
  165. package/build/lib/mask/apply.d.ts.map +0 -1
  166. package/build/lib/mask/apply.js +0 -86
  167. package/build/lib/mask/apply.js.map +0 -1
  168. package/build/lib/mask/mask.d.ts +0 -124
  169. package/build/lib/mask/mask.d.ts.map +0 -1
  170. package/build/lib/mask/mask.js +0 -137
  171. package/build/lib/mask/mask.js.map +0 -1
  172. package/build/lib/mask/mask.test-d.d.ts +0 -2
  173. package/build/lib/mask/mask.test-d.d.ts.map +0 -1
  174. package/build/lib/mask/mask.test-d.js +0 -102
  175. package/build/lib/mask/mask.test-d.js.map +0 -1
  176. package/build/lib/version-selection/$$.d.ts +0 -2
  177. package/build/lib/version-selection/$$.d.ts.map +0 -1
  178. package/build/lib/version-selection/$$.js +0 -2
  179. package/build/lib/version-selection/$$.js.map +0 -1
  180. package/build/lib/version-selection/$.d.ts.map +0 -1
  181. package/build/lib/version-selection/$.js.map +0 -1
  182. package/build/lib/version-selection/version-selection.d.ts.map +0 -1
  183. package/build/lib/version-selection/version-selection.js.map +0 -1
  184. package/src/lib/graph/$$.ts +0 -1
  185. package/src/lib/graph/$.ts +0 -1
  186. package/src/lib/graph/graph.ts +0 -197
  187. package/src/lib/mask/$$.ts +0 -2
  188. package/src/lib/mask/$.test.ts +0 -226
  189. package/src/lib/mask/$.ts +0 -1
  190. package/src/lib/mask/apply.ts +0 -134
  191. package/src/lib/mask/mask.test-d.ts +0 -156
  192. package/src/lib/mask/mask.ts +0 -244
  193. package/src/lib/version-selection/$$.ts +0 -1
  194. /package/build/lib/{version-selection → version-coverage}/$.d.ts +0 -0
  195. /package/build/lib/{version-selection → version-coverage}/$.js +0 -0
  196. /package/src/lib/{version-selection → version-coverage}/$.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import { S } from '#lib/kit-temp/effect';
2
2
  import { Version } from '#lib/version/$';
3
- import { HashMap } from 'effect';
3
+ import { HashMap, Option } from 'effect';
4
4
  export declare const DocumentVersioned: S.TaggedStruct<"DocumentVersioned", {
5
5
  /**
6
6
  * Map from version selection (single or set) to document content.
@@ -46,7 +46,7 @@ export declare const encode: (a: {
46
46
  /**
47
47
  * Get document for a specific version
48
48
  */
49
- export declare const getContentForVersion: (doc: DocumentVersioned, version: Version.Version) => string | null;
49
+ export declare const getContentForVersion: (doc: DocumentVersioned, version: Version.Version) => Option.Option<string>;
50
50
  /**
51
51
  * Get all individual versions covered by this document
52
52
  */
@@ -1 +1 @@
1
- {"version":3,"file":"versioned.d.ts","sourceRoot":"","sources":["../../../src/lib/document/versioned.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,sBAAsB,CAAA;AAExC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,OAAO,EAAU,MAAM,QAAQ,CAAA;AAMxC,eAAO,MAAM,iBAAiB;IAC5B;;;;;OAKG;;EAKH,CAAA;AAMF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAM7D,eAAO,MAAM,IAAI;;;;;;CAAyB,CAAA;AAM1C,eAAO,MAAM,EAAE;;;CAA0B,CAAA;AAMzC,eAAO,MAAM,MAAM;;;;;;kDAA8B,CAAA;AACjD,eAAO,MAAM,UAAU;;;;;;CAAkC,CAAA;AACzD,eAAO,MAAM,MAAM;;;;;;kDAA8B,CAAA;AAMjD;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,KAAK,iBAAiB,EACtB,SAAS,OAAO,CAAC,OAAO,KACvB,MAAM,GAAG,IAeX,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,iBAAiB,KAAG,OAAO,CAAC,OAAO,EAQtE,CAAA;AACD;;GAEG;AACH,eAAO,MAAM,iCAAiC,GAAI,KAAK,iBAAiB,KAAG,MAe1E,CAAA"}
1
+ {"version":3,"file":"versioned.d.ts","sourceRoot":"","sources":["../../../src/lib/document/versioned.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,sBAAsB,CAAA;AAExC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAMxC,eAAO,MAAM,iBAAiB;IAC5B;;;;;OAKG;;EAKH,CAAA;AAMF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAM7D,eAAO,MAAM,IAAI;;;;;;CAAyB,CAAA;AAM1C,eAAO,MAAM,EAAE;;;CAA0B,CAAA;AAMzC,eAAO,MAAM,MAAM;;;;;;kDAA8B,CAAA;AACjD,eAAO,MAAM,UAAU;;;;;;CAAkC,CAAA;AACzD,eAAO,MAAM,MAAM;;;;;;kDAA8B,CAAA;AAMjD;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,KAAK,iBAAiB,EACtB,SAAS,OAAO,CAAC,OAAO,KACvB,MAAM,CAAC,MAAM,CAAC,MAAM,CAetB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,iBAAiB,KAAG,OAAO,CAAC,OAAO,EAQtE,CAAA;AACD;;GAEG;AACH,eAAO,MAAM,iCAAiC,GAAI,KAAK,iBAAiB,KAAG,MAe1E,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { S } from '#lib/kit-temp/effect';
2
- import { VersionCoverage } from '#lib/version-selection/$';
2
+ import { VersionCoverage } from '#lib/version-coverage';
3
3
  import { Version } from '#lib/version/$';
4
4
  import { HashMap, Option } from 'effect';
5
5
  // ============================================================================
@@ -41,15 +41,15 @@ export const getContentForVersion = (doc, version) => {
41
41
  // Try exact match first (single version key)
42
42
  const exactMatch = HashMap.get(doc.versionDocuments, version);
43
43
  if (Option.isSome(exactMatch)) {
44
- return exactMatch.value;
44
+ return Option.some(exactMatch.value);
45
45
  }
46
46
  // Check version sets
47
47
  for (const [selection, content] of HashMap.entries(doc.versionDocuments)) {
48
48
  if (VersionCoverage.isSet(selection) && VersionCoverage.contains(selection, version)) {
49
- return content;
49
+ return Option.some(content);
50
50
  }
51
51
  }
52
- return null;
52
+ return Option.none();
53
53
  };
54
54
  /**
55
55
  * Get all individual versions covered by this document
@@ -73,10 +73,10 @@ export const getContentForLatestVersionOrThrow = (doc) => {
73
73
  }
74
74
  // Use Version.max with reduce to find the latest version
75
75
  const latestVersion = versions.reduce(Version.max);
76
- const content = getContentForVersion(doc, latestVersion);
77
- if (!content) {
76
+ const contentOption = getContentForVersion(doc, latestVersion);
77
+ if (Option.isNone(contentOption)) {
78
78
  throw new Error('Latest version not found in document');
79
79
  }
80
- return content;
80
+ return contentOption.value;
81
81
  };
82
82
  //# sourceMappingURL=versioned.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"versioned.js","sourceRoot":"","sources":["../../../src/lib/document/versioned.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"versioned.js","sourceRoot":"","sources":["../../../src/lib/document/versioned.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Catalog } from '#lib/catalog/$';
2
2
  import { Change } from '#lib/change/$';
3
3
  import { Revision } from '#lib/revision/$';
4
4
  import { Schema } from '#lib/schema/$';
5
+ import { Option } from 'effect';
5
6
  /**
6
7
  * A change entry tracking when a type or field was modified
7
8
  */
@@ -79,13 +80,13 @@ export declare const isFieldCurrentlyAvailable: (lifecycles: Lifecycles, typeNam
79
80
  /**
80
81
  * Get field lifecycle info (for compatibility with existing UI code)
81
82
  */
82
- export declare const getFieldLifecycle: (lifecycles: Lifecycles, typeName: string, fieldName: string) => {
83
+ export declare const getFieldLifecycle: (lifecycles: Lifecycles, typeName: string, fieldName: string) => Option.Option<{
83
84
  events: ChangeEntry[];
84
- } | undefined;
85
+ }>;
85
86
  /**
86
87
  * Get type lifecycle info (for compatibility with existing UI code)
87
88
  */
88
- export declare const getTypeLifecycle: (lifecycles: Lifecycles, typeName: string) => {
89
+ export declare const getTypeLifecycle: (lifecycles: Lifecycles, typeName: string) => Option.Option<{
89
90
  events: ChangeEntry[];
90
- } | undefined;
91
+ }>;
91
92
  //# sourceMappingURL=lifecycles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycles.d.ts","sourceRoot":"","sources":["../../../src/lib/lifecycles/lifecycles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAQtC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAA;IACrB,0CAA0C;IAC1C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAA;IAC3B,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;AAMtD;;GAEG;AACH,MAAM,MAAM,KAAK,GACb;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAA;CAAE,CAAA;AA2BhG;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,CAAC,MAAM,KAAG,UAsBxD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,SAAS,OAAO,CAAC,OAAO,KAAG,UAsCjD,CAAA;AAMD;;GAEG;AACH,eAAO,MAAM,YAAY,GACvB,YAAY,UAAU,EACtB,UAAU,MAAM,EAChB,gBAAgB,MAAM,CAAC,MAAM,KAC5B,KAAK,GAAG,SA8BV,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,YAAY,UAAU,EACtB,UAAU,MAAM,EAChB,iBAAiB,MAAM,KACtB,IAAI,GAAG,SA4BT,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,YAAY,UAAU,EACtB,UAAU,MAAM,EAChB,gBAAgB,MAAM,CAAC,MAAM,KAC5B,IAAI,GAAG,SA4CT,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,YAAY,UAAU,EAAE,UAAU,MAAM,KAAG,OAkBnF,CAAA;AAMD;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,YAAY,UAAU,EACtB,UAAU,MAAM,EAChB,WAAW,MAAM,EACjB,gBAAgB,MAAM,CAAC,MAAM,KAC5B,KAAK,GAAG,SA2CV,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,UAAU,EACtB,UAAU,MAAM,EAChB,WAAW,MAAM,EACjB,gBAAgB,MAAM,CAAC,MAAM,KAC5B,IAAI,GAAG,SAsCT,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,YAAY,UAAU,EACtB,UAAU,MAAM,EAChB,WAAW,MAAM,EACjB,gBAAgB,MAAM,CAAC,MAAM,KAC5B,IAAI,GAAG,SAgCT,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACpC,YAAY,UAAU,EACtB,UAAU,MAAM,EAChB,WAAW,MAAM,KAChB,OAcF,CAAA;AAMD;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,UAAU,EACtB,UAAU,MAAM,EAChB,WAAW,MAAM,KAChB;IAAE,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,GAAG,SAwB9B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,YAAY,UAAU,EAAE,UAAU,MAAM,KAAG;IAAE,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,GAAG,SAYvG,CAAA"}
1
+ {"version":3,"file":"lifecycles.d.ts","sourceRoot":"","sources":["../../../src/lib/lifecycles/lifecycles.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { Change } from '#lib/change/$';
3
3
  import { Revision } from '#lib/revision/$';
4
4
  import { Schema } from '#lib/schema/$';
5
5
  import { Version } from '#lib/version/$';
6
- import { Match } from 'effect';
6
+ import { Match, Option } from 'effect';
7
7
  // ============================================================================
8
8
  // Domain Logic - Create Function
9
9
  // ============================================================================
@@ -11,7 +11,7 @@ import { Match } from 'effect';
11
11
  * Extract the type name from a change
12
12
  */
13
13
  const extractTypeNameFromChange = (change) => {
14
- return Match.value(change).pipe(Match.tag('TYPE_ADDED', (c) => c.name), Match.tag('TYPE_REMOVED', (c) => c.name), Match.tag('FIELD_ADDED', (c) => c.typeName), Match.tag('FIELD_REMOVED', (c) => c.typeName), Match.tag('INPUT_FIELD_ADDED', (c) => c.inputName), Match.tag('INPUT_FIELD_REMOVED', (c) => c.inputName), Match.tag('ENUM_VALUE_ADDED', (c) => c.enumName), Match.tag('ENUM_VALUE_REMOVED', (c) => c.enumName), Match.tag('UNION_MEMBER_ADDED', (c) => c.unionName), Match.tag('UNION_MEMBER_REMOVED', (c) => c.unionName), Match.tag('OBJECT_TYPE_INTERFACE_ADDED', (c) => c.objectName), Match.tag('OBJECT_TYPE_INTERFACE_REMOVED', (c) => c.objectName), Match.orElse(() => null));
14
+ return Match.value(change).pipe(Match.tag('TYPE_ADDED', (c) => Option.some(c.name)), Match.tag('TYPE_REMOVED', (c) => Option.some(c.name)), Match.tag('FIELD_ADDED', (c) => Option.some(c.typeName)), Match.tag('FIELD_REMOVED', (c) => Option.some(c.typeName)), Match.tag('INPUT_FIELD_ADDED', (c) => Option.some(c.inputName)), Match.tag('INPUT_FIELD_REMOVED', (c) => Option.some(c.inputName)), Match.tag('ENUM_VALUE_ADDED', (c) => Option.some(c.enumName)), Match.tag('ENUM_VALUE_REMOVED', (c) => Option.some(c.enumName)), Match.tag('UNION_MEMBER_ADDED', (c) => Option.some(c.unionName)), Match.tag('UNION_MEMBER_REMOVED', (c) => Option.some(c.unionName)), Match.tag('OBJECT_TYPE_INTERFACE_ADDED', (c) => Option.some(c.objectName)), Match.tag('OBJECT_TYPE_INTERFACE_REMOVED', (c) => Option.some(c.objectName)), Match.orElse(() => Option.none()));
15
15
  };
16
16
  /**
17
17
  * Build lifecycle data from a single schema
@@ -22,8 +22,9 @@ export const createFromSchema = (schema) => {
22
22
  for (const revision of schema.revisions) {
23
23
  // Process all changes in this revision
24
24
  for (const change of revision.changes) {
25
- const typeName = extractTypeNameFromChange(change);
26
- if (typeName) {
25
+ const typeNameOption = extractTypeNameFromChange(change);
26
+ if (Option.isSome(typeNameOption)) {
27
+ const typeName = typeNameOption.value;
27
28
  if (!lifecycles[typeName]) {
28
29
  lifecycles[typeName] = [];
29
30
  }
@@ -47,8 +48,9 @@ export const create = (catalog) => {
47
48
  for (const revision of schema.revisions) {
48
49
  // Process all changes in this revision
49
50
  for (const change of revision.changes) {
50
- const typeName = extractTypeNameFromChange(change);
51
- if (typeName) {
51
+ const typeNameOption = extractTypeNameFromChange(change);
52
+ if (Option.isSome(typeNameOption)) {
53
+ const typeName = typeNameOption.value;
52
54
  if (!lifecycles[typeName]) {
53
55
  lifecycles[typeName] = [];
54
56
  }
@@ -354,7 +356,7 @@ export const isFieldCurrentlyAvailable = (lifecycles, typeName, fieldName) => {
354
356
  export const getFieldLifecycle = (lifecycles, typeName, fieldName) => {
355
357
  const entries = lifecycles[typeName];
356
358
  if (!entries)
357
- return undefined;
359
+ return Option.none();
358
360
  // Filter entries related to this specific field
359
361
  const fieldEntries = entries.filter(entry => {
360
362
  return (entry.change._tag === 'FIELD_ADDED'
@@ -371,9 +373,9 @@ export const getFieldLifecycle = (lifecycles, typeName, fieldName) => {
371
373
  && entry.change.fieldName === fieldName);
372
374
  });
373
375
  if (fieldEntries.length === 0)
374
- return undefined;
376
+ return Option.none();
375
377
  // Return in a format compatible with existing code that expects an object with events
376
- return { events: fieldEntries };
378
+ return Option.some({ events: fieldEntries });
377
379
  };
378
380
  /**
379
381
  * Get type lifecycle info (for compatibility with existing UI code)
@@ -381,13 +383,13 @@ export const getFieldLifecycle = (lifecycles, typeName, fieldName) => {
381
383
  export const getTypeLifecycle = (lifecycles, typeName) => {
382
384
  const entries = lifecycles[typeName];
383
385
  if (!entries)
384
- return undefined;
386
+ return Option.none();
385
387
  // Filter entries related to type-level changes
386
388
  const typeEntries = entries.filter(entry => {
387
389
  return entry.change._tag === 'TYPE_ADDED' || entry.change._tag === 'TYPE_REMOVED';
388
390
  });
389
391
  if (typeEntries.length === 0)
390
- return undefined;
391
- return { events: typeEntries };
392
+ return Option.none();
393
+ return Option.some({ events: typeEntries });
392
394
  };
393
395
  //# sourceMappingURL=lifecycles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycles.js","sourceRoot":"","sources":["../../../src/lib/lifecycles/lifecycles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycles.js","sourceRoot":"","sources":["../../../src/lib/lifecycles/lifecycles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './version-coverage.js';
2
+ //# sourceMappingURL=$$.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"$$.d.ts","sourceRoot":"","sources":["../../../src/lib/version-coverage/$$.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './version-coverage.js';
2
+ //# sourceMappingURL=$$.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"$$.js","sourceRoot":"","sources":["../../../src/lib/version-coverage/$$.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"$.d.ts","sourceRoot":"","sources":["../../../src/lib/version-coverage/$.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,SAAS,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"$.js","sourceRoot":"","sources":["../../../src/lib/version-coverage/$.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,SAAS,CAAA"}
@@ -39,4 +39,4 @@ export declare const toVersions: (versionCoverage: VersionCoverage) => Version.V
39
39
  * @throws {Error} If the version set is empty
40
40
  */
41
41
  export declare const getLatest: (versionCoverage: VersionCoverage) => Version.Version;
42
- //# sourceMappingURL=version-selection.d.ts.map
42
+ //# sourceMappingURL=version-coverage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-coverage.d.ts","sourceRoot":"","sources":["../../../src/lib/version-coverage/version-coverage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,sBAAsB,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAS,OAAO,EAAQ,MAAM,QAAQ,CAAA;AAM7C,eAAO,MAAM,kBAAkB,oOAAkB,CAAA;AACjD,eAAO,MAAM,kBAAkB,+OAA6B,CAAA;AAE5D;;;GAGG;AACH,eAAO,MAAM,eAAe,8dAM1B,CAAA;AAMF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,eAAe,CAAC,CAAA;AAUnE,eAAO,MAAM,EAAE,6VAAwB,CAAA;AAEvC,eAAO,MAAM,QAAQ,kNAAa,CAAA;AAElC,eAAO,MAAM,KAAK,GAAI,WAAW,eAAe,KAAG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CACvE,CAAA;AAMxB,eAAO,MAAM,MAAM,scAA4B,CAAA;AAC/C,eAAO,MAAM,UAAU,sXAAgC,CAAA;AACvD,eAAO,MAAM,MAAM,scAA4B,CAAA;AAC/C,eAAO,MAAM,UAAU,sXAAgC,CAAA;AAMvD,eAAO,MAAM,WAAW,8SAAiC,CAAA;AAMzD;;GAEG;AACH,eAAO,MAAM,QAAQ,GACnB,iBAAiB,eAAe,EAChC,SAAS,OAAO,CAAC,OAAO,KACvB,OAKF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,iBAAiB,eAAe,KAAG,MAE1D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,iBAAiB,eAAe,KAAG,OAAO,CAAC,OAAO,EAK5E,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,GAAI,iBAAiB,eAAe,KAAG,OAAO,CAAC,OAcpE,CAAA"}
@@ -35,7 +35,7 @@ export const encodeSync = S.encodeSync(VersionCoverage);
35
35
  // ============================================================================
36
36
  export const equivalence = S.equivalence(VersionCoverage);
37
37
  // ============================================================================
38
- // Domain Logic
38
+ // Domain Logic - Basic Operations
39
39
  // ============================================================================
40
40
  /**
41
41
  * Check if a version is contained in a selection
@@ -83,4 +83,4 @@ export const getLatest = (versionCoverage) => {
83
83
  // Reduce the array to find the maximum
84
84
  return versions.reduce((latest, current) => Version.max(latest, current));
85
85
  };
86
- //# sourceMappingURL=version-selection.js.map
86
+ //# sourceMappingURL=version-coverage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-coverage.js","sourceRoot":"","sources":["../../../src/lib/version-coverage/version-coverage.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Catalog } from '#lib/catalog/$';
2
2
  import { Document } from '#lib/document/$';
3
- import { VersionCoverage } from '#lib/version-selection/$';
3
+ import { VersionCoverage } from '#lib/version-coverage';
4
4
  import * as React from 'react';
5
5
  interface GraphQLDocumentProps {
6
6
  /** The document containing the GraphQL content */
@@ -1 +1 @@
1
- {"version":3,"file":"GraphQLDocument.d.ts","sourceRoot":"","sources":["../../../src/template/components/GraphQLDocument.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAK1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,UAAU,oBAAoB;IAC5B,kDAAkD;IAClD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAA;IAE3B,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAA;IAE3C,4DAA4D;IAC5D,yBAAyB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAE/C,oCAAoC;IACpC,uBAAuB,CAAC,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC,eAAe,KAAK,IAAI,CAAA;IAEpF,4CAA4C;IAC5C,uBAAuB,CAAC,EAAE,eAAe,CAAC,eAAe,GAAG,SAAS,CAAA;IAErE,6BAA6B;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAA;CACxC;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAkD1D,CAAA"}
1
+ {"version":3,"file":"GraphQLDocument.d.ts","sourceRoot":"","sources":["../../../src/template/components/GraphQLDocument.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,UAAU,oBAAoB;IAC5B,kDAAkD;IAClD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAA;IAE3B,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAA;IAE3C,4DAA4D;IAC5D,yBAAyB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAE/C,oCAAoC;IACpC,uBAAuB,CAAC,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC,eAAe,KAAK,IAAI,CAAA;IAEpF,4CAA4C;IAC5C,uBAAuB,CAAC,EAAE,eAAe,CAAC,eAAe,GAAG,SAAS,CAAA;IAErE,6BAA6B;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAA;CACxC;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAsD1D,CAAA"}
@@ -1,11 +1,8 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Catalog } from '#lib/catalog/$';
3
3
  import { Document } from '#lib/document/$';
4
- import { S } from '#lib/kit-temp/$';
5
- import { VersionCoverage } from '#lib/version-selection/$';
6
- import { VersionCoverageSet } from '#lib/version-selection/version-selection';
7
- import { Version } from '#lib/version/$';
8
- import { Array, HashMap, Match, Option } from 'effect';
4
+ import { VersionCoverage } from '#lib/version-coverage';
5
+ import { Either, Option } from 'effect';
9
6
  import * as React from 'react';
10
7
  import { useHighlighted } from '../hooks/use-highlighted.js';
11
8
  import { GraphQLInteractive } from './GraphQLInteractive/GraphQLInteractive.js';
@@ -17,7 +14,7 @@ import { VersionCoveragePicker } from './VersionCoveragePicker.js';
17
14
  export const GraphQLDocument = ({ document, schemaCatalog, showVersionCoveragePicker = true, onVersionCoverageChange, selectedVersionCoverage: controlledVersionCoverage, style, }) => {
18
15
  /// ━ VERSION MANAGEMENT
19
16
  const isControlled = controlledVersionCoverage !== undefined;
20
- const [internalVersionCoverage, setInternalVersionCoverage] = React.useState(Catalog.getLatestVersion(schemaCatalog));
17
+ const [internalVersionCoverage, setInternalVersionCoverage] = React.useState(Option.getOrNull(Catalog.getLatestVersion(schemaCatalog)));
21
18
  const selectedVersionCoverage = isControlled ? controlledVersionCoverage : internalVersionCoverage;
22
19
  const internalOnVersionChange = (version) => {
23
20
  if (!isControlled) {
@@ -26,43 +23,17 @@ export const GraphQLDocument = ({ document, schemaCatalog, showVersionCoveragePi
26
23
  onVersionCoverageChange?.(version);
27
24
  };
28
25
  /// ━ DATA RESOLUTION
29
- const { schema, content, } = resolveSelectedVerCov(document, selectedVersionCoverage, schemaCatalog);
26
+ const result = Document.resolveDocumentAndSchema(document, schemaCatalog, selectedVersionCoverage);
27
+ // Handle resolution errors gracefully
28
+ if (Either.isLeft(result)) {
29
+ console.error('Failed to resolve document and schema:', result.left.message);
30
+ return null;
31
+ }
32
+ const { schema, content } = result.right;
30
33
  const highlightedCode = useHighlighted(content, { interactive: true });
31
34
  if (!highlightedCode) {
32
35
  return null;
33
36
  }
34
37
  return (_jsx(GraphQLInteractive, { codeblock: highlightedCode, schema: schema?.definition, style: style, toolbar: () => (showVersionCoveragePicker && selectedVersionCoverage && (_jsx(VersionCoveragePicker, { document: document, schemaCatalog: schemaCatalog, current: selectedVersionCoverage, onChange: internalOnVersionChange }))) }));
35
38
  };
36
- const resolveSelectedVerCov = (document, selectedVersionCoverage, schemaCatalog) => {
37
- if (Document.Unversioned.is(document)) {
38
- return {
39
- content: document.document,
40
- schema: Match.value(schemaCatalog).pipe(Match.tagsExhaustive({
41
- CatalogUnversioned: (catalog) => catalog.schema,
42
- CatalogVersioned: (catalog) => Catalog.Versioned.getLatestOrThrow(catalog),
43
- })),
44
- };
45
- }
46
- return Match.value(selectedVersionCoverage).pipe(Match.whenOr(null, undefined, _ => {
47
- const content = Document.Versioned.getContentForLatestVersionOrThrow(document);
48
- return { content };
49
- }), Match.orElse(_ => {
50
- const version = VersionCoverage.getLatest(_);
51
- const content = Document.Versioned.getContentForVersion(document, version);
52
- if (!content) {
53
- throw new Error(`Version ${Version.encodeSync(version)} not covered by document`);
54
- }
55
- if (!schemaCatalog)
56
- return { version, content };
57
- if (Catalog.Unversioned.is(schemaCatalog)) {
58
- throw new Error('Cannot use a set of versions with an unversioned catalog');
59
- }
60
- const schemaOption = HashMap.get(schemaCatalog.entries, version);
61
- if (Option.isNone(schemaOption)) {
62
- throw new Error(`Version ${Version.encodeSync(version)} not found in catalog`);
63
- }
64
- const schema = Option.getOrThrow(schemaOption);
65
- return { content, schema: schema };
66
- }));
67
- };
68
39
  //# sourceMappingURL=GraphQLDocument.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GraphQLDocument.js","sourceRoot":"","sources":["../../../src/template/components/GraphQLDocument.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GraphQLDocument.js","sourceRoot":"","sources":["../../../src/template/components/GraphQLDocument.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAsBlE;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmC,CAAC,EAC9D,QAAQ,EACR,aAAa,EACb,yBAAyB,GAAG,IAAI,EAChC,uBAAuB,EACvB,uBAAuB,EAAE,yBAAyB,EAClD,KAAK,GACN,EAAE,EAAE;IACH,wBAAwB;IACxB,MAAM,YAAY,GAAG,yBAAyB,KAAK,SAAS,CAAA;IAC5D,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,KAAK,CAAC,QAAQ,CAC1E,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAC1D,CAAA;IACD,MAAM,uBAAuB,GAAG,YAAY,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,uBAAuB,CAAA;IAClG,MAAM,uBAAuB,GAAG,CAAC,OAAwC,EAAE,EAAE;QAC3E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,0BAA0B,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC;QACD,uBAAuB,EAAE,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC,CAAA;IAED,qBAAqB;IACrB,MAAM,MAAM,GAAG,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,EAAE,aAAa,EAAE,uBAAuB,CAAC,CAAA;IAElG,sCAAsC;IACtC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5E,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,CAAA;IACxC,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtE,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,KAAC,kBAAkB,IACjB,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,MAAM,EAAE,UAAU,EAC1B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,yBAAyB,IAAI,uBAAuB,IAAI,CACtD,KAAC,qBAAqB,IACpB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAc,EAC7B,OAAO,EAAE,uBAAuB,EAChC,QAAQ,EAAE,uBAAuB,GACjC,CACH,CACF,GACD,CACH,CAAA;AACH,CAAC,CAAA"}
@@ -5,6 +5,7 @@
5
5
  * analysis to create unified tokens for interactive code blocks.
6
6
  */
7
7
  import type { CodeAnnotation } from 'codehike/code';
8
+ import { Either } from 'effect';
8
9
  import { type GraphQLSchema } from 'graphql';
9
10
  import * as WebTreeSitter from 'web-tree-sitter';
10
11
  import type { SemanticNode } from './semantic-nodes.js';
@@ -59,6 +60,32 @@ export interface GraphQLToken {
59
60
  annotations: CodeAnnotation[];
60
61
  };
61
62
  }
63
+ /**
64
+ * Error types for GraphQL parsing
65
+ */
66
+ export type ParseError = {
67
+ readonly _tag: 'InvalidInput';
68
+ readonly message: string;
69
+ } | {
70
+ readonly _tag: 'DocumentTooLarge';
71
+ readonly maxSize: number;
72
+ readonly actualSize: number;
73
+ } | {
74
+ readonly _tag: 'TreeSitterError';
75
+ readonly message: string;
76
+ } | {
77
+ readonly _tag: 'ParserInitError';
78
+ readonly message: string;
79
+ };
80
+ /**
81
+ * Parse GraphQL code into interactive tokens with semantic information (Either version)
82
+ *
83
+ * @param code - The raw GraphQL code to parse
84
+ * @param annotations - CodeHike annotations that might affect rendering
85
+ * @param schema - Optional GraphQL schema for semantic analysis
86
+ * @returns Either with array of tokens on right or ParseError on left
87
+ */
88
+ export declare function parseGraphQLWithTreeSitterEither(code: string, annotations?: CodeAnnotation[], schema?: GraphQLSchema): Promise<Either.Either<GraphQLToken[], ParseError>>;
62
89
  /**
63
90
  * Parse GraphQL code into interactive tokens with semantic information
64
91
  *
@@ -66,6 +93,7 @@ export interface GraphQLToken {
66
93
  * @param annotations - CodeHike annotations that might affect rendering
67
94
  * @param schema - Optional GraphQL schema for semantic analysis
68
95
  * @returns Array of tokens representing the parsed code
96
+ * @deprecated Use parseGraphQLWithTreeSitterEither for better error handling
69
97
  */
70
98
  export declare function parseGraphQLWithTreeSitter(code: string, annotations?: CodeAnnotation[], schema?: GraphQLSchema): Promise<GraphQLToken[]>;
71
99
  //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../../src/template/components/GraphQLInteractive/lib/parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EASL,KAAK,aAAa,EAInB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAA;AAGhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAWvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,cAAc,EAAE,aAAa,CAAC,IAAI,CAAA;IAElC;;;OAGG;IACH,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAA;IAElC,iEAAiE;IACjE,IAAI,IAAI,IAAI,MAAM,CAAA;IAElB,mFAAmF;IACnF,IAAI,KAAK,IAAI,MAAM,CAAA;IAEnB,iFAAiF;IACjF,IAAI,GAAG,IAAI,MAAM,CAAA;IAEjB,yEAAyE;IACzE,KAAK,EAAE;QACL,sEAAsE;QACtE,aAAa,EAAE,MAAM,OAAO,CAAA;QAC5B,sEAAsE;QACtE,eAAe,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;KACrC,CAAA;IAED,wCAAwC;IACxC,WAAW,EAAE;QACX,oDAAoD;QACpD,WAAW,EAAE,MAAM,MAAM,CAAA;KAC1B,CAAA;IAED,4DAA4D;IAC5D,QAAQ,EAAE;QACR,6DAA6D;QAC7D,WAAW,EAAE,cAAc,EAAE,CAAA;KAC9B,CAAA;CACF;AA0ZD;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,MAAM,EACZ,WAAW,GAAE,cAAc,EAAO,EAClC,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,EAAE,CAAC,CAiDzB"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../../src/template/components/GraphQLInteractive/lib/parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EASL,KAAK,aAAa,EAInB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAA;AAGhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAWvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,cAAc,EAAE,aAAa,CAAC,IAAI,CAAA;IAElC;;;OAGG;IACH,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAA;IAElC,iEAAiE;IACjE,IAAI,IAAI,IAAI,MAAM,CAAA;IAElB,mFAAmF;IACnF,IAAI,KAAK,IAAI,MAAM,CAAA;IAEnB,iFAAiF;IACjF,IAAI,GAAG,IAAI,MAAM,CAAA;IAEjB,yEAAyE;IACzE,KAAK,EAAE;QACL,sEAAsE;QACtE,aAAa,EAAE,MAAM,OAAO,CAAA;QAC5B,sEAAsE;QACtE,eAAe,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;KACrC,CAAA;IAED,wCAAwC;IACxC,WAAW,EAAE;QACX,oDAAoD;QACpD,WAAW,EAAE,MAAM,MAAM,CAAA;KAC1B,CAAA;IAED,4DAA4D;IAC5D,QAAQ,EAAE;QACR,6DAA6D;QAC7D,WAAW,EAAE,cAAc,EAAE,CAAA;KAC9B,CAAA;CACF;AA0ZD;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC5F;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAalE;;;;;;;GAOG;AACH,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,MAAM,EACZ,WAAW,GAAE,cAAc,EAAO,EAClC,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,UAAU,CAAC,CAAC,CA4CpD;AAED;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,MAAM,EACZ,WAAW,GAAE,cAAc,EAAO,EAClC,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,EAAE,CAAC,CAqBzB"}
@@ -5,6 +5,7 @@
5
5
  * analysis to create unified tokens for interactive code blocks.
6
6
  */
7
7
  import { Api } from '#api/iso';
8
+ import { Either } from 'effect';
8
9
  import { getNamedType, GraphQLEnumType, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLObjectType, GraphQLScalarType, GraphQLUnionType, isInterfaceType, isObjectType, } from 'graphql';
9
10
  import graphqlWasmUrl from 'tree-sitter-graphql-grammar-wasm/grammar.wasm?url';
10
11
  import * as WebTreeSitter from 'web-tree-sitter';
@@ -367,58 +368,90 @@ class SemanticContext {
367
368
  this.operationType = null;
368
369
  }
369
370
  }
371
+ const makeParseError = {
372
+ invalidInput: (message) => ({ _tag: 'InvalidInput', message }),
373
+ documentTooLarge: (maxSize, actualSize) => ({
374
+ _tag: 'DocumentTooLarge',
375
+ maxSize,
376
+ actualSize,
377
+ }),
378
+ treeSitterError: (message) => ({ _tag: 'TreeSitterError', message }),
379
+ parserInitError: (message) => ({ _tag: 'ParserInitError', message }),
380
+ };
370
381
  /**
371
- * Parse GraphQL code into interactive tokens with semantic information
382
+ * Parse GraphQL code into interactive tokens with semantic information (Either version)
372
383
  *
373
384
  * @param code - The raw GraphQL code to parse
374
385
  * @param annotations - CodeHike annotations that might affect rendering
375
386
  * @param schema - Optional GraphQL schema for semantic analysis
376
- * @returns Array of tokens representing the parsed code
387
+ * @returns Either with array of tokens on right or ParseError on left
377
388
  */
378
- export async function parseGraphQLWithTreeSitter(code, annotations = [], schema) {
389
+ export async function parseGraphQLWithTreeSitterEither(code, annotations = [], schema) {
379
390
  // Validate input
380
391
  if (!code || typeof code !== 'string') {
381
- throw new Error('Invalid GraphQL code: code must be a non-empty string');
392
+ return Either.left(makeParseError.invalidInput('Invalid GraphQL code: code must be a non-empty string'));
382
393
  }
383
394
  // Prevent parsing extremely large documents that could cause performance issues
384
- if (code.length > 100_000) {
385
- throw new Error('GraphQL document too large: maximum 100,000 characters allowed');
395
+ const maxSize = 100_000;
396
+ if (code.length > maxSize) {
397
+ return Either.left(makeParseError.documentTooLarge(maxSize, code.length));
386
398
  }
387
399
  // Step 1: Parse with tree-sitter
388
- const parser = await getParser();
400
+ let parser;
401
+ try {
402
+ parser = await getParser();
403
+ }
404
+ catch (error) {
405
+ return Either.left(makeParseError.parserInitError(error instanceof Error ? error.message : 'Failed to initialize parser'));
406
+ }
389
407
  const tree = parser.parse(code);
390
408
  if (!tree) {
391
- throw new Error('Tree-sitter failed to parse GraphQL code');
409
+ return Either.left(makeParseError.treeSitterError('Tree-sitter failed to parse GraphQL code'));
392
410
  }
393
- // Check if tree-sitter found syntax errors (disabled for now as it may be too strict)
394
- // if (tree.rootNode.hasError) {
395
- // throw new Error('GraphQL syntax error detected by tree-sitter parser')
396
- // }
397
411
  try {
398
412
  // Step 2: Walk tree and attach semantics
399
413
  const tokens = collectTokensWithSemantics(tree, code, schema, annotations);
400
414
  // Step 3: Add error hint tokens after invalid fields
401
415
  const tokensWithHints = addErrorHintTokens(tokens, code, annotations);
402
- return tokensWithHints;
416
+ return Either.right(tokensWithHints);
417
+ }
418
+ catch (error) {
419
+ return Either.left(makeParseError.treeSitterError(error instanceof Error ? error.message : 'Failed to process tokens'));
403
420
  }
404
421
  finally {
405
- // ## Tree-sitter Resource Lifecycle Management
406
- //
407
- // Tree-sitter creates native WASM objects that must be explicitly freed to prevent memory leaks.
408
- // The tree object holds references to parsed nodes and internal parser state that won't be
409
- // garbage collected automatically by JavaScript.
410
- //
411
- // Critical cleanup points:
412
- // 1. Always call tree.delete() in a finally block to ensure cleanup even on errors
413
- // 2. Do not access tree or any of its nodes after calling delete()
414
- // 3. The parser instance is cached globally and reused across multiple parsing calls
415
- //
416
- // Memory safety: Once tree.delete() is called, all WebTreeSitter.Node references become invalid.
417
- // Our tokens hold references to these nodes, but only use their text and position properties
418
- // which are copied during token creation, so the nodes can be safely deleted.
422
+ // Tree-sitter Resource Lifecycle Management
419
423
  tree.delete();
420
424
  }
421
425
  }
426
+ /**
427
+ * Parse GraphQL code into interactive tokens with semantic information
428
+ *
429
+ * @param code - The raw GraphQL code to parse
430
+ * @param annotations - CodeHike annotations that might affect rendering
431
+ * @param schema - Optional GraphQL schema for semantic analysis
432
+ * @returns Array of tokens representing the parsed code
433
+ * @deprecated Use parseGraphQLWithTreeSitterEither for better error handling
434
+ */
435
+ export async function parseGraphQLWithTreeSitter(code, annotations = [], schema) {
436
+ const result = await parseGraphQLWithTreeSitterEither(code, annotations, schema);
437
+ if (Either.isLeft(result)) {
438
+ const error = result.left;
439
+ switch (error._tag) {
440
+ case 'InvalidInput':
441
+ throw new Error(error.message);
442
+ case 'DocumentTooLarge':
443
+ throw new Error(`GraphQL document too large: maximum ${error.maxSize} characters allowed`);
444
+ case 'TreeSitterError':
445
+ case 'ParserInitError':
446
+ throw new Error(error.message);
447
+ default: {
448
+ const exhaustiveCheck = error;
449
+ throw new Error(`Unhandled parse error: ${JSON.stringify(exhaustiveCheck)}`);
450
+ }
451
+ }
452
+ }
453
+ return result.right;
454
+ }
422
455
  /**
423
456
  * Get or create the tree-sitter parser instance
424
457
  */