@rulvar/openai 1.30.0 → 1.32.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 (2) hide show
  1. package/dist/index.js +12 -9
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -542,17 +542,20 @@ function failedResponseError(code, message) {
542
542
  const MAX_RETRY_AFTER_MS = 2147483647;
543
543
  /**
544
544
  * Parses a Retry-After header into milliseconds. Only the RFC delta
545
- * seconds grammar is honored: after trimming optional whitespace the
546
- * value must be a nonempty run of decimal digits, so the HTTP date
547
- * form, signs, decimals, hex, exponents, and empty values all return
548
- * undefined and the engine falls back to its computed policy backoff
549
- * (v1.29.0 review P3; `Number()` alone accepted every one of those).
550
- * A huge digit run is clamped to the Node timer maximum.
545
+ * seconds grammar is honored: a nonempty run of decimal digits padded
546
+ * by HTTP optional whitespace at most (OWS is space and horizontal
547
+ * tab, nothing else), so the HTTP date form, signs, decimals, hex,
548
+ * exponents, and empty values all return undefined and the engine
549
+ * falls back to its computed policy backoff (v1.29.0 review P3;
550
+ * `Number()` alone accepted every one of those). ECMAScript trim()
551
+ * was wider than OWS and let newline, carriage return, vertical tab,
552
+ * form feed, and NBSP padded values through (v1.30.0 review P3). A
553
+ * huge digit run is clamped to the Node timer maximum.
551
554
  */
552
555
  function retryAfterMsFrom(header) {
553
- const trimmed = header.trim();
554
- if (!/^[0-9]+$/.test(trimmed)) return;
555
- return Math.min(Number(trimmed) * 1e3, MAX_RETRY_AFTER_MS);
556
+ const match = /^[\t ]*([0-9]+)[\t ]*$/.exec(header);
557
+ if (match === null) return;
558
+ return Math.min(Number(match[1]) * 1e3, MAX_RETRY_AFTER_MS);
556
559
  }
557
560
  /** Projects SDK/API errors into the retryable WireError vocabulary. */
558
561
  function openAiErrorToWire(error) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rulvar/openai",
3
- "version": "1.30.0",
3
+ "version": "1.32.0",
4
4
  "description": "Rulvar first-class provider adapter for the OpenAI Responses API, plus the openaiCompatible factory.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -23,13 +23,13 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "openai": "^6.45.0",
26
- "@rulvar/core": "1.30.0"
26
+ "@rulvar/core": "1.32.0"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/node": "^22.20.0",
30
30
  "tsdown": "^0.22.3",
31
31
  "typescript": "~6.0.3",
32
- "@rulvar/testing": "1.30.0"
32
+ "@rulvar/testing": "1.32.0"
33
33
  },
34
34
  "repository": {
35
35
  "type": "git",