@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.
- package/dist/api/orchestrator-api.d.ts.map +1 -1
- package/dist/api/orchestrator-api.js +9 -0
- package/dist/api/orchestrator-api.js.map +1 -1
- package/dist/cli/commands/daemon.d.ts +5 -1
- package/dist/cli/commands/daemon.d.ts.map +1 -1
- package/dist/cli/commands/daemon.js +184 -6
- package/dist/cli/commands/daemon.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/git/merge.d.ts +2 -0
- package/dist/git/merge.d.ts.map +1 -1
- package/dist/git/merge.js +19 -0
- package/dist/git/merge.js.map +1 -1
- package/dist/git/worktree-manager.d.ts.map +1 -1
- package/dist/git/worktree-manager.js +18 -2
- package/dist/git/worktree-manager.js.map +1 -1
- package/dist/runtime/session-manager.d.ts +2 -0
- package/dist/runtime/session-manager.d.ts.map +1 -1
- package/dist/runtime/session-manager.js +10 -2
- package/dist/runtime/session-manager.js.map +1 -1
- package/dist/runtime/spawner.d.ts.map +1 -1
- package/dist/runtime/spawner.js +13 -0
- package/dist/runtime/spawner.js.map +1 -1
- package/dist/server/routes/daemon.d.ts.map +1 -1
- package/dist/server/routes/daemon.js +84 -0
- package/dist/server/routes/daemon.js.map +1 -1
- package/dist/server/routes/settings.d.ts.map +1 -1
- package/dist/server/routes/settings.js +15 -2
- package/dist/server/routes/settings.js.map +1 -1
- package/dist/server/services.d.ts.map +1 -1
- package/dist/server/services.js +10 -1
- package/dist/server/services.js.map +1 -1
- package/dist/services/dispatch-daemon.d.ts +54 -2
- package/dist/services/dispatch-daemon.d.ts.map +1 -1
- package/dist/services/dispatch-daemon.js +204 -6
- package/dist/services/dispatch-daemon.js.map +1 -1
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +5 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/merge-steward-service.d.ts +8 -0
- package/dist/services/merge-steward-service.d.ts.map +1 -1
- package/dist/services/merge-steward-service.js +57 -0
- package/dist/services/merge-steward-service.js.map +1 -1
- package/dist/services/rate-limit-tracker.d.ts +77 -0
- package/dist/services/rate-limit-tracker.d.ts.map +1 -0
- package/dist/services/rate-limit-tracker.js +117 -0
- package/dist/services/rate-limit-tracker.js.map +1 -0
- package/dist/services/settings-service.d.ts +2 -0
- package/dist/services/settings-service.d.ts.map +1 -1
- package/dist/services/settings-service.js +10 -1
- package/dist/services/settings-service.js.map +1 -1
- package/dist/types/task-meta.d.ts +2 -0
- package/dist/types/task-meta.d.ts.map +1 -1
- package/dist/types/task-meta.js.map +1 -1
- package/dist/utils/rate-limit-parser.d.ts +55 -0
- package/dist/utils/rate-limit-parser.d.ts.map +1 -0
- package/dist/utils/rate-limit-parser.js +233 -0
- package/dist/utils/rate-limit-parser.js.map +1 -0
- package/package.json +5 -5
- package/web/assets/{index-8dBly5AJ.js → index--kBvwTYH.js} +100 -100
- package/web/assets/{utils-vendor-B7jOGaxP.js → utils-vendor-CnRJgAVd.js} +1 -1
- 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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
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,
|
|
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
|
-
|
|
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":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;AAE/C,MAAM,UAAU,oBAAoB,CAAC,QAAkB;IACrD,MAAM,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,mCAAmC;IACnC,GAAG,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,CAAC,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,eAAe,CAAC,gBAAgB,EAAE,CAAC;YACpD,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACpF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,mCAAmC;IACnC,GAAG,CAAC,GAAG,CAAC,8BAA8B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAClD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAwB,CAAC;YAEzD,wBAAwB;YACxB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,OAAO,CAAC,CAAC,IAAI,CACX,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,oCAAoC,EAAE,EAAE,EACnF,GAAG,CACJ,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,CAAC,sBAAsB,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,sBAAsB,KAAK,QAAQ,EAAE,CAAC;gBACjG,OAAO,CAAC,CAAC,IAAI,CACX;oBACE,KAAK,EAAE;wBACL,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE,qFAAqF;qBAC/F;iBACF,EACD,GAAG,CACJ,CAAC;YACJ,CAAC;YAED,iEAAiE;YACjE,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;oBACvE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC9B,OAAO,CAAC,CAAC,IAAI,CACX;4BACE,KAAK,EAAE;gCACL,IAAI,EAAE,eAAe;gCACrB,OAAO,EAAE,0BAA0B,GAAG,0BAA0B,OAAO,KAAK,EAAE;6BAC/E;yBACF,EACD,GAAG,CACJ,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,
|
|
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;
|
|
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"}
|
package/dist/server/services.js
CHANGED
|
@@ -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":"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;
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/server/services.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EAMV,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlE,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,qBAAqB,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAwB,MAAM,4BAA4B,CAAC;AAExF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"dispatch-daemon.d.ts","sourceRoot":"","sources":["../../src/services/dispatch-daemon.ts"],"names":[],"mappings":"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"}
|