@senpi/runtime 3.0.48 → 3.0.51

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 (70) hide show
  1. package/dist/cli/guide-commands.d.ts.map +1 -1
  2. package/dist/cli/guide-commands.js +10 -2
  3. package/dist/cli/guide-commands.js.map +1 -1
  4. package/dist/cli/senpi-commands.d.ts.map +1 -1
  5. package/dist/cli/senpi-commands.js +24 -2
  6. package/dist/cli/senpi-commands.js.map +1 -1
  7. package/dist/health/types.d.ts +16 -0
  8. package/dist/health/types.d.ts.map +1 -1
  9. package/dist/health/types.js.map +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +131 -37
  12. package/dist/index.js.map +1 -1
  13. package/dist/runtime/run.d.ts +20 -0
  14. package/dist/runtime/run.d.ts.map +1 -1
  15. package/dist/runtime/run.js +6 -0
  16. package/dist/runtime/run.js.map +1 -1
  17. package/dist/runtime/runtime.d.ts +18 -0
  18. package/dist/runtime/runtime.d.ts.map +1 -1
  19. package/dist/runtime/runtime.js +19 -0
  20. package/dist/runtime/runtime.js.map +1 -1
  21. package/dist/runtime-api/intake/intake-events.d.ts.map +1 -1
  22. package/dist/runtime-api/intake/intake-events.js +6 -2
  23. package/dist/runtime-api/intake/intake-events.js.map +1 -1
  24. package/dist/runtime-api/intake/intake-mount.d.ts +2 -1
  25. package/dist/runtime-api/intake/intake-mount.d.ts.map +1 -1
  26. package/dist/runtime-api/intake/intake-mount.js +22 -2
  27. package/dist/runtime-api/intake/intake-mount.js.map +1 -1
  28. package/dist/runtime-api/intake/scanner-launcher.d.ts +14 -1
  29. package/dist/runtime-api/intake/scanner-launcher.d.ts.map +1 -1
  30. package/dist/runtime-api/intake/scanner-launcher.js +51 -1
  31. package/dist/runtime-api/intake/scanner-launcher.js.map +1 -1
  32. package/dist/runtime-api/intake/supervisor-events.d.ts.map +1 -1
  33. package/dist/runtime-api/intake/supervisor-events.js +3 -1
  34. package/dist/runtime-api/intake/supervisor-events.js.map +1 -1
  35. package/dist/runtime-api/routes/signals.d.ts.map +1 -1
  36. package/dist/runtime-api/routes/signals.js +4 -2
  37. package/dist/runtime-api/routes/signals.js.map +1 -1
  38. package/dist/runtime-api/server.d.ts +7 -0
  39. package/dist/runtime-api/server.d.ts.map +1 -1
  40. package/dist/runtime-api/server.js +1 -0
  41. package/dist/runtime-api/server.js.map +1 -1
  42. package/dist/scanners/engine/engine.d.ts +23 -0
  43. package/dist/scanners/engine/engine.d.ts.map +1 -1
  44. package/dist/scanners/engine/engine.js +39 -0
  45. package/dist/scanners/engine/engine.js.map +1 -1
  46. package/dist/scanners/index.d.ts +1 -1
  47. package/dist/scanners/index.d.ts.map +1 -1
  48. package/dist/scanners/index.js +1 -1
  49. package/dist/scanners/index.js.map +1 -1
  50. package/dist/scanners/runtime-module.d.ts +53 -1
  51. package/dist/scanners/runtime-module.d.ts.map +1 -1
  52. package/dist/scanners/runtime-module.js +170 -49
  53. package/dist/scanners/runtime-module.js.map +1 -1
  54. package/dist/scanners/supervision.d.ts +38 -0
  55. package/dist/scanners/supervision.d.ts.map +1 -0
  56. package/dist/scanners/supervision.js +2 -0
  57. package/dist/scanners/supervision.js.map +1 -0
  58. package/dist/skills-manager/bootstrap.d.ts.map +1 -1
  59. package/dist/skills-manager/bootstrap.js +6 -0
  60. package/dist/skills-manager/bootstrap.js.map +1 -1
  61. package/dist/skills-manager/writer.d.ts +5 -3
  62. package/dist/skills-manager/writer.d.ts.map +1 -1
  63. package/dist/skills-manager/writer.js +12 -3
  64. package/dist/skills-manager/writer.js.map +1 -1
  65. package/dist/utils/event-catalog.d.ts +37 -0
  66. package/dist/utils/event-catalog.d.ts.map +1 -1
  67. package/dist/utils/event-catalog.js +31 -0
  68. package/dist/utils/event-catalog.js.map +1 -1
  69. package/openclaw.plugin.json +1 -1
  70. package/package.json +1 -1
