@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.
@@ -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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"}
@@ -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 plist writes. */
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 {};
@@ -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,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC;CACjC;AAED,UAAU,WAAW;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;AAwCD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAY9F;AAED,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAYxF;AAED,wBAAsB,iBAAiB,CACtC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,MAAM,GAAE,eAAwC,GAC9C,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAW9E;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO/C;AAMD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAmBvG;AA6BD,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CA6BjG;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
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.0",
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": "./dist/main.d.ts",
25
+ "types": "./src/main.ts",
26
26
  "exports": {
27
27
  ".": {
28
28
  "bun": "./src/main.ts",
29
- "types": "./dist/main.d.ts",
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.0",
45
- "@gajae-gateway/protocol": "0.1.0"
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"