@8lines/gauntlet-protocol 0.1.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 (91) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +265 -0
  3. package/dist/environment.d.ts +3 -0
  4. package/dist/environment.d.ts.map +1 -0
  5. package/dist/environment.js +32 -0
  6. package/dist/environment.js.map +1 -0
  7. package/dist/identifiers.d.ts +4 -0
  8. package/dist/identifiers.d.ts.map +1 -0
  9. package/dist/identifiers.js +5 -0
  10. package/dist/identifiers.js.map +1 -0
  11. package/dist/index.d.ts +8 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +8 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/placements.d.ts +5 -0
  16. package/dist/placements.d.ts.map +1 -0
  17. package/dist/placements.js +99 -0
  18. package/dist/placements.js.map +1 -0
  19. package/dist/portable-pattern.d.ts +2 -0
  20. package/dist/portable-pattern.d.ts.map +1 -0
  21. package/dist/portable-pattern.js +450 -0
  22. package/dist/portable-pattern.js.map +1 -0
  23. package/dist/preset-secrets.d.ts +7 -0
  24. package/dist/preset-secrets.d.ts.map +1 -0
  25. package/dist/preset-secrets.js +694 -0
  26. package/dist/preset-secrets.js.map +1 -0
  27. package/dist/revision.d.ts +11 -0
  28. package/dist/revision.d.ts.map +1 -0
  29. package/dist/revision.js +135 -0
  30. package/dist/revision.js.map +1 -0
  31. package/dist/schema-profile.d.ts +5 -0
  32. package/dist/schema-profile.d.ts.map +1 -0
  33. package/dist/schema-profile.js +295 -0
  34. package/dist/schema-profile.js.map +1 -0
  35. package/dist/semantic-validation.d.ts +24 -0
  36. package/dist/semantic-validation.d.ts.map +1 -0
  37. package/dist/semantic-validation.js +321 -0
  38. package/dist/semantic-validation.js.map +1 -0
  39. package/dist/types.d.ts +437 -0
  40. package/dist/types.d.ts.map +1 -0
  41. package/dist/types.js +2 -0
  42. package/dist/types.js.map +1 -0
  43. package/fixtures/v1/adapter-semantic-vectors.json +3257 -0
  44. package/fixtures/v1/adapter-semantic-vectors.schema.json +519 -0
  45. package/fixtures/v1/create-run-request.valid.json +33 -0
  46. package/fixtures/v1/data-source-page.valid.json +18 -0
  47. package/fixtures/v1/data-source-query.valid.json +12 -0
  48. package/fixtures/v1/data-source-resolve-request.valid.json +10 -0
  49. package/fixtures/v1/data-source-resolve-response.valid.json +17 -0
  50. package/fixtures/v1/health.valid.json +4 -0
  51. package/fixtures/v1/jcs-revision-vectors.json +114 -0
  52. package/fixtures/v1/manifest.invalid-major-version.json +18 -0
  53. package/fixtures/v1/manifest.invalid-unknown-property.json +27 -0
  54. package/fixtures/v1/manifest.minor-forward.valid.json +142 -0
  55. package/fixtures/v1/manifest.valid.json +137 -0
  56. package/fixtures/v1/operation.invalid-remote-ref.json +28 -0
  57. package/fixtures/v1/operation.invalid-schema-profile.json +28 -0
  58. package/fixtures/v1/operation.invalid-unsafe-id.json +28 -0
  59. package/fixtures/v1/operation.valid.json +227 -0
  60. package/fixtures/v1/problem.unsupported-capability.valid.json +7 -0
  61. package/fixtures/v1/problem.valid.json +8 -0
  62. package/fixtures/v1/problem.validation.valid.json +16 -0
  63. package/fixtures/v1/run-event.valid.json +21 -0
  64. package/fixtures/v1/run.cancelled.valid.json +17 -0
  65. package/fixtures/v1/run.failed.valid.json +32 -0
  66. package/fixtures/v1/run.invalid-active-problem.json +16 -0
  67. package/fixtures/v1/run.invalid-cancelled-problem.json +17 -0
  68. package/fixtures/v1/run.invalid-terminal-without-problem.json +12 -0
  69. package/fixtures/v1/run.invalid-timed-out-status.json +18 -0
  70. package/fixtures/v1/run.queued.valid.json +15 -0
  71. package/fixtures/v1/run.succeeded.valid.json +68 -0
  72. package/fixtures/v1/run.timed-out.valid.json +18 -0
  73. package/fixtures/v1/session-launch.valid.json +5 -0
  74. package/fixtures/v1/tc-schema-core-pattern-vectors.json +450 -0
  75. package/fixtures/v1/upload-response.valid.json +11 -0
  76. package/openapi/adapter-v1.yaml +251 -0
  77. package/package.json +41 -0
  78. package/schemas/v1/common.schema.json +558 -0
  79. package/schemas/v1/create-run-request.schema.json +16 -0
  80. package/schemas/v1/data-source-page.schema.json +15 -0
  81. package/schemas/v1/data-source-query.schema.json +14 -0
  82. package/schemas/v1/data-source-resolve-request.schema.json +16 -0
  83. package/schemas/v1/data-source-resolve-response.schema.json +27 -0
  84. package/schemas/v1/health.schema.json +12 -0
  85. package/schemas/v1/manifest.schema.json +147 -0
  86. package/schemas/v1/operation-definition.schema.json +326 -0
  87. package/schemas/v1/problem.schema.json +5 -0
  88. package/schemas/v1/run-event.schema.json +15 -0
  89. package/schemas/v1/run.schema.json +95 -0
  90. package/schemas/v1/session-launch.schema.json +13 -0
  91. package/schemas/v1/upload.schema.json +11 -0
