glimmervoid 0.34.1 → 0.35.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.
Files changed (52) hide show
  1. package/dist/bin/glimmervoid.js +31 -19
  2. package/dist/chunks/adapters-B37wqNti.js +1 -0
  3. package/dist/chunks/{adapters-D-cRFZ_Q.js → adapters-CADejSpq.js} +219 -9
  4. package/dist/chunks/agent-api-cli-CRj_FYbz.js +1 -0
  5. package/dist/chunks/{agent-api-cli-DuT7437B.js → agent-api-cli-vGwstJ1j.js} +57 -17
  6. package/dist/chunks/{agent-api-core-Ddg15j2j.js → agent-api-core-D1233u1U.js} +35 -9
  7. package/dist/chunks/{agent-setup-cli-CFielF2o.js → agent-setup-cli-BTAFcckd.js} +2 -2
  8. package/dist/chunks/child-process-safe-ChRmWAJP.js +1 -0
  9. package/dist/chunks/{config-DTwMFUjx.js → config-rPbbL4nW.js} +12 -21
  10. package/dist/chunks/config-store-BeIxAZNn.js +1 -0
  11. package/dist/chunks/{config-store-D0lRWsAM.js → config-store-BtsYbNC3.js} +44 -14
  12. package/dist/chunks/{contracts-DZV9H8px.js → contracts-DjIgIuDk.js} +27 -27
  13. package/dist/chunks/{git-version-CrLW4a6r.js → git-version-CUcDtF5k.js} +3 -3
  14. package/dist/chunks/{grok-BYKnBgdr.js → grok-KKgdSe-7.js} +7 -3
  15. package/dist/chunks/{ingest-editor-core-vR6Wv6bP.js → ingest-editor-core-B2tycW_m.js} +4 -4
  16. package/dist/chunks/{json-file-oEH9vt-0.js → json-file-BaxGcB2R.js} +1 -1
  17. package/dist/chunks/{knowledge-graph-cli-BBE3R9DJ.js → knowledge-graph-cli-Rj5nj87L.js} +4 -4
  18. package/dist/chunks/{main-VMWdsGC6.js → main-BTI0J5QE.js} +325 -424
  19. package/dist/chunks/{pair-cli-CI848omy.js → pair-cli-Dcyzv3In.js} +2 -2
  20. package/dist/chunks/paths-Bu4eH1Yd.js +27 -0
  21. package/dist/chunks/{remote-config-Y6YtqoiO.js → remote-config-Dd1T-VJA.js} +3 -3
  22. package/dist/chunks/{rtk-resolver-jJxy_Mrt.js → rtk-resolver-B9pzjLsM.js} +1 -1
  23. package/dist/chunks/rtk-resolver-SWU5VVM7.js +1 -0
  24. package/dist/chunks/{runtime-paths-BPoxENmK.js → runtime-paths-BkeftE60.js} +3 -4
  25. package/dist/chunks/runtime-paths-DSmormp7.js +1 -0
  26. package/dist/chunks/{sandbox-deps-C63o3mZs.js → sandbox-deps-CWiH1d1w.js} +3 -3
  27. package/dist/chunks/{session-C7rstCmA.js → session-D6xXN0UU.js} +26 -4
  28. package/dist/chunks/session-routes-BYy3am9m.js +127 -0
  29. package/dist/chunks/{ssh-sign-cli-SWtTF00D.js → ssh-sign-cli-DPHpT22B.js} +11 -7
  30. package/dist/chunks/{visions-cli-BhFdym5n.js → visions-cli-CYujESdJ.js} +2 -2
  31. package/dist/chunks/{visions-setup-CfgNHiG3.js → visions-setup-B-ZeRdsi.js} +9 -9
  32. package/dist/client/assets/index-DE2GUmqs.css +1 -0
  33. package/dist/client/assets/index-Ds4ngkHp.js +254 -0
  34. package/dist/client/index.html +2 -2
  35. package/dist/scripts/postinstall-path-check.js +1 -1
  36. package/dist/server/index.js +2 -2
  37. package/dist/session/hook-tool-relay.js +2 -2
  38. package/dist/session/sandbox-open-launcher.js +1 -1
  39. package/dist/session/statusline-relay.js +1 -1
  40. package/dist/session/visions-relay.js +3 -3
  41. package/dist/tools/vscode-visions/visions-lsp-core.js +1 -1
  42. package/package.json +8 -8
  43. package/dist/chunks/adapters-CgbcceU3.js +0 -2
  44. package/dist/chunks/agent-api-cli-CRJYxzVU.js +0 -2
  45. package/dist/chunks/child-process-safe-B3zcPdFM.js +0 -2
  46. package/dist/chunks/config-store-DwTxLe8Y.js +0 -2
  47. package/dist/chunks/paths-CeJl2Vcg.js +0 -55
  48. package/dist/chunks/rtk-resolver-CIVLE_xk.js +0 -2
  49. package/dist/chunks/runtime-paths-DU5jBEEO.js +0 -2
  50. package/dist/client/assets/index-BxU3Ww0L.css +0 -1
  51. package/dist/client/assets/index-b9goyXSa.js +0 -254
  52. package/dist/chunks/{child-process-safe-DDELk9XC.js → child-process-safe-CbQnyh7D.js} +1 -1
