@lovrozagar/oat 0.6.0 → 0.6.2

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 (40) hide show
  1. package/README.md +21 -7
  2. package/dist/cli.js +4 -0
  3. package/dist/runtime/async.d.ts +19 -4
  4. package/dist/runtime/async.d.ts.map +1 -1
  5. package/dist/runtime/async.js +55 -6
  6. package/dist/runtime/async.js.map +1 -1
  7. package/dist/runtime/checks.d.ts.map +1 -1
  8. package/dist/runtime/checks.js +90 -21
  9. package/dist/runtime/checks.js.map +1 -1
  10. package/dist/runtime/client.d.ts +2 -2
  11. package/dist/runtime/client.d.ts.map +1 -1
  12. package/dist/runtime/client.js +36 -14
  13. package/dist/runtime/client.js.map +1 -1
  14. package/dist/runtime/fixture.d.ts.map +1 -1
  15. package/dist/runtime/fixture.js +86 -21
  16. package/dist/runtime/fixture.js.map +1 -1
  17. package/dist/runtime/rate-limit.d.ts +40 -2
  18. package/dist/runtime/rate-limit.d.ts.map +1 -1
  19. package/dist/runtime/rate-limit.js +115 -4
  20. package/dist/runtime/rate-limit.js.map +1 -1
  21. package/dist/runtime/run.d.ts.map +1 -1
  22. package/dist/runtime/run.js +23 -18
  23. package/dist/runtime/run.js.map +1 -1
  24. package/dist/runtime/sse.d.ts +17 -0
  25. package/dist/runtime/sse.d.ts.map +1 -0
  26. package/dist/runtime/sse.js +62 -0
  27. package/dist/runtime/sse.js.map +1 -0
  28. package/dist/runtime/world.d.ts +16 -0
  29. package/dist/runtime/world.d.ts.map +1 -1
  30. package/dist/runtime/world.js +89 -0
  31. package/dist/runtime/world.js.map +1 -1
  32. package/dist/spec/collection.d.ts +2 -0
  33. package/dist/spec/collection.d.ts.map +1 -1
  34. package/dist/spec/collection.js +16 -0
  35. package/dist/spec/collection.js.map +1 -1
  36. package/dist/spec/graph.d.ts +2 -0
  37. package/dist/spec/graph.d.ts.map +1 -1
  38. package/dist/spec/graph.js +2 -1
  39. package/dist/spec/graph.js.map +1 -1
  40. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /** HTTP client with a full transcript, so every finding can cite the exchange that produced it. */
