@bett3r-dev/pv3-types 1.0.0 → 1.11.0
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/CHANGELOG.md +305 -0
- package/build/adminPlugin.d.ts +24 -0
- package/build/adminPlugin.d.ts.map +1 -0
- package/build/{eventsourcing/utils.js → adminPlugin.js} +1 -1
- package/build/adminPlugin.js.map +1 -0
- package/build/aggregateSchema.d.ts +94 -0
- package/build/aggregateSchema.d.ts.map +1 -0
- package/build/aggregateSchema.js +287 -0
- package/build/aggregateSchema.js.map +1 -0
- package/build/authentication.d.ts +179 -78
- package/build/authentication.d.ts.map +1 -1
- package/build/authentication.js +62 -19
- package/build/authentication.js.map +1 -1
- package/build/cache.d.ts +50 -4
- package/build/cache.d.ts.map +1 -1
- package/build/clusterAdministration.d.ts +712 -225
- package/build/clusterAdministration.d.ts.map +1 -1
- package/build/clusterAdministration.js +175 -52
- package/build/clusterAdministration.js.map +1 -1
- package/build/configuration.d.ts +26 -5
- package/build/configuration.d.ts.map +1 -1
- package/build/database.d.ts +240 -56
- package/build/database.d.ts.map +1 -1
- package/build/database.js +102 -20
- package/build/database.js.map +1 -1
- package/build/endpoints.d.ts +141 -41
- package/build/endpoints.d.ts.map +1 -1
- package/build/endpoints.js +50 -26
- package/build/endpoints.js.map +1 -1
- package/build/errors.d.ts +166 -0
- package/build/errors.d.ts.map +1 -0
- package/build/errors.js +276 -0
- package/build/errors.js.map +1 -0
- package/build/evenstore.d.ts +47 -7
- package/build/evenstore.d.ts.map +1 -1
- package/build/eventsourcing/aggregateBuilder.d.ts +17 -8
- package/build/eventsourcing/aggregateBuilder.d.ts.map +1 -1
- package/build/eventsourcing/commandBuilder.d.ts +20 -13
- package/build/eventsourcing/commandBuilder.d.ts.map +1 -1
- package/build/eventsourcing/commandHandlers.d.ts +155 -33
- package/build/eventsourcing/commandHandlers.d.ts.map +1 -1
- package/build/eventsourcing/commandHandlers.js +62 -14
- package/build/eventsourcing/commandHandlers.js.map +1 -1
- package/build/eventsourcing/eventHandlers.d.ts +173 -44
- package/build/eventsourcing/eventHandlers.d.ts.map +1 -1
- package/build/eventsourcing/eventHandlers.js +29 -21
- package/build/eventsourcing/eventHandlers.js.map +1 -1
- package/build/eventsourcing/eventHandlersBuilder.d.ts +18 -12
- package/build/eventsourcing/eventHandlersBuilder.d.ts.map +1 -1
- package/build/eventsourcing/eventHandlersBuilder.js.map +1 -1
- package/build/eventsourcing/eventsourcing.types.d.ts +322 -0
- package/build/eventsourcing/eventsourcing.types.d.ts.map +1 -0
- package/build/eventsourcing/eventsourcing.types.js +26 -0
- package/build/eventsourcing/eventsourcing.types.js.map +1 -0
- package/build/eventsourcing/externalSystemBuilder.d.ts +8 -7
- package/build/eventsourcing/externalSystemBuilder.d.ts.map +1 -1
- package/build/eventsourcing/index.d.ts +2 -378
- package/build/eventsourcing/index.d.ts.map +1 -1
- package/build/eventsourcing/index.js +2 -23
- package/build/eventsourcing/index.js.map +1 -1
- package/build/eventsourcing/invariants.d.ts +34 -10
- package/build/eventsourcing/invariants.d.ts.map +1 -1
- package/build/eventsourcing/shapeChangeForSubscriber.d.ts +33 -0
- package/build/eventsourcing/shapeChangeForSubscriber.d.ts.map +1 -0
- package/build/eventsourcing/shapeChangeForSubscriber.js +47 -0
- package/build/eventsourcing/shapeChangeForSubscriber.js.map +1 -0
- package/build/index.d.ts +6 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +6 -1
- package/build/index.js.map +1 -1
- package/build/infrastructure.d.ts +9 -1
- package/build/infrastructure.d.ts.map +1 -1
- package/build/infrastructure.js +33 -1
- package/build/infrastructure.js.map +1 -1
- package/build/livenessWatchdog.d.ts +28 -0
- package/build/livenessWatchdog.d.ts.map +1 -0
- package/build/livenessWatchdog.js +43 -0
- package/build/livenessWatchdog.js.map +1 -0
- package/build/logger.d.ts +8 -9
- package/build/logger.d.ts.map +1 -1
- package/build/logger.js +18 -6
- package/build/logger.js.map +1 -1
- package/build/outboxManager.d.ts +858 -14
- package/build/outboxManager.d.ts.map +1 -1
- package/build/outboxManager.js +173 -15
- package/build/outboxManager.js.map +1 -1
- package/build/permissions.d.ts +47 -0
- package/build/permissions.d.ts.map +1 -0
- package/build/permissions.js +3 -0
- package/build/permissions.js.map +1 -0
- package/build/ports.d.ts +10 -10
- package/build/ports.d.ts.map +1 -1
- package/build/routesAuth.d.ts +17 -25
- package/build/routesAuth.d.ts.map +1 -1
- package/build/routesAuth.js +4 -14
- package/build/routesAuth.js.map +1 -1
- package/build/typedEventEmitter.d.ts +7 -13
- package/build/typedEventEmitter.d.ts.map +1 -1
- package/build/typedEventEmitter.js +2 -2
- package/build/typedEventEmitter.js.map +1 -1
- package/build/userSession.d.ts +8 -0
- package/build/userSession.d.ts.map +1 -0
- package/build/userSession.js +3 -0
- package/build/userSession.js.map +1 -0
- package/package.json +22 -7
- package/build/eventsourcing/utils.d.ts +0 -4
- package/build/eventsourcing/utils.d.ts.map +0 -1
- package/build/eventsourcing/utils.js.map +0 -1
- package/build/validation.d.ts +0 -64
- package/build/validation.d.ts.map +0 -1
- package/build/validation.js +0 -57
- package/build/validation.js.map +0 -1
- package/src/authentication.ts +0 -273
- package/src/cache.ts +0 -109
- package/src/clusterAdministration.ts +0 -216
- package/src/configuration.ts +0 -71
- package/src/database.ts +0 -157
- package/src/endpoints.ts +0 -198
- package/src/evenstore.ts +0 -27
- package/src/eventsourcing/aggregateBuilder.ts +0 -11
- package/src/eventsourcing/commandBuilder.ts +0 -64
- package/src/eventsourcing/commandHandlers.ts +0 -137
- package/src/eventsourcing/eventHandlers.ts +0 -118
- package/src/eventsourcing/eventHandlersBuilder.ts +0 -42
- package/src/eventsourcing/externalSystemBuilder.ts +0 -20
- package/src/eventsourcing/index.ts +0 -111
- package/src/eventsourcing/invariants.ts +0 -27
- package/src/eventsourcing/utils.ts +0 -4
- package/src/index.ts +0 -15
- package/src/infrastructure.ts +0 -41
- package/src/logger.ts +0 -45
- package/src/outboxManager.ts +0 -36
- package/src/ports.ts +0 -42
- package/src/routesAuth.ts +0 -58
- package/src/typedEventEmitter.ts +0 -73
- package/src/validation.ts +0 -89
- package/tsconfig.json +0 -15
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { OpenAPIV3_1 } from 'openapi-types';
|
|
2
|
-
import { StructureServiceType } from './clusterAdministration';
|
|
2
|
+
import { StructureServiceType, StructureState } from './clusterAdministration';
|
|
3
3
|
import { AdapterBase } from './ports';
|
|
4
4
|
export declare const InfrastructureConfigSchema: import("@bett3r-dev/jsonschema-definer").ObjectSchema<{
|
|
5
|
+
adapter?: "docker" | "kubernetes" | undefined;
|
|
6
|
+
kubernetes?: {
|
|
7
|
+
namespace?: string | undefined;
|
|
8
|
+
labelSelector?: string | undefined;
|
|
9
|
+
} | undefined;
|
|
5
10
|
infrastructureLeaderRandomBackoff?: number | undefined;
|
|
11
|
+
infrastructureReconcileIntervalMs?: number | undefined;
|
|
6
12
|
}, true>;
|
|
7
13
|
export type InfrastructureConfigType = typeof InfrastructureConfigSchema.type;
|
|
8
14
|
export type EnvironmentServiceType = {
|
|
@@ -10,6 +16,7 @@ export type EnvironmentServiceType = {
|
|
|
10
16
|
service: string;
|
|
11
17
|
openApiEndpoint?: string;
|
|
12
18
|
instances: {
|
|
19
|
+
id: string;
|
|
13
20
|
host: string;
|
|
14
21
|
timeRunning: number;
|
|
15
22
|
}[];
|
|
@@ -33,6 +40,7 @@ export type InfrastructureAdapterType = AdapterBase & {
|
|
|
33
40
|
reloadLoadBalancer: () => Promise<void>;
|
|
34
41
|
};
|
|
35
42
|
export type InfrastructurePortType = InfrastructureAdapterType & {
|
|
43
|
+
getStructureState: () => StructureState;
|
|
36
44
|
getServicesOpenApiDocumentation: () => Record<string, OpenAPIV3_1.Document>;
|
|
37
45
|
getThisServiceInfo: () => InfrastructureThisServiceType;
|
|
38
46
|
start: InfrastructureAdapterType['start'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infrastructure.d.ts","sourceRoot":"","sources":["../src/infrastructure.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/
|
|
1
|
+
{"version":3,"file":"infrastructure.d.ts","sourceRoot":"","sources":["../src/infrastructure.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,eAAO,MAAM,0BAA0B;;;;;;;;QAkCrC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,OAAO,0BAA0B,CAAC,IAAI,CAAC;AAE9E,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/D,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,GAAG;IAC5E,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnD,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,6BAA6B,GAAG,yBAAyB,GAAG;IACtE,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,WAAW,GAAG;IACpD,WAAW,EAAE,MAAM,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAGrD,YAAY,EAAE,CAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,8BAA8B,EAAE,CAAE,QAAQ,EAAE,CAAE,KAAK,EAAE,SAAS,GAAG,QAAQ,EAAE,OAAO,EAAE,sBAAsB,KAAM,IAAI,KAAM,IAAI,CAAC;IAC/H,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,yBAAyB,GAAG;IAC/D,iBAAiB,EAAE,MAAM,cAAc,CAAC;IACxC,+BAA+B,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5E,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;IACxD,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC;CAC3C,CAAC"}
|
package/build/infrastructure.js
CHANGED
|
@@ -6,6 +6,38 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.InfrastructureConfigSchema = void 0;
|
|
7
7
|
const jsonschema_definer_1 = __importDefault(require("@bett3r-dev/jsonschema-definer"));
|
|
8
8
|
exports.InfrastructureConfigSchema = jsonschema_definer_1.default.shape({
|
|
9
|
-
|
|
9
|
+
// WHICH infrastructure adapter the composition root loads. Selected by config and
|
|
10
|
+
// nowhere else — no env-var sniffing at the composition root — and the two adapter
|
|
11
|
+
// packages are `await import()`ed on opposite sides of the branch so the unused
|
|
12
|
+
// heavyweight client (`dockerode` / `@kubernetes/client-node`) never loads.
|
|
13
|
+
//
|
|
14
|
+
// ⚠️ This key MUST be declared here even though only the consuming application reads
|
|
15
|
+
// it. `S.shape` closes `additionalProperties`, so an undeclared key is not ignored —
|
|
16
|
+
// the configuration port THROWS at construction, which is boot-fatal for every
|
|
17
|
+
// process and, because nothing compiles YAML, is caught by no gate.
|
|
18
|
+
adapter: jsonschema_definer_1.default.string().enum('docker', 'kubernetes')
|
|
19
|
+
.default('docker')
|
|
20
|
+
.optional(),
|
|
21
|
+
// Settings for the kubernetes adapter; ignored when `adapter` is `docker`. Mirrors
|
|
22
|
+
// `KubernetesInfrastructureConfig` in `@bett3r-dev/pv3-adapter-infrastructure-kubernetes`
|
|
23
|
+
// — keep the two in step, since this schema is what validates the YAML and that type is
|
|
24
|
+
// what consumes it.
|
|
25
|
+
kubernetes: jsonschema_definer_1.default.shape({
|
|
26
|
+
// Unset, the adapter's namespace resolver reads the projected serviceaccount
|
|
27
|
+
// `namespace` file and silently falls back to `default`.
|
|
28
|
+
namespace: jsonschema_definer_1.default.string().optional(),
|
|
29
|
+
labelSelector: jsonschema_definer_1.default.string().optional()
|
|
30
|
+
}).optional(),
|
|
31
|
+
infrastructureLeaderRandomBackoff: jsonschema_definer_1.default.number().default(1000)
|
|
32
|
+
.optional(),
|
|
33
|
+
// Periodic membership-reconcile cadence (ms). The docker-event reconcile is edge-triggered and can
|
|
34
|
+
// miss a `die` (or predate a late-booting node that never saw it); this interval re-runs the same
|
|
35
|
+
// observed-death sweep (structure hosts absent from live getServices → removeHosts) so a
|
|
36
|
+
// self-fenced / healthchecked / crashed node is RELIABLY removed. 0 disables the periodic sweep.
|
|
37
|
+
infrastructureReconcileIntervalMs: jsonschema_definer_1.default.number().default(15000)
|
|
38
|
+
.optional()
|
|
39
|
+
// Which infrastructure adapter this process talks to. `S.shape()` compiles to
|
|
40
|
+
// `additionalProperties: false` and the config loader validates this block, so every yaml key
|
|
41
|
+
// below MUST have an entry here or boot fails with VALIDATION_ERROR.
|
|
10
42
|
});
|
|
11
43
|
//# sourceMappingURL=infrastructure.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infrastructure.js","sourceRoot":"","sources":["../src/infrastructure.ts"],"names":[],"mappings":";;;;;;AAAA,wFAA+C;AAKlC,QAAA,0BAA0B,GAAG,4BAAC,CAAC,KAAK,CAAC;IAChD,iCAAiC,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAE,IAAI,CAAE,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"infrastructure.js","sourceRoot":"","sources":["../src/infrastructure.ts"],"names":[],"mappings":";;;;;;AAAA,wFAA+C;AAKlC,QAAA,0BAA0B,GAAG,4BAAC,CAAC,KAAK,CAAC;IAChD,kFAAkF;IAClF,mFAAmF;IACnF,gFAAgF;IAChF,4EAA4E;IAC5E,EAAE;IACF,qFAAqF;IACrF,qFAAqF;IACrF,+EAA+E;IAC/E,oEAAoE;IACpE,OAAO,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAE,QAAQ,EAAE,YAAY,CAAE;SACnD,OAAO,CAAE,QAAQ,CAAE;SACf,QAAQ,EAAE;IACb,mFAAmF;IACnF,0FAA0F;IAC1F,wFAAwF;IACxF,oBAAoB;IACpB,UAAU,EAAE,4BAAC,CAAC,KAAK,CAAC;QAClB,6EAA6E;QAC7E,yDAAyD;QACzD,SAAS,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,aAAa,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACrC,CAAC,CAAC,QAAQ,EAAE;IACb,iCAAiC,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAE,IAAI,CAAE;SAC1D,QAAQ,EAAE;IACb,mGAAmG;IACnG,kGAAkG;IAClG,yFAAyF;IACzF,iGAAiG;IACjG,iCAAiC,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAE,KAAK,CAAE;SAC3D,QAAQ,EAAE;IACb,8EAA8E;IAC9E,8FAA8F;IAC9F,qEAAqE;CACtE,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { LoggerType } from './logger';
|
|
2
|
+
export type LivenessWatchdogOptions = {
|
|
3
|
+
/** The probe-less role this watchdog speaks for — it is the only name the restart log carries. */
|
|
4
|
+
role: string;
|
|
5
|
+
/** Consecutive failures tolerated before the process is exited. */
|
|
6
|
+
threshold: number;
|
|
7
|
+
logger: LoggerType;
|
|
8
|
+
/** Injected so tests never really exit. */
|
|
9
|
+
exit?: (code: number) => void;
|
|
10
|
+
};
|
|
11
|
+
export type LivenessWatchdogType = {
|
|
12
|
+
recordFailure: (error?: unknown) => void;
|
|
13
|
+
recordSuccess: () => void;
|
|
14
|
+
getConsecutiveFailures: () => number;
|
|
15
|
+
hasFired: () => boolean;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* A probe-less role (the infrastructure reconcile loop, the wal-reader's slot watchdog) keeps its
|
|
19
|
+
* container `1/1 Running` while doing nothing at all — nothing observes it, so nothing restarts it.
|
|
20
|
+
* This counter is the substitute: N CONSECUTIVE failures produce a structured log naming the role
|
|
21
|
+
* and the streak, then an exit the kubelet turns into a restart. Successes reset the streak, so an
|
|
22
|
+
* intermittent failure never accumulates into a kill; and it fires exactly ONCE, because every
|
|
23
|
+
* failure after the exit call arrives while the process is already tearing down.
|
|
24
|
+
*
|
|
25
|
+
* It owns no timers: callers drive it.
|
|
26
|
+
*/
|
|
27
|
+
export declare const createLivenessWatchdog: ({ role, threshold, logger, exit }: LivenessWatchdogOptions) => LivenessWatchdogType;
|
|
28
|
+
//# sourceMappingURL=livenessWatchdog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"livenessWatchdog.d.ts","sourceRoot":"","sources":["../src/livenessWatchdog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,MAAM,uBAAuB,GAAG;IACpC,kGAAkG;IAClG,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,CAAE,IAAI,EAAE,MAAM,KAAM,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,CAAE,KAAK,CAAC,EAAE,OAAO,KAAM,IAAI,CAAC;IAC3C,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,sBAAsB,EAAE,MAAM,MAAM,CAAC;IACrC,QAAQ,EAAE,MAAM,OAAO,CAAC;CACzB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,sCAAkF,uBAAuB,KAAI,oBAyB/I,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createLivenessWatchdog = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* A probe-less role (the infrastructure reconcile loop, the wal-reader's slot watchdog) keeps its
|
|
6
|
+
* container `1/1 Running` while doing nothing at all — nothing observes it, so nothing restarts it.
|
|
7
|
+
* This counter is the substitute: N CONSECUTIVE failures produce a structured log naming the role
|
|
8
|
+
* and the streak, then an exit the kubelet turns into a restart. Successes reset the streak, so an
|
|
9
|
+
* intermittent failure never accumulates into a kill; and it fires exactly ONCE, because every
|
|
10
|
+
* failure after the exit call arrives while the process is already tearing down.
|
|
11
|
+
*
|
|
12
|
+
* It owns no timers: callers drive it.
|
|
13
|
+
*/
|
|
14
|
+
const createLivenessWatchdog = ({ role, threshold, logger, exit = (code) => process.exit(code) }) => {
|
|
15
|
+
let consecutiveFailures = 0;
|
|
16
|
+
let fired = false;
|
|
17
|
+
return {
|
|
18
|
+
recordFailure: (error) => {
|
|
19
|
+
if (fired)
|
|
20
|
+
return;
|
|
21
|
+
consecutiveFailures++;
|
|
22
|
+
if (consecutiveFailures < threshold)
|
|
23
|
+
return;
|
|
24
|
+
fired = true;
|
|
25
|
+
logger.error(`[liveness-watchdog] role "${role}" failed ${consecutiveFailures} consecutive times (threshold ${threshold}); exiting so the orchestrator restarts it`, {
|
|
26
|
+
role,
|
|
27
|
+
consecutiveFailures,
|
|
28
|
+
threshold,
|
|
29
|
+
error: error instanceof Error ? error.message : error
|
|
30
|
+
});
|
|
31
|
+
exit(1);
|
|
32
|
+
},
|
|
33
|
+
recordSuccess: () => {
|
|
34
|
+
if (fired)
|
|
35
|
+
return;
|
|
36
|
+
consecutiveFailures = 0;
|
|
37
|
+
},
|
|
38
|
+
getConsecutiveFailures: () => consecutiveFailures,
|
|
39
|
+
hasFired: () => fired
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
exports.createLivenessWatchdog = createLivenessWatchdog;
|
|
43
|
+
//# sourceMappingURL=livenessWatchdog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"livenessWatchdog.js","sourceRoot":"","sources":["../src/livenessWatchdog.ts"],"names":[],"mappings":";;;AAmBA;;;;;;;;;GASG;AACI,MAAM,sBAAsB,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,GAAG,CAAE,IAAY,EAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAE,IAAI,CAAE,EAA2B,EAAyB,EAAE;IACrK,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,KAAK,GAAG,KAAK,CAAC;IAElB,OAAO;QACL,aAAa,EAAE,CAAE,KAAe,EAAG,EAAE;YACnC,IAAK,KAAK;gBAAG,OAAO;YACpB,mBAAmB,EAAE,CAAC;YACtB,IAAK,mBAAmB,GAAG,SAAS;gBAAG,OAAO;YAC9C,KAAK,GAAG,IAAI,CAAC;YACb,MAAM,CAAC,KAAK,CAAE,6BAA6B,IAAI,YAAY,mBAAmB,iCAAiC,SAAS,4CAA4C,EAAE;gBACpK,IAAI;gBACJ,mBAAmB;gBACnB,SAAS;gBACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;aACtD,CAAC,CAAC;YACH,IAAI,CAAE,CAAC,CAAE,CAAC;QACZ,CAAC;QACD,aAAa,EAAE,GAAG,EAAE;YAClB,IAAK,KAAK;gBAAG,OAAO;YACpB,mBAAmB,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,sBAAsB,EAAE,GAAG,EAAE,CAAC,mBAAmB;QACjD,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC,CAAC;AAzBW,QAAA,sBAAsB,GAAtB,sBAAsB,CAyBjC"}
|
package/build/logger.d.ts
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { AdapterBase } from './ports';
|
|
2
|
+
/** `off` silences a module entirely; it is a config value only, never an emitted level. */
|
|
3
|
+
export declare const LoggerConfigLevelSchema: import("@bett3r-dev/jsonschema-definer").BaseSchema<"debug" | "error" | "info" | "log" | "off" | "silly" | "warn", true, Readonly<import("@bett3r-dev/jsonschema-definer/dist/base").BaseJsonSchema>>;
|
|
4
|
+
export type LoggerConfigLevel = typeof LoggerConfigLevelSchema.type;
|
|
2
5
|
export declare const LoggerConfigSchema: import("@bett3r-dev/jsonschema-definer").ObjectSchema<{
|
|
3
|
-
logLevel?: "
|
|
6
|
+
logLevel?: "debug" | "error" | "info" | "log" | "off" | "silly" | "warn" | undefined;
|
|
7
|
+
moduleLevels?: {
|
|
8
|
+
[x: string]: "debug" | "error" | "info" | "log" | "off" | "silly" | "warn";
|
|
9
|
+
} | undefined;
|
|
4
10
|
modulesWhitelist?: string[] | undefined;
|
|
5
11
|
modulesBlacklist?: string[] | undefined;
|
|
6
12
|
}, false>;
|
|
7
13
|
export type LoggerConfig = typeof LoggerConfigSchema.type;
|
|
8
14
|
export type LogLevels = 'silly' | 'debug' | 'log' | 'info' | 'warn' | 'error';
|
|
9
|
-
export declare const LogLevelMap:
|
|
10
|
-
error: number;
|
|
11
|
-
warn: number;
|
|
12
|
-
info: number;
|
|
13
|
-
log: number;
|
|
14
|
-
debug: number;
|
|
15
|
-
silly: number;
|
|
16
|
-
};
|
|
15
|
+
export declare const LogLevelMap: Record<LoggerConfigLevel, number>;
|
|
17
16
|
export declare const LevelLogMap: Record<number, LogLevels>;
|
|
18
17
|
export type LoggerAdapter = AdapterBase & {
|
|
19
18
|
log: (originalArgs: any[], level: LogLevels, module: string) => void;
|
package/build/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,2FAA2F;AAC3F,eAAO,MAAM,uBAAuB,uMAA6E,CAAC;AAClH,MAAM,MAAM,iBAAiB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAC;AAEpE,eAAO,MAAM,kBAAkB;;;;;;;SAalB,CAAC;AACd,MAAM,MAAM,YAAY,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAC;AAE1D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE9E,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAQzD,CAAC;AACF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAOjD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IACxC,GAAG,EAAE,CAAE,YAAY,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAG,MAAM,EAAE,MAAM,KAAM,IAAI,CAAA;CACxE,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,oBAAoB,EAAE,CAAE,MAAM,EAAE,MAAM,KAAM,UAAU,CAAA;CACvD,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAG,IAAI,CAAA;IAC9B,KAAK,EAAE,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAG,IAAI,CAAA;IAC9B,GAAG,EAAE,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAG,IAAI,CAAA;IAC5B,IAAI,EAAE,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAG,IAAI,CAAA;IAC7B,IAAI,EAAE,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAG,IAAI,CAAA;IAC7B,KAAK,EAAE,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAG,IAAI,CAAA;CAC/B,CAAC"}
|
package/build/logger.js
CHANGED
|
@@ -3,20 +3,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.LevelLogMap = exports.LogLevelMap = exports.LoggerConfigSchema = void 0;
|
|
6
|
+
exports.LevelLogMap = exports.LogLevelMap = exports.LoggerConfigSchema = exports.LoggerConfigLevelSchema = void 0;
|
|
7
7
|
const jsonschema_definer_1 = __importDefault(require("@bett3r-dev/jsonschema-definer"));
|
|
8
|
+
/** `off` silences a module entirely; it is a config value only, never an emitted level. */
|
|
9
|
+
exports.LoggerConfigLevelSchema = jsonschema_definer_1.default.string().enum('silly', 'debug', 'log', 'info', 'warn', 'error', 'off');
|
|
8
10
|
exports.LoggerConfigSchema = jsonschema_definer_1.default.shape({
|
|
9
|
-
logLevel:
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
logLevel: exports.LoggerConfigLevelSchema
|
|
12
|
+
.optional(),
|
|
13
|
+
/**
|
|
14
|
+
* Per-module level override, keyed by the exact name passed to `createLoggerInstance`.
|
|
15
|
+
* Modules not listed use `logLevel`. Black/whitelist filtering still applies first.
|
|
16
|
+
*/
|
|
17
|
+
moduleLevels: jsonschema_definer_1.default.shape({}).additionalProperties(exports.LoggerConfigLevelSchema)
|
|
18
|
+
.optional(),
|
|
19
|
+
modulesWhitelist: jsonschema_definer_1.default.array().items(jsonschema_definer_1.default.string())
|
|
20
|
+
.optional(),
|
|
21
|
+
modulesBlacklist: jsonschema_definer_1.default.array().items(jsonschema_definer_1.default.string())
|
|
22
|
+
.optional()
|
|
12
23
|
}).optional();
|
|
13
24
|
exports.LogLevelMap = {
|
|
25
|
+
off: -1,
|
|
14
26
|
error: 0,
|
|
15
27
|
warn: 1,
|
|
16
28
|
info: 2,
|
|
17
29
|
log: 3,
|
|
18
30
|
debug: 4,
|
|
19
|
-
silly: 5
|
|
31
|
+
silly: 5
|
|
20
32
|
};
|
|
21
33
|
exports.LevelLogMap = {
|
|
22
34
|
0: 'error',
|
|
@@ -24,6 +36,6 @@ exports.LevelLogMap = {
|
|
|
24
36
|
2: 'info',
|
|
25
37
|
3: 'log',
|
|
26
38
|
4: 'debug',
|
|
27
|
-
5: 'silly'
|
|
39
|
+
5: 'silly'
|
|
28
40
|
};
|
|
29
41
|
//# sourceMappingURL=logger.js.map
|
package/build/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,wFAA+C;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,wFAA+C;AAG/C,2FAA2F;AAC9E,QAAA,uBAAuB,GAAG,4BAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAE,CAAC;AAGrG,QAAA,kBAAkB,GAAG,4BAAC,CAAC,KAAK,CAAC;IACxC,QAAQ,EAAE,QAAA,uBAAuB;SAC9B,QAAQ,EAAE;IACb;;;OAGG;IACH,YAAY,EAAE,4BAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAE,QAAA,uBAAuB,CAAE;SACtE,QAAQ,EAAE;IACb,gBAAgB,EAAE,4BAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAE,4BAAC,CAAC,MAAM,EAAE,CAAC;SAC3C,QAAQ,EAAE;IACb,gBAAgB,EAAE,4BAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAE,4BAAC,CAAC,MAAM,EAAE,CAAC;SAC3C,QAAQ,EAAE;CACd,CAAC,CAAC,QAAQ,EAAE,CAAC;AAKD,QAAA,WAAW,GAAsC;IAC5D,GAAG,EAAE,CAAC,CAAC;IACP,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;CACT,CAAC;AACW,QAAA,WAAW,GAA8B;IACpD,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;CACX,CAAC"}
|