@senpi/runtime 3.0.45 → 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 (78) 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/coordinator.d.ts.map +1 -1
  62. package/dist/skills-manager/coordinator.js +3 -0
  63. package/dist/skills-manager/coordinator.js.map +1 -1
  64. package/dist/skills-manager/manifest.d.ts +12 -0
  65. package/dist/skills-manager/manifest.d.ts.map +1 -1
  66. package/dist/skills-manager/manifest.js +18 -4
  67. package/dist/skills-manager/manifest.js.map +1 -1
  68. package/dist/skills-manager/skills-manifest.json +3 -3
  69. package/dist/skills-manager/writer.d.ts +28 -4
  70. package/dist/skills-manager/writer.d.ts.map +1 -1
  71. package/dist/skills-manager/writer.js +162 -9
  72. package/dist/skills-manager/writer.js.map +1 -1
  73. package/dist/utils/event-catalog.d.ts +37 -0
  74. package/dist/utils/event-catalog.d.ts.map +1 -1
  75. package/dist/utils/event-catalog.js +31 -0
  76. package/dist/utils/event-catalog.js.map +1 -1
  77. package/openclaw.plugin.json +1 -1
  78. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/skills-manager/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH;8EAC8E;AAC9E,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,yCAAyC;AACzC,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B;AAED,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,8CAA8C;AAC9C,MAAM,WAAW,oBAAoB;IACnC,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClH,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAuBD;;;;;GAKG;AAGH,eAAO,MAAM,iBAAiB,EAAE,cAiB/B,CAAC;AAIF;;;;;;;;GAQG;AACH,wBAAgB,YAAY,IAAI,cAAc,CAc7C;AAED,gFAAgF;AAChF,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAYR;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,oBAAyB,GAC9B,mBAAmB,CAoCrB"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/skills-manager/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH;8EAC8E;AAC9E,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,yCAAyC;AACzC,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B;AAED,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;OAGG;IACH,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,8CAA8C;AAC9C,MAAM,WAAW,oBAAoB;IACnC,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClH,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAyCD;;;;;GAKG;AAGH,eAAO,MAAM,iBAAiB,EAAE,cAiB/B,CAAC;AAIF;;;;;;;;GAQG;AACH,wBAAgB,YAAY,IAAI,cAAc,CAc7C;AAED,gFAAgF;AAChF,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAYR;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,oBAAyB,GAC9B,mBAAmB,CAwCrB"}
@@ -33,6 +33,17 @@ const manifestSchema = z.object({
33
33
  commit: z.string().min(1).optional(),
34
34
  path: z.string().min(1).optional(),
35
35
  maxMajor: z.number().int().nonnegative().optional(),
36
+ // Preserve entries must be safe relative subpaths — reject traversal
37
+ // at load time so a bad manifest fails loudly here rather than
38
+ // failing every install tick downstream.
39
+ preserve: z
40
+ .array(z.string().refine((p) => {
41
+ const segments = p.split("/").filter((s) => s.length > 0);
42
+ return (!p.startsWith("/") &&
43
+ segments.length > 0 &&
44
+ !segments.some((s) => s === "." || s === ".."));
45
+ }, { message: 'preserve entries must be relative subpaths without "." or ".." segments' }))
46
+ .optional(),
36
47
  }))
37
48
  .min(1),
38
49
  });
