@pleri/olam-cli 0.1.146 → 0.1.148

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 (85) hide show
  1. package/dist/commands/auth.d.ts.map +1 -1
  2. package/dist/commands/auth.js +26 -1
  3. package/dist/commands/auth.js.map +1 -1
  4. package/dist/commands/doctor.d.ts +31 -3
  5. package/dist/commands/doctor.d.ts.map +1 -1
  6. package/dist/commands/doctor.js +274 -6
  7. package/dist/commands/doctor.js.map +1 -1
  8. package/dist/commands/services.d.ts +41 -3
  9. package/dist/commands/services.d.ts.map +1 -1
  10. package/dist/commands/services.js +221 -13
  11. package/dist/commands/services.js.map +1 -1
  12. package/dist/commands/skills-migrate-hooks-back.d.ts +19 -0
  13. package/dist/commands/skills-migrate-hooks-back.d.ts.map +1 -0
  14. package/dist/commands/skills-migrate-hooks-back.js +83 -0
  15. package/dist/commands/skills-migrate-hooks-back.js.map +1 -0
  16. package/dist/commands/skills-migrate-hooks.d.ts +40 -0
  17. package/dist/commands/skills-migrate-hooks.d.ts.map +1 -0
  18. package/dist/commands/skills-migrate-hooks.js +178 -0
  19. package/dist/commands/skills-migrate-hooks.js.map +1 -0
  20. package/dist/commands/skills.d.ts.map +1 -1
  21. package/dist/commands/skills.js +49 -1
  22. package/dist/commands/skills.js.map +1 -1
  23. package/dist/commands/substrate-audit-log.d.ts +2 -0
  24. package/dist/commands/substrate-audit-log.d.ts.map +1 -1
  25. package/dist/commands/substrate-audit-log.js +13 -0
  26. package/dist/commands/substrate-audit-log.js.map +1 -1
  27. package/dist/image-digests.json +7 -7
  28. package/dist/index.js +4390 -2615
  29. package/dist/index.js.map +1 -1
  30. package/dist/lib/auth-refresh-kubernetes.d.ts +62 -0
  31. package/dist/lib/auth-refresh-kubernetes.d.ts.map +1 -0
  32. package/dist/lib/auth-refresh-kubernetes.js +127 -0
  33. package/dist/lib/auth-refresh-kubernetes.js.map +1 -0
  34. package/dist/lib/kubectl-wrap.d.ts +6 -0
  35. package/dist/lib/kubectl-wrap.d.ts.map +1 -1
  36. package/dist/lib/kubectl-wrap.js +6 -1
  37. package/dist/lib/kubectl-wrap.js.map +1 -1
  38. package/dist/lib/manifest-refresh.d.ts +8 -1
  39. package/dist/lib/manifest-refresh.d.ts.map +1 -1
  40. package/dist/lib/manifest-refresh.js +17 -7
  41. package/dist/lib/manifest-refresh.js.map +1 -1
  42. package/dist/lib/peripheral-registry.d.ts +36 -0
  43. package/dist/lib/peripheral-registry.d.ts.map +1 -0
  44. package/dist/lib/peripheral-registry.js +55 -0
  45. package/dist/lib/peripheral-registry.js.map +1 -0
  46. package/dist/lib/port-forward.d.ts +67 -0
  47. package/dist/lib/port-forward.d.ts.map +1 -1
  48. package/dist/lib/port-forward.js +153 -0
  49. package/dist/lib/port-forward.js.map +1 -1
  50. package/dist/lib/upgrade-kubernetes.d.ts +35 -11
  51. package/dist/lib/upgrade-kubernetes.d.ts.map +1 -1
  52. package/dist/lib/upgrade-kubernetes.js +265 -21
  53. package/dist/lib/upgrade-kubernetes.js.map +1 -1
  54. package/dist/mcp-server.js +1196 -412
  55. package/host-cp/k8s/manifests/auth-service/10-serviceaccount.yaml +8 -0
  56. package/host-cp/k8s/manifests/auth-service/20-rbac.yaml +34 -0
  57. package/host-cp/k8s/manifests/auth-service/30-configmap.yaml +24 -0
  58. package/host-cp/k8s/manifests/auth-service/45-pvc.yaml +25 -0
  59. package/host-cp/k8s/manifests/auth-service/50-deployment.yaml +114 -0
  60. package/host-cp/k8s/manifests/auth-service/60-service.yaml +21 -0
  61. package/host-cp/k8s/manifests/kg-service/10-serviceaccount.yaml +8 -0
  62. package/host-cp/k8s/manifests/kg-service/20-rbac.yaml +34 -0
  63. package/host-cp/k8s/manifests/kg-service/30-configmap.yaml +18 -0
  64. package/host-cp/k8s/manifests/kg-service/45-pvc.yaml +25 -0
  65. package/host-cp/k8s/manifests/kg-service/50-deployment.yaml +108 -0
  66. package/host-cp/k8s/manifests/kg-service/60-service.yaml +21 -0
  67. package/host-cp/k8s/manifests/mcp-auth-service/10-serviceaccount.yaml +8 -0
  68. package/host-cp/k8s/manifests/mcp-auth-service/20-rbac.yaml +34 -0
  69. package/host-cp/k8s/manifests/mcp-auth-service/30-configmap.yaml +18 -0
  70. package/host-cp/k8s/manifests/mcp-auth-service/45-pvc.yaml +25 -0
  71. package/host-cp/k8s/manifests/mcp-auth-service/50-deployment.yaml +114 -0
  72. package/host-cp/k8s/manifests/mcp-auth-service/60-service.yaml +21 -0
  73. package/host-cp/k8s/manifests/memory-service/10-serviceaccount.yaml +8 -0
  74. package/host-cp/k8s/manifests/memory-service/20-rbac.yaml +34 -0
  75. package/host-cp/k8s/manifests/memory-service/30-configmap.yaml +20 -0
  76. package/host-cp/k8s/manifests/memory-service/45-pvc.yaml +25 -0
  77. package/host-cp/k8s/manifests/memory-service/50-deployment.yaml +116 -0
  78. package/host-cp/k8s/manifests/memory-service/60-service.yaml +21 -0
  79. package/host-cp/k8s/templates/auth-service-secret-template.yaml +28 -0
  80. package/host-cp/k8s/templates/kg-service-secret-template.yaml +28 -0
  81. package/host-cp/k8s/templates/mcp-auth-service-secret-template.yaml +28 -0
  82. package/host-cp/k8s/templates/memory-service-secret-template.yaml +29 -0
  83. package/host-cp/src/plan-chat-service.mjs +22 -3
  84. package/host-cp/src/server.mjs +4 -4
  85. package/package.json +1 -1