@@ -7,8 +7,8 @@
7
7
  <link rel="icon" type="image/svg+xml" href="/assets/favicon-CKygeLwW.svg">
8
8
  <title>Glimmervoid</title>
9
9
  <style>html,body{background:var(--bg,#0a0810);height:100%;color:var(--text,#c8c0e0);font-family:var(--font-mono,"CommitMono", "Cascadia Code", "Fira Code", "Consolas", "Menlo", monospace);margin:0;padding:0}.app-shell{display:none}html:not([data-layout=phone]) .app-ready .app-shell{display:contents}.loading-screen{z-index:9999;background:#0a0810;flex-direction:column;justify-content:center;align-items:center;gap:20px;transition:opacity .3s;display:flex;position:fixed;inset:0}.loading-screen.fade-out{opacity:0;pointer-events:none}.loading-title{letter-spacing:.1em;color:#e8e0ff;text-transform:uppercase;font-family:CommitMono,Cascadia Code,Fira Code,Consolas,Menlo,monospace;font-size:20px;font-weight:700}.loading-title:before{content:"▸";color:#c084fc}.loading-status{color:#8276b0;letter-spacing:.04em;font-family:CommitMono,Cascadia Code,Fira Code,Consolas,Menlo,monospace;font-size:12px}.loading-spinner{border:2px solid #2a2440;border-top-color:#c084fc;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.shutdown-screen{z-index:9999;-webkit-backdrop-filter:blur();backdrop-filter:blur();pointer-events:none;opacity:0;background:#0a081000;flex-direction:column;justify-content:center;align-items:center;gap:20px;transition:background .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s,opacity .3s;display:flex;position:fixed;inset:0}.shutdown-screen.active{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;opacity:1;background:#0a0810eb}.shutdown-status{color:#8276b0;letter-spacing:.04em;font-family:CommitMono,Cascadia Code,Fira Code,Consolas,Menlo,monospace;font-size:12px;transition:color .3s}.shutdown-screen.done .loading-spinner{opacity:.3;border-color:#2a2440;animation:none}.shutdown-screen.done .shutdown-status{color:#4a4268}</style>
10
- <script type="module" crossorigin src="/assets/index-b9goyXSa.js"></script>
11
- <link rel="stylesheet" crossorigin href="/assets/index-BxU3Ww0L.css">
10
+ <script type="module" crossorigin src="/assets/index-Ds4ngkHp.js"></script>
11
+ <link rel="stylesheet" crossorigin href="/assets/index-DE2GUmqs.css">
12
12
  </head>
13
13
  <body>
14
14
  <div class="loading-screen" id="loading-screen">
@@ -1,4 +1,4 @@
1
- import { a as sandboxInstallNotice, r as probeSandboxDependencies } from "../chunks/sandbox-deps-C63o3mZs.js";
1
+ import { a as sandboxInstallNotice, r as probeSandboxDependencies } from "../chunks/sandbox-deps-CWiH1d1w.js";
2
2
  import { n as npmGlobalBinDir, r as onPath, t as formatPathNotice } from "../chunks/path-doctor-C23VAqeu.js";
3
3
  import os from "node:os";
4
4
  //#region scripts/postinstall-path-check.ts
@@ -1,5 +1,5 @@
1
1
  import { a as formatNodePtyBootRefusal, t as probeNodePty } from "../chunks/node-pty-preflight-C8QIlrtU.js";
2
- import { a as packageRoot } from "../chunks/runtime-paths-BPoxENmK.js";
2
+ import { a as packageRoot } from "../chunks/runtime-paths-BkeftE60.js";
3
3
  import fs from "node:fs";
4
4
  import path from "node:path";
5
5
  import { pathToFileURL } from "node:url";
@@ -87,6 +87,6 @@ if (!nodePty.ok) {
87
87
  }));
