dev-cockpit 0.3.1 → 0.3.2
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/commands/dev.d.ts.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/core/config.d.ts +20 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/health/auto-checks.d.ts +21 -0
- package/dist/health/auto-checks.d.ts.map +1 -0
- package/dist/health/predicates/composer-drift.d.ts +31 -0
- package/dist/health/predicates/composer-drift.d.ts.map +1 -0
- package/dist/health/predicates/docker-ps.d.ts +37 -0
- package/dist/health/predicates/docker-ps.d.ts.map +1 -0
- package/dist/health/predicates/docker-unhealthy.d.ts +41 -0
- package/dist/health/predicates/docker-unhealthy.d.ts.map +1 -0
- package/dist/health/predicates/node-modules-drift.d.ts +26 -0
- package/dist/health/predicates/node-modules-drift.d.ts.map +1 -0
- package/dist/health/registry.d.ts +7 -0
- package/dist/health/registry.d.ts.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1025 -731
- package/dist/index.js.map +4 -4
- package/examples/cockpit.schema.json +16 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,OAAO,EAA6C,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,OAAO,EAA6C,MAAM,kBAAkB,CAAC;AAqB3F,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,UAAU,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2V5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAMhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAQD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,MAAM,GACd;IACD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;CACjB,CAoBA;AAED,wBAAsB,aAAa,CAAC,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4ClF"}
|
package/dist/core/config.d.ts
CHANGED
|
@@ -253,6 +253,20 @@ export declare const BaseCockpitConfigSchema: z.ZodObject<{
|
|
|
253
253
|
manifestFile?: string | undefined;
|
|
254
254
|
service?: string | undefined;
|
|
255
255
|
}>>>;
|
|
256
|
+
composer: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
257
|
+
/**
|
|
258
|
+
* Workspace-relative directories that contain a `composer.lock`. The
|
|
259
|
+
* auto-registered `composer-drift` health check scans each entry for
|
|
260
|
+
* lock-vs-vendor mtime drift. Default: `['.']` (root only). Wrappers with
|
|
261
|
+
* nested PHP roots (Bedrock-style `project/`, monorepos, etc.) list each
|
|
262
|
+
* scope explicitly. `'.'` and `''` both resolve to workspaceRoot.
|
|
263
|
+
*/
|
|
264
|
+
packageDirs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
265
|
+
}, "strip", z.ZodTypeAny, {
|
|
266
|
+
packageDirs: string[];
|
|
267
|
+
}, {
|
|
268
|
+
packageDirs?: string[] | undefined;
|
|
269
|
+
}>>>;
|
|
256
270
|
/** Which pane the cockpit lands on when it boots. Profile may override. */
|
|
257
271
|
defaultPane: z.ZodDefault<z.ZodOptional<z.ZodEnum<["repos", "output", "health", "help"]>>>;
|
|
258
272
|
/** Named keystroke-bound shell commands surfaced via the `:` palette. */
|
|
@@ -368,6 +382,9 @@ export declare const BaseCockpitConfigSchema: z.ZodObject<{
|
|
|
368
382
|
overlayPath?: string | undefined;
|
|
369
383
|
service?: string | undefined;
|
|
370
384
|
};
|
|
385
|
+
composer: {
|
|
386
|
+
packageDirs: string[];
|
|
387
|
+
};
|
|
371
388
|
defaultPane: "repos" | "health" | "help" | "output";
|
|
372
389
|
actions: {
|
|
373
390
|
id: string;
|
|
@@ -462,6 +479,9 @@ export declare const BaseCockpitConfigSchema: z.ZodObject<{
|
|
|
462
479
|
manifestFile?: string | undefined;
|
|
463
480
|
service?: string | undefined;
|
|
464
481
|
} | undefined;
|
|
482
|
+
composer?: {
|
|
483
|
+
packageDirs?: string[] | undefined;
|
|
484
|
+
} | undefined;
|
|
465
485
|
defaultPane?: "repos" | "health" | "help" | "output" | undefined;
|
|
466
486
|
actions?: {
|
|
467
487
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,mFAAmF;AACnF,eAAO,MAAM,cAAc,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,mFAAmF;AACnF,eAAO,MAAM,cAAc,IAAI,CAAC;AAsJhC,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAhBlC;;;;;;WAMG;;QAEH,iDAAiD;;QAEjD,gEAAgE;;;;;;;;;;;;QArBhE;;;;;;WAMG;;;;;;;IAwCH,2EAA2E;;IAE3E,yEAAyE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEzE;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAIxE,qBAAa,kBAAmB,SAAQ,KAAK;aAEzB,QAAQ,EAAE,MAAM;aAChB,KAAK,EAAE,OAAO;aACd,SAAS,EAAE,MAAM;gBAFjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM;CAOpC;AAED,qBAAa,qBAAsB,SAAQ,KAAK;aAE5B,QAAQ,EAAE,MAAM;aAChB,KAAK,EAAE,OAAO;gBADd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO;CAKjC;AAID,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC7C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,iBAAsB,GAAG,iBAAiB,CA0C5F"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-registered health checks.
|
|
3
|
+
*
|
|
4
|
+
* Built from a (config, profile, workspaceRoot) triple at boot. Each check
|
|
5
|
+
* here is skipped when:
|
|
6
|
+
* - The triggering condition isn't met (e.g. no `docker` block in config), OR
|
|
7
|
+
* - The user already has a matching `id` in `config.health[]` (config wins).
|
|
8
|
+
*
|
|
9
|
+
* Profiles never need to register these manually — adding the relevant
|
|
10
|
+
* config/profile field is enough.
|
|
11
|
+
*/
|
|
12
|
+
import type { BaseCockpitConfig } from '../core/config.js';
|
|
13
|
+
import type { Profile } from '../core/types.js';
|
|
14
|
+
import type { HealthCheck } from './types.js';
|
|
15
|
+
export interface BuildAutoChecksOptions {
|
|
16
|
+
config: BaseCockpitConfig;
|
|
17
|
+
profile?: Profile;
|
|
18
|
+
workspaceRoot: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function buildAutoChecks(opts: BuildAutoChecksOptions): HealthCheck[];
|
|
21
|
+
//# sourceMappingURL=auto-checks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-checks.d.ts","sourceRoot":"","sources":["../../src/health/auto-checks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAW9C,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,WAAW,EAAE,CAsC3E"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* composer-drift check.
|
|
3
|
+
*
|
|
4
|
+
* Fails when `composer.lock` mtime > `vendor/` mtime in any of the configured
|
|
5
|
+
* package directories — a stale `vendor/` means dependencies may be out of
|
|
6
|
+
* sync and `composer install` is needed.
|
|
7
|
+
*
|
|
8
|
+
* Auto-registered when at least one configured `packageDirs` entry has a
|
|
9
|
+
* `composer.lock` (see `auto-checks.ts`); also exposed as a factory for
|
|
10
|
+
* explicit registration with custom scopes / remediation.
|
|
11
|
+
*/
|
|
12
|
+
import type { HealthCheck, HealthContext } from '../types.js';
|
|
13
|
+
import type { HealthStatus } from '../../core/types.js';
|
|
14
|
+
export interface CheckComposerDriftOptions {
|
|
15
|
+
/**
|
|
16
|
+
* Workspace-relative package directories to scan. Each entry's `composer.lock`
|
|
17
|
+
* is compared against the sibling `vendor/`. Empty string and `.` both mean
|
|
18
|
+
* workspaceRoot. Defaults to `['.']`.
|
|
19
|
+
*/
|
|
20
|
+
packageDirs?: string[];
|
|
21
|
+
}
|
|
22
|
+
export declare function checkComposerDrift(ctx: HealthContext, opts?: CheckComposerDriftOptions): Promise<HealthStatus>;
|
|
23
|
+
export interface CreateComposerDriftCheckOptions extends CheckComposerDriftOptions {
|
|
24
|
+
id?: string;
|
|
25
|
+
label?: string;
|
|
26
|
+
triggers?: HealthCheck['triggers'];
|
|
27
|
+
severity?: HealthCheck['severity'];
|
|
28
|
+
remediation?: HealthCheck['remediation'];
|
|
29
|
+
}
|
|
30
|
+
export declare function createComposerDriftCheck(opts?: CreateComposerDriftCheckOptions): HealthCheck;
|
|
31
|
+
//# sourceMappingURL=composer-drift.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composer-drift.d.ts","sourceRoot":"","sources":["../../../src/health/predicates/composer-drift.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAoBD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,aAAa,EAClB,IAAI,GAAE,yBAA8B,GACnC,OAAO,CAAC,YAAY,CAAC,CA0CvB;AAeD,MAAM,WAAW,+BAAgC,SAAQ,yBAAyB;IAChF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;CAC1C;AAED,wBAAgB,wBAAwB,CACtC,IAAI,GAAE,+BAAoC,GACzC,WAAW,CAiBb"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Docker compose status helper.
|
|
3
|
+
*
|
|
4
|
+
* Runs `docker compose ps --format json` as a one-shot capture and parses
|
|
5
|
+
* the result. Uses `child_process.execFile` (not the streaming `spawnStream`)
|
|
6
|
+
* because each row of the JSON output can be tens of KB of labels —
|
|
7
|
+
* `spawnStream`'s per-chunk `\n`-split has no tail buffer, so a single line
|
|
8
|
+
* may split across `'data'` events and corrupt the NDJSON parse. One-shot
|
|
9
|
+
* capture sidesteps that entirely.
|
|
10
|
+
*/
|
|
11
|
+
export interface DockerServiceStatus {
|
|
12
|
+
Name: string;
|
|
13
|
+
Service: string;
|
|
14
|
+
State: string;
|
|
15
|
+
Health: string;
|
|
16
|
+
Status: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Runs `docker compose ps --format json` in the given directory.
|
|
20
|
+
* Returns parsed service entries, or an empty array if docker is not available
|
|
21
|
+
* or the command fails.
|
|
22
|
+
*
|
|
23
|
+
* @param cwd - Working directory (typically workspaceRoot). `docker compose`
|
|
24
|
+
* auto-loads `.env` from cwd and matches the running project label, so
|
|
25
|
+
* passing `-f composeFile` is unnecessary for the typical bind-mount-driven
|
|
26
|
+
* wrapper layout.
|
|
27
|
+
*/
|
|
28
|
+
export declare function getDockerServiceStatuses(cwd: string): Promise<DockerServiceStatus[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Parses the stdout of `docker compose ps --format json`.
|
|
31
|
+
*
|
|
32
|
+
* Compose emits a single JSON array on some versions and newline-delimited
|
|
33
|
+
* JSON (one object per line) on others. We try array form first and fall
|
|
34
|
+
* back to NDJSON explicitly.
|
|
35
|
+
*/
|
|
36
|
+
export declare function parseDockerPsOutput(stdout: string): DockerServiceStatus[];
|
|
37
|
+
//# sourceMappingURL=docker-ps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker-ps.d.ts","sourceRoot":"","sources":["../../../src/health/predicates/docker-ps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAa1F;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAkBzE"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* docker-unhealthy check.
|
|
3
|
+
*
|
|
4
|
+
* Fails when any monitored compose service is exited/stopped or reports
|
|
5
|
+
* `unhealthy`. Auto-registered when `config.docker` is non-empty (see
|
|
6
|
+
* `auto-checks.ts`); also exposed as a factory so profiles can register
|
|
7
|
+
* their own variants with custom remediation.
|
|
8
|
+
*/
|
|
9
|
+
import type { HealthCheck, HealthContext } from '../types.js';
|
|
10
|
+
import type { HealthStatus } from '../../core/types.js';
|
|
11
|
+
import { type DockerServiceStatus } from './docker-ps.js';
|
|
12
|
+
/** Injectable runner for tests — defaults to `getDockerServiceStatuses`. */
|
|
13
|
+
export type DockerPsRunner = (cwd: string) => Promise<DockerServiceStatus[]>;
|
|
14
|
+
export interface CheckDockerUnhealthyOptions {
|
|
15
|
+
/** Service names to monitor (lowercased compose `Service` field). */
|
|
16
|
+
monitored: Set<string>;
|
|
17
|
+
/** Override the subprocess runner — used by tests. */
|
|
18
|
+
runDockerPs?: DockerPsRunner;
|
|
19
|
+
}
|
|
20
|
+
export declare function checkDockerUnhealthy(ctx: HealthContext, opts: CheckDockerUnhealthyOptions): Promise<HealthStatus>;
|
|
21
|
+
export interface CreateDockerUnhealthyCheckOptions {
|
|
22
|
+
/** Compose service names to treat as critical. Falls back to `['web','db','redis']` when empty. */
|
|
23
|
+
monitored: Iterable<string>;
|
|
24
|
+
/** Override check id (default: `docker-unhealthy`). */
|
|
25
|
+
id?: string;
|
|
26
|
+
/** Override label (default: `Docker services`). */
|
|
27
|
+
label?: string;
|
|
28
|
+
/** Triggers (default: `['startup', 'docker']`). */
|
|
29
|
+
triggers?: HealthCheck['triggers'];
|
|
30
|
+
/** Severity escalation (default: `error`). */
|
|
31
|
+
severity?: HealthCheck['severity'];
|
|
32
|
+
/** Remediation override (default: `docker compose up -d`). */
|
|
33
|
+
remediation?: HealthCheck['remediation'];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Build a HealthCheck wrapping {@link checkDockerUnhealthy}. Profiles can
|
|
37
|
+
* call this directly to inject custom remediation or service set; the
|
|
38
|
+
* auto-checks builder uses it with sensible defaults.
|
|
39
|
+
*/
|
|
40
|
+
export declare function createDockerUnhealthyCheck(opts: CreateDockerUnhealthyCheckOptions): HealthCheck;
|
|
41
|
+
//# sourceMappingURL=docker-unhealthy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker-unhealthy.d.ts","sourceRoot":"","sources":["../../../src/health/predicates/docker-unhealthy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,gBAAgB,CAAC;AAExB,4EAA4E;AAC5E,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAE7E,MAAM,WAAW,2BAA2B;IAC1C,qEAAqE;IACrE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,sDAAsD;IACtD,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,2BAA2B,GAChC,OAAO,CAAC,YAAY,CAAC,CA6BvB;AAeD,MAAM,WAAW,iCAAiC;IAChD,mGAAmG;IACnG,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5B,uDAAuD;IACvD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,QAAQ,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IACnC,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IACnC,8DAA8D;IAC9D,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;CAC1C;AAID;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,iCAAiC,GACtC,WAAW,CAkBb"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* node-modules-drift check.
|
|
3
|
+
*
|
|
4
|
+
* Fails when a lockfile (`package-lock.json` or `yarn.lock`) is newer than
|
|
5
|
+
* `node_modules/`, or when `node_modules/` is missing while a lockfile is
|
|
6
|
+
* present. Auto-registered when a lockfile exists at workspaceRoot (see
|
|
7
|
+
* `auto-checks.ts`); also exposed as a factory for explicit registration.
|
|
8
|
+
*/
|
|
9
|
+
import type { HealthCheck, HealthContext } from '../types.js';
|
|
10
|
+
import type { HealthStatus } from '../../core/types.js';
|
|
11
|
+
export interface CheckNodeModulesDriftOptions {
|
|
12
|
+
/** Lockfile basenames to scan for, in priority order. */
|
|
13
|
+
lockfiles?: string[];
|
|
14
|
+
/** Subdirectory holding the package.json + node_modules (default: workspaceRoot). */
|
|
15
|
+
packageDir?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function checkNodeModulesDrift(ctx: HealthContext, opts?: CheckNodeModulesDriftOptions): Promise<HealthStatus>;
|
|
18
|
+
export interface CreateNodeModulesDriftCheckOptions extends CheckNodeModulesDriftOptions {
|
|
19
|
+
id?: string;
|
|
20
|
+
label?: string;
|
|
21
|
+
triggers?: HealthCheck['triggers'];
|
|
22
|
+
severity?: HealthCheck['severity'];
|
|
23
|
+
remediation?: HealthCheck['remediation'];
|
|
24
|
+
}
|
|
25
|
+
export declare function createNodeModulesDriftCheck(opts?: CreateNodeModulesDriftCheckOptions): HealthCheck;
|
|
26
|
+
//# sourceMappingURL=node-modules-drift.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-modules-drift.d.ts","sourceRoot":"","sources":["../../../src/health/predicates/node-modules-drift.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,WAAW,4BAA4B;IAC3C,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,aAAa,EAClB,IAAI,GAAE,4BAAiC,GACtC,OAAO,CAAC,YAAY,CAAC,CA4CvB;AAeD,MAAM,WAAW,kCACf,SAAQ,4BAA4B;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;CAC1C;AAED,wBAAgB,2BAA2B,CACzC,IAAI,GAAE,kCAAuC,GAC5C,WAAW,CAab"}
|
|
@@ -4,11 +4,18 @@ export interface BuildHealthRegistryOptions {
|
|
|
4
4
|
profileChecks?: HealthCheck[];
|
|
5
5
|
/** Config-driven entries from cockpit.yaml `health[]`. */
|
|
6
6
|
configEntries?: HealthCheckConfig[];
|
|
7
|
+
/**
|
|
8
|
+
* Auto-generated checks (e.g. docker-unhealthy when `docker` is in config).
|
|
9
|
+
* Lowest precedence — both config entries and profile checks with the
|
|
10
|
+
* same `id` win over auto-checks.
|
|
11
|
+
*/
|
|
12
|
+
autoChecks?: HealthCheck[];
|
|
7
13
|
}
|
|
8
14
|
/**
|
|
9
15
|
* Resolves the final ordered list of HealthCheck definitions:
|
|
10
16
|
* 1. Built-in factory entries from cockpit.yaml are materialised first.
|
|
11
17
|
* 2. Profile-contributed checks come next.
|
|
18
|
+
* 3. Auto-generated checks fill in any remaining defaults.
|
|
12
19
|
*
|
|
13
20
|
* Collisions are detected on either `id` or `type` (where applicable):
|
|
14
21
|
* - If a profile check declares a built-in `type`, it is rejected (built-ins win).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/health/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAoB,MAAM,YAAY,CAAC;AAUnF,MAAM,WAAW,0BAA0B;IACzC,0DAA0D;IAC1D,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;IAC9B,0DAA0D;IAC1D,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/health/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAoB,MAAM,YAAY,CAAC;AAUnF,MAAM,WAAW,0BAA0B;IACzC,0DAA0D;IAC1D,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;IAC9B,0DAA0D;IAC1D,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACpC;;;;OAIG;IACH,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,0BAA+B,GAAG,WAAW,EAAE,CAwDxF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -41,6 +41,11 @@ export { buildHealthContext } from './health/context.js';
|
|
|
41
41
|
export { runRemediation, findRemediation, dispatchRemediation, type RemediationKey, } from './health/remediations.js';
|
|
42
42
|
export { BUILTIN_CHECK_FACTORIES, BUILTIN_DEFAULT_TRIGGERS, BUILTIN_DEFAULT_SEVERITY, } from './health/builtin.js';
|
|
43
43
|
export { buildHealthRegistry, type BuildHealthRegistryOptions } from './health/registry.js';
|
|
44
|
+
export { buildAutoChecks, type BuildAutoChecksOptions } from './health/auto-checks.js';
|
|
45
|
+
export { parseDockerPsOutput, getDockerServiceStatuses, type DockerServiceStatus, } from './health/predicates/docker-ps.js';
|
|
46
|
+
export { checkDockerUnhealthy, createDockerUnhealthyCheck, type CheckDockerUnhealthyOptions, type CreateDockerUnhealthyCheckOptions, type DockerPsRunner, } from './health/predicates/docker-unhealthy.js';
|
|
47
|
+
export { checkNodeModulesDrift, createNodeModulesDriftCheck, type CheckNodeModulesDriftOptions, type CreateNodeModulesDriftCheckOptions, } from './health/predicates/node-modules-drift.js';
|
|
48
|
+
export { checkComposerDrift, createComposerDriftCheck, type CheckComposerDriftOptions, type CreateComposerDriftCheckOptions, } from './health/predicates/composer-drift.js';
|
|
44
49
|
export { resolveNotify } from './health/notify-resolver.js';
|
|
45
50
|
export { useHealth, type UseHealthOptions, type UseHealthHandle, type FsEventSource, } from './health/useHealth.js';
|
|
46
51
|
export { runCockpit, type RunCockpitOptions, type RunCockpitHandle } from './runCockpit.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|