@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,99 @@
1
+ export const PAGE_PLACEMENTS_PROFILE = "gauntlet-page-placements@1";
2
+ const SCALAR_TYPES = new Set(["string", "number", "integer", "boolean"]);
3
+ function decodeSegments(pointer) {
4
+ if (pointer === "" || !pointer.startsWith("/"))
5
+ return undefined;
6
+ const segments = [];
7
+ for (const raw of pointer.slice(1).split("/")) {
8
+ if (/~(?![01])/.test(raw))
9
+ return undefined;
10
+ segments.push(raw.replaceAll("~1", "/").replaceAll("~0", "~"));
11
+ }
12
+ return segments;
13
+ }
14
+ function encodeSegment(segment) {
15
+ return segment.replaceAll("~", "~0").replaceAll("/", "~1");
16
+ }
17
+ export function placementSchemaPointer(inputPointer) {
18
+ const segments = decodeSegments(inputPointer);
19
+ return segments === undefined
20
+ ? undefined
21
+ : segments.map((segment) => `/properties/${encodeSegment(segment)}`).join("");
22
+ }
23
+ function record(value) {
24
+ return value !== null && typeof value === "object" && !Array.isArray(value)
25
+ ? value
26
+ : undefined;
27
+ }
28
+ function isScalar(value) {
29
+ return typeof value === "string" || typeof value === "number" || typeof value === "boolean";
30
+ }
31
+ const NON_TRAVERSABLE_KEYWORDS = [
32
+ "$ref",
33
+ "allOf",
34
+ "anyOf",
35
+ "oneOf",
36
+ "not",
37
+ "if",
38
+ "then",
39
+ "else",
40
+ ];
41
+ function hasNonTraversableKeyword(schema) {
42
+ return NON_TRAVERSABLE_KEYWORDS.some((keyword) => Object.hasOwn(schema, keyword));
43
+ }
44
+ function scalarLeaf(schema) {
45
+ if (hasNonTraversableKeyword(schema))
46
+ return false;
47
+ if (Object.hasOwn(schema, "enum")) {
48
+ const values = schema.enum;
49
+ return Array.isArray(values) && values.length > 0 && values.every(isScalar);
50
+ }
51
+ if (Object.hasOwn(schema, "const"))
52
+ return isScalar(schema.const);
53
+ return typeof schema.type === "string" && SCALAR_TYPES.has(schema.type);
54
+ }
55
+ function bindingTargetIsScalar(inputSchema, pointer) {
56
+ const segments = decodeSegments(pointer);
57
+ if (segments === undefined)
58
+ return false;
59
+ let node = record(inputSchema);
60
+ if (node === undefined || hasNonTraversableKeyword(node))
61
+ return false;
62
+ for (const segment of segments) {
63
+ const properties = record(node.properties);
64
+ if (properties === undefined || !Object.hasOwn(properties, segment))
65
+ return false;
66
+ node = record(properties[segment]);
67
+ if (node === undefined || hasNonTraversableKeyword(node))
68
+ return false;
69
+ }
70
+ return scalarLeaf(node);
71
+ }
72
+ export function operationPlacementsAreValid(operation) {
73
+ const placements = operation.placements;
74
+ if (placements === undefined)
75
+ return true;
76
+ if (placements.length === 0)
77
+ return false;
78
+ const guarded = operation.inputHandling?.rules.map(({ schemaPointer }) => schemaPointer) ?? [];
79
+ let globals = 0;
80
+ const subjectTypes = new Set();
81
+ for (const placement of placements) {
82
+ if (placement.kind === "global") {
83
+ globals += 1;
84
+ continue;
85
+ }
86
+ if (subjectTypes.has(placement.subjectType))
87
+ return false;
88
+ subjectTypes.add(placement.subjectType);
89
+ for (const pointer of Object.keys(placement.bindings ?? {})) {
90
+ const schemaPointer = placementSchemaPointer(pointer);
91
+ if (schemaPointer === undefined || !bindingTargetIsScalar(operation.inputSchema, pointer))
92
+ return false;
93
+ if (guarded.some((rule) => schemaPointer === rule || schemaPointer.startsWith(`${rule}/`)))
94
+ return false;
95
+ }
96
+ }
97
+ return globals <= 1;
98
+ }
99
+ //# sourceMappingURL=placements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placements.js","sourceRoot":"","sources":["../src/placements.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function assertPortablePattern(pattern: string): void;
2
+ //# sourceMappingURL=portable-pattern.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portable-pattern.d.ts","sourceRoot":"","sources":["../src/portable-pattern.ts"],"names":[],"mappings":"AA+fA,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAW3D"}
@@ -0,0 +1,450 @@
1
+ const MAX_PATTERN_CODE_UNITS = 512;
2
+ const MAX_QUANTIFIER_BOUND = 1000;
3
+ const UNBOUNDED = Number.POSITIVE_INFINITY;
4
+ const HIGH_SURROGATE_START = 0xd800;
5
+ const HIGH_SURROGATE_END = 0xdbff;
6
+ const LOW_SURROGATE_START = 0xdc00;
7
+ const LOW_SURROGATE_END = 0xdfff;
8
+ const MAX_SCALAR = 0x10ffff;
9
+ const SCALAR_UNIVERSE = [
10
+ [0, HIGH_SURROGATE_START - 1],
11
+ [LOW_SURROGATE_END + 1, MAX_SCALAR],
12
+ ];
13
+ const EXTERNAL_ESCAPES = new Set("\\^$.*+?()[]{}|/");
14
+ const CLASS_ESCAPES = new Set(["\\", "]", "^", "-"]);
15
+ const EMPTY = { nullableDerivations: 1, first: [], last: [] };
16
+ class PortablePatternError extends Error {
17
+ }
18
+ function invalid() {
19
+ throw new PortablePatternError();
20
+ }
21
+ function isControl(codePoint) {
22
+ return codePoint <= 0x1f || (codePoint >= 0x7f && codePoint <= 0x9f);
23
+ }
24
+ function isHighSurrogate(codeUnit) {
25
+ return codeUnit >= HIGH_SURROGATE_START && codeUnit <= HIGH_SURROGATE_END;
26
+ }
27
+ function isLowSurrogate(codeUnit) {
28
+ return codeUnit >= LOW_SURROGATE_START && codeUnit <= LOW_SURROGATE_END;
29
+ }
30
+ function unionPositions(left, right) {
31
+ if (left.length === 0) {
32
+ return right;
33
+ }
34
+ if (right.length === 0) {
35
+ return left;
36
+ }
37
+ const result = [...left];
38
+ const seen = new Set(left.map(({ id }) => id));
39
+ for (const position of right) {
40
+ if (!seen.has(position.id)) {
41
+ result.push(position);
42
+ seen.add(position.id);
43
+ }
44
+ }
45
+ return result;
46
+ }
47
+ function normalizeIntervals(intervals) {
48
+ const sorted = [...intervals].sort(([leftStart, leftEnd], [rightStart, rightEnd]) => (leftStart - rightStart || leftEnd - rightEnd));
49
+ const result = [];
50
+ for (const [start, end] of sorted) {
51
+ const previous = result.at(-1);
52
+ if (previous === undefined || start > previous[1] + 1) {
53
+ result.push([start, end]);
54
+ continue;
55
+ }
56
+ result[result.length - 1] = [previous[0], Math.max(previous[1], end)];
57
+ }
58
+ return result;
59
+ }
60
+ function complementIntervals(intervals) {
61
+ const excluded = normalizeIntervals(intervals);
62
+ const result = [];
63
+ for (const [universeStart, universeEnd] of SCALAR_UNIVERSE) {
64
+ let cursor = universeStart;
65
+ for (const [excludedStart, excludedEnd] of excluded) {
66
+ if (excludedEnd < cursor || excludedStart > universeEnd) {
67
+ continue;
68
+ }
69
+ if (excludedStart > cursor) {
70
+ result.push([cursor, Math.min(excludedStart - 1, universeEnd)]);
71
+ }
72
+ cursor = Math.max(cursor, excludedEnd + 1);
73
+ if (cursor > universeEnd) {
74
+ break;
75
+ }
76
+ }
77
+ if (cursor <= universeEnd) {
78
+ result.push([cursor, universeEnd]);
79
+ }
80
+ }
81
+ return result;
82
+ }
83
+ function intervalsOverlap(left, right) {
84
+ let leftIndex = 0;
85
+ let rightIndex = 0;
86
+ while (leftIndex < left.length && rightIndex < right.length) {
87
+ const [leftStart, leftEnd] = left[leftIndex];
88
+ const [rightStart, rightEnd] = right[rightIndex];
89
+ if (leftEnd < rightStart) {
90
+ leftIndex += 1;
91
+ }
92
+ else if (rightEnd < leftStart) {
93
+ rightIndex += 1;
94
+ }
95
+ else {
96
+ return true;
97
+ }
98
+ }
99
+ return false;
100
+ }
101
+ function isScalarUniverse(intervals) {
102
+ return intervals.length === SCALAR_UNIVERSE.length
103
+ && intervals.every(([start, end], index) => (start === SCALAR_UNIVERSE[index][0] && end === SCALAR_UNIVERSE[index][1]));
104
+ }
105
+ class Parser {
106
+ #pattern;
107
+ #outgoing = new Map();
108
+ #hasUnboundedQuantifier = false;
109
+ #index = 0;
110
+ #nextPositionId = 0;
111
+ #rootHasAlternation = false;
112
+ constructor(pattern) {
113
+ this.#pattern = pattern;
114
+ }
115
+ parse() {
116
+ const expression = this.#parseDisjunction(true);
117
+ if (this.#index !== this.#pattern.length) {
118
+ invalid();
119
+ }
120
+ if (this.#hasUnboundedQuantifier
121
+ && (this.#pattern[0] !== "^" || this.#rootHasAlternation)) {
122
+ invalid();
123
+ }
124
+ this.#assertDisjoint(expression.first);
125
+ }
126
+ #parseDisjunction(isRoot = false) {
127
+ let result = this.#parseAlternative();
128
+ while (this.#peek() === "|") {
129
+ if (isRoot) {
130
+ this.#rootHasAlternation = true;
131
+ }
132
+ this.#index += 1;
133
+ result = this.#alternate(result, this.#parseAlternative());
134
+ }
135
+ return result;
136
+ }
137
+ #parseAlternative() {
138
+ let result = EMPTY;
139
+ while (this.#index < this.#pattern.length) {
140
+ const character = this.#peek();
141
+ if (character === "|" || character === ")") {
142
+ break;
143
+ }
144
+ result = this.#concatenate(result, this.#parseTerm());
145
+ }
146
+ return result;
147
+ }
148
+ #parseTerm() {
149
+ const character = this.#peek();
150
+ if (character === "^" || character === "$") {
151
+ this.#index += 1;
152
+ if (this.#isQuantifierStart(this.#peek())) {
153
+ invalid();
154
+ }
155
+ return EMPTY;
156
+ }
157
+ if (character === undefined || this.#isQuantifierStart(character) || character === "}") {
158
+ return invalid();
159
+ }
160
+ let atom = this.#parseAtom();
161
+ if (this.#isQuantifierStart(this.#peek())) {
162
+ const quantifier = this.#parseQuantifier();
163
+ if (quantifier.maximum === UNBOUNDED) {
164
+ this.#hasUnboundedQuantifier = true;
165
+ }
166
+ atom = this.#repeat(atom, quantifier);
167
+ if (this.#isQuantifierStart(this.#peek())) {
168
+ invalid();
169
+ }
170
+ }
171
+ return atom;
172
+ }
173
+ #parseAtom() {
174
+ const character = this.#peek();
175
+ if (character === "(") {
176
+ this.#index += 1;
177
+ if (this.#peek() === "?") {
178
+ if (this.#pattern[this.#index + 1] !== ":") {
179
+ return invalid();
180
+ }
181
+ this.#index += 2;
182
+ }
183
+ const body = this.#parseDisjunction();
184
+ if (this.#peek() !== ")") {
185
+ return invalid();
186
+ }
187
+ this.#index += 1;
188
+ return body;
189
+ }
190
+ if (character === "[") {
191
+ return this.#parseClass();
192
+ }
193
+ if (character === "\\") {
194
+ this.#index += 1;
195
+ const escaped = this.#peek();
196
+ if (escaped === undefined || !EXTERNAL_ESCAPES.has(escaped)) {
197
+ return invalid();
198
+ }
199
+ this.#index += 1;
200
+ return this.#position(escaped.codePointAt(0));
201
+ }
202
+ if (character === undefined
203
+ || character === "."
204
+ || character === ")"
205
+ || character === "]"
206
+ || character === "{"
207
+ || character === "|") {
208
+ return invalid();
209
+ }
210
+ return this.#position(this.#readRawScalar());
211
+ }
212
+ #parseClass() {
213
+ this.#index += 1;
214
+ const negated = this.#peek() === "^";
215
+ if (negated) {
216
+ this.#index += 1;
217
+ }
218
+ const intervals = [];
219
+ let itemCount = 0;
220
+ while (this.#index < this.#pattern.length && this.#peek() !== "]") {
221
+ if (this.#pattern.startsWith("&&", this.#index) || this.#pattern.startsWith("--", this.#index)) {
222
+ return invalid();
223
+ }
224
+ const start = this.#readClassScalar();
225
+ itemCount += 1;
226
+ if (this.#peek() === "-" && this.#pattern[this.#index + 1] !== "]") {
227
+ if (this.#pattern[this.#index + 1] === "-") {
228
+ return invalid();
229
+ }
230
+ this.#index += 1;
231
+ const end = this.#readClassScalar();
232
+ if (start > end || (start < HIGH_SURROGATE_START && end > LOW_SURROGATE_END)) {
233
+ return invalid();
234
+ }
235
+ intervals.push([start, end]);
236
+ }
237
+ else {
238
+ intervals.push([start, start]);
239
+ }
240
+ }
241
+ if (this.#peek() !== "]" || itemCount === 0) {
242
+ return invalid();
243
+ }
244
+ this.#index += 1;
245
+ const characters = negated
246
+ ? complementIntervals(intervals)
247
+ : normalizeIntervals(intervals);
248
+ if (characters.length === 0 || isScalarUniverse(characters)) {
249
+ return invalid();
250
+ }
251
+ return this.#positionWithIntervals(characters);
252
+ }
253
+ #readClassScalar() {
254
+ const character = this.#peek();
255
+ if (character === undefined || character === "]" || character === "[") {
256
+ return invalid();
257
+ }
258
+ if (character === "\\") {
259
+ this.#index += 1;
260
+ const escaped = this.#peek();
261
+ if (escaped === undefined || !CLASS_ESCAPES.has(escaped)) {
262
+ return invalid();
263
+ }
264
+ this.#index += 1;
265
+ return escaped.codePointAt(0);
266
+ }
267
+ return this.#readRawScalar();
268
+ }
269
+ #readRawScalar() {
270
+ const first = this.#pattern.charCodeAt(this.#index);
271
+ if (Number.isNaN(first)) {
272
+ return invalid();
273
+ }
274
+ let codePoint = first;
275
+ if (isHighSurrogate(first)) {
276
+ const second = this.#pattern.charCodeAt(this.#index + 1);
277
+ if (!isLowSurrogate(second)) {
278
+ return invalid();
279
+ }
280
+ codePoint = ((first - HIGH_SURROGATE_START) * 0x400)
281
+ + (second - LOW_SURROGATE_START)
282
+ + 0x10000;
283
+ this.#index += 2;
284
+ }
285
+ else {
286
+ if (isLowSurrogate(first)) {
287
+ return invalid();
288
+ }
289
+ this.#index += 1;
290
+ }
291
+ if (isControl(codePoint)) {
292
+ return invalid();
293
+ }
294
+ return codePoint;
295
+ }
296
+ #parseQuantifier() {
297
+ const character = this.#peek();
298
+ if (character === "?") {
299
+ this.#index += 1;
300
+ return { minimum: 0, maximum: 1 };
301
+ }
302
+ if (character === "*") {
303
+ this.#index += 1;
304
+ return { minimum: 0, maximum: UNBOUNDED };
305
+ }
306
+ if (character === "+") {
307
+ this.#index += 1;
308
+ return { minimum: 1, maximum: UNBOUNDED };
309
+ }
310
+ if (character !== "{") {
311
+ return invalid();
312
+ }
313
+ this.#index += 1;
314
+ const minimum = this.#parseBound();
315
+ if (this.#peek() === "}") {
316
+ this.#index += 1;
317
+ return { minimum, maximum: minimum };
318
+ }
319
+ if (this.#peek() !== ",") {
320
+ return invalid();
321
+ }
322
+ this.#index += 1;
323
+ if (this.#peek() === "}") {
324
+ this.#index += 1;
325
+ return { minimum, maximum: UNBOUNDED };
326
+ }
327
+ const maximum = this.#parseBound();
328
+ if (this.#peek() !== "}" || minimum > maximum) {
329
+ return invalid();
330
+ }
331
+ this.#index += 1;
332
+ return { minimum, maximum };
333
+ }
334
+ #parseBound() {
335
+ const start = this.#index;
336
+ while (this.#isAsciiDigit(this.#peek())) {
337
+ this.#index += 1;
338
+ }
339
+ if (start === this.#index) {
340
+ return invalid();
341
+ }
342
+ const text = this.#pattern.slice(start, this.#index);
343
+ if ((text.length > 1 && text.startsWith("0")) || text.length > 4) {
344
+ return invalid();
345
+ }
346
+ const value = Number(text);
347
+ if (value > MAX_QUANTIFIER_BOUND) {
348
+ return invalid();
349
+ }
350
+ return value;
351
+ }
352
+ #position(codePoint) {
353
+ return this.#positionWithIntervals([[codePoint, codePoint]]);
354
+ }
355
+ #positionWithIntervals(characters) {
356
+ const position = {
357
+ id: this.#nextPositionId,
358
+ characters,
359
+ };
360
+ this.#nextPositionId += 1;
361
+ return { nullableDerivations: 0, first: [position], last: [position] };
362
+ }
363
+ #alternate(left, right) {
364
+ const nullableDerivations = left.nullableDerivations + right.nullableDerivations;
365
+ if (nullableDerivations > 1) {
366
+ return invalid();
367
+ }
368
+ return {
369
+ nullableDerivations,
370
+ first: unionPositions(left.first, right.first),
371
+ last: unionPositions(left.last, right.last),
372
+ };
373
+ }
374
+ #concatenate(left, right) {
375
+ this.#addTransitions(left.last, right.first);
376
+ const nullableDerivations = left.nullableDerivations * right.nullableDerivations;
377
+ if (nullableDerivations > 1) {
378
+ return invalid();
379
+ }
380
+ return {
381
+ nullableDerivations,
382
+ first: left.nullableDerivations > 0 ? unionPositions(left.first, right.first) : left.first,
383
+ last: right.nullableDerivations > 0 ? unionPositions(left.last, right.last) : right.last,
384
+ };
385
+ }
386
+ #repeat(body, quantifier) {
387
+ if (quantifier.maximum === 0) {
388
+ return EMPTY;
389
+ }
390
+ if (quantifier.maximum > 1) {
391
+ if (body.nullableDerivations > 0) {
392
+ return invalid();
393
+ }
394
+ this.#addTransitions(body.last, body.first);
395
+ }
396
+ else if (quantifier.minimum === 0 && body.nullableDerivations > 0) {
397
+ return invalid();
398
+ }
399
+ return {
400
+ nullableDerivations: quantifier.minimum === 0 ? 1 : body.nullableDerivations,
401
+ first: body.first,
402
+ last: body.last,
403
+ };
404
+ }
405
+ #addTransitions(sources, targets) {
406
+ for (const source of sources) {
407
+ const outgoing = this.#outgoing.get(source.id) ?? [];
408
+ for (const target of targets) {
409
+ for (const existing of outgoing) {
410
+ if (intervalsOverlap(existing.characters, target.characters)) {
411
+ invalid();
412
+ }
413
+ }
414
+ outgoing.push(target);
415
+ }
416
+ this.#outgoing.set(source.id, outgoing);
417
+ }
418
+ }
419
+ #assertDisjoint(positions) {
420
+ for (let leftIndex = 0; leftIndex < positions.length; leftIndex += 1) {
421
+ for (let rightIndex = leftIndex + 1; rightIndex < positions.length; rightIndex += 1) {
422
+ if (intervalsOverlap(positions[leftIndex].characters, positions[rightIndex].characters)) {
423
+ invalid();
424
+ }
425
+ }
426
+ }
427
+ }
428
+ #peek() {
429
+ return this.#pattern[this.#index];
430
+ }
431
+ #isQuantifierStart(character) {
432
+ return character === "?" || character === "*" || character === "+" || character === "{";
433
+ }
434
+ #isAsciiDigit(character) {
435
+ return character !== undefined && character >= "0" && character <= "9";
436
+ }
437
+ }
438
+ export function assertPortablePattern(pattern) {
439
+ if (pattern.length > MAX_PATTERN_CODE_UNITS) {
440
+ invalid();
441
+ }
442
+ new Parser(pattern).parse();
443
+ try {
444
+ new RegExp(pattern, "u");
445
+ }
446
+ catch {
447
+ invalid();
448
+ }
449
+ }
450
+ //# sourceMappingURL=portable-pattern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portable-pattern.js","sourceRoot":"","sources":["../src/portable-pattern.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { InputHandlingRule, JsonValue, OperationDefinition } from "./types.js";
2
+ export declare function operationPresetsOmitSecrets(operation: OperationDefinition): boolean;
3
+ export type FileInputHandlingRule = Extract<InputHandlingRule, {
4
+ readonly kind: "file";
5
+ }>;
6
+ export declare function operationInputHandlingValuesAreValid(operation: OperationDefinition, input: JsonValue, fileReferenceIsValid: (value: JsonValue, rule: FileInputHandlingRule) => boolean): boolean;
7
+ //# sourceMappingURL=preset-secrets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset-secrets.d.ts","sourceRoot":"","sources":["../src/preset-secrets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EAET,mBAAmB,EACpB,MAAM,YAAY,CAAC;AA4tBpB,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAQnF;AAED,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE1F,wBAAgB,oCAAoC,CAClD,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,SAAS,EAChB,oBAAoB,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAqB,KAAK,OAAO,GAC/E,OAAO,CA+BT"}