local-operator-ui 0.14.1 → 0.15.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/bin/local-operator-ui.js +71 -2
- package/out/main/index.js +5841 -2
- package/out/preload/index.js +256 -2
- package/out/renderer/assets/{_basePickBy-Cy9erSx0.js → _basePickBy-CfllbLPT.js} +1 -1
- package/out/renderer/assets/{_baseUniq-Cdh0lp5R.js → _baseUniq-t3IzOokH.js} +1 -1
- package/out/renderer/assets/agent-details-page-BU1kYKxK.js +6 -0
- package/out/renderer/assets/{agent-hub-page-D4ovDlBn.js → agent-hub-page-DrFYnBSt.js} +2 -2
- package/out/renderer/assets/{agents-page-C407yRQS.js → agents-page-cq-zLmOE.js} +5 -5
- package/out/renderer/assets/{architectureDiagram-IEHRJDOE-BxpB4aVb.js → architectureDiagram-IEHRJDOE-DZdNjiiw.js} +1 -1
- package/out/renderer/assets/{blockDiagram-JOT3LUYC-B_HweIEn.js → blockDiagram-JOT3LUYC-DfSTYCE8.js} +1 -1
- package/out/renderer/assets/{c4Diagram-VJAJSXHY-D17CqAh-.js → c4Diagram-VJAJSXHY-kj8ONcdJ.js} +1 -1
- package/out/renderer/assets/channel-Dy-Y0W96.js +1 -0
- package/out/renderer/assets/{chunk-4BMEZGHF-CIkDF-oX.js → chunk-4BMEZGHF-DTEIsOQ8.js} +1 -1
- package/out/renderer/assets/{chunk-A2AXSNBT-BHMWIiOa.js → chunk-A2AXSNBT-H5FcAjIP.js} +1 -1
- package/out/renderer/assets/{chunk-AEK57VVT-Bt_D_M5e.js → chunk-AEK57VVT-Ckh1RshY.js} +1 -1
- package/out/renderer/assets/{chunk-D6G4REZN-CHph6e1i.js → chunk-D6G4REZN-BI15Ho6z.js} +1 -1
- package/out/renderer/assets/{chunk-RZ5BOZE2-BdF4IfqM.js → chunk-RZ5BOZE2-B4XztrFv.js} +1 -1
- package/out/renderer/assets/{chunk-XZIHB7SX-Cfay2vIu.js → chunk-XZIHB7SX-RYtDnxT5.js} +1 -1
- package/out/renderer/assets/classDiagram-GIVACNV2-BZfvXxWD.js +1 -0
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-BZfvXxWD.js +1 -0
- package/out/renderer/assets/clone-Dd3fQGFQ.js +1 -0
- package/out/renderer/assets/{dagre-OKDRZEBW-BXMKs78G.js → dagre-OKDRZEBW-CVqq_Qpq.js} +1 -1
- package/out/renderer/assets/{diagram-SSKATNLV-DhSX6SYv.js → diagram-SSKATNLV-7I1hPrEB.js} +1 -1
- package/out/renderer/assets/{diagram-VNBRO52H-W1auqSvU.js → diagram-VNBRO52H-B4In8mRQ.js} +1 -1
- package/out/renderer/assets/{erDiagram-Q7BY3M3F-Bgf4HPgp.js → erDiagram-Q7BY3M3F-D8m7xWyt.js} +1 -1
- package/out/renderer/assets/{flowDiagram-4HSFHLVR-Dqs3w7l7.js → flowDiagram-4HSFHLVR-HzyvxZJ_.js} +1 -1
- package/out/renderer/assets/{ganttDiagram-APWFNJXF-W2Dl2kia.js → ganttDiagram-APWFNJXF-D9VGOeKz.js} +1 -1
- package/out/renderer/assets/{gitGraphDiagram-7IBYFJ6S-bzFBPCxE.js → gitGraphDiagram-7IBYFJ6S-bCjN7hkh.js} +1 -1
- package/out/renderer/assets/{graph-BMAumaKR.js → graph-Bm4dxGQt.js} +1 -1
- package/out/renderer/assets/{icon-Bdl-1nZa.js → icon-BIaTDBQz.js} +27 -32
- package/out/renderer/assets/icon-CtRkDz9c.css +1 -0
- package/out/renderer/assets/{index-CkXXVBtx.js → index-B1ky8xLm.js} +1 -1
- package/out/renderer/assets/{index-B6-l73tV.js → index-C_toWewb.js} +1 -1
- package/out/renderer/assets/{index-7CdFyTkj.js → index-fNnd2qrg.js} +483 -449
- package/out/renderer/assets/{infoDiagram-PH2N3AL5-CbpfPVKf.js → infoDiagram-PH2N3AL5-B2JkP-Hd.js} +1 -1
- package/out/renderer/assets/installer-DYZ22Cfq.js +21 -0
- package/out/renderer/assets/{journeyDiagram-U35MCT3I-De-0hv4q.js → journeyDiagram-U35MCT3I-NnbVNsik.js} +1 -1
- package/out/renderer/assets/{kanban-definition-NDS4AKOZ-BPd3pi-w.js → kanban-definition-NDS4AKOZ-DBgR7W50.js} +1 -1
- package/out/renderer/assets/{layout-XEIorevy.js → layout-CE8ShubG.js} +1 -1
- package/out/renderer/assets/{mermaid.core-sEsfjAyk.js → mermaid.core-CExbFl-7.js} +5 -5
- package/out/renderer/assets/{mindmap-definition-ALO5MXBD-CFXykZSH.js → mindmap-definition-ALO5MXBD-ag_HQs7G.js} +1 -1
- package/out/renderer/assets/{page-header-B3jpJFT8.js → page-header-GWjqQg3-.js} +1 -1
- package/out/renderer/assets/{parseISO-CO0fdbU-.js → parseISO-LV1Yh_aZ.js} +1 -1
- package/out/renderer/assets/{pieDiagram-IB7DONF6-DMDEzLCV.js → pieDiagram-IB7DONF6-DJ-5Rt4W.js} +1 -1
- package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-SUeX7lBX.js → quadrantDiagram-7GDLP6J5-BQceCClO.js} +1 -1
- package/out/renderer/assets/{radar-MK3ICKWK-DDk8ymtw.js → radar-MK3ICKWK-D2qI0wBa.js} +1 -1
- package/out/renderer/assets/{requirementDiagram-KVF5MWMF-BsFfxWiY.js → requirementDiagram-KVF5MWMF-Bd6T_ndu.js} +1 -1
- package/out/renderer/assets/{sankeyDiagram-QLVOVGJD-CpAd5XMM.js → sankeyDiagram-QLVOVGJD-CnMYNt__.js} +1 -1
- package/out/renderer/assets/{schedules-page-B9u-fITa.js → schedules-page-DqrcIxzB.js} +9 -9
- package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-C3opC0to.js → sequenceDiagram-X6HHIX6F-SiFK0EWD.js} +1 -1
- package/out/renderer/assets/settings-page-D_JWK3qq.js +165 -0
- package/out/renderer/assets/{settings-section-Cr0MA7c0.js → settings-section-yqdH5CNp.js} +1 -1
- package/out/renderer/assets/{square-pen-DowzdNbI.js → square-pen-sK57wlY1.js} +1 -1
- package/out/renderer/assets/{stateDiagram-DGXRK772-DECvRMXG.js → stateDiagram-DGXRK772-BrX4XGdu.js} +1 -1
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-CEzipxL2.js +1 -0
- package/out/renderer/assets/{timeline-definition-BDJGKUSR-NQ4Fd0l2.js → timeline-definition-BDJGKUSR-CtwXxKAC.js} +1 -1
- package/out/renderer/assets/use-agent-like-mutation-f9aYefiU.js +1 -0
- package/out/renderer/assets/{xychartDiagram-VJFVF3MP-D3b3_Vc_.js → xychartDiagram-VJFVF3MP-BUx2vked.js} +1 -1
- package/out/renderer/index.html +3 -3
- package/out/renderer/installer.html +3 -3
- package/package.json +13 -4
- package/out/main/bytecode-loader.cjs +0 -72
- package/out/main/index.jsc +0 -0
- package/out/preload/bytecode-loader.cjs +0 -72
- package/out/preload/index.jsc +0 -0
- package/out/renderer/assets/agent-details-page-CiFKV0Jt.js +0 -6
- package/out/renderer/assets/channel-UECC9RiS.js +0 -1
- package/out/renderer/assets/classDiagram-GIVACNV2-Azw5v2F7.js +0 -1
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-Azw5v2F7.js +0 -1
- package/out/renderer/assets/clone-Bd4rSxIW.js +0 -1
- package/out/renderer/assets/icon-Dwj-2eqO.css +0 -1
- package/out/renderer/assets/installer-BahdLBix.js +0 -16
- package/out/renderer/assets/settings-page-BUNGBMNO.js +0 -154
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-Cq4eZ4i6.js +0 -1
- package/out/renderer/assets/use-agent-like-mutation-COMP5roj.js +0 -1
package/bin/local-operator-ui.js
CHANGED
|
@@ -11,8 +11,77 @@ const { spawn } = require("node:child_process");
|
|
|
11
11
|
const path = require("node:path");
|
|
12
12
|
const fs = require("node:fs");
|
|
13
13
|
|
|
14
|
-
//
|
|
15
|
-
|
|
14
|
+
// Electron is an optionalDependency pinned to an exact version, not a plain
|
|
15
|
+
// dependency: electron-builder refuses to package a project that lists electron
|
|
16
|
+
// under "dependencies", but the npm/npx launcher below still needs a runtime at
|
|
17
|
+
// require time. "optional" keeps electron-builder happy while npm/bun/pnpm still
|
|
18
|
+
// install it for the CLI. The cost of "optional" is that a failed install is
|
|
19
|
+
// silent, so resolve it defensively and say what to do. See issue #88.
|
|
20
|
+
let electronPath;
|
|
21
|
+
try {
|
|
22
|
+
electronPath = require("electron");
|
|
23
|
+
} catch (err) {
|
|
24
|
+
console.error("Error: Could not resolve the Electron runtime.");
|
|
25
|
+
console.error(
|
|
26
|
+
"Electron is an optional dependency and its binary download may have been",
|
|
27
|
+
);
|
|
28
|
+
console.error(
|
|
29
|
+
"skipped or blocked. Reinstall with optional dependencies enabled, e.g.",
|
|
30
|
+
);
|
|
31
|
+
console.error(" npm install -g local-operator-ui --include=optional");
|
|
32
|
+
console.error(`Underlying error: ${err.message}`);
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// The try/catch above only catches "nothing resolvable at all", and that is not
|
|
37
|
+
// how issue #88 actually failed. There, `require("electron")` succeeded and
|
|
38
|
+
// returned an AMBIENT Electron 44.2.0 from higher up the directory tree, because
|
|
39
|
+
// our own optional install had not produced one. Resolution throws nothing in
|
|
40
|
+
// that case, so the guard above never fires and the app runs on a runtime we
|
|
41
|
+
// never tested. Assert the version, not just the presence.
|
|
42
|
+
//
|
|
43
|
+
// Compare on MAJOR only. Electron's ABI, V8, Chromium and Node all move on the
|
|
44
|
+
// major boundary, which is the axis that broke #88 (35 vs 44); a patch or minor
|
|
45
|
+
// difference is the normal result of a hoisted or deduped tree and warning about
|
|
46
|
+
// it would print noise on a working install.
|
|
47
|
+
//
|
|
48
|
+
// WARN, never exit. Since #88 the npm channel ships plain JS rather than V8
|
|
49
|
+
// bytecode, so a mismatched major usually still runs. Making this fatal would
|
|
50
|
+
// convert a degraded-but-working install into no app at all, which is a worse
|
|
51
|
+
// outcome than the one being guarded against. The user gets the diagnosis and
|
|
52
|
+
// the app still starts. CI does not get this latitude: scripts/npx-smoke-test.mjs
|
|
53
|
+
// asserts the EXACT pinned version and fails, because there we control the
|
|
54
|
+
// install and an unintended runtime means the artifact was never really tested.
|
|
55
|
+
//
|
|
56
|
+
// Both versions are read defensively inside the try for the same reason: this
|
|
57
|
+
// is a diagnostic, and a diagnostic must never be why the app fails to start.
|
|
58
|
+
// Missing or malformed metadata degrades to "cannot verify". An earlier revision
|
|
59
|
+
// read the pin at module scope and crashed the launcher outright on a
|
|
60
|
+
// package.json with no optionalDependencies.
|
|
61
|
+
try {
|
|
62
|
+
const pinned = require("../package.json").optionalDependencies?.electron;
|
|
63
|
+
const resolved = require("electron/package.json").version;
|
|
64
|
+
if (!pinned || !resolved) {
|
|
65
|
+
throw new Error("no version to compare");
|
|
66
|
+
}
|
|
67
|
+
if (resolved.split(".")[0] !== pinned.split(".")[0]) {
|
|
68
|
+
console.warn(
|
|
69
|
+
`Warning: local-operator-ui pins Electron ${pinned} but resolved ${resolved}.`,
|
|
70
|
+
);
|
|
71
|
+
console.warn(
|
|
72
|
+
"This usually means the optional Electron install was skipped and another",
|
|
73
|
+
);
|
|
74
|
+
console.warn(
|
|
75
|
+
"Electron was picked up from the surrounding environment. The app will try",
|
|
76
|
+
);
|
|
77
|
+
console.warn("to start anyway. If it misbehaves, reinstall with:");
|
|
78
|
+
console.warn(" npm install -g local-operator-ui --include=optional");
|
|
79
|
+
}
|
|
80
|
+
} catch (err) {
|
|
81
|
+
// Version metadata is unreadable while the binary itself resolved. Nothing
|
|
82
|
+
// actionable to assert, and the app is more useful started than blocked.
|
|
83
|
+
console.warn(`Warning: could not verify the Electron version: ${err.message}`);
|
|
84
|
+
}
|
|
16
85
|
|
|
17
86
|
// Get the path to the main.js file
|
|
18
87
|
const appPath = path.join(__dirname, "../out/main/index.js");
|