@stoneforge/smithy 1.4.1 → 1.6.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 (65) hide show
  1. package/dist/api/orchestrator-api.d.ts.map +1 -1
  2. package/dist/api/orchestrator-api.js +9 -0
  3. package/dist/api/orchestrator-api.js.map +1 -1
  4. package/dist/cli/commands/daemon.d.ts +5 -1
  5. package/dist/cli/commands/daemon.d.ts.map +1 -1
  6. package/dist/cli/commands/daemon.js +184 -6
  7. package/dist/cli/commands/daemon.js.map +1 -1
  8. package/dist/cli/index.d.ts +1 -1
  9. package/dist/cli/index.d.ts.map +1 -1
  10. package/dist/cli/index.js +1 -1
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/git/merge.d.ts +2 -0
  13. package/dist/git/merge.d.ts.map +1 -1
  14. package/dist/git/merge.js +19 -0
  15. package/dist/git/merge.js.map +1 -1
  16. package/dist/git/worktree-manager.d.ts.map +1 -1
  17. package/dist/git/worktree-manager.js +18 -2
  18. package/dist/git/worktree-manager.js.map +1 -1
  19. package/dist/runtime/session-manager.d.ts +2 -0
  20. package/dist/runtime/session-manager.d.ts.map +1 -1
  21. package/dist/runtime/session-manager.js +10 -2
  22. package/dist/runtime/session-manager.js.map +1 -1
  23. package/dist/runtime/spawner.d.ts.map +1 -1
  24. package/dist/runtime/spawner.js +13 -0
  25. package/dist/runtime/spawner.js.map +1 -1
  26. package/dist/server/routes/daemon.d.ts.map +1 -1
  27. package/dist/server/routes/daemon.js +84 -0
  28. package/dist/server/routes/daemon.js.map +1 -1
  29. package/dist/server/routes/settings.d.ts.map +1 -1
  30. package/dist/server/routes/settings.js +15 -2
  31. package/dist/server/routes/settings.js.map +1 -1
  32. package/dist/server/services.d.ts.map +1 -1
  33. package/dist/server/services.js +10 -1
  34. package/dist/server/services.js.map +1 -1
  35. package/dist/services/dispatch-daemon.d.ts +54 -2
  36. package/dist/services/dispatch-daemon.d.ts.map +1 -1
  37. package/dist/services/dispatch-daemon.js +204 -6
  38. package/dist/services/dispatch-daemon.js.map +1 -1
  39. package/dist/services/index.d.ts +2 -0
  40. package/dist/services/index.d.ts.map +1 -1
  41. package/dist/services/index.js +5 -0
  42. package/dist/services/index.js.map +1 -1
  43. package/dist/services/merge-steward-service.d.ts +8 -0
  44. package/dist/services/merge-steward-service.d.ts.map +1 -1
  45. package/dist/services/merge-steward-service.js +57 -0
  46. package/dist/services/merge-steward-service.js.map +1 -1
  47. package/dist/services/rate-limit-tracker.d.ts +77 -0
  48. package/dist/services/rate-limit-tracker.d.ts.map +1 -0
  49. package/dist/services/rate-limit-tracker.js +117 -0
  50. package/dist/services/rate-limit-tracker.js.map +1 -0
  51. package/dist/services/settings-service.d.ts +2 -0
  52. package/dist/services/settings-service.d.ts.map +1 -1
  53. package/dist/services/settings-service.js +10 -1
  54. package/dist/services/settings-service.js.map +1 -1
  55. package/dist/types/task-meta.d.ts +2 -0
  56. package/dist/types/task-meta.d.ts.map +1 -1
  57. package/dist/types/task-meta.js.map +1 -1
  58. package/dist/utils/rate-limit-parser.d.ts +55 -0
  59. package/dist/utils/rate-limit-parser.d.ts.map +1 -0
  60. package/dist/utils/rate-limit-parser.js +233 -0
  61. package/dist/utils/rate-limit-parser.js.map +1 -0
  62. package/package.json +5 -5
  63. package/web/assets/{index-8dBly5AJ.js → index--kBvwTYH.js} +100 -100
  64. package/web/assets/{utils-vendor-B7jOGaxP.js → utils-vendor-CnRJgAVd.js} +1 -1
  65. package/web/index.html +2 -2
@@ -6,6 +6,7 @@
6
6
  import { Hono } from 'hono';
