odai-dsh-agent 0.2.22 → 0.2.25

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 (84) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +155 -157
  3. package/build/bin/odai-dsh-agent.mjs +27 -38
  4. package/build/bin/odai-dsh-agent.mjs.map +1 -1
  5. package/build/src/control-center-installer.d.mts.map +1 -1
  6. package/build/src/control-center-installer.mjs +90 -50
  7. package/build/src/control-center-installer.mjs.map +1 -1
  8. package/build/src/installer.d.mts +4 -6
  9. package/build/src/installer.d.mts.map +1 -1
  10. package/build/src/installer.mjs +149 -107
  11. package/build/src/installer.mjs.map +1 -1
  12. package/build/src/operation-lock.d.mts +2 -0
  13. package/build/src/operation-lock.d.mts.map +1 -0
  14. package/build/src/operation-lock.mjs +48 -0
  15. package/build/src/operation-lock.mjs.map +1 -0
  16. package/client/client.js +36 -58
  17. package/control-center.cordis.patch.yml +3 -3
  18. package/package.json +90 -90
  19. package/preset/odai/agent.cordis.yml +260 -260
  20. package/preset/odai/preset.yml +3 -3
  21. package/preset/odai/runtime/control-center-runtime.d.mts +1 -0
  22. package/preset/odai/runtime/control-center-runtime.d.mts.map +1 -1
  23. package/preset/odai/runtime/control-center-runtime.mjs +20 -0
  24. package/preset/odai/runtime/control-center-runtime.mjs.map +1 -1
  25. package/preset/odai/runtime/governance.d.mts +2 -0
  26. package/preset/odai/runtime/governance.d.mts.map +1 -1
  27. package/preset/odai/runtime/governance.mjs +15 -4
  28. package/preset/odai/runtime/governance.mjs.map +1 -1
  29. package/preset/odai/runtime/index.mjs +3 -4
  30. package/preset/odai/runtime/index.mjs.map +1 -1
  31. package/preset/odai/runtime/{session-compat.d.mts → legacy-session-repair.d.mts} +7 -7
  32. package/preset/odai/runtime/legacy-session-repair.d.mts.map +1 -0
  33. package/preset/odai/runtime/{session-compat.mjs → legacy-session-repair.mjs} +1 -1
  34. package/preset/odai/runtime/legacy-session-repair.mjs.map +1 -0
  35. package/preset/odai/runtime/model-route.d.mts.map +1 -1
  36. package/preset/odai/runtime/model-route.mjs +21 -14
  37. package/preset/odai/runtime/model-route.mjs.map +1 -1
  38. package/preset/odai/runtime/role-overlays.mjs +8 -8
  39. package/preset/odai/runtime/routing-context.d.mts +1 -1
  40. package/preset/odai/runtime/routing-context.d.mts.map +1 -1
  41. package/preset/odai/runtime/runtime-support.d.mts +0 -1
  42. package/preset/odai/runtime/runtime-support.d.mts.map +1 -1
  43. package/preset/odai/runtime/runtime-support.mjs.map +1 -1
  44. package/preset/odai/runtime/runtime-types.d.mts +1 -3
  45. package/preset/odai/runtime/runtime-types.d.mts.map +1 -1
  46. package/preset/odai/runtime/runtime-types.mjs +1 -5
  47. package/preset/odai/runtime/runtime-types.mjs.map +1 -1
  48. package/preset/odai/runtime/semantic-memory.d.mts.map +1 -1
  49. package/preset/odai/runtime/semantic-memory.mjs +63 -25
  50. package/preset/odai/runtime/semantic-memory.mjs.map +1 -1
  51. package/preset/odai/runtime/session-evidence.d.mts.map +1 -1
  52. package/preset/odai/runtime/session-evidence.mjs +5 -107
  53. package/preset/odai/runtime/session-evidence.mjs.map +1 -1
  54. package/preset/odai/runtime/store-lock.d.mts.map +1 -1
  55. package/preset/odai/runtime/store-lock.mjs +42 -11
  56. package/preset/odai/runtime/store-lock.mjs.map +1 -1
  57. package/preset/odai/skills/odai/SKILL.md +68 -68
  58. package/preset/odai/skills/odai/agents/openai.yaml +4 -4
  59. package/preset/odai/skills/odai/assets/claude-agents/agent.md +11 -11
  60. package/preset/odai/skills/odai/assets/codex-agents/config.toml +11 -11
  61. package/preset/odai/skills/odai/assets/codex-agents/role.toml +5 -5
  62. package/preset/odai/skills/odai/assets/copilot-agents/agent.md +13 -13
  63. package/preset/odai/skills/odai/assets/hooks-policy.example.json +24 -24
  64. package/preset/odai/skills/odai/assets/routing-roles/controller.md +15 -15
  65. package/preset/odai/skills/odai/assets/routing-roles/frontend.md +7 -7
  66. package/preset/odai/skills/odai/assets/routing-roles/planner.md +28 -28
  67. package/preset/odai/skills/odai/assets/routing-roles/researcher.md +6 -6
  68. package/preset/odai/skills/odai/assets/routing-roles/reviewer.md +11 -11
  69. package/preset/odai/skills/odai/assets/task-state.md +14 -14
  70. package/preset/odai/skills/odai/manifest.json +52 -52
  71. package/preset/odai/skills/odai/references/craft.md +54 -54
  72. package/preset/odai/skills/odai/references/dao.md +31 -31
  73. package/preset/odai/skills/odai/references/leverage.md +51 -50
  74. package/preset/odai/skills/odai/references/planning.md +83 -83
  75. package/preset/odai/skills/odai/references/support.md +30 -30
  76. package/preset/odai/skills/odai/references/verification.md +24 -24
  77. package/preset/odai/skills/odai/scripts/build-hooks.mjs +273 -273
  78. package/preset/odai/skills/odai/scripts/build-routing.mjs +315 -315
  79. package/preset/odai/skills/odai/scripts/install-routing.mjs +448 -393
  80. package/preset/odai/skills/odai/scripts/odai-hook.mjs +457 -457
  81. package/preset/odai/skills/odai/scripts/run-role.mjs +285 -285
  82. package/preset/odai/skills/odai/scripts/verify-routing.mjs +103 -103
  83. package/preset/odai/runtime/session-compat.d.mts.map +0 -1
  84. package/preset/odai/runtime/session-compat.mjs.map +0 -1