2
- import type { RateLimiter } from "./rate-limit.ts";
2
+ import { type RateLimiter } from "./rate-limit.ts";
3
3
  export interface Exchange {
4
4
  seq: number;
5
5
  method: string;
@@ -24,7 +24,7 @@ export interface Exchange {
24
24
  /** Rate-limit category this request was paced against, when one matched. */
25
25
  rateLimitCategory?: string;
26
26
  /** Where that category came from — a `spec.*` finding only ever cites a `"tag"` rejection. */
27
- rateLimitSource?: "tag" | "config";
27
+ rateLimitSource?: "tag" | "config" | "implicit";
28
28
  /** Whether the bucket had a token without waiting — oat believes it was under its own pace. */
29
29
  rateLimitHadRoom?: boolean;
30
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/runtime/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/runtime/client.ts"],"names":[],"mappings":"AAAA,mGAAmG;AAEnG,OAAO,EAA6C,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7F,MAAM,WAAW,QAAQ;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,YAAY,EAAE,OAAO,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAA;IACV,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAA;IACpB,uEAAuE;IACvE,aAAa,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,8FAA8F;IAC9F,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAA;IAC/C,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,kGAAkG;AAClG,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAA;IACrD,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAClD;AAED,MAAM,WAAW,cAAc;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAA;IACnD,uEAAuE;IACvE,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,qFAAqF;IACrF,eAAe,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,qBAAa,MAAM;IAQjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC5B,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAnB9B,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAK;IACpC,OAAO,CAAC,GAAG,CAAI;IACf,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;gBAG1B,OAAO,EAAE,MAAM,EACf,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAC3D;;;;;;OAMG;IACc,WAAW,SAAI,EACf,UAAU,CAAC,GAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,aAAA;IAC1D,oFAAoF;IACnE,WAAW,CAAC,EAAE,WAAW,YAAA;IAG3C,mGAAmG;IACnG,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAI/B,sFAAsF;YACxE,OAAO;IASrB,OAAO,CAAC,OAAO;IAKT,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2G5F,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;CAGlE;AAED,MAAM,WAAW,WAAW;IAC3B,4EAA4E;IAC5E,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1B,2FAA2F;IAC3F,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,WAAgB,GAAG,MAAM,CAuB5E;AAwKD,oGAAoG;AACpG,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAa1D;AAED,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAEnH"}
@@ -1,4 +1,5 @@
1
1
  /** HTTP client with a full transcript, so every finding can cite the exchange that produced it. */
2
+ import { headerValue, MAX_429_RETRIES, retryWaitMs } from "./rate-limit.js";
2
3
  export class Client {
3
4
  baseUrl;
4
5
  globalHeaders;
@@ -73,7 +74,10 @@ export class Client {
73
74
  * notion of time, a rate-limit category bounds throughput over time. The in-flight
74
75
  * slot is acquired first and released in the same finally as before — pacing sits
75
76
  * entirely inside that window and never changes what maxInFlight itself guarantees. */
76
- const rule = this.rateLimiter?.resolve(method.toUpperCase(), url.pathname);
77
+ const verb = method.toUpperCase();
78
+ const tagged = this.rateLimiter?.resolve(verb, url.pathname);
79
+ const implicit = tagged === undefined ? this.rateLimiter?.implicitRule(verb) : undefined;
80
+ const rule = tagged ?? implicit;
77
81
  await this.acquire();
78
82
  let rateLimitHadRoom;
79
83
  let started;
@@ -81,8 +85,10 @@ export class Client {
81
85
  let text;
82
86
  let at = 0;
83
87
  try {
84
- if (rule !== undefined)
85
- rateLimitHadRoom = await this.rateLimiter?.acquire(rule);
88
+ if (tagged !== undefined)
89
+ rateLimitHadRoom = await this.rateLimiter?.acquire(tagged);
90
+ else if (implicit !== undefined)
91
+ rateLimitHadRoom = await this.rateLimiter?.waitImplicit(verb);
86
92
  started = performance.now();
87
93
  response = await fetch(url, init);
88
94
  text = await response.text();
@@ -91,15 +97,17 @@ export class Client {
91
97
  finally {
92
98
  this.release();
93
99
  }
100
+ const contentType = response.headers.get("content-type") ?? "";
94
101
  let parsed = text;
95
- try {
96
- parsed = text === "" ? null : JSON.parse(text);
97
- }
98
- catch {
99
- /* keep the raw text — a non-JSON body is itself evidence */
102
+ if (!contentType.includes("text/event-stream")) {
103
+ try {
104
+ parsed = text === "" ? null : JSON.parse(text);
105
+ }
106
+ catch {
107
+ /* keep the raw text — a non-JSON body is itself evidence */
108
+ }
100
109
  }
101
110
  this.seq += 1;
102
- const verb = method.toUpperCase();
103
111
  const responseHeaders = Object.fromEntries(response.headers.entries());
104
112
  const exchange = {
105
113
  at,
@@ -124,11 +132,25 @@ export class Client {
124
132
  };
125
133
  if (refresh !== undefined)
126
134
  await refresh(false);
127
- const first = await dispatch();
128
- if (first.status !== 401 || refresh === undefined)
129
- return first;
130
- await refresh(true);
131
- return dispatch();
135
+ let exchange = await dispatch();
136
+ if (exchange.status === 401 && refresh !== undefined) {
137
+ await refresh(true);
138
+ exchange = await dispatch();
139
+ }
140
+ /* 429 is reactive: the first one is never a seed/check failure. Tags pace proactively;
141
+ * this path honours the server even when the op has no x-rate-limit at all. */
142
+ for (let attempt = 0; exchange.status === 429 && attempt < MAX_429_RETRIES; attempt++) {
143
+ const waitMs = retryWaitMs(headerValue(exchange.responseHeaders, "retry-after"), attempt);
144
+ this.rateLimiter?.noteBackoff(method.toUpperCase(), url.pathname, waitMs);
145
+ if (waitMs > 0)
146
+ await new Promise((resolve) => setTimeout(resolve, waitMs));
147
+ exchange = await dispatch();
148
+ if (exchange.status === 401 && refresh !== undefined) {
149
+ await refresh(true);
150
+ exchange = await dispatch();
151
+ }
152
+ }
153
+ return exchange;
132
154
  }
133
155
  get(path, options = {}) {
134
156
  return this.request("GET", path, options);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/runtime/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/runtime/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../../src/runtime/fixture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,MAAM,OAAO,GAChB,UAAU,GACV,eAAe,GACf,cAAc,GACd,YAAY,GACZ,SAAS,GACT,eAAe,GACf,UAAU,CAAA;AAEb,eAAO,MAAM,MAAM,EAAE,SAAS,OAAO,EAQpC,CAAA;AAED,8DAA8D;AAC9D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,MAAM,CAQrD;AAED,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAgBrC,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC7B;AAED,0FAA0F;AAC1F,qBAAa,eAAgB,SAAQ,KAAK;IAExC,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM;gBADf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM;CAKzB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,SAAM,GAAG,eAAe,CAKhG;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGvD;AAED,wBAAgB,WAAW,CAC1B,UAAU,EAAE,MAAM,GAAG,OAAO,EAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,SAAS,OAAO,EAAW,EACrC,WAAW,SAAY,GACrB,YAAY,EAAE,CAmBhB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC3B,UAAU,EAAE,MAAM,GAAG,OAAO,EAC5B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,WAAW,SAAY,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,CAc9D;AAwcD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAgBlD"}
1
+ {"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../../src/runtime/fixture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,MAAM,OAAO,GAChB,UAAU,GACV,eAAe,GACf,cAAc,GACd,YAAY,GACZ,SAAS,GACT,eAAe,GACf,UAAU,CAAA;AAEb,eAAO,MAAM,MAAM,EAAE,SAAS,OAAO,EAQpC,CAAA;AAED,8DAA8D;AAC9D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,MAAM,CAQrD;AAED,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAgBrC,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC7B;AAED,0FAA0F;AAC1F,qBAAa,eAAgB,SAAQ,KAAK;IAExC,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM;gBADf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM;CAKzB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,SAAM,GAAG,eAAe,CAKhG;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGvD;AAED,wBAAgB,WAAW,CAC1B,UAAU,EAAE,MAAM,GAAG,OAAO,EAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,SAAS,OAAO,EAAW,EACrC,WAAW,SAAY,GACrB,YAAY,EAAE,CAmBhB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC3B,UAAU,EAAE,MAAM,GAAG,OAAO,EAC5B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,WAAW,SAAY,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,CAc9D;AAkgBD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAgBlD"}
@@ -218,7 +218,11 @@ function generateValue(name, raw, variant, rand, index, depth, pointer, seen, op
218
218
  }
219
219
  }
220
220
  function generateString(name, schema, variant, index) {
221
- const max = typeof schema.maxLength === "number" ? schema.maxLength : 64;
221
+ const maxLength = typeof schema.maxLength === "number" ? schema.maxLength : undefined;
222
+ const minLength = typeof schema.minLength === "number" ? schema.minLength : undefined;
223
+ if (minLength !== undefined && maxLength !== undefined && minLength > maxLength)
224
+ return undefined;
225
+ const max = maxLength ?? Math.max(64, minLength ?? 0);
222
226
  const format = typeof schema.format === "string" ? schema.format.toLowerCase() : "";
223
227
  const pattern = typeof schema.pattern === "string" ? schema.pattern : undefined;
224
228
  let text;
@@ -229,7 +233,7 @@ function generateString(name, schema, variant, index) {
229
233
  else if (format === "uuid")
230
234
  text = uuidOf(variant, index);
231
235
  else if (pattern !== undefined)
232
- text = stringMatching(pattern, max, variant, index);
236
+ text = stringMatching(pattern, max, variant, index, minLength);
233
237
  else if (variant === "boundary")
234
238
  text = "B".repeat(Math.max(1, Math.min(max, 512)));
235
239
  else {
@@ -240,19 +244,49 @@ function generateString(name, schema, variant, index) {
240
244
  return undefined;
241
245
  if (codePointCount(text) > max) {
242
246
  if (format === "email" || format === "uri" || format === "url" || format === "uuid" || pattern !== undefined) {
243
- const trimmed = fitMax(text, max, format, pattern, variant, index);
244
- return trimmed;
247
+ const trimmed = fitMax(text, max, format, pattern, variant, index, minLength);
248
+ if (trimmed === undefined)
249
+ return undefined;
250
+ text = trimmed;
251
+ }
252
+ else {
253
+ text = sliceCodePoints(text, max);
245
254
  }
246
- return sliceCodePoints(text, max);
255
+ }
256
+ if (minLength !== undefined && codePointCount(text) < minLength) {
257
+ const padded = padToMin(text, minLength, max, pattern);
258
+ if (padded !== undefined)
259
+ text = padded;
260
+ else if (pattern !== undefined)
261
+ text = stringMatching(pattern, max, variant, index, minLength);
262
+ else
263
+ return undefined;
264
+ if (text === undefined)
265
+ return undefined;
247
266
  }
248
267
  if (pattern !== undefined && !safeTest(pattern, text)) {
249
- return stringMatching(pattern, max, variant, index);
268
+ return stringMatching(pattern, max, variant, index, minLength);
250
269
  }
251
270
  if (format === "email" && !EMAIL_RE.test(text))
252
271
  return undefined;
253
272
  void name;
254
273
  return text;
255
274
  }
275
+ function padToMin(text, min, max, pattern) {
276
+ const n = codePointCount(text);
277
+ if (n >= min)
278
+ return text;
279
+ if (min > max)
280
+ return undefined;
281
+ const last = n === 0 ? "a" : ([...text].at(-1) ?? "a");
282
+ const need = min - n;
283
+ if (n + need > max)
284
+ return undefined;
285
+ const padded = text + last.repeat(need);
286
+ if (pattern !== undefined && !safeTest(pattern, padded))
287
+ return undefined;
288
+ return padded;
289
+ }
256
290
  function requiredFallback(raw, variant, index) {
257
291
  if (isVacuous(raw) || raw === false || raw === null || typeof raw !== "object")
258
292
  return scalarFor("field", variant, index, undefined);
@@ -272,8 +306,16 @@ function requiredFallback(raw, variant, index) {
272
306
  return [];
273
307
  case "object":
274
308
  return {};
275
- default:
276
- return generateString("field", schema, variant, index) ?? "value";
309
+ default: {
310
+ const generated = generateString("field", schema, variant, index);
311
+ if (generated !== undefined)
312
+ return generated;
313
+ const min = typeof schema.minLength === "number" ? schema.minLength : undefined;
314
+ const max = typeof schema.maxLength === "number" ? schema.maxLength : undefined;
315
+ if (min !== undefined && max !== undefined && min > max)
316
+ return undefined;
317
+ return "value";
318
+ }
277
319
  }
278
320
  }
279
321
  function emailOf(variant, index) {
@@ -302,7 +344,7 @@ function slugVariant(variant) {
302
344
  .replace(/^-|-$/g, "")
303
345
  .toLowerCase();
304
346
  }
305
- function fitMax(text, max, format, pattern, variant, index) {
347
+ function fitMax(text, max, format, pattern, variant, index, minLength) {
306
348
  if (format === "email") {
307
349
  const short = `o${index}@e.t`;
308
350
  if (short.length <= max && EMAIL_RE.test(short))
@@ -318,13 +360,14 @@ function fitMax(text, max, format, pattern, variant, index) {
318
360
  if (format === "uuid")
319
361
  return undefined;
320
362
  if (pattern !== undefined)
321
- return stringMatching(pattern, max, variant, index);
363
+ return stringMatching(pattern, max, variant, index, minLength);
322
364
  return text.slice(0, max);
323
365
  }
324
366
  /** Bounded attempt at a string the documented regex will accept. */
325
- function stringMatching(pattern, max, variant, index) {
367
+ function stringMatching(pattern, max, variant, index, minLength) {
368
+ const min = minLength ?? 0;
326
369
  const candidates = [
327
- expandPattern(pattern, max, variant, index),
370
+ expandPattern(pattern, max, variant, index, min),
328
371
  emailOf(variant, index),
329
372
  uriOf(variant, index),
330
373
  uuidOf(variant, index),
@@ -342,17 +385,34 @@ function stringMatching(pattern, max, variant, index) {
342
385
  for (const candidate of candidates) {
343
386
  if (candidate === undefined)
344
387
  continue;
345
- const text = candidate.length > max ? candidate.slice(0, max) : candidate;
346
- if (text.length <= max && safeTest(pattern, text))
388
+ const text = honourBounds(candidate, min, max, pattern);
389
+ if (text !== undefined)
347
390
  return text;
348
391
  }
349
392
  for (let attempt = 0; attempt < PATTERN_ATTEMPTS; attempt++) {
350
- const text = brutePattern(pattern, max, variant, index + attempt);
351
- if (text !== undefined && safeTest(pattern, text))
352
- return text;
393
+ const text = brutePattern(pattern, max, variant, index + attempt, min);
394
+ if (text !== undefined) {
395
+ const honoured = honourBounds(text, min, max, pattern);
396
+ if (honoured !== undefined)
397
+ return honoured;
398
+ }
353
399
  }
354
400
  return undefined;
355
401
  }
402
+ function honourBounds(candidate, min, max, pattern) {
403
+ let text = candidate.length > max ? candidate.slice(0, max) : candidate;
404
+ if (min > 0 && text.length < min) {
405
+ const padded = padToMin(text, min, max, pattern);
406
+ if (padded === undefined)
407
+ return undefined;
408
+ text = padded;
409
+ }
410
+ if (text.length < min || text.length > max)
411
+ return undefined;
412
+ if (!safeTest(pattern, text))
413
+ return undefined;
414
+ return text;
415
+ }
356
416
  function safeTest(pattern, text) {
357
417
  try {
358
418
  return new RegExp(pattern).test(text);
@@ -365,14 +425,19 @@ function safeTest(pattern, text) {
365
425
  * Expand a small, common subset of regexes (`[a-z0-9_]+`, `^handle$`, optional groups). Anything
366
426
  * we cannot expand is left for the candidate list — better to omit than to send a junk string.
367
427
  */
368
- function expandPattern(pattern, max, variant, index) {
428
+ function expandPattern(pattern, max, variant, index, min) {
369
429
  let source = pattern;
370
430
  if (source.startsWith("^"))
371
431
  source = source.slice(1);
372
432
  if (source.endsWith("$"))
373
433
  source = source.slice(0, -1);
374
434
  try {
375
- const built = expandAtoms(source, max, variant, index);
435
+ let built = expandAtoms(source, max, variant, index);
436
+ if (min > 0 && built.length < min) {
437
+ const padded = padToMin(built, min, max, undefined);
438
+ if (padded !== undefined)
439
+ built = padded;
440
+ }
376
441
  if (built.length > max)
377
442
  return built.slice(0, max);
378
443
  return built;
@@ -505,9 +570,9 @@ function firstClassChar(body) {
505
570
  }
506
571
  return "a";
507
572
  }
508
- function brutePattern(pattern, max, variant, salt) {
573
+ function brutePattern(pattern, max, variant, salt, min = 0) {
509
574
  const alphabet = "abcdefghijklmnopqrstuvwxyz0123456789_-";
510
- const len = Math.min(Math.max(3, (salt % 8) + 3), max);
575
+ const len = Math.min(Math.max(Math.max(3, min), (salt % 8) + 3), max);
511
576
  let text = "";
512
577
  let x = (salt * 1664525 + slugVariant(variant).length) >>> 0;
513
578
  for (let i = 0; i < len; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../src/runtime/fixture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../src/runtime/fixture.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,10 @@ export interface CompiledRateLimitRule {
15
15
  category: string;
16
16
  rps: number;
17
17
  /** A 429 against a tag-sourced rule is a claim the document made; against config, it is the
18
- * operator's own guess about the environment — only the former is ever a finding. */
19
- source: "tag" | "config";
18
+ * operator's own guess about the environment — only the former is ever a finding.
19
+ * `"implicit"` is the reactive untagged-write bucket: it exists only after a 429, never as a
20
+ * documented claim. */
21
+ source: "tag" | "config" | "implicit";
20
22
  }
21
23
  /**
22
24
  * Builds the ordered rulebook `Client` consults on every request.
@@ -28,6 +30,21 @@ export interface CompiledRateLimitRule {
28
30
  * ever adds pacing where a rate is knowable, never removes coverage that existed before it.
29
31
  */
30
32
  export declare function buildRateLimitRules(model: SpecModel, configRules: readonly RateLimitSpec[] | undefined): CompiledRateLimitRule[];
33
+ /** Writes that never declared `x-rate-limit` still share a real backend budget (JWT writes, etc.). */
34
+ export declare const UNTAGGED_WRITE_CATEGORY = "untagged-write";
35
+ export declare const UNTAGGED_CATEGORY = "untagged";
36
+ /** Extra attempts after the first 429. The first 429 is never a seed/check failure by itself. */
37
+ export declare const MAX_429_RETRIES = 5;
38
+ export declare const RETRY_BACKOFF_INITIAL_MS = 1000;
39
+ export declare const RETRY_BACKOFF_CAP_MS = 30000;
40
+ /**
41
+ * `Retry-After` as a wait in ms. Delta-seconds or HTTP-date; anything unparseable is `null`
42
+ * so the caller can fall back to exponential backoff. Capped so a tester cannot hang for an hour.
43
+ */
44
+ export declare function parseRetryAfter(value: string | undefined, now?: number): number | null;
45
+ /** Wait before retry `attempt` (0-based) of a 429. Header wins; otherwise 1s, 2s, 4s… capped. */
46
+ export declare function retryWaitMs(retryAfterHeader: string | undefined, attempt: number, now?: number): number;
47
+ export declare function headerValue(headers: Record<string, string>, name: string): string | undefined;
31
48
  /**
32
49
  * A token bucket with a queue: concurrent requests against the same category are admitted one at
33
50
  * a time, each computing its wait from the bucket's current state rather than racing on it.
@@ -37,8 +54,14 @@ export declare class RateBucket {
37
54
  private readonly rps;
38
55
  private tokens;
39
56
  private last;
57
+ private cooldownUntil;
40
58
  private queue;
41
59
  constructor(rps: number);
60
+ /**
61
+ * A 429 said this budget is exhausted. Hold the next acquire for `waitMs`, then admit exactly
62
+ * one request — a full burst refill would immediately re-trip the limit we just hit.
63
+ */
64
+ penalize(waitMs: number): void;
42
65
  /** Resolves once a token is consumed. Returns `false` when the caller had to wait for it. */
43
66
  acquire(): Promise<boolean>;
44
67
  }
@@ -46,8 +69,23 @@ export declare class RateBucket {
46
69
  export declare class RateLimiter {
47
70
  private readonly rules;
48
71
  private readonly buckets;
72
+ /** Cooldown-only: after an untagged 429, later untagged writes wait this out, then run free. */
73
+ private readonly implicitUntil;
49
74
  constructor(rules: readonly CompiledRateLimitRule[]);
50
75
  resolve(method: string, pathname: string): CompiledRateLimitRule | undefined;
76
+ /**
77
+ * After a 429 on an untagged route, later untagged writes share this cooldown so they do not
78
+ * immediately re-trip. No ongoing rps — we do not know the undocumented rate.
79
+ */
80
+ implicitRule(method: string): CompiledRateLimitRule | undefined;
81
+ /**
82
+ * Feed a 429 wait into the matching bucket, or open the implicit untagged cooldown when the
83
+ * operation never declared a rate. Tags stay the proactive path; this is the reactive one.
84
+ */
85
+ noteBackoff(method: string, pathname: string, waitMs: number): CompiledRateLimitRule;
86
+ /** Wait out an implicit 429 cooldown. Returns `false` when the caller had to wait. */
87
+ waitImplicit(method: string): Promise<boolean>;
51
88
  acquire(rule: CompiledRateLimitRule): Promise<boolean>;
89
+ private bucketFor;
52
90
  }
53
91
  //# sourceMappingURL=rate-limit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../src/runtime/rate-limit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EAAkB,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjE,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAA;IACnD,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX;yFACqF;IACrF,MAAM,EAAE,KAAK,GAAG,QAAQ,CAAA;CACxB;AA0DD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,GAC/C,qBAAqB,EAAE,CAuCzB;AAED;;;;GAIG;AACH,qBAAa,UAAU;IAKV,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJhC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,KAAK,CAAmC;gBAEnB,GAAG,EAAE,MAAM;IAIxC,6FAA6F;IACvF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;CAoBjC;AAED,qGAAqG;AACrG,qBAAa,WAAW;IAGX,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;gBAE3B,KAAK,EAAE,SAAS,qBAAqB,EAAE;IAEpE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAItE,OAAO,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;CAQ5D"}
1
+ {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../src/runtime/rate-limit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EAAkB,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjE,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAA;IACnD,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX;;;2BAGuB;IACvB,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAA;CACrC;AA0DD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,GAC/C,qBAAqB,EAAE,CAuCzB;AAED,sGAAsG;AACtG,eAAO,MAAM,uBAAuB,mBAAmB,CAAA;AACvD,eAAO,MAAM,iBAAiB,aAAa,CAAA;AAE3C,iGAAiG;AACjG,eAAO,MAAM,eAAe,IAAI,CAAA;AAChC,eAAO,MAAM,wBAAwB,OAAQ,CAAA;AAC7C,eAAO,MAAM,oBAAoB,QAAS,CAAA;AAG1C;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,SAAa,GAAG,MAAM,GAAG,IAAI,CAU1F;AAED,iGAAiG;AACjG,wBAAgB,WAAW,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,MAAM,CAK3G;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM7F;AAMD;;;;GAIG;AACH,qBAAa,UAAU;IAMV,OAAO,CAAC,QAAQ,CAAC,GAAG;IALhC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,KAAK,CAAmC;gBAEnB,GAAG,EAAE,MAAM;IAIxC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO9B,6FAA6F;IACvF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;CA0BjC;AAED,qGAAqG;AACrG,qBAAa,WAAW;IAKX,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJlC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;gBAE7B,KAAK,EAAE,SAAS,qBAAqB,EAAE;IAEpE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAI5E;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAW/D;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,qBAAqB;IAiBpF,sFAAsF;IAChF,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ9C,OAAO,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5D,OAAO,CAAC,SAAS;CAQjB"}