@@ -49,9 +60,9 @@ export const FALLBACK_MANIFEST = {
49
60
  defaults: { repo: "https://github.com/Senpi-ai/senpi-skills", branch: "main" },
50
61
  skills: [
51
62
  { name: "senpi-trading-runtime", maxMajor: 3 },
52
- { name: "senpi-strategy-author", maxMajor: 2 },
53
- { name: "senpi-strategy-discover", maxMajor: 2 },
54
- { name: "senpi-strategy-ops", maxMajor: 2 },
63
+ { name: "senpi-strategy-author", maxMajor: 2, preserve: ["strategies"] },
64
+ { name: "senpi-strategy-discover", maxMajor: 2, preserve: ["strategies"] },
65
+ { name: "senpi-strategy-ops", maxMajor: 2, preserve: ["strategies"] },
55
66
  { name: "senpi-portfolio", maxMajor: 1 },
56
67
  { name: "senpi-improve-trades", maxMajor: 1 },
57
68
  { name: "senpi-market-pulse", maxMajor: 1 },
@@ -185,6 +196,9 @@ export function resolveSkillSource(name, opts = {}) {
185
196
  const commit = rawCommit && rawCommit.toLowerCase() !== "latest" ? rawCommit : null;
186
197
  const ref = commit ?? branch;
187
198
  const rawBaseUrl = deriveRawBaseUrl(repo, ref, env);
188
- return { name, repo, branch, commit, ref, path, rawBaseUrl, maxMajor };
199
+ // The preserve-list is a durability invariant, not a source/testing knob —
200
+ // manifest-only on purpose (no env or config override can drop it).
201
+ const preserve = entry?.preserve ?? [];
202
+ return { name, repo, branch, commit, ref, path, rawBaseUrl, maxMajor, preserve };
189
203
  }
190
204
  //# sourceMappingURL=manifest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/skills-manager/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/skills-manager/manifest.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,9 @@
6
6
  },
7
7
  "skills": [
8
8
  { "name": "senpi-trading-runtime", "maxMajor": 3 },
9
- { "name": "senpi-strategy-author", "maxMajor": 2 },
10
- { "name": "senpi-strategy-discover", "maxMajor": 2 },
11
- { "name": "senpi-strategy-ops", "maxMajor": 2 },
9
+ { "name": "senpi-strategy-author", "maxMajor": 2, "preserve": ["strategies"] },
10
+ { "name": "senpi-strategy-discover", "maxMajor": 2, "preserve": ["strategies"] },
11
+ { "name": "senpi-strategy-ops", "maxMajor": 2, "preserve": ["strategies"] },
12
12
  { "name": "senpi-portfolio", "maxMajor": 1 },
13
13
  { "name": "senpi-improve-trades", "maxMajor": 1 },
14
14
  { "name": "senpi-market-pulse", "maxMajor": 1 },
@@ -10,13 +10,25 @@ import type { LoggerLike } from "./types.js";
10
10
  * Strategy:
11
11
  * 1. Validate source directory exists in the clone.
12
12
  * 2. Write to a `.tmp-<skillName>` staging path inside `skillsDir`.
13
- * 3. Move existing target to a hidden backup path (if present).
14
- * 4. Move staging → target (atomic on same fs).
15
- * 5. Delete the backup only after the new target is in place.
13
+ * 3. Merge user-data subpaths (`preservePaths`) into staging — from any
14
+ * orphaned `.bak-*` backups of this skill (crash salvage, oldest first),
15
+ * then from the live target (most recent wins). Done BEFORE the swap so
16
+ * the swap itself is the atomic commit point: a crash at any moment
17
+ * leaves the user data in the target, the backup, or both — never only
18
+ * in a directory nothing will ever read again.
19
+ * 4. Move existing target to a hidden backup path (if present).
20
+ * 5. Move staging → target (atomic on same fs).
21
+ * 6. Delete the backup (and any salvaged orphaned backups) only after the
22
+ * new target is verified in place.
16
23
  *
17
24
  * This avoids destroying the previous skill copy before the new one is ready.
18
25
  * There is still a brief window where `targetPath` may be absent, but the old
19
- * content remains recoverable from the backup path until install succeeds.
26
+ * content remains recoverable from the backup path until install succeeds —
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.
20
32
  *
21
33
  * The `.tmp-` prefix hides the staging directory from skill discovery, which
22
34
  * only reads immediate subdirectories of `skillsDir`.
@@ -35,5 +47,17 @@ export declare function installSkill(cloneDir: string, skillName: string, skills
35
47
  * (e.g. bootstrap) to skip verification.
36
48
  */
37
49
  expectedVersion?: string | null;
50
+ /**
51
+ * Relative subpaths of the skill directory that hold **user data** (e.g.
52
+ * `strategies/` for `senpi-strategy-ops`, where deployed strategy packages
53
+ * may live). They are merged from the previous install (and from any
54
+ * orphaned backups of it) into the staging copy before the swap, so a
55
+ * skill update can never destroy them and a crash at any point leaves
56
+ * them recoverable. The user's copy wins on conflict — a deployed,
57
+ * rendered package must never be clobbered by a repo template. A merge
58
+ * failure aborts the install before the live skill dir is touched —
59
+ * user data is never traded for a skill bump.
60
+ */
61
+ preservePaths?: readonly string[];
38
62
  }): Promise<void>;
39
63
  //# sourceMappingURL=writer.d.ts.map
@@ -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;AAc7C;;;;;;;;;;;;;;;;;;;;GAoBG;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;CAC5B,GACL,OAAO,CAAC,IAAI,CAAC,CAsIf"}
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"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import * as fs from "node:fs/promises";
6
6
  import { randomUUID } from "node:crypto";
7
- import { join } from "node:path";
7
+ import { dirname, join } from "node:path";
8
8
  import { ALLOWED_SKILLS } from "./constants.js";
9
9
  import { normalizeVersion, parseSkillMdVersion } from "./version-manager.js";
10
10
  import { formatErr } from "./utils.js";
@@ -20,6 +20,107 @@ function versionsMatch(installed, expected) {
20
20
  const norm = (v) => normalizeVersion(v.trim().replace(/^v/i, "")).toLowerCase();
21
21
  return norm(installed) === norm(expected);
22
22
  }
23
+ /**
24
+ * Reject preserve paths that could escape the skill directory. Each entry must
25
+ * be a relative subpath with no `.`/`..` segments — anything else is a
26
+ * misconfiguration worth failing loudly on before any filesystem mutation.
27
+ */
28
+ function validatePreservePaths(paths) {
29
+ for (const p of paths) {
30
+ const segments = p.split("/").filter((s) => s.length > 0);
31
+ if (p.startsWith("/") || segments.length === 0 || segments.some((s) => s === "." || s === "..")) {
32
+ throw new Error(`invalid preserve path "${p}": must be a relative subpath without "." or ".." segments`);
33
+ }
34
+ }
35
+ }
36
+ /** `lstat` that maps ENOENT to null (symlinks are entries, never followed). */
37
+ async function lstatOrNull(path) {
38
+ return fs.lstat(path).catch((err) => {
39
+ if (err.code === "ENOENT")
40
+ return null;
41
+ throw err;
42
+ });
43
+ }
44
+ /**
45
+ * Copy a user-data entry `src` into `dest`, with the SOURCE winning on
46
+ * conflict:
47
+ * - `dest` absent → copy the whole subtree.
48
+ * - both directories → recurse and merge entry by entry.
49
+ * - anything else (file conflict, dir/file type mismatch) → replace the
50
+ * destination with the user's copy and log it. A deployed `runtime.yaml`
51
+ * is the rendered artifact with the real wallet substituted — a repo
52
+ * template must never silently clobber it.
53
+ *
54
+ * Uses `lstat`/`verbatimSymlinks` throughout so symlinks (including dangling
55
+ * ones) are carried as entries, never followed. A source entry that vanishes
56
+ * mid-merge (concurrent deploy activity) is skipped with a warning.
57
+ * Copies rather than moves so every preserve source stays complete — a
58
+ * failure at any point aborts the install with nothing destroyed.
59
+ */
60
+ async function mergePreservedEntry(src, dest, logger, relPath) {
61
+ const srcStat = await lstatOrNull(src);
62
+ if (srcStat === null) {
63
+ logger?.warn(`[senpi-skills-manager] preserve source vanished mid-merge, skipping | path=${relPath}`);
64
+ return;
65
+ }
66
+ const destStat = await lstatOrNull(dest);
67
+ if (destStat === null) {
68
+ await fs.cp(src, dest, { recursive: true, verbatimSymlinks: true });
69
+ return;
70
+ }
71
+ if (srcStat.isDirectory() && destStat.isDirectory()) {
72
+ for (const entry of await fs.readdir(src)) {
73
+ await mergePreservedEntry(join(src, entry), join(dest, entry), logger, `${relPath}/${entry}`);
74
+ }
75
+ return;
76
+ }
77
+ logger?.warn(`[senpi-skills-manager] preserve conflict — user copy wins | path=${relPath}`);
78
+ await fs.rm(dest, { recursive: true, force: true });
79
+ await fs.cp(src, dest, { recursive: true, verbatimSymlinks: true });
80
+ }
81
+ /**
82
+ * Merge the `preservePaths` subtrees of `sourceDir` (a previous install, or an
83
+ * orphaned backup of one) into `stagingPath`. Missing subpaths are skipped.
84
+ */
85
+ async function mergePreserveSource(sourceDir, stagingPath, preservePaths, logger) {
86
+ for (const sub of preservePaths) {
87
+ const src = join(sourceDir, sub);
88
+ if ((await lstatOrNull(src)) === null)
89
+ continue;
90
+ await fs.mkdir(dirname(join(stagingPath, sub)), { recursive: true });
91
+ await mergePreservedEntry(src, join(stagingPath, sub), logger, sub);
92
+ }
93
+ }
94
+ /**
95
+ * Backups left behind by a crashed or failed-rollback install
96
+ * (`.bak-<skillName>-<uuid>`), oldest first, so that when they are merged in
97
+ * order the most recent copy of a file wins. These can hold the only copy of
98
+ * user data (e.g. a kill between the swap steps), so installs salvage them
99
+ * rather than ignoring them.
100
+ */
101
+ async function listOrphanedBackups(skillsDir, skillName) {
102
+ const prefix = `.bak-${skillName}-`;
103
+ let entries;
104
+ try {
105
+ entries = await fs.readdir(skillsDir);
106
+ }
107
+ catch (err) {
108
+ if (err.code === "ENOENT")
109
+ return [];
110
+ throw err;
111
+ }
112
+ const withTimes = await Promise.all(entries
113
+ .filter((e) => e.startsWith(prefix))
114
+ .map(async (e) => {
115
+ const full = join(skillsDir, e);
116
+ const stat = await lstatOrNull(full);
117
+ return stat === null ? null : { full, mtimeMs: stat.mtimeMs };
118
+ }));
119
+ return withTimes
120
+ .filter((e) => e !== null)
121
+ .sort((a, b) => a.mtimeMs - b.mtimeMs)
122
+ .map((e) => e.full);
123
+ }
23
124
  /**
24
125
  * Copy a skill's subdirectory from `cloneDir` into `skillsDir/<skillName>/`,
25
126
  * replacing the existing copy via a crash-safe swap.
@@ -27,13 +128,25 @@ function versionsMatch(installed, expected) {
27
128
  * Strategy:
28
129
  * 1. Validate source directory exists in the clone.
29
130
  * 2. Write to a `.tmp-<skillName>` staging path inside `skillsDir`.
30
- * 3. Move existing target to a hidden backup path (if present).
31
- * 4. Move staging → target (atomic on same fs).
32
- * 5. Delete the backup only after the new target is in place.
131
+ * 3. Merge user-data subpaths (`preservePaths`) into staging — from any
132
+ * orphaned `.bak-*` backups of this skill (crash salvage, oldest first),
133
+ * then from the live target (most recent wins). Done BEFORE the swap so
134
+ * the swap itself is the atomic commit point: a crash at any moment
135
+ * leaves the user data in the target, the backup, or both — never only
136
+ * in a directory nothing will ever read again.
137
+ * 4. Move existing target to a hidden backup path (if present).
138
+ * 5. Move staging → target (atomic on same fs).
139
+ * 6. Delete the backup (and any salvaged orphaned backups) only after the
140
+ * new target is verified in place.
33
141
  *
34
142
  * This avoids destroying the previous skill copy before the new one is ready.
35
143
  * There is still a brief window where `targetPath` may be absent, but the old
36
- * content remains recoverable from the backup path until install succeeds.
144
+ * content remains recoverable from the backup path until install succeeds —
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.
37
150
  *
38
151
  * The `.tmp-` prefix hides the staging directory from skill discovery, which
39
152
  * only reads immediate subdirectories of `skillsDir`.
@@ -48,6 +161,8 @@ export async function installSkill(cloneDir, skillName, skillsDir, logger, optio
48
161
  if (!allowedSkills.includes(skillName)) {
49
162
  throw new Error(`Skill "${skillName}" is not in the allowed skills list: ${allowedSkills.join(", ")}`);
50
163
  }
164
+ const preservePaths = options.preservePaths ?? [];
165
+ validatePreservePaths(preservePaths);
51
166
  // `sourcePath` is the subdir inside the clone to copy from (manifest `path`);
52
167
  // it defaults to the skill name (monorepo convention). The install *target*
53
168
  // is always `skillsDir/<skillName>` regardless of source layout.
@@ -77,6 +192,41 @@ export async function installSkill(cloneDir, skillName, skillsDir, logger, optio
77
192
  // Copy source → staging
78
193
  logger?.info(`[senpi-skills-manager] copying skill to staging | from=${sourcePath} to=${stagingPath}`);
79
194
  await fs.cp(sourcePath, stagingPath, { recursive: true });
195
+ // ── Preserve user data ────────────────────────────────────────────────────
196
+ // User-authored files (deployed strategy packages under `strategies/`) can
197
+ // live inside a managed skill dir; replacing the dir without carrying them
198
+ // over destroys them (the 2026-07-30 fleet incident). Merge them into the
199
+ // STAGING copy before the swap, so the swap is the atomic commit point.
200
+ // Sources, least → most authoritative (later copies win): orphaned backups
201
+ // left by crashed/failed prior installs, then the live target. A merge
202
+ // failure aborts here — the live skill dir was never touched, the install
203
+ // records a failure and retries next tick. (A persistently unreadable entry
204
+ // therefore pins the skill at its old version, loudly, by design: blocked
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.
213
+ let salvagedBackups = [];
214
+ if (preservePaths.length > 0) {
215
+ try {
216
+ salvagedBackups = await listOrphanedBackups(skillsDir, skillName);
217
+ for (const source of [...salvagedBackups, targetPath]) {
218
+ await mergePreserveSource(source, stagingPath, preservePaths, logger);
219
+ }
220
+ if (salvagedBackups.length > 0) {
221
+ logger?.info(`[senpi-skills-manager] salvaged user data from orphaned backup(s) | skill=${skillName} count=${salvagedBackups.length}`);
222
+ }
223
+ }
224
+ catch (err) {
225
+ logger?.warn(`[senpi-skills-manager] failed to preserve user data, aborting install | skill=${skillName} err=${formatErr(err)}`);
226
+ await fs.rm(stagingPath, { recursive: true, force: true });
227
+ throw new Error(`failed to preserve user data for "${skillName}": ${formatErr(err)}`);
228
+ }
229
+ }
80
230
  // Move current target out of the way first so old data is recoverable on failure.
81
231
  let movedTargetToBackup = false;
82
232
  try {
@@ -136,10 +286,13 @@ export async function installSkill(cloneDir, skillName, skillsDir, logger, optio
136
286
  }
137
287
  logger?.info(`[senpi-skills-manager] post-install verification ok | skill=${skillName} version=${installedVersion}`);
138
288
  }
139
- // Backup cleanup is best-effort once the new target is in place.
140
- if (movedTargetToBackup) {
141
- await fs.rm(backupPath, { recursive: true, force: true }).catch((err) => {
142
- logger?.warn(`[senpi-skills-manager] failed to remove backup dir | path=${backupPath} err=${formatErr(err)}`);
289
+ // Backup cleanup is best-effort once the new target is in place. Salvaged
290
+ // orphaned backups are removed too — their preserved content now lives in
291
+ // the installed target (and in this run's own backup until the line below).
292
+ const backupsToRemove = movedTargetToBackup ? [backupPath, ...salvagedBackups] : salvagedBackups;
293
+ for (const path of backupsToRemove) {
294
+ await fs.rm(path, { recursive: true, force: true }).catch((err) => {
295
+ logger?.warn(`[senpi-skills-manager] failed to remove backup dir | path=${path} err=${formatErr(err)}`);
143
296
  });
144
297
  }
145
298
  logger?.info(`[senpi-skills-manager] skill installed successfully | skill=${skillName} path=${targetPath}`);
@@ -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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"}
@@ -76,6 +76,35 @@ export declare const EVENT_NAME: {
76
76
  };
77
77
  /** The closed set of names accepted by `logger.event`. */
78
78
  export type EventName = (typeof EVENT_NAME)[keyof typeof EVENT_NAME];
79
+ /**
80
+ * The stable, queryable error codes from the cross-repo scanner-failure taxonomy. Same closed-set
81
+ * shape as {@link EVENT_NAME}: a code is a machine identifier that outlives any human-readable Body
82
+ * (event bodies are dashboard-matched and frozen), so it rides ONLY the `senpi.error.code` event
83
+ * attribute — never prepended to a Body. `E_SCANNER_TICK_ERROR`/`_TICK_TIMEOUT`/`_CRASH_LOOP` are
84
+ * new here; `_MOUNT_FAILED`/`_LAUNCH_FAILED` are the existing unwired-site logical identifiers made
85
+ * queryable. Extend this set (not scattered string literals) when a new coded failure is introduced.
86
+ */
87
+ export declare const SENPI_ERROR_CODE: {
88
+ /** A scaffold tick that threw (or `state_persist_failed`) — `scaffold.tick_error`. */
89
+ readonly scannerTickError: "E_SCANNER_TICK_ERROR";
90
+ /** A scaffold tick that blew its wall-clock budget — `scaffold.tick_timeout`. */
91
+ readonly scannerTickTimeout: "E_SCANNER_TICK_TIMEOUT";
92
+ /** The supervisor's crash-loop guard tripped — `scanner.degraded`. */
93
+ readonly scannerCrashLoop: "E_SCANNER_CRASH_LOOP";
94
+ /** The boot mount seam failed to wire the external scanner stack — `runtime.scanners_unwired{mount}`. */
95
+ readonly scannerMountFailed: "E_SCANNER_MOUNT_FAILED";
96
+ /** A launch/install seam (or a launcher wire/remint) failed — `scanner.launch_failed` / the other unwired sites. */
97
+ readonly scannerLaunchFailed: "E_SCANNER_LAUNCH_FAILED";
98
+ };
99
+ /** The closed set of stable error codes carried on the `senpi.error.code` attribute. */
100
+ export type SenpiErrorCode = (typeof SENPI_ERROR_CODE)[keyof typeof SENPI_ERROR_CODE];
101
+ /**
102
+ * The stable error code for an `eventScannersUnwired` site, by its launch phase: the boot mount seam
103
+ * is `E_SCANNER_MOUNT_FAILED`; every launch/install seam (`launch`, `install_launch`, `install_wire`)
104
+ * is `E_SCANNER_LAUNCH_FAILED`. Keeps the phase→code assignment in one place rather than at the four
105
+ * call sites in `index.ts`.
106
+ */
107
+ export declare function scannerUnwiredErrorCode(phase: string): typeof SENPI_ERROR_CODE.scannerMountFailed | typeof SENPI_ERROR_CODE.scannerLaunchFailed;
79
108
  /** The canonical severity for an event name (the level a healthy emit uses). */
80
109
  export declare function canonicalSeverity(name: EventName): LogLevel;
81
110
  /** A safe-by-construction scalar attribute value. Flattened and capped, never redacted. */
@@ -258,6 +287,8 @@ export interface ScannerLifecycleAttrs {
258
287
  "senpi.scanner.attempt"?: number;
259
288
  "senpi.scanner.rapid_failures"?: number;
260
289
  "senpi.scanner.silence_ms"?: number;
290
+ /** Stable error code — present only on the `degraded` (crash-loop) transition. */
291
+ "senpi.error.code"?: typeof SENPI_ERROR_CODE.scannerCrashLoop;
261
292
  }
262
293
  /**
263
294
  * A supervised scanner that failed to wire up — initial launch (`launch_phase=wire`, before any
@@ -274,6 +305,8 @@ export interface ScannerLaunchFailedAttrs {
274
305
  "senpi.scanner.id"?: string;
275
306
  /** The owning supervisor's id — present on a `remint` failure. */
276
307
  "senpi.supervisor.id"?: string;
308
+ /** Stable error code — always `E_SCANNER_LAUNCH_FAILED` for this event. */
309
+ "senpi.error.code": typeof SENPI_ERROR_CODE.scannerLaunchFailed;
277
310
  }