@@ -1,10 +1,11 @@
1
1
  import { createHash, randomUUID } from "node:crypto";
2
- import { chmod, cp, lstat, mkdir, readFile, readdir, rename, rm, writeFile, } from "node:fs/promises";
2
+ import { chmod, cp, lstat, mkdir, readFile, readdir, realpath, rename, rm, writeFile, } from "node:fs/promises";
3
3
  import { homedir } from "node:os";
4
4
  import { dirname, resolve, sep } from "node:path";
5
5
  import { fileURLToPath, pathToFileURL } from "node:url";
6
- import { satisfies, validRange } from "semver";
6
+ import { satisfies, valid, validRange } from "semver";
7
7
  import { parse as parseYaml } from "yaml";
8
+ import { acquireAgentOperationLock } from "./operation-lock.mjs";
8
9
  function isRecord(value) {
9
10
  return typeof value === "object" && value !== null && !Array.isArray(value);
10
11
  }
@@ -39,15 +40,14 @@ const packageMetadata = {
39
40
  version: parsedPackageMetadata.version,
40
41
  peerDependencies,
41
42
  };
42
- const EXPECTED_DSH_RANGE = "0.1.1-rc.2 || >=0.1.2-alpha.5 <0.1.2";
43
+ const EXPECTED_DSH_RANGE = "0.1.2-rc.1";
43
44
  const SOURCE_DSH_VERSION = "0.1.2-rc.1";
44
- const LEGACY_DSH_VERSION = "0.1.1-rc.2";
45
45
  const peerRange = packageMetadata.peerDependencies["@deepseek-ai/dsh"];
46
46
  if (!peerRange || peerRange !== EXPECTED_DSH_RANGE || validRange(peerRange) === null) {
47
47
  throw new Error(`odai-dsh-agent peer dependency must equal ${EXPECTED_DSH_RANGE}`);
48
48
  }
49
49
  export const SUPPORTED_DSH_RANGE = peerRange;
50
- export const SUPPORTED_DSH_VERSIONS = Object.freeze([LEGACY_DSH_VERSION, SOURCE_DSH_VERSION]);
50
+ export const SUPPORTED_DSH_VERSIONS = Object.freeze([SOURCE_DSH_VERSION]);
51
51
  if (SUPPORTED_DSH_VERSIONS.some((version) => !satisfies(version, SUPPORTED_DSH_RANGE))) {
52
52
  throw new Error(`Odai Agent tested DSH versions must satisfy ${SUPPORTED_DSH_RANGE}`);
53
53
  }