88
88
  process.exit(1);
89
89
  }
90
- await import("../chunks/main-VMWdsGC6.js");
90
+ await import("../chunks/main-BTI0J5QE.js");
91
91
  //#endregion
92
92
  export {};
@@ -1,4 +1,4 @@
1
- import { o as spawn } from "../chunks/child-process-safe-DDELk9XC.js";
1
+ import { o as spawn } from "../chunks/child-process-safe-CbQnyh7D.js";
2
2
  import { t as readStdin } from "../chunks/relay-stdin-CpHvLu6M.js";
3
3
  import { a as SANE_YOLO_PATH_ENV, n as RTK_PATH_ENV, r as normalizeRtkHookResponse } from "../chunks/rtk-hook-core-BmEz2aq9.js";
4
4
  //#region session/hook-tool-relay.ts
@@ -104,4 +104,4 @@ function runRtk(binPath, body) {
104
104
  return runHookTool("rtk", binPath, body);
105
105
  }
106
106
  //#endregion
107
- export { RTK_TIMEOUT_MS, main, runHookTool, runRtk };
107
+ export { main, runHookTool, runRtk };
@@ -1,5 +1,5 @@
1
1
  import { r as errorMessage } from "../chunks/text-DoirglWV.js";
2
- import { o as spawn } from "../chunks/child-process-safe-DDELk9XC.js";
2
+ import { o as spawn } from "../chunks/child-process-safe-CbQnyh7D.js";
3
3
  import fs from "node:fs";
4
4
  import path from "node:path";
5
5
  import tty from "node:tty";
@@ -1,4 +1,4 @@
1
- import { o as spawn } from "../chunks/child-process-safe-DDELk9XC.js";
1
+ import { o as spawn } from "../chunks/child-process-safe-CbQnyh7D.js";
2
2
  import { t as readStdin } from "../chunks/relay-stdin-CpHvLu6M.js";
3
3
  import { t as postPayload } from "../chunks/loopback-post-DepQfdcM.js";
4
4
  import { n as isRecord } from "../chunks/coerce-NSst8oRP.js";
@@ -1,12 +1,12 @@
1
1
  import { n as glimmervoidHomeDir, t as decideConfigPath } from "../chunks/config-path-core-DFt-TemS.js";
2
2
  import { n as isRecord } from "../chunks/coerce-NSst8oRP.js";
3
- import { d as applyDidOpen, f as createDocStore, h as getDoc, l as applyDidChange, m as formatRange, t as ACTIVITY_METHOD, u as applyDidClose, v as listDocs, x as uriOfParams } from "../chunks/ingest-editor-core-vR6Wv6bP.js";
3
+ import { d as applyDidOpen, f as createDocStore, h as getDoc, l as applyDidChange, m as formatRange, t as ACTIVITY_METHOD, u as applyDidClose, v as listDocs, x as uriOfParams } from "../chunks/ingest-editor-core-B2tycW_m.js";
4
4
  import { r as nextBackoffMs } from "../chunks/backoff-DjVpfHk7.js";
