target-supabase-sdk 0.2.13 → 0.2.14
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/browser.js +1 -1
- package/dist/chunks/{enable-DqnfLPsQ.js → enable-C7lFooTG.js} +2 -2
- package/dist/chunks/{enable-DqnfLPsQ.js.map → enable-C7lFooTG.js.map} +1 -1
- package/dist/chunks/{task-queue-6X3aglJh.js → task-queue-qSnsfiIg.js} +5 -3
- package/dist/chunks/task-queue-qSnsfiIg.js.map +1 -0
- package/dist/node/env/index.d.ts +1 -1
- package/dist/node/env/index.d.ts.map +1 -1
- package/dist/node/node-runtime.base.d.ts +14 -1
- package/dist/node/node-runtime.base.d.ts.map +1 -1
- package/dist/node/node.api.d.ts.map +1 -1
- package/dist/node/node.constant.d.ts +3 -0
- package/dist/node/node.constant.d.ts.map +1 -0
- package/dist/node/node.utils.d.ts +0 -2
- package/dist/node/node.utils.d.ts.map +1 -1
- package/dist/node/readiness/index.d.ts +2 -0
- package/dist/node/readiness/index.d.ts.map +1 -1
- package/dist/node/{service-guard → readiness}/run-readiness-gate.d.ts +1 -1
- package/dist/node/readiness/run-readiness-gate.d.ts.map +1 -0
- package/dist/node/readiness/service-ready-gate.d.ts.map +1 -1
- package/dist/node/runtime-state/create-service-runtime-state-store.d.ts.map +1 -1
- package/dist/node/runtime-state/service-runtime-state.types.d.ts +16 -0
- package/dist/node/runtime-state/service-runtime-state.types.d.ts.map +1 -1
- package/dist/node/service-guard/index.d.ts +4 -4
- package/dist/node/service-guard/index.d.ts.map +1 -1
- package/dist/node/service-guard/register-service-guard-runner.d.ts +1 -2
- package/dist/node/service-guard/register-service-guard-runner.d.ts.map +1 -1
- package/dist/node/service-guard/registry-slot-guard-step.d.ts.map +1 -0
- package/dist/node/service-guard/run-service-guard-tick.d.ts.map +1 -1
- package/dist/node/service-guard/service-guard-node.d.ts +25 -2
- package/dist/node/service-guard/service-guard-node.d.ts.map +1 -1
- package/dist/node/service-guard/service-guard.interface.d.ts +25 -10
- package/dist/node/service-guard/service-guard.interface.d.ts.map +1 -1
- package/dist/node/service-host/claim-registry-slot.d.ts +15 -0
- package/dist/node/service-host/claim-registry-slot.d.ts.map +1 -0
- package/dist/node/service-host/create-l3-child-launcher.d.ts +38 -0
- package/dist/node/service-host/create-l3-child-launcher.d.ts.map +1 -0
- package/dist/node/service-host/index.d.ts +2 -5
- package/dist/node/service-host/index.d.ts.map +1 -1
- package/dist/node/service-host/service-host.d.ts +3 -3
- package/dist/node/service-host/service-host.d.ts.map +1 -1
- package/dist/node/service-host/single-process-service.d.ts +3 -3
- package/dist/node/service-host/single-process-service.d.ts.map +1 -1
- package/dist/node.d.ts +8 -6
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +627 -264
- package/dist/node.js.map +1 -1
- package/dist/preload.js +1 -1
- package/package.json +1 -1
- package/src/node/env/index.ts +0 -4
- package/src/node/node-runtime.base.ts +33 -5
- package/src/node/node.api.ts +1 -1
- package/src/node/node.constant.ts +2 -0
- package/src/node/node.utils.ts +2 -2
- package/src/node/readiness/index.ts +2 -0
- package/src/node/{service-guard → readiness}/run-readiness-gate.ts +2 -2
- package/src/node/readiness/service-ready-gate.ts +27 -23
- package/src/node/runtime-state/create-service-runtime-state-store.ts +11 -0
- package/src/node/runtime-state/service-runtime-state.types.ts +12 -0
- package/src/node/service-guard/index.ts +7 -8
- package/src/node/service-guard/register-service-guard-runner.ts +0 -2
- package/src/node/service-guard/run-service-guard-tick.ts +5 -2
- package/src/node/service-guard/service-guard-node.ts +229 -6
- package/src/node/service-guard/service-guard.interface.ts +35 -10
- package/src/node/service-host/claim-registry-slot.ts +33 -0
- package/src/node/service-host/create-l3-child-launcher.ts +157 -0
- package/src/node/service-host/index.ts +5 -24
- package/src/node/service-host/service-host.ts +11 -18
- package/src/node/service-host/single-process-service.ts +10 -20
- package/src/node.ts +21 -18
- package/dist/chunks/task-queue-6X3aglJh.js.map +0 -1
- package/dist/node/service-guard/run-readiness-gate.d.ts.map +0 -1
- package/dist/node/service-host/registry-slot-guard-step.d.ts.map +0 -1
- /package/dist/node/{service-host → service-guard}/registry-slot-guard-step.d.ts +0 -0
- /package/src/node/{service-host → service-guard}/registry-slot-guard-step.ts +0 -0
package/dist/node/env/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export { envBool, envInt, envMs, envNumber, envPort } from "./env-parsers";
|
|
|
3
3
|
export type { InitSupabaseFromStandardEnvOptions } from "./init-supabase-from-env";
|
|
4
4
|
export { initSupabaseFromStandardEnv } from "./init-supabase-from-env";
|
|
5
5
|
export type { EnvProfileFromProcessOptions, LoadEnvFilesOptions } from "./load-env";
|
|
6
|
-
export { CLI_PROD_FLAG, envProfileFromProcess, loadEnvFiles,
|
|
6
|
+
export { CLI_PROD_FLAG, envProfileFromProcess, loadEnvFiles, resolveDefaultEnvFiles, SERVICE_ENV_PROFILE_ENV_KEY, SERVICE_ENV_PROFILE_PROD, } from "./load-env";
|
|
7
7
|
export { resolveProjectRootByPackageName, resolveProjectRootFromModule } from "./project-root";
|
|
8
8
|
export type { PublicBaseUrlFromEnvOptions } from "./public-base-url";
|
|
9
9
|
export { publicBaseUrlFromEnv } from "./public-base-url";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/env/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC3E,YAAY,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,YAAY,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpF,OAAO,EACH,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/env/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC3E,YAAY,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,YAAY,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpF,OAAO,EACH,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,sBAAsB,EACtB,2BAA2B,EAC3B,wBAAwB,GAC3B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAC/F,YAAY,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { CommandType } from "../command/command.interface";
|
|
2
2
|
import { type LoggerWithScope, LogLevel } from "../shared/log";
|
|
3
|
+
import { LOG_TOPIC_NODE } from "./node.constant";
|
|
4
|
+
export { LOG_TOPIC_NODE };
|
|
3
5
|
/** 主循环单轮运行时上下文 — 由 start() 创建并向下传递 */
|
|
4
6
|
export interface NodeLoopContext {
|
|
5
7
|
loopTraceId: string;
|
|
@@ -14,7 +16,6 @@ export interface BaseNodeRuntimeOptions {
|
|
|
14
16
|
*/
|
|
15
17
|
beforeProcessExit?: () => void | Promise<void>;
|
|
16
18
|
}
|
|
17
|
-
export declare const LOG_TOPIC_NODE = "node";
|
|
18
19
|
/**
|
|
19
20
|
* Shared node process runtime: bootstrap, main-loop frame, heartbeat, commands, shutdown.
|
|
20
21
|
* Subclasses implement {@link onBeforeRegisterNode} and {@link runLoopSteps}.
|
|
@@ -47,6 +48,18 @@ declare abstract class BaseNodeRuntime {
|
|
|
47
48
|
protected loopLoggerMinLevel(): LogLevel;
|
|
48
49
|
/** Hook: ms to wait between loop iterations. Default: random 15–60s. */
|
|
49
50
|
protected getLoopIntervalMs(): number;
|
|
51
|
+
/**
|
|
52
|
+
* When true, the main loop skips commands and {@link runLoopSteps} (heartbeat only).
|
|
53
|
+
* Used by the L3 guard process while waiting for connectivity to recover.
|
|
54
|
+
*/
|
|
55
|
+
protected isSilenced(): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Consecutive heartbeat failures reached {@link HEARTBEAT_FAILURE_THRESHOLD}.
|
|
58
|
+
* Default: shut down the node. Override to wait for recovery instead of exiting.
|
|
59
|
+
*/
|
|
60
|
+
protected onHealthCheckFailed(_ctx: NodeLoopContext): Promise<void>;
|
|
61
|
+
/** Heartbeat succeeded while {@link isSilenced} is true. Default: no-op. */
|
|
62
|
+
protected onHeartbeatRecovered(_ctx: NodeLoopContext): Promise<void>;
|
|
50
63
|
private getLogNodeId;
|
|
51
64
|
protected isShuttingDown(): boolean;
|
|
52
65
|
protected requestShutdown(trigger: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-runtime.base.d.ts","sourceRoot":"","sources":["../../src/node/node-runtime.base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAGH,KAAK,eAAe,EACpB,QAAQ,EAIX,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"node-runtime.base.d.ts","sourceRoot":"","sources":["../../src/node/node-runtime.base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.api.d.ts","sourceRoot":"","sources":["../../src/node/node.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"node.api.d.ts","sourceRoot":"","sources":["../../src/node/node.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAgB,KAAK,IAAI,EAAoB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASzF,eAAO,MAAM,sBAAsB;;;;;;EAEjC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE7E,eAAO,MAAM,wBAAwB;;;;;;;;;EAGnC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEjF,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEvE,eAAO,MAAM,2BAA2B;;;IAGpC,yEAAyE;;;;;;;;;;;;;EAG3E,CAAC;AAEH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAUvF,eAAO,MAAM,gBAAgB;;wFAqB3B,CAAC;AAIH,eAAO,MAAM,kBAAkB;;;4FAa7B,CAAC;AAIH,eAAO,MAAM,aAAa;;;4FAexB,CAAC;AAIH,eAAO,MAAM,qBAAqB;;;;;wFA0BhC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.constant.d.ts","sourceRoot":"","sources":["../../src/node/node.constant.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,eAAO,MAAM,cAAc,SAAS,CAAC"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
export declare const formatTimestamp: (timestamp: number) => string;
|
|
2
|
-
export declare const formatRelativeTime: (timestamp: number) => string;
|
|
3
1
|
export declare const getRandomInterval: () => number;
|
|
4
2
|
export declare const formatHeartbeat: (timestamp: number) => string;
|
|
5
3
|
//# sourceMappingURL=node.utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.utils.d.ts","sourceRoot":"","sources":["../../src/node/node.utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node.utils.d.ts","sourceRoot":"","sources":["../../src/node/node.utils.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,iBAAiB,QAAO,MAIpC,CAAC;AAEF,eAAO,MAAM,eAAe,cAAe,MAAM,KAAG,MAInD,CAAC"}
|
|
@@ -4,6 +4,8 @@ export type { ReadinessCheck, ReadinessCheckResult, ReadinessReport } from "./re
|
|
|
4
4
|
export type { PathsExistCheckOptions, RequiredEnvCheckOptions, SupabaseReachableCheckOptions, } from "./readiness-checks";
|
|
5
5
|
export { createPathsExistCheck, createRequiredEnvCheck, createSupabaseReachableCheck, } from "./readiness-checks";
|
|
6
6
|
export { runReadinessChecks } from "./run-readiness-checks";
|
|
7
|
+
export type { RunReadinessGateInput } from "./run-readiness-gate";
|
|
8
|
+
export { runReadinessGate } from "./run-readiness-gate";
|
|
7
9
|
export type { ServiceReadyGate, ServiceReadySnapshot, WaitForServiceReadyOptions, } from "./service-ready-gate";
|
|
8
10
|
export { waitForServiceReady } from "./service-ready-gate";
|
|
9
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/readiness/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/F,YAAY,EACR,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,GAChC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EACR,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/readiness/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/F,YAAY,EACR,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,GAChC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EACR,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { LoggerWithScope } from "../../shared/log";
|
|
2
|
-
import type { ReadinessCheck, ReadinessReport } from "
|
|
2
|
+
import type { ReadinessCheck, ReadinessReport } from "./readiness.types";
|
|
3
3
|
export interface RunReadinessGateInput {
|
|
4
4
|
checks: ReadinessCheck[];
|
|
5
5
|
onReport: (report: ReadinessReport) => Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-readiness-gate.d.ts","sourceRoot":"","sources":["../../../src/node/readiness/run-readiness-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzE,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,gFAAgF;AAChF,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAqB7F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-ready-gate.d.ts","sourceRoot":"","sources":["../../../src/node/readiness/service-ready-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"service-ready-gate.d.ts","sourceRoot":"","sources":["../../../src/node/readiness/service-ready-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kDAAkD;IAClD,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,4FAA4F;AAC5F,MAAM,WAAW,gBAAgB;IAC7B,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,0BAA0B;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACvC,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CAClF;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACrC,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,0BAA0B,GACpC,OAAO,CAAC,oBAAoB,CAAC,CAoC/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-service-runtime-state-store.d.ts","sourceRoot":"","sources":["../../../src/node/runtime-state/create-service-runtime-state-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EACR,yBAAyB,EAIzB,6BAA6B,EAC7B,wBAAwB,EACxB,mBAAmB,EAEtB,MAAM,+BAA+B,CAAC;AAIvC,MAAM,WAAW,qCAAqC,CAClD,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,yBAAyB;IAEvE;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,aAAa,CAAC,EAAE,YAAY,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB,CAAC,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,yBAAyB;IAC5G,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,KAAK,CAAC,EAAE,6BAA6B,CAAC,YAAY,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,wBAAwB,CAAC,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,yBAAyB;IAC7G,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/D,iBAAiB,CACb,KAAK,EAAE,cAAc,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,wBAAwB,CAAC,YAAY,CAAC,CAAC,GACjG,OAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9C,2BAA2B,IAAI,OAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1E,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnF;
|
|
1
|
+
{"version":3,"file":"create-service-runtime-state-store.d.ts","sourceRoot":"","sources":["../../../src/node/runtime-state/create-service-runtime-state-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EACR,yBAAyB,EAIzB,6BAA6B,EAC7B,wBAAwB,EACxB,mBAAmB,EAEtB,MAAM,+BAA+B,CAAC;AAIvC,MAAM,WAAW,qCAAqC,CAClD,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,yBAAyB;IAEvE;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,aAAa,CAAC,EAAE,YAAY,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB,CAAC,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,yBAAyB;IAC5G,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,KAAK,CAAC,EAAE,6BAA6B,CAAC,YAAY,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,wBAAwB,CAAC,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,yBAAyB;IAC7G,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/D,iBAAiB,CACb,KAAK,EAAE,cAAc,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,wBAAwB,CAAC,YAAY,CAAC,CAAC,GACjG,OAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9C,2BAA2B,IAAI,OAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1E,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnF;AAqDD,6FAA6F;AAC7F,wBAAgB,8BAA8B,CAAC,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,yBAAyB,EAClH,OAAO,EAAE,qCAAqC,CAAC,YAAY,CAAC,GAC7D,wBAAwB,CAAC,YAAY,CAAC,CAoCxC"}
|
|
@@ -16,11 +16,27 @@ export interface GuardRuntimeSlice {
|
|
|
16
16
|
lastDecision: string | null;
|
|
17
17
|
lastSpawnAt: string | null;
|
|
18
18
|
spawnCount: number;
|
|
19
|
+
/** `healthy` when omitted (legacy shards). Silent: heartbeat-only wait. Recovering: respawn business nodes. */
|
|
20
|
+
mode: "healthy" | "silent" | "recovering";
|
|
21
|
+
silentEnteredAt: string | null;
|
|
22
|
+
silentLastHeartbeatAt: string | null;
|
|
23
|
+
silentBackoffMs: number;
|
|
24
|
+
silentConsecutiveFailures: number;
|
|
25
|
+
silentRecoveryAttempt: number;
|
|
26
|
+
silentEvents: {
|
|
27
|
+
at: string;
|
|
28
|
+
type: string;
|
|
29
|
+
detail?: string;
|
|
30
|
+
}[];
|
|
19
31
|
}
|
|
20
32
|
export interface SchedulerRuntimeSlice {
|
|
21
33
|
lastTickAt: string | null;
|
|
22
34
|
lastPostedCount: number;
|
|
23
35
|
lastFired: Record<string, string>;
|
|
36
|
+
pid: number | null;
|
|
37
|
+
spawnedAt: string | null;
|
|
38
|
+
ready: boolean;
|
|
39
|
+
readyAt: string | null;
|
|
24
40
|
}
|
|
25
41
|
export interface WorkerRuntimeSlice {
|
|
26
42
|
pid: number | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-runtime-state.types.d.ts","sourceRoot":"","sources":["../../../src/node/runtime-state/service-runtime-state.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAEjF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5D;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"service-runtime-state.types.d.ts","sourceRoot":"","sources":["../../../src/node/runtime-state/service-runtime-state.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAEjF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5D;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,+GAA+G;IAC/G,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC1C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,yBAAyB,EAAE,MAAM,CAAC;IAClC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjE;AAED,MAAM,WAAW,qBAAqB;IAClC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IAC/B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,CAAC,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,yBAAyB,IAAI;IACvG,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,qBAAqB,CAAC;IACjC,KAAK,EAAE,iBAAiB,CAAC;IACzB,SAAS,EAAE,qBAAqB,CAAC;IACjC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,wBAAwB,CAAC;CACtC,GAAG,YAAY,CAAC;AAEjB,MAAM,MAAM,2BAA2B,GAAG,WAAW,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEtG,MAAM,MAAM,wBAAwB,CAAC,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAC1E,2BAA2B,GAC3B,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC;AAEpC,+DAA+D;AAC/D,MAAM,MAAM,6BAA6B,CAAC,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI;KACpF,CAAC,IAAI,MAAM,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;CAC1G,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { registerServiceGuardRunner } from "./register-service-guard-runner";
|
|
2
|
-
export type {
|
|
3
|
-
export {
|
|
2
|
+
export type { ApplyRegistrySlotGuardInput, ApplyRegistrySlotGuardResult, } from "./registry-slot-guard-step";
|
|
3
|
+
export { applyRegistrySlotGuardStep } from "./registry-slot-guard-step";
|
|
4
4
|
export { runServiceGuardTick } from "./run-service-guard-tick";
|
|
5
5
|
export type { RegisterServiceGuardRunnerOptions, ServiceGuardNodeOptions, ServiceGuardTickInput, ServiceGuardTickResult, } from "./service-guard.interface";
|
|
6
|
-
export { SERVICE_GUARD_RUNNER_KEY } from "./service-guard.interface";
|
|
6
|
+
export { guardRetryAfterSec, isGuardAvailable, SERVICE_GUARD_RUNNER_KEY } from "./service-guard.interface";
|
|
7
7
|
export { ServiceGuardNode } from "./service-guard-node";
|
|
8
|
-
export {
|
|
8
|
+
export { markWorkerSpawned } from "./worker-spawn-cooldown";
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/service-guard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/service-guard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,YAAY,EACR,2BAA2B,EAC3B,4BAA4B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EACR,iCAAiC,EACjC,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC3G,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { type RegisterServiceGuardRunnerOptions
|
|
1
|
+
import { type RegisterServiceGuardRunnerOptions } from "./service-guard.interface";
|
|
2
2
|
export interface RegisterServiceGuardRunnerOptionsWithClock extends RegisterServiceGuardRunnerOptions {
|
|
3
3
|
/** Test hook — defaults to Date.now(). */
|
|
4
4
|
now?: () => number;
|
|
5
5
|
}
|
|
6
6
|
/** Register the standard L3 guard runner (registry slot + TaskNode + Service runtime). */
|
|
7
7
|
export declare function registerServiceGuardRunner(options: RegisterServiceGuardRunnerOptionsWithClock): void;
|
|
8
|
-
export { SERVICE_GUARD_RUNNER_KEY };
|
|
9
8
|
//# sourceMappingURL=register-service-guard-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-service-guard-runner.d.ts","sourceRoot":"","sources":["../../../src/node/service-guard/register-service-guard-runner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,iCAAiC,
|
|
1
|
+
{"version":3,"file":"register-service-guard-runner.d.ts","sourceRoot":"","sources":["../../../src/node/service-guard/register-service-guard-runner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,iCAAiC,EAA4B,MAAM,2BAA2B,CAAC;AA6C7G,MAAM,WAAW,0CAA2C,SAAQ,iCAAiC;IACjG,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB;AAED,0FAA0F;AAC1F,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,0CAA0C,GAAG,IAAI,CAOpG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-slot-guard-step.d.ts","sourceRoot":"","sources":["../../../src/node/service-guard/registry-slot-guard-step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAA6B,MAAM,kCAAkC,CAAC;AACtH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,WAAW,2BAA2B;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IACzC,0FAA0F;IAC1F,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,UAAU,CAAC,OAAO,uCAAuC,CAAC,CAAC;CAC7E;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAC5C,KAAK,EAAE,2BAA2B,GACnC,OAAO,CAAC,4BAA4B,CAAC,CAgCvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-service-guard-tick.d.ts","sourceRoot":"","sources":["../../../src/node/service-guard/run-service-guard-tick.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-service-guard-tick.d.ts","sourceRoot":"","sources":["../../../src/node/service-guard/run-service-guard-tick.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAG/F;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAgGvG"}
|
|
@@ -1,18 +1,41 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type LoggerWithScope } from "../../shared/log";
|
|
2
2
|
import { TriggerNode } from "../../trigger/trigger-node";
|
|
3
|
+
import type { NodeLoopContext } from "../node-runtime.base";
|
|
3
4
|
import type { ServiceGuardNodeOptions } from "./service-guard.interface";
|
|
4
5
|
/**
|
|
5
|
-
* L3 guard process TriggerNode: readiness gate,
|
|
6
|
+
* L3 guard process TriggerNode: readiness gate, business-node spawn owner,
|
|
6
7
|
* and {@link registerServiceGuardRunner} tick (registry slot + liveness + runtime).
|
|
7
8
|
*
|
|
9
|
+
* Consecutive heartbeat failure enters silent mode (no process exit). Recovery
|
|
10
|
+
* respawns business nodes; leaving silent requires heartbeat + all nodes ready.
|
|
11
|
+
*
|
|
8
12
|
* Use {@link ServiceGuardNode.create} so the guard runner is registered before `start()`.
|
|
9
13
|
*/
|
|
10
14
|
declare class ServiceGuardNode extends TriggerNode {
|
|
11
15
|
private readonly options;
|
|
16
|
+
private readonly businessReadyTimeoutMs;
|
|
17
|
+
private mode;
|
|
18
|
+
private silentBackoffIndex;
|
|
19
|
+
private silentEvents;
|
|
20
|
+
private recoverPromise;
|
|
12
21
|
private constructor();
|
|
13
22
|
/** Register the guard runner and return a ready-to-start node. */
|
|
14
23
|
static create(options: ServiceGuardNodeOptions): ServiceGuardNode;
|
|
24
|
+
protected isSilenced(): boolean;
|
|
25
|
+
protected getLoopIntervalMs(): number;
|
|
26
|
+
protected onHealthCheckFailed(_ctx: NodeLoopContext): Promise<void>;
|
|
27
|
+
protected onHeartbeatRecovered(ctx: NodeLoopContext): Promise<void>;
|
|
15
28
|
protected onBeforeRegisterNode(nodeLogger: LoggerWithScope): Promise<void>;
|
|
29
|
+
protected runLoopSteps(ctx: NodeLoopContext, heartbeatOk: boolean): Promise<void>;
|
|
30
|
+
private silentConsecutiveFailures;
|
|
31
|
+
private bumpSilentBackoff;
|
|
32
|
+
private enterSilent;
|
|
33
|
+
private recoverFromSilent;
|
|
34
|
+
private runRecover;
|
|
35
|
+
private waitUntilBusinessReady;
|
|
36
|
+
private pushEvent;
|
|
37
|
+
private persistGuard;
|
|
38
|
+
private createGuardLogger;
|
|
16
39
|
}
|
|
17
40
|
export { ServiceGuardNode };
|
|
18
41
|
//# sourceMappingURL=service-guard-node.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-guard-node.d.ts","sourceRoot":"","sources":["../../../src/node/service-guard/service-guard-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"service-guard-node.d.ts","sourceRoot":"","sources":["../../../src/node/service-guard/service-guard-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAK5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAOzE;;;;;;;;GAQG;AACH,cAAM,gBAAiB,SAAQ,WAAW;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,IAAI,CAAwC;IACpD,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,cAAc,CAA8B;IAEpD,OAAO;IASP,kEAAkE;IAClE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG,gBAAgB;IAcjE,SAAS,CAAC,UAAU,IAAI,OAAO;IAI/B,SAAS,CAAC,iBAAiB,IAAI,MAAM;cAOrB,mBAAmB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;cAczD,oBAAoB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;cAOzD,oBAAoB,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;cAwBhE,YAAY,CAAC,GAAG,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBvF,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,iBAAiB;YAMX,WAAW;YAgCX,iBAAiB;YAUjB,UAAU;YAmEV,sBAAsB;IAYpC,OAAO,CAAC,SAAS;YAMH,YAAY;IAQ1B,OAAO,CAAC,iBAAiB;CAG5B;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { Node } from "../../node/node.interface";
|
|
2
1
|
import type { RegistrySlotRuntimeState } from "../../service/registry-lifecycle";
|
|
3
2
|
import type { LoggerWithScope } from "../../shared/log";
|
|
4
|
-
import type {
|
|
3
|
+
import type { Node } from "../node.interface";
|
|
5
4
|
import type { ReadinessCheck, ReadinessReport } from "../readiness/readiness.types";
|
|
5
|
+
import type { GuardRuntimeSlice } from "../runtime-state/service-runtime-state.types";
|
|
6
6
|
/** Default TriggerManager runner key for {@link registerServiceGuardRunner}. */
|
|
7
7
|
export declare const SERVICE_GUARD_RUNNER_KEY = "service-guard";
|
|
8
8
|
export interface ServiceGuardTickInput {
|
|
@@ -39,20 +39,35 @@ export interface RegisterServiceGuardRunnerOptions {
|
|
|
39
39
|
maxNodes?: number;
|
|
40
40
|
spawnWorker: (reason: string) => Promise<void>;
|
|
41
41
|
onRegistryPatch: (patch: Pick<RegistrySlotRuntimeState, "slotOwned" | "lastSlotCheckAt" | "lastSlotCheckError">) => Promise<void>;
|
|
42
|
-
onGuardPatch: (patch:
|
|
43
|
-
nodeId: string;
|
|
44
|
-
lastCheckAt: string;
|
|
45
|
-
lastDecision?: string;
|
|
46
|
-
}) => Promise<void>;
|
|
42
|
+
onGuardPatch: (patch: Partial<GuardRuntimeSlice>) => Promise<void>;
|
|
47
43
|
onDecision?: (decision: string) => Promise<void>;
|
|
48
44
|
}
|
|
49
|
-
export interface ServiceGuardNodeOptions
|
|
45
|
+
export interface ServiceGuardNodeOptions {
|
|
50
46
|
serviceValue: string;
|
|
51
47
|
logTopic?: string;
|
|
52
48
|
readinessChecks: ReadinessCheck[];
|
|
53
49
|
onReadinessReport: (report: ReadinessReport) => Promise<void>;
|
|
54
|
-
guardRunner: Omit<RegisterServiceGuardRunnerOptions, "serviceValue" | "logTopic" | "runnerKey" | "
|
|
55
|
-
|
|
50
|
+
guardRunner: Omit<RegisterServiceGuardRunnerOptions, "serviceValue" | "logTopic" | "runnerKey" | "spawnWorker">;
|
|
51
|
+
/**
|
|
52
|
+
* Idempotent spawn of all business nodes (scheduler + worker, etc.).
|
|
53
|
+
* Used at bootstrap, silent recovery, and healthy-mode TaskNode respawn.
|
|
54
|
+
*/
|
|
55
|
+
spawnBusinessNodes: (reason: string) => Promise<void>;
|
|
56
|
+
/** Stop business nodes only (never the guard process). */
|
|
57
|
+
stopBusinessNodes: () => Promise<void>;
|
|
58
|
+
/** Local runtime gate: all business nodes registered and ready. */
|
|
59
|
+
isBusinessReady: () => Promise<boolean>;
|
|
60
|
+
/** Timeout for {@link isBusinessReady} during bootstrap and recovery. Default 180s. */
|
|
61
|
+
businessReadyTimeoutMs?: number;
|
|
62
|
+
/** Extra hook after the initial business spawn (cooldown is recorded automatically). */
|
|
56
63
|
onWorkerSpawned?: () => void;
|
|
64
|
+
beforeProcessExit?: () => void | Promise<void>;
|
|
57
65
|
}
|
|
66
|
+
/** True when the guard slice is serving traffic (`mode` omitted = legacy healthy). */
|
|
67
|
+
export declare function isGuardAvailable(guard: Pick<GuardRuntimeSlice, "mode">): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Seconds for `Retry-After` when the guard is not serving traffic.
|
|
70
|
+
* `null` when {@link isGuardAvailable} is true.
|
|
71
|
+
*/
|
|
72
|
+
export declare function guardRetryAfterSec(guard: Pick<GuardRuntimeSlice, "mode" | "silentBackoffMs">): number | null;
|
|
58
73
|
//# sourceMappingURL=service-guard.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-guard.interface.d.ts","sourceRoot":"","sources":["../../../src/node/service-guard/service-guard.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"service-guard.interface.d.ts","sourceRoot":"","sources":["../../../src/node/service-guard/service-guard.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ServiceRegistrySession } from "../../service/registry-lifecycle";
|
|
2
|
+
import type { Service } from "../../service/service.interface";
|
|
3
|
+
import type { LoggerWithScope } from "../../shared/log";
|
|
4
|
+
export interface ClaimRegistrySlotOrExitInput {
|
|
5
|
+
serviceValue: string;
|
|
6
|
+
createInstance: () => Promise<Service>;
|
|
7
|
+
logger: LoggerWithScope;
|
|
8
|
+
logTopic: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Claim a registry slot, or `process.exit(1)` when no EMPTY slot remains.
|
|
12
|
+
* Other errors propagate.
|
|
13
|
+
*/
|
|
14
|
+
export declare function claimRegistrySlotOrExit(input: ClaimRegistrySlotOrExitInput): Promise<ServiceRegistrySession>;
|
|
15
|
+
//# sourceMappingURL=claim-registry-slot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claim-registry-slot.d.ts","sourceRoot":"","sources":["../../../src/node/service-host/claim-registry-slot.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,KAAK,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AACzG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,WAAW,4BAA4B;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAgBlH"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { ChildProcess } from "node:child_process";
|
|
2
|
+
import type { ManagedChildProcesses } from "../process/managed-child-processes";
|
|
3
|
+
import type { GuardRuntimeSlice, SchedulerRuntimeSlice, WorkerRuntimeSlice } from "../runtime-state/service-runtime-state.types";
|
|
4
|
+
export interface L3ChildLauncherRuntimeStore {
|
|
5
|
+
readRuntimeState(): Promise<{
|
|
6
|
+
worker: WorkerRuntimeSlice;
|
|
7
|
+
scheduler: SchedulerRuntimeSlice;
|
|
8
|
+
guard: GuardRuntimeSlice;
|
|
9
|
+
}>;
|
|
10
|
+
writeRuntimeState(patch: {
|
|
11
|
+
worker?: Partial<WorkerRuntimeSlice>;
|
|
12
|
+
scheduler?: Partial<SchedulerRuntimeSlice>;
|
|
13
|
+
guard?: Partial<GuardRuntimeSlice>;
|
|
14
|
+
}): Promise<unknown>;
|
|
15
|
+
}
|
|
16
|
+
export interface CreateL3ChildLauncherOptions {
|
|
17
|
+
childProcesses: ManagedChildProcesses;
|
|
18
|
+
readRuntimeState: L3ChildLauncherRuntimeStore["readRuntimeState"];
|
|
19
|
+
writeRuntimeState: L3ChildLauncherRuntimeStore["writeRuntimeState"];
|
|
20
|
+
/** Merged onto the child env. Default: `{ LOG_PERSIST_PROCESS: label }`. */
|
|
21
|
+
spawnEnv?: (label: string) => Record<string, string>;
|
|
22
|
+
}
|
|
23
|
+
export interface L3ChildLauncher {
|
|
24
|
+
spawnGuard: () => ChildProcess;
|
|
25
|
+
spawnTaskWorker: (reason: string) => Promise<ChildProcess>;
|
|
26
|
+
spawnScheduler: (reason: string) => Promise<ChildProcess>;
|
|
27
|
+
spawnBusinessNodes: (reason: string) => Promise<void>;
|
|
28
|
+
stopBusinessNodes: () => Promise<void>;
|
|
29
|
+
isBusinessReady: () => Promise<boolean>;
|
|
30
|
+
stopChildProcesses: () => Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Guard-owned scheduler + worker spawn/stop, plus main-owned Guard spawn.
|
|
34
|
+
* `stopBusinessNodes` must run in the Guard process (that instance's children only).
|
|
35
|
+
* `stopChildProcesses` is for main shutdown (`extraPids` for Guard-spawned PIDs).
|
|
36
|
+
*/
|
|
37
|
+
export declare function createL3ChildLauncher(options: CreateL3ChildLauncherOptions): L3ChildLauncher;
|
|
38
|
+
//# sourceMappingURL=create-l3-child-launcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-l3-child-launcher.d.ts","sourceRoot":"","sources":["../../../src/node/service-host/create-l3-child-launcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,KAAK,EACR,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EACrB,MAAM,8CAA8C,CAAC;AAMtD,MAAM,WAAW,2BAA2B;IACxC,gBAAgB,IAAI,OAAO,CAAC;QACxB,MAAM,EAAE,kBAAkB,CAAC;QAC3B,SAAS,EAAE,qBAAqB,CAAC;QACjC,KAAK,EAAE,iBAAiB,CAAC;KAC5B,CAAC,CAAC;IACH,iBAAiB,CAAC,KAAK,EAAE;QACrB,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACrC,SAAS,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC3C,KAAK,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;KACtC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IACzC,cAAc,EAAE,qBAAqB,CAAC;IACtC,gBAAgB,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,CAAC;IAClE,iBAAiB,EAAE,2BAA2B,CAAC,mBAAmB,CAAC,CAAC;IACpE,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,MAAM,YAAY,CAAC;IAC/B,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3D,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1D,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,eAAe,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAMD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,eAAe,CAwG5F"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export
|
|
3
|
-
export { getWorkerSpawnCooldownLastAt, markWorkerSpawned, registerServiceGuardRunner, runReadinessGate, runServiceGuardTick, SERVICE_GUARD_RUNNER_KEY, ServiceGuardNode, } from "../service-guard";
|
|
4
|
-
export type { ApplyRegistrySlotGuardInput, ApplyRegistrySlotGuardResult, } from "./registry-slot-guard-step";
|
|
5
|
-
export { applyRegistrySlotGuardStep } from "./registry-slot-guard-step";
|
|
1
|
+
export type { CreateL3ChildLauncherOptions, L3ChildLauncher, L3ChildLauncherRuntimeStore, } from "./create-l3-child-launcher";
|
|
2
|
+
export { createL3ChildLauncher } from "./create-l3-child-launcher";
|
|
6
3
|
export type { ServiceHost, ServiceHostClosable, ServiceHostContext, ServiceHostOptions, } from "./service-host";
|
|
7
4
|
export { createServiceHost } from "./service-host";
|
|
8
5
|
export type { SingleProcessServiceContext, SingleProcessServiceOptions } from "./single-process-service";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/service-host/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/service-host/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,4BAA4B,EAC5B,eAAe,EACf,2BAA2B,GAC9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EACR,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACzG,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import type
|
|
1
|
+
import type { ServiceRegistrySession } from "../../service/registry-lifecycle";
|
|
2
|
+
import type { Service } from "../../service/service.interface";
|
|
3
|
+
import { type LoggerWithScope } from "../../shared/log";
|
|
4
4
|
import type { ManagedChildProcesses } from "../process/managed-child-processes";
|
|
5
5
|
export interface ServiceHostClosable {
|
|
6
6
|
close: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../src/node/service-host/service-host.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../src/node/service-host/service-host.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAItE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAGhF,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,sBAAsB,CAAC;IAChC,6FAA6F;IAC7F,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAExC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,cAAc,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChF,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjD,gFAAgF;IAChF,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,6EAA6E;IAC7E,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD;AAID,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAChE;AAMD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CA+H1E"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import type
|
|
1
|
+
import type { ServiceRegistrySession } from "../../service/registry-lifecycle";
|
|
2
|
+
import type { Service } from "../../service/service.interface";
|
|
3
|
+
import { type LoggerWithScope } from "../../shared/log";
|
|
4
4
|
export interface SingleProcessServiceContext {
|
|
5
5
|
service: Service;
|
|
6
6
|
session: ServiceRegistrySession;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single-process-service.d.ts","sourceRoot":"","sources":["../../../src/node/service-host/single-process-service.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"single-process-service.d.ts","sourceRoot":"","sources":["../../../src/node/service-host/single-process-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGtE,MAAM,WAAW,2BAA2B;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,sBAAsB,CAAC;CACnC;AAED,MAAM,WAAW,2BAA2B;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,cAAc,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,GAAG,EAAE,CAAC,GAAG,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBjG"}
|
package/dist/node.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export * from "./browser";
|
|
|
7
7
|
export * from "./command/command.api";
|
|
8
8
|
export * from "./command/command.interface";
|
|
9
9
|
export type { EnvIntOptions, EnvNumberOptions, EnvProfileFromProcessOptions, InitSupabaseFromStandardEnvOptions, LoadEnvFilesOptions, PublicBaseUrlFromEnvOptions, } from "./node/env";
|
|
10
|
-
export { CLI_PROD_FLAG, envBool, envInt, envMs, envNumber, envPort, envProfileFromProcess, initSupabaseFromStandardEnv, loadEnvFiles,
|
|
10
|
+
export { CLI_PROD_FLAG, envBool, envInt, envMs, envNumber, envPort, envProfileFromProcess, initSupabaseFromStandardEnv, loadEnvFiles, publicBaseUrlFromEnv, readEnv, requireEnv, resolveDefaultEnvFiles, resolveProjectRootByPackageName, resolveProjectRootFromModule, SERVICE_ENV_PROFILE_ENV_KEY, SERVICE_ENV_PROFILE_PROD, } from "./node/env";
|
|
11
11
|
export type { CreateJsonFileStateStoreOptions, JsonFileStateStore, JsonStatePatch, } from "./node/fs/json-state-store";
|
|
12
12
|
export { createJsonFileStateStore } from "./node/fs/json-state-store";
|
|
13
13
|
export type { ReadAndVerifySourceFileOptions, SourceFilePayload, } from "./node/fs/read-source-file";
|
|
@@ -16,12 +16,14 @@ export type { BaseNodeRuntimeOptions, NodeLoopContext } from "./node/node-runtim
|
|
|
16
16
|
export { BaseNodeRuntime } from "./node/node-runtime.base";
|
|
17
17
|
export type { BuildNodeImportArgsInput, CreateManagedChildProcessesOptions, CriticalExitHandler, ManagedChildProcessesOptions, SpawnChildOptions, SpawnChildResult, SpawnTsxChildOptions, StopAllChildrenOptions, } from "./node/process";
|
|
18
18
|
export { buildNodeImportArgs, createManagedChildProcesses, isChildProcessRunning, ManagedChildProcesses, spawnTsxChild, } from "./node/process";
|
|
19
|
-
export type { PathsExistCheckOptions, PollUntilOptions, ReadinessCheck, ReadinessCheckResult, ReadinessReport, RequiredEnvCheckOptions, ServiceReadyGate, ServiceReadySnapshot, SupabaseReachableCheckOptions, WaitForServiceReadyOptions, } from "./node/readiness";
|
|
20
|
-
export { createPathsExistCheck, createRequiredEnvCheck, createSupabaseReachableCheck, pollUntil, runReadinessChecks, waitForServiceReady, } from "./node/readiness";
|
|
19
|
+
export type { PathsExistCheckOptions, PollUntilOptions, ReadinessCheck, ReadinessCheckResult, ReadinessReport, RequiredEnvCheckOptions, RunReadinessGateInput, ServiceReadyGate, ServiceReadySnapshot, SupabaseReachableCheckOptions, WaitForServiceReadyOptions, } from "./node/readiness";
|
|
20
|
+
export { createPathsExistCheck, createRequiredEnvCheck, createSupabaseReachableCheck, pollUntil, runReadinessChecks, runReadinessGate, waitForServiceReady, } from "./node/readiness";
|
|
21
21
|
export type { CreateServiceRuntimeStateStoreOptions, FinishRunnerTickOptions, GuardRuntimeSlice, ReadinessRuntimeSlice, ReadinessStatus, SchedulerRuntimeSlice, ServiceRuntimeCoreNestedKey, ServiceRuntimeExtraSlicePatch, ServiceRuntimeNestedKeys, ServiceRuntimeState, ServiceRuntimeStateStore, WorkerRuntimeSlice, } from "./node/runtime-state";
|
|
22
22
|
export { createServiceRuntimeStateStore } from "./node/runtime-state";
|
|
23
|
-
export type { ApplyRegistrySlotGuardInput, ApplyRegistrySlotGuardResult, RegisterServiceGuardRunnerOptions,
|
|
24
|
-
export { applyRegistrySlotGuardStep,
|
|
23
|
+
export type { ApplyRegistrySlotGuardInput, ApplyRegistrySlotGuardResult, RegisterServiceGuardRunnerOptions, ServiceGuardNodeOptions, ServiceGuardTickInput, ServiceGuardTickResult, } from "./node/service-guard";
|
|
24
|
+
export { applyRegistrySlotGuardStep, guardRetryAfterSec, isGuardAvailable, markWorkerSpawned, registerServiceGuardRunner, runServiceGuardTick, SERVICE_GUARD_RUNNER_KEY, ServiceGuardNode, } from "./node/service-guard";
|
|
25
|
+
export type { CreateL3ChildLauncherOptions, L3ChildLauncher, L3ChildLauncherRuntimeStore, ServiceHost, ServiceHostClosable, ServiceHostContext, ServiceHostOptions, SingleProcessServiceContext, SingleProcessServiceOptions, } from "./node/service-host";
|
|
26
|
+
export { createL3ChildLauncher, createServiceHost, runSingleProcessService } from "./node/service-host";
|
|
25
27
|
export { RepoManager } from "./repo/repo-manager";
|
|
26
28
|
export { runCollectLogTick } from "./shared/log/spool/collector";
|
|
27
29
|
export { LOG_SPOOL_SERVICE_ID_ENV } from "./shared/log/spool/config";
|
|
@@ -30,11 +32,11 @@ export { createLogSpoolCoordinator } from "./shared/log/spool/coordinator";
|
|
|
30
32
|
export { buildLogSpoolSpawnEnv, ensureLogSpoolFromEnv, getLogSpoolStats, logSpoolEnabledFromEnv, shutdownLogSpoolFromEnv, validateLogSpoolPreloadEnv, } from "./shared/log/spool/enable";
|
|
31
33
|
export type { EnableLogSpoolOptions, LogSpoolCoreProcessRole, LogSpoolProcessRole, LogSpoolWriterStats, } from "./shared/log/spool/interface";
|
|
32
34
|
export { resolveLogSpoolRoot } from "./shared/log/spool/paths";
|
|
35
|
+
export { COLLECT_LOG_RUNNER_KEY, registerCollectLogRunner, } from "./shared/log/spool/register-collect-log-runner";
|
|
33
36
|
export { enableLogSpoolFromEnvInChild, getMainLogSpoolWriterStats, isLogSpoolEnabled, shutdownLogSpool, } from "./shared/log/spool/service-lifecycle";
|
|
34
37
|
export type { LogBatchMeta, LogPersistLane } from "./shared/log/upload/interface";
|
|
35
38
|
export type { ConfigSchema, LoadCachedJsConfigOptions, ResolveFirstExistingPathOptions, } from "./shared/utils/config-path.utils";
|
|
36
39
|
export { getConfigFileDir, importJsConfigModule, loadCachedJsConfigModule, pathExists, resolveFirstExistingPath, resolvePathFromBaseDir, resolvePathFromConfigFile, resolvePathFromCwd, toFileImportHref, } from "./shared/utils/config-path.utils";
|
|
37
|
-
export { getValueAtPath } from "./shared/utils/get-value-at-path";
|
|
38
40
|
export type { BootstrapLocalTasksResult, BootstrapLocalTasksStatus, ExecutableTaskFn, PrepareTaskParams, PrepareTaskResponse, RegisterTasksOptions, RegisterTasksResult, TaskFn, TaskLocalPackageConfig, TaskRepoContext, TaskRepoScriptDetails, TaskRepoScriptRecord, TaskRunnerRootConfig, TaskRunResult, } from "./task/task-manager";
|
|
39
41
|
export { TASK_LOCAL_PACKAGE_CONFIG_FILENAME, TASK_REPO_SCRIPT_CATEGORY, TASK_RUNNER_CONFIG_DIR, TASK_RUNNER_ROOT_CONFIG_FILENAME, TASK_RUNNER_ROOT_CONFIG_LEGACY_RELATIVE_PATH, TASK_RUNNER_ROOT_CONFIG_RELATIVE_PATH, TaskManager, } from "./task/task-manager";
|
|
40
42
|
export { TaskNode } from "./task/task-node";
|
package/dist/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,YAAY,EACR,aAAa,EACb,gBAAgB,EAChB,4BAA4B,EAC5B,kCAAkC,EAClC,mBAAmB,EACnB,2BAA2B,GAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,EACH,aAAa,EACb,OAAO,EACP,MAAM,EACN,KAAK,EACL,SAAS,EACT,OAAO,EACP,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|