@skillsmith/core 0.12.3 → 0.12.4

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 (188) hide show
  1. package/CHANGELOG.md +164 -0
  2. package/README.md +2 -2
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/src/config/owned-lock.acquire.d.ts +8 -0
  5. package/dist/src/config/owned-lock.acquire.d.ts.map +1 -1
  6. package/dist/src/config/owned-lock.acquire.js +19 -4
  7. package/dist/src/config/owned-lock.acquire.js.map +1 -1
  8. package/dist/src/config/owned-lock.claim.d.ts +4 -2
  9. package/dist/src/config/owned-lock.claim.d.ts.map +1 -1
  10. package/dist/src/config/owned-lock.claim.js +42 -8
  11. package/dist/src/config/owned-lock.claim.js.map +1 -1
  12. package/dist/src/config/owned-lock.d.ts.map +1 -1
  13. package/dist/src/config/owned-lock.js +1 -0
  14. package/dist/src/config/owned-lock.js.map +1 -1
  15. package/dist/src/config/owned-lock.test.js +126 -2
  16. package/dist/src/config/owned-lock.test.js.map +1 -1
  17. package/dist/src/config/owned-lock.types.d.ts +9 -0
  18. package/dist/src/config/owned-lock.types.d.ts.map +1 -1
  19. package/dist/src/db/createDatabase.d.ts.map +1 -1
  20. package/dist/src/db/createDatabase.js +0 -2
  21. package/dist/src/db/createDatabase.js.map +1 -1
  22. package/dist/src/exports/services.install.d.ts +1 -0
  23. package/dist/src/exports/services.install.d.ts.map +1 -1
  24. package/dist/src/exports/services.install.js +5 -0
  25. package/dist/src/exports/services.install.js.map +1 -1
  26. package/dist/src/index.d.ts +1 -1
  27. package/dist/src/index.js +1 -1
  28. package/dist/src/install/fan-out.cleanup.d.ts +37 -0
  29. package/dist/src/install/fan-out.cleanup.d.ts.map +1 -0
  30. package/dist/src/install/fan-out.cleanup.js +75 -0
  31. package/dist/src/install/fan-out.cleanup.js.map +1 -0
  32. package/dist/src/install/fan-out.d.ts +41 -31
  33. package/dist/src/install/fan-out.d.ts.map +1 -1
  34. package/dist/src/install/fan-out.js +213 -112
  35. package/dist/src/install/fan-out.js.map +1 -1
  36. package/dist/src/install/fan-out.leftovers.d.ts +60 -0
  37. package/dist/src/install/fan-out.leftovers.d.ts.map +1 -0
  38. package/dist/src/install/fan-out.leftovers.js +251 -0
  39. package/dist/src/install/fan-out.leftovers.js.map +1 -0
  40. package/dist/src/install/fan-out.locks.d.ts +12 -0
  41. package/dist/src/install/fan-out.locks.d.ts.map +1 -0
  42. package/dist/src/install/fan-out.locks.js +114 -0
  43. package/dist/src/install/fan-out.locks.js.map +1 -0
  44. package/dist/src/install/fan-out.manifest.d.ts +64 -0
  45. package/dist/src/install/fan-out.manifest.d.ts.map +1 -0
  46. package/dist/src/install/fan-out.manifest.js +130 -0
  47. package/dist/src/install/fan-out.manifest.js.map +1 -0
  48. package/dist/src/install/fan-out.overwrite.d.ts +51 -0
  49. package/dist/src/install/fan-out.overwrite.d.ts.map +1 -0
  50. package/dist/src/install/fan-out.overwrite.js +343 -0
  51. package/dist/src/install/fan-out.overwrite.js.map +1 -0
  52. package/dist/src/install/remove-if-same.d.ts +58 -0
  53. package/dist/src/install/remove-if-same.d.ts.map +1 -0
  54. package/dist/src/install/remove-if-same.js +222 -0
  55. package/dist/src/install/remove-if-same.js.map +1 -0
  56. package/dist/src/provenance/backfill.d.ts.map +1 -1
  57. package/dist/src/provenance/backfill.js +15 -2
  58. package/dist/src/provenance/backfill.js.map +1 -1
  59. package/dist/src/security/scanner/SecurityScanner.scanners.d.ts.map +1 -1
  60. package/dist/src/security/scanner/SecurityScanner.scanners.js +8 -1
  61. package/dist/src/security/scanner/SecurityScanner.scanners.js.map +1 -1
  62. package/dist/src/security/scanner/SecurityScanner.value-gate.d.ts +22 -2
  63. package/dist/src/security/scanner/SecurityScanner.value-gate.d.ts.map +1 -1
  64. package/dist/src/security/scanner/SecurityScanner.value-gate.js +143 -6
  65. package/dist/src/security/scanner/SecurityScanner.value-gate.js.map +1 -1
  66. package/dist/src/security/scanner/SecurityScanner.weak-passwords.d.ts +2 -2
  67. package/dist/src/security/scanner/SecurityScanner.weak-passwords.d.ts.map +1 -1
  68. package/dist/src/security/scanner/SecurityScanner.weak-passwords.js +185 -190
  69. package/dist/src/security/scanner/SecurityScanner.weak-passwords.js.map +1 -1
  70. package/dist/src/security/scanner/patterns.d.ts +47 -2
  71. package/dist/src/security/scanner/patterns.d.ts.map +1 -1
  72. package/dist/src/security/scanner/patterns.js +48 -3
  73. package/dist/src/security/scanner/patterns.js.map +1 -1
  74. package/dist/src/security/scanner/patterns.sensitive-path.d.ts +31 -3
  75. package/dist/src/security/scanner/patterns.sensitive-path.d.ts.map +1 -1
  76. package/dist/src/security/scanner/patterns.sensitive-path.js +59 -4
  77. package/dist/src/security/scanner/patterns.sensitive-path.js.map +1 -1
  78. package/dist/src/services/agent-pack/prompt-source.d.ts.map +1 -1
  79. package/dist/src/services/agent-pack/prompt-source.js +3 -2
  80. package/dist/src/services/agent-pack/prompt-source.js.map +1 -1
  81. package/dist/src/services/skill-installation.content.d.ts +7 -2
  82. package/dist/src/services/skill-installation.content.d.ts.map +1 -1
  83. package/dist/src/services/skill-installation.content.js +75 -28
  84. package/dist/src/services/skill-installation.content.js.map +1 -1
  85. package/dist/src/services/skill-installation.helpers.d.ts.map +1 -1
  86. package/dist/src/services/skill-installation.helpers.js +8 -0
  87. package/dist/src/services/skill-installation.helpers.js.map +1 -1
  88. package/dist/src/services/skill-installation.io.d.ts +1 -29
  89. package/dist/src/services/skill-installation.io.d.ts.map +1 -1
  90. package/dist/src/services/skill-installation.io.dirs.d.ts +15 -0
  91. package/dist/src/services/skill-installation.io.dirs.d.ts.map +1 -0
  92. package/dist/src/services/skill-installation.io.dirs.js +84 -0
  93. package/dist/src/services/skill-installation.io.dirs.js.map +1 -0
  94. package/dist/src/services/skill-installation.io.js +6 -176
  95. package/dist/src/services/skill-installation.io.js.map +1 -1
  96. package/dist/src/services/skill-installation.io.rollback.d.ts +138 -0
  97. package/dist/src/services/skill-installation.io.rollback.d.ts.map +1 -0
  98. package/dist/src/services/skill-installation.io.rollback.js +218 -0
  99. package/dist/src/services/skill-installation.io.rollback.js.map +1 -0
  100. package/dist/src/services/skill-installation.io.write.d.ts +69 -0
  101. package/dist/src/services/skill-installation.io.write.d.ts.map +1 -0
  102. package/dist/src/services/skill-installation.io.write.js +417 -0
  103. package/dist/src/services/skill-installation.io.write.js.map +1 -0
  104. package/dist/src/services/skill-installation.service.d.ts.map +1 -1
  105. package/dist/src/services/skill-installation.service.finalize.d.ts +62 -0
  106. package/dist/src/services/skill-installation.service.finalize.d.ts.map +1 -0
  107. package/dist/src/services/skill-installation.service.finalize.js +136 -0
  108. package/dist/src/services/skill-installation.service.finalize.js.map +1 -0
  109. package/dist/src/services/skill-installation.service.js +66 -80
  110. package/dist/src/services/skill-installation.service.js.map +1 -1
  111. package/dist/src/services/skill-installation.target-guard.d.ts +82 -0
  112. package/dist/src/services/skill-installation.target-guard.d.ts.map +1 -0
  113. package/dist/src/services/skill-installation.target-guard.js +410 -0
  114. package/dist/src/services/skill-installation.target-guard.js.map +1 -0
  115. package/dist/src/services/skill-installation.types.d.ts +13 -1
  116. package/dist/src/services/skill-installation.types.d.ts.map +1 -1
  117. package/dist/src/services/skill-installation.types.js.map +1 -1
  118. package/dist/src/services/skill-installation.uninstall.d.ts +3 -1
  119. package/dist/src/services/skill-installation.uninstall.d.ts.map +1 -1
  120. package/dist/src/services/skill-installation.uninstall.helpers.d.ts +59 -0
  121. package/dist/src/services/skill-installation.uninstall.helpers.d.ts.map +1 -0
  122. package/dist/src/services/skill-installation.uninstall.helpers.js +124 -0
  123. package/dist/src/services/skill-installation.uninstall.helpers.js.map +1 -0
  124. package/dist/src/services/skill-installation.uninstall.js +148 -25
  125. package/dist/src/services/skill-installation.uninstall.js.map +1 -1
  126. package/dist/src/utils/safe-fs.d.ts +69 -0
  127. package/dist/src/utils/safe-fs.d.ts.map +1 -1
  128. package/dist/src/utils/safe-fs.js +113 -2
  129. package/dist/src/utils/safe-fs.js.map +1 -1
  130. package/dist/tests/install/fan-out.test.js +1951 -13
  131. package/dist/tests/install/fan-out.test.js.map +1 -1
  132. package/dist/tests/install/remove-if-same.test.d.ts +2 -0
  133. package/dist/tests/install/remove-if-same.test.d.ts.map +1 -0
  134. package/dist/tests/install/remove-if-same.test.js +298 -0
  135. package/dist/tests/install/remove-if-same.test.js.map +1 -0
  136. package/dist/tests/integration/fan-out-lock-contention.test.d.ts +11 -0
  137. package/dist/tests/integration/fan-out-lock-contention.test.d.ts.map +1 -0
  138. package/dist/tests/integration/fan-out-lock-contention.test.js +53 -0
  139. package/dist/tests/integration/fan-out-lock-contention.test.js.map +1 -0
  140. package/dist/tests/provenance/backfill.test.js +43 -0
  141. package/dist/tests/provenance/backfill.test.js.map +1 -1
  142. package/dist/tests/security/scanner-regression-guard.test.js +33 -5
  143. package/dist/tests/security/scanner-regression-guard.test.js.map +1 -1
  144. package/dist/tests/security/sensitive-path-adversarial-review.test.js +120 -0
  145. package/dist/tests/security/sensitive-path-adversarial-review.test.js.map +1 -1
  146. package/dist/tests/security/sensitive-path-boolean-flag.test.d.ts +2 -0
  147. package/dist/tests/security/sensitive-path-boolean-flag.test.d.ts.map +1 -0
  148. package/dist/tests/security/sensitive-path-boolean-flag.test.js +151 -0
  149. package/dist/tests/security/sensitive-path-boolean-flag.test.js.map +1 -0
  150. package/dist/tests/security/sensitive-path-fp.test.js +71 -5
  151. package/dist/tests/security/sensitive-path-fp.test.js.map +1 -1
  152. package/dist/tests/security/sensitive-path-prefixed-secrets.test.d.ts +2 -0
  153. package/dist/tests/security/sensitive-path-prefixed-secrets.test.d.ts.map +1 -0
  154. package/dist/tests/security/sensitive-path-prefixed-secrets.test.js +176 -0
  155. package/dist/tests/security/sensitive-path-prefixed-secrets.test.js.map +1 -0
  156. package/dist/tests/security/weak-password-lexicon.test.js +14 -4
  157. package/dist/tests/security/weak-password-lexicon.test.js.map +1 -1
  158. package/dist/tests/unit/services/skill-installation.content.test.js +23 -0
  159. package/dist/tests/unit/services/skill-installation.content.test.js.map +1 -1
  160. package/dist/tests/unit/services/skill-installation.io.client-agent-path.test.js +35 -14
  161. package/dist/tests/unit/services/skill-installation.io.client-agent-path.test.js.map +1 -1
  162. package/dist/tests/unit/services/skill-installation.io.rollback.test.d.ts +2 -0
  163. package/dist/tests/unit/services/skill-installation.io.rollback.test.d.ts.map +1 -0
  164. package/dist/tests/unit/services/skill-installation.io.rollback.test.js +984 -0
  165. package/dist/tests/unit/services/skill-installation.io.rollback.test.js.map +1 -0
  166. package/dist/tests/unit/services/skill-installation.io.rollback.unit.test.d.ts +2 -0
  167. package/dist/tests/unit/services/skill-installation.io.rollback.unit.test.d.ts.map +1 -0
  168. package/dist/tests/unit/services/skill-installation.io.rollback.unit.test.js +148 -0
  169. package/dist/tests/unit/services/skill-installation.io.rollback.unit.test.js.map +1 -0
  170. package/dist/tests/unit/services/skill-installation.service.error-codes.test.js +19 -0
  171. package/dist/tests/unit/services/skill-installation.service.error-codes.test.js.map +1 -1
  172. package/dist/tests/unit/services/skill-installation.service.finalize.test.d.ts +2 -0
  173. package/dist/tests/unit/services/skill-installation.service.finalize.test.d.ts.map +1 -0
  174. package/dist/tests/unit/services/skill-installation.service.finalize.test.js +147 -0
  175. package/dist/tests/unit/services/skill-installation.service.finalize.test.js.map +1 -0
  176. package/dist/tests/unit/services/skill-installation.service.test.js +43 -0
  177. package/dist/tests/unit/services/skill-installation.service.test.js.map +1 -1
  178. package/dist/tests/unit/services/skill-installation.target-guard.test.d.ts +2 -0
  179. package/dist/tests/unit/services/skill-installation.target-guard.test.d.ts.map +1 -0
  180. package/dist/tests/unit/services/skill-installation.target-guard.test.js +590 -0
  181. package/dist/tests/unit/services/skill-installation.target-guard.test.js.map +1 -0
  182. package/dist/tests/unit/services/skill-installation.uninstall.guard.test.d.ts +2 -0
  183. package/dist/tests/unit/services/skill-installation.uninstall.guard.test.d.ts.map +1 -0
  184. package/dist/tests/unit/services/skill-installation.uninstall.guard.test.js +473 -0
  185. package/dist/tests/unit/services/skill-installation.uninstall.guard.test.js.map +1 -0
  186. package/dist/tests/utils/safe-fs.test.js +129 -2
  187. package/dist/tests/utils/safe-fs.test.js.map +1 -1
  188. package/package.json +1 -1
