@okrlinkhub/agent-factory 1.0.4 → 1.0.5
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/README.md
CHANGED
|
@@ -456,7 +456,7 @@ Hydration/runtime tables:
|
|
|
456
456
|
- `1.0.0`: scheduler reconcile now uses provider-observed machine state and no longer treats every `active` row as reusable capacity.
|
|
457
457
|
- `1.0.0`: stuck `processing` jobs are recovered more aggressively, including inconsistent rows missing valid lease metadata.
|
|
458
458
|
- `1.0.0`: idle workers without `scheduledShutdownAt` are backfilled automatically during reconcile/watchdog flows.
|
|
459
|
-
- `idleTimeoutMs` aligned to
|
|
459
|
+
- `idleTimeoutMs` aligned to 30 minutes and `workers.scheduledShutdownAt` now tracks idle lifecycle from `lastClaimAt`.
|
|
460
460
|
- Pre-stop drain protocol added: worker snapshots `/data` before termination and uploads archive metadata into `dataSnapshots`.
|
|
461
461
|
- Restore on boot added: new workers can rehydrate from latest snapshot archive.
|
|
462
462
|
- Hydration improved with `conversationHydrationCache` delta usage.
|
package/dist/component/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/component/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/component/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AA4DlC,MAAM,CAAC,MAAM,oBAAoB,GAC/B,EAAE,CAAC;AACL,MAAM,CAAC,MAAM,0BAA0B,GAAG,eAAe,CAAC;AAC1D,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAClD,MAAM,CAAC,MAAM,0BAA0B,GAA2B;IAChE,QAAQ,EAAE,YAAY;IACtB,qBAAqB,EAAE,WAAW;IAClC,qBAAqB,EAAE,OAAO;IAC9B,oBAAoB,EAAE,wBAAwB;IAC9C,kBAAkB,EAAE,iBAAiB;IACrC,sBAAsB,EAAE,iBAAiB;IACzC,oBAAoB,EAAE,+BAA+B;IACrD,2BAA2B,EAAE,MAAM;IACnC,kBAAkB,EAAE,OAAO;IAC3B,yBAAyB,EAAE,OAAO;IAClC,wBAAwB,EAAE,gCAAgC;IAC1D,iCAAiC,EAAE,OAAO;IAC1C,8BAA8B,EAAE,KAAK;IACrC,+BAA+B,EAAE,MAAM;IACvC,qBAAqB,EAAE,aAAa;IACpC,yBAAyB,EAAE,OAAO;IAClC,2BAA2B,EAAE,OAAO;IACpC,sBAAsB,EAAE,QAAQ;IAChC,mBAAmB,EAAE,wBAAwB;CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC/B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;CAChC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACtC,kBAAkB,EAAE,CAAC,CAAC,KAAK,CACzB,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAC1B,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CACjC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,KAAK,EAAE,oBAAoB;IAC3B,KAAK,EAAE,oBAAoB;IAC3B,KAAK,EAAE,oBAAoB;IAC3B,OAAO,EAAE,sBAAsB;IAC/B,SAAS,EAAE,wBAAwB;IACnC,QAAQ,EAAE,uBAAuB;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAuB;IAChD,KAAK,EAAE;QACL,eAAe,EAAE,EAAE;QACnB,WAAW,EAAE,GAAG;QAChB,cAAc,EAAE,EAAE;KACnB;IACD,KAAK,EAAE;QACL,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,KAAK;QAClB,UAAU,EAAE,OAAO;QACnB,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,GAAG;KACjB;IACD,KAAK,EAAE;QACL,OAAO,EAAE,OAAO;QAChB,mBAAmB,EAAE,MAAM;QAC3B,YAAY,EAAE,OAAO;KACtB;IACD,OAAO,EAAE;QACP,UAAU,EAAE,CAAC;QACb,oBAAoB,EAAE,CAAC;QACvB,SAAS,EAAE,CAAC;QACZ,aAAa,EAAE,SAAS;QACxB,mBAAmB,EAAE,MAAM;KAC5B;IACD,SAAS,EAAE;QACT,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,MAAM;QACxB,aAAa,EAAE,OAAO;QACtB,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,CAAC;QACzE,kBAAkB,EAAE,qBAAqB;KAC1C;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,EAAE;QACX,gBAAgB,EAAE,EAAE;QACpB,KAAK,EAAE,oBAAoB;QAC3B,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,0BAA0B;QACtC,YAAY,EAAE,EAAE;KACjB;CACF,CAAC;AAEF,MAAM,UAAU,sBAAsB,CACpC,OAAuD;IAEvD,OAAO;QACL,KAAK,EAAE;YACL,GAAG,cAAc,CAAC,KAAK;YACvB,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;SAC1B;QACD,KAAK,EAAE;YACL,GAAG,cAAc,CAAC,KAAK;YACvB,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;SAC1B;QACD,KAAK,EAAE;YACL,GAAG,cAAc,CAAC,KAAK;YACvB,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;SAC1B;QACD,OAAO,EAAE;YACP,GAAG,cAAc,CAAC,OAAO;YACzB,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;SAC5B;QACD,SAAS,EAAE;YACT,GAAG,cAAc,CAAC,SAAS;YAC3B,GAAG,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC;SAC9B;QACD,QAAQ,EAAE;YACR,GAAG,cAAc,CAAC,QAAQ;YAC1B,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;SAC7B;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,MAAmB,EACnB,KAAa;IAEb,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,aAAa,IAAI,QAAQ,CAAC;IAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,OAAO,GAAG,MAAM,CAAC,WAAW,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CACpE,CAAC;IACF,OAAO,OAAO,GAAG,MAAM,CAAC;AAC1B,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa,EAAE,QAAgB;IAC1D,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;IACrD,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;AAClC,CAAC"}
|
package/package.json
CHANGED
package/src/component/config.ts
CHANGED
|
@@ -316,7 +316,7 @@ describe("component lib", () => {
|
|
|
316
316
|
const worker = workers.find((row: { workerId: string }) => row.workerId === "worker-2");
|
|
317
317
|
expect(worker?.status).toBe("active");
|
|
318
318
|
expect(worker?.load).toBe(0);
|
|
319
|
-
expect(worker?.scheduledShutdownAt).toBe(now +
|
|
319
|
+
expect(worker?.scheduledShutdownAt).toBe(now + DEFAULT_CONFIG.scaling.idleTimeoutMs);
|
|
320
320
|
});
|
|
321
321
|
|
|
322
322
|
test("idle shutdown should move worker to draining and prevent reactivation", async () => {
|
|
@@ -365,7 +365,7 @@ describe("component lib", () => {
|
|
|
365
365
|
providerConfig: TEST_PROVIDER_CONFIG,
|
|
366
366
|
} as any);
|
|
367
367
|
|
|
368
|
-
const dueTime = claimTime +
|
|
368
|
+
const dueTime = claimTime + DEFAULT_CONFIG.scaling.idleTimeoutMs + 1;
|
|
369
369
|
vi.setSystemTime(dueTime);
|
|
370
370
|
const shutdown = await t.action(api.scheduler.checkIdleShutdowns, {
|
|
371
371
|
nowMs: dueTime,
|
|
@@ -377,7 +377,7 @@ describe("component lib", () => {
|
|
|
377
377
|
const workers = await t.query((internal.queue as any).listWorkersForScheduler, {});
|
|
378
378
|
const worker = workers.find((row: { workerId: string }) => row.workerId === "worker-stop-force-1");
|
|
379
379
|
expect(worker?.status).toBe("draining");
|
|
380
|
-
expect(worker?.scheduledShutdownAt).toBe(claimTime +
|
|
380
|
+
expect(worker?.scheduledShutdownAt).toBe(claimTime + DEFAULT_CONFIG.scaling.idleTimeoutMs);
|
|
381
381
|
expect(worker?.stoppedAt).toBeNull();
|
|
382
382
|
|
|
383
383
|
const control = await t.query(api.queue.getWorkerControlState as any, {
|
|
@@ -585,7 +585,7 @@ describe("component lib", () => {
|
|
|
585
585
|
providerConfig: TEST_PROVIDER_CONFIG,
|
|
586
586
|
});
|
|
587
587
|
|
|
588
|
-
const dueTime = claimTime +
|
|
588
|
+
const dueTime = claimTime + DEFAULT_CONFIG.scaling.idleTimeoutMs + 1;
|
|
589
589
|
vi.setSystemTime(dueTime);
|
|
590
590
|
const firstPass = await t.action(api.scheduler.checkIdleShutdowns, {
|
|
591
591
|
nowMs: dueTime,
|
|
@@ -1828,15 +1828,15 @@ describe("component lib", () => {
|
|
|
1828
1828
|
flyApiToken: "fly-token",
|
|
1829
1829
|
providerConfig: TEST_PROVIDER_CONFIG,
|
|
1830
1830
|
});
|
|
1831
|
-
expect(result.stopped).toBe(
|
|
1832
|
-
expect(result.pending).toBe(
|
|
1831
|
+
expect(result.stopped).toBe(0);
|
|
1832
|
+
expect(result.pending).toBe(0);
|
|
1833
1833
|
|
|
1834
1834
|
const workers = await t.query((internal.queue as any).listWorkersForScheduler, {});
|
|
1835
1835
|
const worker = workers.find(
|
|
1836
1836
|
(row: { workerId: string }) => row.workerId === "worker-missing-shutdown-1",
|
|
1837
1837
|
);
|
|
1838
|
-
expect(worker?.status).toBe("
|
|
1839
|
-
expect(worker?.scheduledShutdownAt).toBe(nowMs -
|
|
1838
|
+
expect(worker?.status).toBe("active");
|
|
1839
|
+
expect(worker?.scheduledShutdownAt).toBe((nowMs - 600_000) + DEFAULT_CONFIG.scaling.idleTimeoutMs);
|
|
1840
1840
|
});
|
|
1841
1841
|
|
|
1842
1842
|
test("provider-stopped machines should not remain active in the worker table", async () => {
|