5
5
  import { n as unrefTimer } from "../chunks/timer-deps-u2DAQLok.js";
6
6
  import fs from "node:fs";
7
7
  import os from "node:os";
8
8
  import WebSocket from "ws";
9
- //#region server/core/visions-lsp-core.ts
9
+ //#region server/visions/core/visions-lsp-core.ts
10
10
  var HEADER_END = "\r\n\r\n";
11
11
  var CONTENT_LENGTH_RE = /^content-length:\s*(\d+)\s*$/i;
12
12
  function createParserState() {
@@ -633,4 +633,4 @@ function main() {
633
633
  }
634
634
  if (process.argv[1] === import.meta.filename) main();
635
635
  //#endregion
636
- export { ACTIVITY_METHOD, APPLY_EDIT_METHOD, CODE_ACTION_METHOD, CODE_ACTION_TIMEOUT_MS, MAX_DAEMON_FRAME_BYTES, STABLE_CONNECTION_MS, SYNC_KIND_INCREMENTAL, createRelay, daemonMessage, decideDaemonFrame, initializeResult, methodNotFoundResponse, planMirrorReplay, readConfiguredPort, replayDidOpenMessage, resolvePortPlan, sendWsFrame, sendWsJson };
636
+ export { ACTIVITY_METHOD, APPLY_EDIT_METHOD, CODE_ACTION_METHOD, CODE_ACTION_TIMEOUT_MS, MAX_DAEMON_FRAME_BYTES, SYNC_KIND_INCREMENTAL, createRelay, daemonMessage, decideDaemonFrame, planMirrorReplay, readConfiguredPort, replayDidOpenMessage, resolvePortPlan, sendWsFrame, sendWsJson };
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region server/core/visions-lsp-core.ts
2
+ //#region server/visions/core/visions-lsp-core.ts
3
3
  var HEADER_END = "\r\n\r\n";
4
4
  var CONTENT_LENGTH_RE = /^content-length:\s*(\d+)\s*$/i;
5
5
  function createParserState() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glimmervoid",
3
- "version": "0.34.1",
3
+ "version": "0.35.0",
4
4
  "description": "Mission control for coding agents: run and supervise Claude Code, Codex and Grok sessions in parallel git worktrees from one local browser dashboard",
5
5
  "main": "dist/server/index.js",
6
6
  "type": "module",
@@ -80,22 +80,22 @@
80
80
  "@xterm/addon-webgl": "^0.19.0",
81
81
  "@xterm/headless": "^6.0.0",
82
82
  "@xterm/xterm": "^6.0.0",
83
- "cc-safety-net": "2.6.0",
84
- "express": "^5.2.1",
83
+ "cc-safety-net": "2.6.10",
84
+ "express": "^5.3.0",
85
85
  "node-pty": "^1.1.0",
86
86
  "ws": "^8.22.0",
87
- "zod": "^4.6.5"
87
+ "zod": "^4.6.7"
88
88
  },
89
89
  "allowScripts": {
90
90
  "node-pty": true
91
91
  },
92
92
  "devDependencies": {
93
- "@biomejs/biome": "^2.5.14",
93
+ "@biomejs/biome": "^2.5.15",
94
94
  "@tailwindcss/vite": "^4.3.3",
95
- "@types/node": "^26.6.3",
96
- "playwright-core": "1.63.0",
95
+ "@types/node": "^26.6.5",
96
+ "playwright-core": "1.64.0",
97
97
  "tailwindcss": "^4.3.3",
98
98
  "typescript": "^7.0.2",
99
- "vite": "^8.3.1"
99
+ "vite": "^8.3.4"
100
100
  }
101
101
  }
