@polderlabs/bizar-omp 0.6.7 → 0.7.0

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 (77) hide show
  1. package/README.md +8 -8
  2. package/dist/cli/doctor.d.ts +4 -4
  3. package/dist/cli/update-ink.d.ts +2 -1
  4. package/dist/cli/update-ink.d.ts.map +1 -1
  5. package/dist/core/acceptance.d.ts.map +1 -1
  6. package/dist/core/acceptance.js +17 -3
  7. package/dist/core/acceptance.js.map +1 -1
  8. package/dist/core/recovery.d.ts.map +1 -1
  9. package/dist/core/recovery.js +52 -3
  10. package/dist/core/recovery.js.map +1 -1
  11. package/dist/core/redaction.d.ts +22 -0
  12. package/dist/core/redaction.d.ts.map +1 -0
  13. package/dist/core/redaction.js +103 -0
  14. package/dist/core/redaction.js.map +1 -0
  15. package/dist/core/transitions.d.ts +3 -2
  16. package/dist/core/transitions.d.ts.map +1 -1
  17. package/dist/core/transitions.js +34 -8
  18. package/dist/core/transitions.js.map +1 -1
  19. package/dist/core/types.d.ts +33 -1
  20. package/dist/core/types.d.ts.map +1 -1
  21. package/dist/extension.d.ts +14 -3
  22. package/dist/extension.d.ts.map +1 -1
  23. package/dist/extension.js +92 -36
  24. package/dist/extension.js.map +1 -1
  25. package/dist/omp/compatibility.d.ts +5 -5
  26. package/dist/omp/compatibility.d.ts.map +1 -1
  27. package/dist/omp/compatibility.js +2 -2
  28. package/dist/omp/compatibility.js.map +1 -1
  29. package/dist/omp/dispatch-admission.d.ts +4 -1
  30. package/dist/omp/dispatch-admission.d.ts.map +1 -1
  31. package/dist/omp/dispatch-admission.js +2 -2
  32. package/dist/omp/dispatch-admission.js.map +1 -1
  33. package/dist/omp/result-reconciliation.js +1 -1
  34. package/dist/omp/result-reconciliation.js.map +1 -1
  35. package/dist/omp/rpc.d.ts +4 -1
  36. package/dist/omp/rpc.d.ts.map +1 -1
  37. package/dist/services/candidate-verify.d.ts +34 -0
  38. package/dist/services/candidate-verify.d.ts.map +1 -0
  39. package/dist/services/candidate-verify.js +141 -0
  40. package/dist/services/candidate-verify.js.map +1 -0
  41. package/dist/storage/journal.d.ts.map +1 -1
  42. package/dist/storage/journal.js +6 -21
  43. package/dist/storage/journal.js.map +1 -1
  44. package/dist/storage/lease.d.ts +16 -0
  45. package/dist/storage/lease.d.ts.map +1 -0
  46. package/dist/storage/lease.js +236 -0
  47. package/dist/storage/lease.js.map +1 -0
  48. package/dist/storage/repository-identity.d.ts.map +1 -1
  49. package/dist/storage/repository-identity.js +1 -0
  50. package/dist/storage/repository-identity.js.map +1 -1
  51. package/dist/storage/resources.d.ts.map +1 -1
  52. package/dist/storage/resources.js +49 -22
  53. package/dist/storage/resources.js.map +1 -1
  54. package/dist/tools/integrate.d.ts.map +1 -1
  55. package/dist/tools/integrate.js +66 -23
  56. package/dist/tools/integrate.js.map +1 -1
  57. package/dist/tools/verify.d.ts.map +1 -1
  58. package/dist/tools/verify.js +43 -32
  59. package/dist/tools/verify.js.map +1 -1
  60. package/dist/tools/workflow.d.ts +12 -2
  61. package/dist/tools/workflow.d.ts.map +1 -1
  62. package/dist/tools/workflow.js +54 -7
  63. package/dist/tools/workflow.js.map +1 -1
  64. package/docs/compatibility/baseline.json +9 -8
  65. package/docs/compatibility/supported-surfaces.json +2 -1
  66. package/docs/releases/0.6.8.md +11 -0
  67. package/docs/releases/native-stable.md +1 -1
  68. package/docs/releases/npm-publishing.md +1 -1
  69. package/docs/releases/support-matrix.md +1 -1
  70. package/package.json +2 -2
  71. package/schemas/evidence-record.schema.json +29 -3
  72. package/schemas/workflow-run.schema.json +10 -3
  73. package/skills/bizar-omp/SKILL.md +2 -1
  74. package/skills/omp-native-development/SKILL.md +1 -1
  75. package/skills/omp-native-development/references/accuracy-and-versioning.md +1 -1
  76. package/skills/omp-native-development/references/source-manifest.json +3 -3
  77. package/optional/openkan/index.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/storage/resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/storage/resources.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { execFileSync } from "node:child_process";
2
2
  import { closeSync, existsSync, fsyncSync, mkdirSync, openSync, readFileSync, renameSync, writeFileSync } from "node:fs";