7
7
  import { saveDaemonState, saveDaemonConfigOverrides } from '../daemon-state.js';
8
8
  import { createLogger } from '../../utils/logger.js';
9
+ import { parseRateLimitResetTime } from '../../utils/rate-limit-parser.js';
9
10
  const logger = createLogger('orchestrator');
10
11
  /**
11
12
  * Whether the daemon was started by the server (vs CLI or manual).
@@ -32,6 +33,7 @@ export function createDaemonRoutes(services) {
32
33
  });
33
34
  }
34
35
  const config = dispatchDaemon.getConfig();
36
+ const rateLimitStatus = dispatchDaemon.getRateLimitStatus();
35
37
  return c.json({
36
38
  isRunning: dispatchDaemon.isRunning(),
37
39
  available: true,
@@ -44,6 +46,7 @@ export function createDaemonRoutes(services) {
44
46
  workflowTaskPollEnabled: config.workflowTaskPollEnabled,
45
47
  directorInboxForwardingEnabled: config.directorInboxForwardingEnabled,
46
48
  },
49
+ rateLimit: rateLimitStatus,
47
50
  });
48
51
  });
49
52
  // POST /api/daemon/start
@@ -184,6 +187,87 @@ export function createDaemonRoutes(services) {
184
187
  return c.json({ error: { code: 'INTERNAL_ERROR', message: String(error) } }, 500);
185
188
  }
186
189
  });
190
+ // POST /api/daemon/sleep - Manually pause dispatch until a specified time
191
+ app.post('/api/daemon/sleep', async (c) => {
192
+ if (!dispatchDaemon) {
193
+ return c.json({
194
+ error: {
195
+ code: 'DAEMON_UNAVAILABLE',
196
+ message: 'DispatchDaemon not available (no git repository)',
197
+ },
198
+ }, 503);
199
+ }
200
+ try {
201
+ const body = (await c.req.json());
202
+ let resetTime;
203
+ if (body.until) {
204
+ // Prepend "resets " to match the rate limit parser's expected format
205
+ const input = body.until.toLowerCase().startsWith('resets')
206
+ ? body.until
207
+ : `resets ${body.until}`;
208
+ resetTime = parseRateLimitResetTime(input);
209
+ if (!resetTime) {
210
+ return c.json({
211
+ error: {
212
+ code: 'INVALID_TIME',
213
+ message: `Could not parse time: "${body.until}". Supported formats: "3am", "Feb 22 at 9:30am", "tomorrow at 3pm"`,
214
+ },
215
+ }, 400);
216
+ }
217
+ }
218
+ else if (body.duration !== undefined) {
219
+ if (typeof body.duration !== 'number' || body.duration <= 0) {
220
+ return c.json({
221
+ error: {
222
+ code: 'INVALID_DURATION',
223
+ message: 'Duration must be a positive number (seconds)',
224
+ },
225
+ }, 400);
226
+ }
227
+ resetTime = new Date(Date.now() + body.duration * 1000);
228
+ }
229
+ else {
230
+ return c.json({
231
+ error: {
232
+ code: 'MISSING_PARAMETER',
233
+ message: 'Either "until" (time string) or "duration" (seconds) is required',
234
+ },
235
+ }, 400);
236
+ }
237
+ dispatchDaemon.sleepUntil(resetTime);
238
+ return c.json({
239
+ success: true,
240
+ sleepUntil: resetTime.toISOString(),
241
+ message: `Daemon dispatch paused until ${resetTime.toISOString()}`,
242
+ });
243
+ }
244
+ catch (error) {
245
+ logger.error('Failed to put daemon to sleep:', error);
246
+ return c.json({ error: { code: 'INTERNAL_ERROR', message: String(error) } }, 500);
247
+ }
248
+ });
249
+ // POST /api/daemon/wake - Immediately resume dispatch
250
+ app.post('/api/daemon/wake', async (c) => {
251
+ if (!dispatchDaemon) {
252
+ return c.json({
253
+ error: {
254
+ code: 'DAEMON_UNAVAILABLE',
255
+ message: 'DispatchDaemon not available (no git repository)',
256
+ },
257
+ }, 503);
258
+ }
259
+ try {
260
+ dispatchDaemon.wake();
261
+ return c.json({
262
+ success: true,
263
+ message: 'Daemon dispatch resumed. Rate limits cleared.',
264
+ });
265
+ }
266
+ catch (error) {
267
+ logger.error('Failed to wake daemon:', error);
268
+ return c.json({ error: { code: 'INTERNAL_ERROR', message: String(error) } }, 500);
269
+ }
270
+ });
187
271
  return app;
188
272
  }
189
273
  //# sourceMappingURL=daemon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/server/routes/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/server/routes/daemon.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/server/routes/settings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM/C,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,8EAqEtD"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/server/routes/settings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM/C,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,8EAwFtD"}
@@ -50,9 +50,22 @@ export function createSettingsRoutes(services) {
50
50
  }
51
51
  }
52
52
  }
53
- const updated = settingsService.setAgentDefaults({
53
+ // Validate fallbackChain if provided — must be an array
54
+ if (body.fallbackChain !== undefined && !Array.isArray(body.fallbackChain)) {
55
+ return c.json({
56
+ error: {
57
+ code: 'INVALID_INPUT',
58
+ message: 'fallbackChain must be an array of executable names/paths',
59
+ },
60
+ }, 400);
61
+ }
62
+ const defaults = {
54
63
  defaultExecutablePaths: body.defaultExecutablePaths ?? {},
55
- });
64
+ };
65
+ if (body.fallbackChain !== undefined) {
66
+ defaults.fallbackChain = body.fallbackChain;
67
+ }
68
+ const updated = settingsService.setAgentDefaults(defaults);
56
69
  return c.json(updated);
57
70
  }
58
71
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/server/routes/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/server/routes/settings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/server/services.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAA+B,KAAK,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEzG,OAAO,EAmBL,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EAGrB,MAAM,aAAa,CAAC;AASrB,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,SAAS,CAAC;IACf,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;IAC7C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,eAAe,EAAE,eAAe,CAAC;IACjC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC1C,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;IAC3C,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAwPzF"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/server/services.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAA+B,KAAK,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEzG,OAAO,EAmBL,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EAGrB,MAAM,aAAa,CAAC;AAUrB,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,SAAS,CAAC;IACf,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;IAC7C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,eAAe,EAAE,eAAe,CAAC;IACjC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC1C,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;IAC3C,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAkQzF"}
@@ -12,6 +12,7 @@ import { notifySSEClientsOfNewSession } from './routes/events.js';
12
12
  import { DB_PATH as DEFAULT_DB_PATH, PROJECT_ROOT as DEFAULT_PROJECT_ROOT, getClaudePath } from './config.js';
13
13
  import { getDaemonConfigOverrides } from './daemon-state.js';
14
14
  import { createLogger } from '../utils/logger.js';
15
+ import { getFallbackResetTime } from '../utils/rate-limit-parser.js';
15
16
  const logger = createLogger('orchestrator');
16
17
  export async function initializeServices(options = {}) {
17
18
  const dbPath = options.dbPath ?? DEFAULT_DB_PATH;
@@ -155,6 +156,13 @@ export async function initializeServices(options = {}) {
155
156
  content: initialPrompt,
156
157
  isError: false,
157
158
  });
159
+ // Listen for rate_limited events from sessions and forward to daemon's tracker
160
+ const onRateLimited = (data) => {
161
+ if (dispatchDaemon && data.executablePath) {
162
+ const resetTime = data.resetsAt ?? getFallbackResetTime(data.message ?? '');
163
+ dispatchDaemon.handleRateLimitDetected(data.executablePath, resetTime);
164
+ }
165
+ };
158
166
  // Auto-terminate sessions when they emit a 'result' event
159
167
  // This handles ephemeral worker sessions completing their tasks
160
168
  const onResultEvent = (event) => {
@@ -175,12 +183,13 @@ export async function initializeServices(options = {}) {
175
183
  cleanup();
176
184
  };
177
185
  const cleanup = trackListeners(events, {
186
+ 'rate_limited': onRateLimited,
178
187
  'event': onResultEvent,
179
188
  'exit': onExit,
180
189
  });
181
190
  };
182
191
  const configOverrides = getDaemonConfigOverrides();
183
- dispatchDaemon = createDispatchDaemon(api, agentRegistry, sessionManager, dispatchService, worktreeManager, taskAssignmentService, stewardScheduler, inboxService, { pollIntervalMs: 5000, onSessionStarted, ...configOverrides }, poolService);
192
+ dispatchDaemon = createDispatchDaemon(api, agentRegistry, sessionManager, dispatchService, worktreeManager, taskAssignmentService, stewardScheduler, inboxService, { pollIntervalMs: 5000, onSessionStarted, ...configOverrides }, poolService, settingsService);
184
193
  }
185
194
  else {
186
195
  logger.warn('DispatchDaemon disabled - no git repository');
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/server/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/server/services.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEjI,OAAO,EAAE,2BAA2B,EAA8B,MAAM,gCAAgC,CAAC;AAEzG,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAkB1B,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,YAAY,IAAI,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9G,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,MAAM,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;AAiC5C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAA2B,EAAE;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,eAAe,CAAC;IACjD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,oBAAoB,CAAC;IAEhE,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9C,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,cAAc,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAEjC,MAAM,GAAG,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAE/C,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,CAAC,IAAI,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;IAElD,MAAM,cAAc,GAAG,oBAAoB,CAAC;QAC1C,gBAAgB,EAAE,WAAW;QAC7B,cAAc,EAAE,WAAW;QAC3B,UAAU;KACX,CAAC,CAAC;IAEH,2EAA2E;IAC3E,MAAM,eAAe,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAE9D,MAAM,cAAc,GAAG,oBAAoB,CAAC,cAAc,EAAE,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;IACjG,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExD,6EAA6E;IAC7E,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;IAChD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAyB,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,0CAA0C,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;IAEhE,MAAM,qBAAqB,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,qBAAqB,CAAC,GAAG,EAAE,qBAAqB,EAAE,aAAa,CAAC,CAAC;IACzF,MAAM,qBAAqB,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;IAE/D,IAAI,eAA4C,CAAC;IACjD,IAAI,CAAC;QACH,eAAe,GAAG,qBAAqB,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC;QACxE,iGAAiG;QACjG,2FAA2F;QAC3F,MAAM,eAAe,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,0BAA0B,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACrE,eAAe,GAAG,SAAS,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,uBAAuB,CAC/C,GAAG,EACH,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,cAAc,EACd,cAAc,EACd,eAAe,CAChB,CAAC;IAEF,4FAA4F;IAC5F,MAAM,mBAAmB,GAAG,yBAAyB,CACnD,GAAG,EACH,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,EAAE,aAAa,EAAE,WAAW,EAAE,EAC9B,eAAe,CAChB,CAAC;IAEF,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;QAClD,aAAa,EAAE,WAAW;KAC3B,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,qBAAqB,CAAC;QAC5C,mBAAmB;QACnB,kBAAkB;QAClB,cAAc;QACd,WAAW;QACX,sBAAsB,EAAE,KAAK,EAAE,UAAkB,EAA+B,EAAE;YAChF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAAW,UAAuB,CAAC,CAAC;YAClE,IAAI,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAEhC,4EAA4E;YAC5E,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC3B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAClC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;oBAChC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;wBACrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC/B,CAAC;oBACD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChD,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC3D,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,IAAI,SAAS,CAAC;QACzD,CAAC;KACF,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,aAAa,EAAE,eAAe,EAAE;QAC9E,oBAAoB,EAAE,GAAG;QACzB,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;QAC/B,gBAAgB,EAAE,KAAK;KACxB,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,oBAAoB,CAAC;QAC1C,GAAG;QACH,aAAa,EAAE,WAAW;KAC3B,CAAC,CAAC;IAEH,qDAAqD;IACrD,MAAM,WAAW,GAAG,sBAAsB,CAAC,GAAG,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAE/E,MAAM,YAAY,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACxD,MAAM,qBAAqB,GAAG,2BAA2B,CAAC,cAAc,CAAC,CAAC;IAE1E,uCAAuC;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;QAChD,WAAW;QACX,OAAO,EAAE,cAAc;QACvB,UAAU,EAAE,MAAM,CAAC,IAAI;QACvB,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,kBAAkB,CAAC;KACpD,CAAC,CAAC;IACH,iBAAiB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;QAC7C,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,uEAAuE;IACvE,IAAI,cAA0C,CAAC;IAC/C,IAAI,eAAe,EAAE,CAAC;QACpB,sFAAsF;QACtF,MAAM,gBAAgB,GAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE;YAC7F,iDAAiD;YACjD,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAE5E,mFAAmF;YACnF,4BAA4B,CAAC;gBAC3B,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,OAAO,EAAE,OAAmB;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,QAAQ;gBACxC,MAAM;aACP,CAAC,CAAC;YAEH,uCAAuC;YACvC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YAErD,kCAAkC;YAClC,MAAM,YAAY,GAAG,QAAQ,OAAO,CAAC,EAAE,UAAU,CAAC;YAClD,qBAAqB,CAAC,WAAW,CAAC;gBAChC,EAAE,EAAE,YAAY;gBAChB,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,OAAO,EAAE,OAAmB;gBAC5B,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YAEH,+EAA+E;YAC/E,MAAM,aAAa,GAAG,CAAC,IAAoE,EAAE,EAAE;gBAC7F,IAAI,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;oBAC5E,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC,CAAC;YAEF,0DAA0D;YAC1D,gEAAgE;YAChE,MAAM,aAAa,GAAG,CAAC,KAAuB,EAAE,EAAE;gBAChD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5B,MAAM,CAAC,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,mCAAmC,CAAC,CAAC;oBACvE,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE;wBACrC,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,uBAAuB;qBAChC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBACZ,oDAAoD;oBACtD,CAAC,CAAC,CAAC;oBACH,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC;YAEF,mEAAmE;YACnE,yEAAyE;YACzE,MAAM,MAAM,GAAG,GAAG,EAAE;gBAClB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,EAAE;gBACrC,cAAc,EAAE,aAAa;gBAC7B,OAAO,EAAE,aAAa;gBACtB,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,wBAAwB,EAAE,CAAC;QACnD,cAAc,GAAG,oBAAoB,CACnC,GAAG,EACH,aAAa,EACb,cAAc,EACd,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,EACZ,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,eAAe,EAAE,EAC9D,WAAW,EACX,eAAe,CAChB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;IAEhD,OAAO;QACL,GAAG;QACH,eAAe;QACf,aAAa;QACb,cAAc;QACd,cAAc;QACd,eAAe;QACf,qBAAqB;QACrB,eAAe;QACf,qBAAqB;QACrB,iBAAiB;QACjB,mBAAmB;QACnB,kBAAkB;QAClB,gBAAgB;QAChB,cAAc;QACd,WAAW;QACX,YAAY;QACZ,WAAW;QACX,iBAAiB;QACjB,cAAc;QACd,qBAAqB;QACrB,qBAAqB;QACrB,eAAe;QACf,cAAc;KACf,CAAC;AACJ,CAAC"}
@@ -26,6 +26,7 @@ import type { WorktreeManager } from '../git/worktree-manager.js';
26
26
  import type { TaskAssignmentService } from './task-assignment-service.js';
27
27
  import type { StewardScheduler } from './steward-scheduler.js';
28
28
  import type { AgentPoolService } from './agent-pool-service.js';
29
+ import type { SettingsService } from './settings-service.js';
29
30
  /**
30
31
  * Default poll interval in milliseconds for dispatch daemon (5 seconds)
31
32
  */
