@stoneforge/smithy 1.4.1 → 1.5.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 (59) hide show
  1. package/dist/cli/commands/daemon.d.ts +5 -1
  2. package/dist/cli/commands/daemon.d.ts.map +1 -1
  3. package/dist/cli/commands/daemon.js +184 -6
  4. package/dist/cli/commands/daemon.js.map +1 -1
  5. package/dist/cli/index.d.ts +1 -1
  6. package/dist/cli/index.d.ts.map +1 -1
  7. package/dist/cli/index.js +1 -1
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/git/merge.d.ts +2 -0
  10. package/dist/git/merge.d.ts.map +1 -1
  11. package/dist/git/merge.js +19 -0
  12. package/dist/git/merge.js.map +1 -1
  13. package/dist/git/worktree-manager.d.ts.map +1 -1
  14. package/dist/git/worktree-manager.js +11 -2
  15. package/dist/git/worktree-manager.js.map +1 -1
  16. package/dist/runtime/session-manager.d.ts +2 -0
  17. package/dist/runtime/session-manager.d.ts.map +1 -1
  18. package/dist/runtime/session-manager.js +10 -2
  19. package/dist/runtime/session-manager.js.map +1 -1
  20. package/dist/runtime/spawner.d.ts.map +1 -1
  21. package/dist/runtime/spawner.js +13 -0
  22. package/dist/runtime/spawner.js.map +1 -1
  23. package/dist/server/routes/daemon.d.ts.map +1 -1
  24. package/dist/server/routes/daemon.js +84 -0
  25. package/dist/server/routes/daemon.js.map +1 -1
  26. package/dist/server/routes/settings.d.ts.map +1 -1
  27. package/dist/server/routes/settings.js +15 -2
  28. package/dist/server/routes/settings.js.map +1 -1
  29. package/dist/server/services.d.ts.map +1 -1
  30. package/dist/server/services.js +10 -1
  31. package/dist/server/services.js.map +1 -1
  32. package/dist/services/dispatch-daemon.d.ts +54 -2
  33. package/dist/services/dispatch-daemon.d.ts.map +1 -1
  34. package/dist/services/dispatch-daemon.js +204 -6
  35. package/dist/services/dispatch-daemon.js.map +1 -1
  36. package/dist/services/index.d.ts +2 -0
  37. package/dist/services/index.d.ts.map +1 -1
  38. package/dist/services/index.js +5 -0
  39. package/dist/services/index.js.map +1 -1
  40. package/dist/services/merge-steward-service.d.ts +8 -0
  41. package/dist/services/merge-steward-service.d.ts.map +1 -1
  42. package/dist/services/merge-steward-service.js +57 -0
  43. package/dist/services/merge-steward-service.js.map +1 -1
  44. package/dist/services/rate-limit-tracker.d.ts +77 -0
  45. package/dist/services/rate-limit-tracker.d.ts.map +1 -0
  46. package/dist/services/rate-limit-tracker.js +117 -0
  47. package/dist/services/rate-limit-tracker.js.map +1 -0
  48. package/dist/services/settings-service.d.ts +2 -0
  49. package/dist/services/settings-service.d.ts.map +1 -1
  50. package/dist/services/settings-service.js +10 -1
  51. package/dist/services/settings-service.js.map +1 -1
  52. package/dist/types/task-meta.d.ts +2 -0
  53. package/dist/types/task-meta.d.ts.map +1 -1
  54. package/dist/types/task-meta.js.map +1 -1
  55. package/dist/utils/rate-limit-parser.d.ts +55 -0
  56. package/dist/utils/rate-limit-parser.d.ts.map +1 -0
  57. package/dist/utils/rate-limit-parser.js +233 -0
  58. package/dist/utils/rate-limit-parser.js.map +1 -0
  59. package/package.json +5 -5
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Rate Limit Tracker Service
3
+ *
4
+ * An in-memory service that tracks which executables are rate-limited
5
+ * and when their limits reset. Used by the dispatch system to avoid
6
+ * spawning sessions against rate-limited executables and to select
7
+ * fallback executables when the primary is throttled.
8
+ *
9
+ * Key features:
10
+ * - Track rate-limited executables with reset timestamps
11
+ * - Auto-expire stale entries (past reset times)
12
+ * - Walk fallback chains to find available executables
13
+ * - Query soonest reset time for scheduling retries
14
+ *
15
+ * @module
16
+ */
17
+ /**
18
+ * A single rate limit entry for a tracked executable.
19
+ */
20
+ export interface RateLimitEntry {
21
+ executable: string;
22
+ resetsAt: Date;
23
+ recordedAt: Date;
24
+ }
25
+ /**
26
+ * Rate Limit Tracker interface for managing executable rate limit state.
27
+ *
28
+ * The tracker provides methods for:
29
+ * - Recording rate-limited executables
30
+ * - Checking whether an executable is currently limited
31
+ * - Walking fallback chains to find available executables
32
+ * - Querying when rate limits will reset
33
+ */
34
+ export interface RateLimitTracker {
35
+ /**
36
+ * Mark an executable as rate-limited until the given reset time.
37
+ * If the executable is already tracked, only update if the new
38
+ * resetsAt is later than the existing one (never downgrade).
39
+ */
40
+ markLimited(executable: string, resetsAt: Date): void;
41
+ /**
42
+ * Check whether an executable is currently rate-limited.
43
+ * Auto-expires stale entries whose resetsAt is in the past.
44
+ */
45
+ isLimited(executable: string): boolean;
46
+ /**
47
+ * Walk the fallback chain and return the first executable that
48
+ * is not currently rate-limited. Returns undefined if all are limited.
49
+ */
50
+ getAvailableExecutable(fallbackChain: string[]): string | undefined;
51
+ /**
52
+ * Return the earliest resetsAt among all currently-limited executables
53
+ * (after auto-expiring stale entries). Returns undefined if nothing is limited.
54
+ */
55
+ getSoonestResetTime(): Date | undefined;
56
+ /**
57
+ * Return all currently-limited entries (after auto-expiring stale ones).
58
+ */
59
+ getAllLimits(): RateLimitEntry[];
60
+ /**
61
+ * Return true if every executable in the fallback chain is currently
62
+ * rate-limited (after auto-expiring stale entries).
63
+ */
64
+ isAllLimited(fallbackChain: string[]): boolean;
65
+ /**
66
+ * Reset all tracked state.
67
+ */
68
+ clear(): void;
69
+ }
70
+ /**
71
+ * Creates a RateLimitTracker instance.
72
+ *
73
+ * No constructor arguments — this is purely in-memory with no DB or
74
+ * service dependencies.
75
+ */
76
+ export declare function createRateLimitTracker(): RateLimitTracker;
77
+ //# sourceMappingURL=rate-limit-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit-tracker.d.ts","sourceRoot":"","sources":["../../src/services/rate-limit-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,IAAI,CAAC;IACf,UAAU,EAAE,IAAI,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IAEtD;;;OAGG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAEvC;;;OAGG;IACH,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAAC;IAEpE;;;OAGG;IACH,mBAAmB,IAAI,IAAI,GAAG,SAAS,CAAC;IAExC;;OAEG;IACH,YAAY,IAAI,cAAc,EAAE,CAAC;IAEjC;;;OAGG;IACH,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE/C;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACf;AAkHD;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAEzD"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Rate Limit Tracker Service
3
+ *
4
+ * An in-memory service that tracks which executables are rate-limited
5
+ * and when their limits reset. Used by the dispatch system to avoid
6
+ * spawning sessions against rate-limited executables and to select
7
+ * fallback executables when the primary is throttled.
8
+ *
9
+ * Key features:
10
+ * - Track rate-limited executables with reset timestamps
11
+ * - Auto-expire stale entries (past reset times)
12
+ * - Walk fallback chains to find available executables
13
+ * - Query soonest reset time for scheduling retries
14
+ *
15
+ * @module
16
+ */
17
+ // ============================================================================
18
+ // Implementation
19
+ // ============================================================================
20
+ /**
21
+ * In-memory implementation of the RateLimitTracker.
22
+ *
23
+ * Uses a Map keyed by executable name. Stale entries (resetsAt in the past)
24
+ * are lazily cleaned up during read operations.
25
+ */
26
+ class RateLimitTrackerImpl {
27
+ limits = new Map();
28
+ markLimited(executable, resetsAt) {
29
+ const existing = this.limits.get(executable);
30
+ if (existing && existing.resetsAt.getTime() >= resetsAt.getTime()) {
31
+ // Existing entry has a later (or equal) reset time — don't downgrade
32
+ return;
33
+ }
34
+ this.limits.set(executable, {
35
+ resetsAt,
36
+ recordedAt: new Date(),
37
+ });
38
+ }
39
+ isLimited(executable) {
40
+ const entry = this.limits.get(executable);
41
+ if (!entry) {
42
+ return false;
43
+ }
44
+ if (entry.resetsAt.getTime() <= Date.now()) {
45
+ // Stale — auto-expire
46
+ this.limits.delete(executable);
47
+ return false;
48
+ }
49
+ return true;
50
+ }
51
+ getAvailableExecutable(fallbackChain) {
52
+ for (const executable of fallbackChain) {
53
+ if (!this.isLimited(executable)) {
54
+ return executable;
55
+ }
56
+ }
57
+ return undefined;
58
+ }
59
+ getSoonestResetTime() {
60
+ this.expireStale();
61
+ let soonest;
62
+ for (const entry of this.limits.values()) {
63
+ if (!soonest || entry.resetsAt.getTime() < soonest.getTime()) {
64
+ soonest = entry.resetsAt;
65
+ }
66
+ }
67
+ return soonest;
68
+ }
69
+ getAllLimits() {
70
+ this.expireStale();
71
+ const entries = [];
72
+ for (const [executable, entry] of this.limits) {
73
+ entries.push({
74
+ executable,
75
+ resetsAt: entry.resetsAt,
76
+ recordedAt: entry.recordedAt,
77
+ });
78
+ }
79
+ return entries;
80
+ }
81
+ isAllLimited(fallbackChain) {
82
+ if (fallbackChain.length === 0) {
83
+ return false;
84
+ }
85
+ return fallbackChain.every((executable) => this.isLimited(executable));
86
+ }
87
+ clear() {
88
+ this.limits.clear();
89
+ }
90
+ // ----------------------------------------
91
+ // Private Helpers
92
+ // ----------------------------------------
93
+ /**
94
+ * Remove all entries whose resetsAt is in the past.
95
+ */
96
+ expireStale() {
97
+ const now = Date.now();
98
+ for (const [executable, entry] of this.limits) {
99
+ if (entry.resetsAt.getTime() <= now) {
100
+ this.limits.delete(executable);
101
+ }
102
+ }
103
+ }
104
+ }
105
+ // ============================================================================
106
+ // Factory Function
107
+ // ============================================================================
108
+ /**
109
+ * Creates a RateLimitTracker instance.
110
+ *
111
+ * No constructor arguments — this is purely in-memory with no DB or
112
+ * service dependencies.
113
+ */
114
+ export function createRateLimitTracker() {
115
+ return new RateLimitTrackerImpl();
116
+ }
117
+ //# sourceMappingURL=rate-limit-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit-tracker.js","sourceRoot":"","sources":["../../src/services/rate-limit-tracker.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export interface Setting {
22
22
  export interface ServerAgentDefaults {
23
23
  /** Provider name → executable path (e.g. { claude: '/usr/local/bin/claude-dev' }) */
24
24
  defaultExecutablePaths: Record<string, string>;
25
+ /** Ordered list of executable names/paths for rate limit fallback. When one hits its limit, the next available is used. */
26
+ fallbackChain?: string[];
25
27
  }
