@legioncodeinc/hive 0.5.0 → 0.6.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.
@@ -1,23 +1,23 @@
1
1
  {
2
- "manifestVersion": "0.2.1",
2
+ "manifestVersion": "0.5.1",
3
3
  "products": {
4
4
  "honeycomb": {
5
- "version": "0.2.1",
5
+ "version": "0.4.1",
6
6
  "packageName": "@legioncodeinc/honeycomb",
7
7
  "published": true
8
8
  },
9
9
  "doctor": {
10
- "version": "0.2.1",
10
+ "version": "0.3.1",
11
11
  "packageName": "@legioncodeinc/doctor",
12
12
  "published": true
13
13
  },
14
14
  "hive": {
15
- "version": "0.2.1",
15
+ "version": "0.5.1",
16
16
  "packageName": "@legioncodeinc/hive",
17
17
  "published": true
18
18
  },
19
19
  "nectar": {
20
- "version": "0.1.1",
20
+ "version": "0.2.1",
21
21
  "packageName": "@legioncodeinc/nectar",
22
22
  "published": true
23
23
  }
@@ -13,15 +13,18 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
13
13
  * step; the terminal `dashboard_reached` handoff runs only after tenancy selection (ts-AC-1/9).
14
14
  */
15
15
  import React from "react";
16
+ import { Button } from "../primitives.js";
16
17
  import { createWireClient, FRESH_SETUP_STATE } from "../wire.js";
17
18
  /** Mirrors `setup-gate.tsx`'s `SETUP_POLL_MS`, the live-transition poll cadence. */
18
19
  export const LOGIN_STEP_POLL_MS = 2500;
19
20
  /**
20
21
  * The grant display (ob-AC-14): the `user_code` prominently, plus `verification_uri_complete`
21
- * falling back to `verification_uri`, byte-identical fallback rule to `GuidedSetup`'s.
22
+ * falling back to `verification_uri`, byte-identical fallback rule to `GuidedSetup`'s. Carries a
23
+ * restart affordance: a non-technical operator who closed the verification tab (or let the code
24
+ * expire) gets a one-click fresh code instead of a dead end.
22
25
  */
23
- function LoginGrant({ grant }) {
24
- return (_jsxs("div", { "data-testid": "onboarding-login-grant", style: { display: "flex", flexDirection: "column", gap: 10, alignItems: "center" }, children: [_jsx("p", { style: { fontFamily: "var(--font-sans)", fontSize: "var(--text-sm)", color: "var(--text-secondary)", margin: 0 }, children: "Enter this code to finish linking your Deeplake account:" }), _jsx("code", { "data-testid": "onboarding-login-code", style: { fontFamily: "var(--font-mono)", fontSize: "var(--text-lg)", color: "var(--honey)", letterSpacing: "0.08em" }, children: grant.user_code }), _jsx("a", { href: grant.verification_uri_complete ?? grant.verification_uri, target: "_blank", rel: "noreferrer", "data-testid": "onboarding-login-verification-link", style: { fontSize: "var(--text-sm)", color: "var(--text-secondary)" }, children: "Open the verification page" }), _jsx("span", { style: { fontSize: "var(--text-xs)", color: "var(--text-tertiary)" }, children: "Waiting for you to finish in the browser\u2026" })] }));
26
+ function LoginGrant({ grant, onRestart }) {
27
+ return (_jsxs("div", { "data-testid": "onboarding-login-grant", style: { display: "flex", flexDirection: "column", gap: 10, alignItems: "center" }, children: [_jsx("p", { style: { fontFamily: "var(--font-sans)", fontSize: "var(--text-sm)", color: "var(--text-secondary)", margin: 0 }, children: "Enter this code to finish linking your Deeplake account:" }), _jsx("code", { "data-testid": "onboarding-login-code", style: { fontFamily: "var(--font-mono)", fontSize: "var(--text-lg)", color: "var(--honey)", letterSpacing: "0.08em" }, children: grant.user_code }), _jsx("a", { href: grant.verification_uri_complete ?? grant.verification_uri, target: "_blank", rel: "noreferrer", "data-testid": "onboarding-login-verification-link", style: { fontSize: "var(--text-sm)", color: "var(--text-secondary)" }, children: "Open the verification page" }), _jsx("span", { style: { fontSize: "var(--text-xs)", color: "var(--text-tertiary)" }, children: "Waiting for you to finish in the browser\u2026" }), _jsx(Button, { variant: "secondary", size: "sm", onClick: onRestart, "data-testid": "onboarding-login-restart", children: "Closed the window? Restart login" })] }));
25
28
  }
26
29
  export function LoginStep({ onboardingClient, wire: wireOverride, onAuthenticated, pollMs = LOGIN_STEP_POLL_MS }) {
27
30
  const wire = React.useMemo(() => wireOverride ?? createWireClient(), [wireOverride]);
@@ -31,21 +34,30 @@ export function LoginStep({ onboardingClient, wire: wireOverride, onAuthenticate
31
34
  const beginRef = React.useRef(false);
32
35
  const grantShownEventRef = React.useRef(false);
33
36
  const authenticatedHandledRef = React.useRef(false);
37
+ // One shared "mint a grant" routine: the on-mount auto-begin and the user-facing restart both
38
+ // go through here, so a closed verification tab / expired code / failed first attempt is always
39
+ // recoverable with one click (never a dead end for a non-technical operator).
40
+ const beginLogin = React.useCallback(async () => {
41
+ setError(false);
42
+ const result = await wire.setupLogin();
43
+ if (result === null) {
44
+ setError(true);
45
+ return;
46
+ }
47
+ setGrant(result);
48
+ }, [wire]);
49
+ const restartLogin = React.useCallback(() => {
50
+ setGrant(null);
51
+ void beginLogin();
52
+ }, [beginLogin]);
34
53
  // Auto-begin the device flow on mount (see module doc for why onboarding skips the button
35
54
  // `GuidedSetup` shows on the standalone `/login` route).
36
55
  React.useEffect(() => {
37
56
  if (beginRef.current)
38
57
  return;
39
58
  beginRef.current = true;
40
- void (async () => {
41
- const result = await wire.setupLogin();
42
- if (result === null) {
43
- setError(true);
44
- return;
45
- }
46
- setGrant(result);
47
- })();
48
- }, [wire]);
59
+ void beginLogin();
60
+ }, [beginLogin]);
49
61
  // ob-AC-14, `login_shown` fires the moment the grant (the code the operator must see) renders.
50
62
  React.useEffect(() => {
51
63
  if (grant === null || grantShownEventRef.current)
@@ -93,6 +105,6 @@ export function LoginStep({ onboardingClient, wire: wireOverride, onAuthenticate
93
105
  padding: 28,
94
106
  background: "var(--bg-canvas)",
95
107
  textAlign: "center",
96
- }, children: [_jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 8, maxWidth: 460 }, children: [_jsx("h1", { style: { fontSize: "var(--text-xl)", fontWeight: 700, color: "var(--text-primary)", margin: 0, letterSpacing: "-0.02em" }, children: "One last step: link Deeplake" }), _jsx("p", { style: { fontSize: "var(--text-sm)", color: "var(--text-secondary)", margin: 0, lineHeight: 1.5 }, children: "Your fleet is up. Link your Deeplake account and you are on your dashboard." })] }), grant !== null ? (_jsx(LoginGrant, { grant: grant })) : error ? (_jsxs("p", { "data-testid": "onboarding-login-error", style: { fontSize: "var(--text-sm)", color: "var(--severity-critical)", margin: 0 }, children: ["Could not start the login. Retry, or run ", _jsx("code", { children: "honeycomb login" }), " in your terminal."] })) : (_jsx("p", { style: { fontSize: "var(--text-sm)", color: "var(--text-secondary)", margin: 0 }, children: "Starting login\u2026" }))] }));
108
+ }, children: [_jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 8, maxWidth: 460 }, children: [_jsx("h1", { style: { fontSize: "var(--text-xl)", fontWeight: 700, color: "var(--text-primary)", margin: 0, letterSpacing: "-0.02em" }, children: "One last step: link Deeplake" }), _jsx("p", { style: { fontSize: "var(--text-sm)", color: "var(--text-secondary)", margin: 0, lineHeight: 1.5 }, children: "Your fleet is up. Link your Deeplake account and you are on your dashboard." })] }), grant !== null ? (_jsx(LoginGrant, { grant: grant, onRestart: restartLogin })) : error ? (_jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 12, alignItems: "center" }, children: [_jsx("p", { "data-testid": "onboarding-login-error", style: { fontSize: "var(--text-sm)", color: "var(--severity-critical)", margin: 0 }, children: "Could not start the login." }), _jsx(Button, { variant: "primary", size: "md", onClick: restartLogin, "data-testid": "onboarding-login-retry", children: "Retry login" })] })) : (_jsx("p", { style: { fontSize: "var(--text-sm)", color: "var(--text-secondary)", margin: 0 }, children: "Starting login\u2026" }))] }));
97
109
  }