@@ -239,6 +240,34 @@ export interface DispatchDaemon {
239
240
  * and marks them as completed.
240
241
  */
241
242
  pollPlanAutoComplete(): Promise<PollResult>;
243
+ /**
244
+ * Notify the daemon that a rate limit was detected for an executable.
245
+ * Called externally (e.g., from event listeners on session events).
246
+ */
247
+ handleRateLimitDetected(executable: string, resetsAt: Date): void;
248
+ /**
249
+ * Returns the current rate limit status for the daemon.
250
+ */
251
+ getRateLimitStatus(): {
252
+ isPaused: boolean;
253
+ limits: Array<{
254
+ executable: string;
255
+ resetsAt: string;
256
+ }>;
257
+ soonestReset?: string;
258
+ };
259
+ /**
260
+ * Manually put the daemon to sleep until the specified time.
261
+ * Marks all executables in the fallback chain as rate-limited until the given time.
262
+ * This reuses the existing rate limit tracker and pause logic.
263
+ */
264
+ sleepUntil(resetTime: Date): void;
265
+ /**
266
+ * Immediately wake the daemon from a sleep/rate-limit pause.
267
+ * Clears all rate limit tracker entries and the sleep timer.
268
+ * The next poll cycle will resume normal dispatch.
269
+ */
270
+ wake(): void;
242
271
  /**
243
272
  * Gets the current configuration.
244
273
  */
@@ -282,12 +311,15 @@ export declare class DispatchDaemonImpl implements DispatchDaemon {
282
311
  private readonly stewardScheduler;
283
312
  private readonly inboxService;
284
313
  private readonly poolService;
314
+ private readonly settingsService;
315
+ private readonly rateLimitTracker;
285
316
  private readonly emitter;
286
317
  private config;
287
318
  private running;
288
319
  private polling;
289
320
  private pollIntervalHandle?;
290
321
  private currentPollCycle?;
322
+ private rateLimitSleepTimer?;
291
323
  /**
292
324
  * Tracks inbox item IDs that are currently being forwarded to persistent agents.
293
325
  * Prevents duplicate message delivery when concurrent pollInboxes() calls
@@ -299,10 +331,21 @@ export declare class DispatchDaemonImpl implements DispatchDaemon {
299
331
  * Items are added before forwarding and removed after markAsRead() completes.
300
332
  */
301
333
  private readonly forwardingInboxItems;
302
- constructor(api: QuarryAPI, agentRegistry: AgentRegistry, sessionManager: SessionManager, dispatchService: DispatchService, worktreeManager: WorktreeManager, taskAssignment: TaskAssignmentService, stewardScheduler: StewardScheduler, inboxService: InboxService, config?: DispatchDaemonConfig, poolService?: AgentPoolService);
334
+ constructor(api: QuarryAPI, agentRegistry: AgentRegistry, sessionManager: SessionManager, dispatchService: DispatchService, worktreeManager: WorktreeManager, taskAssignment: TaskAssignmentService, stewardScheduler: StewardScheduler, inboxService: InboxService, config?: DispatchDaemonConfig, poolService?: AgentPoolService, settingsService?: SettingsService);
303
335
  start(): Promise<void>;
304
336
  stop(): Promise<void>;
305
337
  isRunning(): boolean;
338
+ handleRateLimitDetected(executable: string, resetsAt: Date): void;
339
+ getRateLimitStatus(): {
340
+ isPaused: boolean;
341
+ limits: Array<{
342
+ executable: string;
343
+ resetsAt: string;
344
+ }>;
345
+ soonestReset?: string;
346
+ };
347
+ sleepUntil(resetTime: Date): void;
348
+ wake(): void;
306
349
  pollWorkerAvailability(): Promise<PollResult>;
307
350
  pollInboxes(): Promise<PollResult>;
308
351
  pollStewardTriggers(): Promise<PollResult>;
@@ -342,6 +385,15 @@ export declare class DispatchDaemonImpl implements DispatchDaemon {
342
385
  * Runs a complete poll cycle for all enabled polling loops.
343
386
  */
344
387
  private runPollCycle;
388
+ /**
389
+ * Resolves the executable path for a session, checking rate limits and applying
390
+ * fallback selection when the primary executable is rate-limited.
391
+ *
392
+ * @param agent - The agent to resolve the executable for
393
+ * @returns The executable path override if fallback was needed, undefined if primary is OK,
394
+ * or 'all_limited' if all executables in the fallback chain are rate-limited.
395
+ */
396
+ private resolveExecutableWithFallback;
345
397
  /**
346
398
  * Terminates sessions that have exceeded the configured max duration.
347
399
  * Prevents stuck workers from blocking their slot indefinitely.
@@ -487,5 +539,5 @@ export declare class DispatchDaemonImpl implements DispatchDaemon {
487
539
  /**
488
540
  * Creates a DispatchDaemon instance
489
541
  */
490
- export declare function createDispatchDaemon(api: QuarryAPI, agentRegistry: AgentRegistry, sessionManager: SessionManager, dispatchService: DispatchService, worktreeManager: WorktreeManager, taskAssignment: TaskAssignmentService, stewardScheduler: StewardScheduler, inboxService: InboxService, config?: DispatchDaemonConfig, poolService?: AgentPoolService): DispatchDaemon;
542
+ export declare function createDispatchDaemon(api: QuarryAPI, agentRegistry: AgentRegistry, sessionManager: SessionManager, dispatchService: DispatchService, worktreeManager: WorktreeManager, taskAssignment: TaskAssignmentService, stewardScheduler: StewardScheduler, inboxService: InboxService, config?: DispatchDaemonConfig, poolService?: AgentPoolService, settingsService?: SettingsService): DispatchDaemon;
491
543
  //# sourceMappingURL=dispatch-daemon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch-daemon.d.ts","sourceRoot":"","sources":["../../src/services/dispatch-daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch-daemon.d.ts","sourceRoot":"","sources":["../../src/services/dispatch-daemon.ts"],"names":[],"mappings":"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"}