26
28
  /**
27
29
  * Well-known setting keys
@@ -1 +1 @@
1
- {"version":3,"file":"settings-service.d.ts","sourceRoot":"","sources":["../../src/services/settings-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAS1D;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,qFAAqF;IACrF,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;;CAEf,CAAC;AAMX,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAE7C;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAEjD;;;OAGG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAEpC;;OAEG;IACH,gBAAgB,IAAI,mBAAmB,CAAC;IAExC;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,mBAAmB,CAAC;CACtE;AAoCD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,CAsE9E"}
1
+ {"version":3,"file":"settings-service.d.ts","sourceRoot":"","sources":["../../src/services/settings-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAS1D;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,qFAAqF;IACrF,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,2HAA2H;IAC3H,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;;CAEf,CAAC;AAMX,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAE7C;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAEjD;;;OAGG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAEpC;;OAEG;IACH,gBAAgB,IAAI,mBAAmB,CAAC;IAExC;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,mBAAmB,CAAC;CACtE;AAoCD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,CAsF9E"}
@@ -66,11 +66,16 @@ export function createSettingsService(storage) {
66
66
  // Validate shape — ensure defaultExecutablePaths exists and is an object
67
67
  const value = setting.value;
68
68
  const paths = value?.defaultExecutablePaths;
69
- return {
69
+ const result = {
70
70
  defaultExecutablePaths: paths && typeof paths === 'object' && !Array.isArray(paths)
71
71
  ? paths
72
72
  : {},
73
73
  };
74
+ // Include fallbackChain if it's a valid array
75
+ if (Array.isArray(value?.fallbackChain)) {
76
+ result.fallbackChain = value.fallbackChain.filter((entry) => typeof entry === 'string');
77
+ }
78
+ return result;
74
79
  },
75
80
  setAgentDefaults(defaults) {
76
81
  // Validate that defaultExecutablePaths is a plain object of strings
@@ -84,6 +89,10 @@ export function createSettingsService(storage) {
84
89
  const validated = {
85
90
  defaultExecutablePaths: sanitized,
86
91
  };
92
+ // Validate fallbackChain — must be an array; filter out non-string entries
93
+ if (Array.isArray(defaults.fallbackChain)) {
94
+ validated.fallbackChain = defaults.fallbackChain.filter((entry) => typeof entry === 'string');
95
+ }
87
96
  this.setSetting(SETTING_KEYS.AGENT_DEFAULTS, validated);
88
97
  return validated;
89
98
  },
@@ -1 +1 @@
1
- {"version":3,"file":"settings-service.js","sourceRoot":"","sources":["../../src/services/settings-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings-service.js","sourceRoot":"","sources":["../../src/services/settings-service.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,8 @@ export interface OrchestratorTaskMeta {
49
49
  readonly reconciliationCount?: number;
50
50
  /** Number of times this task has been recovered from a stuck merging/testing state */
