@cat-factory/node-server 0.87.7 → 0.87.9
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/cacheNotifications.d.ts +2 -1
- package/dist/cacheNotifications.d.ts.map +1 -1
- package/dist/container.d.ts +2 -1
- package/dist/container.d.ts.map +1 -1
- package/dist/environments.d.ts +0 -2
- package/dist/environments.d.ts.map +1 -1
- package/dist/environments.js +1 -1
- package/dist/environments.js.map +1 -1
- package/dist/execution/bootstrapRunner.d.ts +0 -8
- package/dist/execution/bootstrapRunner.d.ts.map +1 -1
- package/dist/execution/bootstrapRunner.js +1 -1
- package/dist/execution/bootstrapRunner.js.map +1 -1
- package/dist/execution/config.d.ts +0 -2
- package/dist/execution/config.d.ts.map +1 -1
- package/dist/execution/config.js +1 -1
- package/dist/execution/config.js.map +1 -1
- package/dist/execution/drive.d.ts +1 -1
- package/dist/execution/drive.d.ts.map +1 -1
- package/dist/execution/drive.js.map +1 -1
- package/dist/execution/envConfigRepairRunner.d.ts +0 -9
- package/dist/execution/envConfigRepairRunner.d.ts.map +1 -1
- package/dist/execution/envConfigRepairRunner.js +1 -1
- package/dist/execution/envConfigRepairRunner.js.map +1 -1
- package/dist/execution/reclaim.d.ts +2 -1
- package/dist/execution/reclaim.d.ts.map +1 -1
- package/dist/githubReconcile.d.ts +0 -2
- package/dist/githubReconcile.d.ts.map +1 -1
- package/dist/githubReconcile.js +1 -1
- package/dist/githubReconcile.js.map +1 -1
- package/dist/initiativeLoop.d.ts +0 -2
- package/dist/initiativeLoop.d.ts.map +1 -1
- package/dist/initiativeLoop.js +1 -1
- package/dist/initiativeLoop.js.map +1 -1
- package/dist/kaizen.d.ts +0 -6
- package/dist/kaizen.d.ts.map +1 -1
- package/dist/kaizen.js +3 -3
- package/dist/kaizen.js.map +1 -1
- package/dist/notifications.d.ts +0 -2
- package/dist/notifications.d.ts.map +1 -1
- package/dist/notifications.js +1 -1
- package/dist/notifications.js.map +1 -1
- package/dist/recurring.d.ts +0 -2
- package/dist/recurring.d.ts.map +1 -1
- package/dist/recurring.js +1 -1
- package/dist/recurring.js.map +1 -1
- package/dist/repositories/drizzle.d.ts +1 -218
- package/dist/repositories/drizzle.d.ts.map +1 -1
- package/dist/repositories/drizzle.js +17 -17
- package/dist/repositories/drizzle.js.map +1 -1
- package/dist/retention.d.ts +0 -8
- package/dist/retention.d.ts.map +1 -1
- package/dist/retention.js +2 -2
- package/dist/retention.js.map +1 -1
- package/package.json +17 -17
|
@@ -3,7 +3,7 @@ import type { PropagatorLogger } from './propagator.js';
|
|
|
3
3
|
/** The default channel prefix; each cache gets `<prefix>:<cacheName>`. */
|
|
4
4
|
export declare const DEFAULT_CACHE_CHANNEL_PREFIX = "cat-factory:cache";
|
|
5
5
|
/** Which of the two connections a pair opens — they get different resilience options. */
|
|
6
|
-
|
|
6
|
+
type CacheRedisRole = 'publisher' | 'subscriber';
|
|
7
7
|
/** The slice of the ioredis surface layered-loader's notification classes use. */
|
|
8
8
|
export interface CacheRedisClient {
|
|
9
9
|
/** layered-loader's factory distinguishes a live client from options by this field. */
|
|
@@ -37,4 +37,5 @@ export interface CacheNotificationsOptions {
|
|
|
37
37
|
* publisher/subscriber client pair, quit by the cache bag's `close()`.
|
|
38
38
|
*/
|
|
39
39
|
export declare function buildCacheNotifications(env: NodeJS.ProcessEnv, log: PropagatorLogger, options?: CacheNotificationsOptions): Promise<GroupNotificationPairFactory | undefined>;
|
|
40
|
+
export {};
|
|
40
41
|
//# sourceMappingURL=cacheNotifications.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cacheNotifications.d.ts","sourceRoot":"","sources":["../src/cacheNotifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AACjG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAevD,0EAA0E;AAC1E,eAAO,MAAM,4BAA4B,sBAAsB,CAAA;AAE/D,yFAAyF;AACzF,
|
|
1
|
+
{"version":3,"file":"cacheNotifications.d.ts","sourceRoot":"","sources":["../src/cacheNotifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AACjG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAevD,0EAA0E;AAC1E,eAAO,MAAM,4BAA4B,sBAAsB,CAAA;AAE/D,yFAAyF;AACzF,KAAK,cAAc,GAAG,WAAW,GAAG,YAAY,CAAA;AAEhD,kFAAkF;AAClF,MAAM,WAAW,gBAAgB;IAC/B,uFAAuF;IACvF,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC1D,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9C,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,IAAI,CAAA;IAC7D,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,IAAI,CAAA;IACzE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3F,UAAU,IAAI,IAAI,CAAA;CACnB;AAmDD,MAAM,WAAW,yBAAyB;IACxC;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,gBAAgB,CAAA;CAClE;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,EAAE,gBAAgB,EACrB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,4BAA4B,GAAG,SAAS,CAAC,CAmCnD"}
|
package/dist/container.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export declare function pickRepoSource<T>(remote: Record<string, unknown> | unde
|
|
|
31
31
|
* warm container — the personal per-run activation for an individual vendor, the pooled token
|
|
32
32
|
* otherwise — mirroring `ContainerAgentExecutor.resolveAuth`.
|
|
33
33
|
*/
|
|
34
|
-
|
|
34
|
+
interface ModelProviderResolverWrapDeps {
|
|
35
35
|
leasePersonalSubscriptionToken?: (executionId: string, userId: string, vendor: SubscriptionVendor) => Promise<{
|
|
36
36
|
secret: string;
|
|
37
37
|
}>;
|
|
@@ -315,4 +315,5 @@ export declare function withProvisioningLog(resolve: ResolveRunnerTransport | nu
|
|
|
315
315
|
* composite still serves inline kinds but fails container kinds loudly.
|
|
316
316
|
*/
|
|
317
317
|
export declare function buildNodeContainer(options: NodeContainerOptions): ServerContainer;
|
|
318
|
+
export {};
|
|
318
319
|
//# sourceMappingURL=container.d.ts.map
|
package/dist/container.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EAOvB,MAAM,qBAAqB,CAAA;AAO5B,OAAO,EAUL,KAAK,iBAAiB,EAEtB,KAAK,qBAAqB,EAa1B,uBAAuB,EAiBvB,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAEL,KAAK,KAAK,EAIV,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAE1B,KAAK,8BAA8B,EACnC,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,mCAAmC,EACxC,KAAK,qBAAqB,EAI1B,KAAK,8BAA8B,EACnC,KAAK,kBAAkB,EACvB,KAAK,gCAAgC,EAQtC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAGL,KAAK,gBAAgB,EAQtB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EACL,KAAK,SAAS,EAGd,KAAK,iBAAiB,EAGtB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EA2CrB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,KAAK,qBAAqB,EAU3B,MAAM,oBAAoB,CAAA;AAO3B,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAuB,MAAM,qBAAqB,CAAA;AAC3F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAQ/C,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,eAAe,CAAA;AAwBvE,OAAO,EAAE,yBAAyB,EAA4B,MAAM,2BAA2B,CAAA;AAI/F,OAAO,KAAK,EAAE,qBAAqB,EAA4B,MAAM,wBAAwB,CAAA;AAoC7F;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC3C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,GACb,CAAC,CAEH;AAmOD;;;;;;;GAOG;AACH,
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
|
package/dist/environments.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import type { Clock } from '@cat-factory/kernel';
|
|
2
2
|
import type { Logger, ServerContainer } from '@cat-factory/server';
|
|
3
|
-
/** How often the Node service tears down expired environments. */
|
|
4
|
-
export declare const ENVIRONMENT_SWEEP_INTERVAL_MS: number;
|
|
5
3
|
/**
|
|
6
4
|
* Start the periodic environment TTL sweep. Runs once immediately then on a timer.
|
|
7
5
|
* Best-effort: a failed sweep is logged and retried next tick, never thrown. Returns a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../src/environments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../src/environments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAUlE;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,GACV,MAAM,IAAI,CAkBZ"}
|
package/dist/environments.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// has no cron, so a timer destroys environments whose expiry has elapsed. No-op when
|
|
4
4
|
// the environments integration isn't wired (the container has no `environments` module).
|
|
5
5
|
/** How often the Node service tears down expired environments. */
|
|
6
|
-
|
|
6
|
+
const ENVIRONMENT_SWEEP_INTERVAL_MS = 2 * 60 * 1000;
|
|
7
7
|
/**
|
|
8
8
|
* Start the periodic environment TTL sweep. Runs once immediately then on a timer.
|
|
9
9
|
* Best-effort: a failed sweep is logged and retried next tick, never thrown. Returns a
|
package/dist/environments.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environments.js","sourceRoot":"","sources":["../src/environments.ts"],"names":[],"mappings":"AAGA,oFAAoF;AACpF,qFAAqF;AACrF,qFAAqF;AACrF,yFAAyF;AAEzF,kEAAkE;AAClE,MAAM,
|
|
1
|
+
{"version":3,"file":"environments.js","sourceRoot":"","sources":["../src/environments.ts"],"names":[],"mappings":"AAGA,oFAAoF;AACpF,qFAAqF;AACrF,qFAAqF;AACrF,yFAAyF;AAEzF,kEAAkE;AAClE,MAAM,6BAA6B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAEnD;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAA0B,EAC1B,KAAY,EACZ,GAAW;IAEX,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAA;IAC3C,IAAI,CAAC,YAAY;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;YACzE,IAAI,IAAI,GAAG,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,gCAAgC,CAAC,CAAA;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CACP,EAAE,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAC/D,8BAA8B,CAC/B,CAAA;QACH,CAAC;IACH,CAAC,CAAA;IACD,KAAK,IAAI,EAAE,CAAA;IACX,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,6BAA6B,CAAC,CAAA;IAC3E,KAAK,CAAC,KAAK,EAAE,EAAE,CAAA;IACf,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -4,14 +4,6 @@ import type { PgBoss } from 'pg-boss';
|
|
|
4
4
|
import type { AdvanceQueueOptions } from './pgBossRunner.js';
|
|
5
5
|
import type { DriveConfig } from './drive.js';
|
|
6
6
|
export declare const BOOTSTRAP_QUEUE = "bootstrap.advance";
|
|
7
|
-
/**
|
|
8
|
-
* Poll a bootstrap run to a terminal state, sleeping between polls — the Node analogue
|
|
9
|
-
* of the BootstrapWorkflow's `step.sleep` + `pollBootstrapJob` loop, with plain async
|
|
10
|
-
* sleeps instead of durable steps. `pollBootstrapJob` is idempotent and persists every
|
|
11
|
-
* change, so a re-drive (retry/sweeper) safely resumes. Returns when the run is done or
|
|
12
|
-
* failed, or when the poll budget is spent (the sweeper re-drives a still-running run).
|
|
13
|
-
*/
|
|
14
|
-
export declare function driveBootstrap(container: ServerContainer, workspaceId: string, jobId: string, cfg: DriveConfig, log: Logger): Promise<void>;
|
|
15
7
|
export declare class PgBossBootstrapRunner implements BootstrapRunner {
|
|
16
8
|
private readonly boss;
|
|
17
9
|
private readonly queueOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrapRunner.d.ts","sourceRoot":"","sources":["../../src/execution/bootstrapRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,KAAK,EAAO,MAAM,EAAe,MAAM,SAAS,CAAA;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAU7C,eAAO,MAAM,eAAe,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"bootstrapRunner.d.ts","sourceRoot":"","sources":["../../src/execution/bootstrapRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,KAAK,EAAO,MAAM,EAAe,MAAM,SAAS,CAAA;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAU7C,eAAO,MAAM,eAAe,sBAAsB,CAAA;AAoDlD,qBAAa,qBAAsB,YAAW,eAAe;IAEzD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAF/B,YACmB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,mBAAmB,EAChD;IAEE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhE;IAEK,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnE;CACF;AAED,wFAAwF;AACxF,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACrC,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,wEAAwE;AACxE,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,mBAAmB,GAChC,OAAO,CAAC,IAAI,CAAC,CAEf"}
|
|
@@ -29,7 +29,7 @@ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
|
29
29
|
* change, so a re-drive (retry/sweeper) safely resumes. Returns when the run is done or
|
|
30
30
|
* failed, or when the poll budget is spent (the sweeper re-drives a still-running run).
|
|
31
31
|
*/
|
|
32
|
-
|
|
32
|
+
async function driveBootstrap(container, workspaceId, jobId, cfg, log) {
|
|
33
33
|
const bootstrap = container.bootstrap;
|
|
34
34
|
if (!bootstrap)
|
|
35
35
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrapRunner.js","sourceRoot":"","sources":["../../src/execution/bootstrapRunner.ts"],"names":[],"mappings":"AAMA,uFAAuF;AACvF,qFAAqF;AACrF,wFAAwF;AACxF,sFAAsF;AACtF,oFAAoF;AACpF,0FAA0F;AAC1F,+BAA+B;AAE/B,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAA;AAClD,MAAM,KAAK,GAAG,eAAe,CAAA;AAC7B,wFAAwF;AACxF,0FAA0F;AAC1F,2BAA2B;AAC3B,MAAM,YAAY,GAAG,WAAoB,CAAA;AAOzC,SAAS,WAAW,CAAC,KAAa,EAAE,IAAyB;IAC3D,OAAO;QACL,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,UAAU,EAAE,IAAI,CAAC,iBAAiB;QAClC,YAAY,EAAE,IAAI;KACnB,CAAA;AACH,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAErF;;;;;;GAMG;AACH,
|
|
1
|
+
{"version":3,"file":"bootstrapRunner.js","sourceRoot":"","sources":["../../src/execution/bootstrapRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type { AppConfig } from '@cat-factory/server';
|
|
2
2
|
import type { DriveConfig } from './drive.js';
|
|
3
3
|
import type { AdvanceQueueOptions, SweeperConfig } from './pgBossRunner.js';
|
|
4
|
-
/** Parse a Workflows-style duration ("15 seconds", "5 minutes", "24 hours", "1 day") to ms. */
|
|
5
|
-
export declare function durationMs(value: string, fallback: number): number;
|
|
6
4
|
export interface ExecutionRuntime {
|
|
7
5
|
drive: DriveConfig;
|
|
8
6
|
queue: AdvanceQueueOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/execution/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/execution/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAiB3E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,mBAAmB,CAAA;IAC1B,OAAO,EAAE,aAAa,CAAA;IACtB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,gBAAgB,CAoD5F"}
|
package/dist/execution/config.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// by the container (which builds the work runner) and `start()` (which builds the worker
|
|
4
4
|
// + sweeper) so the timing is derived once and stays consistent.
|
|
5
5
|
/** Parse a Workflows-style duration ("15 seconds", "5 minutes", "24 hours", "1 day") to ms. */
|
|
6
|
-
|
|
6
|
+
function durationMs(value, fallback) {
|
|
7
7
|
const m = /^(\d+)\s*(second|minute|hour|day)s?$/.exec(value.trim());
|
|
8
8
|
if (!m)
|
|
9
9
|
return fallback;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/execution/config.ts"],"names":[],"mappings":"AAIA,sFAAsF;AACtF,wFAAwF;AACxF,yFAAyF;AACzF,iEAAiE;AAEjE,+FAA+F;AAC/F,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/execution/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type DriveConfig, type DriveOptions, type DriveOutcome, driveExecution as driveExecutionCore } from '@cat-factory/orchestration';
|
|
2
|
-
export type { DriveConfig,
|
|
2
|
+
export type { DriveConfig, DriveOptions, DriveOutcome } from '@cat-factory/orchestration';
|
|
3
3
|
type ExecutionService = Parameters<typeof driveExecutionCore>[0];
|
|
4
4
|
/** Drive one run to a standstill with real (timer-backed) sleeps between gate polls. */
|
|
5
5
|
export declare function driveExecution(exec: ExecutionService, workspaceId: string, executionId: string, cfg: DriveConfig, opts?: DriveOptions): Promise<DriveOutcome>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drive.d.ts","sourceRoot":"","sources":["../../src/execution/drive.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,cAAc,IAAI,kBAAkB,EACrC,MAAM,4BAA4B,CAAA;AAEnC,YAAY,
|
|
1
|
+
{"version":3,"file":"drive.d.ts","sourceRoot":"","sources":["../../src/execution/drive.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,cAAc,IAAI,kBAAkB,EACrC,MAAM,4BAA4B,CAAA;AAEnC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzF,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;AAKhE,wFAAwF;AACxF,wBAAgB,cAAc,CAC5B,IAAI,EAAE,gBAAgB,EACtB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,WAAW,EAChB,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,YAAY,CAAC,CAEvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drive.js","sourceRoot":"","sources":["../../src/execution/drive.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,uFAAuF;AACvF,kFAAkF;AAClF,uFAAuF;AACvF,yFAAyF;AACzF,kDAAkD;AAClD,OAAO,EAIL,cAAc,IAAI,kBAAkB,GACrC,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"drive.js","sourceRoot":"","sources":["../../src/execution/drive.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,uFAAuF;AACvF,kFAAkF;AAClF,uFAAuF;AACvF,yFAAyF;AACzF,kDAAkD;AAClD,OAAO,EAIL,cAAc,IAAI,kBAAkB,GACrC,MAAM,4BAA4B,CAAA;AAMnC,MAAM,SAAS,GAAG,CAAC,EAAU,EAAiB,EAAE,CAC9C,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAEzD,wFAAwF;AACxF,MAAM,UAAU,cAAc,CAC5B,IAAsB,EACtB,WAAmB,EACnB,WAAmB,EACnB,GAAgB,EAChB,IAAI,GAAiB,EAAE;IAEvB,OAAO,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;AAC/F,CAAC"}
|
|
@@ -4,15 +4,6 @@ import type { PgBoss } from 'pg-boss';
|
|
|
4
4
|
import type { AdvanceQueueOptions } from './pgBossRunner.js';
|
|
5
5
|
import type { DriveConfig } from './drive.js';
|
|
6
6
|
export declare const ENV_CONFIG_REPAIR_QUEUE = "env-config-repair.advance";
|
|
7
|
-
/**
|
|
8
|
-
* Poll an env-config-repair run to a terminal state, sleeping between polls — the Node
|
|
9
|
-
* analogue of the EnvConfigRepairWorkflow's `step.sleep` + `pollJob` loop, with plain async
|
|
10
|
-
* sleeps instead of durable steps. `pollJob` is idempotent and persists every change (and
|
|
11
|
-
* re-validates the repo on success), so a re-drive (retry/sweeper) safely resumes. Returns
|
|
12
|
-
* when the run is done or failed, or when the poll budget is spent (the sweeper re-drives a
|
|
13
|
-
* still-running run).
|
|
14
|
-
*/
|
|
15
|
-
export declare function driveEnvConfigRepair(container: ServerContainer, workspaceId: string, jobId: string, cfg: DriveConfig, log: Logger): Promise<void>;
|
|
16
7
|
export declare class PgBossEnvConfigRepairRunner implements EnvConfigRepairRunner {
|
|
17
8
|
private readonly boss;
|
|
18
9
|
private readonly queueOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envConfigRepairRunner.d.ts","sourceRoot":"","sources":["../../src/execution/envConfigRepairRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,KAAK,EAAO,MAAM,EAAe,MAAM,SAAS,CAAA;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAU7C,eAAO,MAAM,uBAAuB,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"envConfigRepairRunner.d.ts","sourceRoot":"","sources":["../../src/execution/envConfigRepairRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,KAAK,EAAO,MAAM,EAAe,MAAM,SAAS,CAAA;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAU7C,eAAO,MAAM,uBAAuB,8BAA8B,CAAA;AAoDlE,qBAAa,2BAA4B,YAAW,qBAAqB;IAErE,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAF/B,YACmB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,mBAAmB,EAChD;IAEE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhE;IAEK,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnE;CACF;AAED,6FAA6F;AAC7F,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACrC,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,gFAAgF;AAChF,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,mBAAmB,GAChC,OAAO,CAAC,IAAI,CAAC,CAEf"}
|
|
@@ -29,7 +29,7 @@ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
|
29
29
|
* when the run is done or failed, or when the poll budget is spent (the sweeper re-drives a
|
|
30
30
|
* still-running run).
|
|
31
31
|
*/
|
|
32
|
-
|
|
32
|
+
async function driveEnvConfigRepair(container, workspaceId, jobId, cfg, log) {
|
|
33
33
|
const repair = container.envConfigRepair;
|
|
34
34
|
if (!repair)
|
|
35
35
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envConfigRepairRunner.js","sourceRoot":"","sources":["../../src/execution/envConfigRepairRunner.ts"],"names":[],"mappings":"AAMA,6EAA6E;AAC7E,0FAA0F;AAC1F,4FAA4F;AAC5F,yFAAyF;AACzF,6FAA6F;AAC7F,mFAAmF;AACnF,iCAAiC;AAEjC,MAAM,CAAC,MAAM,uBAAuB,GAAG,2BAA2B,CAAA;AAClE,MAAM,KAAK,GAAG,uBAAuB,CAAA;AACrC,6FAA6F;AAC7F,sEAAsE;AACtE,MAAM,YAAY,GAAG,WAAoB,CAAA;AAOzC,SAAS,WAAW,CAAC,KAAa,EAAE,IAAyB;IAC3D,OAAO;QACL,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,UAAU,EAAE,IAAI,CAAC,iBAAiB;QAClC,YAAY,EAAE,IAAI;KACnB,CAAA;AACH,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAErF;;;;;;;GAOG;AACH,
|
|
1
|
+
{"version":3,"file":"envConfigRepairRunner.js","sourceRoot":"","sources":["../../src/execution/envConfigRepairRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export interface JobStore {
|
|
|
9
9
|
rows: Array<Record<string, unknown>>;
|
|
10
10
|
}>;
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
type AdvanceJobState = 'live' | 'orphaned' | 'missing';
|
|
13
13
|
export interface AdvanceJobStatus {
|
|
14
14
|
state: AdvanceJobState;
|
|
15
15
|
jobId: string | null;
|
|
@@ -43,4 +43,5 @@ export interface AdvanceJobStatus {
|
|
|
43
43
|
export declare function classifyAdvanceJob(jobs: JobStore, queue: string, singletonKey: string, staleHeartbeatMs: number, now: number): Promise<AdvanceJobStatus>;
|
|
44
44
|
/** Free an orphaned advance job's singletonKey so a fresh advance can be enqueued. */
|
|
45
45
|
export declare function reclaimAdvanceJob(boss: PgBoss, queue: string, jobId: string): Promise<void>;
|
|
46
|
+
export {};
|
|
46
47
|
//# sourceMappingURL=reclaim.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reclaim.d.ts","sourceRoot":"","sources":["../../src/execution/reclaim.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC,CAAA;CAC3F;AAED,
|
|
1
|
+
{"version":3,"file":"reclaim.d.ts","sourceRoot":"","sources":["../../src/execution/reclaim.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC,CAAA;CAC3F;AAED,KAAK,eAAe,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,eAAe,CAAA;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,gBAAgB,CAAC,CAiB3B;AAED,sFAAsF;AACtF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjG"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import type { Clock, GitHubInstallationRepository, RepoProjectionRepository } from '@cat-factory/kernel';
|
|
2
2
|
import type { Logger } from '@cat-factory/server';
|
|
3
|
-
/** How often the reconcile pass runs (matches the Worker's frequent cron). */
|
|
4
|
-
export declare const GITHUB_RECONCILE_INTERVAL_MS: number;
|
|
5
3
|
/** A projection not synced for this long is considered stale (matches the Worker). */
|
|
6
4
|
export declare const GITHUB_RECONCILE_STALE_MS: number;
|
|
7
5
|
/** The seams the reconcile pass drives (kept narrow so it is unit-testable with fakes). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"githubReconcile.d.ts","sourceRoot":"","sources":["../src/githubReconcile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"githubReconcile.d.ts","sourceRoot":"","sources":["../src/githubReconcile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAcjD,sFAAsF;AACtF,eAAO,MAAM,yBAAyB,QAAiB,CAAA;AAEvD,2FAA2F;AAC3F,MAAM,WAAW,mBAAmB;IAClC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAAA;IACrE,sBAAsB,EAAE,IAAI,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAA;IACxE,0FAA0F;IAC1F,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3E;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CA4CjB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,GACV,MAAM,IAAI,CAuBZ"}
|
package/dist/githubReconcile.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
// The Worker enqueues resyncs when a queue is bound; Node has no queue, so it uses
|
|
9
9
|
// the Worker's direct-sync fallback path (`syncService.syncRepoById`) inline.
|
|
10
10
|
/** How often the reconcile pass runs (matches the Worker's frequent cron). */
|
|
11
|
-
|
|
11
|
+
const GITHUB_RECONCILE_INTERVAL_MS = 2 * 60 * 1000;
|
|
12
12
|
/** A projection not synced for this long is considered stale (matches the Worker). */
|
|
13
13
|
export const GITHUB_RECONCILE_STALE_MS = 30 * 60 * 1000;
|
|
14
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"githubReconcile.js","sourceRoot":"","sources":["../src/githubReconcile.ts"],"names":[],"mappings":"AAOA,oFAAoF;AACpF,kFAAkF;AAClF,kFAAkF;AAClF,oFAAoF;AACpF,iFAAiF;AACjF,6EAA6E;AAC7E,qFAAqF;AACrF,mFAAmF;AACnF,8EAA8E;AAE9E,8EAA8E;AAC9E,MAAM,
|
|
1
|
+
{"version":3,"file":"githubReconcile.js","sourceRoot":"","sources":["../src/githubReconcile.ts"],"names":[],"mappings":"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"}
|
package/dist/initiativeLoop.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import type { Clock } from '@cat-factory/kernel';
|
|
2
2
|
import type { Logger, ServerContainer } from '@cat-factory/server';
|
|
3
|
-
/** Default cadence for the Node initiative-loop sweep (the Worker uses a 2-minute cron). */
|
|
4
|
-
export declare const INITIATIVE_LOOP_SWEEP_INTERVAL_MS: number;
|
|
5
3
|
/**
|
|
6
4
|
* The sweep interval, overridable via `INITIATIVE_LOOP_INTERVAL_MS` (milliseconds) — the same
|
|
7
5
|
* shape as the other Node cadence knobs. Chiefly so a fast integration harness (the e2e suite)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initiativeLoop.d.ts","sourceRoot":"","sources":["../src/initiativeLoop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"initiativeLoop.d.ts","sourceRoot":"","sources":["../src/initiativeLoop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAWlE;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAIjF;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,EACX,UAAU,GAAE,MAA+B,GAC1C,MAAM,IAAI,CAoBZ"}
|
package/dist/initiativeLoop.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// child runs poke the loop directly; this interval is the backstop cadence. No-op when the
|
|
5
5
|
// initiatives module isn't wired.
|
|
6
6
|
/** Default cadence for the Node initiative-loop sweep (the Worker uses a 2-minute cron). */
|
|
7
|
-
|
|
7
|
+
const INITIATIVE_LOOP_SWEEP_INTERVAL_MS = 60 * 1000;
|
|
8
8
|
/**
|
|
9
9
|
* The sweep interval, overridable via `INITIATIVE_LOOP_INTERVAL_MS` (milliseconds) — the same
|
|
10
10
|
* shape as the other Node cadence knobs. Chiefly so a fast integration harness (the e2e suite)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initiativeLoop.js","sourceRoot":"","sources":["../src/initiativeLoop.ts"],"names":[],"mappings":"AAGA,8FAA8F;AAC9F,+FAA+F;AAC/F,6FAA6F;AAC7F,2FAA2F;AAC3F,kCAAkC;AAElC,4FAA4F;AAC5F,MAAM,
|
|
1
|
+
{"version":3,"file":"initiativeLoop.js","sourceRoot":"","sources":["../src/initiativeLoop.ts"],"names":[],"mappings":"AAGA,8FAA8F;AAC9F,+FAA+F;AAC/F,6FAA6F;AAC7F,2FAA2F;AAC3F,kCAAkC;AAElC,4FAA4F;AAC5F,MAAM,iCAAiC,GAAG,EAAE,GAAG,IAAI,CAAA;AAEnD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IACvE,MAAM,GAAG,GAAG,GAAG,CAAC,2BAA2B,CAAA;IAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA;IAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iCAAiC,CAAA;AAC3F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,SAA0B,EAC1B,KAAY,EACZ,GAAW,EACX,UAAU,GAAW,oBAAoB,EAAE;IAE3C,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAA;IACzC,IAAI,CAAC,WAAW;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;YACzE,IAAI,OAAO,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBACjC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,wBAAwB,CAAC,CAAA;YAC5D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CACP,EAAE,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAC/D,8BAA8B,CAC/B,CAAA;QACH,CAAC;IACH,CAAC,CAAA;IACD,KAAK,IAAI,EAAE,CAAA;IACX,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,UAAU,CAAC,CAAA;IACxD,KAAK,CAAC,KAAK,EAAE,EAAE,CAAA;IACf,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC"}
|
package/dist/kaizen.d.ts
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import type { Clock } from '@cat-factory/kernel';
|
|
2
2
|
import type { Logger, ServerContainer } from '@cat-factory/server';
|
|
3
|
-
/** How often the Node service runs pending Kaizen gradings (matches the Worker's cron). */
|
|
4
|
-
export declare const KAIZEN_SWEEP_INTERVAL_MS: number;
|
|
5
|
-
/** A `running` grading older than this is re-driven (its sweep crashed mid-flight). */
|
|
6
|
-
export declare const KAIZEN_STALE_MS: number;
|
|
7
|
-
/** Max gradings to run per pass (each is an LLM call; keep the batch small). */
|
|
8
|
-
export declare const KAIZEN_SWEEP_BATCH = 5;
|
|
9
3
|
/**
|
|
10
4
|
* Start the periodic Kaizen grading sweep. Runs once immediately then on a one-minute
|
|
11
5
|
* timer. Best-effort: a failed pass is logged and retried next tick, never thrown.
|
package/dist/kaizen.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kaizen.d.ts","sourceRoot":"","sources":["../src/kaizen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"kaizen.d.ts","sourceRoot":"","sources":["../src/kaizen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAclE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,GACV,MAAM,IAAI,CA4BZ"}
|
package/dist/kaizen.js
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
// `scheduled` rows at run completion, so this timer does the actual LLM grading (and
|
|
4
4
|
// re-drives `running` rows orphaned by a crashed sweep). No-op when Kaizen isn't wired.
|
|
5
5
|
/** How often the Node service runs pending Kaizen gradings (matches the Worker's cron). */
|
|
6
|
-
|
|
6
|
+
const KAIZEN_SWEEP_INTERVAL_MS = 2 * 60 * 1000;
|
|
7
7
|
/** A `running` grading older than this is re-driven (its sweep crashed mid-flight). */
|
|
8
|
-
|
|
8
|
+
const KAIZEN_STALE_MS = 10 * 60 * 1000;
|
|
9
9
|
/** Max gradings to run per pass (each is an LLM call; keep the batch small). */
|
|
10
|
-
|
|
10
|
+
const KAIZEN_SWEEP_BATCH = 5;
|
|
11
11
|
/**
|
|
12
12
|
* Start the periodic Kaizen grading sweep. Runs once immediately then on a one-minute
|
|
13
13
|
* timer. Best-effort: a failed pass is logged and retried next tick, never thrown.
|
package/dist/kaizen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kaizen.js","sourceRoot":"","sources":["../src/kaizen.ts"],"names":[],"mappings":"AAGA,mFAAmF;AACnF,gFAAgF;AAChF,qFAAqF;AACrF,wFAAwF;AAExF,2FAA2F;AAC3F,MAAM,
|
|
1
|
+
{"version":3,"file":"kaizen.js","sourceRoot":"","sources":["../src/kaizen.ts"],"names":[],"mappings":"AAGA,mFAAmF;AACnF,gFAAgF;AAChF,qFAAqF;AACrF,wFAAwF;AAExF,2FAA2F;AAC3F,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAC9C,uFAAuF;AACvF,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AACtC,gFAAgF;AAChF,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAE5B;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAA0B,EAC1B,KAAY,EACZ,GAAW;IAEX,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;IAC/B,IAAI,CAAC,MAAM;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;IAC5B,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,wFAAwF;QACxF,4FAA4F;QAC5F,IAAI,OAAO;YAAE,OAAM;QACnB,OAAO,GAAG,IAAI,CAAA;QACd,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAC/C,KAAK,CAAC,GAAG,EAAE,GAAG,eAAe,EAC7B,kBAAkB,CACnB,CAAA;YACD,IAAI,SAAS,GAAG,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,6BAA6B,CAAC,CAAA;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CACP,EAAE,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAC/D,qBAAqB,CACtB,CAAA;QACH,CAAC;gBAAS,CAAC;YACT,OAAO,GAAG,KAAK,CAAA;QACjB,CAAC;IACH,CAAC,CAAA;IACD,KAAK,IAAI,EAAE,CAAA;IACX,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,wBAAwB,CAAC,CAAA;IACtE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAA;IACf,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC"}
|
package/dist/notifications.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import type { Clock } from '@cat-factory/kernel';
|
|
2
2
|
import { type Logger, type ServerContainer } from '@cat-factory/server';
|
|
3
|
-
/** How often the Node service escalates long-waiting notifications. */
|
|
4
|
-
export declare const NOTIFICATION_ESCALATION_INTERVAL_MS: number;
|
|
5
3
|
/**
|
|
6
4
|
* Start the periodic notification-escalation sweep. Runs once immediately then on a
|
|
7
5
|
* one-minute timer. Best-effort: a failed sweep is logged and retried next tick, never
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAA8B,KAAK,MAAM,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAA8B,KAAK,MAAM,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAWnG;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,GACV,MAAM,IAAI,CAiBZ"}
|
package/dist/notifications.js
CHANGED
|
@@ -5,7 +5,7 @@ import { escalateStaleNotifications } from '@cat-factory/server';
|
|
|
5
5
|
// `waitingEscalationMinutes` threshold is flipped yellow → red here. The Node service has
|
|
6
6
|
// no cron, so a timer drives it. No-op when the notifications module isn't wired.
|
|
7
7
|
/** How often the Node service escalates long-waiting notifications. */
|
|
8
|
-
|
|
8
|
+
const NOTIFICATION_ESCALATION_INTERVAL_MS = 60 * 1000;
|
|
9
9
|
/**
|
|
10
10
|
* Start the periodic notification-escalation sweep. Runs once immediately then on a
|
|
11
11
|
* one-minute timer. Best-effort: a failed sweep is logged and retried next tick, never
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.js","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAqC,MAAM,qBAAqB,CAAA;AAEnG,mFAAmF;AACnF,0FAA0F;AAC1F,8EAA8E;AAC9E,0FAA0F;AAC1F,kFAAkF;AAElF,uEAAuE;AACvE,MAAM,
|
|
1
|
+
{"version":3,"file":"notifications.js","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAqC,MAAM,qBAAqB,CAAA;AAEnG,mFAAmF;AACnF,0FAA0F;AAC1F,8EAA8E;AAC9E,0FAA0F;AAC1F,kFAAkF;AAElF,uEAAuE;AACvE,MAAM,mCAAmC,GAAG,EAAE,GAAG,IAAI,CAAA;AAErD;;;;GAIG;AACH,MAAM,UAAU,kCAAkC,CAChD,SAA0B,EAC1B,KAAY,EACZ,GAAW;IAEX,IAAI,CAAC,SAAS,CAAC,aAAa;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,0BAA0B,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;YAC1E,IAAI,SAAS,GAAG,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,yBAAyB,CAAC,CAAA;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CACP,EAAE,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAC/D,gCAAgC,CACjC,CAAA;QACH,CAAC;IACH,CAAC,CAAA;IACD,KAAK,IAAI,EAAE,CAAA;IACX,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,mCAAmC,CAAC,CAAA;IACjF,KAAK,CAAC,KAAK,EAAE,EAAE,CAAA;IACf,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC"}
|
package/dist/recurring.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import type { Clock } from '@cat-factory/kernel';
|
|
2
2
|
import type { Logger, ServerContainer } from '@cat-factory/server';
|
|
3
|
-
/** How often the Node service checks for due schedules. */
|
|
4
|
-
export declare const SCHEDULE_SWEEP_INTERVAL_MS: number;
|
|
5
3
|
/**
|
|
6
4
|
* Start the periodic schedule sweep. Runs once immediately then on a one-minute
|
|
7
5
|
* timer. Best-effort: a failed sweep is logged and retried next tick, never thrown.
|
package/dist/recurring.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recurring.d.ts","sourceRoot":"","sources":["../src/recurring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"recurring.d.ts","sourceRoot":"","sources":["../src/recurring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAWlE;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,GACV,MAAM,IAAI,CAoBZ"}
|
package/dist/recurring.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// bounds the latency between "due" and "started"). No-op when the recurring module
|
|
5
5
|
// isn't wired.
|
|
6
6
|
/** How often the Node service checks for due schedules. */
|
|
7
|
-
|
|
7
|
+
const SCHEDULE_SWEEP_INTERVAL_MS = 60 * 1000;
|
|
8
8
|
/**
|
|
9
9
|
* Start the periodic schedule sweep. Runs once immediately then on a one-minute
|
|
10
10
|
* timer. Best-effort: a failed sweep is logged and retried next tick, never thrown.
|
package/dist/recurring.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recurring.js","sourceRoot":"","sources":["../src/recurring.ts"],"names":[],"mappings":"AAGA,8EAA8E;AAC9E,iFAAiF;AACjF,oFAAoF;AACpF,mFAAmF;AACnF,eAAe;AAEf,2DAA2D;AAC3D,MAAM,
|
|
1
|
+
{"version":3,"file":"recurring.js","sourceRoot":"","sources":["../src/recurring.ts"],"names":[],"mappings":"AAGA,8EAA8E;AAC9E,iFAAiF;AACjF,oFAAoF;AACpF,mFAAmF;AACnF,eAAe;AAEf,2DAA2D;AAC3D,MAAM,0BAA0B,GAAG,EAAE,GAAG,IAAI,CAAA;AAE5C;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAA0B,EAC1B,KAAY,EACZ,GAAW;IAEX,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAA;IACrC,IAAI,CAAC,SAAS;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;IAC/B,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;YACtE,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,2BAA2B,CAAC,CAAA;YAC3D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CACP,EAAE,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAC/D,iCAAiC,CAClC,CAAA;QACH,CAAC;IACH,CAAC,CAAA;IACD,KAAK,IAAI,EAAE,CAAA;IACX,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,0BAA0B,CAAC,CAAA;IACxE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAA;IACf,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC"}
|