@@ -1,2 +0,0 @@
1
- import { a as describeAgentResolvability, d as setCustomAgents, l as listAgentIds } from "./adapters-D-cRFZ_Q.js";
2
- export { describeAgentResolvability, listAgentIds, setCustomAgents };
@@ -1,2 +0,0 @@
1
- import { n as runAgentApiCli } from "./agent-api-cli-DuT7437B.js";
2
- export { runAgentApiCli };
@@ -1,2 +0,0 @@
1
- import { r as execFileSync } from "./child-process-safe-DDELk9XC.js";
2
- export { execFileSync };
@@ -1,2 +0,0 @@
1
- import { c as loadConfigFile } from "./config-store-D0lRWsAM.js";
2
- export { loadConfigFile };
@@ -1,55 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import { promisify } from "node:util";
4
- //#region shared/paths.ts
5
- var realpathNative = promisify(fs.realpath.native);
6
- function canonicalizePath(p) {
7
- try {
8
- return fs.realpathSync.native(p);
9
- } catch {
10
- return p;
11
- }
12
- }
13
- function caseFoldedPathKey(value) {
14
- return process.platform === "win32" ? value.toLowerCase() : value;
15
- }
16
- function equalsIgnoringCaseOnWindows(a, b) {
17
- return caseFoldedPathKey(a) === caseFoldedPathKey(b);
18
- }
19
- function isSameDirectoryPath(a, b) {
20
- const resolvedA = path.resolve(String(a || ""));
21
- const resolvedB = path.resolve(String(b || ""));
22
- if (equalsIgnoringCaseOnWindows(resolvedA, resolvedB)) return true;
23
- if (process.platform !== "win32" && process.platform !== "darwin") return false;
24
- return equalsIgnoringCaseOnWindows(canonicalizePath(resolvedA), canonicalizePath(resolvedB));
25
- }
26
- async function comparableDirectoryPath(candidatePath) {
27
- const resolvedPath = path.resolve(String(candidatePath || ""));
28
- let canonicalPath;
29
- try {
30
- canonicalPath = await realpathNative(resolvedPath);
31
- } catch {
32
- canonicalPath = resolvedPath;
33
- }
34
- if (process.platform !== "win32") return canonicalPath;
35
- return canonicalPath.toLowerCase();
36
- }
37
- function isPathInside(parent, child, { allowEqual = true, foldCase = false } = {}) {
38
- if (!parent || !child) return false;
39
- const resolvedParent = path.resolve(parent);
40
- const resolvedChild = path.resolve(child);
41
- const from = foldCase ? resolvedParent.toLowerCase() : resolvedParent;
42
- const to = foldCase ? resolvedChild.toLowerCase() : resolvedChild;
43
- const relative = path.relative(from, to);
44
- if (relative === "") return allowEqual;
45
- if (path.isAbsolute(relative)) return false;
46
- return relative !== ".." && !relative.startsWith(`..${path.sep}`);
47
- }
48
- function safePathSegment(value) {
49
- return String(value).replace(/[<>:"/\\|?*\x00-\x1f]/g, "-").replace(/[. ]+$/, "") || "_";
50
- }
51
- function sanitizeWorktreeName(value) {
52
- return String(value || "").replace(/[^\w.-]+/g, "-").replace(/^-+|-+$/g, "");
53
- }
54
- //#endregion
55
- export { isPathInside as a, sanitizeWorktreeName as c, equalsIgnoringCaseOnWindows as i, caseFoldedPathKey as n, isSameDirectoryPath as o, comparableDirectoryPath as r, safePathSegment as s, canonicalizePath as t };
@@ -1,2 +0,0 @@
1
- import { t as getRtkPath } from "./rtk-resolver-jJxy_Mrt.js";
2
- export { getRtkPath };
@@ -1,2 +0,0 @@
1
- import { s as resolvePackageBin } from "./runtime-paths-BPoxENmK.js";
2
- export { resolvePackageBin };