278
311
  /**
279
312
  * Shared shape for the four signal-intake disposition events — the pre-decision acceptance fact at
@@ -306,6 +339,8 @@ export interface ScaffoldErrorAttrs {
306
339
  "senpi.scanner.name"?: string;
307
340
  "senpi.strategy.address"?: string;
308
341
  "senpi.scaffold.error_type"?: string;
342
+ /** Stable error code: `E_SCANNER_TICK_ERROR` on `tick_error`, `E_SCANNER_TICK_TIMEOUT` on `tick_timeout`. */
343
+ "senpi.error.code": typeof SENPI_ERROR_CODE.scannerTickError | typeof SENPI_ERROR_CODE.scannerTickTimeout;
309
344
  }
310
345
  /**
311
346
  * A runtime added to the registry via `senpi.installRuntime`. The registry-level create fact —
@@ -365,6 +400,8 @@ export interface RuntimeScannersUnwiredAttrs {
365
400
  "senpi.runtime.id": string;
366
401
  "senpi.strategy.address"?: string;
367
402
  "senpi.scanners.launch_phase": string;
403
+ /** Stable error code: `E_SCANNER_MOUNT_FAILED` for the `mount` phase, `E_SCANNER_LAUNCH_FAILED` for the launch/install phases. */
404
+ "senpi.error.code": typeof SENPI_ERROR_CODE.scannerMountFailed | typeof SENPI_ERROR_CODE.scannerLaunchFailed;
368
405
  }