98
110
  //# sourceMappingURL=login-step.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login-step.js","sourceRoot":"","sources":["../../../../src/dashboard/web/onboarding/login-step.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login-step.js","sourceRoot":"","sources":["../../../../src/dashboard/web/onboarding/login-step.tsx"],"names":[],"mappings":"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"}
@@ -93,6 +93,16 @@ export function GuidedSetup({ wire, assetBase, state, }) {
93
93
  // Leave `busy` true: the page now waits for the background poll (in LoginScreen) to flip to the
94
94
  // authenticated dashboard once the credential lands. The button stays disabled meanwhile.
95
95
  }, [wire]);
96
+ // Restart the login from the grant state: a non-technical operator who closed the verification
97
+ // tab (or let the code expire) needs a one-click way to mint a FRESH code — never a dead end.
98
+ // Resets the in-flight guard so beginSetup fires a new device flow; the daemon's pending-link
99
+ // slot replaces the stale flow.
100
+ const restartSetup = React.useCallback(() => {
101
+ inFlightRef.current = false;
102
+ setBusy(false);
103
+ setGrant(null);
104
+ void beginSetup();
105
+ }, [beginSetup]);
96
106
  // A prior Hivemind install is a HINT for the copy (050d owns the migration path); 050b only
97
107
  // surfaces it as a sub-line so the fresh-install vs has-prior-tool states read differently.