@@ -36,6 +36,7 @@ export interface AcquireOwnedLockCoreOptions {
36
36
  timeoutMs?: number;
37
37
  label?: string;
38
38
  reclaimProbeAfterMs?: number;
39
+ reclaimLockTimeoutMs?: number;
39
40
  onReclaimBoundary?: () => void;
40
41
  onReclaimOutcome?: (outcome: ReclaimOutcome) => void;
41
42
  /** @internal NEGATIVE CONTROL ONLY (owned-lock-reclaim-race.test.ts §8b). Removes the authoritative re-read that makes this mechanism sound -- reintroduces the round-3 lock-theft race on purpose. Never set outside that spec, and never reachable via the public acquireOwnedLock(). */
@@ -43,6 +44,13 @@ export interface AcquireOwnedLockCoreOptions {
43
44
  /** @internal test seam (owned-lock.test.ts item 14). Never reachable via the public acquireOwnedLock(). */
44
45
  linkSyncOverride?: (existingPath: string, newPath: string) => void;
45
46
  }
47
+ /**
48
+ * A timing option as a finite, non-negative number of milliseconds. Anything
49
+ * else (NaN, Infinity, a negative number) falls back to `fallback`: a NaN
50
+ * deadline never passes, so it hung the synchronous wait loop forever
51
+ * (SMI-6529 round 9).
52
+ */
53
+ export declare function toTimingMs(value: number | undefined, fallback: number): number;
46
54
  /**
47
55
  * The full acquire loop. `owned-lock.ts`'s public `acquireOwnedLock` is a
48
56
  * thin wrapper over this that only ever forwards the PUBLIC-SAFE option
@@ -1 +1 @@
1
- {"version":3,"file":"owned-lock.acquire.d.ts","sourceRoot":"","sources":["../../../src/config/owned-lock.acquire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAoBH,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAmB,eAAe,EAAE,MAAM,uBAAuB,CAAA;AA2BpG;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;gBAG9B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,KAAK;CAcf;AAmBD;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAA;IACpD,2RAA2R;IAC3R,6BAA6B,CAAC,EAAE,OAAO,CAAA;IACvC,2GAA2G;IAC3G,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACnE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,2BAAgC,GACrC,MAAM,IAAI,CA4DZ"}
1
+ {"version":3,"file":"owned-lock.acquire.d.ts","sourceRoot":"","sources":["../../../src/config/owned-lock.acquire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAqBH,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAmB,eAAe,EAAE,MAAM,uBAAuB,CAAA;AA2BpG;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;gBAG9B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,KAAK;CAcf;AAmBD;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAA;IACpD,2RAA2R;IAC3R,6BAA6B,CAAC,EAAE,OAAO,CAAA;IACvC,2GAA2G;IAC3G,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACnE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,2BAAgC,GACrC,MAAM,IAAI,CAkEZ"}
@@ -17,7 +17,7 @@
17
17
  */
18
18
  import { hostname } from 'node:os';
19
19
  import { classifyRefusal, createLockExclusive, isOwnerDefinitelyDead, makeRelease, randomHex, readClaim, sleepSync, tryReclaimUnderLock, } from './owned-lock.claim.js';
20
- import { LOCK_ACQUIRE_TIMEOUT_MS, LOCK_RETRY_DELAY_MS, RECLAIM_PROBE_AFTER_MS, RECLAIM_PROBE_INTERVAL_MS, } from './owned-lock.types.js';
20
+ import { LOCK_ACQUIRE_TIMEOUT_MS, LOCK_RETRY_DELAY_MS, RECLAIM_LOCK_TIMEOUT_MS, RECLAIM_PROBE_AFTER_MS, RECLAIM_PROBE_INTERVAL_MS, } from './owned-lock.types.js';
21
21
  function describeReason(reason, claim, reclaimPath) {
22
22
  switch (reason) {
23
23
  case 'held':
@@ -79,6 +79,15 @@ function mapRefusalToReason(refusal) {
79
79
  return 'held';
80
80
  }
81
81
  }
82
+ /**
83
+ * A timing option as a finite, non-negative number of milliseconds. Anything
84
+ * else (NaN, Infinity, a negative number) falls back to `fallback`: a NaN
85
+ * deadline never passes, so it hung the synchronous wait loop forever
86
+ * (SMI-6529 round 9).
87
+ */
88
+ export function toTimingMs(value, fallback) {
89
+ return typeof value === 'number' && Number.isFinite(value) && value >= 0 ? value : fallback;
90
+ }
82
91
  /**
83
92
  * The full acquire loop. `owned-lock.ts`'s public `acquireOwnedLock` is a
84
93
  * thin wrapper over this that only ever forwards the PUBLIC-SAFE option
@@ -90,10 +99,11 @@ export function acquireOwnedLockCore(target, opts = {}) {
90
99
  const reclaimPath = `${lockPath}.reclaim`;
91
100
  const token = randomHex(8);
92
101
  const label = opts.label ?? 'lock';
93
- const timeoutMs = opts.timeoutMs ?? LOCK_ACQUIRE_TIMEOUT_MS;
102
+ const timeoutMs = toTimingMs(opts.timeoutMs, LOCK_ACQUIRE_TIMEOUT_MS);
103
+ const reclaimLockTimeoutMs = toTimingMs(opts.reclaimLockTimeoutMs, RECLAIM_LOCK_TIMEOUT_MS);
94
104
  const started = Date.now();
95
105
  const deadline = started + timeoutMs;
96
- let nextProbeAt = started + (opts.reclaimProbeAfterMs ?? RECLAIM_PROBE_AFTER_MS);
106
+ let nextProbeAt = started + toTimingMs(opts.reclaimProbeAfterMs, RECLAIM_PROBE_AFTER_MS);
97
107
  let lastRefusal = 'held'; // safe default: EEXIST already implies SOMETHING is there
98
108
  let lastObservedClaim = { kind: 'absent' };
99
109
  for (;;) {
@@ -111,6 +121,7 @@ export function acquireOwnedLockCore(target, opts = {}) {
111
121
  const outcome = tryReclaimUnderLock(lockPath, reclaimPath, {
112
122
  unsafeSkipRevalidation: opts.unsafeSkipReclaimRevalidation,
113
123
  linkSyncOverride: opts.linkSyncOverride,
124
+ reclaimLockTimeoutMs,
114
125
  });
115
126
  opts.onReclaimOutcome?.(outcome);
116
127
  if (outcome === 'reclaimed' || outcome === 'gone') {
@@ -120,7 +131,11 @@ export function acquireOwnedLockCore(target, opts = {}) {
120
131
  lastRefusal = outcome; // 'not-stale' | 'unavailable'
121
132
  }
122
133
  else {
123
- lastRefusal = classifyRefusal(claim);
134
+ // SMI-6529 round 8: a claim that vanished between our EEXIST and this
135
+ // read was released by a live holder. That is contention, not a
136
+ // corrupt lock; calling it 'unparseable' made a non-waiting caller
137
+ // give up and advise `rm` on a lock another process may just have taken.
138
+ lastRefusal = claim.kind === 'absent' ? 'held' : classifyRefusal(claim);
124
139
  }
125
140
  nextProbeAt = Date.now() + RECLAIM_PROBE_INTERVAL_MS;
126
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"owned-lock.acquire.js","sourceRoot":"","sources":["../../../src/config/owned-lock.acquire.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owned-lock.acquire.js","sourceRoot":"","sources":["../../../src/config/owned-lock.acquire.ts"],"names":[],"mappings":"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"}
@@ -33,8 +33,8 @@ export declare function sleepSync(ms: number): void;
33
33
  export declare function parseClaim(text: string): Claim;
34
34
  /**
35
35
  * Bounded, TOCTOU-free claim read: open once, `fstat` THAT fd (not the
36
- * path), refuse above {@link MAX_LOCK_BYTES}, read from the same fd. Returns
37
- * `{ kind: 'absent' }` on `ENOENT` (or any other open failure).
36
+ * path), refuse above {@link MAX_LOCK_BYTES}, read from the same fd. An open
37
+ * failure is classified by {@link claimForOpenFailure}.
38
38
  */
39
39
  export declare function readClaim(path: string): Claim;
40
40
  export declare function isAutoReclaimDisabled(): boolean;
@@ -70,6 +70,8 @@ export interface ReclaimInternalOptions {
70
70
  /** @internal NEGATIVE CONTROL ONLY (owned-lock-reclaim-race.test.ts) -- removes the authoritative re-read that makes this mechanism sound. Never set outside that spec. */
71
71
  unsafeSkipRevalidation?: boolean;
72
72
  linkSyncOverride?: (existingPath: string, newPath: string) => void;
73
+ /** Max wait for the reclaim lock (ms); defaults to RECLAIM_LOCK_TIMEOUT_MS. 0 means a single try, with no synchronous sleep. */
74
+ reclaimLockTimeoutMs?: number;
73
75
  }
74
76
  /**
75
77
  * Validate and destroy a stale main lock inside a region from which every
@@ -1 +1 @@
1
- {"version":3,"file":"owned-lock.claim.d.ts","sourceRoot":"","sources":["../../../src/config/owned-lock.claim.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAsBH,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEnF,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAG1C;AAMD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAiC9C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAkB7C;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,KAAK,EACZ,SAAS,GAAE,OAAO,OAAO,CAAC,IAAmB,GAC5C,OAAO,CAYT;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,CAK7D;AAyCD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GACjE,OAAO,CA0BT;AAMD,MAAM,WAAW,sBAAsB;IACrC,2KAA2K;IAC3K,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACnE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,sBAAsB,GAC3B,cAAc,CAmChB;AAMD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAmB9D;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,IAAI,CAOvE"}
1
+ {"version":3,"file":"owned-lock.claim.d.ts","sourceRoot":"","sources":["../../../src/config/owned-lock.claim.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAuBH,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAW,MAAM,uBAAuB,CAAA;AAE5F,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAG1C;AAMD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAiC9C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAkB7C;AA2BD,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,KAAK,EACZ,SAAS,GAAE,OAAO,OAAO,CAAC,IAAmB,GAC5C,OAAO,CAIT;AAeD,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,CAQ7D;AAyCD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GACjE,OAAO,CA0BT;AAMD,MAAM,WAAW,sBAAsB;IACrC,2KAA2K;IAC3K,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAClE,gIAAgI;IAChI,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,sBAAsB,GAC3B,cAAc,CAmChB;AAMD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAmB9D;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,IAAI,CAOvE"}
@@ -15,7 +15,7 @@
15
15
  * own destructive test-only options.
16
16
  */
17
17
  import { randomBytes } from 'node:crypto';
18
- import { chmodSync, closeSync, fstatSync, linkSync, openSync, readSync, unlinkSync, writeFileSync, } from 'node:fs';
18
+ import { chmodSync, closeSync, fstatSync, linkSync, lstatSync, openSync, readSync, unlinkSync, writeFileSync, } from 'node:fs';
19
19
  import { hostname } from 'node:os';
20
20
  import { basename, dirname, join } from 'node:path';
21
21
  import { HARDLINK_UNAVAILABLE_CODES, LOCK_RETRY_DELAY_MS, MAX_LOCK_BYTES, RECLAIM_LOCK_TIMEOUT_MS, } from './owned-lock.types.js';
@@ -78,16 +78,16 @@ export function parseClaim(text) {
78
78
  }
79
79
  /**
80
80
  * Bounded, TOCTOU-free claim read: open once, `fstat` THAT fd (not the
81
- * path), refuse above {@link MAX_LOCK_BYTES}, read from the same fd. Returns
82
- * `{ kind: 'absent' }` on `ENOENT` (or any other open failure).
81
+ * path), refuse above {@link MAX_LOCK_BYTES}, read from the same fd. An open
82
+ * failure is classified by {@link claimForOpenFailure}.
83
83
  */
84
84
  export function readClaim(path) {
85
85
  let fd;
86
86
  try {
87
87
  fd = openSync(path, 'r');
88
88
  }
89
- catch {
90
- return { kind: 'absent' };
89
+ catch (err) {
90
+ return claimForOpenFailure(path, err.code);
91
91
  }
92
92
  try {
93
93
  const st = fstatSync(fd);
@@ -104,6 +104,33 @@ export function readClaim(path) {
104
104
  closeSync(fd);
105
105
  }
106
106
  }
107
+ /**
108
+ * SMI-6529 round 9: only a lock that is really gone reads as `absent`, which
109
+ * callers treat as a release and retry. Every open failure used to, so a
110
+ * non-waiting caller waited out its whole timeout, as "held", on a lock that
111
+ * can never be released: a dangling symlink, or a file it may not read.
112
+ *
113
+ * - ENOENT with nothing at the path: absent (released).
114
+ * - ENOENT, but `lstat` finds a symlink there: dangling, so unparseable. Any
115
+ * other entry found is a new lock created since our open: absent, and the
116
+ * next attempt sees it.
117
+ * - EMFILE/ENFILE (out of file descriptors) is transient: absent, retried.
118
+ * - Anything else (EACCES, ELOOP, ENOTDIR, ...): unparseable.
119
+ */
120
+ function claimForOpenFailure(path, code) {
121
+ if (code === 'EMFILE' || code === 'ENFILE')
122
+ return { kind: 'absent' };
123
+ if (code !== 'ENOENT')
124
+ return { kind: 'unparseable' };
125
+ try {
126
+ return lstatSync(path).isSymbolicLink() ? { kind: 'unparseable' } : { kind: 'absent' };
127
+ }
128
+ catch (err) {
129
+ return err.code === 'ENOENT'
130
+ ? { kind: 'absent' }
131
+ : { kind: 'unparseable' };
132
+ }
133
+ }
107
134
  export function isAutoReclaimDisabled() {
108
135
  return process.env['SKILLSMITH_LOCK_NO_AUTO_RECLAIM'] === '1';
109
136
  }
@@ -119,6 +146,10 @@ export function isOwnerDefinitelyDead(claim, killProbe = process.kill) {
119
146
  return false;
120
147
  if (claim.kind !== 'v1')
121
148
  return false; // legacy | unparseable | absent -- never (D-5/D-6)
149
+ return isV1OwnerDead(claim, killProbe);
150
+ }
151
+ /** The liveness probe behind {@link isOwnerDefinitelyDead}, without the auto-reclaim opt-out. */
152
+ function isV1OwnerDead(claim, killProbe = process.kill) {
122
153
  if (claim.host !== hostname())
123
154
  return false;
124
155
  if (!Number.isInteger(claim.pid) || claim.pid <= 0)
@@ -134,12 +165,15 @@ export function isOwnerDefinitelyDead(claim, killProbe = process.kill) {
134
165
  }
135
166
  }
136
167
  export function classifyRefusal(claim) {
137
- if (isAutoReclaimDisabled())
138
- return 'reclaim-disabled';
139
168
  if (claim.kind === 'legacy')
140
169
  return 'legacy';
141
170
  if (claim.kind === 'unparseable' || claim.kind === 'absent')
142
171
  return 'unparseable';
172
+ // SMI-6529 round 9: with auto-reclaim off, only a holder that has died is
173
+ // 'reclaim-disabled'. A live one is still 'held', so the timeout message
174
+ // names it, and a legacy or unparseable claim keeps its own reason.
175
+ if (isAutoReclaimDisabled() && isV1OwnerDead(claim))
176
+ return 'reclaim-disabled';
143
177
  return 'held';
144
178
  }
145
179
  // ---------------------------------------------------------------------------
@@ -243,7 +277,7 @@ export function tryReclaimUnderLock(lockPath, reclaimPath, opts) {
243
277
  host: hostname(),
244
278
  acquiredAt: Date.now(),
245
279
  }) + '\n';
246
- const rDeadline = Date.now() + RECLAIM_LOCK_TIMEOUT_MS;
280
+ const rDeadline = Date.now() + (opts.reclaimLockTimeoutMs ?? RECLAIM_LOCK_TIMEOUT_MS);
247
281
  for (;;) {
248
282
  if (createLockExclusive(reclaimPath, rRecord, opts.linkSyncOverride))
249
283
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"owned-lock.claim.js","sourceRoot":"","sources":["../../../src/config/owned-lock.claim.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owned-lock.claim.js","sourceRoot":"","sources":["../../../src/config/owned-lock.claim.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"owned-lock.d.ts","sourceRoot":"","sources":["../../../src/config/owned-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AAEH,OAAO,EAAwB,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAEpE,YAAY,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACrF,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAA;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,uBAA4B,GAAG,MAAM,IAAI,CAU/F"}
1
+ {"version":3,"file":"owned-lock.d.ts","sourceRoot":"","sources":["../../../src/config/owned-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AAEH,OAAO,EAAwB,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAEpE,YAAY,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACrF,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAA;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,uBAA4B,GAAG,MAAM,IAAI,CAW/F"}
@@ -112,6 +112,7 @@ export function acquireOwnedLock(target, opts = {}) {
112
112
  timeoutMs: opts.timeoutMs,
113
113
  label: opts.label,
114
114
  reclaimProbeAfterMs: opts.reclaimProbeAfterMs,
115
+ reclaimLockTimeoutMs: opts.reclaimLockTimeoutMs,
115
116
  onReclaimBoundary: opts.onReclaimBoundary,
116
117
  onReclaimOutcome: opts.onReclaimOutcome,
117
118
  unsafeSkipReclaimRevalidation: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"owned-lock.js","sourceRoot":"","sources":["../../../src/config/owned-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAI9E,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAA;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,OAAgC,EAAE;IACjF,OAAO,oBAAoB,CAAC,MAAM,EAAE;QAClC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,6BAA6B,EAAE,SAAS;QACxC,gBAAgB,EAAE,SAAS;KAC5B,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"owned-lock.js","sourceRoot":"","sources":["../../../src/config/owned-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAI9E,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAA;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,OAAgC,EAAE;IACjF,OAAO,oBAAoB,CAAC,MAAM,EAAE;QAClC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,6BAA6B,EAAE,SAAS;QACxC,gBAAgB,EAAE,SAAS;KAC5B,CAAC,CAAA;AACJ,CAAC"}
@@ -9,11 +9,13 @@
9
9
  * and `packages/core/tests/integration/owned-lock-lost-update.test.ts` (§8f).
10
10
  */
11
11
  import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
12
- import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync } from 'node:fs';
12
+ import { chmodSync, existsSync, linkSync, mkdirSync, readFileSync, readdirSync, rmSync, symlinkSync, writeFileSync, } from 'node:fs';
13
+ import { spawnSync } from 'node:child_process';
13
14
  import { hostname } from 'node:os';
14
15
  import * as path from 'node:path';
15
16
  import * as os from 'node:os';
16
- import { acquireOwnedLock, StuckLockError } from './owned-lock.js';
17
+ import { acquireOwnedLock, RECLAIM_LOCK_TIMEOUT_MS, StuckLockError } from './owned-lock.js';
18
+ import { acquireOwnedLockCore, toTimingMs } from './owned-lock.acquire.js';
17
19
  import { createLockExclusive } from './owned-lock.claim.js';
18
20
  import { mintDeadPid } from '../../tests/helpers/deterministic-dead-pid.js';
19
21
  let dir;
@@ -409,4 +411,126 @@ describe('orphaned reclaim lock (residual R1, §8c)', () => {
409
411
  release();
410
412
  });
411
413
  });
414
+ // ---------------------------------------------------------------------------
415
+ // SMI-6529 round 8 — non-waiting callers (`timeoutMs: 0`), as fan-out's
416
+ // destination lock uses the primitive: each attempt is one try, and the
417
+ // caller awaits between attempts itself.
418
+ // ---------------------------------------------------------------------------
419
+ describe('non-waiting callers (SMI-6529 round 8)', () => {
420
+ it('1. a lock released between our failed create and the claim read is reported as held, not unparseable', () => {
421
+ seed(v1(process.pid)); // a live holder
422
+ // The holder releases in the window after our link fails with EEXIST.
423
+ const releaseOnEexist = (existing, newPath) => {
424
+ try {
425
+ linkSync(existing, newPath);
426
+ }
427
+ catch (err) {
428
+ if (err.code === 'EEXIST')
429
+ rmSync(newPath, { force: true });
430
+ throw err;
431
+ }
432
+ };
433
+ let caught;
434
+ try {
435
+ acquireOwnedLockCore(target, {
436
+ timeoutMs: 0,
437
+ reclaimProbeAfterMs: 0,
438
+ linkSyncOverride: releaseOnEexist,
439
+ });
440
+ }
441
+ catch (err) {
442
+ caught = err;
443
+ }
444
+ // 'held' is retried by the caller; 'unreclaimable_unparseable' was
445
+ // fatal, and its message told the user to delete a live lock.
446
+ expect(caught).toBeInstanceOf(StuckLockError);
447
+ expect(caught?.reason).toBe('held');
448
+ });
449
+ it('2. reclaimLockTimeoutMs: 0 gives up on an orphaned reclaim lock at once instead of sleeping', () => {
450
+ seed(v1(mintDeadPid()), lockPath);
451
+ seed(v1(process.pid), reclaimPath); // orphan stand-in
452
+ const started = Date.now();
453
+ let caught;
454
+ try {
455
+ acquireOwnedLock(target, { timeoutMs: 0, reclaimProbeAfterMs: 0, reclaimLockTimeoutMs: 0 });
456
+ }
457
+ catch (err) {
458
+ caught = err;
459
+ }
460
+ expect(caught?.reason).toBe('reclaim_unavailable');
461
+ expect(Date.now() - started).toBeLessThan(RECLAIM_LOCK_TIMEOUT_MS / 2);
462
+ // Control: the default waits the full reclaim timeout in a synchronous sleep.
463
+ const controlStarted = Date.now();
464
+ expect(() => acquireOwnedLock(target, { timeoutMs: 0, reclaimProbeAfterMs: 0 })).toThrow(StuckLockError);
465
+ expect(Date.now() - controlStarted).toBeGreaterThanOrEqual(RECLAIM_LOCK_TIMEOUT_MS);
466
+ });
467
+ });
468
+ // ---------------------------------------------------------------------------
469
+ // SMI-6529 round 9 — a lock that can never be released fails fast, a live
470
+ // holder is named even with auto-reclaim off, and bad timing options can't
471
+ // hang the synchronous wait.
472
+ // ---------------------------------------------------------------------------
473
+ describe('unreleasable locks and timing options (SMI-6529 round 9)', () => {
474
+ function attempt() {
475
+ try {
476
+ acquireOwnedLock(target, { timeoutMs: 0, reclaimProbeAfterMs: 0 });
477
+ }
478
+ catch (err) {
479
+ return err;
480
+ }
481
+ return undefined;
482
+ }
483
+ it('1. a dangling symlink at the lock path is unparseable, not a released lock', () => {
484
+ symlinkSync(path.join(dir, 'nowhere'), lockPath);
485
+ expect(attempt()?.reason).toBe('unreclaimable_unparseable');
486
+ });
487
+ // root can read a mode-000 file, so the case only exists for other users.
488
+ it.skipIf(process.getuid?.() === 0)('2. a lock we may not read is unparseable, not a released lock', () => {
489
+ seed(v1(process.pid));
490
+ chmodSync(lockPath, 0o000);
491
+ expect(attempt()?.reason).toBe('unreclaimable_unparseable');
492
+ });
493
+ it('3. with auto-reclaim off, a live holder is still reported as held, by pid', () => {
494
+ seed(v1(process.pid));
495
+ process.env['SKILLSMITH_LOCK_NO_AUTO_RECLAIM'] = '1';
496
+ let caught;
497
+ try {
498
+ caught = attempt();
499
+ }
500
+ finally {
501
+ delete process.env['SKILLSMITH_LOCK_NO_AUTO_RECLAIM'];
502
+ }
503
+ expect(caught?.reason).toBe('held');
504
+ expect(caught?.message).toContain(`pid ${process.pid}`);
505
+ });
506
+ it('4. timing options fall back to the default unless finite and non-negative', () => {
507
+ const cases = [
508
+ [undefined, 7],
509
+ [Number.NaN, 7],
510
+ [Number.POSITIVE_INFINITY, 7],
511
+ [Number.NEGATIVE_INFINITY, 7],
512
+ [-1, 7],
513
+ [0, 0],
514
+ [0.5, 0.5],
515
+ [250, 250],
516
+ ];
517
+ for (const [input, expected] of cases) {
518
+ expect(toTimingMs(input, 7), String(input)).toBe(expected);
519
+ }
520
+ });
521
+ it('5. reclaimLockTimeoutMs: NaN no longer hangs the synchronous wait', () => {
522
+ seed(v1(mintDeadPid()), lockPath);
523
+ seed(v1(process.pid), reclaimPath); // orphan stand-in
524
+ // Run in a child: a regression is an endless synchronous loop, which
525
+ // would hang this test process instead of failing it.
526
+ const moduleUrl = new URL('./owned-lock.ts', import.meta.url).href;
527
+ const script = `const { acquireOwnedLock } = await import(${JSON.stringify(moduleUrl)});` +
528
+ `try { acquireOwnedLock(${JSON.stringify(target)}, ` +
529
+ `{ timeoutMs: 0, reclaimProbeAfterMs: 0, reclaimLockTimeoutMs: NaN }); ` +
530
+ `console.log('acquired') } catch (err) { console.log(err.reason) }`;
531
+ const child = spawnSync(process.execPath, ['--import', 'tsx', '--input-type=module', '-e', script], { encoding: 'utf-8', timeout: 15_000 });
532
+ expect(child.signal, child.stderr).toBeNull();
533
+ expect(child.stdout.trim()).toBe('reclaim_unavailable');
534
+ }, 20_000);
535
+ });
412
536
  //# sourceMappingURL=owned-lock.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"owned-lock.test.js","sourceRoot":"","sources":["../../../src/config/owned-lock.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owned-lock.test.js","sourceRoot":"","sources":["../../../src/config/owned-lock.test.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,15 @@ export interface AcquireOwnedLockOptions {
59
59
  label?: string;
60
60
  /** Delay before the first reclaim probe (ms). Production callers should omit this; test-only override. */
61
61
  reclaimProbeAfterMs?: number;
62
+ /**
63
+ * Max wait for the reclaim lock (ms). Defaults to `RECLAIM_LOCK_TIMEOUT_MS`.
64
+ * That wait is a synchronous sleep, so an async caller that does its own
65
+ * polling passes 0: a held or orphaned reclaim lock then fails the attempt
66
+ * at once (`reclaim_unavailable`) instead of blocking the event loop. A
67
+ * shorter wait only makes an attempt give up sooner; it never weakens the
68
+ * lock (SMI-6529 round 8).
69
+ */
70
+ reclaimLockTimeoutMs?: number;
62
71
  /**
63
72
  * @internal Test seam (owned-lock-reclaim-race.test.ts §8b). Fires AFTER
64
73
  * the pre-filter has validated a dead claim and BEFORE any reclaim-lock
@@ -1 +1 @@
1
- {"version":3,"file":"owned-lock.types.d.ts","sourceRoot":"","sources":["../../../src/config/owned-lock.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,oHAAoH;AACpH,eAAO,MAAM,uBAAuB,OAAQ,CAAA;AAC5C,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,KAAK,CAAA;AACrC,gHAAgH;AAChH,eAAO,MAAM,sBAAsB,MAAM,CAAA;AACzC,6EAA6E;AAC7E,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAC5C,2JAA2J;AAC3J,eAAO,MAAM,uBAAuB,MAAM,CAAA;AAC1C,2GAA2G;AAC3G,eAAO,MAAM,cAAc,OAAQ,CAAA;AAEnC,eAAO,MAAM,0BAA0B,aAQrC,CAAA;AAMF,0GAA0G;AAC1G,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,IAAI,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB;AACD,sHAAsH;AACtH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;CACZ;AACD,8FAA8F;AAC9F,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAA;CACpB;AACD,6CAA6C;AAC7C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAA;CACf;AACD,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,WAAW,GAAG,gBAAgB,GAAG,WAAW,CAAA;AAE1E,mEAAmE;AACnE,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,aAAa,CAAA;AAE/E,oGAAoG;AACpG,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,kBAAkB,CAAA;AAMpF,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,sBAAsB,GACtB,2BAA2B,GAC3B,qBAAqB,GACrB,kBAAkB,CAAA;AAEtB;;;;;;;;GAQG;AACH,MAAM,WAAW,uBAAuB;IACtC,6FAA6F;IAC7F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yIAAyI;IACzI,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0GAA0G;IAC1G,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAA;CACrD"}
1
+ {"version":3,"file":"owned-lock.types.d.ts","sourceRoot":"","sources":["../../../src/config/owned-lock.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,oHAAoH;AACpH,eAAO,MAAM,uBAAuB,OAAQ,CAAA;AAC5C,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,KAAK,CAAA;AACrC,gHAAgH;AAChH,eAAO,MAAM,sBAAsB,MAAM,CAAA;AACzC,6EAA6E;AAC7E,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAC5C,2JAA2J;AAC3J,eAAO,MAAM,uBAAuB,MAAM,CAAA;AAC1C,2GAA2G;AAC3G,eAAO,MAAM,cAAc,OAAQ,CAAA;AAEnC,eAAO,MAAM,0BAA0B,aAQrC,CAAA;AAMF,0GAA0G;AAC1G,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,IAAI,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB;AACD,sHAAsH;AACtH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;CACZ;AACD,8FAA8F;AAC9F,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAA;CACpB;AACD,6CAA6C;AAC7C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAA;CACf;AACD,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,WAAW,GAAG,gBAAgB,GAAG,WAAW,CAAA;AAE1E,mEAAmE;AACnE,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,aAAa,CAAA;AAE/E,oGAAoG;AACpG,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,kBAAkB,CAAA;AAMpF,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,sBAAsB,GACtB,2BAA2B,GAC3B,qBAAqB,GACrB,kBAAkB,CAAA;AAEtB;;;;;;;;GAQG;AACH,MAAM,WAAW,uBAAuB;IACtC,6FAA6F;IAC7F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yIAAyI;IACzI,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0GAA0G;IAC1G,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAA;CACrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"createDatabase.d.ts","sourceRoot":"","sources":["../../../src/db/createDatabase.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAmBxE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG,QAAQ,CAAA;AAEpD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,UAAU,EAAE,CA0BrD;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAiBjD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,MAAmB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,QAAQ,CAgBjG;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,GAAE,MAAmB,EACzB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,QAAQ,CAAC,CAkDnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,2BAAqB,CAAA"}
1
+ {"version":3,"file":"createDatabase.d.ts","sourceRoot":"","sources":["../../../src/db/createDatabase.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAmBxE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG,QAAQ,CAAA;AAEpD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,UAAU,EAAE,CA0BrD;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAiBjD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,MAAmB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,QAAQ,CAejG;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,GAAE,MAAmB,EACzB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,QAAQ,CAAC,CAiDnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,2BAAqB,CAAA"}
@@ -96,7 +96,6 @@ export function createDatabaseSync(path = ':memory:', options) {
96
96
  ' - Node.js version mismatch\n' +
97
97
  ' - Missing native build tools\n\n' +
98
98
  'Solutions:\n' +
99
- ' - Run in Docker: docker compose --profile dev up -d\n' +
100
99
  ' - Rebuild native module: npm rebuild better-sqlite3\n' +
101
100
  ' - Use createDatabaseAsync() for automatic WASM fallback');
102
101
  }
@@ -162,7 +161,6 @@ export async function createDatabaseAsync(path = ':memory:', options) {
162
161
  throw new Error('[Skillsmith] No SQLite driver available.\n\n' +
163
162
  'Neither better-sqlite3 (native) nor sql.js (WASM) could be loaded.\n\n' +
164
163
  'Solutions:\n' +
165
- ' - Run in Docker: docker compose --profile dev up -d\n' +
166
164
  ' - Rebuild native module: npm rebuild better-sqlite3\n' +
167
165
  ' - Install sql.js: npm install sql.js');
168
166
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createDatabase.js","sourceRoot":"","sources":["../../../src/db/createDatabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createDatabase.js","sourceRoot":"","sources":["../../../src/db/createDatabase.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  export { buildAdoptedManifestEntry, adoptUntrackedSkillEntry, } from '../services/skill-installation.uninstall.js';
10
10
  export { SkillInstallationService, type SkillInstallationServiceParams, } from '../services/skill-installation.service.js';
11
11
  export { ManifestManager, assertNotRealUserHome } from '../services/skill-manifest.js';
12
+ export { checkInstallTarget, type CheckInstallTargetParams, type CheckInstallTargetResult, } from '../services/skill-installation.target-guard.js';
12
13
  export { TRUST_TIER_SCANNER_OPTIONS as INSTALL_TRUST_TIER_SCANNER_OPTIONS, type ProgressCallback, type InstallOptions, type InstallResult as CoreInstallResult, type InstallErrorCode, type SkillContent, type InstallFromContentOptions, type UninstallOptions, type UninstallResult as CoreUninstallResult, type SkillManifest, type SkillManifestEntry, type RegistrySkillInfo, type RegistryLookup, type CoInstallRecorder, type DepIntelResult, type OptimizationInfo as CoreOptimizationInfo, type ConflictAction as CoreConflictAction, type AiDefenceFeedback, } from '../services/skill-installation.types.js';
13
14
  export { recordAiDefenceFeedback, collectTrendWarnings, } from '../services/skill-installation.feedback.js';
14
15
  export { parseOwnerFromSource, parseOwnerFromId, detectOwnerMismatch, detectPathUnresolved, classifyManifestEntryIdentity, hasRecordedLocalEdit, classifyDivergentEntry, classifyOutdatedState, type IdentitySignal, type IdentityInconclusiveReason, type OutdatedClassificationState, type IdentityRegistryRecord, type RegistryLookupOutcome, type ManifestEntryForIdentity, type IdentityClassificationResult, type DivergentEntryClassification, } from '../services/skill-identity-classification.js';