openwolf-enhanced 1.24.0 → 1.26.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.
- package/CHANGELOG.md +98 -0
- package/README.md +1 -0
- package/dist/dashboard/assets/{AISuggestions-BcrcICy5.js → AISuggestions-DZmzksSA.js} +1 -1
- package/dist/dashboard/assets/{ActivityLog-CJGguuT-.js → ActivityLog-BJ0omuzu.js} +1 -1
- package/dist/dashboard/assets/{ActivityTimeline-BvWTsZ2o.js → ActivityTimeline-BWhxretI.js} +1 -1
- package/dist/dashboard/assets/{AnatomyBrowser-j2V7V1WI.js → AnatomyBrowser-DNVp6-_r.js} +1 -1
- package/dist/dashboard/assets/{BugLog-DaR2wOGf.js → BugLog-DMJTuU9p.js} +1 -1
- package/dist/dashboard/assets/{CerebrumViewer-Cs5vYijs.js → CerebrumViewer-BwcGr6pu.js} +1 -1
- package/dist/dashboard/assets/{CronStatus-CcrkDAsM.js → CronStatus-Dwf_M4-S.js} +1 -1
- package/dist/dashboard/assets/{DesignQC-BC2qsktm.js → DesignQC-DzHkh94I.js} +1 -1
- package/dist/dashboard/assets/{LinkGraph--uMAvXtg.js → LinkGraph-kqQD--Yj.js} +1 -1
- package/dist/dashboard/assets/{MemoryViewer-4b8-q7KX.js → MemoryViewer-BCn9Fr-w.js} +1 -1
- package/dist/dashboard/assets/{NativeMemory-D5HN0HJ5.js → NativeMemory-DPMZaP5E.js} +1 -1
- package/dist/dashboard/assets/{ProjectOverview-B58xDx2V.js → ProjectOverview-PWENJiC4.js} +1 -1
- package/dist/dashboard/assets/{ProjectsAggregate-C57XwJCx.js → ProjectsAggregate-Baj44DVk.js} +1 -1
- package/dist/dashboard/assets/{StatusBadge-BayXn3Dm.js → StatusBadge-Db61D51H.js} +1 -1
- package/dist/dashboard/assets/{TokenUsage-vRnYxc2M.js → TokenUsage-UefDh9w4.js} +1 -1
- package/dist/dashboard/assets/{index-h6ry-tKn.js → index-e2PfOI0b.js} +3 -3
- package/dist/dashboard/index.html +1 -1
- package/dist/src/cli/daemon-cmd.js +111 -18
- package/dist/src/cli/daemon-cmd.js.map +1 -1
- package/dist/src/cli/doctor-cmd.js +70 -2
- package/dist/src/cli/doctor-cmd.js.map +1 -1
- package/dist/src/cli/index.js +11 -2
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/registry.js +50 -7
- package/dist/src/cli/registry.js.map +1 -1
- package/dist/src/cli/unregister.js +76 -0
- package/dist/src/cli/unregister.js.map +1 -0
- package/dist/src/daemon/wolf-daemon.js +15 -0
- package/dist/src/daemon/wolf-daemon.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
8
8
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
9
9
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
|
|
10
|
-
<script type="module" crossorigin src="./assets/index-
|
|
10
|
+
<script type="module" crossorigin src="./assets/index-e2PfOI0b.js"></script>
|
|
11
11
|
<link rel="stylesheet" crossorigin href="./assets/index-CVfvTpSA.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
@@ -3,7 +3,9 @@ import * as fs from "node:fs";
|
|
|
3
3
|
import * as path from "node:path";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
import { findProjectRoot } from "../scanner/project-root.js";
|
|
6
|
-
import { readJSON } from "../utils/fs-safe.js";
|
|
6
|
+
import { readJSON, writeJSON, withLock } from "../utils/fs-safe.js";
|
|
7
|
+
import { readDashboardToken } from "../utils/dashboard-auth.js";
|
|
8
|
+
import { isPortFree } from "../utils/ports.js";
|
|
7
9
|
import { isWindows } from "../utils/platform.js";
|
|
8
10
|
const __filename = fileURLToPath(import.meta.url);
|
|
9
11
|
const __dirname = path.dirname(__filename);
|
|
@@ -30,18 +32,43 @@ function hasPm2() {
|
|
|
30
32
|
return false;
|
|
31
33
|
}
|
|
32
34
|
}
|
|
35
|
+
// Pull the listening PID for `port` out of a `netstat -ano -p tcp` dump.
|
|
36
|
+
//
|
|
37
|
+
// Key off the SHAPE of the row, never off words in it. Two reasons, both of which made the
|
|
38
|
+
// old `includes("LISTENING")` test fail on this machine:
|
|
39
|
+
// 1. netstat localizes the state column — a German Windows prints ABHÖREN, a French one
|
|
40
|
+
// ÉCOUTE — so the daemon was never found and `daemon stop` reported "no daemon running"
|
|
41
|
+
// while one was plainly listening.
|
|
42
|
+
// 2. netstat writes the OEM codepage, not UTF-8, so that word arrives mojibake'd anyway.
|
|
43
|
+
// Row layout: TCP <local> <remote> <state> <pid>. A listener is the row whose REMOTE
|
|
44
|
+
// address is the wildcard (0.0.0.0:0 / [::]:0); matching the port anywhere in the line also
|
|
45
|
+
// hit TIME_WAIT rows, whose last column is a foreign PID — one taskkill away from killing
|
|
46
|
+
// somebody else's process.
|
|
47
|
+
//
|
|
48
|
+
// Exported for the test, and pure on purpose: the bug lived in the PARSE, and a parse that can
|
|
49
|
+
// only be exercised through a live socket on a localized Windows is a parse nobody tests.
|
|
50
|
+
// Everything platform-bound — spawning netstat — stays in findPidOnPort below.
|
|
51
|
+
export function parseNetstatListenerPid(output, port) {
|
|
52
|
+
for (const line of output.split("\n")) {
|
|
53
|
+
const parts = line.trim().split(/\s+/);
|
|
54
|
+
if (parts.length < 5 || parts[0] !== "TCP")
|
|
55
|
+
continue;
|
|
56
|
+
const [, local, remote] = parts;
|
|
57
|
+
if (!local.endsWith(`:${port}`) || !remote.endsWith(":0"))
|
|
58
|
+
continue;
|
|
59
|
+
const pid = parseInt(parts[parts.length - 1], 10);
|
|
60
|
+
if (pid > 0)
|
|
61
|
+
return pid;
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
33
65
|
function findPidOnPort(port) {
|
|
34
66
|
try {
|
|
35
67
|
if (isWindows()) {
|
|
36
68
|
const output = execFileSync("netstat", ["-ano", "-p", "tcp"], { encoding: "utf-8" });
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const pid = parseInt(parts[parts.length - 1], 10);
|
|
41
|
-
if (pid > 0)
|
|
42
|
-
return pid;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
69
|
+
const pid = parseNetstatListenerPid(output, port);
|
|
70
|
+
if (pid !== null)
|
|
71
|
+
return pid;
|
|
45
72
|
}
|
|
46
73
|
else {
|
|
47
74
|
const output = execFileSync("lsof", ["-ti", `:${port}`], { encoding: "utf-8" });
|
|
@@ -67,6 +94,54 @@ function killPid(pid) {
|
|
|
67
94
|
return false;
|
|
68
95
|
}
|
|
69
96
|
}
|
|
97
|
+
// A hard stop skips the daemon's own shutdown handler, which is what writes engine_status
|
|
98
|
+
// "stopped". On Windows that is EVERY hard stop — there is no signal delivery, so both taskkill
|
|
99
|
+
// and pm2 terminate the process outright. Without this, cron-state.json keeps saying "running"
|
|
100
|
+
// and `openwolf status` plus the dashboard both report a daemon that is gone. Whoever stopped it
|
|
101
|
+
// writes the truth. Idempotent, so it is safe to call when the handler DID run.
|
|
102
|
+
function markDaemonStopped(wolfDir) {
|
|
103
|
+
const statePath = path.join(wolfDir, "cron-state.json");
|
|
104
|
+
try {
|
|
105
|
+
withLock(statePath, () => {
|
|
106
|
+
const state = readJSON(statePath, {});
|
|
107
|
+
// No cron state at all means the daemon never wrote one — nothing to correct, and inventing
|
|
108
|
+
// a file here would only confuse the next start.
|
|
109
|
+
if (Object.keys(state).length === 0)
|
|
110
|
+
return;
|
|
111
|
+
writeJSON(statePath, { ...state, engine_status: "stopped" });
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
catch { /* best effort — the kill already happened */ }
|
|
115
|
+
}
|
|
116
|
+
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
117
|
+
// Ask the daemon to shut itself down, and wait until it really has. Returns false whenever that
|
|
118
|
+
// path is unavailable (nothing listening, no token, a daemon older than the /api/shutdown route,
|
|
119
|
+
// or a process too wedged to honour it) so the caller can fall back to killing it.
|
|
120
|
+
async function requestGracefulStop(wolfDir, port) {
|
|
121
|
+
const token = readDashboardToken(wolfDir);
|
|
122
|
+
if (!token)
|
|
123
|
+
return false;
|
|
124
|
+
try {
|
|
125
|
+
const res = await fetch(`http://127.0.0.1:${port}/api/shutdown`, {
|
|
126
|
+
method: "POST",
|
|
127
|
+
headers: { "x-openwolf-token": token },
|
|
128
|
+
signal: AbortSignal.timeout(3000),
|
|
129
|
+
});
|
|
130
|
+
if (!res.ok)
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
// The 202 arrives BEFORE the server closes. Poll the port instead of trusting the status code —
|
|
137
|
+
// shutdown() force-exits after 5s, so ~6s is the honest upper bound.
|
|
138
|
+
for (let i = 0; i < 60; i++) {
|
|
139
|
+
if (await isPortFree(port))
|
|
140
|
+
return true;
|
|
141
|
+
await sleep(100);
|
|
142
|
+
}
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
70
145
|
export function daemonStart() {
|
|
71
146
|
const projectRoot = findProjectRoot();
|
|
72
147
|
const wolfDir = path.join(projectRoot, ".wolf");
|
|
@@ -96,18 +171,22 @@ export function daemonStart() {
|
|
|
96
171
|
console.error("Failed to start daemon.");
|
|
97
172
|
}
|
|
98
173
|
}
|
|
99
|
-
export function daemonStop() {
|
|
174
|
+
export async function daemonStop() {
|
|
100
175
|
const projectRoot = findProjectRoot();
|
|
101
176
|
const wolfDir = path.join(projectRoot, ".wolf");
|
|
102
177
|
if (!fs.existsSync(wolfDir)) {
|
|
103
178
|
console.log("OpenWolf not initialized. Run: openwolf init");
|
|
104
179
|
return;
|
|
105
180
|
}
|
|
106
|
-
//
|
|
181
|
+
// PM2 first, and deliberately NOT the graceful endpoint here: pm2 owns the process, so a
|
|
182
|
+
// self-initiated exit reads as a crash and its autorestart brings the daemon straight back.
|
|
183
|
+
// `pm2 stop` is the only stop pm2 respects. It kills rather than signals on Windows, hence the
|
|
184
|
+
// state fix-up afterwards.
|
|
107
185
|
if (hasPm2()) {
|
|
108
186
|
const name = getPm2Name();
|
|
109
187
|
try {
|
|
110
188
|
execFileSync(PM2, ["stop", name], { stdio: "ignore" });
|
|
189
|
+
markDaemonStopped(wolfDir);
|
|
111
190
|
console.log(` ✓ Daemon stopped (PM2): ${name}`);
|
|
112
191
|
return;
|
|
113
192
|
}
|
|
@@ -115,11 +194,18 @@ export function daemonStop() {
|
|
|
115
194
|
// PM2 process not found — fall through to port-based stop
|
|
116
195
|
}
|
|
117
196
|
}
|
|
118
|
-
//
|
|
197
|
+
// Unsupervised daemon (the `openwolf dashboard` case): ask it to stop itself, so its own
|
|
198
|
+
// shutdown handler runs — on Windows too, where no signal could ever reach it.
|
|
119
199
|
const port = getDashboardPort();
|
|
200
|
+
if (await requestGracefulStop(wolfDir, port)) {
|
|
201
|
+
console.log(` ✓ Daemon stopped cleanly (port ${port})`);
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
// Last resort: kill whatever is listening, then write the state the handler never got to write.
|
|
120
205
|
const pid = findPidOnPort(port);
|
|
121
206
|
if (pid) {
|
|
122
207
|
if (killPid(pid)) {
|
|
208
|
+
markDaemonStopped(wolfDir);
|
|
123
209
|
console.log(` ✓ Daemon stopped (PID ${pid} on port ${port})`);
|
|
124
210
|
}
|
|
125
211
|
else {
|
|
@@ -130,7 +216,7 @@ export function daemonStop() {
|
|
|
130
216
|
console.log(` No daemon running on port ${port}.`);
|
|
131
217
|
}
|
|
132
218
|
}
|
|
133
|
-
export function daemonRestart() {
|
|
219
|
+
export async function daemonRestart() {
|
|
134
220
|
const projectRoot = findProjectRoot();
|
|
135
221
|
const wolfDir = path.join(projectRoot, ".wolf");
|
|
136
222
|
if (!fs.existsSync(wolfDir)) {
|
|
@@ -149,12 +235,19 @@ export function daemonRestart() {
|
|
|
149
235
|
// PM2 process not found — fall through
|
|
150
236
|
}
|
|
151
237
|
}
|
|
152
|
-
// Fall back: stop then start via dashboard command flow
|
|
238
|
+
// Fall back: stop then start via dashboard command flow. Same order as daemonStop — ask
|
|
239
|
+
// first, kill only if asking failed, and never leave cron-state.json claiming "running".
|
|
153
240
|
const port = getDashboardPort();
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
241
|
+
if (await requestGracefulStop(wolfDir, port)) {
|
|
242
|
+
console.log(" Stopped old daemon cleanly.");
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
const pid = findPidOnPort(port);
|
|
246
|
+
if (pid) {
|
|
247
|
+
killPid(pid);
|
|
248
|
+
markDaemonStopped(wolfDir);
|
|
249
|
+
console.log(` Stopped old daemon (PID ${pid}).`);
|
|
250
|
+
}
|
|
158
251
|
}
|
|
159
252
|
console.log(" Use 'openwolf dashboard' to start a new daemon.");
|
|
160
253
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-cmd.js","sourceRoot":"","sources":["../../../src/cli/daemon-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,SAAS,gBAAgB;IACvB,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,QAAQ,CACrB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EACjC,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7C,CAAC;IACF,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;AACxC,CAAC;AAED,oFAAoF;AACpF,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AAE5C,SAAS,UAAU;IACjB,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,6EAA6E;IAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACzE,OAAO,YAAY,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,MAAM;IACb,IAAI,CAAC;QACH,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"daemon-cmd.js","sourceRoot":"","sources":["../../../src/cli/daemon-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,SAAS,gBAAgB;IACvB,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,QAAQ,CACrB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EACjC,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7C,CAAC;IACF,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;AACxC,CAAC;AAED,oFAAoF;AACpF,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AAE5C,SAAS,UAAU;IACjB,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,6EAA6E;IAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACzE,OAAO,YAAY,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,MAAM;IACb,IAAI,CAAC;QACH,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,EAAE;AACF,2FAA2F;AAC3F,yDAAyD;AACzD,0FAA0F;AAC1F,6FAA6F;AAC7F,wCAAwC;AACxC,2FAA2F;AAC3F,yFAAyF;AACzF,4FAA4F;AAC5F,0FAA0F;AAC1F,2BAA2B;AAC3B,EAAE;AACF,+FAA+F;AAC/F,0FAA0F;AAC1F,+EAA+E;AAC/E,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,IAAY;IAClE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK;YAAE,SAAS;QACrD,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,SAAS;QACpE,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC;QACH,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACrF,MAAM,GAAG,GAAG,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,GAAG,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAChF,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,GAAG,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC;QAC1B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,IAAI,CAAC;QACH,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,YAAY,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,0FAA0F;AAC1F,gGAAgG;AAChG,+FAA+F;AAC/F,iGAAiG;AACjG,gFAAgF;AAChF,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;YACvB,MAAM,KAAK,GAAG,QAAQ,CAA0B,SAAS,EAAE,EAAE,CAAC,CAAC;YAC/D,4FAA4F;YAC5F,iDAAiD;YACjD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAC5C,SAAS,CAAC,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAC,6CAA6C,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEnF,gGAAgG;AAChG,iGAAiG;AACjG,mFAAmF;AACnF,KAAK,UAAU,mBAAmB,CAAC,OAAe,EAAE,IAAY;IAC9D,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,eAAe,EAAE;YAC/D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE;YACtC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,gGAAgG;IAChG,qEAAqE;IACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEhD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,mFAAmF;IACnF,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAE/E,IAAI,CAAC;QACH,YAAY,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,yBAAyB,WAAW,EAAE,CAAC,EAAE;YACtI,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,qBAAqB,EAAE,WAAW,EAAE;SAC5D,CAAC,CAAC;QACH,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEhD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,yFAAyF;IACzF,4FAA4F;IAC5F,+FAA+F;IAC/F,2BAA2B;IAC3B,IAAI,MAAM,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvD,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAAC,MAAM,CAAC;YACP,0DAA0D;QAC5D,CAAC;IACH,CAAC;IAED,yFAAyF;IACzF,+EAA+E;IAC/E,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,IAAI,MAAM,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,GAAG,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,gGAAgG;IAChG,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,YAAY,IAAI,GAAG,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,YAAY,IAAI,GAAG,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,GAAG,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEhD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,gBAAgB;IAChB,IAAI,MAAM,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,YAAY,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;IACH,CAAC;IAED,wFAAwF;IACxF,yFAAyF;IACzF,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,IAAI,MAAM,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,CAAC;YACb,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,6BAA6B,GAAG,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEhD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,IAAI,CAAC;QACH,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACzF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC"}
|
|
@@ -1,10 +1,74 @@
|
|
|
1
1
|
import * as fs from "node:fs";
|
|
2
2
|
import * as path from "node:path";
|
|
3
3
|
import * as os from "node:os";
|
|
4
|
+
import { execFileSync } from "node:child_process";
|
|
4
5
|
import { findProjectRoot } from "../scanner/project-root.js";
|
|
5
|
-
import {
|
|
6
|
+
import { isWindows } from "../utils/platform.js";
|
|
7
|
+
import { dashboardTokenPath } from "../utils/dashboard-auth.js";
|
|
8
|
+
import { remoteTokenPath } from "../utils/remote.js";
|
|
9
|
+
import { readRegistry } from "./registry.js";
|
|
6
10
|
import { getRetention, footprint, humanBytes, compactLedger, consolidateMemory, dedupeAndCapBuglog, pruneBackups, cleanTmp, rotateDaemonLog, dirSize, suggestIgnores, nativeMemoryHealth, findDuplicateEntries, repairNativeMemoryIndex, } from "../utils/maintenance.js";
|
|
7
11
|
import { nativeMemoryDir } from "../hooks/shared.js";
|
|
12
|
+
// Does this file carry permissions of its own, or does it just inherit the folder's?
|
|
13
|
+
//
|
|
14
|
+
// OpenWolf writes its tokens with mode 0600, which on NTFS is a no-op: Node has no ACL to map the
|
|
15
|
+
// POSIX bits onto, so the file ends up with whatever the containing directory hands down. The check
|
|
16
|
+
// has to be language-independent — icacls prints localized principal names (BUILTIN\Users,
|
|
17
|
+
// VORDEFINIERT\Benutzer, …) but marks inherited entries with a literal (I) flag in every locale.
|
|
18
|
+
// All-inherited means nothing file-specific was ever applied.
|
|
19
|
+
// Returns null when the question can't be answered (icacls missing, output unparsable).
|
|
20
|
+
function hasOnlyInheritedAcl(filePath) {
|
|
21
|
+
let out;
|
|
22
|
+
try {
|
|
23
|
+
out = execFileSync("icacls", [filePath], { encoding: "utf-8", stdio: ["pipe", "pipe", "ignore"] });
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
const aces = [];
|
|
29
|
+
for (const raw of out.split(/\r?\n/)) {
|
|
30
|
+
const line = raw.trim();
|
|
31
|
+
if (!line)
|
|
32
|
+
break; // the ACE block ends at the first blank line; a summary line follows it
|
|
33
|
+
// First line is "<path> PRINCIPAL:(flags)"; the rest are the bare ACE, indented.
|
|
34
|
+
const ace = line.startsWith(filePath) ? line.slice(filePath.length).trim() : line;
|
|
35
|
+
if (ace.includes(":("))
|
|
36
|
+
aces.push(ace);
|
|
37
|
+
}
|
|
38
|
+
if (!aces.length)
|
|
39
|
+
return null;
|
|
40
|
+
return aces.every((a) => a.includes("(I)"));
|
|
41
|
+
}
|
|
42
|
+
// Windows-only section: name the tokens whose 0600 did nothing, and hand over the command that
|
|
43
|
+
// actually restricts them. Silent on Linux/macOS, where the mode bits do what they say.
|
|
44
|
+
function reportWindowsTokenAcls(wolfDir) {
|
|
45
|
+
if (!isWindows())
|
|
46
|
+
return;
|
|
47
|
+
const tokens = [
|
|
48
|
+
{ label: "dashboard-token", file: dashboardTokenPath(wolfDir), what: "the daemon API and WebSocket" },
|
|
49
|
+
{ label: "remote-token", file: remoteTokenPath(wolfDir), what: "your linked remote workspace" },
|
|
50
|
+
].filter((t) => fs.existsSync(t.file));
|
|
51
|
+
if (!tokens.length)
|
|
52
|
+
return;
|
|
53
|
+
const lines = [];
|
|
54
|
+
for (const t of tokens) {
|
|
55
|
+
const inherited = hasOnlyInheritedAcl(t.file);
|
|
56
|
+
if (inherited === null) {
|
|
57
|
+
lines.push(` · ${t.label}: permissions not readable (icacls unavailable) — check it by hand`);
|
|
58
|
+
}
|
|
59
|
+
else if (inherited) {
|
|
60
|
+
lines.push(` ⚠ ${t.label} inherits the folder's ACL. The 0600 OpenWolf sets is a no-op on NTFS,`);
|
|
61
|
+
lines.push(` so every account that can read this project can read the key to ${t.what}.`);
|
|
62
|
+
lines.push(` Restrict it: icacls "${t.file}" /inheritance:r /grant:r "%USERNAME%":R`);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
lines.push(` ✓ ${t.label} has explicit (non-inherited) permissions`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
console.log("\nWindows file permissions:");
|
|
69
|
+
for (const l of lines)
|
|
70
|
+
console.log(l);
|
|
71
|
+
}
|
|
8
72
|
// `openwolf doctor` — daemon-independent .wolf/ health report + compaction.
|
|
9
73
|
export async function doctorCommand(opts) {
|
|
10
74
|
const projectRoot = findProjectRoot();
|
|
@@ -48,7 +112,10 @@ export async function doctorCommand(opts) {
|
|
|
48
112
|
if (dead.length || collisions.length) {
|
|
49
113
|
console.log("\nRegistry health:");
|
|
50
114
|
for (const d of dead) {
|
|
51
|
-
console.log(` ⚠ dead entry: ${d.name} → ${d.root} (path gone). Remove it
|
|
115
|
+
console.log(` ⚠ dead entry: ${d.name} → ${d.root} (path gone). Remove it: openwolf unregister "${d.root}"`);
|
|
116
|
+
}
|
|
117
|
+
if (dead.length > 1) {
|
|
118
|
+
console.log(` (or clear all ${dead.length} at once: openwolf unregister --prune)`);
|
|
52
119
|
}
|
|
53
120
|
for (const [port, names] of collisions) {
|
|
54
121
|
console.log(` ⚠ port ${port} shared by ${names.join(", ")} — their daemons will collide. Give each a unique dashboard.port in .wolf/config.json.`);
|
|
@@ -59,6 +126,7 @@ export async function doctorCommand(opts) {
|
|
|
59
126
|
}
|
|
60
127
|
}
|
|
61
128
|
catch { /* registry not readable — skip */ }
|
|
129
|
+
reportWindowsTokenAcls(wolfDir);
|
|
62
130
|
// --- Claude native Auto Memory health (read-only interop) ---
|
|
63
131
|
try {
|
|
64
132
|
const nd = nativeMemoryDir(projectRoot);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-cmd.js","sourceRoot":"","sources":["../../../src/cli/doctor-cmd.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor-cmd.js","sourceRoot":"","sources":["../../../src/cli/doctor-cmd.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli/index.js
CHANGED
|
@@ -56,14 +56,14 @@ export function createProgram() {
|
|
|
56
56
|
.description("Stop daemon")
|
|
57
57
|
.action(async () => {
|
|
58
58
|
const { daemonStop } = await import("./daemon-cmd.js");
|
|
59
|
-
daemonStop();
|
|
59
|
+
await daemonStop();
|
|
60
60
|
});
|
|
61
61
|
daemon
|
|
62
62
|
.command("restart")
|
|
63
63
|
.description("Restart daemon")
|
|
64
64
|
.action(async () => {
|
|
65
65
|
const { daemonRestart } = await import("./daemon-cmd.js");
|
|
66
|
-
daemonRestart();
|
|
66
|
+
await daemonRestart();
|
|
67
67
|
});
|
|
68
68
|
daemon
|
|
69
69
|
.command("logs")
|
|
@@ -112,6 +112,15 @@ export function createProgram() {
|
|
|
112
112
|
await updateCommand(opts);
|
|
113
113
|
}
|
|
114
114
|
});
|
|
115
|
+
program
|
|
116
|
+
.command("unregister [path]")
|
|
117
|
+
.description("Remove a project from the central registry (leaves its .wolf/ untouched)")
|
|
118
|
+
.option("--prune", "Remove every registered project whose .wolf/ is gone, instead of one path")
|
|
119
|
+
.option("--dry-run", "Show what would be removed without changing the registry")
|
|
120
|
+
.action(async (target, opts) => {
|
|
121
|
+
const { unregisterCommand } = await import("./unregister.js");
|
|
122
|
+
unregisterCommand(target, opts);
|
|
123
|
+
});
|
|
115
124
|
// --- Restore command ---
|
|
116
125
|
program
|
|
117
126
|
.command("restore [backup]")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,OAAO,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,UAAU,CAAC;SAChB,WAAW,CAAC,mDAAmD,CAAC;SAChE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAEzB,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,WAAW,CAAC,CAAC;IAEvB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,aAAa,CAAC,CAAC;IAEzB,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,SAAS,EAAE,mDAAmD,CAAC;SACtE,MAAM,CAAC,WAAW,CAAC,CAAC;IAEvB,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE5B,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAEpC,MAAM;SACH,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,sBAAsB,CAAC;SACnC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACxD,WAAW,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,aAAa,CAAC;SAC1B,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACvD,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli/registry.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import * as fs from "node:fs";
|
|
6
6
|
import * as path from "node:path";
|
|
7
7
|
import * as os from "node:os";
|
|
8
|
+
import { isWindows } from "../utils/platform.js";
|
|
8
9
|
export function getRegistryDir() {
|
|
9
10
|
return path.join(os.homedir(), ".openwolf");
|
|
10
11
|
}
|
|
@@ -34,9 +35,9 @@ export function writeRegistry(registry) {
|
|
|
34
35
|
*/
|
|
35
36
|
export function registerProject(projectRoot, name, version) {
|
|
36
37
|
const registry = readRegistry();
|
|
37
|
-
const normalized =
|
|
38
|
+
const normalized = normalizeProjectPath(projectRoot);
|
|
38
39
|
const now = new Date().toISOString();
|
|
39
|
-
const existing = registry.projects.find(p =>
|
|
40
|
+
const existing = registry.projects.find(p => normalizeProjectPath(p.root) === normalized);
|
|
40
41
|
if (existing) {
|
|
41
42
|
existing.name = name;
|
|
42
43
|
existing.last_updated = now;
|
|
@@ -54,13 +55,41 @@ export function registerProject(projectRoot, name, version) {
|
|
|
54
55
|
writeRegistry(registry);
|
|
55
56
|
}
|
|
56
57
|
/**
|
|
57
|
-
* Remove a project from the registry
|
|
58
|
+
* Remove a project from the registry. Returns the entries that were removed, so the caller can
|
|
59
|
+
* name them — an unregister that prints nothing is indistinguishable from one that missed.
|
|
60
|
+
*
|
|
61
|
+
* Nothing is written when nothing matched: a typo'd path must not create a registry file, nor
|
|
62
|
+
* rewrite an existing one for no reason.
|
|
63
|
+
*
|
|
64
|
+
* This touches the registry ONLY. The project's .wolf/ directory stays exactly where it is.
|
|
58
65
|
*/
|
|
59
66
|
export function unregisterProject(projectRoot) {
|
|
60
67
|
const registry = readRegistry();
|
|
61
|
-
const
|
|
62
|
-
|
|
68
|
+
const target = normalizeProjectPath(projectRoot);
|
|
69
|
+
const removed = registry.projects.filter(p => normalizeProjectPath(p.root) === target);
|
|
70
|
+
if (removed.length === 0)
|
|
71
|
+
return [];
|
|
72
|
+
registry.projects = registry.projects.filter(p => normalizeProjectPath(p.root) !== target);
|
|
63
73
|
writeRegistry(registry);
|
|
74
|
+
return removed;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Drop every entry whose project no longer has a .wolf/ — the same view `openwolf update` takes,
|
|
78
|
+
* so this removes exactly the entries update would otherwise keep failing on.
|
|
79
|
+
*
|
|
80
|
+
* Deliberately NOT automatic: a root can be missing because a network share or external drive
|
|
81
|
+
* is not mounted right now, and pruning that would quietly unregister a live project. The caller
|
|
82
|
+
* asks for this explicitly.
|
|
83
|
+
*/
|
|
84
|
+
export function pruneMissingProjects() {
|
|
85
|
+
const registry = readRegistry();
|
|
86
|
+
const isPresent = (p) => fs.existsSync(path.join(p.root, ".wolf"));
|
|
87
|
+
const gone = registry.projects.filter(p => !isPresent(p));
|
|
88
|
+
if (gone.length === 0)
|
|
89
|
+
return [];
|
|
90
|
+
registry.projects = registry.projects.filter(isPresent);
|
|
91
|
+
writeRegistry(registry);
|
|
92
|
+
return gone;
|
|
64
93
|
}
|
|
65
94
|
/**
|
|
66
95
|
* Get all registered projects, optionally filtering out ones that no longer exist.
|
|
@@ -87,7 +116,21 @@ export function getRegisteredProjects(validateExists = false) {
|
|
|
87
116
|
}
|
|
88
117
|
return valid;
|
|
89
118
|
}
|
|
90
|
-
|
|
91
|
-
|
|
119
|
+
/**
|
|
120
|
+
* Canonical form for deciding whether two paths mean the same project.
|
|
121
|
+
*
|
|
122
|
+
* Case-folding is Windows-only on purpose. NTFS treats `C:\\Proj` and `c:\\proj` as one directory,
|
|
123
|
+
* so folding is the only way to recognise the same project there. On Linux they are two DIFFERENT
|
|
124
|
+
* directories, and folding meant `unregister /srv/App` also matched the entry for `/srv/app` — a
|
|
125
|
+
* removal of something the user never named. The same comparison decides whether `registerProject`
|
|
126
|
+
* updates an entry or adds one, so the bug could also overwrite a neighbouring project's record.
|
|
127
|
+
*
|
|
128
|
+
* `path.resolve` first, so a relative argument, a trailing separator or a `..` segment compares
|
|
129
|
+
* equal to the stored absolute root. Exported for the tests: this one line decides what a
|
|
130
|
+
* destructive command deletes.
|
|
131
|
+
*/
|
|
132
|
+
export function normalizeProjectPath(p) {
|
|
133
|
+
const resolved = path.resolve(p).replace(/\\/g, "/");
|
|
134
|
+
return isWindows() ? resolved.toLowerCase() : resolved;
|
|
92
135
|
}
|
|
93
136
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/cli/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/cli/registry.ts"],"names":[],"mappings":"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"}
|