@@ -25,6 +25,8 @@ class DefaultScannerRuntimeModule {
25
25
  events = new EventEmitter();
26
26
  now;
27
27
  telemetry = new Map();
28
+ /** Supervision facts produced outside the module, attached post-construction; null until wired. */
29
+ supervisionSource = null;
28
30
  constructor(options) {
29
31
  const now = options.now ?? Date.now;
30
32
  this.now = now;
@@ -97,12 +99,20 @@ class DefaultScannerRuntimeModule {
97
99
  async ingestExternalScannerData(address, request) {
98
100
  return this.engine.ingestExternalScannerData(address, request);
99
101
  }
102
+ recordExternalScannerError(address, scannerName, error) {
103
+ return this.engine.recordExternalScannerError(address, scannerName, error);
104
+ }
105
+ attachSupervisionSource(source) {
106
+ this.supervisionSource = source;
107
+ }
100
108
  async querySignals(filter) {
101
109
  return this.signalStore.readSignals(filter);
102
110
  }
103
111
  async getHealthStatus() {
104
112
  const registrations = this.engine.describeRegistrations();
105
- const scannerStates = this.buildScannerHealthRows(registrations);
113
+ // Snapshot supervision once per invocation (not per row); see readSupervision().
114
+ const supervision = this.readSupervision();
115
+ const scannerStates = this.buildScannerHealthRows(registrations, supervision);
106
116
  const enabled = registrations.filter((registration) => registration.enabled);
107
117
  const counts = countScannerHealthRows(scannerStates);
108
118
  const componentHealth = deriveWorstHealth(scannerStates
@@ -121,14 +131,22 @@ class DefaultScannerRuntimeModule {
121
131
  unhealthy: counts.unhealthy,
122
132
  },
123
133
  scanners: scannerStates.map(({ enabled: _enabled, inFlight: _inFlight, ...scanner }) => scanner),
134
+ // Carry the runtime-level unwired verdict through the health payload so the CLI can render
135
+ // "NO ENTRY SCANNERS" without a second data channel; absent when scanners wired normally.
136
+ ...(supervision?.unwired
137
+ ? { unwired: true, unwiredPhase: supervision.unwiredPhase }
138
+ : {}),
124
139
  };
125
140
  }
126
141
  async getSystemState() {
127
142
  const registrations = this.engine.describeRegistrations();
143
+ // Snapshot supervision once per invocation (not per row): the concurrent async map below
144
+ // must observe a single consistent set of facts, and the source may be non-trivial.
145
+ const supervision = this.readSupervision();
128
146
  const scanners = await Promise.all(registrations.map(async (registration) => {
129
147
  const telemetry = this.ensureTelemetry(registration.address, registration.scannerId);
130
148
  const runtime = await this.runtimeStore.read(registration.address, registration.scannerId);
131
- const health = this.deriveScannerHealth(registration, telemetry);
149
+ const health = this.deriveScannerHealth(registration, telemetry, supervision);
132
150
  return {
133
151
  address: registration.address,
134
152
  scannerId: registration.scannerId,
@@ -149,8 +167,10 @@ class DefaultScannerRuntimeModule {
149
167
  errorCount: telemetry.errorCount,
150
168
  consecutiveErrorCount: telemetry.consecutiveErrorCount,
151
169
  signalsProduced: telemetry.signalsProduced,
152
- // External-scanner liveness is joined at the RPC layer (the module has no intake handle).
153
- lastAliveAt: null,
170
+ // External-scanner liveness is joined here from the attached supervision source (keyed by
171
+ // scanner name = the external registration's scannerId); null for interval/internal scanners
172
+ // and whenever no source is attached.
173
+ lastAliveAt: this.supervisionFor(registration.scannerId, supervision)?.lastAliveAt ?? null,
154
174
  configVersion: runtime?.configVersion ?? null,
155
175
  runtimeUpdatedAt: runtime?.updatedAt ?? null,
156
176
  config: runtime?.config ?? null,
@@ -174,6 +194,18 @@ class DefaultScannerRuntimeModule {
174
194
  off(eventName, listener) {
175
195
  this.events.off(eventName, listener);
176
196
  }
197
+ /**
198
+ * Snapshots the attached supervision source exactly once. Callers take this at the
199
+ * top of a health/state call and pass it to {@link supervisionFor} for per-row lookups,
200
+ * so the source runs once per invocation rather than once per scanner row.
201
+ */
202
+ readSupervision() {
203
+ return this.supervisionSource ? this.supervisionSource() : null;
204
+ }
205
+ /** Finds the supervision row for one scanner name within a snapshot; keyed by scanner name. */
206
+ supervisionFor(name, supervision) {
207
+ return supervision?.rows.find((row) => row.scannerName === name);
208
+ }
177
209
  ensureTelemetry(address, scannerId) {
178
210
  const key = telemetryKey(address, scannerId);
179
211
  let telemetry = this.telemetry.get(key);
@@ -253,6 +285,22 @@ class DefaultScannerRuntimeModule {
253
285
  telemetry.runCount += 1;
254
286
  telemetry.errorCount += 1;
255
287
  telemetry.consecutiveErrorCount += 1;
288
+ // The terminal-error disable breaker is for INTERVAL scanners only: their tool
289
+ // call repeats on a timer nothing else stops, so a deterministic failure must
290
+ // trip the breaker. Push-driven (external) scanners are exempt — their ticks run
291
+ // in a supervised child that already owns retry-at-cap, and the scaffold propagates
292
+ // MCP error text verbatim into author exceptions (e.g. "... NOT_FOUND ..."), which
293
+ // isTerminalToolError classifies by substring. Running the breaker here would
294
+ // disable the intake after 3 such ticks while the child keeps running — a live
295
+ // child ticking into a dead intake with no re-enable path, the exact silent
296
+ // half-stoppage this branch exists to kill. Exit before touching the breaker so
297
+ // external errors count toward health (degraded/unhealthy) but never disable.
298
+ const scheduleMode = this.engine
299
+ .describeRegistrations(event.address)
300
+ .find((registration) => registration.scannerId === event.scannerId)?.scheduleMode;
301
+ if (scheduleMode === "external") {
302
+ return;
303
+ }
256
304
  // Repeated-deterministic-failure breaker: a scanner failing on a terminal
257
305
  // error (bad args, auth, not-found) will fail identically every interval
258
306
  // forever — the 2026-07 storms ran for days because nothing stopped the
@@ -283,68 +331,141 @@ class DefaultScannerRuntimeModule {
283
331
  }
284
332
  }
285
333
  }
286
- buildScannerHealthRows(registrations) {
334
+ buildScannerHealthRows(registrations, supervision) {
287
335
  return registrations.map((registration) => {
288
336
  const telemetry = this.ensureTelemetry(registration.address, registration.scannerId);
289
- return {
337
+ // Keyed by scanner NAME = external registration's scannerId (Task 1 seam).
338
+ const supervisionRow = this.supervisionFor(registration.scannerId, supervision);
339
+ const row = {
290
340
  address: registration.address,
291
341
  scannerId: registration.scannerId,
292
342
  enabled: registration.enabled,
293
343
  inFlight: registration.inFlight || telemetry.inFlight,
294
- health: this.deriveScannerHealth(registration, telemetry),
344
+ health: this.deriveScannerHealth(registration, telemetry, supervision),
295
345
  };
346
+ // Supervision facts ride the row only for scanners the supervisor tracks (external);
347
+ // interval/internal scanners have no supervision source, so the fields stay absent.
348
+ if (supervisionRow) {
349
+ row.restartCount = supervisionRow.restartCount;
350
+ if (supervisionRow.degradedReason) {
351
+ row.degradedReason = supervisionRow.degradedReason;
352
+ }
353
+ }
354
+ return row;
296
355
  });
297
356
  }
298
- deriveScannerHealth(registration, telemetry) {
299
- const isPushDriven = registration.scheduleMode === "external";
300
- const intervalMs = Math.max(registration.intervalSeconds, 1) * 1000;
301
- const pushDrivenHealthWindowMs = 60_000;
302
- if (!registration.enabled) {
303
- return "disabled";
304
- }
305
- if (telemetry.inFlight) {
306
- if (telemetry.lastRunStartedAt == null) {
307
- return isPushDriven ? "healthy" : "unknown";
308
- }
309
- const runningMs = this.now() - telemetry.lastRunStartedAt;
310
- const healthWindowMs = isPushDriven ? pushDrivenHealthWindowMs : intervalMs;
311
- if (runningMs > healthWindowMs * 4) {
312
- return "unhealthy";
313
- }
314
- if (runningMs > healthWindowMs * 2) {
315
- return "degraded";
316
- }
317
- return "healthy";
318
- }
319
- if (isPushDriven) {
320
- if (telemetry.lastRunStatus === "error" && telemetry.consecutiveErrorCount >= 2) {
321
- return "unhealthy";
322
- }
323
- if (telemetry.lastRunStatus === "error") {
324
- return "degraded";
325
- }
326
- return "healthy";
327
- }
328
- const now = this.now();
329
- const baseline = registration.nextRunAt ??
330
- (telemetry.lastRunStartedAt != null
331
- ? telemetry.lastRunStartedAt + intervalMs
332
- : telemetry.lastRunFinishedAt);
333
- if (baseline == null) {
357
+ deriveScannerHealth(registration, telemetry, supervision) {
358
+ return deriveScannerHealthFromFacts({
359
+ enabled: registration.enabled,
360
+ scheduleMode: registration.scheduleMode,
361
+ intervalSeconds: registration.intervalSeconds,
362
+ nextRunAt: registration.nextRunAt,
363
+ now: this.now(),
364
+ telemetry,
365
+ // Keyed by scanner NAME = external registration's scannerId (Task 1 seam).
366
+ supervision: this.supervisionFor(registration.scannerId, supervision),
367
+ });
368
+ }
369
+ }
370
+ /**
371
+ * Derives one scanner's health, fail-closed for push-driven (external) scanners:
372
+ * a state that cannot be proven by a successful read or a recent clean tick never
373
+ * renders "healthy" — "unknown" is the honest answer, "healthy" is a claim.
374
+ *
375
+ * Pure and total: identical facts always yield the same verdict. Exported so the
376
+ * rules table can be pinned directly rather than through module setup.
377
+ */
378
+ export function deriveScannerHealthFromFacts(facts) {
379
+ if (!facts.enabled) {
380
+ return "disabled";
381
+ }
382
+ return facts.scheduleMode === "external"
383
+ ? derivePushDrivenScannerHealth(facts)
384
+ : deriveIntervalScannerHealth(facts);
385
+ }
386
+ /**
387
+ * Fail-closed health for push-driven (external) scanners. Liveness is proven only
388
+ * by a recent scaffold POST (supervision.lastAliveAt); a scanner whose current child
389
+ * has never POSTed is honestly "unknown" until its first POST — even if a stale
390
+ * lastRunStatus:"ok" survives from a previous (pre-remint) child. No synthetic
391
+ * boot-grace window that would render an unproven scanner "healthy".
392
+ */
393
+ function derivePushDrivenScannerHealth(facts) {
394
+ const { telemetry, supervision } = facts;
395
+ // In flight but nothing recorded yet: nothing is proven — was fail-open "healthy".
396
+ if (telemetry.inFlight && telemetry.lastRunStartedAt == null) {
397
+ return "unknown";
398
+ }
399
+ // Supervisor crash-loop verdict is a proven failure.
400
+ if (supervision?.supervisorStatus === "degraded") {
401
+ return "unhealthy";
402
+ }
403
+ // A recorded run error outranks any recent liveness POST.
404
+ if (telemetry.lastRunStatus === "error") {
405
+ return telemetry.consecutiveErrorCount >= 2 ? "unhealthy" : "degraded";
406
+ }
407
+ const lastAliveAt = supervision?.lastAliveAt ?? null;
408
+ // Liveness for a push-driven scanner is proven ONLY by a recent POST (lastAliveAt).
409
+ // When the current child has never been heard from (lastAliveAt == null) we cannot
410
+ // prove it is alive, so we render "unknown" — even if telemetry still carries a stale
411
+ // lastRunStatus:"ok" from a PREVIOUS child. This is the post-remint hole: a supervisor
412
+ // restart re-mints the scanner id, resetting lastAliveAt to null while the name-keyed
413
+ // run telemetry survives; a fail-open "healthy" here would mask a wedged replacement
414
+ // child indefinitely. Fail-closed doctrine: never render "healthy" we cannot prove with
415
+ // a recent read. A benign restart is honestly "unknown" until the child's first POST.
416
+ if (lastAliveAt == null) {
417
+ return "unknown";
418
+ }
419
+ // Heard once, but now silent past the liveness thresholds. The window scales with the
420
+ // scanner's REAL configured cadence (carried on the supervision row); the registration
421
+ // reports 0 for external scanners, so fall back to it only when no row cadence is set.
422
+ const configuredIntervalSeconds = supervision?.intervalSeconds ?? facts.intervalSeconds;
423
+ const livenessWindowMs = Math.max(configuredIntervalSeconds, 30) * 1000;
424
+ const silentMs = facts.now - lastAliveAt;
425
+ if (silentMs > livenessWindowMs * 4) {
426
+ return "unhealthy";
427
+ }
428
+ if (silentMs > livenessWindowMs * 2) {
429
+ return "degraded";
430
+ }
431
+ // Proven by a recent POST within the liveness window.
432
+ return "healthy";
433
+ }
434
+ /** Health for interval (schedule-driven) scanners — behavior unchanged from the pre-B1 module. */
435
+ function deriveIntervalScannerHealth(facts) {
436
+ const { telemetry } = facts;
437
+ const intervalMs = Math.max(facts.intervalSeconds, 1) * 1000;
438
+ if (telemetry.inFlight) {
439
+ if (telemetry.lastRunStartedAt == null) {
334
440
  return "unknown";
335
441
  }
336
- const overdueMs = now - baseline;
337
- if (telemetry.lastRunStatus === "error" && telemetry.consecutiveErrorCount >= 2) {
338
- return "unhealthy";
339
- }
340
- if (overdueMs > intervalMs * 4) {
442
+ const runningMs = facts.now - telemetry.lastRunStartedAt;
443
+ if (runningMs > intervalMs * 4) {
341
444
  return "unhealthy";
342
445
  }
343
- if (telemetry.lastRunStatus === "error" || overdueMs > intervalMs * 2) {
446
+ if (runningMs > intervalMs * 2) {
344
447
  return "degraded";
345
448
  }
346
449
  return "healthy";
347
450
  }
451
+ const baseline = facts.nextRunAt ??
452
+ (telemetry.lastRunStartedAt != null
453
+ ? telemetry.lastRunStartedAt + intervalMs
454
+ : telemetry.lastRunFinishedAt);
455
+ if (baseline == null) {
456
+ return "unknown";
457
+ }
458
+ const overdueMs = facts.now - baseline;
459
+ if (telemetry.lastRunStatus === "error" && telemetry.consecutiveErrorCount >= 2) {
460
+ return "unhealthy";
461
+ }
462
+ if (overdueMs > intervalMs * 4) {
463
+ return "unhealthy";
464
+ }
465
+ if (telemetry.lastRunStatus === "error" || overdueMs > intervalMs * 2) {
466
+ return "degraded";
467
+ }
468
+ return "healthy";
348
469
  }
349
470
  function countScannerHealthRows(rows) {
350
471
  let inFlight = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-module.js","sourceRoot":"","sources":["../../src/scanners/runtime-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-module.js","sourceRoot":"","sources":["../../src/scanners/runtime-module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Per-external-scanner supervision facts, produced OUTSIDE the scanners module
3
+ * (intake liveness clock + process supervisor) and attached via
4
+ * ScannersRuntimeModule.attachSupervisionSource(). The module is the single
5
+ * consumer: all health derivation happens there. Keyed by configured scanner
6
+ * NAME (stable across relaunch; scanner ids are re-minted on restart).
7
+ */
8
+ export interface ScannerSupervisionRow {
9
+ scannerName: string;
10
+ /** Supervisor's crash-loop verdict ("degraded" = rapid-failure guard tripped). */
11
+ supervisorStatus: "healthy" | "degraded";
12
+ /** Cumulative child restarts since runtime start. */
13
+ restartCount: number;
14
+ /**
15
+ * Configured POST cadence in seconds (recipe `interval_seconds`), carried from the
16
+ * launcher spec. The engine registration reports `intervalSeconds: 0` for external
17
+ * scanners (they never run on a timer), so the silence-window derivation reads THIS
18
+ * real cadence — absent it would floor at 30s and falsely flap slow scanners.
19
+ * Optional: derivation falls back to the registration `intervalSeconds` when unset.
20
+ */
21
+ intervalSeconds?: number;
22
+ /** Last POST heard from the scaffold child (epoch ms), null = never heard. */
23
+ lastAliveAt: number | null;
24
+ /** Human cause for a degraded supervisor (last exit summary), if known. */
25
+ degradedReason?: string;
26
+ }
27
+ export interface ScannerSupervision {
28
+ /**
29
+ * True when the runtime's external scanners never wired (mount/launch threw):
30
+ * the runtime is running with NO live entry scanners. rows may be empty.
31
+ */
32
+ unwired: boolean;
33
+ /** Phase that failed when unwired ("mount" | "launch" | "install_launch" | "install_wire"). */
34
+ unwiredPhase?: string;
35
+ rows: ScannerSupervisionRow[];
36
+ }
37
+ export type ScannerSupervisionSource = () => ScannerSupervision;
38
+ //# sourceMappingURL=supervision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supervision.d.ts","sourceRoot":"","sources":["../../src/scanners/supervision.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,gBAAgB,EAAE,SAAS,GAAG,UAAU,CAAC;IACzC,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,+FAA+F;IAC/F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,qBAAqB,EAAE,CAAC;CAC/B;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=supervision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supervision.js","sourceRoot":"","sources":["../../src/scanners/supervision.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/skills-manager/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGlE,KAAK,kBAAkB,GAAG,OAAO,eAAe,CAAC;AACjD,KAAK,eAAe,GAAG,OAAO,YAAY,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,UAAU,EAClB,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,IAAI,CAAC,CA8Df"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/skills-manager/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGlE,KAAK,kBAAkB,GAAG,OAAO,eAAe,CAAC;AACjD,KAAK,eAAe,GAAG,OAAO,YAAY,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,UAAU,EAClB,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,IAAI,CAAC,CAoEf"}
@@ -49,6 +49,12 @@ export async function bootstrapSkillsIfNeeded(config, logger, deps = {}) {
49
49
  await install(cloneDir, source.name, primaryDir, logger, {
50
50
  sourcePath: source.path,
51
51
  allowedSkills: missing,
52
+ // Bootstrap is the *first* thing that runs after a restart, so it
53
+ // is the path that reinstalls a skill whose dir vanished mid-swap
54
+ // in a crashed install. It must carry the preserve-list too, or
55
+ // the salvage step never fires and the user data stays stranded
56
+ // in the leftover .bak-* dir.
57
+ preservePaths: source.preserve,
52
58
  });
53
59
  logger.info(`[senpi-skills-manager] bootstrap: installed "${source.name}" into ${primaryDir}`);
54
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/skills-manager/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/skills-manager/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -24,9 +24,11 @@ import type { LoggerLike } from "./types.js";
24
24
  * This avoids destroying the previous skill copy before the new one is ready.
25
25
  * There is still a brief window where `targetPath` may be absent, but the old
26
26
  * content remains recoverable from the backup path until install succeeds —
27
- * and a crash inside that window self-heals: the next tick sees no installed
28
- * SKILL.md, reinstalls, and step 3 salvages the preserved data from the
29
- * leftover backup.
27
+ * and a crash inside that window self-heals: the next reinstall (bootstrap on
28
+ * the following start, which sees the skill dir missing; or a later update
29
+ * tick) runs step 3 and salvages the preserved data from the leftover backup.
30
+ * Both paths must pass `preservePaths` for that to hold — salvage only runs
31
+ * when the list is non-empty.
30
32
  *
31
33
  * The `.tmp-` prefix hides the staging directory from skill discovery, which
32
34
  * only reads immediate subdirectories of `skillsDir`.
@@ -1 +1 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/skills-manager/writer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAsI7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,UAAU,EACnB,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,GACL,OAAO,CAAC,IAAI,CAAC,CA4Kf"}
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/skills-manager/writer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAsI7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,UAAU,EACnB,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,GACL,OAAO,CAAC,IAAI,CAAC,CAmLf"}
@@ -142,9 +142,11 @@ async function listOrphanedBackups(skillsDir, skillName) {
142
142
  * This avoids destroying the previous skill copy before the new one is ready.
143
143
  * There is still a brief window where `targetPath` may be absent, but the old
144
144
  * content remains recoverable from the backup path until install succeeds —
145
- * and a crash inside that window self-heals: the next tick sees no installed
146
- * SKILL.md, reinstalls, and step 3 salvages the preserved data from the
147
- * leftover backup.
145
+ * and a crash inside that window self-heals: the next reinstall (bootstrap on
146
+ * the following start, which sees the skill dir missing; or a later update
147
+ * tick) runs step 3 and salvages the preserved data from the leftover backup.
148
+ * Both paths must pass `preservePaths` for that to hold — salvage only runs
149
+ * when the list is non-empty.
148
150
  *
149
151
  * The `.tmp-` prefix hides the staging directory from skill discovery, which
150
152
  * only reads immediate subdirectories of `skillsDir`.
@@ -201,6 +203,13 @@ export async function installSkill(cloneDir, skillName, skillsDir, logger, optio
201
203
  // records a failure and retries next tick. (A persistently unreadable entry
202
204
  // therefore pins the skill at its old version, loudly, by design: blocked
203
205
  // updates over destroyed user data.)
206
+ //
207
+ // The merge adds and overwrites but never propagates deletions: an orphaned
208
+ // backup can re-add an entry the user deleted from the live dir after the
209
+ // backup was made. Accepted tradeoff — fail toward preservation. It happens
210
+ // at most once per backup (salvaged backups are removed after a successful
211
+ // install), and a resurrected package is inert: the runtime runs what
212
+ // installed_runtimes.json registers, not what sits on disk.
204
213
  let salvagedBackups = [];
205
214
  if (preservePaths.length > 0) {
206
215
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/skills-manager/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/skills-manager/writer.ts"],"names":[],"mappings":"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"}