greprag 5.73.11 → 5.73.13

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.
@@ -64,6 +64,15 @@ USAGE
64
64
  greprag skill install <name> Install a bundled advisor skill
65
65
  greprag skill uninstall <name> Remove a previously-installed advisor
66
66
  greprag skill mirror sync [harness] Install native GrepRAG skill adapters
67
+ greprag skill mirror export <name> --to <dir>
68
+ Export canonical skill bytes for editing
69
+ greprag skill mirror apply <dir> --skill <name> --expected-revision <n>
70
+ Promote edited bytes with stale-write guard
71
+ greprag skill mirror snapshot create <name> --name <snapshot>
72
+ greprag skill mirror snapshot list <name>
73
+ greprag skill mirror snapshot show <name> --name <snapshot>
74
+ greprag skill mirror snapshot restore <name> --name <snapshot> --to <dir>
75
+ Named package rollback points
67
76
  greprag skill source stamp <name> --project <p> --path <rel> [--path <rel>...]
68
77
  [--root <dir>] [--baseline <ref>]
69
78
  Stamp a skill's local source baseline
@@ -77,6 +86,35 @@ NOTES
77
86
  upgrades leave them out of your skill registry.
78
87
  • Source stamps are local Git facts. They update the local canonical skill
79
88
  file, then mirror to GrepRAG when GREPRAG_API_KEY is configured.`;
89
+ function formatAdoptionLine(prefix, entry) {
90
+ return entry.reason
91
+ ? ` ${prefix} ${entry.scope}:${entry.skillName} — ${entry.reason}`
92
+ : ` ${prefix} ${entry.scope}:${entry.skillName}`;
93
+ }
94
+ function printAdoptionDryRun(platform, result) {
95
+ const plan = result.plan;
96
+ const candidateCount = plan.candidates.length;
97
+ const managedCount = plan.managed.length;
98
+ const blockedCount = plan.blocked.length;
99
+ const skippedCount = plan.skipped.length;
100
+ const ignoredCount = plan.ignoredRoots.reduce((sum, root) => sum + root.skillCount, 0);
101
+ console.log(`${platform}: adoption dry-run: ${candidateCount} candidate(s), ${managedCount} managed, ${blockedCount} blocked, ${skippedCount} skipped, ${ignoredCount} ignored in unowned roots`);
102
+ for (const candidate of plan.candidates)
103
+ console.log(formatAdoptionLine('adopt', candidate));
104
+ for (const blocked of plan.blocked)
105
+ console.log(formatAdoptionLine('block', blocked));
106
+ for (const skipped of plan.skipped)
107
+ console.log(formatAdoptionLine('skip ', skipped));
108
+ for (const root of plan.ignoredRoots) {
109
+ console.log(` ignore ${root.skillCount} skill(s) under ${root.root} — ${root.reason}`);
110
+ }
111
+ }
112
+ function printAdoptionSync(platform, result) {
113
+ const candidateCount = result.plan.candidates.length;
114
+ if (!candidateCount && !result.blocked && !result.skipped)
115
+ return;
116
+ console.log(`${platform}: native skill adoption: ${result.adopted}/${candidateCount} adopted, ${result.blocked} blocked, ${result.skipped} skipped`);
117
+ }
80
118
  function bundleRoot() {
81
119
  // Same resolution as init.ts Step 6 + postinstall.js
82
120
  return path.join(__dirname, '..', '..', 'skill');
@@ -122,6 +160,239 @@ function getMany(args, name) {
122
160
  }
123
161
  return out;
124
162
  }
163
+ function mirrorApiConfig() {
164
+ const apiKey = process.env.GREPRAG_API_KEY || '';
165
+ if (!apiKey)
166
+ throw new Error('GREPRAG_API_KEY not set — run `greprag init` first.');
167
+ return { apiUrl: process.env.GREPRAG_API_URL || 'https://api.greprag.com', apiKey };
168
+ }
169
+ async function mirrorApiJson(method, pathname, body) {
170
+ const { apiUrl, apiKey } = mirrorApiConfig();
171
+ const res = await fetch(`${apiUrl}${pathname}`, {
172
+ method,
173
+ headers: {
174
+ 'Authorization': `Bearer ${apiKey}`,
175
+ ...(body ? { 'Content-Type': 'application/json' } : {}),
176
+ },
177
+ body: body ? JSON.stringify(body) : undefined,
178
+ });
179
+ let data = {};
180
+ try {
181
+ data = await res.json();
182
+ }
183
+ catch { /* non-json error */ }
184
+ if (!res.ok) {
185
+ const detail = typeof data.detail === 'string' ? ` — ${data.detail}` : '';
186
+ throw new Error(`skill mirror ${method} ${pathname} failed: HTTP ${res.status}${detail}`);
187
+ }
188
+ return data;
189
+ }
190
+ function mirrorLookupQuery(args) {
191
+ const params = new URLSearchParams();
192
+ const scope = getArg(args, '--scope');
193
+ const projectId = getArg(args, '--project-id') || getArg(args, '--projectId');
194
+ const skillId = getArg(args, '--skill-id') || getArg(args, '--skillId');
195
+ if (scope)
196
+ params.set('scope', scope);
197
+ if (projectId)
198
+ params.set('projectId', projectId);
199
+ if (skillId)
200
+ params.set('skillId', skillId);
201
+ const qs = params.toString();
202
+ return qs ? `?${qs}` : '';
203
+ }
204
+ function mirrorBodyScope(args) {
205
+ const scope = getArg(args, '--scope');
206
+ const projectId = getArg(args, '--project-id') || getArg(args, '--projectId');
207
+ const projectName = getArg(args, '--project-name') || getArg(args, '--projectName');
208
+ const replaces = getMany(args, '--replaces');
209
+ return {
210
+ ...(scope ? { scope } : {}),
211
+ ...(projectId ? { projectId } : {}),
212
+ ...(projectName ? { projectName } : {}),
213
+ ...(replaces.length ? { replaces } : {}),
214
+ };
215
+ }
216
+ function validMirrorRelPath(relative) {
217
+ return /^(?!\.{1,2}(\/|$))[A-Za-z0-9._\/-]{1,200}\.md$/.test(relative) && !relative.includes('..');
218
+ }
219
+ function safePackagePath(root, relative) {
220
+ if (!validMirrorRelPath(relative))
221
+ throw new Error(`invalid mirrored file path: ${relative}`);
222
+ const target = path.resolve(root, ...relative.split('/'));
223
+ const prefix = path.resolve(root) + path.sep;
224
+ if (!target.startsWith(prefix))
225
+ throw new Error(`mirrored file escapes target: ${relative}`);
226
+ return target;
227
+ }
228
+ function dirEmpty(root) {
229
+ try {
230
+ return fs.readdirSync(root).length === 0;
231
+ }
232
+ catch {
233
+ return true;
234
+ }
235
+ }
236
+ function listMarkdownFiles(root) {
237
+ const out = [];
238
+ const walk = (dir, rel) => {
239
+ let entries;
240
+ try {
241
+ entries = fs.readdirSync(dir, { withFileTypes: true });
242
+ }
243
+ catch {
244
+ return;
245
+ }
246
+ for (const entry of entries) {
247
+ const nextRel = rel ? `${rel}/${entry.name}` : entry.name;
248
+ const abs = path.join(dir, entry.name);
249
+ if (entry.isDirectory())
250
+ walk(abs, nextRel);
251
+ else if (entry.isFile() && entry.name.toLowerCase().endsWith('.md'))
252
+ out.push(nextRel.replace(/\\/g, '/'));
253
+ }
254
+ };
255
+ walk(root, '');
256
+ return out;
257
+ }
258
+ function writeSkillPackage(targetDir, files, opts) {
259
+ const target = path.resolve(targetDir);
260
+ if (fs.existsSync(target) && !dirEmpty(target) && !opts.force) {
261
+ throw new Error(`target directory is not empty; pass --force to overwrite: ${target}`);
262
+ }
263
+ const wanted = new Set(files.map(file => file.path));
264
+ const removals = opts.exact && fs.existsSync(target)
265
+ ? listMarkdownFiles(target).filter(relative => !wanted.has(relative))
266
+ : [];
267
+ if (opts.check) {
268
+ console.log(`Would write ${files.length} file(s) to ${target}`);
269
+ for (const file of files)
270
+ console.log(` write ${file.path}`);
271
+ for (const relative of removals)
272
+ console.log(` remove ${relative}`);
273
+ return;
274
+ }
275
+ fs.mkdirSync(target, { recursive: true });
276
+ for (const relative of removals)
277
+ fs.rmSync(safePackagePath(target, relative), { force: true });
278
+ for (const file of files) {
279
+ const destination = safePackagePath(target, file.path);
280
+ fs.mkdirSync(path.dirname(destination), { recursive: true });
281
+ fs.writeFileSync(destination, file.content.endsWith('\n') ? file.content : file.content + '\n', 'utf8');
282
+ }
283
+ }
284
+ async function runSkillMirrorExport(args) {
285
+ const name = args[0];
286
+ const to = getArg(args, '--to');
287
+ if (!name || !to)
288
+ throw new Error('Usage: greprag skill mirror export <name> --to <dir> [--force] [--check]');
289
+ const data = await mirrorApiJson('GET', `/v1/skillmirror/${encodeURIComponent(name)}${mirrorLookupQuery(args)}`);
290
+ const files = (data.files || [])
291
+ .filter((file) => typeof file.path === 'string' && typeof file.content === 'string');
292
+ if (!files.length)
293
+ throw new Error(`No mirrored files returned for ${name}.`);
294
+ writeSkillPackage(to, files, { force: args.includes('--force'), check: args.includes('--check'), exact: true });
295
+ console.log(`Exported ${name} revision ${Number(data.revision || 0)} (${String(data.contentHash || '').slice(0, 12)})`);
296
+ }
297
+ async function runSkillMirrorApply(args) {
298
+ const dir = args[0];
299
+ const skill = getArg(args, '--skill') || (dir ? path.basename(path.resolve(dir)) : '');
300
+ if (!dir || !skill)
301
+ throw new Error('Usage: greprag skill mirror apply <dir> --skill <name> --expected-revision <n>');
302
+ const expectedRevisionRaw = getArg(args, '--expected-revision') || getArg(args, '--expectedRevision');
303
+ const expectedHash = getArg(args, '--expected-hash') || getArg(args, '--expectedHash');
304
+ if (!expectedRevisionRaw && !expectedHash && !args.includes('--force')) {
305
+ throw new Error('Refusing unguarded apply; pass --expected-revision <n>, --expected-hash <hash>, or --force.');
306
+ }
307
+ const files = (0, skill_mirror_client_1.collectSkillFiles)(path.resolve(dir));
308
+ if (!files)
309
+ throw new Error(`No valid SKILL.md package found at ${path.resolve(dir)}.`);
310
+ const hash = (0, skill_mirror_client_1.computeMirrorHash)(files);
311
+ const body = {
312
+ files,
313
+ contentHash: hash,
314
+ ...mirrorBodyScope(args),
315
+ };
316
+ if (expectedRevisionRaw)
317
+ body.expectedRevision = Number(expectedRevisionRaw);
318
+ if (expectedHash)
319
+ body.expectedHash = expectedHash;
320
+ const data = await mirrorApiJson('POST', `/v1/skillmirror/${encodeURIComponent(skill)}`, body);
321
+ console.log(`Applied ${skill}: revision ${Number(data.revision || 0)} (${String(data.contentHash || hash).slice(0, 12)})`);
322
+ }
323
+ function snapshotNameArg(args) {
324
+ const explicit = getArg(args, '--name');
325
+ if (explicit)
326
+ return explicit;
327
+ for (let i = 0; i < args.length; i++) {
328
+ if (args[i].startsWith('-')) {
329
+ if (args[i + 1] && !args[i + 1].startsWith('-'))
330
+ i++;
331
+ continue;
332
+ }
333
+ return args[i];
334
+ }
335
+ return undefined;
336
+ }
337
+ async function runSkillMirrorSnapshot(args) {
338
+ const verb = args[0];
339
+ const skill = args[1];
340
+ const rest = args.slice(2);
341
+ if (!verb || !skill) {
342
+ throw new Error('Usage: greprag skill mirror snapshot create|list|show|restore <skill> [--name <snapshot>]');
343
+ }
344
+ if (verb === 'list') {
345
+ const data = await mirrorApiJson('GET', `/v1/skillmirror/${encodeURIComponent(skill)}/snapshots${mirrorLookupQuery(rest)}`);
346
+ const snapshots = data.snapshots || [];
347
+ if (!snapshots.length) {
348
+ console.log(`No snapshots for ${skill}.`);
349
+ return;
350
+ }
351
+ for (const s of snapshots) {
352
+ console.log(`${String(s.snapshotName).padEnd(24)} rev ${String(s.revision).padEnd(4)} ${String(s.capturedAt)} ${String(s.reason || '')}`);
353
+ }
354
+ return;
355
+ }
356
+ const name = snapshotNameArg(rest);
357
+ if (!name)
358
+ throw new Error(`Usage: greprag skill mirror snapshot ${verb} <skill> --name <snapshot>`);
359
+ if (verb === 'create') {
360
+ const body = {
361
+ ...mirrorBodyScope(rest),
362
+ reason: getArg(rest, '--reason'),
363
+ force: rest.includes('--force'),
364
+ };
365
+ const data = await mirrorApiJson('POST', `/v1/skillmirror/${encodeURIComponent(skill)}/snapshots/${encodeURIComponent(name)}`, body);
366
+ const snap = data.snapshot;
367
+ console.log(`Snapshot ${String(snap.snapshotName || name)} stored for ${skill}: revision ${Number(snap.revision || 0)}`);
368
+ return;
369
+ }
370
+ const data = await mirrorApiJson('GET', `/v1/skillmirror/${encodeURIComponent(skill)}/snapshots/${encodeURIComponent(name)}${mirrorLookupQuery(rest)}`);
371
+ const snapshot = data.snapshot;
372
+ if (verb === 'show') {
373
+ const files = snapshot.files || [];
374
+ console.log(`${String(snapshot.snapshotName)} — ${skill}`);
375
+ console.log(`revision ${Number(snapshot.revision || 0)} ${String(snapshot.contentHash || '').slice(0, 12)} ${String(snapshot.capturedAt || '')}`);
376
+ if (snapshot.reason)
377
+ console.log(`reason: ${String(snapshot.reason)}`);
378
+ for (const file of files) {
379
+ console.log(` ${String(file.status || 'present').padEnd(7)} ${String(file.path)} ${String(file.contentHash || '').slice(0, 12)}`);
380
+ }
381
+ return;
382
+ }
383
+ if (verb === 'restore') {
384
+ const to = getArg(rest, '--to');
385
+ if (!to)
386
+ throw new Error('Usage: greprag skill mirror snapshot restore <skill> --name <snapshot> --to <dir> [--force] [--check]');
387
+ const files = (snapshot.files || [])
388
+ .filter(file => file.status === 'present' && typeof file.path === 'string' && typeof file.content === 'string')
389
+ .map(file => ({ path: String(file.path), content: String(file.content) }));
390
+ writeSkillPackage(to, files, { force: rest.includes('--force'), check: rest.includes('--check'), exact: true });
391
+ console.log(`Restored snapshot ${name} for ${skill} to ${path.resolve(to)}. Run apply with the expected revision if this should become canon.`);
392
+ return;
393
+ }
394
+ throw new Error('Usage: greprag skill mirror snapshot create|list|show|restore <skill> [--name <snapshot>]');
395
+ }
125
396
  async function runSkill(args) {
126
397
  const sub = args[0];
127
398
  if (!sub || sub === '--help' || sub === '-h' || sub === 'help') {
@@ -131,11 +402,26 @@ async function runSkill(args) {
131
402
  const bundled = listBundled();
132
403
  switch (sub) {
133
404
  case 'mirror': {
134
- if (args[1] !== 'sync') {
135
- console.error('Usage: greprag skill mirror sync [claude-code|codex|opencode|all]');
405
+ const mirrorVerb = args[1] || 'sync';
406
+ if (mirrorVerb === 'export') {
407
+ await runSkillMirrorExport(args.slice(2));
408
+ return;
409
+ }
410
+ if (mirrorVerb === 'apply') {
411
+ await runSkillMirrorApply(args.slice(2));
412
+ return;
413
+ }
414
+ if (mirrorVerb === 'snapshot') {
415
+ await runSkillMirrorSnapshot(args.slice(2));
416
+ return;
417
+ }
418
+ if (mirrorVerb !== 'sync') {
419
+ console.error('Usage: greprag skill mirror sync|export|apply|snapshot ...');
136
420
  process.exit(1);
137
421
  }
138
- const requested = args[2] || 'all';
422
+ const dryRun = args.includes('--dry-run');
423
+ const positional = args.slice(2).filter(arg => !arg.startsWith('-'));
424
+ const requested = positional[0] || 'all';
139
425
  const platforms = requested === 'all'
140
426
  ? [...native_skill_mirror_1.NATIVE_SKILL_ADAPTER_PLATFORMS]
141
427
  : ['claude-code', 'codex', 'opencode'].includes(requested)
@@ -145,9 +431,6 @@ async function runSkill(args) {
145
431
  console.error('Harness must be claude-code, codex, opencode, or all.');
146
432
  process.exit(1);
147
433
  }
148
- const apiKey = process.env.GREPRAG_API_KEY || '';
149
- if (!apiKey)
150
- throw new Error('GREPRAG_API_KEY not set — run `greprag init` first.');
151
434
  const apiUrl = process.env.GREPRAG_API_URL || 'https://api.greprag.com';
152
435
  const anchor = (0, project_anchor_1.readAnchor)(process.cwd());
153
436
  if (requested === 'all') {
@@ -158,6 +441,30 @@ async function runSkill(args) {
158
441
  console.log(`${platform}: native skill adapter sync disabled until Claude cutover approval.`);
159
442
  continue;
160
443
  }
444
+ if (dryRun) {
445
+ printAdoptionDryRun(platform, {
446
+ plan: (0, skill_mirror_client_1.dryRunNativeSkillAdoption)({
447
+ platform,
448
+ projectId: anchor.projectId,
449
+ projectName: anchor.projectName,
450
+ projectDir: process.cwd(),
451
+ }),
452
+ adopted: 0,
453
+ blocked: 0,
454
+ skipped: 0,
455
+ });
456
+ continue;
457
+ }
458
+ const apiKey = process.env.GREPRAG_API_KEY || '';
459
+ if (!apiKey)
460
+ throw new Error('GREPRAG_API_KEY not set — run `greprag init` first.');
461
+ const adoption = await (0, skill_mirror_client_1.syncNativeSkillAdoptions)({
462
+ platform, apiUrl, apiKey,
463
+ projectId: anchor.projectId,
464
+ projectName: anchor.projectName,
465
+ projectDir: process.cwd(),
466
+ });
467
+ printAdoptionSync(platform, adoption);
161
468
  const result = await (0, native_skill_mirror_1.syncNativeSkillMirror)({
162
469
  platform, apiUrl, apiKey,
163
470
  projectId: anchor.projectId,
@@ -165,7 +472,8 @@ async function runSkill(args) {
165
472
  });
166
473
  console.log(`${platform}: ${(0, native_skill_mirror_1.nativeSkillMirrorSummary)(result)}`);
167
474
  }
168
- console.log('Restart open Codex/OpenCode sessions to refresh their native skill manifest.');
475
+ if (!dryRun)
476
+ console.log('Restart open Codex/OpenCode sessions to refresh their native skill manifest.');
169
477
  return;
170
478
  }
171
479
  case 'source': {
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /** Adopt unmanaged native skills into the GrepRAG skill mirror. */
2
+ import { type NativeMirroredSkill, type NativeSkillPlatform } from './native-skill-mirror';
3
+ import { type SkillFile } from './skill-mirror-files';
4
+ export interface NativeSkillAdoptionRoot {
5
+ root: string;
6
+ scope: 'global' | 'project';
7
+ projectId?: string;
8
+ projectName?: string;
9
+ }
10
+ export interface NativeSkillAdoptionCandidate extends NativeSkillAdoptionRoot {
11
+ skillName: string;
12
+ files: SkillFile[];
13
+ sourceHash: string;
14
+ }
15
+ export interface NativeSkillAdoptionBlocked extends NativeSkillAdoptionRoot {
16
+ skillName: string;
17
+ reason: string;
18
+ }
19
+ export interface NativeSkillIgnoredRoot {
20
+ root: string;
21
+ reason: string;
22
+ skillCount: number;
23
+ }
24
+ export interface NativeSkillAdoptionPlan {
25
+ candidates: NativeSkillAdoptionCandidate[];
26
+ managed: NativeSkillAdoptionBlocked[];
27
+ blocked: NativeSkillAdoptionBlocked[];
28
+ skipped: NativeSkillAdoptionBlocked[];
29
+ ignoredRoots: NativeSkillIgnoredRoot[];
30
+ }
31
+ export declare function planNativeSkillAdoption(params: {
32
+ platform: NativeSkillPlatform;
33
+ homeDir?: string;
34
+ projectDir?: string;
35
+ projectId?: string;
36
+ projectName?: string;
37
+ collectFiles: (skillDir: string) => SkillFile[] | null;
38
+ }): NativeSkillAdoptionPlan;
39
+ export declare function installAdoptedNativeSkill(params: {
40
+ platform: NativeSkillPlatform;
41
+ root: string;
42
+ skill: NativeMirroredSkill;
43
+ expectedSourceHash: string;
44
+ collectFiles: (skillDir: string) => SkillFile[] | null;
45
+ }): 'installed' | 'blocked' | 'skipped';