369
406
  export interface RuntimeStoppedAttrs {
370
407
  "senpi.strategy.address"?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"event-catalog.d.ts","sourceRoot":"","sources":["../../src/utils/event-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-catalog.d.ts","sourceRoot":"","sources":["../../src/utils/event-catalog.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,37 @@ export const EVENT_NAME = {
73
73
  autoUpdateRestartFailed: "auto_update.restart_failed",
74
74
  autoUpdateDegraded: "auto_update.degraded",
75
75
  };
76
+ /**
77
+ * The stable, queryable error codes from the cross-repo scanner-failure taxonomy. Same closed-set
78
+ * shape as {@link EVENT_NAME}: a code is a machine identifier that outlives any human-readable Body
79
+ * (event bodies are dashboard-matched and frozen), so it rides ONLY the `senpi.error.code` event
80
+ * attribute — never prepended to a Body. `E_SCANNER_TICK_ERROR`/`_TICK_TIMEOUT`/`_CRASH_LOOP` are
81
+ * new here; `_MOUNT_FAILED`/`_LAUNCH_FAILED` are the existing unwired-site logical identifiers made
82
+ * queryable. Extend this set (not scattered string literals) when a new coded failure is introduced.
83
+ */
84
+ export const SENPI_ERROR_CODE = {
85
+ /** A scaffold tick that threw (or `state_persist_failed`) — `scaffold.tick_error`. */
86
+ scannerTickError: "E_SCANNER_TICK_ERROR",
87
+ /** A scaffold tick that blew its wall-clock budget — `scaffold.tick_timeout`. */
88
+ scannerTickTimeout: "E_SCANNER_TICK_TIMEOUT",
89
+ /** The supervisor's crash-loop guard tripped — `scanner.degraded`. */
90
+ scannerCrashLoop: "E_SCANNER_CRASH_LOOP",
91
+ /** The boot mount seam failed to wire the external scanner stack — `runtime.scanners_unwired{mount}`. */
92
+ scannerMountFailed: "E_SCANNER_MOUNT_FAILED",
93
+ /** A launch/install seam (or a launcher wire/remint) failed — `scanner.launch_failed` / the other unwired sites. */
94
+ scannerLaunchFailed: "E_SCANNER_LAUNCH_FAILED",
95
+ };
96
+ /**
97
+ * The stable error code for an `eventScannersUnwired` site, by its launch phase: the boot mount seam
98
+ * is `E_SCANNER_MOUNT_FAILED`; every launch/install seam (`launch`, `install_launch`, `install_wire`)
99
+ * is `E_SCANNER_LAUNCH_FAILED`. Keeps the phase→code assignment in one place rather than at the four
100
+ * call sites in `index.ts`.
101
+ */
102
+ export function scannerUnwiredErrorCode(phase) {
103
+ return phase === "mount"
104
+ ? SENPI_ERROR_CODE.scannerMountFailed
105
+ : SENPI_ERROR_CODE.scannerLaunchFailed;
106
+ }
76
107
  /**
77
108
  * Each event's canonical severity — and its FLOOR. Failure-shaped events (`order.failed`,
78
109
  * `runtime.error`) are `error`; `runtime.paused` is `warn`; the rest are `info`. A caller may
@@ -1 +1 @@
1
- {"version":3,"file":"event-catalog.js","sourceRoot":"","sources":["../../src/utils/event-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-catalog.js","sourceRoot":"","sources":["../../src/utils/event-catalog.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  "id": "runtime",
3
3
  "name": "Senpi Runtime",
4
4
  "description": "Senpi runtime plugin for OpenClaw. Orchestrates scanners, LLM-based trade decisions, and a DSL trailing stop-loss exit engine.",
5
- "version": "3.0.45",
5
+ "version": "3.0.51",
6
6
  "commandAliases": [
7
7
  {
8
8
  "name": "senpi"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@senpi/runtime",
3
- "version": "3.0.45",
3
+ "version": "3.0.51",
4
4
  "description": "Senpi runtime plugin for OpenClaw",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",