98
108
  const hasPriorHivemind = state.priorTool.hivemind === "present" || state.credentials.hivemind;
@@ -108,7 +118,7 @@ export function GuidedSetup({ wire, assetBase, state, }) {
108
118
  textAlign: "center",
109
119
  }, children: [_jsx("img", { src: `${assetBase}/honeycomb-memory-cluster.svg`, width: 56, height: 56, alt: "" }), _jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 8, maxWidth: 460 }, children: [_jsx("h1", { style: { fontSize: "var(--text-xl)", fontWeight: 700, color: "var(--text-primary)", margin: 0, letterSpacing: "-0.02em" }, children: "Let\u2019s connect your account" }), _jsx("p", { style: { fontSize: "var(--text-sm)", color: "var(--text-secondary)", margin: 0, lineHeight: 1.5 }, children: hasPriorHivemind
110
120
  ? "We found a previous Hivemind setup. Link your account to bring your memory online."
111
- : "Honeycomb keeps one shared memory for all your coding agents. Link your account to get started." })] }), grant === null ? (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "primary", size: "lg", onClick: () => void beginSetup(), disabled: busy, children: busy ? "Starting setup…" : "First time setup" }), error && (_jsxs("p", { "data-testid": "setup-error", style: { fontSize: "var(--text-sm)", color: "var(--severity-critical)", margin: 0 }, children: ["Could not start setup. Retry, or run ", _jsx("code", { children: "honeycomb login" }), " in your terminal."] }))] })) : (_jsxs("div", { "data-testid": "setup-grant", style: { display: "flex", flexDirection: "column", gap: 10, alignItems: "center" }, children: [_jsx("p", { style: { fontSize: "var(--text-sm)", color: "var(--text-secondary)", margin: 0 }, children: "Enter this code to finish linking:" }), _jsx("code", { style: { fontFamily: "var(--font-mono)", fontSize: "var(--text-lg)", color: "var(--honey)", letterSpacing: "0.08em" }, children: grant.user_code }), _jsx("a", { href: grant.verification_uri_complete ?? grant.verification_uri, target: "_blank", rel: "noreferrer", style: { fontSize: "var(--text-sm)", color: "var(--text-secondary)" }, children: "Open the verification page" }), _jsx("span", { style: { fontSize: "var(--text-xs)", color: "var(--text-tertiary)" }, children: "Waiting for you to finish in the browser\u2026" })] }))] }));
121
+ : "Honeycomb keeps one shared memory for all your coding agents. Link your account to get started." })] }), grant === null ? (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "primary", size: "lg", onClick: () => void beginSetup(), disabled: busy, children: busy ? "Starting setup…" : "First time setup" }), error && (_jsx("p", { "data-testid": "setup-error", style: { fontSize: "var(--text-sm)", color: "var(--severity-critical)", margin: 0 }, children: "Could not start setup. Click the button above to try again." }))] })) : (_jsxs("div", { "data-testid": "setup-grant", style: { display: "flex", flexDirection: "column", gap: 10, alignItems: "center" }, children: [_jsx("p", { style: { fontSize: "var(--text-sm)", color: "var(--text-secondary)", margin: 0 }, children: "Enter this code to finish linking:" }), _jsx("code", { style: { fontFamily: "var(--font-mono)", fontSize: "var(--text-lg)", color: "var(--honey)", letterSpacing: "0.08em" }, children: grant.user_code }), _jsx("a", { href: grant.verification_uri_complete ?? grant.verification_uri, target: "_blank", rel: "noreferrer", style: { fontSize: "var(--text-sm)", color: "var(--text-secondary)" }, children: "Open the verification page" }), _jsx("span", { style: { fontSize: "var(--text-xs)", color: "var(--text-tertiary)" }, children: "Waiting for you to finish in the browser\u2026" }), _jsx(Button, { variant: "secondary", size: "sm", onClick: restartSetup, "data-testid": "setup-restart-login", children: "Closed the window? Restart login" })] }))] }));
112
122
  }
