@zudojs/runtime 0.0.1
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 +37 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/dependencyGraph/dependencyGraph.core.d.ts +18 -0
- package/dist/dependencyGraph/dependencyGraph.core.d.ts.map +1 -0
- package/dist/dependencyGraph/dependencyGraph.core.js +124 -0
- package/dist/dependencyGraph/dependencyGraph.core.js.map +1 -0
- package/dist/dependencyGraph/dependencyGraph.type.d.ts +43 -0
- package/dist/dependencyGraph/dependencyGraph.type.d.ts.map +1 -0
- package/dist/dependencyGraph/dependencyGraph.type.js +2 -0
- package/dist/dependencyGraph/dependencyGraph.type.js.map +1 -0
- package/dist/dependencyGraph/index.d.ts +6 -0
- package/dist/dependencyGraph/index.d.ts.map +1 -0
- package/dist/dependencyGraph/index.js +5 -0
- package/dist/dependencyGraph/index.js.map +1 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/dist/lifecycle/index.d.ts +6 -0
- package/dist/lifecycle/index.d.ts.map +1 -0
- package/dist/lifecycle/index.js +5 -0
- package/dist/lifecycle/index.js.map +1 -0
- package/dist/lifecycle/lifecycle.core.d.ts +47 -0
- package/dist/lifecycle/lifecycle.core.d.ts.map +1 -0
- package/dist/lifecycle/lifecycle.core.js +267 -0
- package/dist/lifecycle/lifecycle.core.js.map +1 -0
- package/dist/lifecycle/lifecycle.type.d.ts +51 -0
- package/dist/lifecycle/lifecycle.type.d.ts.map +1 -0
- package/dist/lifecycle/lifecycle.type.js +2 -0
- package/dist/lifecycle/lifecycle.type.js.map +1 -0
- package/dist/readiness/index.d.ts +6 -0
- package/dist/readiness/index.d.ts.map +1 -0
- package/dist/readiness/index.js +5 -0
- package/dist/readiness/index.js.map +1 -0
- package/dist/readiness/readiness.core.d.ts +45 -0
- package/dist/readiness/readiness.core.d.ts.map +1 -0
- package/dist/readiness/readiness.core.js +115 -0
- package/dist/readiness/readiness.core.js.map +1 -0
- package/dist/readiness/readiness.type.d.ts +40 -0
- package/dist/readiness/readiness.type.d.ts.map +1 -0
- package/dist/readiness/readiness.type.js +2 -0
- package/dist/readiness/readiness.type.js.map +1 -0
- package/dist/registry/index.d.ts +5 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +5 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/registry.core.d.ts +74 -0
- package/dist/registry/registry.core.d.ts.map +1 -0
- package/dist/registry/registry.core.js +126 -0
- package/dist/registry/registry.core.js.map +1 -0
- package/dist/runtime/runtime.core.d.ts +97 -0
- package/dist/runtime/runtime.core.d.ts.map +1 -0
- package/dist/runtime/runtime.core.js +253 -0
- package/dist/runtime/runtime.core.js.map +1 -0
- package/dist/runtimeContext/index.d.ts +7 -0
- package/dist/runtimeContext/index.d.ts.map +1 -0
- package/dist/runtimeContext/index.js +6 -0
- package/dist/runtimeContext/index.js.map +1 -0
- package/dist/runtimeContext/runtimeContext.core.d.ts +11 -0
- package/dist/runtimeContext/runtimeContext.core.d.ts.map +1 -0
- package/dist/runtimeContext/runtimeContext.core.js +41 -0
- package/dist/runtimeContext/runtimeContext.core.js.map +1 -0
- package/dist/runtimeContext/runtimeContext.factory.d.ts +14 -0
- package/dist/runtimeContext/runtimeContext.factory.d.ts.map +1 -0
- package/dist/runtimeContext/runtimeContext.factory.js +20 -0
- package/dist/runtimeContext/runtimeContext.factory.js.map +1 -0
- package/dist/runtimeContext/runtimeContext.type.d.ts +59 -0
- package/dist/runtimeContext/runtimeContext.type.d.ts.map +1 -0
- package/dist/runtimeContext/runtimeContext.type.js +2 -0
- package/dist/runtimeContext/runtimeContext.type.js.map +1 -0
- package/dist/runtimeError/index.d.ts +5 -0
- package/dist/runtimeError/index.d.ts.map +1 -0
- package/dist/runtimeError/index.js +5 -0
- package/dist/runtimeError/index.js.map +1 -0
- package/dist/runtimeError/runtimeError.base.d.ts +80 -0
- package/dist/runtimeError/runtimeError.base.d.ts.map +1 -0
- package/dist/runtimeError/runtimeError.base.js +149 -0
- package/dist/runtimeError/runtimeError.base.js.map +1 -0
- package/dist/runtimeEvents/index.d.ts +6 -0
- package/dist/runtimeEvents/index.d.ts.map +1 -0
- package/dist/runtimeEvents/index.js +5 -0
- package/dist/runtimeEvents/index.js.map +1 -0
- package/dist/runtimeEvents/runtimeEvents.core.d.ts +28 -0
- package/dist/runtimeEvents/runtimeEvents.core.d.ts.map +1 -0
- package/dist/runtimeEvents/runtimeEvents.core.js +63 -0
- package/dist/runtimeEvents/runtimeEvents.core.js.map +1 -0
- package/dist/runtimeEvents/runtimeEvents.type.d.ts +75 -0
- package/dist/runtimeEvents/runtimeEvents.type.d.ts.map +1 -0
- package/dist/runtimeEvents/runtimeEvents.type.js +2 -0
- package/dist/runtimeEvents/runtimeEvents.type.js.map +1 -0
- package/dist/runtimeOptions/index.d.ts +7 -0
- package/dist/runtimeOptions/index.d.ts.map +1 -0
- package/dist/runtimeOptions/index.js +6 -0
- package/dist/runtimeOptions/index.js.map +1 -0
- package/dist/runtimeOptions/runtimeOptions.core.d.ts +14 -0
- package/dist/runtimeOptions/runtimeOptions.core.d.ts.map +1 -0
- package/dist/runtimeOptions/runtimeOptions.core.js +37 -0
- package/dist/runtimeOptions/runtimeOptions.core.js.map +1 -0
- package/dist/runtimeOptions/runtimeOptions.type.d.ts +94 -0
- package/dist/runtimeOptions/runtimeOptions.type.d.ts.map +1 -0
- package/dist/runtimeOptions/runtimeOptions.type.js +14 -0
- package/dist/runtimeOptions/runtimeOptions.type.js.map +1 -0
- package/dist/runtimeState/index.d.ts +6 -0
- package/dist/runtimeState/index.d.ts.map +1 -0
- package/dist/runtimeState/index.js +5 -0
- package/dist/runtimeState/index.js.map +1 -0
- package/dist/runtimeState/runtimeState.core.d.ts +50 -0
- package/dist/runtimeState/runtimeState.core.d.ts.map +1 -0
- package/dist/runtimeState/runtimeState.core.js +88 -0
- package/dist/runtimeState/runtimeState.core.js.map +1 -0
- package/dist/runtimeState/runtimeState.type.d.ts +71 -0
- package/dist/runtimeState/runtimeState.type.d.ts.map +1 -0
- package/dist/runtimeState/runtimeState.type.js +2 -0
- package/dist/runtimeState/runtimeState.type.js.map +1 -0
- package/dist/shutdown/index.d.ts +5 -0
- package/dist/shutdown/index.d.ts.map +1 -0
- package/dist/shutdown/index.js +5 -0
- package/dist/shutdown/index.js.map +1 -0
- package/dist/shutdown/shutdown.core.d.ts +8 -0
- package/dist/shutdown/shutdown.core.d.ts.map +1 -0
- package/dist/shutdown/shutdown.core.js +87 -0
- package/dist/shutdown/shutdown.core.js.map +1 -0
- package/dist/signalHandler/index.d.ts +5 -0
- package/dist/signalHandler/index.d.ts.map +1 -0
- package/dist/signalHandler/index.js +5 -0
- package/dist/signalHandler/index.js.map +1 -0
- package/dist/signalHandler/signalHandler.core.d.ts +44 -0
- package/dist/signalHandler/signalHandler.core.d.ts.map +1 -0
- package/dist/signalHandler/signalHandler.core.js +90 -0
- package/dist/signalHandler/signalHandler.core.js.map +1 -0
- package/dist/startup/index.d.ts +5 -0
- package/dist/startup/index.d.ts.map +1 -0
- package/dist/startup/index.js +5 -0
- package/dist/startup/index.js.map +1 -0
- package/dist/startup/startup.core.d.ts +12 -0
- package/dist/startup/startup.core.d.ts.map +1 -0
- package/dist/startup/startup.core.js +91 -0
- package/dist/startup/startup.core.js.map +1 -0
- package/dist/testRuntime/index.d.ts +5 -0
- package/dist/testRuntime/index.d.ts.map +1 -0
- package/dist/testRuntime/index.js +5 -0
- package/dist/testRuntime/index.js.map +1 -0
- package/dist/testRuntime/testRuntime.core.d.ts +34 -0
- package/dist/testRuntime/testRuntime.core.d.ts.map +1 -0
- package/dist/testRuntime/testRuntime.core.js +81 -0
- package/dist/testRuntime/testRuntime.core.js.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { RuntimeError, RuntimeStateError as BaseRuntimeStateError, ErrorCode, } from "@zudojs/errors";
|
|
2
|
+
/**
|
|
3
|
+
* Error thrown when an invalid runtime state is encountered.
|
|
4
|
+
*/
|
|
5
|
+
export class RuntimeStateError extends BaseRuntimeStateError {
|
|
6
|
+
constructor(message) {
|
|
7
|
+
super(message);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Error thrown when runtime startup fails.
|
|
12
|
+
*/
|
|
13
|
+
export class RuntimeStartError extends RuntimeError {
|
|
14
|
+
phase;
|
|
15
|
+
failedModuleId;
|
|
16
|
+
constructor(message, options) {
|
|
17
|
+
super(message, {
|
|
18
|
+
cause: options.cause,
|
|
19
|
+
metadata: {
|
|
20
|
+
phase: options.phase,
|
|
21
|
+
failedModuleId: options.failedModuleId,
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
this.phase = options.phase;
|
|
25
|
+
this.failedModuleId = options.failedModuleId;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Error thrown when runtime shutdown fails.
|
|
30
|
+
*/
|
|
31
|
+
export class RuntimeStopError extends RuntimeError {
|
|
32
|
+
phase;
|
|
33
|
+
constructor(message, options) {
|
|
34
|
+
super(message, {
|
|
35
|
+
cause: options.cause,
|
|
36
|
+
metadata: {
|
|
37
|
+
phase: options.phase,
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
this.phase = options.phase;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Error thrown when runtime initialization fails.
|
|
45
|
+
*/
|
|
46
|
+
export class RuntimeInitializationError extends RuntimeError {
|
|
47
|
+
constructor(message, options = {}) {
|
|
48
|
+
super(message, {
|
|
49
|
+
cause: options.cause,
|
|
50
|
+
metadata: {
|
|
51
|
+
phase: "initialization",
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Error thrown when a runtime timeout occurs.
|
|
58
|
+
*/
|
|
59
|
+
export class RuntimeTimeoutError extends RuntimeError {
|
|
60
|
+
operation;
|
|
61
|
+
timeoutMs;
|
|
62
|
+
constructor(operation, timeoutMs) {
|
|
63
|
+
super(`Runtime operation "${operation}" timed out after ${timeoutMs}ms.`, {
|
|
64
|
+
metadata: {
|
|
65
|
+
operation,
|
|
66
|
+
timeoutMs,
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
this.operation = operation;
|
|
70
|
+
this.timeoutMs = timeoutMs;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Error thrown when runtime rollback fails.
|
|
75
|
+
*/
|
|
76
|
+
export class RuntimeRollbackError extends RuntimeError {
|
|
77
|
+
originalError;
|
|
78
|
+
rollbackError;
|
|
79
|
+
constructor(originalError, rollbackError) {
|
|
80
|
+
super("Runtime rollback failed. Original error suppressed.", {
|
|
81
|
+
cause: rollbackError,
|
|
82
|
+
metadata: {
|
|
83
|
+
originalErrorMessage: originalError.message,
|
|
84
|
+
rollbackErrorMessage: rollbackError.message,
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
this.originalError = originalError;
|
|
88
|
+
this.rollbackError = rollbackError;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Error thrown when a circular dependency is detected.
|
|
93
|
+
*/
|
|
94
|
+
export class RuntimeCircularDependencyError extends RuntimeError {
|
|
95
|
+
cycle;
|
|
96
|
+
constructor(cycle) {
|
|
97
|
+
super(`Circular module dependency detected: ${cycle.join(" -> ")} -> ${cycle[0]}.`, {
|
|
98
|
+
metadata: {
|
|
99
|
+
cycle: [...cycle],
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
this.cycle = Object.freeze([...cycle]);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Error thrown when a module dependency cannot be resolved.
|
|
107
|
+
*/
|
|
108
|
+
export class RuntimeDependencyError extends RuntimeError {
|
|
109
|
+
moduleId;
|
|
110
|
+
dependencyId;
|
|
111
|
+
constructor(moduleId, dependencyId) {
|
|
112
|
+
super(`Module "${moduleId}" depends on "${dependencyId}" which is not registered.`, {
|
|
113
|
+
metadata: {
|
|
114
|
+
moduleId,
|
|
115
|
+
dependencyId,
|
|
116
|
+
},
|
|
117
|
+
});
|
|
118
|
+
this.moduleId = moduleId;
|
|
119
|
+
this.dependencyId = dependencyId;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Error thrown when runtime receives multiple signals.
|
|
124
|
+
*/
|
|
125
|
+
export class RuntimeSignalError extends RuntimeError {
|
|
126
|
+
signal;
|
|
127
|
+
constructor(signal) {
|
|
128
|
+
super(`Runtime received unexpected signal "${signal}".`, {
|
|
129
|
+
metadata: {
|
|
130
|
+
signal,
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
this.signal = signal;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Converts an unknown error to a RuntimeError.
|
|
138
|
+
*/
|
|
139
|
+
export function toRuntimeError(error, phase = "unknown") {
|
|
140
|
+
if (error instanceof RuntimeError) {
|
|
141
|
+
return error;
|
|
142
|
+
}
|
|
143
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
144
|
+
return new RuntimeError(message, {
|
|
145
|
+
cause: error instanceof Error ? error : undefined,
|
|
146
|
+
metadata: { phase },
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=runtimeError.base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeError.base.js","sourceRoot":"","sources":["../../src/runtimeError/runtimeError.base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,iBAAiB,IAAI,qBAAqB,EAC1C,SAAS,GACV,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,qBAAqB;IAC1D,YAAmB,OAAe;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACxB,KAAK,CAAS;IACvB,cAAc,CAAU;IAExC,YACE,OAAe,EACf,OAIC;QAED,KAAK,CAAC,OAAO,EAAE;YACb,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE;gBACR,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,cAAc,EAAE,OAAO,CAAC,cAAc;aACvC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAC/C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IACvB,KAAK,CAAS;IAEvC,YACE,OAAe,EACf,OAGC;QAED,KAAK,CAAC,OAAO,EAAE;YACb,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE;gBACR,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC7B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,YAAY;IAC1D,YACE,OAAe,EACf,OAAO,GAEH,EAAE;QAEN,KAAK,CAAC,OAAO,EAAE;YACb,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE;gBACR,KAAK,EAAE,gBAAgB;aACxB;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IACnC,SAAS,CAAS;IAClB,SAAS,CAAS;IAElC,YAAmB,SAAiB,EAAE,SAAiB;QACrD,KAAK,CAAC,sBAAsB,SAAS,qBAAqB,SAAS,KAAK,EAAE;YACxE,QAAQ,EAAE;gBACR,SAAS;gBACT,SAAS;aACV;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,YAAY;IACpC,aAAa,CAAQ;IACrB,aAAa,CAAQ;IAErC,YAAmB,aAAoB,EAAE,aAAoB;QAC3D,KAAK,CAAC,qDAAqD,EAAE;YAC3D,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE;gBACR,oBAAoB,EAAE,aAAa,CAAC,OAAO;gBAC3C,oBAAoB,EAAE,aAAa,CAAC,OAAO;aAC5C;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,8BAA+B,SAAQ,YAAY;IAC9C,KAAK,CAAoB;IAEzC,YAAmB,KAAwB;QACzC,KAAK,CACH,wCAAwC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,EAC5E;YACE,QAAQ,EAAE;gBACR,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;aAClB;SACF,CACF,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,YAAY;IACtC,QAAQ,CAAS;IACjB,YAAY,CAAS;IAErC,YAAmB,QAAgB,EAAE,YAAoB;QACvD,KAAK,CACH,WAAW,QAAQ,iBAAiB,YAAY,4BAA4B,EAC5E;YACE,QAAQ,EAAE;gBACR,QAAQ;gBACR,YAAY;aACb;SACF,CACF,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IAClC,MAAM,CAAS;IAE/B,YAAmB,MAAc;QAC/B,KAAK,CAAC,uCAAuC,MAAM,IAAI,EAAE;YACvD,QAAQ,EAAE;gBACR,MAAM;aACP;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAc,EACd,KAAK,GAAW,SAAS;IAEzB,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEvE,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE;QAC/B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACjD,QAAQ,EAAE,EAAE,KAAK,EAAE;KACpB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime lifecycle events.
|
|
3
|
+
*/
|
|
4
|
+
export { createRuntimeEventPayload, createModuleEventPayload, createFailureEventPayload, createHealthEventPayload, createReadinessEventPayload, } from "./runtimeEvents.core.js";
|
|
5
|
+
export type { RuntimeEventType, RuntimeEventPayload, RuntimeModuleEventPayload, RuntimeFailureEventPayload, RuntimeHealthEventPayload, RuntimeReadinessEventPayload, RuntimeEventMap, } from "./runtimeEvents.type.js";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtimeEvents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,eAAe,GAChB,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtimeEvents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { RuntimeEventPayload, RuntimeModuleEventPayload, RuntimeFailureEventPayload, RuntimeHealthEventPayload, RuntimeReadinessEventPayload } from "./runtimeEvents.type.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a base runtime event payload.
|
|
4
|
+
*/
|
|
5
|
+
export declare function createRuntimeEventPayload(runtimeId: string, state: string): RuntimeEventPayload;
|
|
6
|
+
/**
|
|
7
|
+
* Creates a module-specific runtime event payload.
|
|
8
|
+
*/
|
|
9
|
+
export declare function createModuleEventPayload(runtimeId: string, state: string, moduleId: string, moduleName: string, options?: {
|
|
10
|
+
readonly durationMs?: number;
|
|
11
|
+
readonly error?: Error;
|
|
12
|
+
}): RuntimeModuleEventPayload;
|
|
13
|
+
/**
|
|
14
|
+
* Creates a runtime failure event payload.
|
|
15
|
+
*/
|
|
16
|
+
export declare function createFailureEventPayload(runtimeId: string, state: string, error: Error, phase: string, failedModuleId?: string): RuntimeFailureEventPayload;
|
|
17
|
+
/**
|
|
18
|
+
* Creates a runtime health change event payload.
|
|
19
|
+
*/
|
|
20
|
+
export declare function createHealthEventPayload(runtimeId: string, state: string, previousState: string, currentState: string, checks?: ReadonlyArray<{
|
|
21
|
+
readonly name: string;
|
|
22
|
+
readonly healthy: boolean;
|
|
23
|
+
}>): RuntimeHealthEventPayload;
|
|
24
|
+
/**
|
|
25
|
+
* Creates a runtime readiness change event payload.
|
|
26
|
+
*/
|
|
27
|
+
export declare function createReadinessEventPayload(runtimeId: string, state: string, ready: boolean, reason?: string): RuntimeReadinessEventPayload;
|
|
28
|
+
//# sourceMappingURL=runtimeEvents.core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeEvents.core.d.ts","sourceRoot":"","sources":["../../src/runtimeEvents/runtimeEvents.core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAE7B,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,mBAAmB,CAMrB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IACP,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACnB,GACL,yBAAyB,CAU3B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,MAAM,GACtB,0BAA0B,CAS5B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,CAAC,GACD,yBAAyB,CAS3B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,MAAM,GACd,4BAA4B,CAQ9B"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a base runtime event payload.
|
|
3
|
+
*/
|
|
4
|
+
export function createRuntimeEventPayload(runtimeId, state) {
|
|
5
|
+
return Object.freeze({
|
|
6
|
+
runtimeId,
|
|
7
|
+
state,
|
|
8
|
+
timestamp: new Date(),
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Creates a module-specific runtime event payload.
|
|
13
|
+
*/
|
|
14
|
+
export function createModuleEventPayload(runtimeId, state, moduleId, moduleName, options = {}) {
|
|
15
|
+
return Object.freeze({
|
|
16
|
+
runtimeId,
|
|
17
|
+
state,
|
|
18
|
+
timestamp: new Date(),
|
|
19
|
+
moduleId,
|
|
20
|
+
moduleName,
|
|
21
|
+
...(options.durationMs !== undefined && { durationMs: options.durationMs }),
|
|
22
|
+
...(options.error !== undefined && { error: options.error }),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Creates a runtime failure event payload.
|
|
27
|
+
*/
|
|
28
|
+
export function createFailureEventPayload(runtimeId, state, error, phase, failedModuleId) {
|
|
29
|
+
return Object.freeze({
|
|
30
|
+
runtimeId,
|
|
31
|
+
state,
|
|
32
|
+
timestamp: new Date(),
|
|
33
|
+
error,
|
|
34
|
+
phase,
|
|
35
|
+
...(failedModuleId !== undefined && { failedModuleId }),
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Creates a runtime health change event payload.
|
|
40
|
+
*/
|
|
41
|
+
export function createHealthEventPayload(runtimeId, state, previousState, currentState, checks) {
|
|
42
|
+
return Object.freeze({
|
|
43
|
+
runtimeId,
|
|
44
|
+
state,
|
|
45
|
+
timestamp: new Date(),
|
|
46
|
+
previousState,
|
|
47
|
+
currentState,
|
|
48
|
+
...(checks !== undefined && { checks }),
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Creates a runtime readiness change event payload.
|
|
53
|
+
*/
|
|
54
|
+
export function createReadinessEventPayload(runtimeId, state, ready, reason) {
|
|
55
|
+
return Object.freeze({
|
|
56
|
+
runtimeId,
|
|
57
|
+
state,
|
|
58
|
+
timestamp: new Date(),
|
|
59
|
+
ready,
|
|
60
|
+
...(reason !== undefined && { reason }),
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=runtimeEvents.core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeEvents.core.js","sourceRoot":"","sources":["../../src/runtimeEvents/runtimeEvents.core.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,SAAiB,EACjB,KAAa;IAEb,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS;QACT,KAAK;QACL,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,SAAiB,EACjB,KAAa,EACb,QAAgB,EAChB,UAAkB,EAClB,OAAO,GAGH,EAAE;IAEN,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS;QACT,KAAK;QACL,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,QAAQ;QACR,UAAU;QACV,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3E,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;KAC7D,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,SAAiB,EACjB,KAAa,EACb,KAAY,EACZ,KAAa,EACb,cAAuB;IAEvB,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS;QACT,KAAK;QACL,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,KAAK;QACL,KAAK;QACL,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,CAAC;KACxD,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,SAAiB,EACjB,KAAa,EACb,aAAqB,EACrB,YAAoB,EACpB,MAGE;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS;QACT,KAAK;QACL,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,aAAa;QACb,YAAY;QACZ,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;KACxC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAAiB,EACjB,KAAa,EACb,KAAc,EACd,MAAe;IAEf,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS;QACT,KAAK;QACL,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,KAAK;QACL,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;KACxC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime lifecycle events.
|
|
3
|
+
*
|
|
4
|
+
* These events are emitted through the EventBus when
|
|
5
|
+
* the runtime transitions through its lifecycle.
|
|
6
|
+
*/
|
|
7
|
+
export type RuntimeEventType = "runtime.created" | "runtime.initializing" | "runtime.initialized" | "runtime.starting" | "runtime.running" | "runtime.stopping" | "runtime.stopped" | "runtime.failed" | "runtime.module.initializing" | "runtime.module.initialized" | "runtime.module.starting" | "runtime.module.started" | "runtime.module.stopping" | "runtime.module.stopped" | "runtime.module.failed" | "runtime.shutdown.drain" | "runtime.shutdown.complete" | "runtime.health.changed" | "runtime.readiness.changed";
|
|
8
|
+
/**
|
|
9
|
+
* Base payload for all runtime events.
|
|
10
|
+
*/
|
|
11
|
+
export interface RuntimeEventPayload {
|
|
12
|
+
readonly runtimeId: string;
|
|
13
|
+
readonly timestamp: Date;
|
|
14
|
+
readonly state: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Payload for module-specific runtime events.
|
|
18
|
+
*/
|
|
19
|
+
export interface RuntimeModuleEventPayload extends RuntimeEventPayload {
|
|
20
|
+
readonly moduleId: string;
|
|
21
|
+
readonly moduleName: string;
|
|
22
|
+
readonly durationMs?: number;
|
|
23
|
+
readonly error?: Error;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Payload for runtime failure events.
|
|
27
|
+
*/
|
|
28
|
+
export interface RuntimeFailureEventPayload extends RuntimeEventPayload {
|
|
29
|
+
readonly error: Error;
|
|
30
|
+
readonly phase: string;
|
|
31
|
+
readonly failedModuleId?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Payload for runtime health change events.
|
|
35
|
+
*/
|
|
36
|
+
export interface RuntimeHealthEventPayload extends RuntimeEventPayload {
|
|
37
|
+
readonly previousState: string;
|
|
38
|
+
readonly currentState: string;
|
|
39
|
+
readonly checks?: ReadonlyArray<{
|
|
40
|
+
readonly name: string;
|
|
41
|
+
readonly healthy: boolean;
|
|
42
|
+
}>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Payload for runtime readiness change events.
|
|
46
|
+
*/
|
|
47
|
+
export interface RuntimeReadinessEventPayload extends RuntimeEventPayload {
|
|
48
|
+
readonly ready: boolean;
|
|
49
|
+
readonly reason?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Maps event types to their payload types.
|
|
53
|
+
*/
|
|
54
|
+
export interface RuntimeEventMap {
|
|
55
|
+
"runtime.created": RuntimeEventPayload;
|
|
56
|
+
"runtime.initializing": RuntimeEventPayload;
|
|
57
|
+
"runtime.initialized": RuntimeEventPayload;
|
|
58
|
+
"runtime.starting": RuntimeEventPayload;
|
|
59
|
+
"runtime.running": RuntimeEventPayload;
|
|
60
|
+
"runtime.stopping": RuntimeEventPayload;
|
|
61
|
+
"runtime.stopped": RuntimeEventPayload;
|
|
62
|
+
"runtime.failed": RuntimeFailureEventPayload;
|
|
63
|
+
"runtime.module.initializing": RuntimeModuleEventPayload;
|
|
64
|
+
"runtime.module.initialized": RuntimeModuleEventPayload;
|
|
65
|
+
"runtime.module.starting": RuntimeModuleEventPayload;
|
|
66
|
+
"runtime.module.started": RuntimeModuleEventPayload;
|
|
67
|
+
"runtime.module.stopping": RuntimeModuleEventPayload;
|
|
68
|
+
"runtime.module.stopped": RuntimeModuleEventPayload;
|
|
69
|
+
"runtime.module.failed": RuntimeModuleEventPayload;
|
|
70
|
+
"runtime.shutdown.drain": RuntimeEventPayload;
|
|
71
|
+
"runtime.shutdown.complete": RuntimeEventPayload;
|
|
72
|
+
"runtime.health.changed": RuntimeHealthEventPayload;
|
|
73
|
+
"runtime.readiness.changed": RuntimeReadinessEventPayload;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=runtimeEvents.type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeEvents.type.d.ts","sourceRoot":"","sources":["../../src/runtimeEvents/runtimeEvents.type.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GACxB,iBAAiB,GACjB,sBAAsB,GACtB,qBAAqB,GACrB,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,6BAA6B,GAC7B,4BAA4B,GAC5B,yBAAyB,GACzB,wBAAwB,GACxB,yBAAyB,GACzB,wBAAwB,GACxB,uBAAuB,GACvB,wBAAwB,GACxB,2BAA2B,GAC3B,wBAAwB,GACxB,2BAA2B,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;QAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;KAC3B,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,sBAAsB,EAAE,mBAAmB,CAAC;IAC5C,qBAAqB,EAAE,mBAAmB,CAAC;IAC3C,kBAAkB,EAAE,mBAAmB,CAAC;IACxC,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,kBAAkB,EAAE,mBAAmB,CAAC;IACxC,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,6BAA6B,EAAE,yBAAyB,CAAC;IACzD,4BAA4B,EAAE,yBAAyB,CAAC;IACxD,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,wBAAwB,EAAE,yBAAyB,CAAC;IACpD,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,wBAAwB,EAAE,yBAAyB,CAAC;IACpD,uBAAuB,EAAE,yBAAyB,CAAC;IACnD,wBAAwB,EAAE,mBAAmB,CAAC;IAC9C,2BAA2B,EAAE,mBAAmB,CAAC;IACjD,wBAAwB,EAAE,yBAAyB,CAAC;IACpD,2BAA2B,EAAE,4BAA4B,CAAC;CAC3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeEvents.type.js","sourceRoot":"","sources":["../../src/runtimeEvents/runtimeEvents.type.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime configuration options.
|
|
3
|
+
*/
|
|
4
|
+
export { resolveRuntimeOptions, validateRuntimeOptions, createRuntimeOptions, } from "./runtimeOptions.core.js";
|
|
5
|
+
export { DEFAULT_RUNTIME_OPTIONS } from "./runtimeOptions.type.js";
|
|
6
|
+
export type { RuntimeOptions, ResolvedRuntimeOptions, } from "./runtimeOptions.type.js";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtimeOptions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,YAAY,EACV,cAAc,EACd,sBAAsB,GACvB,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtimeOptions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ResolvedRuntimeOptions } from "./runtimeOptions.type.js";
|
|
2
|
+
/**
|
|
3
|
+
* Resolves runtime options with defaults applied.
|
|
4
|
+
*/
|
|
5
|
+
export declare function resolveRuntimeOptions(options: ResolvedRuntimeOptions): ResolvedRuntimeOptions;
|
|
6
|
+
/**
|
|
7
|
+
* Validates runtime options.
|
|
8
|
+
*/
|
|
9
|
+
export declare function validateRuntimeOptions(options: ResolvedRuntimeOptions): void;
|
|
10
|
+
/**
|
|
11
|
+
* Creates a runtime options object with all defaults applied.
|
|
12
|
+
*/
|
|
13
|
+
export declare function createRuntimeOptions(options: ResolvedRuntimeOptions): ResolvedRuntimeOptions;
|
|
14
|
+
//# sourceMappingURL=runtimeOptions.core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeOptions.core.d.ts","sourceRoot":"","sources":["../../src/runtimeOptions/runtimeOptions.core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAQvE;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,sBAAsB,GAC9B,sBAAsB,CAKxB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAgB5E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,sBAAsB,GAC9B,sBAAsB,CAIxB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { DEFAULT_RUNTIME_OPTIONS } from "./runtimeOptions.type.js";
|
|
2
|
+
import { createRuntimeId } from "../runtimeContext/runtimeContext.factory.js";
|
|
3
|
+
/**
|
|
4
|
+
* Resolves runtime options with defaults applied.
|
|
5
|
+
*/
|
|
6
|
+
export function resolveRuntimeOptions(options) {
|
|
7
|
+
return Object.freeze({
|
|
8
|
+
...DEFAULT_RUNTIME_OPTIONS,
|
|
9
|
+
...options,
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Validates runtime options.
|
|
14
|
+
*/
|
|
15
|
+
export function validateRuntimeOptions(options) {
|
|
16
|
+
if (!options.environment) {
|
|
17
|
+
throw new Error("Runtime environment is required.");
|
|
18
|
+
}
|
|
19
|
+
if (!options.applicationName) {
|
|
20
|
+
throw new Error("Application name is required.");
|
|
21
|
+
}
|
|
22
|
+
if (options.shutdownTimeout <= 0) {
|
|
23
|
+
throw new Error("Shutdown timeout must be positive.");
|
|
24
|
+
}
|
|
25
|
+
if (options.startupTimeout <= 0) {
|
|
26
|
+
throw new Error("Startup timeout must be positive.");
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Creates a runtime options object with all defaults applied.
|
|
31
|
+
*/
|
|
32
|
+
export function createRuntimeOptions(options) {
|
|
33
|
+
const resolved = resolveRuntimeOptions(options);
|
|
34
|
+
validateRuntimeOptions(resolved);
|
|
35
|
+
return resolved;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=runtimeOptions.core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeOptions.core.js","sourceRoot":"","sources":["../../src/runtimeOptions/runtimeOptions.core.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAInE,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAE9E;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAA+B;IAE/B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,uBAAuB;QAC1B,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAA+B;IACpE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAA+B;IAE/B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAChD,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { Environment } from "@zudojs/constants";
|
|
2
|
+
import type { RuntimeId } from "../runtimeState/runtimeState.type.js";
|
|
3
|
+
/**
|
|
4
|
+
* Runtime configuration options.
|
|
5
|
+
*/
|
|
6
|
+
export interface RuntimeOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Runtime identifier.
|
|
9
|
+
* Auto-generated if not provided.
|
|
10
|
+
*/
|
|
11
|
+
readonly runtimeId?: RuntimeId;
|
|
12
|
+
/**
|
|
13
|
+
* Application environment.
|
|
14
|
+
*/
|
|
15
|
+
readonly environment: Environment;
|
|
16
|
+
/**
|
|
17
|
+
* Application name.
|
|
18
|
+
*/
|
|
19
|
+
readonly applicationName: string;
|
|
20
|
+
/**
|
|
21
|
+
* Application version.
|
|
22
|
+
*/
|
|
23
|
+
readonly applicationVersion?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Whether to handle process signals (SIGTERM, SIGINT).
|
|
26
|
+
* @default true
|
|
27
|
+
*/
|
|
28
|
+
readonly handleSignals?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Whether to handle fatal errors (uncaughtException, unhandledRejection).
|
|
31
|
+
* @default true
|
|
32
|
+
*/
|
|
33
|
+
readonly handleFatalErrors?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Graceful shutdown timeout in milliseconds.
|
|
36
|
+
* @default 30000
|
|
37
|
+
*/
|
|
38
|
+
readonly shutdownTimeout?: number;
|
|
39
|
+
/**
|
|
40
|
+
* Startup timeout in milliseconds.
|
|
41
|
+
* @default 60000
|
|
42
|
+
*/
|
|
43
|
+
readonly startupTimeout?: number;
|
|
44
|
+
/**
|
|
45
|
+
* Whether to enable runtime events.
|
|
46
|
+
* @default true
|
|
47
|
+
*/
|
|
48
|
+
readonly emitEvents?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Whether to enable readiness tracking.
|
|
51
|
+
* @default true
|
|
52
|
+
*/
|
|
53
|
+
readonly trackReadiness?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Whether to enable health tracking.
|
|
56
|
+
* @default true
|
|
57
|
+
*/
|
|
58
|
+
readonly trackHealth?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Additional runtime metadata.
|
|
61
|
+
*/
|
|
62
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Resolved runtime options with defaults applied.
|
|
66
|
+
*/
|
|
67
|
+
export interface ResolvedRuntimeOptions {
|
|
68
|
+
readonly runtimeId: RuntimeId;
|
|
69
|
+
readonly environment: Environment;
|
|
70
|
+
readonly applicationName: string;
|
|
71
|
+
readonly applicationVersion: string;
|
|
72
|
+
readonly handleSignals: boolean;
|
|
73
|
+
readonly handleFatalErrors: boolean;
|
|
74
|
+
readonly shutdownTimeout: number;
|
|
75
|
+
readonly startupTimeout: number;
|
|
76
|
+
readonly emitEvents: boolean;
|
|
77
|
+
readonly trackReadiness: boolean;
|
|
78
|
+
readonly trackHealth: boolean;
|
|
79
|
+
readonly metadata: Readonly<Record<string, unknown>>;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Default runtime options.
|
|
83
|
+
*/
|
|
84
|
+
export declare const DEFAULT_RUNTIME_OPTIONS: Readonly<{
|
|
85
|
+
readonly handleSignals: true;
|
|
86
|
+
readonly handleFatalErrors: true;
|
|
87
|
+
readonly shutdownTimeout: 30000;
|
|
88
|
+
readonly startupTimeout: 60000;
|
|
89
|
+
readonly emitEvents: true;
|
|
90
|
+
readonly trackReadiness: true;
|
|
91
|
+
readonly trackHealth: true;
|
|
92
|
+
readonly applicationVersion: "0.1.0";
|
|
93
|
+
}>;
|
|
94
|
+
//# sourceMappingURL=runtimeOptions.type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeOptions.type.d.ts","sourceRoot":"","sources":["../../src/runtimeOptions/runtimeOptions.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAItE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAErC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAErC;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACtD;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;8BAGjB,KAAM;6BACP,KAAM;;;;iCAIF,OAAO;EAClB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default runtime options.
|
|
3
|
+
*/
|
|
4
|
+
export const DEFAULT_RUNTIME_OPTIONS = Object.freeze({
|
|
5
|
+
handleSignals: true,
|
|
6
|
+
handleFatalErrors: true,
|
|
7
|
+
shutdownTimeout: 30_000,
|
|
8
|
+
startupTimeout: 60_000,
|
|
9
|
+
emitEvents: true,
|
|
10
|
+
trackReadiness: true,
|
|
11
|
+
trackHealth: true,
|
|
12
|
+
applicationVersion: "0.1.0",
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=runtimeOptions.type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeOptions.type.js","sourceRoot":"","sources":["../../src/runtimeOptions/runtimeOptions.type.ts"],"names":[],"mappings":"AAiGA;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC;IACnD,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE,MAAM;IACvB,cAAc,EAAE,MAAM;IACtB,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,IAAI;IACjB,kBAAkB,EAAE,OAAO;CACnB,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime state types and state machine.
|
|
3
|
+
*/
|
|
4
|
+
export { RUNTIME_STATE_TRANSITIONS, TERMINAL_STATES, STARTABLE_STATES, STOPPABLE_STATES, canTransition, assertTransition, isTerminalState, canStart, canStop, isRunning, hasFailed, createStatus, } from "./runtimeState.core.js";
|
|
5
|
+
export type { RuntimeState, RuntimeFailureState, RuntimeStateFull, RuntimeId, RuntimeStatus, RuntimeStateTransition, RuntimeStateTransitions, RuntimeHealthState, RuntimeHealth, RuntimeHealthCheck, } from "./runtimeState.type.js";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtimeState/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,OAAO,EACP,SAAS,EACT,SAAS,EACT,YAAY,GACb,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,GACnB,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime state types and state machine.
|
|
3
|
+
*/
|
|
4
|
+
export { RUNTIME_STATE_TRANSITIONS, TERMINAL_STATES, STARTABLE_STATES, STOPPABLE_STATES, canTransition, assertTransition, isTerminalState, canStart, canStop, isRunning, hasFailed, createStatus, } from "./runtimeState.core.js";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtimeState/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,OAAO,EACP,SAAS,EACT,SAAS,EACT,YAAY,GACb,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { RuntimeState, RuntimeStatus } from "./runtimeState.type.js";
|
|
2
|
+
/**
|
|
3
|
+
* Defines valid runtime state transitions.
|
|
4
|
+
*/
|
|
5
|
+
export declare const RUNTIME_STATE_TRANSITIONS: Readonly<Record<RuntimeState, readonly RuntimeState[]>>;
|
|
6
|
+
/**
|
|
7
|
+
* Terminal runtime states.
|
|
8
|
+
*/
|
|
9
|
+
export declare const TERMINAL_STATES: readonly RuntimeState[];
|
|
10
|
+
/**
|
|
11
|
+
* Runtime states from which startup is allowed.
|
|
12
|
+
*/
|
|
13
|
+
export declare const STARTABLE_STATES: readonly RuntimeState[];
|
|
14
|
+
/**
|
|
15
|
+
* Runtime states from which shutdown is allowed.
|
|
16
|
+
*/
|
|
17
|
+
export declare const STOPPABLE_STATES: readonly RuntimeState[];
|
|
18
|
+
/**
|
|
19
|
+
* Checks whether a state transition is valid.
|
|
20
|
+
*/
|
|
21
|
+
export declare function canTransition(from: RuntimeState, to: RuntimeState): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Asserts that a state transition is valid.
|
|
24
|
+
*/
|
|
25
|
+
export declare function assertTransition(from: RuntimeState, to: RuntimeState): void;
|
|
26
|
+
/**
|
|
27
|
+
* Returns whether the runtime is in a terminal state.
|
|
28
|
+
*/
|
|
29
|
+
export declare function isTerminalState(state: RuntimeState): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Returns whether the runtime can start.
|
|
32
|
+
*/
|
|
33
|
+
export declare function canStart(state: RuntimeState): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Returns whether the runtime can stop.
|
|
36
|
+
*/
|
|
37
|
+
export declare function canStop(state: RuntimeState): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Returns whether the runtime is currently running.
|
|
40
|
+
*/
|
|
41
|
+
export declare function isRunning(state: RuntimeState): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Returns whether the runtime has failed.
|
|
44
|
+
*/
|
|
45
|
+
export declare function hasFailed(state: RuntimeState): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Creates a runtime status snapshot.
|
|
48
|
+
*/
|
|
49
|
+
export declare function createStatus(state: RuntimeState): RuntimeStatus;
|
|
50
|
+
//# sourceMappingURL=runtimeState.core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeState.core.d.ts","sourceRoot":"","sources":["../../src/runtimeState/runtimeState.core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAC9C,MAAM,CAAC,YAAY,EAAE,SAAS,YAAY,EAAE,CAAC,CAU7C,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAGjD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,YAAY,EAElD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,YAAY,EAElD,CAAC;AAEH;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,GAAG,OAAO,CAG3E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,CAM3E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAE5D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAEpD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAM/D"}
|