51
51
  readonly stuckMergeRecoveryCount?: number;
52
+ /** Number of times the steward orphan recovery has re-dispatched a steward for this task */
53
+ readonly stewardRecoveryCount?: number;
52
54
  /**
53
55
  * Number of consecutive times the orphan recovery loop has resumed this task
54
56
  * without a status change. When this exceeds the configured threshold,
@@ -1 +1 @@
1
- {"version":3,"file":"task-meta.d.ts","sourceRoot":"","sources":["../../src/types/task-meta.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-meta.d.ts","sourceRoot":"","sources":["../../src/types/task-meta.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"task-meta.js","sourceRoot":"","sources":["../../src/types/task-meta.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-meta.js","sourceRoot":"","sources":["../../src/types/task-meta.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Rate Limit Parser Utility
3
+ *
4
+ * Detects and parses Claude Code rate limit messages emitted during
5
+ * headless SDK sessions. Supports three known message formats:
6
+ *
7
+ * 1. Hourly/5-hour limit: "You've hit your limit · resets 12am"
8
+ * 2. Weekly limit: "Weekly limit reached · resets Feb 22 at 9:30am"
9
+ * 3. Tomorrow reset: "resets tomorrow at 3pm"
10
+ *
11
+ * Also provides a fallback function for when parsing fails, so callers
12
+ * can always obtain a conservative reset time estimate.
13
+ *
14
+ * Usage:
15
+ * import { isRateLimitMessage, parseRateLimitResetTime, getFallbackResetTime } from '../utils/rate-limit-parser.js';
16
+ *
17
+ * if (isRateLimitMessage(text)) {
18
+ * const resetAt = parseRateLimitResetTime(text) ?? getFallbackResetTime(text);
19
+ * }
20
+ *
21
+ * @module
22
+ */
23
+ /**
24
+ * Patterns to detect rate limit messages from Claude Code.
25
+ *
26
+ * Handles:
27
+ * - "You've hit your limit" with straight (') or curly (\u2019) apostrophes
28
+ * - "Weekly limit reached"
29
+ * - Generic "limit" + "resets" co-occurrence in the same message
30
+ */
31
+ export declare const RATE_LIMIT_PATTERNS: ReadonlyArray<RegExp>;
32
+ /**
33
+ * Returns `true` if the content matches any known rate limit pattern.
34
+ */
35
+ export declare function isRateLimitMessage(content: string): boolean;
36
+ /**
37
+ * Parses the reset time embedded in a rate limit message.
38
+ *
39
+ * Returns a `Date` representing when the rate limit resets, or `undefined`
40
+ * if the message does not contain a parseable reset time.
41
+ *
42
+ * @param content - The raw message text from Claude Code
43
+ * @returns The parsed reset `Date`, or `undefined` if parsing fails
44
+ */
45
+ export declare function parseRateLimitResetTime(content: string): Date | undefined;
46
+ /**
47
+ * Returns a fallback reset time when the exact time cannot be parsed.
48
+ * Uses the message content to determine the type of limit and applies
49
+ * a conservative default sleep duration.
50
+ *
51
+ * - Weekly limit ("weekly"): 6 hours from now
52
+ * - Hourly/daily limit (default): 1 hour from now
53
+ */
54
+ export declare function getFallbackResetTime(content: string): Date;
55
+ //# sourceMappingURL=rate-limit-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit-parser.d.ts","sourceRoot":"","sources":["../../src/utils/rate-limit-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAwBH;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAIrD,CAAC;AAMF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3D;AA0CD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAoBzE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI1D"}
@@ -0,0 +1,233 @@
1
+ /**
2
+ * Rate Limit Parser Utility
3
+ *
4
+ * Detects and parses Claude Code rate limit messages emitted during
5
+ * headless SDK sessions. Supports three known message formats:
6
+ *
7
+ * 1. Hourly/5-hour limit: "You've hit your limit · resets 12am"
8
+ * 2. Weekly limit: "Weekly limit reached · resets Feb 22 at 9:30am"
9
+ * 3. Tomorrow reset: "resets tomorrow at 3pm"
10
+ *
11
+ * Also provides a fallback function for when parsing fails, so callers
12
+ * can always obtain a conservative reset time estimate.
13
+ *
14
+ * Usage:
15
+ * import { isRateLimitMessage, parseRateLimitResetTime, getFallbackResetTime } from '../utils/rate-limit-parser.js';
16
+ *
17
+ * if (isRateLimitMessage(text)) {
18
+ * const resetAt = parseRateLimitResetTime(text) ?? getFallbackResetTime(text);
19
+ * }
20
+ *
21
+ * @module
22
+ */
23
+ // ============================================================================
24
+ // Constants
25
+ // ============================================================================
26
+ /**
27
+ * Month name abbreviations used in Format B reset times.
28
+ */
29
+ const MONTH_NAMES = {
30
+ jan: 0,
31
+ feb: 1,
32
+ mar: 2,
33
+ apr: 3,
34
+ may: 4,
35
+ jun: 5,
36
+ jul: 6,
37
+ aug: 7,
38
+ sep: 8,
39
+ oct: 9,
40
+ nov: 10,
41
+ dec: 11,
42
+ };
43
+ /**
44
+ * Patterns to detect rate limit messages from Claude Code.
45
+ *
46
+ * Handles:
47
+ * - "You've hit your limit" with straight (') or curly (\u2019) apostrophes
48
+ * - "Weekly limit reached"
49
+ * - Generic "limit" + "resets" co-occurrence in the same message
50
+ */
51
+ export const RATE_LIMIT_PATTERNS = [
52
+ /you[\u2018\u2019''`]ve hit your limit/i,
53
+ /weekly limit reached/i,
54
+ /limit\b.*\bresets?\b/i,
55
+ ];
56
+ // ============================================================================
57
+ // Detection
58
+ // ============================================================================
59
+ /**
60
+ * Returns `true` if the content matches any known rate limit pattern.
61
+ */
62
+ export function isRateLimitMessage(content) {
63
+ return RATE_LIMIT_PATTERNS.some((pattern) => pattern.test(content));
64
+ }
65
+ // ============================================================================
66
+ // Parsing — reset time extraction
67
+ // ============================================================================
68
+ /**
69
+ * Format B regex: "resets Mon DD at H:MMam/pm" or "resets Mon DD Ham/pm"
70
+ *
71
+ * The "at" keyword is optional to handle both "resets Feb 22 at 8pm"
72
+ * and "resets Feb 22 8pm".
73
+ *
74
+ * Captures:
75
+ * [1] month name (e.g. "Feb" or "February")
76
+ * [2] day number (e.g. "22")
77
+ * [3] hour (e.g. "9" or "12")
78
+ * [4] minutes (optional, e.g. "30")
79
+ * [5] am/pm (e.g. "am")
80
+ */
81
+ const FORMAT_B_REGEX = /resets?\s+([A-Za-z]+)\s+(\d{1,2})\s+(?:at\s+)?(\d{1,2})(?::(\d{2}))?\s*(am|pm)/i;
82
+ /**
83
+ * Format C regex: "resets tomorrow at H:MMam/pm" or "resets tomorrow at Ham/pm"
84
+ *
85
+ * Captures:
86
+ * [1] hour (e.g. "3" or "12")
87
+ * [2] minutes (optional, e.g. "30")
88
+ * [3] am/pm
89
+ */
90
+ const FORMAT_C_REGEX = /resets?\s+tomorrow\s+at\s+(\d{1,2})(?::(\d{2}))?\s*(am|pm)/i;
91
+ /**
92
+ * Format A regex: "resets Ham/pm" or "resets H:MMam/pm" (time only, no date)
93
+ *
94
+ * Captures:
95
+ * [1] hour (e.g. "12" or "3")
96
+ * [2] minutes (optional, e.g. "30")
97
+ * [3] am/pm
98
+ */
99
+ const FORMAT_A_REGEX = /resets?\s+(\d{1,2})(?::(\d{2}))?\s*(am|pm)/i;
100
+ /**
101
+ * Parses the reset time embedded in a rate limit message.
102
+ *
103
+ * Returns a `Date` representing when the rate limit resets, or `undefined`
104
+ * if the message does not contain a parseable reset time.
105
+ *
106
+ * @param content - The raw message text from Claude Code
107
+ * @returns The parsed reset `Date`, or `undefined` if parsing fails
108
+ */
109
+ export function parseRateLimitResetTime(content) {
110
+ // Try Format B first (most specific — includes a date)
111
+ const formatB = FORMAT_B_REGEX.exec(content);
112
+ if (formatB) {
113
+ return parseDateAndTime(formatB);
114
+ }
115
+ // Try Format C (tomorrow + time — more specific than time-only)
116
+ const formatC = FORMAT_C_REGEX.exec(content);
117
+ if (formatC) {
118
+ return parseTomorrowTime(formatC);
119
+ }
120
+ // Fall back to Format A (time only)
121
+ const formatA = FORMAT_A_REGEX.exec(content);
122
+ if (formatA) {
123
+ return parseTimeOnly(formatA);
124
+ }
125
+ return undefined;
126
+ }
127
+ /**
128
+ * Returns a fallback reset time when the exact time cannot be parsed.
129
+ * Uses the message content to determine the type of limit and applies
130
+ * a conservative default sleep duration.
131
+ *
132
+ * - Weekly limit ("weekly"): 6 hours from now
133
+ * - Hourly/daily limit (default): 1 hour from now
134
+ */
135
+ export function getFallbackResetTime(content) {
136
+ const isWeekly = /weekly/i.test(content);
137
+ const fallbackMs = isWeekly ? 6 * 60 * 60 * 1000 : 1 * 60 * 60 * 1000;
138
+ return new Date(Date.now() + fallbackMs);
139
+ }
140
+ // ============================================================================
141
+ // Internal helpers
142
+ // ============================================================================
143
+ /**
144
+ * Converts a 12-hour time (hour + am/pm) to 24-hour format.
145
+ */
146
+ function to24Hour(hour, ampm) {
147
+ const lower = ampm.toLowerCase();
148
+ if (lower === 'am') {
149
+ return hour === 12 ? 0 : hour;
150
+ }
151
+ // pm
152
+ return hour === 12 ? 12 : hour + 12;
153
+ }
154
+ /**
155
+ * Parses a Format B match (date + time) into a Date.
156
+ *
157
+ * If the resulting date is in the past, assumes next year.
158
+ */
159
+ function parseDateAndTime(match) {
160
+ try {
161
+ const monthStr = match[1].toLowerCase();
162
+ const day = parseInt(match[2], 10);
163
+ const hour12 = parseInt(match[3], 10);
164
+ const minutes = match[4] ? parseInt(match[4], 10) : 0;
165
+ const ampm = match[5];
166
+ const month = MONTH_NAMES[monthStr.slice(0, 3)];
167
+ if (month === undefined)
168
+ return undefined;
169
+ if (isNaN(day) || isNaN(hour12) || isNaN(minutes))
170
+ return undefined;
171
+ const hour24 = to24Hour(hour12, ampm);
172
+ const now = new Date();
173
+ const year = now.getFullYear();
174
+ const result = new Date(year, month, day, hour24, minutes, 0, 0);
175
+ // If the parsed date is in the past, assume it means next year
176
+ if (result.getTime() < now.getTime()) {
177
+ result.setFullYear(year + 1);
178
+ }
179
+ return result;
180
+ }
181
+ catch {
182
+ return undefined;
183
+ }
184
+ }
185
+ /**
186
+ * Parses a Format C match (tomorrow + time) into a Date.
187
+ *
188
+ * Computes tomorrow's date and sets the parsed time on it.
189
+ */
190
+ function parseTomorrowTime(match) {
191
+ try {
192
+ const hour12 = parseInt(match[1], 10);
193
+ const minutes = match[2] ? parseInt(match[2], 10) : 0;
194
+ const ampm = match[3];
195
+ if (isNaN(hour12) || isNaN(minutes))
196
+ return undefined;
197
+ const hour24 = to24Hour(hour12, ampm);
198
+ const now = new Date();
199
+ const result = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1, // tomorrow
200
+ hour24, minutes, 0, 0);
201
+ return result;
202
+ }
203
+ catch {
204
+ return undefined;
205
+ }
206
+ }
207
+ /**
208
+ * Parses a Format A match (time only) into a Date.
209
+ *
210
+ * Returns the next occurrence of that local time — today if still in the
211
+ * future, otherwise tomorrow.
212
+ */
213
+ function parseTimeOnly(match) {
214
+ try {
215
+ const hour12 = parseInt(match[1], 10);
216
+ const minutes = match[2] ? parseInt(match[2], 10) : 0;
217
+ const ampm = match[3];
218
+ if (isNaN(hour12) || isNaN(minutes))
219
+ return undefined;
220
+ const hour24 = to24Hour(hour12, ampm);
221
+ const now = new Date();
222
+ const result = new Date(now.getFullYear(), now.getMonth(), now.getDate(), hour24, minutes, 0, 0);
223
+ // If the time has already passed today, advance to tomorrow
224
+ if (result.getTime() <= now.getTime()) {
225
+ result.setDate(result.getDate() + 1);
226
+ }
227
+ return result;
228
+ }
229
+ catch {
230
+ return undefined;
231
+ }
232
+ }
233
+ //# sourceMappingURL=rate-limit-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit-parser.js","sourceRoot":"","sources":["../../src/utils/rate-limit-parser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stoneforge/smithy",
3
- "version": "1.4.1",
3
+ "version": "1.5.0",
4
4
  "type": "module",
5
5
  "description": "Orchestrator SDK for Stoneforge - AI agent orchestration library extending the core SDK",
6
6
  "main": "dist/index.js",
@@ -93,10 +93,10 @@
93
93
  "hono": "^4.7.0",
94
94
  "node-pty": "^1.1.0",
95
95
  "ws": "^8.18.0",
96
- "@stoneforge/core": "1.4.1",
97
- "@stoneforge/quarry": "1.4.1",
98
- "@stoneforge/shared-routes": "1.4.1",
99
- "@stoneforge/storage": "1.4.1"
96
+ "@stoneforge/core": "1.5.0",
97
+ "@stoneforge/quarry": "1.5.0",
98
+ "@stoneforge/shared-routes": "1.5.0",
99
+ "@stoneforge/storage": "1.5.0"
100
100
  },
101
101
  "optionalDependencies": {
102
102
  "@opencode-ai/sdk": "^1.2.6"