113
123
  /**
114
124
  * The COEXISTENCE-WARNING wizard — PRD-050d (d-AC-1 / d-AC-2 / d-AC-3 / d-AC-4). Renders instead of the
@@ -1 +1 @@
1
- {"version":3,"file":"setup-gate.js","sourceRoot":"","sources":["../../../src/dashboard/web/setup-gate.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-gate.js","sourceRoot":"","sources":["../../../src/dashboard/web/setup-gate.tsx"],"names":[],"mappings":"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"}
@@ -1414,8 +1414,8 @@ export declare const SetupStateSchema: z.ZodObject<{
1414
1414
  migration: z.ZodOptional<z.ZodObject<{
1415
1415
  phase: z.ZodCatch<z.ZodEnum<{
1416
1416
  link: "link";
1417
- backup: "backup";
1418
1417
  uninstall: "uninstall";
1418
+ backup: "backup";
1419
1419
  done: "done";
1420
1420
  rolled_back: "rolled_back";
1421
1421
  }>>;
@@ -1452,8 +1452,8 @@ export declare const SetupMigrateSchema: z.ZodObject<{
1452
1452
  ok: z.ZodCatch<z.ZodBoolean>;
1453
1453
  phase: z.ZodCatch<z.ZodEnum<{
1454
1454
  link: "link";
1455
- backup: "backup";
1456
1455
  uninstall: "uninstall";
1456
+ backup: "backup";
1457
1457
  done: "done";
1458
1458
  rolled_back: "rolled_back";
1459
1459
  }>>;
@@ -32,4 +32,10 @@ export type RegistryDaemonEntry = Record<string, unknown> & {
32
32
  export declare function createNodeRegistryFs(): RegistryFs;
33
33
  export declare function buildHiveRegistryEntry(): RegistryDaemonEntry;
34
34
  export declare function registerHiveWithDoctor(options?: RegistryUpsertOptions): RegistryUpsertResult;
35
+ export interface RegistryDeleteResult {
36
+ readonly removed: boolean;
37
+ readonly registryPaths: readonly string[];
38
+ }
39
+ export declare function deleteHiveFromDoctor(options?: RegistryUpsertOptions): RegistryDeleteResult;
40
+ export declare function registryContainsHiveEntry(options?: RegistryUpsertOptions): boolean;
35
41
  export { resolveRegistryWritePath } from "../shared/registry-paths.js";
@@ -1,6 +1,7 @@
1
1
  import { mkdirSync, readFileSync, renameSync, rmSync, writeFileSync } from "node:fs";
2
2
  import { dirname } from "node:path";
3
- import { resolveHiveRegistryPidPath } from "../shared/apiary-root.js";
3
+ import { resolveFleetRegistryPath, resolveHiveRegistryPidPath } from "../shared/apiary-root.js";
4
+ import { resolveLegacyDoctorRegistryPath } from "../shared/legacy-paths.js";
4
5
  import { resolveRegistryWritePath } from "../shared/registry-paths.js";
5
6
  // NOTE: there is deliberately NO exported DOCTOR_REGISTRY_PATH constant on the write side.
6
7
  // The write target is window-dependent (`resolveRegistryWritePath()` answers differently before
@@ -113,5 +114,71 @@ export function registerHiveWithDoctor(options = {}) {
113
114
  updatedExistingEntry: index >= 0
114
115
  };
115
116
  }
117
+ function registryHasHiveEntry(path, fs) {
118
+ const parsed = readRegistryDocument(path, fs);
119
+ return parsed.daemons.some((entry) => entry["name"] === HIVE_REGISTRY_NAME);
120
+ }
121
+ function deleteHiveEntryAtPath(path, fs) {
122
+ let parsed;
123
+ try {
124
+ parsed = readRegistryDocument(path, fs);
125
+ }
126
+ catch (error) {
127
+ const code = error.code;
128
+ if (code === "ENOENT")
129
+ return false;
130
+ throw error;
131
+ }
132
+ const index = parsed.daemons.findIndex((entry) => entry["name"] === HIVE_REGISTRY_NAME);
133
+ if (index < 0)
134
+ return false;
135
+ const nextDaemons = parsed.daemons.filter((_, entryIndex) => entryIndex !== index);
136
+ const nextRoot = { ...parsed.root, daemons: nextDaemons };
137
+ const serialized = `${JSON.stringify(nextRoot, null, 2)}\n`;
138
+ const tempPath = nextTempPath(path);
139
+ fs.mkdirp(dirname(path));
140
+ fs.writeFile(tempPath, serialized);
141
+ try {
142
+ fs.rename(tempPath, path);
143
+ }
144
+ catch (error) {
145
+ fs.removeFile(tempPath);
146
+ throw error;
147
+ }
148
+ return true;
149
+ }
150
+ export function deleteHiveFromDoctor(options = {}) {
151
+ const fs = options.fs ?? createNodeRegistryFs();
152
+ const explicitPath = options.registryPath;
153
+ const candidatePaths = explicitPath !== undefined
154
+ ? [explicitPath]
155
+ : [resolveRegistryWritePath(), resolveFleetRegistryPath(), resolveLegacyDoctorRegistryPath()];
156
+ const registryPaths = [];
157
+ for (const path of [...new Set(candidatePaths)]) {
158
+ if (deleteHiveEntryAtPath(path, fs))
159
+ registryPaths.push(path);
160
+ }
161
+ return {
162
+ removed: registryPaths.length > 0,
163
+ registryPaths
164
+ };
165
+ }
166
+ export function registryContainsHiveEntry(options = {}) {
167
+ const fs = options.fs ?? createNodeRegistryFs();
168
+ const explicitPath = options.registryPath;
169
+ const candidatePaths = explicitPath !== undefined
170
+ ? [explicitPath]
171
+ : [resolveRegistryWritePath(), resolveFleetRegistryPath(), resolveLegacyDoctorRegistryPath()];
172
+ for (const path of [...new Set(candidatePaths)]) {
173
+ try {
174
+ if (registryHasHiveEntry(path, fs))
175
+ return true;
176
+ }
177
+ catch {
178
+ // Unreadable registry files are treated as absent for uninstall no-op detection.
179
+ }
180
+ }
181
+ return false;
182
+ }
116
183
  export { resolveRegistryWritePath } from "../shared/registry-paths.js";
117
184
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/install/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/install/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type FleetRootDeps } from "../shared/apiary-root.js";
2
+ export interface StateDirFs {
3
+ exists(path: string): boolean;
4
+ lstat(path: string): {
5
+ readonly isSymbolicLink: () => boolean;
6
+ };
7
+ removeDir(path: string): void;
8
+ }
9
+ export declare function createNodeStateDirFs(): StateDirFs;
10
+ export declare function removeHiveStateDir(deps?: FleetRootDeps, fs?: StateDirFs): boolean;
11
+ export declare function hiveStateDirExists(deps?: FleetRootDeps, fs?: StateDirFs): boolean;
@@ -0,0 +1,40 @@
1
+ import { existsSync, lstatSync, rmSync } from "node:fs";
2
+ import { isAbsolute, relative, resolve } from "node:path";
3
+ import { resolveFleetRoot, resolveHiveStateDir } from "../shared/apiary-root.js";
4
+ export function createNodeStateDirFs() {
5
+ return {
6
+ exists(path) {
7
+ return existsSync(path);
8
+ },
9
+ lstat(path) {
10
+ return lstatSync(path);
11
+ },
12
+ removeDir(path) {
13
+ rmSync(path, { recursive: true, force: true });
14
+ }
15
+ };
16
+ }
17
+ function isPathWithinRoot(targetPath, rootPath) {
18
+ const resolvedTarget = resolve(targetPath);
19
+ const resolvedRoot = resolve(rootPath);
20
+ const rel = relative(resolvedRoot, resolvedTarget);
21
+ return rel === "" || (!rel.startsWith("..") && !isAbsolute(rel));
22
+ }
23
+ export function removeHiveStateDir(deps = {}, fs = createNodeStateDirFs()) {
24
+ const fleetRoot = resolveFleetRoot(deps);
25
+ const stateDir = resolveHiveStateDir(deps);
26
+ if (!isPathWithinRoot(stateDir, fleetRoot)) {
27
+ throw new Error(`Refusing to remove hive state dir outside the fleet root: ${stateDir}`);
28
+ }
29
+ if (!fs.exists(stateDir))
30
+ return false;
31
+ if (fs.lstat(stateDir).isSymbolicLink()) {
32
+ throw new Error(`Refusing to remove hive state dir because it is a symlink: ${stateDir}`);
33
+ }
34
+ fs.removeDir(stateDir);
35
+ return true;
36
+ }
37
+ export function hiveStateDirExists(deps = {}, fs = createNodeStateDirFs()) {
38
+ return fs.exists(resolveHiveStateDir(deps));
39
+ }
40
+ //# sourceMappingURL=state-dir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-dir.js","sourceRoot":"","sources":["../../src/install/state-dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAsB,MAAM,0BAA0B,CAAC;AAQrG,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,MAAM,CAAC,IAAY;YACjB,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,IAAY;YAChB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,SAAS,CAAC,IAAY;YACpB,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB,EAAE,QAAgB;IAC5D,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACnD,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAsB,EAAE,EAAE,KAAiB,oBAAoB,EAAE;IAClG,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAE3C,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,6DAA6D,QAAQ,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,8DAA8D,QAAQ,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAsB,EAAE,EAAE,KAAiB,oBAAoB,EAAE;IAClG,OAAO,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,CAAC"}
@@ -6,6 +6,7 @@ export interface ServiceCommand {
6
6
  export declare function launchdDomainTarget(uid: number): string;
7
7
  export declare function launchdServiceTarget(plan: ServicePlan, uid: number): string;
8
8
  export declare function installCommands(plan: ServicePlan, uid: number): readonly ServiceCommand[];
9
+ export declare function stopCommands(plan: ServicePlan, uid: number): readonly ServiceCommand[];
9
10
  export declare function uninstallCommands(plan: ServicePlan, uid: number): readonly ServiceCommand[];
10
11
  /**
11
12
  * The argv to deregister the PRE-decision-#32 unit names (`thehive` / `thehive.service`).
@@ -21,6 +21,16 @@ export function installCommands(plan, uid) {
21
21
  ];
22
22
  }
23
23
  }
24
+ export function stopCommands(plan, uid) {
25
+ switch (plan.manager) {
26
+ case "launchd":
27
+ return [{ command: "launchctl", args: ["bootout", launchdServiceTarget(plan, uid)] }];
28
+ case "systemd":
29
+ return [{ command: "systemctl", args: ["--user", "stop", SYSTEMD_UNIT_NAME] }];
30
+ case "schtasks":
31
+ return [{ command: "schtasks", args: ["/End", "/TN", WINDOWS_TASK_NAME] }];
32
+ }
33
+ }
24
34
  export function uninstallCommands(plan, uid) {
25
35
  switch (plan.manager) {
26
36
  case "launchd":
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/service/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/service/commands.ts"],"names":[],"mappings":"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"}
@@ -15,14 +15,38 @@ export interface ServiceFs {
15
15
  mkdirp(path: string): void;
16
16
  writeFile(path: string, content: string): void;
17
17
  removeFile(path: string): void;
18
+ fileExists(path: string): boolean;
18
19
  }
19
20
  export interface ServiceResult {
20
21
  readonly ok: boolean;
21
22
  readonly message: string;
22
23
  }
24
+ /**
25
+ * The outcome of {@link ServiceModule.uninstall}, additionally classified so a
26
+ * caller can tell a genuine removal failure from the current unit simply
27
+ * having been absent already (M-2 / PRD-003b AC-9, b-AC-6): on macOS the
28
+ * `uninstall` verb runs `stop` (launchd `bootout`) before `service.uninstall()`
29
+ * issues its own `bootout` of the same unit, so the second call always finds
30
+ * "No such process" after a fully successful stop. A boot-resurrecting unit
31
+ * left behind by a swallowed "it was probably already gone" error is exactly
32
+ * the failure mode this classification exists to catch, so `alreadyAbsent`
33
+ * stays `false` for anything that does not match a known not-found signal.
34
+ */
35
+ export interface ServiceUninstallResult extends ServiceResult {
36
+ /**
37
+ * True when the manager reported the current unit was not registered/found
38
+ * rather than a real error (permission denied, manager unreachable, etc.).
39
+ * A true `alreadyAbsent` is a friendly no-op; `ok` stays false either way
40
+ * since nothing was actually removed by THIS call - callers should treat
41
+ * `alreadyAbsent === true` the same as `ok === true` for exit-code purposes.
42
+ */
43
+ readonly alreadyAbsent: boolean;
44
+ }
23
45
  export interface ServiceModule {
24
46
  install(): Promise<ServiceResult>;
25
- uninstall(): Promise<ServiceResult>;
47
+ stop(): Promise<ServiceResult>;
48
+ uninstall(): Promise<ServiceUninstallResult>;
49
+ isRegistered(): Promise<boolean>;
26
50
  }
27
51
  export interface ServiceModuleDeps {
28
52
  readonly execPath: string;