@@ -2,9 +2,14 @@
2
2
  * `olam services` — umbrella verb for managing Olam service containers.
3
3
  *
4
4
  * Subcommands:
5
- * olam services up — start olam-auth + olam-mcp-auth + olam-kg-service (idempotent)
6
- * olam services down — stop all service containers
7
- * olam services status — show state of all service containers
5
+ * olam services up — start all service containers (idempotent)
6
+ * olam services down — stop all service containers
7
+ * olam services status — show state of all service containers
8
+ * olam services restart <name> — restart a named service
9
+ *
10
+ * Substrate-aware (D1 — Phase 2 Phase D):
11
+ * compose → docker-based lifecycle (AuthContainerController / McpAuth / KgService)
12
+ * kubernetes → kubectl scale / rollout restart / get deployment
8
13
  *
9
14
  * `olam auth up/down/status` delegates here with a deprecation warning.
10
15
  */
@@ -13,6 +18,9 @@ import pc from 'picocolors';
13
18
  import { AuthContainerController } from '@olam/core/src/auth/index.js';
14
19
  import { printError, printHeader, printInfo, printSuccess, printWarning } from '../output.js';
15
20
  import { KG_SERVICE_HEALTH_TIMEOUT_MS, KG_SERVICE_PORT, KgServiceContainerController, } from './kg-service-container.js';
21
+ import { readConfig } from '../lib/config.js';
22
+ import { kubectlWrap } from '../lib/kubectl-wrap.js';
23
+ import { PERIPHERALS } from '../lib/peripheral-registry.js';
16
24
  // ── McpAuthContainerController ────────────────────────────────────
17
25
  //
18
26
  // Mirrors AuthContainerController (packages/core/src/auth/container.ts).
