@gajae-gateway/cli 0.1.0 → 0.1.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/main.d.ts +38 -2
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +617 -66
- package/dist/restart-stack.d.ts +101 -0
- package/dist/restart-stack.d.ts.map +1 -0
- package/dist/services.d.ts +32 -1
- package/dist/services.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/main.ts +358 -51
- package/src/restart-stack.ts +361 -0
- package/src/services.ts +138 -15
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { type ServicePlatform } from "./services";
|
|
2
|
+
/**
|
|
3
|
+
* `gajaeway ops restart-stack` (issue #54).
|
|
4
|
+
*
|
|
5
|
+
* A persona turn that restarts the gateway is killed with it, so running the
|
|
6
|
+
* ordered restart inline stopped between the gateway and its adapters and left
|
|
7
|
+
* the adapters on the old binary while the caller reported success. The
|
|
8
|
+
* sequence therefore runs in a detached supervisor (its own session, so the
|
|
9
|
+
* caller's process group and the service manager's job kill do not reach it),
|
|
10
|
+
* verifies every service against its deployed binary, and records a receipt
|
|
11
|
+
* under `$GAJAEWAY_HOME` that the next turn reads with `--status`.
|
|
12
|
+
*/
|
|
13
|
+
export type RestartStepResult = "pending" | "ok" | "stale" | "failed" | "skipped";
|
|
14
|
+
export type RestartState = "queued" | "running" | "ok" | "stale" | "failed";
|
|
15
|
+
export interface RestartStep {
|
|
16
|
+
readonly label: string;
|
|
17
|
+
/** Absent on systemd, where the gateway unit's restart carries its dependents. */
|
|
18
|
+
command?: readonly string[];
|
|
19
|
+
exitStatus?: number;
|
|
20
|
+
result: RestartStepResult;
|
|
21
|
+
pid?: number;
|
|
22
|
+
processStartedAt?: string;
|
|
23
|
+
binary?: string;
|
|
24
|
+
binaryModifiedAt?: string;
|
|
25
|
+
detail?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface RestartReceipt {
|
|
28
|
+
readonly id: string;
|
|
29
|
+
state: RestartState;
|
|
30
|
+
readonly platform: ServicePlatform;
|
|
31
|
+
readonly requestedAt: string;
|
|
32
|
+
supervisorPid?: number;
|
|
33
|
+
finishedAt?: string;
|
|
34
|
+
readonly steps: RestartStep[];
|
|
35
|
+
}
|
|
36
|
+
/** A running service process as the service manager and `ps` report it. */
|
|
37
|
+
export interface ServiceProcess {
|
|
38
|
+
readonly pid: number;
|
|
39
|
+
/** Epoch ms; `ps` reports whole seconds. */
|
|
40
|
+
readonly startedAt: number;
|
|
41
|
+
readonly binary: string;
|
|
42
|
+
}
|
|
43
|
+
export type CommandRunner = (command: readonly string[]) => number | PromiseLike<number>;
|
|
44
|
+
export type ServiceProbe = (label: string) => Promise<ServiceProcess | undefined>;
|
|
45
|
+
export interface RunRestartOptions {
|
|
46
|
+
readonly home: string;
|
|
47
|
+
readonly id: string;
|
|
48
|
+
readonly platform?: ServicePlatform;
|
|
49
|
+
readonly uid?: number;
|
|
50
|
+
readonly runner?: CommandRunner;
|
|
51
|
+
readonly probe?: ServiceProbe;
|
|
52
|
+
/** Epoch ms modification time of a deployed binary. */
|
|
53
|
+
readonly binaryModifiedAt?: (path: string) => Promise<number>;
|
|
54
|
+
readonly now?: () => number;
|
|
55
|
+
readonly sleep?: (ms: number) => Promise<void>;
|
|
56
|
+
/** How long one service may take to come back verified; covers the gateway's ordered shutdown. */
|
|
57
|
+
readonly verifyTimeoutMs?: number;
|
|
58
|
+
readonly pollMs?: number;
|
|
59
|
+
}
|
|
60
|
+
export declare function restartReceiptPath(home: string): string;
|
|
61
|
+
export declare function readRestartReceipt(home: string): Promise<RestartReceipt | undefined>;
|
|
62
|
+
/** Reads the live pid from the service manager, then its start time and executable from `ps`. */
|
|
63
|
+
export declare function defaultServiceProbe(platform: ServicePlatform): ServiceProbe;
|
|
64
|
+
/**
|
|
65
|
+
* Runs the ordered restart, verifying each service before the next command,
|
|
66
|
+
* and persists the receipt after every transition. The first service that is
|
|
67
|
+
* stale or missing aborts the remainder.
|
|
68
|
+
*/
|
|
69
|
+
export declare function runRestartStack(options: RunRestartOptions): Promise<RestartReceipt>;
|
|
70
|
+
export interface LaunchRestartOptions {
|
|
71
|
+
readonly home: string;
|
|
72
|
+
readonly platform?: ServicePlatform;
|
|
73
|
+
readonly uid?: number;
|
|
74
|
+
/** Argv that re-enters the CLI; `--run <id>` is appended. */
|
|
75
|
+
readonly worker?: readonly string[];
|
|
76
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
77
|
+
}
|
|
78
|
+
/** The argv that runs this CLI again, whether compiled or run from source. */
|
|
79
|
+
export declare function cliCommand(): string[];
|
|
80
|
+
/**
|
|
81
|
+
* Queues a restart and hands it to a detached supervisor, returning as soon as
|
|
82
|
+
* the supervisor is spawned so the caller may be killed by the restart itself.
|
|
83
|
+
*/
|
|
84
|
+
export declare function launchRestartStack(options: LaunchRestartOptions): Promise<{
|
|
85
|
+
readonly receipt: RestartReceipt;
|
|
86
|
+
readonly supervisorPid: number;
|
|
87
|
+
}>;
|
|
88
|
+
/**
|
|
89
|
+
* A new session escapes the caller's process group, which is enough under
|
|
90
|
+
* launchd. Under systemd the caller usually lives in a service cgroup that the
|
|
91
|
+
* restart it requests may stop, so the supervisor is started as its own
|
|
92
|
+
* transient user unit instead.
|
|
93
|
+
*/
|
|
94
|
+
export declare function supervisorArgv(platform: ServicePlatform, worker: readonly string[], home: string, id: string): string[];
|
|
95
|
+
/**
|
|
96
|
+
* The receipt's state, except that an unfinished sequence whose supervisor is
|
|
97
|
+
* gone is reported as interrupted rather than left looking in progress.
|
|
98
|
+
*/
|
|
99
|
+
export declare function effectiveRestartState(receipt: RestartReceipt): RestartState | "interrupted";
|
|
100
|
+
export declare function renderRestartReceipt(receipt: RestartReceipt): string[];
|
|
101
|
+
//# sourceMappingURL=restart-stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restart-stack.d.ts","sourceRoot":"","sources":["../src/restart-stack.ts"],"names":[],"mappings":"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"}
|
package/dist/services.d.ts
CHANGED
|
@@ -13,13 +13,19 @@ export interface ResolvePathOptions {
|
|
|
13
13
|
/** Test seam for the `${SHELL} -lc` invocation used by the default path. */
|
|
14
14
|
readonly loginPathRunner?: LoginPathRunner;
|
|
15
15
|
}
|
|
16
|
+
/** Service managers this CLI can write definitions for. */
|
|
17
|
+
export type ServicePlatform = "darwin" | "linux";
|
|
16
18
|
export interface InstallServicesOptions {
|
|
17
19
|
readonly binDir: string;
|
|
18
20
|
readonly launchAgentsDir?: string;
|
|
21
|
+
/** systemd user-unit directory; defaults to ${XDG_CONFIG_HOME:-$HOME/.config}/systemd/user. */
|
|
22
|
+
readonly unitDir?: string;
|
|
23
|
+
/** Service manager to generate for; defaults to the running platform. */
|
|
24
|
+
readonly platform?: ServicePlatform;
|
|
19
25
|
readonly env?: NodeJS.ProcessEnv;
|
|
20
26
|
/** Test seam for the `${SHELL} -lc` invocation used by the default path. */
|
|
21
27
|
readonly loginPathRunner?: LoginPathRunner;
|
|
22
|
-
/** Test seam for counting or inspecting the
|
|
28
|
+
/** Test seam for counting or inspecting the definition writes. */
|
|
23
29
|
readonly writeFile?: PlistWriter;
|
|
24
30
|
}
|
|
25
31
|
interface ServiceSpec {
|
|
@@ -27,13 +33,38 @@ interface ServiceSpec {
|
|
|
27
33
|
readonly label: string;
|
|
28
34
|
readonly binary: string;
|
|
29
35
|
readonly args: readonly string[];
|
|
36
|
+
/**
|
|
37
|
+
* True for every process that holds a live connection to the gateway. A
|
|
38
|
+
* gateway restart leaves such a process attached to the previous generation:
|
|
39
|
+
* it neither dies nor loses messages, so no health check catches it, and the
|
|
40
|
+
* symptom is replies arriving one beat late (issue #251). The service
|
|
41
|
+
* definition, not an operator convention, has to restart it.
|
|
42
|
+
*/
|
|
43
|
+
readonly dependsOnGateway: boolean;
|
|
30
44
|
}
|
|
45
|
+
export declare const GATEWAY_UNIT = "gajaeway-gateway.service";
|
|
46
|
+
export declare function serviceSpecs(): readonly ServiceSpec[];
|
|
31
47
|
export declare function mergePathEntries(binDir: string, userHome: string, loginPath: string): string[];
|
|
32
48
|
export declare function defaultLoginPathRunner(command: readonly string[]): Promise<string>;
|
|
33
49
|
export declare function discoverLoginPath(env?: NodeJS.ProcessEnv, runner?: LoginPathRunner): Promise<string>;
|
|
34
50
|
export declare function resolvePath(options: ResolvePathOptions): Promise<string>;
|
|
35
51
|
export declare function escapeXml(value: string): string;
|
|
36
52
|
export declare function renderLaunchAgent(spec: ServiceSpec, binDir: string, home: string, path: string): string;
|
|
53
|
+
export declare function systemdUnitName(spec: ServiceSpec): string;
|
|
54
|
+
export declare function renderSystemdUnit(spec: ServiceSpec, binDir: string, home: string, path: string): string;
|
|
55
|
+
/**
|
|
56
|
+
* The ordered commands that realign the whole stack.
|
|
57
|
+
*
|
|
58
|
+
* systemd expresses the dependency itself, so one restart of the gateway unit
|
|
59
|
+
* is the entire operation. launchd has no BindsTo/PartOf equivalent and
|
|
60
|
+
* `WatchPaths` does not restart an already-running job, so the ordering is
|
|
61
|
+
* explicit here instead — and `bootout` never appears, because removing a job
|
|
62
|
+
* leaves it with no automatic recovery.
|
|
63
|
+
*/
|
|
64
|
+
export declare function restartStackCommands(platform: ServicePlatform, uid?: number): readonly (readonly string[])[];
|
|
65
|
+
/** The gateway first, then every job that holds a connection to it. */
|
|
66
|
+
export declare function restartOrder(): readonly ServiceSpec[];
|
|
67
|
+
export declare function currentPlatform(): ServicePlatform;
|
|
37
68
|
export declare function installServices(options: InstallServicesOptions): Promise<readonly string[]>;
|
|
38
69
|
export declare function serviceUsage(): string;
|
|
39
70
|
export {};
|
package/dist/services.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,KAAK,aAAa,EAAsB,MAAM,yBAAyB,CAAC;AAIrG,eAAO,MAAM,kBAAkB,uEAAwE,CAAC;AAGxG,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,KAAK,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AAC3F,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;AAEvF,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;CAC3C;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAC3C,
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gajae-gateway/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Owner CLI for the gajaeway gateway: status, sessions, chat, monitors, and worker lanes over the gateway socket. Requires the Bun runtime (uses Bun.file/Bun.spawn).",
|
|
6
6
|
"license": "AGPL-3.0-only",
|
|
@@ -22,11 +22,11 @@
|
|
|
22
22
|
"src"
|
|
23
23
|
],
|
|
24
24
|
"main": "./dist/main.js",
|
|
25
|
-
"types": "./
|
|
25
|
+
"types": "./src/main.ts",
|
|
26
26
|
"exports": {
|
|
27
27
|
".": {
|
|
28
28
|
"bun": "./src/main.ts",
|
|
29
|
-
"types": "./
|
|
29
|
+
"types": "./src/main.ts",
|
|
30
30
|
"default": "./dist/main.js"
|
|
31
31
|
}
|
|
32
32
|
},
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"prepublishOnly": "bun run build"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@gajae-gateway/sdk": "0.1.
|
|
45
|
-
"@gajae-gateway/protocol": "0.1.
|
|
44
|
+
"@gajae-gateway/sdk": "0.1.2",
|
|
45
|
+
"@gajae-gateway/protocol": "0.1.2"
|
|
46
46
|
},
|
|
47
47
|
"engines": {
|
|
48
48
|
"bun": ">=1.4.0"
|