@indigoai-us/hq-cloud 6.2.7 → 6.3.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/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js +20 -1
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/bin/sync-runner.test.js +61 -0
- package/dist/bin/sync-runner.test.js.map +1 -1
- package/dist/cli/reindex.d.ts +8 -0
- package/dist/cli/reindex.d.ts.map +1 -1
- package/dist/cli/reindex.js +222 -198
- package/dist/cli/reindex.js.map +1 -1
- package/dist/cli/reindex.test.js +35 -0
- package/dist/cli/reindex.test.js.map +1 -1
- package/dist/cli/rescue.d.ts.map +1 -1
- package/dist/cli/rescue.js +39 -16
- package/dist/cli/rescue.js.map +1 -1
- package/dist/cli/rescue.reindex.test.js +15 -2
- package/dist/cli/rescue.reindex.test.js.map +1 -1
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +3 -1
- package/dist/cli/sync.js.map +1 -1
- package/dist/cli/sync.test.js +2 -1
- package/dist/cli/sync.test.js.map +1 -1
- package/dist/operation-lock.d.ts +100 -0
- package/dist/operation-lock.d.ts.map +1 -0
- package/dist/operation-lock.js +256 -0
- package/dist/operation-lock.js.map +1 -0
- package/dist/operation-lock.test.d.ts +5 -0
- package/dist/operation-lock.test.d.ts.map +1 -0
- package/dist/operation-lock.test.js +140 -0
- package/dist/operation-lock.test.js.map +1 -0
- package/package.json +1 -1
- package/src/bin/sync-runner.test.ts +77 -0
- package/src/bin/sync-runner.ts +22 -1
- package/src/cli/reindex.test.ts +45 -0
- package/src/cli/reindex.ts +36 -0
- package/src/cli/rescue.reindex.test.ts +17 -2
- package/src/cli/rescue.ts +40 -15
- package/src/cli/sync.test.ts +2 -1
- package/src/cli/sync.ts +3 -1
- package/src/operation-lock.test.ts +162 -0
- package/src/operation-lock.ts +293 -0
package/dist/cli/reindex.js
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
import { spawnSync } from "child_process";
|
|
18
18
|
import * as fs from "fs";
|
|
19
19
|
import * as path from "path";
|
|
20
|
+
import { acquireOperationLock, OperationLockedError, OPERATION_LOCKED_EXIT, } from "../operation-lock.js";
|
|
20
21
|
// --- small fs helpers (each mirrors a bash test operator) -------------------
|
|
21
22
|
/** `[ -d "$p" ]` — exists and is a directory (follows symlinks). */
|
|
22
23
|
function isDir(p) {
|
|
@@ -112,240 +113,263 @@ export function reindex(opts = {}) {
|
|
|
112
113
|
return { status: 1 };
|
|
113
114
|
}
|
|
114
115
|
const root = path.resolve(rawRoot);
|
|
115
|
-
|
|
116
|
-
//
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
addNs(slug, `companies/${slug}/skills`);
|
|
116
|
+
// Acquire the per-root operation lock unless an internal caller (sync/rescue,
|
|
117
|
+
// which already hold it) opted out. A live holder → refuse fast with the
|
|
118
|
+
// holder's command + PID. The whole body runs inside the try so the lock is
|
|
119
|
+
// released on every exit path (the process-level signal/exit hooks are the
|
|
120
|
+
// crash backstop).
|
|
121
|
+
let opLock = null;
|
|
122
|
+
if (!opts.skipLock) {
|
|
123
|
+
try {
|
|
124
|
+
opLock = acquireOperationLock(root, "reindex");
|
|
125
125
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
126
|
+
catch (err) {
|
|
127
|
+
if (err instanceof OperationLockedError) {
|
|
128
|
+
warn(err.message);
|
|
129
|
+
return { status: OPERATION_LOCKED_EXIT };
|
|
130
|
+
}
|
|
131
|
+
throw err;
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
if (
|
|
134
|
+
try {
|
|
135
|
+
fs.mkdirSync(path.join(root, ".claude", "skills"), { recursive: true });
|
|
136
|
+
// --- Build (namespace, src_rel) pairs -------------------------------------
|
|
137
|
+
const pairs = [];
|
|
138
|
+
const addNs = (ns, srcRel) => {
|
|
139
|
+
if (isDir(path.join(root, srcRel)))
|
|
140
|
+
pairs.push({ ns, srcRel });
|
|
141
|
+
};
|
|
142
|
+
for (const slug of globEntries(path.join(root, "companies"))) {
|
|
143
|
+
if (isDir(path.join(root, "companies", slug))) {
|
|
144
|
+
addNs(slug, `companies/${slug}/skills`);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
addNs("core", "core/skills");
|
|
148
|
+
addNs("personal", "personal/skills");
|
|
149
|
+
for (const pack of globEntries(path.join(root, "core", "packages"))) {
|
|
150
|
+
if (isDir(path.join(root, "core", "packages", pack))) {
|
|
151
|
+
addNs(pack, `core/packages/${pack}/skills`);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
// --- Cleanup pass A: drop legacy .claude/commands/<ns>/<skill>.md links ----
|
|
155
|
+
const commandsDir = path.join(root, ".claude", "commands");
|
|
156
|
+
if (isDir(commandsDir)) {
|
|
157
|
+
for (const nsName of globEntries(commandsDir)) {
|
|
158
|
+
const cmdNsDir = path.join(commandsDir, nsName);
|
|
159
|
+
// Only real directories (bash `*/`); folder-level symlinks are left for
|
|
160
|
+
// a human to resolve. lstat().isDirectory() is false for a symlink, so
|
|
161
|
+
// this single check covers both bash guards.
|
|
162
|
+
const st = lstatOrNull(cmdNsDir);
|
|
163
|
+
if (!st || !st.isDirectory())
|
|
164
|
+
continue;
|
|
165
|
+
for (const f of globEntries(cmdNsDir)) {
|
|
166
|
+
if (!f.endsWith(".md"))
|
|
167
|
+
continue;
|
|
168
|
+
const fp = path.join(cmdNsDir, f);
|
|
169
|
+
const fst = lstatOrNull(fp);
|
|
170
|
+
if (!fst || !fst.isSymbolicLink())
|
|
171
|
+
continue;
|
|
172
|
+
const target = readlinkOrNull(fp);
|
|
173
|
+
if (target && isLegacyCommandTarget(target)) {
|
|
174
|
+
try {
|
|
175
|
+
fs.rmSync(fp);
|
|
176
|
+
}
|
|
177
|
+
catch {
|
|
178
|
+
/* best-effort */
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
// rmdir if empty; ignore "directory not empty".
|
|
183
|
+
try {
|
|
184
|
+
fs.rmdirSync(cmdNsDir);
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
/* not empty / gone — fine */
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
// --- Skill wrapper creation -----------------------------------------------
|
|
192
|
+
const expectedWrappers = new Set();
|
|
193
|
+
const seen = new Set();
|
|
194
|
+
for (const { ns, srcRel } of pairs) {
|
|
195
|
+
// First writer for a namespace wins.
|
|
196
|
+
if (seen.has(ns)) {
|
|
197
|
+
warn(`reindex: namespace '${ns}' already claimed by an earlier source; skipping ${srcRel}`);
|
|
144
198
|
continue;
|
|
145
|
-
|
|
146
|
-
|
|
199
|
+
}
|
|
200
|
+
seen.add(ns);
|
|
201
|
+
const srcAbs = path.join(root, srcRel);
|
|
202
|
+
for (const skillName of globEntries(srcAbs)) {
|
|
203
|
+
const skillPath = path.join(srcAbs, skillName);
|
|
204
|
+
if (!isDir(skillPath))
|
|
205
|
+
continue;
|
|
206
|
+
// Skip `_shared`, `_template`, etc. (dotfiles already excluded by glob).
|
|
207
|
+
if (skillName.startsWith("_"))
|
|
208
|
+
continue;
|
|
209
|
+
if (!isFile(path.join(skillPath, "SKILL.md")))
|
|
147
210
|
continue;
|
|
148
|
-
const
|
|
149
|
-
const
|
|
150
|
-
|
|
211
|
+
const wrapperName = `${ns}:${skillName}`;
|
|
212
|
+
const wrapper = path.join(root, ".claude", "skills", wrapperName);
|
|
213
|
+
expectedWrappers.add(wrapperName);
|
|
214
|
+
const wst = lstatOrNull(wrapper);
|
|
215
|
+
// If something non-directory, non-symlink occupies the slot, bail.
|
|
216
|
+
if (wst && !wst.isSymbolicLink() && !wst.isDirectory()) {
|
|
217
|
+
warn(`reindex: ${wrapper} exists and is not a directory; skipping`);
|
|
151
218
|
continue;
|
|
152
|
-
|
|
153
|
-
|
|
219
|
+
}
|
|
220
|
+
// If it's a symlink (legacy directory-symlink form), replace it with a
|
|
221
|
+
// real directory of per-file symlinks.
|
|
222
|
+
if (wst && wst.isSymbolicLink()) {
|
|
154
223
|
try {
|
|
155
|
-
fs.rmSync(
|
|
224
|
+
fs.rmSync(wrapper);
|
|
225
|
+
}
|
|
226
|
+
catch {
|
|
227
|
+
/* best-effort */
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
fs.mkdirSync(wrapper, { recursive: true });
|
|
231
|
+
// Symlink every (non-hidden) entry in the source skill folder. The
|
|
232
|
+
// wrapper lives three levels below REPO_ROOT.
|
|
233
|
+
for (const entry of globEntries(skillPath)) {
|
|
234
|
+
const entryPath = path.join(skillPath, entry);
|
|
235
|
+
if (!existsFollow(entryPath))
|
|
236
|
+
continue;
|
|
237
|
+
const linkPath = path.join(wrapper, entry);
|
|
238
|
+
const relativeTarget = `../../../${srcRel}/${skillName}/${entry}`;
|
|
239
|
+
const lst = lstatOrNull(linkPath);
|
|
240
|
+
if (lst && lst.isSymbolicLink()) {
|
|
241
|
+
const current = readlinkOrNull(linkPath);
|
|
242
|
+
if (current === relativeTarget)
|
|
243
|
+
continue;
|
|
244
|
+
warn(`reindex: .claude/skills/${wrapperName}/${entry} already points to '${current}' (expected '${relativeTarget}'); leaving alone`);
|
|
245
|
+
continue;
|
|
246
|
+
}
|
|
247
|
+
else if (lst) {
|
|
248
|
+
warn(`reindex: ${linkPath} already exists and is not a symlink; skipping`);
|
|
249
|
+
continue;
|
|
250
|
+
}
|
|
251
|
+
fs.symlinkSync(relativeTarget, linkPath);
|
|
252
|
+
}
|
|
253
|
+
// Prune symlinks in the wrapper whose source entry no longer exists.
|
|
254
|
+
for (const entry of globEntries(wrapper)) {
|
|
255
|
+
const linkPath = path.join(wrapper, entry);
|
|
256
|
+
const lst = lstatOrNull(linkPath);
|
|
257
|
+
if (!lst || !lst.isSymbolicLink())
|
|
258
|
+
continue;
|
|
259
|
+
if (existsFollow(linkPath))
|
|
260
|
+
continue;
|
|
261
|
+
try {
|
|
262
|
+
fs.rmSync(linkPath);
|
|
156
263
|
}
|
|
157
264
|
catch {
|
|
158
265
|
/* best-effort */
|
|
159
266
|
}
|
|
160
267
|
}
|
|
161
268
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
269
|
+
}
|
|
270
|
+
// --- Cleanup pass B: drop orphan <ns>:<skill> wrappers --------------------
|
|
271
|
+
const skillsDir = path.join(root, ".claude", "skills");
|
|
272
|
+
for (const entry of globEntries(skillsDir)) {
|
|
273
|
+
const entryPath = path.join(skillsDir, entry);
|
|
274
|
+
const lst = lstatOrNull(entryPath);
|
|
275
|
+
if (!lst)
|
|
276
|
+
continue; // accept broken symlinks (lstat still succeeds)
|
|
277
|
+
if (!entry.includes(":"))
|
|
278
|
+
continue; // not a namespaced wrapper
|
|
279
|
+
if (expectedWrappers.has(entry))
|
|
280
|
+
continue; // maintained this run
|
|
281
|
+
// A wrapper is "managed" only when its namespace prefix matches the
|
|
282
|
+
// namespace encoded in its symlink target — this distinguishes
|
|
283
|
+
// script-produced wrappers from hand-authored composite wrappers.
|
|
284
|
+
const ns = entry.slice(0, entry.indexOf(":"));
|
|
285
|
+
const matchTarget = (t, p) => {
|
|
286
|
+
if (!t)
|
|
287
|
+
return false;
|
|
288
|
+
if (t.startsWith(`${p}/personal/skills/`))
|
|
289
|
+
return ns === "personal";
|
|
290
|
+
if (t.startsWith(`${p}/core/skills/`))
|
|
291
|
+
return ns === "core";
|
|
292
|
+
if (t.startsWith(`${p}/companies/${ns}/skills/`))
|
|
293
|
+
return true;
|
|
294
|
+
if (t.startsWith(`${p}/core/packages/${ns}/skills/`))
|
|
295
|
+
return true;
|
|
296
|
+
return false;
|
|
297
|
+
};
|
|
298
|
+
let isManaged = false;
|
|
299
|
+
if (lst.isSymbolicLink()) {
|
|
300
|
+
// (a) directory-style symlink wrapper (older shape): 2-level target.
|
|
301
|
+
isManaged = matchTarget(readlinkOrNull(entryPath), "../..");
|
|
165
302
|
}
|
|
166
|
-
|
|
167
|
-
|
|
303
|
+
else if (lst.isDirectory()) {
|
|
304
|
+
// (b) real directory of per-file symlinks (current shape): 3-level.
|
|
305
|
+
for (const f of globEntries(entryPath)) {
|
|
306
|
+
const fp = path.join(entryPath, f);
|
|
307
|
+
const fst = lstatOrNull(fp);
|
|
308
|
+
if (!fst || !fst.isSymbolicLink())
|
|
309
|
+
continue;
|
|
310
|
+
if (matchTarget(readlinkOrNull(fp), "../../..")) {
|
|
311
|
+
isManaged = true;
|
|
312
|
+
break;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
168
315
|
}
|
|
169
|
-
|
|
170
|
-
}
|
|
171
|
-
// --- Skill wrapper creation -----------------------------------------------
|
|
172
|
-
const expectedWrappers = new Set();
|
|
173
|
-
const seen = new Set();
|
|
174
|
-
for (const { ns, srcRel } of pairs) {
|
|
175
|
-
// First writer for a namespace wins.
|
|
176
|
-
if (seen.has(ns)) {
|
|
177
|
-
warn(`reindex: namespace '${ns}' already claimed by an earlier source; skipping ${srcRel}`);
|
|
178
|
-
continue;
|
|
179
|
-
}
|
|
180
|
-
seen.add(ns);
|
|
181
|
-
const srcAbs = path.join(root, srcRel);
|
|
182
|
-
for (const skillName of globEntries(srcAbs)) {
|
|
183
|
-
const skillPath = path.join(srcAbs, skillName);
|
|
184
|
-
if (!isDir(skillPath))
|
|
185
|
-
continue;
|
|
186
|
-
// Skip `_shared`, `_template`, etc. (dotfiles already excluded by glob).
|
|
187
|
-
if (skillName.startsWith("_"))
|
|
188
|
-
continue;
|
|
189
|
-
if (!isFile(path.join(skillPath, "SKILL.md")))
|
|
316
|
+
if (!isManaged)
|
|
190
317
|
continue;
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
// If something non-directory, non-symlink occupies the slot, bail.
|
|
196
|
-
if (wst && !wst.isSymbolicLink() && !wst.isDirectory()) {
|
|
197
|
-
warn(`reindex: ${wrapper} exists and is not a directory; skipping`);
|
|
198
|
-
continue;
|
|
199
|
-
}
|
|
200
|
-
// If it's a symlink (legacy directory-symlink form), replace it with a
|
|
201
|
-
// real directory of per-file symlinks.
|
|
202
|
-
if (wst && wst.isSymbolicLink()) {
|
|
203
|
-
try {
|
|
204
|
-
fs.rmSync(wrapper);
|
|
318
|
+
// Managed-namespace wrapper with no corresponding live source → drop.
|
|
319
|
+
try {
|
|
320
|
+
if (lst.isSymbolicLink()) {
|
|
321
|
+
fs.rmSync(entryPath);
|
|
205
322
|
}
|
|
206
|
-
|
|
207
|
-
|
|
323
|
+
else if (lst.isDirectory()) {
|
|
324
|
+
fs.rmSync(entryPath, { recursive: true, force: true });
|
|
208
325
|
}
|
|
209
326
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
327
|
+
catch {
|
|
328
|
+
/* best-effort */
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
// --- Personal type mirroring ----------------------------------------------
|
|
332
|
+
// Mirror personal/<type>/<entry> into core/<type>/<entry> as symlinks.
|
|
333
|
+
for (const type of ["knowledge", "policies", "workers", "settings"]) {
|
|
334
|
+
const personalDir = path.join(root, "personal", type);
|
|
335
|
+
const coreDir = path.join(root, "core", type);
|
|
336
|
+
if (!isDir(personalDir))
|
|
337
|
+
continue;
|
|
338
|
+
fs.mkdirSync(coreDir, { recursive: true });
|
|
339
|
+
for (const entry of globEntries(personalDir)) {
|
|
340
|
+
const entryPath = path.join(personalDir, entry);
|
|
215
341
|
if (!existsFollow(entryPath))
|
|
216
342
|
continue;
|
|
217
|
-
const linkPath = path.join(
|
|
218
|
-
const relativeTarget =
|
|
343
|
+
const linkPath = path.join(coreDir, entry);
|
|
344
|
+
const relativeTarget = `../../personal/${type}/${entry}`;
|
|
219
345
|
const lst = lstatOrNull(linkPath);
|
|
220
346
|
if (lst && lst.isSymbolicLink()) {
|
|
221
347
|
const current = readlinkOrNull(linkPath);
|
|
222
348
|
if (current === relativeTarget)
|
|
223
349
|
continue;
|
|
224
|
-
warn(`reindex:
|
|
350
|
+
warn(`reindex: core/${type}/${entry} already points to '${current}' (expected '${relativeTarget}'); leaving alone`);
|
|
225
351
|
continue;
|
|
226
352
|
}
|
|
227
353
|
else if (lst) {
|
|
228
|
-
warn(`reindex:
|
|
354
|
+
warn(`reindex: core/${type}/${entry} already exists and is not a symlink; skipping`);
|
|
229
355
|
continue;
|
|
230
356
|
}
|
|
231
357
|
fs.symlinkSync(relativeTarget, linkPath);
|
|
232
358
|
}
|
|
233
|
-
// Prune symlinks in the wrapper whose source entry no longer exists.
|
|
234
|
-
for (const entry of globEntries(wrapper)) {
|
|
235
|
-
const linkPath = path.join(wrapper, entry);
|
|
236
|
-
const lst = lstatOrNull(linkPath);
|
|
237
|
-
if (!lst || !lst.isSymbolicLink())
|
|
238
|
-
continue;
|
|
239
|
-
if (existsFollow(linkPath))
|
|
240
|
-
continue;
|
|
241
|
-
try {
|
|
242
|
-
fs.rmSync(linkPath);
|
|
243
|
-
}
|
|
244
|
-
catch {
|
|
245
|
-
/* best-effort */
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
359
|
}
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
const
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
if (!entry.includes(":"))
|
|
258
|
-
continue; // not a namespaced wrapper
|
|
259
|
-
if (expectedWrappers.has(entry))
|
|
260
|
-
continue; // maintained this run
|
|
261
|
-
// A wrapper is "managed" only when its namespace prefix matches the
|
|
262
|
-
// namespace encoded in its symlink target — this distinguishes
|
|
263
|
-
// script-produced wrappers from hand-authored composite wrappers.
|
|
264
|
-
const ns = entry.slice(0, entry.indexOf(":"));
|
|
265
|
-
const matchTarget = (t, p) => {
|
|
266
|
-
if (!t)
|
|
267
|
-
return false;
|
|
268
|
-
if (t.startsWith(`${p}/personal/skills/`))
|
|
269
|
-
return ns === "personal";
|
|
270
|
-
if (t.startsWith(`${p}/core/skills/`))
|
|
271
|
-
return ns === "core";
|
|
272
|
-
if (t.startsWith(`${p}/companies/${ns}/skills/`))
|
|
273
|
-
return true;
|
|
274
|
-
if (t.startsWith(`${p}/core/packages/${ns}/skills/`))
|
|
275
|
-
return true;
|
|
276
|
-
return false;
|
|
277
|
-
};
|
|
278
|
-
let isManaged = false;
|
|
279
|
-
if (lst.isSymbolicLink()) {
|
|
280
|
-
// (a) directory-style symlink wrapper (older shape): 2-level target.
|
|
281
|
-
isManaged = matchTarget(readlinkOrNull(entryPath), "../..");
|
|
282
|
-
}
|
|
283
|
-
else if (lst.isDirectory()) {
|
|
284
|
-
// (b) real directory of per-file symlinks (current shape): 3-level.
|
|
285
|
-
for (const f of globEntries(entryPath)) {
|
|
286
|
-
const fp = path.join(entryPath, f);
|
|
287
|
-
const fst = lstatOrNull(fp);
|
|
288
|
-
if (!fst || !fst.isSymbolicLink())
|
|
289
|
-
continue;
|
|
290
|
-
if (matchTarget(readlinkOrNull(fp), "../../..")) {
|
|
291
|
-
isManaged = true;
|
|
292
|
-
break;
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
if (!isManaged)
|
|
297
|
-
continue;
|
|
298
|
-
// Managed-namespace wrapper with no corresponding live source → drop.
|
|
299
|
-
try {
|
|
300
|
-
if (lst.isSymbolicLink()) {
|
|
301
|
-
fs.rmSync(entryPath);
|
|
302
|
-
}
|
|
303
|
-
else if (lst.isDirectory()) {
|
|
304
|
-
fs.rmSync(entryPath, { recursive: true, force: true });
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
catch {
|
|
308
|
-
/* best-effort */
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
// --- Personal type mirroring ----------------------------------------------
|
|
312
|
-
// Mirror personal/<type>/<entry> into core/<type>/<entry> as symlinks.
|
|
313
|
-
for (const type of ["knowledge", "policies", "workers", "settings"]) {
|
|
314
|
-
const personalDir = path.join(root, "personal", type);
|
|
315
|
-
const coreDir = path.join(root, "core", type);
|
|
316
|
-
if (!isDir(personalDir))
|
|
317
|
-
continue;
|
|
318
|
-
fs.mkdirSync(coreDir, { recursive: true });
|
|
319
|
-
for (const entry of globEntries(personalDir)) {
|
|
320
|
-
const entryPath = path.join(personalDir, entry);
|
|
321
|
-
if (!existsFollow(entryPath))
|
|
322
|
-
continue;
|
|
323
|
-
const linkPath = path.join(coreDir, entry);
|
|
324
|
-
const relativeTarget = `../../personal/${type}/${entry}`;
|
|
325
|
-
const lst = lstatOrNull(linkPath);
|
|
326
|
-
if (lst && lst.isSymbolicLink()) {
|
|
327
|
-
const current = readlinkOrNull(linkPath);
|
|
328
|
-
if (current === relativeTarget)
|
|
329
|
-
continue;
|
|
330
|
-
warn(`reindex: core/${type}/${entry} already points to '${current}' (expected '${relativeTarget}'); leaving alone`);
|
|
331
|
-
continue;
|
|
332
|
-
}
|
|
333
|
-
else if (lst) {
|
|
334
|
-
warn(`reindex: core/${type}/${entry} already exists and is not a symlink; skipping`);
|
|
335
|
-
continue;
|
|
336
|
-
}
|
|
337
|
-
fs.symlinkSync(relativeTarget, linkPath);
|
|
360
|
+
// --- Workers registry regeneration ----------------------------------------
|
|
361
|
+
// Source of truth: each worker.yaml. The registry is a derived index — the
|
|
362
|
+
// generator (when present in the operated-on tree) keeps it in sync.
|
|
363
|
+
// Best-effort and idempotent; never fails the reindex.
|
|
364
|
+
const genScript = path.join(root, "core", "scripts", "generate-workers-registry.sh");
|
|
365
|
+
if (isExecutable(genScript)) {
|
|
366
|
+
// Route the generator's stdout+stderr to our stderr (`>&2 2>&1`).
|
|
367
|
+
spawnSync("bash", [genScript], { stdio: ["ignore", 2, 2] });
|
|
338
368
|
}
|
|
369
|
+
return { status: 0 };
|
|
339
370
|
}
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
// generator (when present in the operated-on tree) keeps it in sync.
|
|
343
|
-
// Best-effort and idempotent; never fails the reindex.
|
|
344
|
-
const genScript = path.join(root, "core", "scripts", "generate-workers-registry.sh");
|
|
345
|
-
if (isExecutable(genScript)) {
|
|
346
|
-
// Route the generator's stdout+stderr to our stderr (`>&2 2>&1`).
|
|
347
|
-
spawnSync("bash", [genScript], { stdio: ["ignore", 2, 2] });
|
|
371
|
+
finally {
|
|
372
|
+
opLock?.release();
|
|
348
373
|
}
|
|
349
|
-
return { status: 0 };
|
|
350
374
|
}
|
|
351
375
|
//# sourceMappingURL=reindex.js.map
|
package/dist/cli/reindex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reindex.js","sourceRoot":"","sources":["../../src/cli/reindex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reindex.js","sourceRoot":"","sources":["../../src/cli/reindex.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/reindex.test.js
CHANGED
|
@@ -12,13 +12,21 @@ import * as fs from "fs";
|
|
|
12
12
|
import * as path from "path";
|
|
13
13
|
import * as os from "os";
|
|
14
14
|
import { reindex } from "./reindex.js";
|
|
15
|
+
import { lockPathFor, OPERATION_LOCKED_EXIT } from "../operation-lock.js";
|
|
15
16
|
describe("reindex", () => {
|
|
16
17
|
let root;
|
|
18
|
+
let stateDir;
|
|
17
19
|
beforeEach(() => {
|
|
18
20
|
root = fs.mkdtempSync(path.join(os.tmpdir(), "ms-test-"));
|
|
21
|
+
// Redirect the operation lock into a throwaway dir so reindex's default
|
|
22
|
+
// locking never touches the real ~/.hq during tests.
|
|
23
|
+
stateDir = fs.mkdtempSync(path.join(os.tmpdir(), "ms-state-"));
|
|
24
|
+
process.env.HQ_STATE_DIR = stateDir;
|
|
19
25
|
});
|
|
20
26
|
afterEach(() => {
|
|
21
27
|
fs.rmSync(root, { recursive: true, force: true });
|
|
28
|
+
fs.rmSync(stateDir, { recursive: true, force: true });
|
|
29
|
+
delete process.env.HQ_STATE_DIR;
|
|
22
30
|
});
|
|
23
31
|
function writeSkill(rel) {
|
|
24
32
|
const dir = path.join(root, rel);
|
|
@@ -94,5 +102,32 @@ describe("reindex", () => {
|
|
|
94
102
|
expect(fs.existsSync(wrapper)).toBe(true);
|
|
95
103
|
expect(fs.lstatSync(path.join(wrapper, "SKILL.md")).isSymbolicLink()).toBe(true);
|
|
96
104
|
});
|
|
105
|
+
// ── operation lock (mutual exclusion with sync/rescue) ──────────────────
|
|
106
|
+
it("refuses (OPERATION_LOCKED_EXIT) when another op holds this root's lock", () => {
|
|
107
|
+
// A live holder in another process (pid 1) → reindex must refuse fast and
|
|
108
|
+
// do no work.
|
|
109
|
+
const lp = lockPathFor(root);
|
|
110
|
+
fs.mkdirSync(path.dirname(lp), { recursive: true });
|
|
111
|
+
fs.writeFileSync(lp, JSON.stringify({ pid: 1, command: "sync", startedAt: new Date(0).toISOString(), hqRoot: root }));
|
|
112
|
+
const before = fs.existsSync(path.join(root, ".claude/skills"));
|
|
113
|
+
const { status } = reindex({ repoRoot: root });
|
|
114
|
+
expect(status).toBe(OPERATION_LOCKED_EXIT);
|
|
115
|
+
// It refused before doing any work (didn't create .claude/skills).
|
|
116
|
+
expect(fs.existsSync(path.join(root, ".claude/skills"))).toBe(before);
|
|
117
|
+
});
|
|
118
|
+
it("skipLock bypasses the lock (internal sync/rescue caller path)", () => {
|
|
119
|
+
const lp = lockPathFor(root);
|
|
120
|
+
fs.mkdirSync(path.dirname(lp), { recursive: true });
|
|
121
|
+
fs.writeFileSync(lp, JSON.stringify({ pid: 1, command: "sync", startedAt: new Date(0).toISOString(), hqRoot: root }));
|
|
122
|
+
// Even with a live holder on record, the internal caller (which already
|
|
123
|
+
// holds the lock) runs to completion.
|
|
124
|
+
const { status } = reindex({ repoRoot: root, skipLock: true });
|
|
125
|
+
expect(status).toBe(0);
|
|
126
|
+
expect(fs.existsSync(path.join(root, ".claude/skills"))).toBe(true);
|
|
127
|
+
});
|
|
128
|
+
it("releases the lock after a normal run (no leftover lock file)", () => {
|
|
129
|
+
reindex({ repoRoot: root });
|
|
130
|
+
expect(fs.existsSync(lockPathFor(root))).toBe(false);
|
|
131
|
+
});
|
|
97
132
|
});
|
|
98
133
|
//# sourceMappingURL=reindex.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reindex.test.js","sourceRoot":"","sources":["../../src/cli/reindex.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"reindex.test.js","sourceRoot":"","sources":["../../src/cli/reindex.test.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/rescue.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rescue.d.ts","sourceRoot":"","sources":["../../src/cli/rescue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rescue.d.ts","sourceRoot":"","sources":["../../src/cli/rescue.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,aAAa;IAC5B;mDAC+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;yCACqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;+EAC2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;yBACqB;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;uBACmB;IACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;kCAC8B;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;kCAC8B;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;qEACiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,aAAkB,GAAG,MAAM,EAAE,CAiBlE;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,IAAI,GAAE,aAAkB,GAAG,YAAY,CAsC7D"}
|