@@ -104,6 +112,167 @@ export class McpAuthContainerController {
104
112
  function sleep(ms) {
105
113
  return new Promise((resolve) => setTimeout(resolve, ms));
106
114
  }
115
+ // ── Kubernetes context resolution (D1 — SEC-NEW-003) ─────────────
116
+ const K8S_NAMESPACE = 'olam';
117
+ /**
118
+ * Resolve the pinned kubectl context. Implements D1 context policy:
119
+ * 1. `host.kubectl_context_pinned` in config (preferred).
120
+ * 2. `OLAM_K8S_CONTEXT_ACK` env-var fallback (Phase 1b migration; emits deprecation warning).
121
+ * 3. Both absent → null (caller must refuse).
122
+ */
123
+ function resolveK8sContext(configPath) {
124
+ const cfg = readConfig(configPath ? { configPath } : {});
125
+ const pinned = cfg.host['kubectl_context_pinned'];
126
+ if (typeof pinned === 'string' && pinned.length > 0) {
127
+ return { context: pinned, fromFallback: false };
128
+ }
129
+ const ack = process.env['OLAM_K8S_CONTEXT_ACK'];
130
+ if (typeof ack === 'string' && ack.length > 0) {
131
+ return { context: ack, fromFallback: true };
132
+ }
133
+ return null;
134
+ }
135
+ /** Emits actionable error and returns false when context is missing (SEC-NEW-003). */
136
+ function assertK8sContext(configPath) {
137
+ const resolved = resolveK8sContext(configPath);
138
+ if (!resolved) {
139
+ printError('kubectl_context_pinned is not set in ~/.olam/config.json and OLAM_K8S_CONTEXT_ACK is not set.\n' +
140
+ ' Set host.kubectl_context_pinned in ~/.olam/config.json to your kubectl context name.\n' +
141
+ ' See docs/architecture/peripheral-services-on-k3s.md for setup instructions.');
142
+ return null;
143
+ }
144
+ if (resolved.fromFallback) {
145
+ printWarning('OLAM_K8S_CONTEXT_ACK is deprecated; set host.kubectl_context_pinned in ~/.olam/config.json');
146
+ }
147
+ return { context: resolved.context };
148
+ }
149
+ /**
150
+ * `olam services up` on kubernetes substrate.
151
+ * Scales each peripheral deployment to replicas=1.
152
+ * Applies the manifest if the Deployment is missing (not found).
153
+ */
154
+ export async function servicesUpKubernetes(deps = {}) {
155
+ const ctx = assertK8sContext(deps.configPath);
156
+ if (!ctx)
157
+ return { exitCode: 1 };
158
+ const wrap = deps.kubectlWrapImpl ?? kubectlWrap;
159
+ const { context } = ctx;
160
+ printHeader('Services up (kubernetes)');
161
+ let exitCode = 0;
162
+ for (const peripheral of PERIPHERALS) {
163
+ const name = peripheral.name;
164
+ const result = await wrap([
165
+ '--context', context,
166
+ 'scale', `deployment/${name}`,
167
+ '--replicas=1',
168
+ '-n', K8S_NAMESPACE,
169
+ ], { timeout: 30_000 });
170
+ if (!result.ok) {
171
+ printWarning(`${name}: scale failed — ${result.stderr.split('\n')[0] ?? ''} (try olam upgrade to apply manifests)`);
172
+ exitCode = 1;
173
+ }
174
+ else {
175
+ printSuccess(`${name}: scaled to 1 replica`);
176
+ }
177
+ }
178
+ return { exitCode };
179
+ }
180
+ /**
181
+ * `olam services down` on kubernetes substrate.
182
+ * Scales each peripheral deployment to replicas=0.
183
+ */
184
+ export async function servicesDownKubernetes(deps = {}) {
185
+ const ctx = assertK8sContext(deps.configPath);
186
+ if (!ctx)
187
+ return { exitCode: 1 };
188
+ const wrap = deps.kubectlWrapImpl ?? kubectlWrap;
189
+ const { context } = ctx;
190
+ let exitCode = 0;
191
+ for (const peripheral of PERIPHERALS) {
192
+ const name = peripheral.name;
193
+ const result = await wrap([
194
+ '--context', context,
195
+ 'scale', `deployment/${name}`,
196
+ '--replicas=0',
197
+ '-n', K8S_NAMESPACE,
198
+ ], { timeout: 30_000 });
199
+ if (!result.ok) {
200
+ printError(`${name}: scale down failed — ${result.stderr.split('\n')[0] ?? ''}`);
201
+ exitCode = 1;
202
+ }
203
+ else {
204
+ printSuccess(`${name}: scaled to 0 replicas`);
205
+ }
206
+ }
207
+ return { exitCode };
208
+ }
209
+ /**
210
+ * `olam services status` on kubernetes substrate.
211
+ * Fetches `kubectl get deployment -n olam -o wide` and formats it to match
212
+ * the compose table shape: NAME | STATUS | IMAGE | AGE | RESTARTS.
213
+ */
214
+ export async function servicesStatusKubernetes(deps = {}) {
215
+ const ctx = assertK8sContext(deps.configPath);
216
+ if (!ctx)
217
+ return;
218
+ const wrap = deps.kubectlWrapImpl ?? kubectlWrap;
219
+ const { context } = ctx;
220
+ printHeader('Services status (kubernetes)');
221
+ const result = await wrap([
222
+ '--context', context,
223
+ 'get', 'deployment',
224
+ '-n', K8S_NAMESPACE,
225
+ '-o', 'wide',
226
+ ], { timeout: 30_000 });
227
+ if (!result.ok) {
228
+ printError(`kubectl get deployment failed: ${result.stderr.split('\n')[0] ?? ''}`);
229
+ return;
230
+ }
231
+ // Parse kubectl output and reformat to match compose table shape.
232
+ // kubectl -o wide columns: NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
233
+ // We emit: NAME | STATUS | IMAGE | AGE | RESTARTS
234
+ const lines = result.stdout.trim().split('\n');
235
+ const header = ` ${'NAME'.padEnd(24)} ${'STATUS'.padEnd(10)} ${'IMAGE'.padEnd(44)} ${'AGE'.padEnd(8)} RESTARTS`;
236
+ const divider = ' ' + '─'.repeat(104);
237
+ printInfo('', header);
238
+ printInfo('', divider);
239
+ for (const line of lines.slice(1)) {
240
+ const cols = line.trim().split(/\s+/);
241
+ const name = cols[0] ?? '';
242
+ const ready = cols[1] ?? '0/0'; // e.g. "1/1"
243
+ const available = cols[3] ?? '0';
244
+ const age = cols[4] ?? '?';
245
+ const image = cols[6] ?? '(unknown)';
246
+ // Short image tag: strip registry prefix for readability.
247
+ const shortImage = image.split('/').pop() ?? image;
248
+ const status = available === ready.split('/')[1] ? 'running' : 'degraded';
249
+ const statusStr = status === 'running' ? pc.green(status) : pc.yellow(status);
250
+ printInfo('', ` ${name.padEnd(24)} ${statusStr.padEnd(10 + (status === 'running' ? pc.green('').length : pc.yellow('').length))} ${shortImage.padEnd(44)} ${age.padEnd(8)} —`);
251
+ }
252
+ }
253
+ /**
254
+ * `olam services restart <name>` on kubernetes substrate.
255
+ * Uses `kubectl rollout restart deployment/<name>`.
256
+ */
257
+ export async function servicesRestartKubernetes(name, deps = {}) {
258
+ const ctx = assertK8sContext(deps.configPath);
259
+ if (!ctx)
260
+ return { exitCode: 1 };
261
+ const wrap = deps.kubectlWrapImpl ?? kubectlWrap;
262
+ const { context } = ctx;
263
+ const result = await wrap([
264
+ '--context', context,
265
+ 'rollout', 'restart',
266
+ `deployment/${name}`,
267
+ '-n', K8S_NAMESPACE,
268
+ ], { timeout: 30_000 });
269
+ if (!result.ok) {
270
+ printError(`rollout restart ${name} failed: ${result.stderr.split('\n')[0] ?? ''}`);
271
+ return { exitCode: 1 };
272
+ }
273
+ printSuccess(`${name}: rollout restart triggered`);
274
+ return { exitCode: 0 };
275
+ }
107
276
  // ── Services orchestration ────────────────────────────────────────
108
277
  /** Start both auth containers, idempotent. */
109
278
  /**
@@ -289,28 +458,67 @@ export function servicesStatus() {
289
458
  export function registerServices(program) {
290
459
  const services = program
291
460
  .command('services')
292
- .description('Manage Olam service containers (olam-auth, olam-mcp-auth, olam-kg-service)');
461
+ .description('Manage Olam service containers. Substrate-aware: compose uses docker; kubernetes uses kubectl.');
293
462
  services
294
463
  .command('up')
295
464
  .description('Start all service containers (idempotent)')
296
465
  .action(async () => {
297
- const result = await servicesUp();
298
- if (result.exitCode !== 0)
299
- process.exitCode = result.exitCode;
466
+ const cfg = readConfig();
467
+ if (cfg.host.substrate === 'kubernetes') {
468
+ const result = await servicesUpKubernetes();
469
+ if (result.exitCode !== 0)
470
+ process.exitCode = result.exitCode;
471
+ }
472
+ else {
473
+ const result = await servicesUp();
474
+ if (result.exitCode !== 0)
475
+ process.exitCode = result.exitCode;
476
+ }
300
477
  });
301
478
  services
302
479
  .command('down')
303
480
  .description('Stop all service containers')
304
- .action(() => {
305
- const result = servicesDown();
306
- if (result.exitCode !== 0)
307
- process.exitCode = result.exitCode;
481
+ .action(async () => {
482
+ const cfg = readConfig();
483
+ if (cfg.host.substrate === 'kubernetes') {
484
+ const result = await servicesDownKubernetes();
485
+ if (result.exitCode !== 0)
486
+ process.exitCode = result.exitCode;
487
+ }
488
+ else {
489
+ const result = servicesDown();
490
+ if (result.exitCode !== 0)
491
+ process.exitCode = result.exitCode;
492
+ }
308
493
  });
309
494
  services
310
495
  .command('status')
311
496
  .description('Show state of all service containers')
312
- .action(() => {
313
- servicesStatus();
497
+ .action(async () => {
498
+ const cfg = readConfig();
499
+ if (cfg.host.substrate === 'kubernetes') {
500
+ await servicesStatusKubernetes();
501
+ }
502
+ else {
503
+ servicesStatus();
504
+ }
505
+ });
506
+ services
507
+ .command('restart <name>')
508
+ .description('Restart a named service (kubernetes: kubectl rollout restart; compose: docker compose restart)')
509
+ .action(async (name) => {
510
+ const cfg = readConfig();
511
+ if (cfg.host.substrate === 'kubernetes') {
512
+ const result = await servicesRestartKubernetes(name);
513
+ if (result.exitCode !== 0)
514
+ process.exitCode = result.exitCode;
515
+ }
516
+ else {
517
+ // Compose restart — delegate to docker compose restart <name>.
518
+ const r = spawnSync('docker', ['compose', 'restart', name], { stdio: 'inherit' });
519
+ if (r.status !== 0)
520
+ process.exitCode = r.status ?? 1;
521
+ }
314
522
  });
315
523
  }
316
524
  //# sourceMappingURL=services.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/commands/services.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC9F,OAAO,EACL,4BAA4B,EAC5B,eAAe,EACf,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AAEnC,qEAAqE;AACrE,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,yBAAyB;AAEzB,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAC7C,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAC3C,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AACjD,MAAM,sBAAsB,GAAG,oCAAoC,CAAC;AACpE,MAAM,mBAAmB,GAAG,oBAAoB,aAAa,SAAS,CAAC;AACvE,qEAAqE;AACrE,qEAAqE;AACrE,mEAAmE;AACnE,8DAA8D;AAC9D,qEAAqE;AACrE,oEAAoE;AACpE,sEAAsE;AACtE,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAU1C,MAAM,OAAO,0BAA0B;IAC7B,QAAQ,GAAW,kBAAkB,CAAC;IAE9C,MAAM;QACJ,MAAM,CAAC,GAAG,SAAS,CACjB,QAAQ,EACR,CAAC,SAAS,EAAE,UAAU,EAAE,2BAA2B,EAAE,kBAAkB,CAAC,EACxE,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CAAC;QACF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClD,OAAO;gBACL,KAAK,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACrD,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,EAAE;aAChB,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IACnD,CAAC;IAEO,WAAW,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ;QACrC,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO;QACxC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,QAAQ,KAAK,sBAAsB,IAAI,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBACzF,IAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,mBAAmB,IAAI,CAAC,QAAQ,uBAAuB;oBACrD,mDAAmD,CACtD,CAAC;YACJ,CAAC;QACH,CAAC;QACD,YAAY,CACV,QAAQ,EACR;YACE,KAAK;YACL,UAAU;YACV,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,GAAG,aAAa,IAAI,aAAa,EAAE;YAChD,UAAU,EAAE,GAAG,eAAe,iBAAiB;YAC/C,IAAI,CAAC,QAAQ;SACd,EACD,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB,CAAC;IACJ,CAAC;IAED,IAAI;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO;QACxC,YAAY,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM;QACJ,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAS,GAAG,0BAA0B;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACrF,IAAI,GAAG,CAAC,EAAE;oBAAE,OAAO,IAAI,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;YACD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,qEAAqE;AAErE,8CAA8C;AAC9C;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,SAAiB,EAAE,IAAI,GAAG,EAAE;IACrD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,EAAE;YAC9E,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,6BAA6B,SAAS,UAAU,CAAC,CAAC;YAC3F,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,IAAI,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,0BAA0B,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,4BAA4B,EAAE,CAAC;IAErD,kBAAkB;IAClB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IACjC,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACnC,YAAY,CAAC,iCAAiC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7F,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,UAAU,CAAC,wDAAwD,0BAA0B,GAAG,IAAI,IAAI,CAAC,CAAC;YAC1G,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC/B,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzB,CAAC;QACD,YAAY,CAAC,mBAAmB,CAAC,CAAC;IACpC,CAAC;IAED,sBAAsB;IACtB,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IACnC,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAClC,YAAY,CAAC,qCAAqC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,kCAAkC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjG,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,UAAU,CAAC,4DAA4D,0BAA0B,GAAG,IAAI,IAAI,CAAC,CAAC;YAC9G,iBAAiB,CAAC,eAAe,CAAC,CAAC;YACnC,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzB,CAAC;QACD,YAAY,CAAC,uBAAuB,CAAC,CAAC;IACxC,CAAC;IAED,wBAAwB;IACxB,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;IACpC,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,YAAY,CAAC,uCAAuC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;SAAM,IAAI,SAAS,CAAC,sBAAsB,EAAE,EAAE,CAAC;QAC9C,oEAAoE;QACpE,oEAAoE;QACpE,uEAAuE;QACvE,uCAAuC;QACvC,SAAS,CAAC,iBAAiB,EAAE,kDAAkD,CAAC,CAAC;QACjF,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3B,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAChC,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,SAAS,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gEAAgE;YAChE,kEAAkE;YAClE,yBAAyB;YACzB,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,IAAI,QAAQ,IAAI,GAAG;gBACpD,CAAC,CAAC,MAAM,CAAE,GAAmC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;gBAClE,CAAC,CAAC,EAAE,CAAC;YACP,YAAY,CACV,gCAAgC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACjF,CAAC;YACF,WAAW,CAAC,aAAa,CAAC,CAAC;YAC3B,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAChC,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACpC,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,YAAY,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,UAAU,CACR,8DAA8D,4BAA4B,GAAG,IAAI,IAAI,CACtG,CAAC;YACF,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YACrC,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzB,CAAC;QACD,yEAAyE;QACzE,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAC1B,YAAY,CAAC,sCAAsC,CAAC,CAAC;IACvD,CAAC;IAED,WAAW,CAAC,aAAa,CAAC,CAAC;IAC3B,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAChC,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACpC,SAAS,CAAC,iBAAiB,EAAE,IAAI,eAAe,EAAE,CAAC,CAAC;IACpD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACzB,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,YAAY;IAC1B,MAAM,IAAI,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,0BAA0B,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,4BAA4B,EAAE,CAAC;IACrD,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,YAAY,CAAC,oBAAoB,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU,CAAC,cAAc,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7E,QAAQ,GAAG,CAAC,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,YAAY,CAAC,wBAAwB,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU,CAAC,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjF,QAAQ,GAAG,CAAC,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,EAAE,CAAC;QACjB,YAAY,CAAC,0BAA0B,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU,CAAC,oBAAoB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnF,QAAQ,GAAG,CAAC,CAAC;IACf,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,cAAc;IAC5B,MAAM,IAAI,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,0BAA0B,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,4BAA4B,EAAE,CAAC;IAErD,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,YAAY,GAChB,SAAS,CAAC,KAAK,KAAK,SAAS;QAC3B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;QACrB,CAAC,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS;YAC7B,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;YACtB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1B,SAAS,CAAC,WAAW,EAAE,GAAG,YAAY,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAClC,MAAM,WAAW,GACf,QAAQ,CAAC,KAAK,KAAK,SAAS;QAC1B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;QACrB,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS;YAC5B,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;YACtB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1B,SAAS,CAAC,eAAe,EAAE,GAAG,WAAW,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;IACnC,MAAM,UAAU,GACd,OAAO,CAAC,KAAK,KAAK,SAAS;QACzB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;QACrB,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS;YAC3B,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;YACtB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1B,SAAS,CAAC,iBAAiB,EAAE,GAAG,UAAU,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,qEAAqE;AAErE,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,4EAA4E,CAAC,CAAC;IAE7F,QAAQ;SACL,OAAO,CAAC,IAAI,CAAC;SACb,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAChE,CAAC,CAAC,CAAC;IAEL,QAAQ;SACL,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,6BAA6B,CAAC;SAC1C,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAChE,CAAC,CAAC,CAAC;IAEL,QAAQ;SACL,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,GAAG,EAAE;QACX,cAAc,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/commands/services.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * `olam skills migrate-hooks-back` — reverse Phase B B1 meta-hook
3
+ * injection by restoring `~/.claude/settings.json` from a snapshot
4
+ * written by `writeMetaHooksSnapshot` (engine writes one before every
5
+ * injection that has a non-empty delta).
6
+ *
7
+ * olam skills migrate-hooks-back [--snapshot <path>]
8
+ *
9
+ * Without `--snapshot`: consumes the most-recent
10
+ * `meta-hooks-*.json` in `~/.olam/state/migration-snapshots/`.
11
+ * With `--snapshot`: uses the named file explicitly.
12
+ *
13
+ * Output: prints settings.json path + snapshot path + summary
14
+ * (restored / file-removed when snapshot represents pre-existence
15
+ * absence) + exits 0 on success.
16
+ */
17
+ import type { Command } from 'commander';
18
+ export declare function registerSkillsMigrateHooksBack(program: Command): void;
19
+ //# sourceMappingURL=skills-migrate-hooks-back.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-migrate-hooks-back.d.ts","sourceRoot":"","sources":["../../src/commands/skills-migrate-hooks-back.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBzC,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoErE"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * `olam skills migrate-hooks-back` — reverse Phase B B1 meta-hook
3
+ * injection by restoring `~/.claude/settings.json` from a snapshot
4
+ * written by `writeMetaHooksSnapshot` (engine writes one before every
5
+ * injection that has a non-empty delta).
6
+ *
7
+ * olam skills migrate-hooks-back [--snapshot <path>]
8
+ *
9
+ * Without `--snapshot`: consumes the most-recent
10
+ * `meta-hooks-*.json` in `~/.olam/state/migration-snapshots/`.
11
+ * With `--snapshot`: uses the named file explicitly.
12
+ *
13
+ * Output: prints settings.json path + snapshot path + summary
14
+ * (restored / file-removed when snapshot represents pre-existence
15
+ * absence) + exits 0 on success.
16
+ */
17
+ import * as path from 'node:path';
18
+ import { findLatestMetaHooksSnapshot, readMetaHooksSnapshot, restoreSettingsFromSnapshot, migrationSnapshotsDir, META_HOOKS_SNAPSHOT_PREFIX, } from '@olam/core/src/skill-sources/meta-hooks-migration-snapshot.js';
19
+ import { claudeSettingsPath } from '@olam/core/src/skill-sources/index.js';
20
+ import { printError, printInfo, printSuccess } from '../output.js';
21
+ function asMessage(err) {
22
+ return err instanceof Error ? err.message : String(err);
23
+ }
24
+ export function registerSkillsMigrateHooksBack(program) {
25
+ const skills = program.commands.find((c) => c.name() === 'skills') ??
26
+ program.command('skills').description('Manage skill sources and synchronization');
27
+ skills
28
+ .command('migrate-hooks-back')
29
+ .description('Reverse olam-meta hook injection by restoring ~/.claude/settings.json from a B5 snapshot')
30
+ .option('--snapshot <path>', 'Use a specific snapshot file (default: most recent meta-hooks-*.json)')
31
+ .action((opts) => {
32
+ try {
33
+ const snapshotPath = opts.snapshot ?? findLatestMetaHooksSnapshot();
34
+ if (!snapshotPath) {
35
+ printError('No meta-hooks-* snapshot found in ~/.olam/state/migration-snapshots/. ' +
36
+ 'Engine writes one before every injection that mutates settings.json; ' +
37
+ 'if none exist, no reversible injection has happened yet.');
38
+ process.exitCode = 1;
39
+ return;
40
+ }
41
+ // CP3 HIGH-2 fix: when --snapshot is operator-supplied, the path
42
+ // must (a) resolve inside ~/.olam/state/migration-snapshots/ and
43
+ // (b) have the canonical `meta-hooks-` prefix. Without this
44
+ // guard, an attacker (or accidental --snapshot /tmp/foo.json)
45
+ // could supply an arbitrary JSON file → restoreSettingsFromSnapshot
46
+ // would blindly write that JSON to ~/.claude/settings.json,
47
+ // installing operator-attacker-chosen hook blocks.
48
+ if (opts.snapshot) {
49
+ const resolved = path.resolve(opts.snapshot);
50
+ const allowedDir = path.resolve(migrationSnapshotsDir());
51
+ if (!resolved.startsWith(allowedDir + path.sep)) {
52
+ printError(`--snapshot path must be inside ${allowedDir} (got "${resolved}"). ` +
53
+ `Refusing to restore from an arbitrary path — settings.json would land operator-chosen content.`);
54
+ process.exitCode = 1;
55
+ return;
56
+ }
57
+ const basename = path.basename(resolved);
58
+ if (!basename.startsWith(META_HOOKS_SNAPSHOT_PREFIX)) {
59
+ printError(`--snapshot filename must start with "${META_HOOKS_SNAPSHOT_PREFIX}" (got "${basename}"). ` +
60
+ `Cross-namespace snapshots (atlas-toolbox-*) are not valid restore targets for olam-meta hooks.`);
61
+ process.exitCode = 1;
62
+ return;
63
+ }
64
+ }
65
+ printInfo('snapshot', snapshotPath);
66
+ const snapshot = readMetaHooksSnapshot(snapshotPath);
67
+ printInfo('takenAt', snapshot.takenAt);
68
+ const settingsFile = claudeSettingsPath();
69
+ restoreSettingsFromSnapshot(snapshot, settingsFile);
70
+ if (snapshot.originalSettings === null) {
71
+ printSuccess(`removed ${settingsFile} (no settings.json existed pre-injection)`);
72
+ }
73
+ else {
74
+ printSuccess(`restored ${settingsFile} to pre-injection state`);
75
+ }
76
+ }
77
+ catch (err) {
78
+ printError(asMessage(err));
79
+ process.exitCode = 1;
80
+ }
81
+ });
82
+ }
83
+ //# sourceMappingURL=skills-migrate-hooks-back.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-migrate-hooks-back.js","sourceRoot":"","sources":["../../src/commands/skills-migrate-hooks-back.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEnE,SAAS,SAAS,CAAC,GAAY;IAC7B,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,OAAgB;IAC7D,MAAM,MAAM,GACV,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC;QACnD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,0CAA0C,CAAC,CAAC;IAEpF,MAAM;SACH,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CAAC,0FAA0F,CAAC;SACvG,MAAM,CAAC,mBAAmB,EAAE,uEAAuE,CAAC;SACpG,MAAM,CAAC,CAAC,IAA2B,EAAE,EAAE;QACtC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,IAAI,2BAA2B,EAAE,CAAC;YACpE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,UAAU,CACR,wEAAwE;oBACtE,uEAAuE;oBACvE,0DAA0D,CAC7D,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,iEAAiE;YACjE,iEAAiE;YACjE,4DAA4D;YAC5D,8DAA8D;YAC9D,oEAAoE;YACpE,4DAA4D;YAC5D,mDAAmD;YACnD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;gBACzD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChD,UAAU,CACR,kCAAkC,UAAU,UAAU,QAAQ,MAAM;wBAClE,gGAAgG,CACnG,CAAC;oBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACrB,OAAO;gBACT,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,CAAC;oBACrD,UAAU,CACR,wCAAwC,0BAA0B,WAAW,QAAQ,MAAM;wBACzF,gGAAgG,CACnG,CAAC;oBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACrB,OAAO;gBACT,CAAC;YACH,CAAC;YAED,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;YACrD,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEvC,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;YAC1C,2BAA2B,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAEpD,IAAI,QAAQ,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBACvC,YAAY,CAAC,WAAW,YAAY,2CAA2C,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,YAAY,YAAY,yBAAyB,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * `olam skills migrate-hooks` — forward strip of atlas-toolbox-shipped
3
+ * olam-meta hook entries (Phase C C2).
4
+ *
5
+ * olam skills migrate-hooks [--dry-run]
6
+ *
7
+ * Detects PreToolUse/PostToolUse matcher entries in ~/.claude/settings.json
8
+ * whose `command` strings reference one of the agentmemory-classifier
9
+ * scripts AND do NOT carry an olam-meta sentinel — i.e. atlas-toolbox-
10
+ * shipped entries from the pre-Phase-B world. Strips them; writes a
11
+ * pre-strip snapshot via the B5 primitive so the operator can undo via
12
+ * `olam skills migrate-hooks-back`.
13
+ *
14
+ * Order of operations (snapshot first, mutation after, audit-log last):
15
+ * 1. acquire settings-json lock (A4 — serializes against concurrent sync)
16
+ * 2. read settings.json (return early if absent — nothing to strip)
17
+ * 3. findStripCandidates(settings)
18
+ * - empty list → no-op + summary + exit 0
19
+ * 4. --dry-run → print summary + exit 0 (no snapshot, no mutation)
20
+ * 5. writeMetaHooksSnapshot(settings) — same prefix as B5, so
21
+ * `migrate-hooks-back` consumes it identically
22
+ * 6. applyStrip(settings, candidates) → next settings.json
23
+ * 7. atomic write via temp+rename
24
+ * 8. appendTrustAudit({action: 'meta-hook-stripped', count, ...})
25
+ * — operator-visible append-only audit trail
26
+ * 9. print summary
27
+ *
28
+ * Idempotent: re-running on already-stripped settings.json is a no-op
29
+ * (findStripCandidates returns []).
30
+ *
31
+ * Reversibility: forward-fix-only. Audit-log entry is append-only by
32
+ * contract; settings.json mutation is reversible via B5 snapshot.
33
+ */
34
+ import type { Command } from 'commander';
35
+ import { AGENTMEMORY_SCRIPT_PATTERNS, OLAM_META_SENTINELS_GUARDED, findStripCandidates, applyStrip, type StripCandidate } from '@olam/core/src/skill-sync/atlas-hook-strip.js';
36
+ /** Stable command name — referenced by tests. */
37
+ export declare const MIGRATE_HOOKS_COMMAND = "migrate-hooks";
38
+ export { AGENTMEMORY_SCRIPT_PATTERNS, OLAM_META_SENTINELS_GUARDED, findStripCandidates, applyStrip, type StripCandidate, };
39
+ export declare function registerSkillsMigrateHooks(program: Command): void;
40
+ //# sourceMappingURL=skills-migrate-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-migrate-hooks.d.ts","sourceRoot":"","sources":["../../src/commands/skills-migrate-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,EACnB,UAAU,EAEV,KAAK,cAAc,EACpB,MAAM,+CAA+C,CAAC;AAGvD,iDAAiD;AACjD,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AAMrD,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,EACnB,UAAU,EACV,KAAK,cAAc,GACpB,CAAC;AAmEF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+EjE"}