@legioncodeinc/hive 0.3.0 → 0.3.1
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/assets/brand/activeloop-full-mark-logo-on-dark.svg +209 -0
- package/assets/brand/activeloop-full-mark-logo.svg +208 -0
- package/assets/brand/divider-major.svg +1 -0
- package/assets/brand/divider-minor.svg +1 -0
- package/assets/brand/doctor-mark.svg +1 -0
- package/assets/brand/hive-mark.svg +1 -0
- package/assets/brand/hive-wordmark-black.svg +1 -0
- package/assets/brand/hive-wordmark-on-dark.svg +1 -0
- package/assets/brand/legion-logo-dark.svg +16 -0
- package/assets/brand/legion-logo-light.svg +16 -0
- package/assets/brand/nectar-mark.svg +1 -0
- package/assets/logos/fonts/Inter-Italic-VariableFont_opsz_wght.ttf +0 -0
- package/assets/logos/fonts/Inter-VariableFont_opsz_wght.ttf +0 -0
- package/assets/logos/fonts/JetBrainsMono-Bold.woff2 +0 -0
- package/assets/logos/fonts/JetBrainsMono-Medium.woff2 +0 -0
- package/assets/logos/fonts/JetBrainsMono-Regular.woff2 +0 -0
- package/assets/logos/fonts/JetBrainsMono-SemiBold.woff2 +0 -0
- package/assets/logos/honeycomb-memory-cluster.svg +17 -0
- package/assets/styles.css +11 -0
- package/assets/tokens/base.css +76 -0
- package/assets/tokens/colors.css +111 -0
- package/assets/tokens/fonts.css +32 -0
- package/assets/tokens/spacing.css +48 -0
- package/assets/tokens/typography.css +38 -0
- package/dist/daemon/dashboard/app.js +9 -9
- package/dist/daemon/installer/bin-resolver.js +22 -1
- package/dist/daemon/installer/bin-resolver.js.map +1 -1
- package/dist/daemon/installer/install-state.d.ts +6 -0
- package/dist/daemon/installer/install-state.js +18 -1
- package/dist/daemon/installer/install-state.js.map +1 -1
- package/dist/daemon/installer/spawn.d.ts +1 -0
- package/dist/daemon/installer/spawn.js +13 -1
- package/dist/daemon/installer/spawn.js.map +1 -1
- package/dist/dashboard/web/onboarding/install-card.d.ts +3 -2
- package/dist/dashboard/web/onboarding/install-card.js +2 -1
- package/dist/dashboard/web/onboarding/install-card.js.map +1 -1
- package/dist/dashboard/web/onboarding/onboarding-screen.d.ts +1 -1
- package/dist/dashboard/web/onboarding/onboarding-screen.js +34 -2
- package/dist/dashboard/web/onboarding/onboarding-screen.js.map +1 -1
- package/dist/dashboard/web/onboarding/use-install-dwell.d.ts +12 -7
- package/dist/dashboard/web/onboarding/use-install-dwell.js +12 -7
- package/dist/dashboard/web/onboarding/use-install-dwell.js.map +1 -1
- package/dist/dashboard/web/onboarding/use-onboarding-token.d.ts +7 -2
- package/dist/dashboard/web/onboarding/use-onboarding-token.js +10 -3
- package/dist/dashboard/web/onboarding/use-onboarding-token.js.map +1 -1
- package/package.json +6 -2
|
@@ -53,10 +53,31 @@ export function resolvePackageBinJs(config, nodeModulesDir, packageName, binName
|
|
|
53
53
|
* so we can run `npm prefix -g` before the prefix is known. Falls back to `require.resolve`.
|
|
54
54
|
*/
|
|
55
55
|
export function locateNpmCliJs(config) {
|
|
56
|
+
// FIRST CHOICE: the npm co-located with hive's own global install. `require.resolve` walks up
|
|
57
|
+
// from this module (…/lib/node_modules/@legioncodeinc/hive/dist/…) into the SAME global
|
|
58
|
+
// node_modules tree hive was installed into, so this npm manages the SAME prefix — products land
|
|
59
|
+
// where the operator's PATH already finds hive. The execPath-relative candidates below are only
|
|
60
|
+
// layout heuristics and can pick a DIFFERENT prefix (e.g. Homebrew's bundled npm under
|
|
61
|
+
// libexec/ resolves `prefix -g` to the Cellar dir, silently installing products nowhere useful).
|
|
62
|
+
//
|
|
63
|
+
// npm's `exports` map exposes only `.` and `./package.json` — resolving `npm/bin/npm-cli.js`
|
|
64
|
+
// directly throws ERR_PACKAGE_PATH_NOT_EXPORTED — so resolve the exported package.json and
|
|
65
|
+
// derive the bin path from the package dir.
|
|
66
|
+
const npmPackageJson = config.requireResolve("npm/package.json");
|
|
67
|
+
if (npmPackageJson !== null) {
|
|
68
|
+
const viaPackage = join(dirname(npmPackageJson), "bin", "npm-cli.js");
|
|
69
|
+
if (config.fileExists(viaPackage))
|
|
70
|
+
return viaPackage;
|
|
71
|
+
}
|
|
56
72
|
const execDir = dirname(config.execPath);
|
|
57
73
|
const candidates = config.platform === "win32"
|
|
58
74
|
? [join(execDir, "node_modules", "npm", "bin", "npm-cli.js")]
|
|
59
|
-
: [
|
|
75
|
+
: [
|
|
76
|
+
join(dirname(execDir), "lib", "node_modules", "npm", "bin", "npm-cli.js"),
|
|
77
|
+
// Homebrew node: npm ships under `libexec/`, not `lib/`, beside the Cellar-versioned
|
|
78
|
+
// binary (e.g. /opt/homebrew/Cellar/node/<ver>/libexec/lib/node_modules/npm).
|
|
79
|
+
join(dirname(execDir), "libexec", "lib", "node_modules", "npm", "bin", "npm-cli.js")
|
|
80
|
+
];
|
|
60
81
|
for (const candidate of candidates) {
|
|
61
82
|
if (config.fileExists(candidate))
|
|
62
83
|
return candidate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin-resolver.js","sourceRoot":"","sources":["../../../src/daemon/installer/bin-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,iFAAiF;AACjF,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,QAAyB;IAC5E,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;AACnG,CAAC;AAED,2EAA2E;AAC3E,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/E,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAE1E;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAuB,EACvB,cAAsB,EACtB,WAAmB,EACnB,OAAe;IAEf,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IAClE,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAE9B,IAAI,UAAmB,CAAC;IACxB,IAAI,CAAC;QACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAElE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAC5B,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9D,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAuB;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,UAAU,GACd,MAAM,CAAC,QAAQ,KAAK,OAAO;QACzB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"bin-resolver.js","sourceRoot":"","sources":["../../../src/daemon/installer/bin-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,4 +47,10 @@ export interface InstallStateStore {
|
|
|
47
47
|
/** The in-flight install promise for a product (resolved when none), for test synchronization. */
|
|
48
48
|
settled(product: InstallableProduct): Promise<void>;
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Network hardening flags for the npm install spawn. A flaky connection mid-download is the most
|
|
52
|
+
* common install failure (read ETIMEDOUT); npm's default retry posture is stingy, so raise it and
|
|
53
|
+
* let transient drops heal inside ONE attempt instead of surfacing as a failed card.
|
|
54
|
+
*/
|
|
55
|
+
export declare const NPM_INSTALL_NETWORK_FLAGS: readonly ["--fetch-retries=5", "--fetch-retry-mintimeout=2000", "--fetch-retry-maxtimeout=30000", "--fetch-timeout=300000"];
|
|
50
56
|
export declare function createInstallStateStore(config: InstallerConfig, hooks?: InstallStateFunnelHooks): InstallStateStore;
|
|
@@ -12,6 +12,17 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { globalNodeModulesDir, locateNpmCliJs, resolvePackageBinJs } from "./bin-resolver.js";
|
|
14
14
|
import { productProfile } from "./products.js";
|
|
15
|
+
/**
|
|
16
|
+
* Network hardening flags for the npm install spawn. A flaky connection mid-download is the most
|
|
17
|
+
* common install failure (read ETIMEDOUT); npm's default retry posture is stingy, so raise it and
|
|
18
|
+
* let transient drops heal inside ONE attempt instead of surfacing as a failed card.
|
|
19
|
+
*/
|
|
20
|
+
export const NPM_INSTALL_NETWORK_FLAGS = [
|
|
21
|
+
"--fetch-retries=5",
|
|
22
|
+
"--fetch-retry-mintimeout=2000",
|
|
23
|
+
"--fetch-retry-maxtimeout=30000",
|
|
24
|
+
"--fetch-timeout=300000"
|
|
25
|
+
];
|
|
15
26
|
/** Bound a spawn's error label + exit code + stderr tail into a single truthful summary (is-AC-17). */
|
|
16
27
|
function summarizeFailure(label, code, stderrTail) {
|
|
17
28
|
const trimmed = stderrTail.trim();
|
|
@@ -69,7 +80,13 @@ export function createInstallStateStore(config, hooks = {}) {
|
|
|
69
80
|
return;
|
|
70
81
|
}
|
|
71
82
|
setStage(state, "downloading");
|
|
72
|
-
const npm = await config.spawn(config.execPath, [
|
|
83
|
+
const npm = await config.spawn(config.execPath, [
|
|
84
|
+
npmCli,
|
|
85
|
+
"install",
|
|
86
|
+
"-g",
|
|
87
|
+
...NPM_INSTALL_NETWORK_FLAGS,
|
|
88
|
+
target.target
|
|
89
|
+
]);
|
|
73
90
|
if (npm.code !== 0) {
|
|
74
91
|
fail(state, "downloading", summarizeFailure("npm install", npm.code, npm.stderrTail), product);
|
|
75
92
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-state.js","sourceRoot":"","sources":["../../../src/daemon/installer/install-state.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"install-state.js","sourceRoot":"","sources":["../../../src/daemon/installer/install-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,7 @@ export type SpawnFn = (command: string, args: readonly string[], options?: Spawn
|
|
|
39
39
|
export type RawSpawn = (command: string, args: readonly string[], options: {
|
|
40
40
|
readonly shell: false;
|
|
41
41
|
readonly signal?: AbortSignal;
|
|
42
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
42
43
|
}) => ChildProcess;
|
|
43
44
|
/**
|
|
44
45
|
* Build the default {@link SpawnFn} over node's `child_process.spawn`, pinned to `shell: false`.
|
|
@@ -12,8 +12,20 @@
|
|
|
12
12
|
* and no shell is ever involved.
|
|
13
13
|
*/
|
|
14
14
|
import { spawn as nodeSpawn } from "node:child_process";
|
|
15
|
+
import { delimiter, dirname } from "node:path";
|
|
15
16
|
/** The bounded tail we keep of each stream (is-AC-17: a bounded stderr excerpt, ~2 KB). */
|
|
16
17
|
export const SPAWN_TAIL_LIMIT = 2048;
|
|
18
|
+
/**
|
|
19
|
+
* The child env: the daemon's env with the SPAWNED BINARY's directory prepended to PATH. Under a
|
|
20
|
+
* service manager (launchd/systemd) the daemon inherits a minimal PATH without node's bin dir,
|
|
21
|
+
* and npm >= 9 no longer prepends node's directory when running lifecycle scripts — so a package
|
|
22
|
+
* postinstall invoking plain `node` dies with `sh: node: command not found` (exit 127). The
|
|
23
|
+
* command here is always `process.execPath`, so prepending its dir puts the RIGHT node first.
|
|
24
|
+
*/
|
|
25
|
+
function childEnv(command) {
|
|
26
|
+
const basePath = process.env.PATH ?? "";
|
|
27
|
+
return { ...process.env, PATH: `${dirname(command)}${delimiter}${basePath}` };
|
|
28
|
+
}
|
|
17
29
|
/** Keep only the last `limit` characters of `current + chunk` so a chatty child cannot grow memory. */
|
|
18
30
|
function appendTail(current, chunk, limit) {
|
|
19
31
|
const next = current + chunk;
|
|
@@ -29,7 +41,7 @@ export function createNodeSpawn(rawSpawn = nodeSpawn) {
|
|
|
29
41
|
let stdoutTail = "";
|
|
30
42
|
let stderrTail = "";
|
|
31
43
|
// The whole point of is-AC-6: an argv array and `shell: false`, never a shell string.
|
|
32
|
-
const child = rawSpawn(command, [...args], { shell: false, signal: options.signal });
|
|
44
|
+
const child = rawSpawn(command, [...args], { shell: false, signal: options.signal, env: childEnv(command) });
|
|
33
45
|
child.stdout?.on("data", (data) => {
|
|
34
46
|
const chunk = String(data);
|
|
35
47
|
stdoutTail = appendTail(stdoutTail, chunk, SPAWN_TAIL_LIMIT);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../../src/daemon/installer/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../../src/daemon/installer/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE/C,2FAA2F;AAC3F,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAqCrC;;;;;;GAMG;AACH,SAAS,QAAQ,CAAC,OAAe;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACxC,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,GAAG,QAAQ,EAAE,EAAE,CAAC;AAChF,CAAC;AAED,uGAAuG;AACvG,SAAS,UAAU,CAAC,OAAe,EAAE,KAAa,EAAE,KAAa;IAC/D,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,CAAC;IAC7B,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,WAAqB,SAAgC;IACnF,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,CACrC,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,sFAAsF;QACtF,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE7G,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAa,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;YAC7D,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAa,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;YAC7D,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;YACjC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;YACxC,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The per-product GUIDED INSTALL CARD, PRD-009b ob-AC-8/ob-AC-9/ob-AC-10/ob-AC-11/ob-AC-12. A
|
|
3
3
|
* full-screen card carrying the product's logo, title, benefit copy, staged (never percent)
|
|
4
|
-
* progress, and the npm-safety reassurance. Honors a minimum
|
|
4
|
+
* progress, and the npm-safety reassurance. Honors a brief minimum dwell on success (ob-AC-11,
|
|
5
|
+
* revised: the real install time drives the pace, the dwell only prevents a flash-through) and
|
|
5
6
|
* NEVER masks a failure behind that dwell (ob-AC-12), a `failed` stage renders its truthful error
|
|
6
7
|
* plus a retry affordance the instant it arrives, regardless of elapsed dwell time.
|
|
7
8
|
*
|
|
@@ -21,7 +22,7 @@ export interface InstallCardProps {
|
|
|
21
22
|
readonly assetBase: string;
|
|
22
23
|
/** Called once this product's install has both completed AND satisfied its minimum dwell. */
|
|
23
24
|
readonly onAdvance: () => void;
|
|
24
|
-
/** Overrides the default
|
|
25
|
+
/** Overrides the default brief minimum dwell (ob-AC-11, revised). A test injects a short window. */
|
|
25
26
|
readonly minDwellMs?: number;
|
|
26
27
|
}
|
|
27
28
|
export declare function InstallCard({ product, initialDetection, client, assetBase, onAdvance, minDwellMs }: InstallCardProps): React.JSX.Element;
|
|
@@ -2,7 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
/**
|
|
3
3
|
* The per-product GUIDED INSTALL CARD, PRD-009b ob-AC-8/ob-AC-9/ob-AC-10/ob-AC-11/ob-AC-12. A
|
|
4
4
|
* full-screen card carrying the product's logo, title, benefit copy, staged (never percent)
|
|
5
|
-
* progress, and the npm-safety reassurance. Honors a minimum
|
|
5
|
+
* progress, and the npm-safety reassurance. Honors a brief minimum dwell on success (ob-AC-11,
|
|
6
|
+
* revised: the real install time drives the pace, the dwell only prevents a flash-through) and
|
|
6
7
|
* NEVER masks a failure behind that dwell (ob-AC-12), a `failed` stage renders its truthful error
|
|
7
8
|
* plus a retry affordance the instant it arrives, regardless of elapsed dwell time.
|
|
8
9
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-card.js","sourceRoot":"","sources":["../../../../src/dashboard/web/onboarding/install-card.tsx"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"install-card.js","sourceRoot":"","sources":["../../../../src/dashboard/web/onboarding/install-card.tsx"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ export interface OnboardingScreenProps {
|
|
|
29
29
|
readonly client?: OnboardingClient;
|
|
30
30
|
/** Test seam: inject a fake proxied setup wire client for the login step. */
|
|
31
31
|
readonly wire?: WireClient;
|
|
32
|
-
/** Test seam: override the
|
|
32
|
+
/** Test seam: override the brief install dwell (ob-AC-11, revised). */
|
|
33
33
|
readonly minDwellMs?: number;
|
|
34
34
|
/** Test seam: override the health-check poll interval. */
|
|
35
35
|
readonly healthPollMs?: number;
|
|
@@ -50,6 +50,33 @@ function ShortCircuitSummary({ onGoToDashboard }) {
|
|
|
50
50
|
borderRadius: "var(--radius-xl)",
|
|
51
51
|
}, children: [_jsx("h1", { style: { fontSize: "var(--text-xl)", fontWeight: 700, color: "var(--text-primary)", margin: 0, letterSpacing: "-0.02em" }, children: "Your fleet is already up" }), _jsx("p", { style: { fontFamily: "var(--font-sans)", fontSize: "var(--text-sm)", color: "var(--text-secondary)", margin: 0, lineHeight: 1.5 }, children: "Every product is installed and the fleet reads healthy. Nothing to install here." }), _jsx(Button, { variant: "primary", size: "lg", "data-testid": "onboarding-go-to-dashboard", onClick: onGoToDashboard, children: "Go to dashboard" })] }) }));
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* The terminal "no token" screen. The one-time token rides the opened URL (`/onboarding?t=...`) and
|
|
55
|
+
* is held in memory only, so landing here without one (a refresh after the URL scrub, the printed
|
|
56
|
+
* fallback link, a bookmark) can never recover on its own — the operator re-runs the installer,
|
|
57
|
+
* which mints a fresh token and reopens the portal.
|
|
58
|
+
*/
|
|
59
|
+
function MissingTokenNotice() {
|
|
60
|
+
return (_jsx("div", { "data-testid": "onboarding-missing-token", style: { display: "flex", alignItems: "center", justifyContent: "center", minHeight: "100vh", padding: 32, background: "var(--bg-canvas)", textAlign: "center" }, children: _jsxs("div", { style: {
|
|
61
|
+
display: "flex",
|
|
62
|
+
flexDirection: "column",
|
|
63
|
+
alignItems: "center",
|
|
64
|
+
gap: 18,
|
|
65
|
+
maxWidth: 480,
|
|
66
|
+
padding: "40px 32px",
|
|
67
|
+
background: "var(--bg-surface)",
|
|
68
|
+
border: "1px solid var(--border-default)",
|
|
69
|
+
borderRadius: "var(--radius-xl)",
|
|
70
|
+
}, children: [_jsx("h1", { style: { fontSize: "var(--text-xl)", fontWeight: 700, color: "var(--text-primary)", margin: 0, letterSpacing: "-0.02em" }, children: "This setup link has expired" }), _jsx("p", { style: { fontFamily: "var(--font-sans)", fontSize: "var(--text-sm)", color: "var(--text-secondary)", margin: 0, lineHeight: 1.5 }, children: "The setup page needs the one-time link the installer opens for you, and this visit did not carry it (refreshing this page drops it too). Re-run the installer to get a fresh link:" }), _jsx("code", { style: {
|
|
71
|
+
fontFamily: "var(--font-mono)",
|
|
72
|
+
fontSize: "var(--text-xs)",
|
|
73
|
+
color: "var(--text-primary)",
|
|
74
|
+
background: "var(--bg-canvas)",
|
|
75
|
+
border: "1px solid var(--border-default)",
|
|
76
|
+
borderRadius: "var(--radius-md)",
|
|
77
|
+
padding: "10px 14px",
|
|
78
|
+
}, children: "curl -fsSL https://get.theapiary.sh | sh" })] }) }));
|
|
79
|
+
}
|
|
53
80
|
/** The brief pre-detection placeholder, visible only for the moment detect+health are in flight. */
|
|
54
81
|
function LoadingPlaceholder() {
|
|
55
82
|
return (_jsx("div", { "data-testid": "onboarding-loading", style: { display: "flex", alignItems: "center", justifyContent: "center", minHeight: "100vh", background: "var(--bg-canvas)" }, children: _jsx("p", { style: { fontFamily: "var(--font-mono)", fontSize: "var(--text-xs)", color: "var(--text-tertiary)" }, children: "Checking what is already installed\u2026" }) }));
|
|
@@ -58,8 +85,11 @@ export function OnboardingScreen({ assetBase = "assets", client: clientOverride,
|
|
|
58
85
|
const token = useOnboardingToken();
|
|
59
86
|
// A test-injected client bypasses the token gate entirely (it never talks to the real token
|
|
60
87
|
// wiring); real usage waits for `useOnboardingToken` to resolve the `?t=` query param first.
|
|
61
|
-
|
|
62
|
-
|
|
88
|
+
// A RESOLVED-ABSENT token (`""`) is terminal: without it every installer call 401s, so the
|
|
89
|
+
// screen shows recovery guidance below instead of spinning on the loading placeholder forever.
|
|
90
|
+
const tokenReady = clientOverride !== undefined || (token !== null && token !== "");
|
|
91
|
+
const tokenMissing = clientOverride === undefined && token === "";
|
|
92
|
+
const client = React.useMemo(() => clientOverride ?? createOnboardingClient(token ?? ""), [clientOverride, token]);
|
|
63
93
|
const [phase, setPhase] = React.useState({ kind: "loading" });
|
|
64
94
|
const [detection, setDetection] = React.useState(null);
|
|
65
95
|
const startedEventFiredRef = React.useRef(false);
|
|
@@ -134,6 +164,8 @@ export function OnboardingScreen({ assetBase = "assets", client: clientOverride,
|
|
|
134
164
|
if (onAuthenticated !== undefined)
|
|
135
165
|
onAuthenticated();
|
|
136
166
|
}, [onAuthenticated]);
|
|
167
|
+
if (tokenMissing)
|
|
168
|
+
return _jsx(MissingTokenNotice, {});
|
|
137
169
|
switch (phase.kind) {
|
|
138
170
|
case "loading":
|
|
139
171
|
return _jsx(LoadingPlaceholder, {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding-screen.js","sourceRoot":"","sources":["../../../../src/dashboard/web/onboarding/onboarding-screen.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"onboarding-screen.js","sourceRoot":"","sources":["../../../../src/dashboard/web/onboarding/onboarding-screen.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The install card's MINIMUM DWELL hook, PRD-009b ob-AC-11.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* The install card's MINIMUM DWELL hook, PRD-009b ob-AC-11 (revised). The card advances as soon as
|
|
3
|
+
* the install actually completes, held only long enough for the completed state to visibly register
|
|
4
|
+
* (a sub-second flash-through would read as broken); a longer install simply holds the card until
|
|
5
|
+
* its own terminal state. The dwell timer NEVER masks a failure, this hook only ever gates the
|
|
6
|
+
* advance-on-SUCCESS path; a failed card renders its error immediately regardless of how much
|
|
7
|
+
* dwell time has elapsed (the caller never calls this hook's `ready` with a failure in mind).
|
|
7
8
|
*/
|
|
8
|
-
/**
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* The minimum time a card stays up after mount before a SUCCESSFUL install may advance. Short by
|
|
11
|
+
* design: the real install time drives the pace (originally ~30s per ob-AC-11, cut down because
|
|
12
|
+
* holding a finished install visibly idle reads as slowness, not polish). Overridable in tests.
|
|
13
|
+
*/
|
|
14
|
+
export declare const DEFAULT_MIN_DWELL_MS = 2000;
|
|
10
15
|
export interface UseInstallDwellOptions {
|
|
11
16
|
/** Called exactly once, after `ready` has been true for the remaining minimum-dwell duration. */
|
|
12
17
|
readonly onDwellSatisfied: () => void;
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The install card's MINIMUM DWELL hook, PRD-009b ob-AC-11.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* The install card's MINIMUM DWELL hook, PRD-009b ob-AC-11 (revised). The card advances as soon as
|
|
3
|
+
* the install actually completes, held only long enough for the completed state to visibly register
|
|
4
|
+
* (a sub-second flash-through would read as broken); a longer install simply holds the card until
|
|
5
|
+
* its own terminal state. The dwell timer NEVER masks a failure, this hook only ever gates the
|
|
6
|
+
* advance-on-SUCCESS path; a failed card renders its error immediately regardless of how much
|
|
7
|
+
* dwell time has elapsed (the caller never calls this hook's `ready` with a failure in mind).
|
|
7
8
|
*/
|
|
8
9
|
import React from "react";
|
|
9
|
-
/**
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* The minimum time a card stays up after mount before a SUCCESSFUL install may advance. Short by
|
|
12
|
+
* design: the real install time drives the pace (originally ~30s per ob-AC-11, cut down because
|
|
13
|
+
* holding a finished install visibly idle reads as slowness, not polish). Overridable in tests.
|
|
14
|
+
*/
|
|
15
|
+
export const DEFAULT_MIN_DWELL_MS = 2_000;
|
|
11
16
|
/**
|
|
12
17
|
* `ready` flips true once the install reaches its `completed` terminal state. The card's mount
|
|
13
18
|
* time is the dwell clock's start (installs begin the instant a card mounts), so a completion that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-install-dwell.js","sourceRoot":"","sources":["../../../../src/dashboard/web/onboarding/use-install-dwell.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"use-install-dwell.js","sourceRoot":"","sources":["../../../../src/dashboard/web/onboarding/use-install-dwell.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAS1C;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc,EAAE,OAA+B;IAC9E,MAAM,EAAE,UAAU,GAAG,oBAAoB,EAAE,GAAG,OAAO,CAAC;IACtD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAS,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAErC,+FAA+F;IAC/F,sFAAsF;IACtF,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnE,mBAAmB,CAAC,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAEvD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO;YAAE,OAAO;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC;QACpD,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;YACxB,mBAAmB,CAAC,OAAO,EAAE,CAAC;QAC/B,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -5,5 +5,10 @@
|
|
|
5
5
|
* URL via `history.replaceState` so casual screen-sharing never exposes it. The read+strip is a side
|
|
6
6
|
* effect, so it runs inside `useEffect` (not a `useState` lazy initializer), render must stay pure.
|
|
7
7
|
*/
|
|
8
|
-
/**
|
|
9
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Read `?t=` once, strip it from the visible URL, and return the token. Tri-state so the caller can
|
|
10
|
+
* distinguish "still resolving" from "resolved, absent": `null` until the mount effect has run,
|
|
11
|
+
* `""` when the URL carried no token (the caller shows recovery guidance rather than spinning
|
|
12
|
+
* forever), and the token string otherwise.
|
|
13
|
+
*/
|
|
14
|
+
export declare function useOnboardingToken(): string | null;
|
|
@@ -7,16 +7,23 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import React from "react";
|
|
9
9
|
const TOKEN_QUERY_PARAM = "t";
|
|
10
|
-
/**
|
|
10
|
+
/**
|
|
11
|
+
* Read `?t=` once, strip it from the visible URL, and return the token. Tri-state so the caller can
|
|
12
|
+
* distinguish "still resolving" from "resolved, absent": `null` until the mount effect has run,
|
|
13
|
+
* `""` when the URL carried no token (the caller shows recovery guidance rather than spinning
|
|
14
|
+
* forever), and the token string otherwise.
|
|
15
|
+
*/
|
|
11
16
|
export function useOnboardingToken() {
|
|
12
|
-
const [token, setToken] = React.useState(
|
|
17
|
+
const [token, setToken] = React.useState(null);
|
|
13
18
|
React.useEffect(() => {
|
|
14
19
|
if (typeof window === "undefined")
|
|
15
20
|
return;
|
|
16
21
|
const params = new URLSearchParams(window.location.search);
|
|
17
22
|
const fromUrl = params.get(TOKEN_QUERY_PARAM);
|
|
18
|
-
if (fromUrl === null || fromUrl === "")
|
|
23
|
+
if (fromUrl === null || fromUrl === "") {
|
|
24
|
+
setToken("");
|
|
19
25
|
return;
|
|
26
|
+
}
|
|
20
27
|
setToken(fromUrl);
|
|
21
28
|
// Move it out of the visible URL (PRD implementation note), the token stays in memory only.
|
|
22
29
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-onboarding-token.js","sourceRoot":"","sources":["../../../../src/dashboard/web/onboarding/use-onboarding-token.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,iBAAiB,GAAG,GAAY,CAAC;AAEvC
|
|
1
|
+
{"version":3,"file":"use-onboarding-token.js","sourceRoot":"","sources":["../../../../src/dashboard/web/onboarding/use-onboarding-token.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,iBAAiB,GAAG,GAAY,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB;IACjC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAE9D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAC1C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACxC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACb,OAAO;QACR,CAAC;QAED,QAAQ,CAAC,OAAO,CAAC,CAAC;QAElB,4FAA4F;QAC5F,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC3C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAClF,CAAC;QAAC,MAAM,CAAC;YACR,0FAA0F;YAC1F,2EAA2E;QAC5E,CAAC;IACF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,KAAK,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@legioncodeinc/hive",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Hive portal daemon",
|
|
5
5
|
"license": "AGPL-3.0-or-later",
|
|
6
6
|
"type": "module",
|
|
@@ -21,7 +21,11 @@
|
|
|
21
21
|
"hive": "dist/cli.js"
|
|
22
22
|
},
|
|
23
23
|
"files": [
|
|
24
|
-
"dist"
|
|
24
|
+
"dist",
|
|
25
|
+
"assets/styles.css",
|
|
26
|
+
"assets/tokens",
|
|
27
|
+
"assets/logos",
|
|
28
|
+
"assets/brand"
|
|
25
29
|
],
|
|
26
30
|
"scripts": {
|
|
27
31
|
"build": "tsc && node esbuild.config.mjs",
|