@@ -0,0 +1,450 @@
1
+ {
2
+ "profile": "tc-schema-core@1",
3
+ "semantics": "ecmascript-unicode-search",
4
+ "instanceDomain": "unicode-scalar-sequences",
5
+ "vectors": [
6
+ {
7
+ "name": "literal-search-is-case-sensitive",
8
+ "sourceJson": "\"needle\"",
9
+ "valid": true,
10
+ "matches": ["needle", "hayneedle-stack"],
11
+ "nonMatches": ["Needle", "haystack"]
12
+ },
13
+ {
14
+ "name": "anchored-portable-id",
15
+ "sourceJson": "\"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$\"",
16
+ "valid": true,
17
+ "matches": ["a", "operation:1"],
18
+ "nonMatches": ["", "unsafe/id"]
19
+ },
20
+ {
21
+ "name": "disjoint-alternation",
22
+ "sourceJson": "\"^(cat|dog)$\"",
23
+ "valid": true,
24
+ "matches": ["cat", "dog"],
25
+ "nonMatches": ["Cat", "catalog"]
26
+ },
27
+ {
28
+ "name": "capturing-group",
29
+ "sourceJson": "\"^(ab)+$\"",
30
+ "valid": true,
31
+ "matches": ["ab", "abab"],
32
+ "nonMatches": ["", "aba"]
33
+ },
34
+ {
35
+ "name": "noncapturing-group",
36
+ "sourceJson": "\"^(?:ab|cd)$\"",
37
+ "valid": true,
38
+ "matches": ["ab", "cd"],
39
+ "nonMatches": ["ad", "abcd"]
40
+ },
41
+ {
42
+ "name": "ordinary-class-ranges-and-negation",
43
+ "sourceJson": "\"^[A-Za-z0-9][^~/]*$\"",
44
+ "valid": true,
45
+ "matches": ["a", "A_9"],
46
+ "nonMatches": ["", "a/b", "a~b"]
47
+ },
48
+ {
49
+ "name": "external-escaped-backslash",
50
+ "sourceJson": "\"\\\\\\\\\"",
51
+ "valid": true,
52
+ "matches": ["\\"],
53
+ "nonMatches": ["/"]
54
+ },
55
+ {
56
+ "name": "external-escaped-caret",
57
+ "sourceJson": "\"\\\\^\"",
58
+ "valid": true,
59
+ "matches": ["^"],
60
+ "nonMatches": ["x"]
61
+ },
62
+ {
63
+ "name": "external-escaped-dollar",
64
+ "sourceJson": "\"\\\\$\"",
65
+ "valid": true,
66
+ "matches": ["$"],
67
+ "nonMatches": ["x"]
68
+ },
69
+ {
70
+ "name": "external-escaped-dot",
71
+ "sourceJson": "\"\\\\.\"",
72
+ "valid": true,
73
+ "matches": ["."],
74
+ "nonMatches": ["x"]
75
+ },
76
+ {
77
+ "name": "external-escaped-star",
78
+ "sourceJson": "\"\\\\*\"",
79
+ "valid": true,
80
+ "matches": ["*"],
81
+ "nonMatches": ["x"]
82
+ },
83
+ {
84
+ "name": "external-escaped-plus",
85
+ "sourceJson": "\"\\\\+\"",
86
+ "valid": true,
87
+ "matches": ["+"],
88
+ "nonMatches": ["x"]
89
+ },
90
+ {
91
+ "name": "external-escaped-question",
92
+ "sourceJson": "\"\\\\?\"",
93
+ "valid": true,
94
+ "matches": ["?"],
95
+ "nonMatches": ["x"]
96
+ },
97
+ {
98
+ "name": "external-escaped-open-paren",
99
+ "sourceJson": "\"\\\\(\"",
100
+ "valid": true,
101
+ "matches": ["("],
102
+ "nonMatches": ["x"]
103
+ },
104
+ {
105
+ "name": "external-escaped-close-paren",
106
+ "sourceJson": "\"\\\\)\"",
107
+ "valid": true,
108
+ "matches": [")"],
109
+ "nonMatches": ["x"]
110
+ },
111
+ {
112
+ "name": "external-escaped-open-class",
113
+ "sourceJson": "\"\\\\[\"",
114
+ "valid": true,
115
+ "matches": ["["],
116
+ "nonMatches": ["x"]
117
+ },
118
+ {
119
+ "name": "external-escaped-close-class",
120
+ "sourceJson": "\"\\\\]\"",
121
+ "valid": true,
122
+ "matches": ["]"],
123
+ "nonMatches": ["x"]
124
+ },
125
+ {
126
+ "name": "external-escaped-open-brace",
127
+ "sourceJson": "\"\\\\{\"",
128
+ "valid": true,
129
+ "matches": ["{"],
130
+ "nonMatches": ["x"]
131
+ },
132
+ {
133
+ "name": "external-escaped-close-brace",
134
+ "sourceJson": "\"\\\\}\"",
135
+ "valid": true,
136
+ "matches": ["}"],
137
+ "nonMatches": ["x"]
138
+ },
139
+ {
140
+ "name": "external-escaped-alternation",
141
+ "sourceJson": "\"\\\\|\"",
142
+ "valid": true,
143
+ "matches": ["|"],
144
+ "nonMatches": ["x"]
145
+ },
146
+ {
147
+ "name": "external-escaped-slash",
148
+ "sourceJson": "\"\\\\/\"",
149
+ "valid": true,
150
+ "matches": ["/"],
151
+ "nonMatches": ["x"]
152
+ },
153
+ {
154
+ "name": "class-escaped-backslash",
155
+ "sourceJson": "\"^[\\\\\\\\]$\"",
156
+ "valid": true,
157
+ "matches": ["\\"],
158
+ "nonMatches": ["/"]
159
+ },
160
+ {
161
+ "name": "class-escaped-close-bracket",
162
+ "sourceJson": "\"^[\\\\]]$\"",
163
+ "valid": true,
164
+ "matches": ["]"],
165
+ "nonMatches": ["["]
166
+ },
167
+ {
168
+ "name": "class-escaped-caret",
169
+ "sourceJson": "\"^[\\\\^]$\"",
170
+ "valid": true,
171
+ "matches": ["^"],
172
+ "nonMatches": ["x"]
173
+ },
174
+ {
175
+ "name": "class-escaped-hyphen",
176
+ "sourceJson": "\"^[\\\\-]$\"",
177
+ "valid": true,
178
+ "matches": ["-"],
179
+ "nonMatches": ["x"]
180
+ },
181
+ {
182
+ "name": "optional-quantifier",
183
+ "sourceJson": "\"^colou?r$\"",
184
+ "valid": true,
185
+ "matches": ["color", "colour"],
186
+ "nonMatches": ["colouur"]
187
+ },
188
+ {
189
+ "name": "star-quantifier",
190
+ "sourceJson": "\"^ab*$\"",
191
+ "valid": true,
192
+ "matches": ["a", "abbb"],
193
+ "nonMatches": ["b", "aba"]
194
+ },
195
+ {
196
+ "name": "plus-quantifier",
197
+ "sourceJson": "\"^ab+$\"",
198
+ "valid": true,
199
+ "matches": ["ab", "abbb"],
200
+ "nonMatches": ["a", "aba"]
201
+ },
202
+ {
203
+ "name": "exact-quantifier",
204
+ "sourceJson": "\"^a{2}$\"",
205
+ "valid": true,
206
+ "matches": ["aa"],
207
+ "nonMatches": ["a", "aaa"]
208
+ },
209
+ {
210
+ "name": "minimum-quantifier",
211
+ "sourceJson": "\"^a{2,}$\"",
212
+ "valid": true,
213
+ "matches": ["aa", "aaaa"],
214
+ "nonMatches": ["a"]
215
+ },
216
+ {
217
+ "name": "bounded-quantifier",
218
+ "sourceJson": "\"^a{2,4}$\"",
219
+ "valid": true,
220
+ "matches": ["aa", "aaaa"],
221
+ "nonMatches": ["a", "aaaaa"]
222
+ },
223
+ {
224
+ "name": "maximum-portable-bound",
225
+ "sourceJson": "\"^a{1000}$\"",
226
+ "valid": true,
227
+ "matches": [],
228
+ "nonMatches": ["a"]
229
+ },
230
+ {
231
+ "name": "zero-exact-bound",
232
+ "sourceJson": "\"^a{0}$\"",
233
+ "valid": true,
234
+ "matches": [""],
235
+ "nonMatches": ["a"]
236
+ },
237
+ {
238
+ "name": "anchored-unbounded-counterexample",
239
+ "sourceJson": "\"^a*b$\"",
240
+ "valid": true,
241
+ "matches": ["b", "aaab"],
242
+ "nonMatches": ["aaaa", "ba"]
243
+ },
244
+ {
245
+ "name": "shared-anchor-nested-alternation-counterexample",
246
+ "sourceJson": "\"^(?:a+|b{2,})c$\"",
247
+ "valid": true,
248
+ "matches": ["ac", "aaac", "bbc", "bbbbc"],
249
+ "nonMatches": ["c", "abc"]
250
+ },
251
+ {
252
+ "name": "unanchored-bounded-search-counterexample",
253
+ "sourceJson": "\"a{2,4}b\"",
254
+ "valid": true,
255
+ "matches": ["aab", "xxaaabyy"],
256
+ "nonMatches": ["ab", "aaaaa"]
257
+ },
258
+ {
259
+ "name": "zero-repeat-discards-nullable-body",
260
+ "sourceJson": "\"^(?:a*){0}$\"",
261
+ "valid": true,
262
+ "matches": [""],
263
+ "nonMatches": ["a"]
264
+ },
265
+ {
266
+ "name": "raw-bmp-scalar",
267
+ "sourceJson": "\"\\u03bb\"",
268
+ "valid": true,
269
+ "matches": ["\u03bb"],
270
+ "nonMatches": ["l"]
271
+ },
272
+ {
273
+ "name": "raw-supplementary-scalar",
274
+ "sourceJson": "\"\\ud83d\\ude00\"",
275
+ "valid": true,
276
+ "matches": ["\ud83d\ude00"],
277
+ "nonMatches": [":)"]
278
+ },
279
+ {
280
+ "name": "epsilon-suffix-failure-regression",
281
+ "sourceJson": "\"^(?:(?:|)a)+b$\"",
282
+ "valid": false
283
+ },
284
+ {
285
+ "name": "multiple-epsilon-paths-in-repeated-group",
286
+ "sourceJson": "\"^(?:(?:|)a)*$\"",
287
+ "valid": false
288
+ },
289
+ {
290
+ "name": "nested-nullable-optional",
291
+ "sourceJson": "\"^(?:a?)?$\"",
292
+ "valid": false
293
+ },
294
+ {
295
+ "name": "indirect-multiple-nullable-alternatives",
296
+ "sourceJson": "\"^(?:a?|b?)$\"",
297
+ "valid": false
298
+ },
299
+ {
300
+ "name": "unanchored-star-search",
301
+ "sourceJson": "\"a*b\"",
302
+ "valid": false
303
+ },
304
+ {
305
+ "name": "unanchored-plus-search",
306
+ "sourceJson": "\"a+b\"",
307
+ "valid": false
308
+ },
309
+ {
310
+ "name": "unanchored-open-bound-search",
311
+ "sourceJson": "\"a{2,}b\"",
312
+ "valid": false
313
+ },
314
+ {
315
+ "name": "top-level-alternation-bypasses-anchor",
316
+ "sourceJson": "\"^a|b*\"",
317
+ "valid": false
318
+ },
319
+ {
320
+ "name": "escaped-caret-is-not-root-anchor",
321
+ "sourceJson": "\"\\\\^a*\"",
322
+ "valid": false
323
+ },
324
+ {
325
+ "name": "surrogate-overlap-backtracking-regression",
326
+ "sourceJson": "\"^(?:[\\ud7ff-\\ue000]|[^\\ud7ff\\ue000]){24}$\"",
327
+ "valid": false
328
+ },
329
+ {
330
+ "name": "ordinary-range-across-surrogate-gap",
331
+ "sourceJson": "\"^[\\ud7ff-\\ue000]$\"",
332
+ "valid": false
333
+ },
334
+ {
335
+ "name": "repository-version-pattern",
336
+ "sourceJson": "\"^1\\\\.(0|[1-9][0-9]*)$\"",
337
+ "valid": true,
338
+ "matches": ["1.0", "1.12"],
339
+ "nonMatches": ["1.01", "2.0"]
340
+ },
341
+ {
342
+ "name": "repository-profile-pattern",
343
+ "sourceJson": "\"^[A-Za-z0-9][A-Za-z0-9._:-]*@[1-9][0-9]*$\"",
344
+ "valid": true,
345
+ "matches": ["tc-schema-core@1", "x@20"],
346
+ "nonMatches": ["@1", "x@0"]
347
+ },
348
+ {
349
+ "name": "repository-sha256-pattern",
350
+ "sourceJson": "\"^sha256:[0-9a-f]{64}$\"",
351
+ "valid": true,
352
+ "matches": ["sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"],
353
+ "nonMatches": ["sha256:ABCDEF", "sha256:00"]
354
+ },
355
+ {
356
+ "name": "repository-http-pattern",
357
+ "sourceJson": "\"^[Hh][Tt][Tt][Pp][Ss]?://\"",
358
+ "valid": true,
359
+ "matches": ["https://example.test", "HTTP://example.test"],
360
+ "nonMatches": ["ftp://example.test"]
361
+ },
362
+ {
363
+ "name": "repository-json-pointer-pattern",
364
+ "sourceJson": "\"^(?:/(?:[^~/]|~[01])*)*$\"",
365
+ "valid": true,
366
+ "matches": ["", "/a", "/a~1b/~0"],
367
+ "nonMatches": ["a", "/bad~2escape"]
368
+ },
369
+ {
370
+ "name": "repository-urn-pattern",
371
+ "sourceJson": "\"^urn:[A-Za-z0-9][A-Za-z0-9:._/-]*$\"",
372
+ "valid": true,
373
+ "matches": ["urn:x", "urn:gauntlet:problem:x-1"],
374
+ "nonMatches": ["URN:x", "urn:"]
375
+ },
376
+ {
377
+ "name": "repository-problem-urn-pattern",
378
+ "sourceJson": "\"^urn:gauntlet:problem:[A-Za-z0-9][A-Za-z0-9._:-]*$\"",
379
+ "valid": true,
380
+ "matches": ["urn:gauntlet:problem:x", "urn:gauntlet:problem:handler-failed"],
381
+ "nonMatches": ["urn:gauntlet:problem:", "urn:gauntlet:x"]
382
+ },
383
+ {
384
+ "name": "absolute-final-dollar",
385
+ "sourceJson": "\"end$\"",
386
+ "valid": true,
387
+ "matches": ["end", "the end"],
388
+ "nonMatches": ["end\n", "end\r", "end\u2028", "end\u2029"]
389
+ },
390
+ {
391
+ "name": "decoded-length-513",
392
+ "sourceJson": "\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"",
393
+ "valid": false
394
+ },
395
+ { "name": "lone-high-surrogate", "sourceJson": "\"\\ud800\"", "valid": false },
396
+ { "name": "lone-low-surrogate", "sourceJson": "\"\\udc00\"", "valid": false },
397
+ { "name": "decoded-c0-control", "sourceJson": "\"\\u0000\"", "valid": false },
398
+ { "name": "decoded-c1-control", "sourceJson": "\"\\u0085\"", "valid": false },
399
+ { "name": "escaped-c0-control", "sourceJson": "\"\\\\n\"", "valid": false },
400
+ { "name": "escaped-c1-control", "sourceJson": "\"\\\\x85\"", "valid": false },
401
+ { "name": "wildcard", "sourceJson": "\".\"", "valid": false },
402
+ { "name": "digit-shorthand", "sourceJson": "\"\\\\d\"", "valid": false },
403
+ { "name": "not-digit-shorthand", "sourceJson": "\"\\\\D\"", "valid": false },
404
+ { "name": "space-shorthand", "sourceJson": "\"\\\\s\"", "valid": false },
405
+ { "name": "not-space-shorthand", "sourceJson": "\"\\\\S\"", "valid": false },
406
+ { "name": "word-shorthand", "sourceJson": "\"\\\\w\"", "valid": false },
407
+ { "name": "not-word-shorthand", "sourceJson": "\"\\\\W\"", "valid": false },
408
+ { "name": "word-boundary", "sourceJson": "\"\\\\b\"", "valid": false },
409
+ { "name": "not-word-boundary", "sourceJson": "\"\\\\B\"", "valid": false },
410
+ { "name": "numeric-backreference", "sourceJson": "\"\\\\1\"", "valid": false },
411
+ { "name": "named-backreference", "sourceJson": "\"\\\\k<name>\"", "valid": false },
412
+ { "name": "positive-lookahead", "sourceJson": "\"(?=a)\"", "valid": false },
413
+ { "name": "negative-lookahead", "sourceJson": "\"(?!a)\"", "valid": false },
414
+ { "name": "positive-lookbehind", "sourceJson": "\"(?<=a)\"", "valid": false },
415
+ { "name": "negative-lookbehind", "sourceJson": "\"(?<!a)\"", "valid": false },
416
+ { "name": "named-group", "sourceJson": "\"(?<name>a)\"", "valid": false },
417
+ { "name": "inline-flags", "sourceJson": "\"(?i:a)\"", "valid": false },
418
+ { "name": "unicode-property", "sourceJson": "\"\\\\p{Letter}\"", "valid": false },
419
+ { "name": "negative-unicode-property", "sourceJson": "\"\\\\P{Letter}\"", "valid": false },
420
+ { "name": "unicode-escape", "sourceJson": "\"\\\\u0061\"", "valid": false },
421
+ { "name": "unicode-code-point-escape", "sourceJson": "\"\\\\u{61}\"", "valid": false },
422
+ { "name": "hex-escape", "sourceJson": "\"\\\\x61\"", "valid": false },
423
+ { "name": "control-escape", "sourceJson": "\"\\\\cA\"", "valid": false },
424
+ { "name": "external-hyphen-identity-escape", "sourceJson": "\"\\\\-\"", "valid": false },
425
+ { "name": "other-identity-escape", "sourceJson": "\"\\\\a\"", "valid": false },
426
+ { "name": "lazy-quantifier", "sourceJson": "\"a*?\"", "valid": false },
427
+ { "name": "possessive-quantifier", "sourceJson": "\"a*+\"", "valid": false },
428
+ { "name": "repeated-quantifier", "sourceJson": "\"a**\"", "valid": false },
429
+ { "name": "bound-over-1000", "sourceJson": "\"a{1001}\"", "valid": false },
430
+ { "name": "upper-bound-over-1000", "sourceJson": "\"a{0,1001}\"", "valid": false },
431
+ { "name": "reversed-bound", "sourceJson": "\"a{3,2}\"", "valid": false },
432
+ { "name": "leading-zero-bound", "sourceJson": "\"a{01}\"", "valid": false },
433
+ { "name": "missing-lower-bound", "sourceJson": "\"a{,2}\"", "valid": false },
434
+ { "name": "unterminated-bound", "sourceJson": "\"a{2\"", "valid": false },
435
+ { "name": "nested-class", "sourceJson": "\"[a[b]\"", "valid": false },
436
+ { "name": "empty-class", "sourceJson": "\"[]\"", "valid": false },
437
+ { "name": "wildcard-equivalent-class", "sourceJson": "\"[^]\"", "valid": false },
438
+ { "name": "descending-range", "sourceJson": "\"[z-a]\"", "valid": false },
439
+ { "name": "class-intersection-operator", "sourceJson": "\"[a&&b]\"", "valid": false },
440
+ { "name": "class-subtraction-operator", "sourceJson": "\"[a--b]\"", "valid": false },
441
+ { "name": "nullable-repeat", "sourceJson": "\"(a*)*\"", "valid": false },
442
+ { "name": "parallel-repeat-transitions", "sourceJson": "\"(a+)+\"", "valid": false },
443
+ { "name": "ambiguous-alternative-repeat", "sourceJson": "\"(a|aa)*\"", "valid": false },
444
+ { "name": "ambiguous-optional-prefix", "sourceJson": "\"a?a\"", "valid": false },
445
+ { "name": "unterminated-group", "sourceJson": "\"(a\"", "valid": false },
446
+ { "name": "unterminated-class", "sourceJson": "\"[a\"", "valid": false },
447
+ { "name": "unterminated-escape", "sourceJson": "\"\\\\\"", "valid": false },
448
+ { "name": "quantifier-without-atom", "sourceJson": "\"*a\"", "valid": false }
449
+ ]
450
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "file": {
3
+ "kind": "file",
4
+ "uploadId": "upload-01",
5
+ "name": "review-notes.txt",
6
+ "mediaType": "text/plain",
7
+ "sizeBytes": 128,
8
+ "sha256": "sha256:8f434346648f6b96df89dda901c5176b10a6d83961dd3c1ac88b59b2dc327aa4",
9
+ "expiresAt": "2026-08-29T13:00:00Z"
10
+ }
11
+ }