3
3
  import { createHash, randomUUID } from "node:crypto";
4
4
  import { join, resolve } from "node:path";
5
+ import { acquireLease } from "./lease.js";
5
6
  import { ContractError, OwnershipError } from "../core/errors.js";
6
7
  const now = () => new Date().toISOString();
7
8
  const git = (cwd, args, input) => execFileSync("git", args, { cwd, input, encoding: "utf8", stdio: [input === undefined ? "ignore" : "pipe", "pipe", "pipe"] });
@@ -22,13 +23,8 @@ export function loadResourceRegistry(identity) {
22
23
  throw new ContractError("Resource registry identity or schema is invalid", { path });
23
24
  return value;
24
25
  }
25
- export function saveResourceRegistry(identity, registry, expectedRevision) {
26
- const current = loadResourceRegistry(identity);
27
- if (expectedRevision !== undefined && current.revision !== expectedRevision)
28
- throw new OwnershipError("Resource registry revision changed", { expectedRevision, actualRevision: current.revision });
29
- const next = { ...registry, revision: current.revision + 1, updatedAt: now() };
26
+ function _writeRegistry(identity, next) {
30
27
  const path = resourceRegistryPath(identity);
31
- mkdirSync(join(identity.commonDir, "bizar"), { recursive: true, mode: 0o700 });
32
28
  const temporary = `${path}.${randomUUID()}.tmp`;
33
29
  writeFileSync(temporary, `${JSON.stringify(next, null, 2)}\n`, { mode: 0o600 });
34
30
  const fd = openSync(temporary, "r");
@@ -41,6 +37,20 @@ export function saveResourceRegistry(identity, registry, expectedRevision) {
41
37
  renameSync(temporary, path);
42
38
  return next;
43
39
  }
40
+ export function saveResourceRegistry(identity, registry, expectedRevision) {
41
+ const leaseDir = join(identity.commonDir, "bizar");
42
+ mkdirSync(leaseDir, { recursive: true, mode: 0o700 });
43
+ const lease = acquireLease(join(leaseDir, "resources.lock"), "Another process owns the resource registry");
44
+ try {
45
+ const current = loadResourceRegistry(identity);
46
+ if (expectedRevision !== undefined && current.revision !== expectedRevision)
47
+ throw new OwnershipError("Resource registry revision changed", { expectedRevision, actualRevision: current.revision });
48
+ return _writeRegistry(identity, { ...registry, revision: current.revision + 1, updatedAt: now() });
49
+ }
50
+ finally {
51
+ lease.release();
52
+ }
53
+ }
44
54
  export function registerWorkspace(identity, input) {
45
55
  const registry = loadResourceRegistry(identity);
46
56
  const timestamp = now();
@@ -122,26 +132,43 @@ export function createDetachedWorkspace(identity, input) {
122
132
  }
123
133
  }
124
134
  export function cleanupWorkspace(identity, resourceId, authorize = false) {
125
- const preview = previewWorkspaceCleanup(identity, resourceId);
126
- if (!authorize)
135
+ if (!authorize) {
136
+ const preview = previewWorkspaceCleanup(identity, resourceId);
127
137
  return { state: preview.allowed ? "reclaimable" : "retained", reasons: preview.reasons };
128
- if (!preview.allowed) {
129
- updateWorkspace(identity, resourceId, { state: "retained", retentionReason: preview.reasons.join("; ") });
130
- return { state: "retained", reasons: preview.reasons };
131
138
  }
132
- const resource = loadResourceRegistry(identity).resources.find(candidate => candidate.resourceId === resourceId);
133
- updateWorkspace(identity, resourceId, { state: "cleanup-intent", cleanupAttempts: resource.cleanupAttempts + 1 });
139
+ const leaseDir = join(identity.commonDir, "bizar");
140
+ mkdirSync(leaseDir, { recursive: true, mode: 0o700 });
141
+ const lease = acquireLease(join(leaseDir, "resources.lock"), "Another process owns the resource registry");
134
142
  try {
135
- if (resource.physicalKind === "git-worktree" && existsSync(resource.path))
136
- git(identity.root, ["worktree", "remove", resource.path]);
137
- if (existsSync(resource.path))
138
- throw new ContractError("Targeted cleanup did not remove the workspace", { path: resource.path });
139
- updateWorkspace(identity, resourceId, { state: "removed" });
140
- return { state: "removed", reasons: [] };
143
+ const preview = previewWorkspaceCleanup(identity, resourceId);
144
+ const registry = loadResourceRegistry(identity);
145
+ const resource = registry.resources.find(candidate => candidate.resourceId === resourceId);
146
+ if (!resource)
147
+ throw new ContractError("Unknown managed resource", { resourceId });
148
+ if (!preview.allowed) {
149
+ const retained = { ...resource, state: "retained", retentionReason: preview.reasons.join("; "), revision: registry.revision + 1, lastObservedAt: now() };
150
+ _writeRegistry(identity, { ...registry, resources: registry.resources.map(candidate => candidate.resourceId === resourceId ? retained : candidate), updatedAt: now() });
151
+ return { state: "retained", reasons: preview.reasons };
152
+ }
153
+ const intent = { ...resource, ownerEpoch: resource.ownerEpoch + 1, state: "cleanup-intent", cleanupAttempts: resource.cleanupAttempts + 1, revision: registry.revision + 1, lastObservedAt: now() };
154
+ _writeRegistry(identity, { ...registry, resources: registry.resources.map(candidate => candidate.resourceId === resourceId ? intent : candidate), updatedAt: now() });
155
+ try {
156
+ if (resource.physicalKind === "git-worktree" && existsSync(resource.path))
157
+ git(identity.root, ["worktree", "remove", resource.path]);
158
+ if (existsSync(resource.path))
159
+ throw new ContractError("Targeted cleanup did not remove the workspace", { path: resource.path });
160
+ const removed = { ...intent, state: "removed", revision: registry.revision + 2, lastObservedAt: now() };
161
+ _writeRegistry(identity, { ...registry, resources: registry.resources.map(candidate => candidate.resourceId === resourceId ? removed : candidate), updatedAt: now() });
162
+ return { state: "removed", reasons: [] };
163
+ }
164
+ catch (error) {
165
+ const failed = { ...intent, state: "cleanup-failed", lastError: String(error), revision: registry.revision + 2, lastObservedAt: now() };
166
+ _writeRegistry(identity, { ...registry, resources: registry.resources.map(candidate => candidate.resourceId === resourceId ? failed : candidate), updatedAt: now() });
167
+ return { state: "cleanup-failed", reasons: [error instanceof Error ? error.message : String(error)] };
168
+ }
141
169
  }
142
- catch (error) {
143
- updateWorkspace(identity, resourceId, { state: "cleanup-failed", lastError: String(error) });
144
- return { state: "cleanup-failed", reasons: [error instanceof Error ? error.message : String(error)] };
170
+ finally {
171
+ lease.release();
145
172
  }
146
173
  }
147
174
  export function resourceDigest(resource) { return createHash("sha256").update(JSON.stringify(resource)).digest("hex"); }
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/storage/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAoClE,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC3C,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,IAAc,EAAE,KAAc,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AAE3L,MAAM,UAAU,oBAAoB,CAAC,QAA4B,IAAY,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE7I,SAAS,aAAa,CAAC,QAA4B,IAAgC,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AAEzN,MAAM,UAAU,oBAAoB,CAAC,QAA4B;IAC/D,MAAM,IAAI,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,IAAI,aAAa,CAAC,gEAAgE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAAC,CAAC;IACpM,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAAqC,CAAC,aAAa,KAAK,CAAC,IAAK,KAAoC,CAAC,YAAY,KAAK,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,KAAiC,CAAC,SAAS,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,iDAAiD,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAClU,OAAO,KAAmC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAA4B,EAAE,QAAoC,EAAE,gBAAyB;IAChI,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,gBAAgB,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,gBAAgB;QAAE,MAAM,IAAI,cAAc,CAAC,oCAAoC,EAAE,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpM,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC;IAC/E,MAAM,IAAI,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5H,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,UAAU,EAAE,MAAM,CAAC;IAChD,aAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAChF,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAAC,CAAC;YAAS,CAAC;QAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAAC,CAAC;IACjD,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAA4B,EAAE,KAAqJ;IACnN,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAoB,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,YAAY,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;IAC7P,oBAAoB,CAAC,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAA4B,EAAE,UAAkB,EAAE,MAAwL,EAAE,gBAAyB;IACnS,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IACzI,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,aAAa,CAAC,0BAA0B,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IAClF,IAAI,gBAAgB,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,gBAAgB;QAAE,MAAM,IAAI,cAAc,CAAC,mCAAmC,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/M,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,GAAG,EAAE,EAAE,CAAC;IACvH,oBAAoB,CAAC,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxK,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,QAA4B;IACnD,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAA2C,EAAE,CAAC;IAC3D,IAAI,OAAoD,CAAC;IACzD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAAC,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAAC,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAAC,CAAC;aACjI,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACjG,CAAC;IACD,IAAI,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,QAAyB;IAC5C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACxE,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC;IAClG,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7G,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAA4B,EAAE,UAAkB;IACtF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IACjH,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,aAAa,CAAC,0BAA0B,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAClG,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IAC7F,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,QAAQ,CAAC,UAAU;QAAE,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAC5E,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACvE,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACzE,IAAI,QAAQ,CAAC,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAClF,IAAI,QAAQ,CAAC,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC9D,IAAI,QAAQ,CAAC,KAAK,KAAK,mBAAmB,IAAI,QAAQ,CAAC,KAAK,KAAK,aAAa;QAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACpI,IAAI,QAAQ,CAAC,YAAY,KAAK,cAAc,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IAC7J,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAA4B,EAAE,KAAkL;IACtP,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAClG,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,uCAAuC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACjG,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,IAAI,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,OAAO,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IAChG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAA4B,EAAE,UAAkB,EAAE,SAAS,GAAG,KAAK;IAClG,MAAM,OAAO,GAAG,uBAAuB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC9D,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IACzG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAC5L,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,KAAK,UAAU,CAAE,CAAC;IAClH,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,QAAQ,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC,CAAC;IAClH,IAAI,CAAC;QACH,IAAI,QAAQ,CAAC,YAAY,KAAK,cAAc,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACrI,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,aAAa,CAAC,+CAA+C,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACjI,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5D,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7F,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IACxG,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAyB,IAAY,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/storage/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAmClE,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC3C,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,IAAc,EAAE,KAAc,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AAE3L,MAAM,UAAU,oBAAoB,CAAC,QAA4B,IAAY,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE7I,SAAS,aAAa,CAAC,QAA4B,IAAgC,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AAEzN,MAAM,UAAU,oBAAoB,CAAC,QAA4B;IAC/D,MAAM,IAAI,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,IAAI,aAAa,CAAC,gEAAgE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAAC,CAAC;IACpM,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAAqC,CAAC,aAAa,KAAK,CAAC,IAAK,KAAoC,CAAC,YAAY,KAAK,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,KAAiC,CAAC,SAAS,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,iDAAiD,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAClU,OAAO,KAAmC,CAAC;AAC7C,CAAC;AAED,SAAS,cAAc,CAAC,QAA4B,EAAE,IAAgC;IACpF,MAAM,IAAI,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,UAAU,EAAE,MAAM,CAAC;IAChD,aAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAChF,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAAC,CAAC;YAAS,CAAC;QAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAAC,CAAC;IACjD,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAA4B,EAAE,QAAoC,EAAE,gBAAyB;IAChI,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnD,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,4CAA4C,CAAC,CAAC;IAC3G,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,gBAAgB,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,gBAAgB;YAAE,MAAM,IAAI,cAAc,CAAC,oCAAoC,EAAE,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpM,OAAO,cAAc,CAAC,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrG,CAAC;YAAS,CAAC;QAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAA4B,EAAE,KAAqJ;IACnN,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAoB,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,YAAY,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;IAC7P,oBAAoB,CAAC,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAA4B,EAAE,UAAkB,EAAE,MAAwL,EAAE,gBAAyB;IACnS,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IACzI,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,aAAa,CAAC,0BAA0B,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IAClF,IAAI,gBAAgB,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,gBAAgB;QAAE,MAAM,IAAI,cAAc,CAAC,mCAAmC,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/M,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,GAAG,EAAE,EAAE,CAAC;IACvH,oBAAoB,CAAC,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxK,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,QAA4B;IACnD,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAA2C,EAAE,CAAC;IAC3D,IAAI,OAAoD,CAAC;IACzD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAAC,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAAC,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAAC,CAAC;aACjI,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACjG,CAAC;IACD,IAAI,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,QAAyB;IAC5C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACxE,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC;IAClG,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7G,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAA4B,EAAE,UAAkB;IACtF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IACjH,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,aAAa,CAAC,0BAA0B,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAClG,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IAC7F,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,QAAQ,CAAC,UAAU;QAAE,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAC5E,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACvE,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACzE,IAAI,QAAQ,CAAC,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAClF,IAAI,QAAQ,CAAC,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC9D,IAAI,QAAQ,CAAC,KAAK,KAAK,mBAAmB,IAAI,QAAQ,CAAC,KAAK,KAAK,aAAa;QAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACpI,IAAI,QAAQ,CAAC,YAAY,KAAK,cAAc,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IAC7J,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAA4B,EAAE,KAAkL;IACtP,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAClG,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,uCAAuC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACjG,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,IAAI,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,OAAO,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IAChG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAA4B,EAAE,UAAkB,EAAE,SAAS,GAAG,KAAK;IAClG,IAAI,CAAC,SAAS,EAAE,CAAC;QAAC,MAAM,OAAO,GAAG,uBAAuB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAC5K,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnD,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,4CAA4C,CAAC,CAAC;IAC3G,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,uBAAuB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;QAC3F,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,aAAa,CAAC,0BAA0B,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,UAA2B,EAAE,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,CAAC;YAC1K,cAAc,CAAC,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACxK,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QACzD,CAAC;QACD,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,GAAG,CAAC,EAAE,KAAK,EAAE,gBAAiC,EAAE,eAAe,EAAE,QAAQ,CAAC,eAAe,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,CAAC;QACrN,cAAc,CAAC,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACtK,IAAI,CAAC;YACH,IAAI,QAAQ,CAAC,YAAY,KAAK,cAAc,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACrI,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,aAAa,CAAC,+CAA+C,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACjI,MAAM,OAAO,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,SAA0B,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,CAAC;YACzH,cAAc,CAAC,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACvK,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,gBAAiC,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,CAAC;YACzJ,cAAc,CAAC,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACtK,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACxG,CAAC;IACH,CAAC;YAAS,CAAC;QAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AAChC,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,QAAyB,IAAY,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"integrate.d.ts","sourceRoot":"","sources":["../../src/tools/integrate.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IAAG,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAAE;AAIjN,wBAAsB,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAqDjH"}
1
+ {"version":3,"file":"integrate.d.ts","sourceRoot":"","sources":["../../src/tools/integrate.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,MAAM,WAAW,kBAAkB;IAAG,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAAE;AAmBjN,wBAAsB,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgFjH"}
@@ -1,12 +1,36 @@
1
1
  import { createHash, randomUUID } from "node:crypto";
2
- import { closeSync, existsSync, fsyncSync, mkdirSync, openSync, readFileSync, unlinkSync, writeSync } from "node:fs";
2
+ import { ContractError } from "../core/errors.js";
3
+ import { mkdirSync } from "node:fs";
3
4
  import { join } from "node:path";
4
- import { ContractError, OwnershipError } from "../core/errors.js";
5
- import { requireFreshEvidence } from "../core/evidence.js";
5
+ import { evaluateAcceptance, canonicalSpecHash } from "../core/acceptance.js";
6
6
  import { assertOwner } from "../core/recovery.js";
7
7
  import { repositoryIdentity, workingTreeDigest, isDirty } from "../storage/repository-identity.js";
8
+ import { acquireLease } from "../storage/lease.js";
8
9
  import { materializeCandidate, observeWorkingTreeTree } from "../services/candidates.js";
9
10
  function inScope(path, scopes) { return scopes.some(scope => path === scope || path.startsWith(`${scope.replace(/\/$/, "")}/`)); }
11
+ function resolveRequiredCheckSpecs(run, records, ids) {
12
+ if (ids.length === 0)
13
+ throw new ContractError("Integration requires evidence IDs");
14
+ const requested = ids.map(id => records.find(record => record.id === id.trim()));
15
+ const missing = requested.findIndex(record => !record);
16
+ if (missing !== -1)
17
+ throw new ContractError(`Unknown evidence: ${ids[missing]}`);
18
+ const specsById = new Map((run.objective.checkSpecs ?? []).map(spec => [spec.id, spec]));
19
+ if (specsById.size === 0)
20
+ throw new ContractError("Integration requires an admitted CheckSpec contract; cannot verify against ad-hoc checks");
21
+ const admitted = Array.from(new Set(requested.map(record => record.checkId)));
22
+ const required = admitted.map(id => {
23
+ const spec = specsById.get(id);
24
+ if (!spec)
25
+ throw new ContractError(`Evidence checkId "${id}" is not admitted in the objective CheckSpec contract`, { admitted: [...specsById.keys()] });
26
+ return { id, spec };
27
+ });
28
+ for (const { spec } of required)
29
+ for (const record of requested.filter(item => item.checkId === spec.id))
30
+ if (record.checkSpecHash && record.checkSpecHash !== canonicalSpecHash(spec))
31
+ throw new ContractError(`Evidence ${record.id} does not match the admitted CheckSpec for ${spec.id}`, { evidenceCheckSpecHash: record.checkSpecHash, specHash: canonicalSpecHash(spec) });
32
+ return required;
33
+ }
10
34
  export async function integrate(binding, request) {
11
35
  let state = binding.journal.snapshot();
12
36
  if (!state.run)
@@ -28,22 +52,23 @@ export async function integrate(binding, request) {
28
52
  throw new ContractError("Declared paths do not match the patch");
29
53
  const identity = repositoryIdentity(binding.cwd);
30
54
  const targetDigest = workingTreeDigest(binding.cwd);
31
- requireFreshEvidence(state.evidence, request.evidenceIds, targetDigest, { candidateTree: candidate.candidateTree });
55
+ // R003: resolve requested evidence against the objective's admitted CheckSpecs.
56
+ const requiredChecks = resolveRequiredCheckSpecs(state.run, state.evidence, request.evidenceIds);
57
+ const decision = evaluateAcceptance(state, {
58
+ requiredChecks: requiredChecks.map(entry => entry.spec),
59
+ targetDigest,
60
+ candidateTree: candidate.candidateTree,
61
+ criteria: state.run.objective.criteria,
62
+ review: state.run.objective.reviewSpec,
63
+ });
64
+ if (!decision.eligible)
65
+ throw new ContractError(`Integration blocked: ${decision.blockers.map(blocker => blocker.message).join("; ")}`);
32
66
  const patchDigest = createHash("sha256").update(request.patch).digest("hex");
33
67
  const lockDir = join(identity.gitDir, "bizar", "omp-v1");
34
68
  mkdirSync(lockDir, { recursive: true, mode: 0o700 });
35
69
  const lockPath = join(lockDir, "integration.lock");
36
- let fd;
37
- const lockOwner = randomUUID();
70
+ const lease = acquireLease(lockPath, "Another run owns the serialized integration path");
38
71
  try {
39
- try {
40
- fd = openSync(lockPath, "wx", 0o600);
41
- }
42
- catch {
43
- throw new OwnershipError("Another run owns the serialized integration path");
44
- }
45
- writeSync(fd, lockOwner, undefined, "utf8");
46
- fsyncSync(fd);
47
72
  state = binding.journal.snapshot();
48
73
  if (!state.run)
49
74
  throw new ContractError("Cannot integrate without a run");
@@ -59,8 +84,32 @@ export async function integrate(binding, request) {
59
84
  if (lockedCandidate.baseTree !== candidate.baseTree || lockedCandidate.candidateTree !== candidate.candidateTree)
60
85
  throw new ContractError("Candidate changed while waiting for integration ownership");
61
86
  const lockedDigest = workingTreeDigest(binding.cwd);
62
- requireFreshEvidence(state.evidence, request.evidenceIds, lockedDigest, { candidateTree: lockedCandidate.candidateTree });
63
- const attempt = { id: `integration_${randomUUID()}`, runId: state.run.runId, workItemId: lockedItem.id, baseDigest: lockedDigest, patchDigest, changedPaths: patchPaths, eligibleEvidenceIds: request.evidenceIds, lockOwner: binding.owner, outcome: request.apply ? "unknown-outcome" : "eligible", attemptedAt: new Date().toISOString(), candidateId: candidate.id, baseTree: candidate.baseTree, candidateTree: candidate.candidateTree };
87
+ // Re-evaluate under lock against fresh state using the admitted CheckSpec contract.
88
+ const lockedChecks = resolveRequiredCheckSpecs(state.run, state.evidence, request.evidenceIds);
89
+ const lockedDecision = evaluateAcceptance(state, {
90
+ requiredChecks: lockedChecks.map(entry => entry.spec),
91
+ targetDigest: lockedDigest,
92
+ candidateTree: lockedCandidate.candidateTree,
93
+ criteria: state.run.objective.criteria,
94
+ review: state.run.objective.reviewSpec,
95
+ });
96
+ if (!lockedDecision.eligible)
97
+ throw new ContractError(`Integration blocked: ${lockedDecision.blockers.map(blocker => blocker.message).join("; ")}`);
98
+ const attempt = {
99
+ id: `integration_${randomUUID()}`,
100
+ runId: state.run.runId,
101
+ workItemId: lockedItem.id,
102
+ baseDigest: lockedDigest,
103
+ patchDigest,
104
+ changedPaths: patchPaths,
105
+ eligibleEvidenceIds: lockedDecision.selectedEvidenceIds,
106
+ lockOwner: binding.owner,
107
+ outcome: request.apply ? "unknown-outcome" : "eligible",
108
+ attemptedAt: new Date().toISOString(),
109
+ candidateId: candidate.id,
110
+ baseTree: candidate.baseTree,
111
+ candidateTree: candidate.candidateTree,
112
+ };
64
113
  binding.journal.append({ type: "integration.recorded", runId: attempt.runId, attempt }, `integration-intent:${attempt.id}`, state.revision);
65
114
  if (request.apply) {
66
115
  request.signal?.throwIfAborted();
@@ -78,13 +127,7 @@ export async function integrate(binding, request) {
78
127
  return attempt;
79
128
  }
80
129
  finally {
81
- if (fd !== undefined)
82
- closeSync(fd);
83
- try {
84
- if (existsSync(lockPath) && readFileSync(lockPath, "utf8") === lockOwner)
85
- unlinkSync(lockPath);
86
- }
87
- catch { /* A replacement lock belongs to another owner. */ }
130
+ lease.release();
88
131
  }
89
132
  }
90
133
  //# sourceMappingURL=integrate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"integrate.js","sourceRoot":"","sources":["../../src/tools/integrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integrate.js","sourceRoot":"","sources":["../../src/tools/integrate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA6B1D,MAAM,WAAW,WAAW;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;CAAE;AAEpO,wBAAsB,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,SAAc,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CA0BhK"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D,MAAM,WAAW,WAAW;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;CAAE;AAEpO,wBAAsB,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,SAAc,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAoDhK"}
@@ -1,3 +1,5 @@
1
+ import { freezeCheckSpec, canonicalSpecHash } from "../core/acceptance.js";
2
+ import { redactArgv, safeEnvironment, enforceOutputPolicy } from "../core/redaction.js";
1
3
  import { execFile } from "node:child_process";
2
4
  import { promisify } from "node:util";
3
5
  import { randomUUID } from "node:crypto";
@@ -5,26 +7,7 @@ import { createEvidence } from "../core/evidence.js";
5
7
  import { repositoryIdentity, workingTreeDigest } from "../storage/repository-identity.js";
6
8
  import { ContractError } from "../core/errors.js";
7
9
  const execFileAsync = promisify(execFile);
8
- const SECRET_NAME = /(?:authorization|api[-_]?key|access[-_]?key|token|secret|password|credential|private[-_]?key)/i;
9
- const SAFE_ENVIRONMENT = new Set([
10
- "CI", "FORCE_COLOR", "HOME", "LANG", "LC_ALL", "LC_CTYPE", "NO_COLOR", "PATH", "SHELL", "TERM", "TMP", "TEMP", "TMPDIR", "TZ"
11
- ]);
12
10
  const MAX_OUTPUT = 100_000;
13
- const redact = (value) => value
14
- .replace(/(authorization|api[-_]?key|access[-_]?key|token|secret|password|credential|private[-_]?key)\s*[:=]\s*[^\s,;]+/gi, "$1=[REDACTED]")
15
- .replace(/([?&](?:token|secret|api[-_]?key|password|key)=)[^&\s]+/gi, "$1[REDACTED]")
16
- .replace(/Bearer\s+[A-Za-z0-9._~-]+/gi, "Bearer [REDACTED]")
17
- .replace(/-----BEGIN ([A-Z ]+ KEY)-----[\s\S]*?-----END \1-----/g, "-----BEGIN $1-----[REDACTED]-----END $1-----");
18
- const bounded = (value) => {
19
- const safe = redact(value ?? "");
20
- return safe.length > MAX_OUTPUT ? `[TRUNCATED]\n${safe.slice(-MAX_OUTPUT)}` : safe;
21
- };
22
- const safeCommand = (command) => command.map((part, index) => {
23
- if (index > 0 && (SECRET_NAME.test(command[index - 1] ?? "") || SECRET_NAME.test(part.split("=", 1)[0] ?? "")))
24
- return "[REDACTED]";
25
- return redact(part);
26
- });
27
- const safeEnvironment = (environment) => Object.fromEntries(Object.entries(environment).filter(([name]) => SAFE_ENVIRONMENT.has(name)).map(([name, value]) => [name, value ?? ""]));
28
11
  export async function runVerification(binding, checkId, command, cwd = binding.cwd, signal) {
29
12
  if (!checkId.trim() || !command.length || command.some(part => typeof part !== "string" || part.includes("\0")) || !command[0].trim())
30
13
  throw new ContractError("A check ID and nonempty command argv are required");
@@ -40,22 +23,50 @@ export async function runVerification(binding, checkId, command, cwd = binding.c
40
23
  throw new ContractError("Verification is blocked by the acknowledged cancellation fence");
41
24
  const runId = run.runId;
42
25
  const before = workingTreeDigest(cwd);
43
- const persistedCommand = safeCommand(command);
26
+ const persistedCommand = redactArgv(command);
27
+ const attemptId = randomUUID();
28
+ const key = (suffix) => `verify:${runId}:${checkId}:${attemptId}:${suffix}`;
29
+ let outcome = "unknown";
30
+ let stdout = "";
31
+ let stderr = "";
32
+ let exitCode = 1;
33
+ let execError;
34
+ let treeUnchanged = false;
44
35
  try {
45
36
  const output = await execFileAsync(command[0], command.slice(1), { cwd, signal, timeout: 10 * 60 * 1000, maxBuffer: 512 * 1024, env: { ...safeEnvironment(process.env), CI: "1" } });
46
- const result = workingTreeDigest(cwd) === before ? "passed" : "unknown";
47
- const base = createEvidence({ id: `evidence_${randomUUID()}`, runId, type: "test", checkId, command: persistedCommand, cwd, result, exitCode: result === "passed" ? 0 : undefined, targetDigest: before, inputDigests: {}, stdout: bounded(output.stdout), stderr: bounded(output.stderr), artifactHashes: [], provenance: { producer: "bizar-omp-host", observedAt: new Date().toISOString() } });
48
- const evidence = result === "unknown" ? { ...base, staleReason: "verification command changed the target tree" } : base;
49
- binding.journal.append({ type: "evidence.recorded", runId: evidence.runId, evidence }, `evidence:${evidence.id}`);
50
- return { checkId, command: persistedCommand, cwd, result, exitCode: result === "passed" ? 0 : 1, stdout: evidence.stdout ?? "", stderr: evidence.stderr ?? "", targetDigest: before, evidenceId: evidence.id };
37
+ treeUnchanged = workingTreeDigest(cwd) === before;
38
+ outcome = treeUnchanged ? "passed" : "unknown";
39
+ const sanitized = enforceOutputPolicy({ id: checkId, revision: 1, runner: "argv", argumentTemplate: command.slice(1), cwdRule: "repository-root", inputDigests: {}, environmentPolicy: "host default", limits: { timeoutMs: 600_000, outputBytes: MAX_OUTPUT }, expected: "zero-exit", outputPolicy: "sanitized-tail", evaluatorHash: "" }, output.stdout ?? "", output.stderr ?? "");
40
+ stdout = sanitized.stdout;
41
+ stderr = sanitized.stderr;
42
+ exitCode = outcome === "passed" ? 0 : 1;
51
43
  }
52
- catch (error) {
53
- const e = error;
54
- const cancelled = e.name === "AbortError" || e.code === "ABORT_ERR";
55
- const result = cancelled ? "cancelled" : "failed";
56
- const evidence = createEvidence({ id: `evidence_${randomUUID()}`, runId, type: "test", checkId, command: persistedCommand, cwd, result, exitCode: cancelled ? 130 : (typeof e.code === "number" ? e.code : 1), targetDigest: before, inputDigests: {}, stdout: bounded(e.stdout), stderr: bounded(e.stderr ?? String(error)), artifactHashes: [], provenance: { producer: "bizar-omp-host", observedAt: new Date().toISOString() } });
57
- binding.journal.append({ type: "evidence.recorded", runId: evidence.runId, evidence }, `evidence:${evidence.id}`);
58
- return { checkId, command: persistedCommand, cwd, result, exitCode: evidence.exitCode ?? 1, stdout: evidence.stdout ?? "", stderr: evidence.stderr ?? "", targetDigest: before, evidenceId: evidence.id };
44
+ catch (e) {
45
+ // R008: classify abort, child exit, and unknown.
46
+ const typed = e;
47
+ if (typed.name === "AbortError" || typed.signal === "SIGTERM" || typed.signal === "SIGINT" || typed.killed || signal?.aborted) {
48
+ outcome = "cancelled";
49
+ exitCode = 130;
50
+ }
51
+ else if (typeof typed.code === "number") {
52
+ outcome = "failed";
53
+ exitCode = typed.code;
54
+ const sanitized = enforceOutputPolicy({ id: checkId, revision: 1, runner: "argv", argumentTemplate: command.slice(1), cwdRule: "repository-root", inputDigests: {}, environmentPolicy: "host default", limits: { timeoutMs: 600_000, outputBytes: MAX_OUTPUT }, expected: "zero-exit", outputPolicy: "sanitized-tail", evaluatorHash: "" }, typed.stdout ?? "", typed.stderr ?? `Command failed: ${typed.message ?? String(e)}`);
55
+ stdout = sanitized.stdout;
56
+ stderr = sanitized.stderr;
57
+ }
58
+ else {
59
+ outcome = "unknown";
60
+ exitCode = 1;
61
+ const sanitized = enforceOutputPolicy({ id: checkId, revision: 1, runner: "argv", argumentTemplate: command.slice(1), cwdRule: "repository-root", inputDigests: {}, environmentPolicy: "host default", limits: { timeoutMs: 600_000, outputBytes: MAX_OUTPUT }, expected: "zero-exit", outputPolicy: "sanitized-tail", evaluatorHash: "" }, "", `Verification could not classify the failure: ${typed.message ?? String(e)}`);
62
+ stdout = sanitized.stdout;
63
+ stderr = sanitized.stderr;
64
+ }
59
65
  }
66
+ const spec = freezeCheckSpec({ id: checkId, revision: 1, runner: "argv", argumentTemplate: redactArgv(command), cwdRule: "repository-root", inputDigests: {}, environmentPolicy: "host default", limits: { timeoutMs: 600_000, outputBytes: 512_000 }, expected: "zero-exit", outputPolicy: "sanitized-tail", evaluatorHash: "" });
67
+ const evidenceId = `evidence_${attemptId}`;
68
+ const base = createEvidence({ id: evidenceId, runId, type: "test", checkId, command: persistedCommand, cwd, result: outcome, exitCode: outcome === "passed" ? 0 : exitCode, targetDigest: before, inputDigests: {}, stdout, stderr, artifactHashes: [], provenance: { producer: "bizar-verify", source: "host-observed", observedAt: new Date().toISOString() }, checkSpecHash: canonicalSpecHash(spec) });
69
+ binding.journal.append({ type: "evidence.recorded", runId, evidence: base }, key(outcome), run.revision);
70
+ return { checkId, command: persistedCommand, cwd, result: outcome, exitCode: outcome === "passed" ? 0 : exitCode, stdout, stderr, targetDigest: before, evidenceId };
60
71
  }
61
72
  //# sourceMappingURL=verify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,19 @@
1
1
  import type { WorkItem } from "../core/types.js";
2
2
  import type { SessionBinding } from "../omp/lifecycle.js";
3
- export type WorkflowAction = "start" | "status" | "transition" | "add-work" | "accept-work" | "complete" | "cancel" | "next";
3
+ export type WorkflowAction = "start" | "status" | "transition" | "add-work" | "accept-work" | "complete" | "cancel" | "next" | "amend-objective";
4
4
  export declare function runWorkflow(binding: SessionBinding, action: WorkflowAction, params: Record<string, unknown>): import("../core/types.js").StateSnapshot | WorkItem | import("../core/types.js").WorkflowRun | {
5
5
  action: "start";
6
6
  run: import("../core/types.js").WorkflowRun;
7
7
  decision: import("../core/types.js").RouteDecision;
8
- } | null | undefined;
8
+ } | {
9
+ workItemId: string;
10
+ workRevision: number;
11
+ dispatchId: string;
12
+ candidateId: string;
13
+ candidateTree: string;
14
+ evidenceIds: string[];
15
+ checkSpecHashes: string[];
16
+ policyRevision: string;
17
+ targetDigest: string;
18
+ } | undefined;
9
19
  //# sourceMappingURL=workflow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAqB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE7H,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;qBAgD3G"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAqB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,iBAAiB,CAAC;AAEjJ,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;cAmF3G"}