lorenz 0.1.4 → 0.1.6
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 +83 -20
- package/RELEASE-MANIFEST.json +6 -1
- package/node_modules/@lorenz/agent-sdk/dist/index.d.ts +1 -0
- package/node_modules/@lorenz/agent-sdk/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/agent-sdk/dist/index.js +1 -0
- package/node_modules/@lorenz/agent-sdk/dist/index.js.map +1 -1
- package/node_modules/@lorenz/agent-sdk/dist/module.d.ts +38 -0
- package/node_modules/@lorenz/agent-sdk/dist/module.d.ts.map +1 -0
- package/node_modules/@lorenz/agent-sdk/dist/module.js +41 -0
- package/node_modules/@lorenz/agent-sdk/dist/module.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/agentExecutorLoader.d.ts +30 -0
- package/node_modules/@lorenz/cli/dist/agentExecutorLoader.d.ts.map +1 -0
- package/node_modules/@lorenz/cli/dist/agentExecutorLoader.js +63 -0
- package/node_modules/@lorenz/cli/dist/agentExecutorLoader.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/daemon.d.ts +42 -19
- package/node_modules/@lorenz/cli/dist/daemon.d.ts.map +1 -1
- package/node_modules/@lorenz/cli/dist/daemon.js +72 -23
- package/node_modules/@lorenz/cli/dist/daemon.js.map +1 -1
- package/node_modules/@lorenz/cli/dist/daemonLock.d.ts +59 -0
- package/node_modules/@lorenz/cli/dist/daemonLock.d.ts.map +1 -0
- package/node_modules/@lorenz/cli/dist/daemonLock.js +304 -0
- package/node_modules/@lorenz/cli/dist/daemonLock.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/daemonStatus.d.ts +16 -0
- package/node_modules/@lorenz/cli/dist/daemonStatus.d.ts.map +1 -0
- package/node_modules/@lorenz/cli/dist/daemonStatus.js +21 -0
- package/node_modules/@lorenz/cli/dist/daemonStatus.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/doctor.d.ts +6 -0
- package/node_modules/@lorenz/cli/dist/doctor.d.ts.map +1 -1
- package/node_modules/@lorenz/cli/dist/doctor.js +39 -2
- package/node_modules/@lorenz/cli/dist/doctor.js.map +1 -1
- package/node_modules/@lorenz/cli/dist/extensionLoader.d.ts +126 -0
- package/node_modules/@lorenz/cli/dist/extensionLoader.d.ts.map +1 -0
- package/node_modules/@lorenz/cli/dist/extensionLoader.js +187 -0
- package/node_modules/@lorenz/cli/dist/extensionLoader.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/flags-manifest.d.ts +42 -0
- package/node_modules/@lorenz/cli/dist/flags-manifest.d.ts.map +1 -0
- package/node_modules/@lorenz/cli/dist/flags-manifest.js +67 -0
- package/node_modules/@lorenz/cli/dist/flags-manifest.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/index.d.ts +6 -0
- package/node_modules/@lorenz/cli/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/cli/dist/index.js +4 -0
- package/node_modules/@lorenz/cli/dist/index.js.map +1 -1
- package/node_modules/@lorenz/cli/dist/leadershipStore.d.ts +42 -0
- package/node_modules/@lorenz/cli/dist/leadershipStore.d.ts.map +1 -0
- package/node_modules/@lorenz/cli/dist/leadershipStore.js +2 -0
- package/node_modules/@lorenz/cli/dist/leadershipStore.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/main.d.ts +11 -7
- package/node_modules/@lorenz/cli/dist/main.d.ts.map +1 -1
- package/node_modules/@lorenz/cli/dist/main.js +58 -8
- package/node_modules/@lorenz/cli/dist/main.js.map +1 -1
- package/node_modules/@lorenz/cli/dist/toolLoader.d.ts +28 -0
- package/node_modules/@lorenz/cli/dist/toolLoader.d.ts.map +1 -0
- package/node_modules/@lorenz/cli/dist/toolLoader.js +62 -0
- package/node_modules/@lorenz/cli/dist/toolLoader.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/trackerLoader.d.ts +24 -0
- package/node_modules/@lorenz/cli/dist/trackerLoader.d.ts.map +1 -0
- package/node_modules/@lorenz/cli/dist/trackerLoader.js +34 -0
- package/node_modules/@lorenz/cli/dist/trackerLoader.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/workerDriverLoader.d.ts +15 -55
- package/node_modules/@lorenz/cli/dist/workerDriverLoader.d.ts.map +1 -1
- package/node_modules/@lorenz/cli/dist/workerDriverLoader.js +26 -203
- package/node_modules/@lorenz/cli/dist/workerDriverLoader.js.map +1 -1
- package/node_modules/@lorenz/cli/package.json +1 -0
- package/node_modules/@lorenz/config/dist/index.d.ts +1 -1
- package/node_modules/@lorenz/config/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/config/dist/index.js +1 -1
- package/node_modules/@lorenz/config/dist/index.js.map +1 -1
- package/node_modules/@lorenz/config/dist/parse.d.ts +17 -0
- package/node_modules/@lorenz/config/dist/parse.d.ts.map +1 -1
- package/node_modules/@lorenz/config/dist/parse.js +107 -11
- package/node_modules/@lorenz/config/dist/parse.js.map +1 -1
- package/node_modules/@lorenz/config/dist/schemas.d.ts +0 -2
- package/node_modules/@lorenz/config/dist/schemas.d.ts.map +1 -1
- package/node_modules/@lorenz/config/dist/schemas.js +5 -1
- package/node_modules/@lorenz/config/dist/schemas.js.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/coordinator.d.ts +55 -21
- package/node_modules/@lorenz/dispatch-coordinator/dist/coordinator.d.ts.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/coordinator.js +187 -82
- package/node_modules/@lorenz/dispatch-coordinator/dist/coordinator.js.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/gate.d.ts +6 -4
- package/node_modules/@lorenz/dispatch-coordinator/dist/gate.d.ts.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/gate.js +9 -6
- package/node_modules/@lorenz/dispatch-coordinator/dist/gate.js.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/index.d.ts +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/index.js +5 -6
- package/node_modules/@lorenz/dispatch-coordinator/dist/index.js.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/mcpEndpointManager.d.ts +7 -5
- package/node_modules/@lorenz/dispatch-coordinator/dist/mcpEndpointManager.d.ts.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/mcpEndpointManager.js +12 -10
- package/node_modules/@lorenz/dispatch-coordinator/dist/mcpEndpointManager.js.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/nullEndpointManager.d.ts +11 -10
- package/node_modules/@lorenz/dispatch-coordinator/dist/nullEndpointManager.d.ts.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/nullEndpointManager.js +15 -22
- package/node_modules/@lorenz/dispatch-coordinator/dist/nullEndpointManager.js.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/types.d.ts +16 -15
- package/node_modules/@lorenz/dispatch-coordinator/dist/types.d.ts.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/types.js +6 -7
- package/node_modules/@lorenz/dispatch-coordinator/dist/types.js.map +1 -1
- package/node_modules/@lorenz/domain/dist/index.d.ts +75 -9
- package/node_modules/@lorenz/domain/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/domain/dist/index.js +40 -0
- package/node_modules/@lorenz/domain/dist/index.js.map +1 -1
- package/node_modules/@lorenz/flags/dist/coerce.d.ts +12 -0
- package/node_modules/@lorenz/flags/dist/coerce.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/coerce.js +44 -0
- package/node_modules/@lorenz/flags/dist/coerce.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/default.d.ts +6 -0
- package/node_modules/@lorenz/flags/dist/default.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/default.js +22 -0
- package/node_modules/@lorenz/flags/dist/default.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/deprecations.d.ts +20 -0
- package/node_modules/@lorenz/flags/dist/deprecations.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/deprecations.js +42 -0
- package/node_modules/@lorenz/flags/dist/deprecations.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/env.d.ts +17 -0
- package/node_modules/@lorenz/flags/dist/env.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/env.js +90 -0
- package/node_modules/@lorenz/flags/dist/env.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/errors.d.ts +22 -0
- package/node_modules/@lorenz/flags/dist/errors.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/errors.js +61 -0
- package/node_modules/@lorenz/flags/dist/errors.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/index.d.ts +8 -0
- package/node_modules/@lorenz/flags/dist/index.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/index.js +11 -0
- package/node_modules/@lorenz/flags/dist/index.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/keys.d.ts +6 -0
- package/node_modules/@lorenz/flags/dist/keys.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/keys.js +15 -0
- package/node_modules/@lorenz/flags/dist/keys.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/layers.d.ts +14 -0
- package/node_modules/@lorenz/flags/dist/layers.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/layers.js +107 -0
- package/node_modules/@lorenz/flags/dist/layers.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/manifest.d.ts +71 -0
- package/node_modules/@lorenz/flags/dist/manifest.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/manifest.js +137 -0
- package/node_modules/@lorenz/flags/dist/manifest.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/resolve.d.ts +8 -0
- package/node_modules/@lorenz/flags/dist/resolve.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/resolve.js +178 -0
- package/node_modules/@lorenz/flags/dist/resolve.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/testing.d.ts +19 -0
- package/node_modules/@lorenz/flags/dist/testing.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/testing.js +68 -0
- package/node_modules/@lorenz/flags/dist/testing.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/types.d.ts +93 -0
- package/node_modules/@lorenz/flags/dist/types.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/types.js +2 -0
- package/node_modules/@lorenz/flags/dist/types.js.map +1 -0
- package/node_modules/@lorenz/flags/package.json +16 -0
- package/node_modules/@lorenz/mcp/dist/agentEndpoint.d.ts +16 -3
- package/node_modules/@lorenz/mcp/dist/agentEndpoint.d.ts.map +1 -1
- package/node_modules/@lorenz/mcp/dist/agentEndpoint.js +105 -17
- package/node_modules/@lorenz/mcp/dist/agentEndpoint.js.map +1 -1
- package/node_modules/@lorenz/mcp/dist/auth.d.ts +88 -0
- package/node_modules/@lorenz/mcp/dist/auth.d.ts.map +1 -1
- package/node_modules/@lorenz/mcp/dist/auth.js +53 -0
- package/node_modules/@lorenz/mcp/dist/auth.js.map +1 -1
- package/node_modules/@lorenz/mcp/dist/index.d.ts +3 -2
- package/node_modules/@lorenz/mcp/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/mcp/dist/index.js +1 -1
- package/node_modules/@lorenz/mcp/dist/index.js.map +1 -1
- package/node_modules/@lorenz/mcp/dist/server.d.ts +22 -0
- package/node_modules/@lorenz/mcp/dist/server.d.ts.map +1 -1
- package/node_modules/@lorenz/mcp/dist/server.js +85 -12
- package/node_modules/@lorenz/mcp/dist/server.js.map +1 -1
- package/node_modules/@lorenz/orchestrator/dist/claimStore.d.ts +157 -0
- package/node_modules/@lorenz/orchestrator/dist/claimStore.d.ts.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/claimStore.js +621 -0
- package/node_modules/@lorenz/orchestrator/dist/claimStore.js.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/codec.d.ts +38 -0
- package/node_modules/@lorenz/orchestrator/dist/codec.d.ts.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/codec.js +176 -0
- package/node_modules/@lorenz/orchestrator/dist/codec.js.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/index.d.ts +55 -51
- package/node_modules/@lorenz/orchestrator/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/orchestrator/dist/index.js +285 -45
- package/node_modules/@lorenz/orchestrator/dist/index.js.map +1 -1
- package/node_modules/@lorenz/orchestrator/dist/sqlite.d.ts +34 -0
- package/node_modules/@lorenz/orchestrator/dist/sqlite.d.ts.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/sqlite.js +142 -0
- package/node_modules/@lorenz/orchestrator/dist/sqlite.js.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/state.d.ts +47 -0
- package/node_modules/@lorenz/orchestrator/dist/state.d.ts.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/state.js +15 -0
- package/node_modules/@lorenz/orchestrator/dist/state.js.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/turso.d.ts +28 -0
- package/node_modules/@lorenz/orchestrator/dist/turso.d.ts.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/turso.js +125 -0
- package/node_modules/@lorenz/orchestrator/dist/turso.js.map +1 -0
- package/node_modules/@lorenz/orchestrator/package.json +6 -2
- package/node_modules/@lorenz/presenter/dist/index.d.ts +14 -0
- package/node_modules/@lorenz/presenter/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/presenter/dist/index.js +18 -0
- package/node_modules/@lorenz/presenter/dist/index.js.map +1 -1
- package/node_modules/@lorenz/projections/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/projections/dist/index.js +1 -0
- package/node_modules/@lorenz/projections/dist/index.js.map +1 -1
- package/node_modules/@lorenz/runtime/dist/index.d.ts +27 -8
- package/node_modules/@lorenz/runtime/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/runtime/dist/index.js +422 -98
- package/node_modules/@lorenz/runtime/dist/index.js.map +1 -1
- package/node_modules/@lorenz/runtime-events/dist/index.d.ts +14 -0
- package/node_modules/@lorenz/runtime-events/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/server/dist/index.js +1 -1
- package/node_modules/@lorenz/server/dist/index.js.map +1 -1
- package/node_modules/@lorenz/ssh/dist/index.d.ts +2 -0
- package/node_modules/@lorenz/ssh/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/ssh/dist/index.js +2 -1
- package/node_modules/@lorenz/ssh/dist/index.js.map +1 -1
- package/node_modules/@lorenz/tool-sdk/dist/index.d.ts +1 -0
- package/node_modules/@lorenz/tool-sdk/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/tool-sdk/dist/index.js +1 -0
- package/node_modules/@lorenz/tool-sdk/dist/index.js.map +1 -1
- package/node_modules/@lorenz/tool-sdk/dist/module.d.ts +38 -0
- package/node_modules/@lorenz/tool-sdk/dist/module.d.ts.map +1 -0
- package/node_modules/@lorenz/tool-sdk/dist/module.js +42 -0
- package/node_modules/@lorenz/tool-sdk/dist/module.js.map +1 -0
- package/node_modules/@lorenz/tracker-sdk/dist/index.d.ts +1 -0
- package/node_modules/@lorenz/tracker-sdk/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/tracker-sdk/dist/index.js +1 -0
- package/node_modules/@lorenz/tracker-sdk/dist/index.js.map +1 -1
- package/node_modules/@lorenz/tracker-sdk/dist/module.d.ts +37 -0
- package/node_modules/@lorenz/tracker-sdk/dist/module.d.ts.map +1 -0
- package/node_modules/@lorenz/tracker-sdk/dist/module.js +38 -0
- package/node_modules/@lorenz/tracker-sdk/dist/module.js.map +1 -0
- package/node_modules/@lorenz/worker-host-pool/dist/index.d.ts +34 -6
- package/node_modules/@lorenz/worker-host-pool/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/worker-host-pool/dist/index.js +110 -143
- package/node_modules/@lorenz/worker-host-pool/dist/index.js.map +1 -1
- package/node_modules/@lorenz/worker-sdk/dist/index.d.ts +1 -0
- package/node_modules/@lorenz/worker-sdk/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/worker-sdk/dist/index.js +1 -0
- package/node_modules/@lorenz/worker-sdk/dist/index.js.map +1 -1
- package/node_modules/@lorenz/worker-sdk/dist/local.d.ts +74 -0
- package/node_modules/@lorenz/worker-sdk/dist/local.d.ts.map +1 -0
- package/node_modules/@lorenz/worker-sdk/dist/local.js +112 -0
- package/node_modules/@lorenz/worker-sdk/dist/local.js.map +1 -0
- package/node_modules/@lorenz/worker-sdk/dist/module.d.ts +8 -16
- package/node_modules/@lorenz/worker-sdk/dist/module.d.ts.map +1 -1
- package/node_modules/@lorenz/worker-sdk/dist/module.js +15 -35
- package/node_modules/@lorenz/worker-sdk/dist/module.js.map +1 -1
- package/node_modules/@lorenz/workflow/dist/index.d.ts +11 -0
- package/node_modules/@lorenz/workflow/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/workflow/dist/index.js +3 -0
- package/node_modules/@lorenz/workflow/dist/index.js.map +1 -1
- package/package.json +4 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { DispatchBlockEntry, RetryEntry, RunningEntry } from "@lorenz/domain";
|
|
2
|
+
import { type OrchestratorState, type ReservationRecord } from "./state.js";
|
|
3
|
+
export declare const CLAIM_STORE_SNAPSHOT_VERSION = 1;
|
|
4
|
+
export interface SerializedRunningEntry extends Omit<RunningEntry, "startedAt" | "lastAgentTimestamp"> {
|
|
5
|
+
startedAt: string;
|
|
6
|
+
lastAgentTimestamp?: string | null | undefined;
|
|
7
|
+
}
|
|
8
|
+
export interface SerializedReservationRecord extends Omit<ReservationRecord, "reservedAt" | "expiresAt" | "consumedRetry"> {
|
|
9
|
+
reservedAt: string;
|
|
10
|
+
expiresAt?: string | undefined;
|
|
11
|
+
consumedRetry: {
|
|
12
|
+
key: string;
|
|
13
|
+
entry: RetryEntry;
|
|
14
|
+
} | null;
|
|
15
|
+
}
|
|
16
|
+
export interface SerializedOrchestratorState {
|
|
17
|
+
version: typeof CLAIM_STORE_SNAPSHOT_VERSION;
|
|
18
|
+
running: Array<[string, SerializedRunningEntry]>;
|
|
19
|
+
reserved: Array<[string, SerializedReservationRecord]>;
|
|
20
|
+
claimed: string[];
|
|
21
|
+
claimOwners?: Array<[string, string]> | undefined;
|
|
22
|
+
retryAttempts: Array<[string, RetryEntry]>;
|
|
23
|
+
completed: string[];
|
|
24
|
+
usageTotals: OrchestratorState["usageTotals"];
|
|
25
|
+
usageDeltaBases?: Array<[string, OrchestratorState["usageTotals"]]> | undefined;
|
|
26
|
+
rateLimits: unknown;
|
|
27
|
+
blockedDispatches: DispatchBlockEntry[];
|
|
28
|
+
}
|
|
29
|
+
export interface HydrateStateOptions {
|
|
30
|
+
now?: Date | undefined;
|
|
31
|
+
monotonicNowMs?: number | undefined;
|
|
32
|
+
runningRecovery?: "abandon" | "preserve" | undefined;
|
|
33
|
+
reservationRecovery?: "abandon" | "preserve" | undefined;
|
|
34
|
+
fallbackClaimOwnerId?: string | undefined;
|
|
35
|
+
}
|
|
36
|
+
export declare function serializeState(state: OrchestratorState): SerializedOrchestratorState;
|
|
37
|
+
export declare function hydrateState(snapshot: SerializedOrchestratorState, options?: HydrateStateOptions): OrchestratorState;
|
|
38
|
+
//# sourceMappingURL=codec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAS,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE1F,OAAO,EAAe,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEzF,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAClD,YAAY,EACZ,WAAW,GAAG,oBAAoB,CACnC;IACC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAChD;AAED,MAAM,WAAW,2BAA4B,SAAQ,IAAI,CACvD,iBAAiB,EACjB,YAAY,GAAG,WAAW,GAAG,eAAe,CAC7C;IACC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,aAAa,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;CAC1D;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,4BAA4B,CAAC;IAC7C,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACjD,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC,CAAC;IACvD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAClD,aAAa,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAC3C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC9C,eAAe,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAChF,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,eAAe,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IACrD,mBAAmB,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IACzD,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG,2BAA2B,CAuBpF;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,2BAA2B,EACrC,OAAO,GAAE,mBAAwB,GAChC,iBAAiB,CA0DnB"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { createState } from "./state.js";
|
|
2
|
+
export const CLAIM_STORE_SNAPSHOT_VERSION = 1;
|
|
3
|
+
export function serializeState(state) {
|
|
4
|
+
return {
|
|
5
|
+
version: CLAIM_STORE_SNAPSHOT_VERSION,
|
|
6
|
+
running: [...state.running.entries()].map(([key, entry]) => [
|
|
7
|
+
key,
|
|
8
|
+
serializeRunningEntry(entry),
|
|
9
|
+
]),
|
|
10
|
+
reserved: [...state.reserved.entries()].map(([key, record]) => [
|
|
11
|
+
key,
|
|
12
|
+
serializeReservationRecord(record),
|
|
13
|
+
]),
|
|
14
|
+
claimed: [...state.claimed],
|
|
15
|
+
claimOwners: [...state.claimOwners.entries()],
|
|
16
|
+
retryAttempts: [...state.retryAttempts.entries()].map(([key, retry]) => [key, { ...retry }]),
|
|
17
|
+
completed: [...state.completed],
|
|
18
|
+
usageTotals: { ...state.usageTotals },
|
|
19
|
+
usageDeltaBases: [...state.usageDeltaBases.entries()].map(([key, value]) => [
|
|
20
|
+
key,
|
|
21
|
+
{ ...value },
|
|
22
|
+
]),
|
|
23
|
+
rateLimits: cloneJsonValue(state.rateLimits),
|
|
24
|
+
blockedDispatches: state.blockedDispatches.map((entry) => ({ ...entry })),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export function hydrateState(snapshot, options = {}) {
|
|
28
|
+
if (snapshot.version !== CLAIM_STORE_SNAPSHOT_VERSION) {
|
|
29
|
+
throw new Error(`unsupported_claim_store_snapshot_version:${String(snapshot.version)}`);
|
|
30
|
+
}
|
|
31
|
+
const state = createState();
|
|
32
|
+
const abandonedRunningKeys = new Set();
|
|
33
|
+
const abandonedRunningEntries = [];
|
|
34
|
+
if (options.runningRecovery === "preserve") {
|
|
35
|
+
state.running = new Map(snapshot.running.map(([key, entry]) => [key, hydrateRunningEntry(entry)]));
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
for (const [key, entry] of snapshot.running) {
|
|
39
|
+
abandonedRunningKeys.add(key);
|
|
40
|
+
abandonedRunningEntries.push([key, entry]);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
state.retryAttempts = new Map(snapshot.retryAttempts.map(([key, retry]) => [key, hydrateRetryEntry(retry, options)]));
|
|
44
|
+
for (const [key, entry] of abandonedRunningEntries) {
|
|
45
|
+
if (entry.retryAttempt === null || state.retryAttempts.has(key))
|
|
46
|
+
continue;
|
|
47
|
+
state.retryAttempts.set(key, retryEntryFromAbandonedRunningEntry(entry, options));
|
|
48
|
+
}
|
|
49
|
+
const serializedClaimOwners = new Map(snapshot.claimOwners ?? []);
|
|
50
|
+
if (options.reservationRecovery === "preserve") {
|
|
51
|
+
state.reserved = new Map(snapshot.reserved.map(([key, record]) => [key, hydrateReservationRecord(record, options)]));
|
|
52
|
+
state.claimed = new Set(snapshot.claimed.filter((key) => !abandonedRunningKeys.has(key)));
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
const abandonedReservationKeys = new Set(snapshot.reserved.map(([key]) => key));
|
|
56
|
+
state.claimed = new Set(snapshot.claimed.filter((key) => !abandonedReservationKeys.has(key) && !abandonedRunningKeys.has(key)));
|
|
57
|
+
for (const [, record] of snapshot.reserved) {
|
|
58
|
+
const consumed = record.consumedRetry;
|
|
59
|
+
if (consumed && !state.retryAttempts.has(consumed.key)) {
|
|
60
|
+
state.retryAttempts.set(consumed.key, hydrateRetryEntry(consumed.entry, options));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
for (const key of state.claimed) {
|
|
65
|
+
const ownerId = serializedClaimOwners.get(key) ?? options.fallbackClaimOwnerId;
|
|
66
|
+
if (ownerId)
|
|
67
|
+
state.claimOwners.set(key, ownerId);
|
|
68
|
+
}
|
|
69
|
+
state.completed = new Set(snapshot.completed);
|
|
70
|
+
state.usageTotals = { ...snapshot.usageTotals };
|
|
71
|
+
state.usageDeltaBases = new Map((snapshot.usageDeltaBases ?? []).map(([key, value]) => [key, { ...value }]));
|
|
72
|
+
state.rateLimits = cloneJsonValue(snapshot.rateLimits);
|
|
73
|
+
state.blockedDispatches = snapshot.blockedDispatches.map((entry) => ({ ...entry }));
|
|
74
|
+
return state;
|
|
75
|
+
}
|
|
76
|
+
function serializeRunningEntry(entry) {
|
|
77
|
+
return {
|
|
78
|
+
issue: cloneIssue(entry.issue),
|
|
79
|
+
identifier: entry.identifier,
|
|
80
|
+
slotIndex: entry.slotIndex,
|
|
81
|
+
ensembleSize: entry.ensembleSize,
|
|
82
|
+
agentKind: entry.agentKind,
|
|
83
|
+
workerHost: entry.workerHost,
|
|
84
|
+
workspacePath: entry.workspacePath,
|
|
85
|
+
turnCount: entry.turnCount,
|
|
86
|
+
usageTotals: { ...entry.usageTotals },
|
|
87
|
+
lastReportedInputTokens: entry.lastReportedInputTokens,
|
|
88
|
+
lastReportedOutputTokens: entry.lastReportedOutputTokens,
|
|
89
|
+
lastReportedTotalTokens: entry.lastReportedTotalTokens,
|
|
90
|
+
lastAgentEvent: entry.lastAgentEvent ?? null,
|
|
91
|
+
startedAt: entry.startedAt.toISOString(),
|
|
92
|
+
lastAgentTimestamp: entry.lastAgentTimestamp?.toISOString() ?? null,
|
|
93
|
+
retryAttempt: entry.retryAttempt,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function hydrateRunningEntry(entry) {
|
|
97
|
+
return {
|
|
98
|
+
...entry,
|
|
99
|
+
issue: cloneIssue(entry.issue),
|
|
100
|
+
usageTotals: { ...entry.usageTotals },
|
|
101
|
+
startedAt: new Date(entry.startedAt),
|
|
102
|
+
lastAgentTimestamp: entry.lastAgentTimestamp ? new Date(entry.lastAgentTimestamp) : null,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
function serializeReservationRecord(record) {
|
|
106
|
+
return {
|
|
107
|
+
...record,
|
|
108
|
+
issue: cloneIssue(record.issue),
|
|
109
|
+
reservedAt: record.reservedAt.toISOString(),
|
|
110
|
+
expiresAt: record.expiresAt.toISOString(),
|
|
111
|
+
consumedRetry: record.consumedRetry
|
|
112
|
+
? { key: record.consumedRetry.key, entry: { ...record.consumedRetry.entry } }
|
|
113
|
+
: null,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
function hydrateReservationRecord(record, options) {
|
|
117
|
+
const expiresAt = new Date(record.expiresAt ?? record.reservedAt);
|
|
118
|
+
return {
|
|
119
|
+
...record,
|
|
120
|
+
issue: cloneIssue(record.issue),
|
|
121
|
+
reservedAt: new Date(record.reservedAt),
|
|
122
|
+
expiresAt,
|
|
123
|
+
expiresAtMonotonicMs: hydrateMonotonicDeadline(expiresAt.toISOString(), record.expiresAtMonotonicMs, options),
|
|
124
|
+
consumedRetry: record.consumedRetry
|
|
125
|
+
? {
|
|
126
|
+
key: record.consumedRetry.key,
|
|
127
|
+
entry: hydrateRetryEntry(record.consumedRetry.entry, options),
|
|
128
|
+
}
|
|
129
|
+
: null,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
function hydrateRetryEntry(retry, options) {
|
|
133
|
+
return {
|
|
134
|
+
...retry,
|
|
135
|
+
monotonicDeadlineMs: hydrateMonotonicDeadline(retry.dueAtIso, retry.monotonicDeadlineMs, options),
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
function retryEntryFromAbandonedRunningEntry(entry, options) {
|
|
139
|
+
const now = options.now ?? new Date();
|
|
140
|
+
return {
|
|
141
|
+
issueId: entry.issue.id,
|
|
142
|
+
identifier: entry.identifier,
|
|
143
|
+
issueUrl: entry.issue.url ?? null,
|
|
144
|
+
attempt: entry.retryAttempt ?? 1,
|
|
145
|
+
monotonicDeadlineMs: options.monotonicNowMs ?? 0,
|
|
146
|
+
dueAtIso: now.toISOString(),
|
|
147
|
+
slotIndex: entry.slotIndex,
|
|
148
|
+
workerHost: entry.workerHost,
|
|
149
|
+
workspacePath: entry.workspacePath,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
function hydrateMonotonicDeadline(dueAtIso, fallbackMonotonicDeadlineMs, options) {
|
|
153
|
+
const now = options.now;
|
|
154
|
+
const monotonicNowMs = options.monotonicNowMs;
|
|
155
|
+
if (!now || monotonicNowMs === undefined)
|
|
156
|
+
return fallbackMonotonicDeadlineMs;
|
|
157
|
+
const dueAtMs = Date.parse(dueAtIso);
|
|
158
|
+
if (!Number.isFinite(dueAtMs))
|
|
159
|
+
return fallbackMonotonicDeadlineMs;
|
|
160
|
+
return monotonicNowMs + Math.max(0, dueAtMs - now.getTime());
|
|
161
|
+
}
|
|
162
|
+
function cloneIssue(issue) {
|
|
163
|
+
const { raw, ...normalizedIssue } = issue;
|
|
164
|
+
void raw;
|
|
165
|
+
return {
|
|
166
|
+
...normalizedIssue,
|
|
167
|
+
labels: [...issue.labels],
|
|
168
|
+
blockers: issue.blockers.map((blocker) => ({ ...blocker })),
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
function cloneJsonValue(value) {
|
|
172
|
+
if (value === undefined || value === null)
|
|
173
|
+
return value;
|
|
174
|
+
return JSON.parse(JSON.stringify(value));
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=codec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +1,9 @@
|
|
|
1
1
|
import { type AgentKind, type AgentUpdate, type ClockPort, type DispatchBlockEntry, type Issue, type RetryEntry, type RunningEntry, type Settings, type UsageTotals } from "@lorenz/domain";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export interface ReservationRecord {
|
|
8
|
-
/** Kept whole so per-state cap accounting (runningByState) works for reservations. */
|
|
9
|
-
issue: Issue;
|
|
10
|
-
slotIndex: number;
|
|
11
|
-
/** Opaque per-reservation token; bind/cancel are no-ops on mismatch (ABA guard). */
|
|
12
|
-
token: string;
|
|
13
|
-
agentKind: AgentKind;
|
|
14
|
-
ensembleSize: number;
|
|
15
|
-
/** Prior run's concrete host from the consumed retry entry. */
|
|
16
|
-
affinityHost: string | null;
|
|
17
|
-
retryAttempt: number | null;
|
|
18
|
-
reservedAt: Date;
|
|
19
|
-
/** Defensive expiry, swept by {@link Orchestrator.eligibleIssues}. */
|
|
20
|
-
expiresAtMonotonicMs: number;
|
|
21
|
-
/** The due RetryEntry consumed at reserve time, kept so cancel can restore it. */
|
|
22
|
-
consumedRetry: {
|
|
23
|
-
key: string;
|
|
24
|
-
entry: RetryEntry;
|
|
25
|
-
} | null;
|
|
26
|
-
}
|
|
27
|
-
export interface OrchestratorState {
|
|
28
|
-
running: Map<string, RunningEntry>;
|
|
29
|
-
/** Phase-1 slot reservations; counted in EVERY concurrency-cap check. */
|
|
30
|
-
reserved: Map<string, ReservationRecord>;
|
|
31
|
-
/** Contains running AND reserved keys. */
|
|
32
|
-
claimed: Set<string>;
|
|
33
|
-
/** Retry entries keyed by slotKey(issueId, slotIndex). */
|
|
34
|
-
retryAttempts: Map<string, RetryEntry>;
|
|
35
|
-
completed: Set<string>;
|
|
36
|
-
usageTotals: UsageTotals;
|
|
37
|
-
rateLimits: unknown;
|
|
38
|
-
blockedDispatches: DispatchBlockEntry[];
|
|
39
|
-
}
|
|
40
|
-
export declare function createState(): OrchestratorState;
|
|
2
|
+
import { type OrchestratorState } from "./state.js";
|
|
3
|
+
import { type ClaimStoreLike, type ClaimStoreStatus } from "./claimStore.js";
|
|
4
|
+
export { CLAIM_STORE_SNAPSHOT_VERSION, hydrateState, serializeState, type HydrateStateOptions, type SerializedOrchestratorState, type SerializedReservationRecord, type SerializedRunningEntry, } from "./codec.js";
|
|
5
|
+
export { createState, type OrchestratorState, type ReservationRecord } from "./state.js";
|
|
6
|
+
export { InMemoryClaimStore, PersistentClaimStore, AsyncPersistentClaimStore, isAsyncClaimStore, isClaimStore, isClaimStoreLike, type AsyncClaimStore, type AsyncClaimStoreBackend, type ClaimStore, type ClaimStoreBackend, type ClaimStoreCapabilities, type ClaimStoreCheckpoint, type ClaimStoreLike, type ClaimStoreOperation, type ClaimStoreStatus, } from "./claimStore.js";
|
|
41
7
|
/**
|
|
42
8
|
* Phase-1 hold on a dispatch slot while the coordinator negotiates capacity.
|
|
43
9
|
* Host-less by design: the orchestrator never records a non-concrete host.
|
|
@@ -102,9 +68,23 @@ export declare class Orchestrator {
|
|
|
102
68
|
private readonly clock;
|
|
103
69
|
private readonly capacityProbe?;
|
|
104
70
|
readonly state: OrchestratorState;
|
|
105
|
-
private readonly
|
|
106
|
-
|
|
107
|
-
|
|
71
|
+
private readonly claimStore;
|
|
72
|
+
constructor(settings: Settings, clock?: ClockPort, stateOrClaimStore?: OrchestratorState | ClaimStoreLike, capacityProbe?: CapacityProbe | undefined);
|
|
73
|
+
claimStoreStatus(): ClaimStoreStatus;
|
|
74
|
+
ownsClaim(issueId: string, slotIndex: number): boolean;
|
|
75
|
+
ownsClaimAsync(issueId: string, slotIndex: number): Promise<boolean>;
|
|
76
|
+
heartbeatClaimOwner(): void;
|
|
77
|
+
heartbeatClaimOwnerAsync(): Promise<void>;
|
|
78
|
+
private withClaimStore;
|
|
79
|
+
private withClaimStoreAsync;
|
|
80
|
+
private noopAsNull;
|
|
81
|
+
private noopAsNullAsync;
|
|
82
|
+
private ignoreNoop;
|
|
83
|
+
private ignoreNoopAsync;
|
|
84
|
+
private syncClaimStore;
|
|
85
|
+
private claimIsOwnedByThisStore;
|
|
86
|
+
private recordClaimOwner;
|
|
87
|
+
private releaseClaimOwner;
|
|
108
88
|
/**
|
|
109
89
|
* Per-state counts of slots holding concurrency capacity: running entries PLUS reserved
|
|
110
90
|
* (in-acquire) slots. Reservations must count toward every cap or dispatch could exceed
|
|
@@ -114,7 +94,11 @@ export declare class Orchestrator {
|
|
|
114
94
|
/** Total slots holding concurrency capacity (running + reserved). */
|
|
115
95
|
private occupiedSlotCount;
|
|
116
96
|
eligibleIssues(issues: Issue[]): Issue[];
|
|
97
|
+
eligibleIssuesAsync(issues: Issue[]): Promise<Issue[]>;
|
|
98
|
+
private eligibleIssuesInTransaction;
|
|
117
99
|
claim(issue: Issue): ClaimResult | null;
|
|
100
|
+
claimAsync(issue: Issue): Promise<ClaimResult | null>;
|
|
101
|
+
private claimInTransaction;
|
|
118
102
|
/**
|
|
119
103
|
* Phase 1 of the pool-governed dispatch: registers a host-less {@link ReservationRecord}
|
|
120
104
|
* holding the dispatch slot (claimed + reserved, NOT running) and consumes the due retry
|
|
@@ -129,14 +113,22 @@ export declare class Orchestrator {
|
|
|
129
113
|
* the provision wait.
|
|
130
114
|
*/
|
|
131
115
|
bindReservation(reservation: SlotReservation, workerHost: string): RunningEntry | null;
|
|
116
|
+
bindReservationAsync(reservation: SlotReservation, workerHost: string): Promise<RunningEntry | null>;
|
|
117
|
+
private bindReservationInTransaction;
|
|
132
118
|
/**
|
|
133
119
|
* Frees a reserved slot with NO backoff and RESTORES the consumed RetryEntry (affinity and
|
|
134
120
|
* attempt counter survive a capacity miss). Idempotent and token-checked: a stale reservation
|
|
135
121
|
* (cancelled, expired, or superseded by a re-reserve) is a no-op.
|
|
136
122
|
*/
|
|
137
123
|
cancelReservation(reservation: SlotReservation): void;
|
|
124
|
+
cancelReservationAsync(reservation: SlotReservation): Promise<void>;
|
|
125
|
+
private cancelReservationInTransaction;
|
|
126
|
+
abandonClaim(issueId: string, slotIndex: number): void;
|
|
127
|
+
abandonClaimAsync(issueId: string, slotIndex: number): Promise<void>;
|
|
128
|
+
private abandonClaimInTransaction;
|
|
138
129
|
/** Shared cancel path for token-checked cancels, the expiry sweep, and cleanupIssue. */
|
|
139
130
|
private cancelReservationRecord;
|
|
131
|
+
private restoreRunningRetry;
|
|
140
132
|
/**
|
|
141
133
|
* Cancels (with retry restore) any reservation past its defensive expiry so a hung acquire
|
|
142
134
|
* (e.g. a wedged endpoint open) cannot strand a concurrency slot until shutdown. A late
|
|
@@ -146,17 +138,20 @@ export declare class Orchestrator {
|
|
|
146
138
|
private selectWorkerHost;
|
|
147
139
|
private workerCapacityAvailable;
|
|
148
140
|
refreshRunningIssue(issue: Issue): void;
|
|
141
|
+
refreshRunningIssueAsync(issue: Issue): Promise<void>;
|
|
142
|
+
private refreshRunningIssueInTransaction;
|
|
149
143
|
applyUpdate(issueId: string, slotIndex: number, update: AgentUpdate): void;
|
|
150
|
-
|
|
144
|
+
applyUpdateAsync(issueId: string, slotIndex: number, update: AgentUpdate): Promise<void>;
|
|
145
|
+
private applyUpdateInTransaction;
|
|
146
|
+
finish(issueId: string, slotIndex: number, normal: boolean, error?: string, retryKind?: "failure" | "continuation"): RunningEntry | null;
|
|
147
|
+
finishAsync(issueId: string, slotIndex: number, normal: boolean, error?: string, retryKind?: "failure" | "continuation"): Promise<RunningEntry | null>;
|
|
148
|
+
private finishInTransaction;
|
|
151
149
|
cleanupIssue(issueId: string): void;
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
usageTotals: UsageTotals;
|
|
158
|
-
rateLimits: unknown;
|
|
159
|
-
};
|
|
150
|
+
cleanupIssueAsync(issueId: string): Promise<void>;
|
|
151
|
+
private cleanupIssueInTransaction;
|
|
152
|
+
snapshot(): OrchestratorSnapshot;
|
|
153
|
+
snapshotAsync(): Promise<OrchestratorSnapshot>;
|
|
154
|
+
private snapshotInTransaction;
|
|
160
155
|
private applyUsageUpdate;
|
|
161
156
|
private applyCumulativeUsage;
|
|
162
157
|
private applyIncrementalUsage;
|
|
@@ -168,4 +163,13 @@ export declare class Orchestrator {
|
|
|
168
163
|
private retryIsDue;
|
|
169
164
|
private deleteRetryAttemptsForIssue;
|
|
170
165
|
}
|
|
166
|
+
export interface OrchestratorSnapshot {
|
|
167
|
+
running: RunningEntry[];
|
|
168
|
+
reserving: ReservationSnapshotEntry[];
|
|
169
|
+
retrying: RetryEntry[];
|
|
170
|
+
blocked: DispatchBlockEntry[];
|
|
171
|
+
usageTotals: UsageTotals;
|
|
172
|
+
rateLimits: unknown;
|
|
173
|
+
claimStore: ClaimStoreStatus;
|
|
174
|
+
}
|
|
171
175
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|