@@ -59,7 +59,6 @@ const requiredFiles = Object.freeze([
59
59
  "agent.cordis.yml",
60
60
  "preset.yml",
61
61
  "runtime/index.mjs",
62
- "runtime/session-compat.mjs",
63
62
  "runtime/session-evidence.mjs",
64
63
  "runtime/skill-bundle.mjs",
65
64
  "runtime/skill-evolution.mjs",
@@ -69,11 +68,6 @@ const requiredFiles = Object.freeze([
69
68
  "skills/odai/SKILL.md",
70
69
  "skills/odai/manifest.json",
71
70
  ]);
72
- function replaceRequired(value, oldString, newString, label) {
73
- if (!value.includes(oldString))
74
- throw new Error(`agent source composition is missing ${label}`);
75
- return value.replace(oldString, newString);
76
- }
77
71
  export function renderAgentCompositionForDsh(composition, dshVersion = SUPPORTED_DSH_VERSION) {
78
72
  if (typeof composition !== "string" || composition.trim() === "") {
79
73
  throw new TypeError("agent composition must be a non-empty string");
@@ -81,41 +75,7 @@ export function renderAgentCompositionForDsh(composition, dshVersion = SUPPORTED
81
75
  if (!supportsDshVersion(dshVersion)) {
82
76
  throw new Error(`unsupported DSH version ${dshVersion || "<empty>"}; expected ${SUPPORTED_DSH_RANGE}`);
83
77
  }
84
- let rendered = composition.replace(/\r\n/gu, "\n");
85
- if (dshVersion !== LEGACY_DSH_VERSION)
86
- return rendered;
87
- rendered = replaceRequired(rendered, [
88
- "# The goal service and session driver stay on the host plane, where the Gateway",
89
- "# can resolve them. The human command and model-facing tool register into this",
90
- "# preset's scoped layers.",
91
- "- id: command-goal",
92
- " name: '@deepseek-ai/dsh-command-goal'",
93
- ].join("\n") + "\n\n", [
94
- "# Only the model-facing tool. The goal SERVICE, its session driver, and the",
95
- "# `/goal` command stay on the host plane: the Gateway serves the goal domain as",
96
- "# Remote endpoints whose receiver comes from a generated descriptor, so it",
97
- "# resolves `goals` on the host and an entry-local realm here would hide it. The",
98
- "# registry is keyed by session anyway, so one host instance serves every",
99
- "# session. What a preset chooses is whether its agent can call the goal tool.",
100
- ].join("\n") + "\n", "rc.1 goal command block");
101
- rendered = replaceRequired(rendered, "- id: delegation\n", [
102
- "#",
103
- "# `tool-subagent-report` is host-plane for the same reason as the registry,",
104
- "# not because a preset may not want it: it registers a CONTINUABLE SETUP on",
105
- "# that singleton rather than a tool this agent calls, and the setup list is",
106
- "# not scope-aware — one copy per mounted preset means every child gets",
107
- "# `report` registered once per live session, which throws on the second.",
108
- "- id: delegation",
109
- ].join("\n") + "\n", "rc.1 send_message host guidance");
110
- rendered = replaceRequired(rendered, " modelSelectionSettings: true\n", "", "rc.1 spawn model selection setting");
111
- rendered = replaceRequired(rendered, [
112
- " # Fork omits model selection so provider/model stay equal to the parent and",
113
- " # the inherited history remains eligible for KV Cache reuse. This preset",
114
- " # keeps fork continuable; parent and child inherit the same messaging tool,",
115
- " # while the parent id and return guidance follow the inherited history.",
116
- ].join("\n") + "\n", "", "rc.1 fork messaging guidance");
117
- rendered = replaceRequired(rendered, " fetch: true\n", " fetch: false\n", "rc.1 web fetch setting");
118
- return rendered;
78
+ return composition.replace(/\r\n/gu, "\n");
119
79
  }
120
80
  export function resolveDshHome(configured, env = process.env) {
121
81
  const value = configured ?? env.DSH_HOME ?? resolve(homedir(), ".dsh");
@@ -129,16 +89,76 @@ export function resolveDshHome(configured, env = process.env) {
129
89
  return resolve(homedir(), trimmed.slice(2));
130
90
  return resolve(trimmed);
131
91
  }
92
+ export async function resolveManagedDshHome(configured, create) {
93
+ const requested = resolveDshHome(configured);
94
+ const state = await pathState(requested);
95
+ if (state === "missing") {
96
+ if (!create)
97
+ return requested;
98
+ await mkdir(requested, { recursive: true, mode: 0o700 });
99
+ }
100
+ else if (state !== "directory" && state !== "symlink") {
101
+ throw new Error(`DSH home is not a directory: ${requested}`);
102
+ }
103
+ const canonical = await realpath(requested);
104
+ if (await pathState(canonical) !== "directory")
105
+ throw new Error(`DSH home is not a regular directory: ${canonical}`);
106
+ return canonical;
107
+ }
108
+ export async function assertNoSymlinkDescendants(root, relativePath) {
109
+ if (relativePath.split(/[\\/]/u).some((segment) => segment === "..")) {
110
+ throw new Error(`managed DSH path escapes its root: ${relativePath}`);
111
+ }
112
+ const rootState = await pathState(root);
113
+ if (rootState === "missing")
114
+ return;
115
+ if (rootState !== "directory")
116
+ throw new Error(`managed DSH root is not a regular directory: ${root}`);
117
+ let current = root;
118
+ const segments = relativePath.split(/[\\/]/u).filter(Boolean);
119
+ for (let index = 0; index < segments.length; index += 1) {
120
+ current = resolve(current, segments[index]);
121
+ const state = await pathState(current);
122
+ if (state === "missing")
123
+ return;
124
+ if (state === "symlink")
125
+ throw new Error(`symbolic link is not allowed in managed DSH path: ${current}`);
126
+ if (index < segments.length - 1 && state !== "directory") {
127
+ throw new Error(`managed DSH parent is not a directory: ${current}`);
128
+ }
129
+ }
130
+ }
131
+ async function acquirePresetOperation(dshHome, presetId) {
132
+ await assertNoSymlinkDescendants(dshHome, "odai/locks");
133
+ const lockRoot = resolve(dshHome, "odai", "locks");
134
+ await mkdir(lockRoot, { recursive: true, mode: 0o700 });
135
+ await assertNoSymlinkDescendants(dshHome, "odai/locks");
136
+ return acquireAgentOperationLock(resolve(lockRoot, `agent-preset-${presetId}.lock`), `Agent preset ${presetId} operation`);
137
+ }
132
138
  export async function inspectAgentInstallation(options = {}) {
133
139
  const presetId = assertPresetId(options.presetId ?? DEFAULT_PRESET_ID);
134
- const dshHome = resolveDshHome(options.dshHome);
140
+ const dshHome = await resolveManagedDshHome(options.dshHome, false);
141
+ await assertNoSymlinkDescendants(dshHome, ".agent-presets");
135
142
  const target = resolve(dshHome, ".agent-presets", presetId);
136
143
  const state = await inspectTarget(target, presetId);
137
144
  return Object.freeze({ dshHome, presetId, target, ...state });
138
145
  }
139
146
  export async function installAgentPreset(options = {}) {
140
147
  const presetId = assertPresetId(options.presetId ?? DEFAULT_PRESET_ID);
141
- const dshHome = resolveDshHome(options.dshHome);
148
+ const dshHome = await resolveManagedDshHome(options.dshHome, true);
149
+ await assertNoSymlinkDescendants(dshHome, ".agent-presets");
150
+ const targetRoot = resolve(dshHome, ".agent-presets");
151
+ await mkdir(targetRoot, { recursive: true, mode: 0o700 });
152
+ await assertNoSymlinkDescendants(dshHome, ".agent-presets");
153
+ const releaseOperation = await acquirePresetOperation(dshHome, presetId);
154
+ try {
155
+ return await installAgentPresetUnderLock(options, presetId, dshHome);
156
+ }
157
+ finally {
158
+ releaseOperation();
159
+ }
160
+ }
161
+ async function installAgentPresetUnderLock(options, presetId, dshHome) {
142
162
  const sourceRoot = resolve(options.sourceRoot ?? defaultSourceRoot);
143
163
  const dshVersion = options.dshVersion ?? SUPPORTED_DSH_VERSION;
144
164
  if (!supportsDshVersion(dshVersion)) {
@@ -154,11 +174,10 @@ export async function installAgentPreset(options = {}) {
154
174
  throw new Error(`refusing to replace modified preset at ${target}: ${current.issues.join("; ")}`);
155
175
  }
156
176
  await assertSource(sourceRoot);
157
- const sessionCompatibility = await repairSessionCompatibility(dshHome, [sourceRoot], options.confirmDshStopped === true, options.processScanner);
158
177
  await mkdir(targetRoot, { recursive: true, mode: 0o700 });
159
178
  const staging = resolve(targetRoot, `.${presetId}.tmp-${process.pid}-${randomUUID()}`);
160
179
  const backup = resolve(targetRoot, `.${presetId}.backup-${process.pid}-${randomUUID()}`);
161
- let backupCreated = false;
180
+ let backupState = "none";
162
181
  try {
163
182
  await cp(sourceRoot, staging, { recursive: true, errorOnExist: true });
164
183
  await tightenTree(staging);
@@ -184,12 +203,22 @@ export async function installAgentPreset(options = {}) {
184
203
  await chmod(manifestPath, 0o600);
185
204
  if (current.status === "installed") {
186
205
  await rename(target, backup);
187
- backupCreated = true;
206
+ backupState = "unverified";
207
+ const claimed = await inspectTarget(backup, presetId);
208
+ if (claimed.status !== "installed" || claimed.revision !== current.revision) {
209
+ throw new Error(`preset changed before replacement; unverified target preserved at ${backup}`);
210
+ }
211
+ backupState = "confirmed";
212
+ }
213
+ else {
214
+ const latest = await inspectTarget(target, presetId);
215
+ if (latest.status !== "absent")
216
+ throw new Error(`preset target appeared during installation; refusing to replace ${target}`);
188
217
  }
189
218
  await rename(staging, target);
190
- if (backupCreated) {
219
+ if (backupState === "confirmed") {
191
220
  await rm(backup, { recursive: true, force: true });
192
- backupCreated = false;
221
+ backupState = "none";
193
222
  }
194
223
  return Object.freeze({
195
224
  operation: current.status === "installed" ? "updated" : "installed",
@@ -200,20 +229,33 @@ export async function installAgentPreset(options = {}) {
200
229
  dshVersion,
201
230
  trust: "user",
202
231
  security: "DSH user presets have the same privileges as shell access; install only reviewed preset code.",
203
- sessionCompatibility,
204
232
  });
205
233
  }
206
234
  catch (error) {
207
- await rm(staging, { recursive: true, force: true });
208
- if (backupCreated) {
235
+ if (backupState === "unverified") {
236
+ throw new Error(`agent preset update stopped before ownership was confirmed; moved target preserved at ${backup}: ${errorMessage(error)}`, { cause: error });
237
+ }
238
+ if (backupState === "confirmed") {
209
239
  const targetState = await pathState(target);
210
- if (targetState === "missing")
211
- await rename(backup, target);
240
+ if (targetState === "missing") {
241
+ try {
242
+ await rename(backup, target);
243
+ backupState = "none";
244
+ }
245
+ catch (restoreError) {
246
+ throw new AggregateError([error, restoreError], `agent preset update failed and the previous preset could not be restored; backup preserved at ${backup}`);
247
+ }
248
+ }
249
+ else {
250
+ throw new Error(`agent preset update failed after replacing the target; previous preset backup preserved at ${backup}: ${errorMessage(error)}`, { cause: error });
251
+ }
212
252
  }
213
253
  throw error;
214
254
  }
215
255
  finally {
216
- await rm(backup, { recursive: true, force: true });
256
+ await rm(staging, { recursive: true, force: true });
257
+ if (backupState === "none")
258
+ await rm(backup, { recursive: true, force: true });
217
259
  }
218
260
  }
219
261
  export async function uninstallAgentPreset(options = {}) {
@@ -221,21 +263,38 @@ export async function uninstallAgentPreset(options = {}) {
221
263
  if (inspected.status === "absent") {
222
264
  return Object.freeze({ operation: "absent", target: inspected.target, presetId: inspected.presetId });
223
265
  }
224
- if (inspected.status === "drifted") {
225
- throw new Error(`refusing to remove modified preset at ${inspected.target}: ${inspected.issues.join("; ")}`);
226
- }
227
- await assertPresetIsNotDefault(inspected.dshHome, inspected.presetId);
228
- const sessionCompatibility = await repairSessionCompatibility(inspected.dshHome, [defaultSourceRoot, inspected.target], options.confirmDshStopped === true, options.processScanner);
229
- if (sessionCompatibility.failures.length > 0) {
230
- throw new Error(`refusing to uninstall before legacy Odai session evidence is made ignorable: ${sessionCompatibility.failures.map((failure) => `${failure.path}: ${failure.error}`).join("; ")}`);
231
- }
232
- await rm(inspected.target, { recursive: true, force: true });
233
- return Object.freeze({
234
- operation: "uninstalled",
235
- target: inspected.target,
236
- presetId: inspected.presetId,
237
- sessionCompatibility,
238
- });
266
+ const releaseOperation = await acquirePresetOperation(inspected.dshHome, inspected.presetId);
267
+ try {
268
+ await assertNoSymlinkDescendants(inspected.dshHome, ".agent-presets");
269
+ const current = await inspectTarget(inspected.target, inspected.presetId);
270
+ if (current.status === "drifted") {
271
+ throw new Error(`refusing to remove modified preset at ${inspected.target}: ${current.issues.join("; ")}`);
272
+ }
273
+ if (current.status === "absent") {
274
+ return Object.freeze({ operation: "absent", target: inspected.target, presetId: inspected.presetId });
275
+ }
276
+ await assertPresetIsNotDefault(inspected.dshHome, inspected.presetId);
277
+ const quarantine = resolve(dirname(inspected.target), `.${inspected.presetId}.uninstall-${process.pid}-${randomUUID()}`);
278
+ await rename(inspected.target, quarantine);
279
+ const claimed = await inspectTarget(quarantine, inspected.presetId);
280
+ if (claimed.status !== "installed" || claimed.revision !== current.revision) {
281
+ throw new Error(`preset changed before uninstall ownership was confirmed; moved target preserved at ${quarantine}`);
282
+ }
283
+ try {
284
+ await rm(quarantine, { recursive: true });
285
+ }
286
+ catch (error) {
287
+ throw new Error(`confirmed preset could not be removed completely; remaining quarantine retained at ${quarantine}: ${errorMessage(error)}`, { cause: error });
288
+ }
289
+ return Object.freeze({
290
+ operation: "uninstalled",
291
+ target: inspected.target,
292
+ presetId: inspected.presetId,
293
+ });
294
+ }
295
+ finally {
296
+ releaseOperation();
297
+ }
239
298
  }
240
299
  async function assertPresetIsNotDefault(dshHome, presetId) {
241
300
  const settingsPath = resolve(dshHome, "settings.yaml");
@@ -267,8 +326,10 @@ async function inspectTarget(target, presetId) {
267
326
  if (state !== "directory")
268
327
  return { status: "drifted", issues: ["target is not a regular directory"] };
269
328
  let manifest;
329
+ let manifestSource;
270
330
  try {
271
- manifest = JSON.parse(await readFile(resolve(target, MANIFEST_FILE), "utf8"));
331
+ manifestSource = await readFile(resolve(target, MANIFEST_FILE));
332
+ manifest = JSON.parse(manifestSource.toString("utf8"));
272
333
  }
273
334
  catch (error) {
274
335
  return { status: "drifted", issues: [`managed manifest is unavailable: ${errorMessage(error)}`] };
@@ -299,6 +360,7 @@ async function inspectTarget(target, presetId) {
299
360
  issues,
300
361
  version: isRecord(manifest) && typeof manifest.version === "string" ? manifest.version : undefined,
301
362
  dshVersion: isRecord(manifest) && typeof manifest.dshVersion === "string" ? manifest.dshVersion : undefined,
363
+ revision: issues.length === 0 ? createHash("sha256").update(manifestSource).digest("hex") : undefined,
302
364
  };
303
365
  }
304
366
  function isManagedManifest(manifest) {
@@ -314,46 +376,24 @@ function validateManifest(manifest, presetId) {
314
376
  issues.push("unsupported managed manifest schema");
315
377
  if (!isRecord(manifest) || manifest.package !== packageMetadata.name)
316
378
  issues.push("managed manifest package mismatch");
379
+ if (!isRecord(manifest) || typeof manifest.version !== "string" || valid(manifest.version) === null) {
380
+ issues.push("managed manifest version is invalid");
381
+ }
382
+ if (!isRecord(manifest) || typeof manifest.dshVersion !== "string" || valid(manifest.dshVersion) === null) {
383
+ issues.push("managed manifest DSH version is invalid");
384
+ }
317
385
  if (!isRecord(manifest) || manifest.presetId !== presetId)
318
386
  issues.push("managed manifest preset id mismatch");
319
387
  if (!isRecord(manifest) || !isRecord(manifest.files)
320
- || !Object.values(manifest.files).every((value) => typeof value === "string")) {
388
+ || !Object.values(manifest.files).every((value) => typeof value === "string" && /^[a-f0-9]{64}$/u.test(value))) {
321
389
  issues.push("managed manifest file map is invalid");
322
390
  }
323
391
  return issues;
324
392
  }
325
- async function repairSessionCompatibility(dshHome, sourceRoots, confirmDshStopped, processScanner) {
326
- for (const sourceRoot of sourceRoots) {
327
- const modulePath = resolve(sourceRoot, "runtime/session-compat.mjs");
328
- if (await pathState(modulePath) !== "file")
329
- continue;
330
- const compatibility = await import(pathToFileURL(modulePath).href);
331
- if (typeof compatibility.inspectLegacySessionLogs !== "function"
332
- || typeof compatibility.repairLegacySessionLogs !== "function") {
333
- throw new Error(`agent package session compatibility module is invalid: ${modulePath}`);
334
- }
335
- const inspected = compatibility.inspectLegacySessionLogs({ dshHome });
336
- if (inspected.failures.length > 0) {
337
- throw new Error(`cannot inspect legacy Odai session evidence safely: ${inspected.failures.map((failure) => `${failure.path}: ${failure.error}`).join("; ")}`);
338
- }
339
- if (inspected.matchedEvents === 0)
340
- return inspected;
341
- if (!confirmDshStopped) {
342
- throw new Error(`found ${inspected.matchedEvents} legacy Odai session event(s); stop every DSH process and rerun with --yes before changing the Agent preset`);
343
- }
344
- const repaired = compatibility.repairLegacySessionLogs({
345
- dshHome,
346
- confirmDshStopped: true,
347
- processScanner,
348
- });
349
- if (repaired.failures.length > 0) {
350
- throw new Error(`cannot repair legacy Odai session evidence safely: ${repaired.failures.map((failure) => `${failure.path}: ${failure.error}`).join("; ")}`);
351
- }
352
- return repaired;
353
- }
354
- throw new Error("agent package is incomplete: missing runtime/session-compat.mjs");
355
- }
356
393
  async function assertSource(sourceRoot) {
394
+ if (await pathState(sourceRoot) !== "directory") {
395
+ throw new Error(`agent package source must be a regular directory and not a symbolic link: ${sourceRoot}`);
396
+ }
357
397
  for (const path of requiredFiles) {
358
398
  const state = await pathState(resolve(sourceRoot, path));
359
399
  if (state !== "file")
@@ -361,6 +401,8 @@ async function assertSource(sourceRoot) {
361
401
  }
362
402
  }
363
403
  async function tightenTree(root) {
404
+ if (await pathState(root) !== "directory")
405
+ throw new Error(`managed preset root is not a regular directory: ${root}`);
364
406
  await chmod(root, 0o700);
365
407
  const entries = await readdir(root, { withFileTypes: true });
366
408
  for (const entry of entries) {
@@ -1 +1 @@
1
- {"version":3,"file":"installer.mjs","sourceRoot":"","sources":["../../src/installer.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,KAAK,EACL,EAAE,EACF,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,EACN,EAAE,EACF,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAwC1C,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACpF,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEhD,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAChE,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAEhH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,GAAY,EAAE,SAAS,GAAY,EAAE;IAC/D,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,6CAA6C,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1G,MAAM,IAAI,GAAY,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAC9D,MAAM,qBAAqB,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAChH,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,OAAO,qBAAqB,CAAC,IAAI,KAAK,QAAQ;OACjF,OAAO,qBAAqB,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC5G,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;AAChE,CAAC;AACD,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CACzC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAClI,CAAC;AACF,MAAM,eAAe,GAAoB;IACvC,IAAI,EAAE,qBAAqB,CAAC,IAAI;IAChC,OAAO,EAAE,qBAAqB,CAAC,OAAO;IACtC,gBAAgB;CACjB,CAAC;AACF,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AAClE,MAAM,kBAAkB,GAAG,YAAY,CAAC;AACxC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AACxC,MAAM,SAAS,GAAG,eAAe,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;AACvE,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,kBAAkB,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;IACrF,MAAM,IAAI,KAAK,CAAC,6CAA6C,kBAAkB,EAAE,CAAC,CAAC;AACrF,CAAC;AACD,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAC9F,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;IACvF,MAAM,IAAI,KAAK,CAAC,+CAA+C,mBAAmB,EAAE,CAAC,CAAC;AACxF,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;AACjD,CAAC;AACD,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AACxD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,kBAAkB;IAClB,YAAY;IACZ,mBAAmB;IACnB,4BAA4B;IAC5B,8BAA8B;IAC9B,0BAA0B;IAC1B,6BAA6B;IAC7B,mCAAmC;IACnC,4BAA4B;IAC5B,iCAAiC;IACjC,sBAAsB;IACtB,2BAA2B;CAC5B,CAAC,CAAC;AAEH,SAAS,eAAe,CAAC,KAAa,EAAE,SAAiB,EAAE,SAAiB,EAAE,KAAa;IACzF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;IAChG,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,WAAmB,EAAE,UAAU,GAAG,qBAAqB;IAClG,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjE,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,IAAI,SAAS,cAAc,mBAAmB,EAAE,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,UAAU,KAAK,kBAAkB;QAAE,OAAO,QAAQ,CAAC;IAEvD,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE;QACnC,iFAAiF;QACjF,gFAAgF;QAChF,2BAA2B;QAC3B,oBAAoB;QACpB,yCAAyC;KAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE;QACrB,6EAA6E;QAC7E,iFAAiF;QACjF,4EAA4E;QAC5E,iFAAiF;QACjF,0EAA0E;QAC1E,+EAA+E;KAChF,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,yBAAyB,CAAC,CAAC;IAChD,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,oBAAoB,EAAE;QACzD,GAAG;QACH,6EAA6E;QAC7E,6EAA6E;QAC7E,6EAA6E;QAC7E,wEAAwE;QACxE,0EAA0E;QAC1E,kBAAkB;KACnB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,iCAAiC,CAAC,CAAC;IACxD,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,wCAAwC,EAAE,EAAE,EAAE,oCAAoC,CAAC,CAAC;IACzH,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE;QACnC,iFAAiF;QACjF,8EAA8E;QAC9E,iFAAiF;QACjF,6EAA6E;KAC9E,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,8BAA8B,CAAC,CAAC;IACzD,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,wBAAwB,CAAC,CAAC;IAC1G,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAAmB,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG;IACtF,MAAM,KAAK,GAAG,UAAU,IAAI,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IACvE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,OAAO,EAAE,CAAC;IACtC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAAO,GAA0B,EAAE;IAChF,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAO,GAA0B,EAAE;IAC1E,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,qBAAqB,CAAC;IAC/D,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,IAAI,SAAS,cAAc,mBAAmB,EAAE,CAAC,CAAC;IACzG,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,uBAAuB,GAAG,OAAO,CAAC,MAAM,KAAK,WAAW;QAC5D,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IAC/B,MAAM,oBAAoB,GAAG,MAAM,0BAA0B,CAC3D,OAAO,EACP,CAAC,UAAU,CAAC,EACZ,OAAO,CAAC,iBAAiB,KAAK,IAAI,EAClC,OAAO,CAAC,cAAc,CACvB,CAAC;IACF,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,QAAQ,QAAQ,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,EAAE,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,QAAQ,WAAW,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,EAAE,CAAC,CAAC;IACzF,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3B,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,4BAA4B,CAAC,MAAM,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;QACtG,IAAI,kBAAkB,GAAG,GAAG,WAAW,CAAC,OAAO,EAAE,iCAAiC,eAAe,CAAC,OAAO,IAAI,UAAU,EAAE,IAAI,CAAC;QAC9H,oHAAoH;QACpH,IAAI,uBAAuB,KAAK,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACtE,kBAAkB,IAAI,yCAAyC,CAAC;QAClE,CAAC;QACD,MAAM,SAAS,CAAC,eAAe,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,eAAe,CAAC,IAAI;YAC7B,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,UAAU;YACV,QAAQ;YACR,KAAK;SACN,CAAC;QACF,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACrD,MAAM,SAAS,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChF,MAAM,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAEjC,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACnC,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC7B,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,MAAM,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9B,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,aAAa,GAAG,KAAK,CAAC;QACxB,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,SAAS,EAAE,OAAO,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;YACnE,OAAO;YACP,QAAQ;YACR,MAAM;YACN,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,UAAU;YACV,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,+FAA+F;YACzG,oBAAoB;SACrB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,WAAW,KAAK,SAAS;gBAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAO,GAA0B,EAAE;IAC5E,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/G,CAAC;IACD,MAAM,wBAAwB,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtE,MAAM,oBAAoB,GAAG,MAAM,0BAA0B,CAC3D,SAAS,CAAC,OAAO,EACjB,CAAC,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,EACrC,OAAO,CAAC,iBAAiB,KAAK,IAAI,EAClC,OAAO,CAAC,cAAc,CACvB,CAAC;IACF,IAAI,oBAAoB,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,gFAAgF,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpM,CAAC;IACD,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,oBAAoB;KACrB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,OAAe,EAAE,QAAgB;IACvE,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACvD,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,QAAQ;YAAE,OAAO;QAC1C,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,QAAiB,CAAC;IACtB,IAAI,CAAC;QACH,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,6CAA6C,YAAY,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,4CAA4C,QAAQ,8CAA8C,CAAC,CAAC;IACtH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,QAAgB;IAC3D,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACjE,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,mCAAmC,CAAC,EAAE,CAAC;IAEvG,IAAI,QAAiB,CAAC;IACtB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAChF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,oCAAoC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACpG,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACpD,IAAI,WAAW,GAA2B,EAAE,CAAC;IAC7C,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;iBACnE,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QACrD,MAAM;QACN,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAClG,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;KAC5G,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAiB;IAC1C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,aAAa,KAAK,CAAC,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;WAC1F,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;WAC/E,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAiB,EAAE,QAAgB;IAC3D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,aAAa,KAAK,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAC5G,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,KAAK,eAAe,CAAC,IAAI;QAAE,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACvH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ;QAAE,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAC9G,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;WAC/C,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;QAChF,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,OAAe,EACf,WAA8B,EAC9B,iBAA0B,EAC1B,cAAuD;IAEvD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAC;QACrE,IAAI,MAAM,SAAS,CAAC,UAAU,CAAC,KAAK,MAAM;YAAE,SAAS;QACrD,MAAM,aAAa,GAGf,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,OAAO,aAAa,CAAC,wBAAwB,KAAK,UAAU;eAC3D,OAAO,aAAa,CAAC,uBAAuB,KAAK,UAAU,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,0DAA0D,UAAU,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,SAAS,GAAG,aAAa,CAAC,wBAAwB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACtE,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,uDAAuD,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChK,CAAC;QACD,IAAI,SAAS,CAAC,aAAa,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACpD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,SAAS,SAAS,CAAC,aAAa,6GAA6G,CAAC,CAAC;QACjK,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,CAAC,uBAAuB,CAAC;YACrD,OAAO;YACP,iBAAiB,EAAE,IAAI;YACvB,cAAc;SACf,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,sDAAsD,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9J,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;AACrF,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,UAAkB;IAC5C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QACzD,IAAI,KAAK,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAY;IACrC,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,cAAc,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7G,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;aAC5C,IAAI,KAAK,CAAC,MAAM,EAAE;YAAE,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;YAC7C,MAAM,IAAI,KAAK,CAAC,mDAAmD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,IAAY,EACZ,OAAO,GAAsC,EAAE;IAE/C,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrB,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtG,KAAK,UAAU,IAAI,CAAC,IAAY,EAAE,MAAc;QAC9C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YACrE,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC;gBAAE,SAAS;YACjD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,KAAK,CAAC,cAAc,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,YAAY,EAAE,CAAC,CAAC;YAC/G,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAE,MAAM,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;iBAC3D,IAAI,KAAK,CAAC,MAAM,EAAE;gBAAE,KAAK,CAAC,YAAY,CAAC,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;;gBACvE,MAAM,IAAI,KAAK,CAAC,mDAAmD,YAAY,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAY;IAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzE,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAY;IACnC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,cAAc,EAAE;YAAE,OAAO,SAAS,CAAC;QAC7C,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,OAAO,WAAW,CAAC;QAC5C,IAAI,KAAK,CAAC,MAAM,EAAE;YAAE,OAAO,MAAM,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACpD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,SAAS,CAAC,4EAA4E,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"installer.mjs","sourceRoot":"","sources":["../../src/installer.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function acquireAgentOperationLock(path: string, label: string): () => void;
2
+ //# sourceMappingURL=operation-lock.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-lock.d.mts","sourceRoot":"","sources":["../../src/operation-lock.mts"],"names":[],"mappings":"AAUA,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,IAAI,CAkCjF"}
@@ -0,0 +1,48 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { closeSync, fsyncSync, mkdirSync, openSync, readFileSync, rmSync, writeSync } from "node:fs";
3
+ import { dirname } from "node:path";
4
+ function errorCode(error) {
5
+ return error !== null && typeof error === "object" && "code" in error && typeof error.code === "string"
6
+ ? error.code
7
+ : undefined;
8
+ }
9
+ export function acquireAgentOperationLock(path, label) {
10
+ mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
11
+ const owner = `${process.pid}:${randomUUID()}`;
12
+ let handle;
13
+ try {
14
+ handle = openSync(path, "wx", 0o600);
15
+ }
16
+ catch (error) {
17
+ if (errorCode(error) === "EEXIST") {
18
+ throw new Error(`${label} is already in progress; lock retained at ${path}`);
19
+ }
20
+ throw error;
21
+ }
22
+ try {
23
+ const content = Buffer.from(`${owner}\n`, "utf8");
24
+ if (writeSync(handle, content, 0, content.length) !== content.length) {
25
+ throw new Error(`short write while acquiring ${label} lock: ${path}`);
26
+ }
27
+ fsyncSync(handle);
28
+ }
29
+ catch (error) {
30
+ closeSync(handle);
31
+ rmSync(path, { force: true });
32
+ throw error;
33
+ }
34
+ return () => {
35
+ closeSync(handle);
36
+ let current;
37
+ try {
38
+ current = readFileSync(path, "utf8").trim();
39
+ }
40
+ catch (error) {
41
+ throw new Error(`${label} lock disappeared before release: ${path}`, { cause: error });
42
+ }
43
+ if (current !== owner)
44
+ throw new Error(`${label} lock ownership changed before release: ${path}`);
45
+ rmSync(path);
46
+ };
47
+ }
48
+ //# sourceMappingURL=operation-lock.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-lock.mjs","sourceRoot":"","sources":["../../src/operation-lock.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACrG,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QACrG,CAAC,CAAC,KAAK,CAAC,IAAI;QACZ,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAY,EAAE,KAAa;IACnE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,EAAE,CAAC;IAC/C,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6CAA6C,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,UAAU,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,SAAS,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9B,MAAM,KAAK,CAAC;IACd,CAAC;IACD,OAAO,GAAG,EAAE;QACV,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qCAAqC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,OAAO,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,2CAA2C,IAAI,EAAE,CAAC,CAAC;QAClG,MAAM,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC;AACJ,CAAC"}