@on-par/factory-core 0.9.8-next.10 → 0.9.8-next.11

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.
@@ -13,14 +13,21 @@ export type BreakerStatus = {
13
13
  open: false;
14
14
  justClosed?: BreakerEntry;
15
15
  };
16
- /** Extracts a provider-reported reset time (e.g. "Resets in 3hr 17min", from
17
- * opencode.ai's weekly-usage-cap error) so the breaker can cool down for as
16
+ /** Longest cooldown the breaker accepts from a provider-reported reset hint (31 days),
17
+ * so a typo'd or hostile far-future date can't park a provider indefinitely. */
18
+ export declare const MAX_REPORTED_COOLDOWN_MS: number;
19
+ /** Extracts a provider-reported reset time so the breaker can cool down for as
18
20
  * long as the provider actually says, instead of the flat default cooldown
19
- * meant for transient rate limits. Returns null when the text has no
20
- * parseable hint (both hour and minute groups absent or zero), so the
21
- * caller falls back to its own default. `bufferMs` pads the parsed duration
22
- * so the breaker doesn't reopen a few seconds before the real reset. */
23
- export declare function parseResetCooldownMs(text: string, bufferMs?: number): number | null;
21
+ * meant for transient rate limits. Understands the relative form ("Resets in
22
+ * 3hr 17min", opencode.ai's weekly-usage-cap error) and the absolute form
23
+ * ("resets at 2026-11-01T00:00:00Z", OpenCode Go's monthly cap), the latter
24
+ * measured against `now`. Returns null when the text has no parseable hint
25
+ * (relative hour and minute groups absent or zero; absolute instant
26
+ * unparseable, offset-less, or at or before `now`), so the caller falls back
27
+ * to its own default. `bufferMs` pads the parsed duration so the breaker
28
+ * doesn't reopen a few seconds before the real reset. Results are capped at
29
+ * MAX_REPORTED_COOLDOWN_MS. */
30
+ export declare function parseResetCooldownMs(text: string, bufferMs?: number, now?: number): number | null;
24
31
  export declare class ProviderBreaker {
25
32
  private file;
26
33
  private now;
@@ -1 +1 @@
1
- {"version":3,"file":"breaker.d.ts","sourceRoot":"","sources":["../../src/router/breaker.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GACvB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,UAAU,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC;AASxG;;;;;;yEAMyE;AACzE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAa,GAAG,MAAM,GAAG,IAAI,CAOvF;AAED,qBAAa,eAAe;IAExB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,GAAG;IAFb,YACU,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,MAAM,MAAyB,EAC1C;IAEJ,0GAA0G;IACpG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAItF;IAED;;;8DAG0D;IACpD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAWrD;IAED;qEACiE;IAC3D,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAUhH;YAEa,IAAI;YAUJ,KAAK;CAQpB;AAED;;;yDAGyD;AACzD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,OAAO,EAAE,eAAe,CAAC;IACzB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C,GAAG,OAAO,CAAC;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CAmBrC"}
1
+ {"version":3,"file":"breaker.d.ts","sourceRoot":"","sources":["../../src/router/breaker.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GACvB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,UAAU,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC;AAYxG;iFACiF;AACjF,eAAO,MAAM,wBAAwB,QAAwB,CAAC;AAE9D;;;;;;;;;;gCAUgC;AAChC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAa,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM,GAAG,IAAI,CAcjH;AAED,qBAAa,eAAe;IAExB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,GAAG;IAFb,YACU,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,MAAM,MAAyB,EAC1C;IAEJ,0GAA0G;IACpG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAItF;IAED;;;8DAG0D;IACpD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAWrD;IAED;qEACiE;IAC3D,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAUhH;YAEa,IAAI;YAUJ,KAAK;CAQpB;AAED;;;yDAGyD;AACzD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,OAAO,EAAE,eAAe,CAAC;IACzB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C,GAAG,OAAO,CAAC;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CAmBrC"}
@@ -4,22 +4,37 @@
4
4
  import { mkdir, readFile, rename, writeFile } from 'node:fs/promises';
5
5
  import { dirname } from 'node:path';
6
6
  const RESET_HINT_PATTERN = /resets?\s+in\s+(?:(\d+)\s*hr)?\s*(?:(\d+)\s*min)?/i;
7
- /** Extracts a provider-reported reset time (e.g. "Resets in 3hr 17min", from
8
- * opencode.ai's weekly-usage-cap error) so the breaker can cool down for as
7
+ const ABSOLUTE_RESET_PATTERN = /resets?\s+at\s+(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:?\d{2}))/i;
8
+ /** Longest cooldown the breaker accepts from a provider-reported reset hint (31 days),
9
+ * so a typo'd or hostile far-future date can't park a provider indefinitely. */
10
+ export const MAX_REPORTED_COOLDOWN_MS = 31 * 24 * 60 * 60_000;
11
+ /** Extracts a provider-reported reset time so the breaker can cool down for as
9
12
  * long as the provider actually says, instead of the flat default cooldown
10
- * meant for transient rate limits. Returns null when the text has no
11
- * parseable hint (both hour and minute groups absent or zero), so the
12
- * caller falls back to its own default. `bufferMs` pads the parsed duration
13
- * so the breaker doesn't reopen a few seconds before the real reset. */
14
- export function parseResetCooldownMs(text, bufferMs = 2 * 60_000) {
13
+ * meant for transient rate limits. Understands the relative form ("Resets in
14
+ * 3hr 17min", opencode.ai's weekly-usage-cap error) and the absolute form
15
+ * ("resets at 2026-11-01T00:00:00Z", OpenCode Go's monthly cap), the latter
16
+ * measured against `now`. Returns null when the text has no parseable hint
17
+ * (relative hour and minute groups absent or zero; absolute instant
18
+ * unparseable, offset-less, or at or before `now`), so the caller falls back
19
+ * to its own default. `bufferMs` pads the parsed duration so the breaker
20
+ * doesn't reopen a few seconds before the real reset. Results are capped at
21
+ * MAX_REPORTED_COOLDOWN_MS. */
22
+ export function parseResetCooldownMs(text, bufferMs = 2 * 60_000, now = Date.now()) {
15
23
  const match = RESET_HINT_PATTERN.exec(text);
16
- if (!match)
24
+ if (match) {
25
+ const hours = match[1] ? Number(match[1]) : 0;
26
+ const minutes = match[2] ? Number(match[2]) : 0;
27
+ if (hours !== 0 || minutes !== 0) {
28
+ return Math.min((hours * 60 + minutes) * 60_000 + bufferMs, MAX_REPORTED_COOLDOWN_MS);
29
+ }
30
+ }
31
+ const absolute = ABSOLUTE_RESET_PATTERN.exec(text);
32
+ if (!absolute)
17
33
  return null;
18
- const hours = match[1] ? Number(match[1]) : 0;
19
- const minutes = match[2] ? Number(match[2]) : 0;
20
- if (hours === 0 && minutes === 0)
34
+ const resetAt = Date.parse(absolute[1]);
35
+ if (Number.isNaN(resetAt) || resetAt <= now)
21
36
  return null;
22
- return (hours * 60 + minutes) * 60_000 + bufferMs;
37
+ return Math.min(resetAt - now + bufferMs, MAX_REPORTED_COOLDOWN_MS);
23
38
  }
24
39
  export class ProviderBreaker {
25
40
  file;
@@ -1 +1 @@
1
- {"version":3,"file":"breaker.js","sourceRoot":"","sources":["../../src/router/breaker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"breaker.js","sourceRoot":"","sources":["../../src/router/breaker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@on-par/factory-core",
3
- "version": "0.9.8-next.10",
3
+ "version": "0.9.8-next.11",
4
4
  "description": "Core engine: model router, constitutions, checkers, and pipeline phases for the Software Factory.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -54,10 +54,10 @@
54
54
  "prepack": "node ../../scripts/pack-hygiene-cli.ts prepack"
55
55
  },
56
56
  "dependencies": {
57
- "@on-par/adr-kit": "0.9.8-next.10",
58
- "@on-par/contracts": "0.9.8-next.10",
59
- "@on-par/factory-config": "0.9.8-next.10",
60
- "@on-par/repo-context": "0.9.8-next.10",
57
+ "@on-par/adr-kit": "0.9.8-next.11",
58
+ "@on-par/contracts": "0.9.8-next.11",
59
+ "@on-par/factory-config": "0.9.8-next.11",
60
+ "@on-par/repo-context": "0.9.8-next.11",
61
61
  "@octokit/rest": "^22.0.0",
62
62
  "execa": "^10.1.0",
63
63
  "gray-matter": "^4.0.3",