@agent-teams/docs-protocol 0.2.0 → 0.3.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 (56) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +19 -7
  3. package/dist/consumer-integration/adapters/consumer-integration-schema-validator.d.ts +1 -0
  4. package/dist/consumer-integration/adapters/consumer-integration-schema-validator.d.ts.map +1 -1
  5. package/dist/consumer-integration/adapters/consumer-integration-schema-validator.js +4 -1
  6. package/dist/consumer-integration/adapters/consumer-integration-schema-validator.js.map +1 -1
  7. package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.d.ts +10 -0
  8. package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.d.ts.map +1 -0
  9. package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.js +110 -0
  10. package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.js.map +1 -0
  11. package/dist/consumer-integration/adapters/github-cohort-authority-reader.d.ts +21 -0
  12. package/dist/consumer-integration/adapters/github-cohort-authority-reader.d.ts.map +1 -0
  13. package/dist/consumer-integration/adapters/github-cohort-authority-reader.js +215 -0
  14. package/dist/consumer-integration/adapters/github-cohort-authority-reader.js.map +1 -0
  15. package/dist/consumer-integration/adapters/node-consumer-integration-repository.d.ts.map +1 -1
  16. package/dist/consumer-integration/adapters/node-consumer-integration-repository.js +17 -92
  17. package/dist/consumer-integration/adapters/node-consumer-integration-repository.js.map +1 -1
  18. package/dist/consumer-integration/adapters/node-consumer-repository-files.d.ts +11 -0
  19. package/dist/consumer-integration/adapters/node-consumer-repository-files.d.ts.map +1 -0
  20. package/dist/consumer-integration/adapters/node-consumer-repository-files.js +81 -0
  21. package/dist/consumer-integration/adapters/node-consumer-repository-files.js.map +1 -0
  22. package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.d.ts +19 -0
  23. package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.d.ts.map +1 -0
  24. package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.js +298 -0
  25. package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.js.map +1 -0
  26. package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.d.ts +4 -0
  27. package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.d.ts.map +1 -1
  28. package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.js +32 -1
  29. package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.js.map +1 -1
  30. package/dist/consumer-integration/application/model/consumer-upgrade-execution.d.ts +18 -0
  31. package/dist/consumer-integration/application/model/consumer-upgrade-execution.d.ts.map +1 -0
  32. package/dist/consumer-integration/application/model/consumer-upgrade-execution.js +2 -0
  33. package/dist/consumer-integration/application/model/consumer-upgrade-execution.js.map +1 -0
  34. package/dist/consumer-integration/application/ports/consumer-upgrade.d.ts +28 -0
  35. package/dist/consumer-integration/application/ports/consumer-upgrade.d.ts.map +1 -0
  36. package/dist/consumer-integration/application/ports/consumer-upgrade.js +2 -0
  37. package/dist/consumer-integration/application/ports/consumer-upgrade.js.map +1 -0
  38. package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.d.ts +13 -0
  39. package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.d.ts.map +1 -0
  40. package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.js +134 -0
  41. package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.js.map +1 -0
  42. package/dist/consumer-integration/composition/consumer-integration-cli.d.ts.map +1 -1
  43. package/dist/consumer-integration/composition/consumer-integration-cli.js +50 -15
  44. package/dist/consumer-integration/composition/consumer-integration-cli.js.map +1 -1
  45. package/dist/consumer-integration/composition/node-consumer-integration.d.ts +6 -0
  46. package/dist/consumer-integration/composition/node-consumer-integration.d.ts.map +1 -1
  47. package/dist/consumer-integration/composition/node-consumer-integration.js +14 -0
  48. package/dist/consumer-integration/composition/node-consumer-integration.js.map +1 -1
  49. package/dist/consumer-integration/domain/model.d.ts +6 -0
  50. package/dist/consumer-integration/domain/model.d.ts.map +1 -1
  51. package/dist/consumer-integration/index.d.ts +3 -2
  52. package/dist/consumer-integration/index.d.ts.map +1 -1
  53. package/dist/consumer-integration/index.js +1 -1
  54. package/dist/consumer-integration/index.js.map +1 -1
  55. package/package.json +2 -1
  56. package/schemas/docs-consumer-upgrade-execution/v1.schema.json +44 -0
@@ -0,0 +1,298 @@
1
+ import { createHash } from "node:crypto";
2
+ import { execFile } from "node:child_process";
3
+ import { lstat, mkdir, mkdtemp, readdir, realpath, readlink, rm, writeFile } from "node:fs/promises";
4
+ import { tmpdir } from "node:os";
5
+ import { dirname, isAbsolute, join, relative, resolve as resolvePath, sep } from "node:path";
6
+ import { projectConsumerIntegrationProfileV1, projectPnpmWorkspaceCohortExclusionsV1 } from "./consumer-upgrade-file-projectors.js";
7
+ import { ConsumerIntegrationNodeError } from "./consumer-integration-node-error.js";
8
+ import { INTEGRATION_PROFILE_PATH, MAXIMUM_LOCKFILE_BYTES, MAXIMUM_MANAGED_ASSET_BYTES, MAXIMUM_MANIFEST_BYTES, MAXIMUM_PROFILE_BYTES, MAXIMUM_WORKSPACE_BYTES, readStableConsumerFile } from "./node-consumer-repository-files.js";
9
+ import { projectPnpmManifestCohortPinsV1 } from "./pnpm-manifest-adapter-v1.js";
10
+ const WORKSPACE_PATH = "pnpm-workspace.yaml";
11
+ const MAXIMUM_PROCESS_OUTPUT_BYTES = 4 * 1024 * 1024;
12
+ const MAXIMUM_INVENTORY_FILES = 100_000;
13
+ const MAXIMUM_INVENTORY_BYTES = 1024 * 1024 * 1024;
14
+ const MAXIMUM_INVENTORY_FILE_BYTES = 64 * 1024 * 1024;
15
+ function execute(executable, args, cwd, allowedExitCodes = [0]) {
16
+ return new Promise((resolve, reject) => {
17
+ execFile(executable, [...args], {
18
+ cwd,
19
+ encoding: "utf8",
20
+ maxBuffer: MAXIMUM_PROCESS_OUTPUT_BYTES,
21
+ signal: AbortSignal.timeout(10 * 60 * 1000),
22
+ windowsHide: true
23
+ }, (error, stdout, stderr) => {
24
+ const code = error === null ? 0 : typeof error.code === "number" ? error.code : undefined;
25
+ if (code !== undefined && allowedExitCodes.includes(code)) {
26
+ resolve({ code, stdout, stderr });
27
+ return;
28
+ }
29
+ const detail = (stderr || stdout).trim().slice(-4000);
30
+ reject(new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_PROCESS_FAILED", `${executable} ${args[0] ?? ""} failed${detail === "" ? "." : `: ${detail}`}`, { cause: error ?? undefined }));
31
+ });
32
+ });
33
+ }
34
+ async function assertCleanGitRoot(root) {
35
+ const status = await execute("git", ["status", "--porcelain=v1", "--untracked-files=all"], root);
36
+ if (status.stdout !== "") {
37
+ throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_DIRTY_WORKTREE", "One-command Cohort upgrade requires a clean consumer Git worktree.");
38
+ }
39
+ const head = (await execute("git", ["rev-parse", "HEAD"], root)).stdout.trim();
40
+ if (!/^(?!0{40}$)[0-9a-f]{40}$/u.test(head)) {
41
+ throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_GIT_INVALID", "Consumer worktree must have one exact Git HEAD.");
42
+ }
43
+ return head;
44
+ }
45
+ function contained(root, repositoryPath) {
46
+ const path = resolvePath(root, repositoryPath);
47
+ const relation = relative(root, path);
48
+ if (isAbsolute(relation) || relation === ".." || relation.startsWith(`..${sep}`)) {
49
+ throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_PATH_ESCAPE", `Upgrade path escapes the disposable repository: ${repositoryPath}.`);
50
+ }
51
+ return path;
52
+ }
53
+ async function writeProjectedFile(root, path, bytes) {
54
+ const target = contained(root, path);
55
+ await mkdir(dirname(target), { recursive: true });
56
+ await writeFile(target, bytes);
57
+ }
58
+ async function runPnpm(root, args) {
59
+ await execute("corepack", ["pnpm", ...args], root);
60
+ }
61
+ function parseConsumerExecution(result) {
62
+ let parsed;
63
+ try {
64
+ parsed = JSON.parse(result.stdout);
65
+ }
66
+ catch {
67
+ throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_TARGET_INVALID", "Target Docs Protocol CLI did not return one JSON execution envelope.");
68
+ }
69
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
70
+ throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_TARGET_INVALID", "Target Docs Protocol CLI returned an invalid execution envelope.");
71
+ }
72
+ return parsed;
73
+ }
74
+ async function invokeInstalledDocs(root, args) {
75
+ const cli = join(root, "node_modules", "@agent-teams", "docs-protocol", "dist", "cli.js");
76
+ const metadata = await lstat(cli);
77
+ if (!metadata.isFile() || metadata.isSymbolicLink() || metadata.nlink > 1) {
78
+ throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_TARGET_INVALID", "Installed target Docs Protocol CLI is not one regular package file.");
79
+ }
80
+ const result = await execute(process.execPath, [cli, "consumer", ...args, "--consumer", root, "--json"], root, [0, 1]);
81
+ return parseConsumerExecution(result);
82
+ }
83
+ async function applyTargetIntegration(root, cohortId) {
84
+ const plan = await invokeInstalledDocs(root, ["plan", "--to", cohortId]);
85
+ if (plan["outcome"] === "change-required") {
86
+ const planValue = plan["plan"];
87
+ const digest = typeof planValue === "object" && planValue !== null &&
88
+ !Array.isArray(planValue) ? planValue["planDigest"] : undefined;
89
+ if (typeof digest !== "string") {
90
+ throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_TARGET_INVALID", "Target Docs Protocol Plan did not expose one exact digest.");
91
+ }
92
+ const applied = await invokeInstalledDocs(root, ["apply", "--expect", digest]);
93
+ if (!["applied", "current"].includes(applied["outcome"])) {
94
+ throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_TARGET_BLOCKED", "Target Docs Protocol apply did not converge in the disposable repository.");
95
+ }
96
+ }
97
+ else if (plan["outcome"] !== "current") {
98
+ throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_TARGET_BLOCKED", "Target Docs Protocol rejected the projected Cohort in the disposable repository.");
99
+ }
100
+ await assertInstalledIntegrationCurrent(root);
101
+ }
102
+ async function assertInstalledIntegrationCurrent(root) {
103
+ const checked = await invokeInstalledDocs(root, ["check"]);
104
+ if (checked["outcome"] !== "current") {
105
+ throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_TARGET_BLOCKED", "Target Docs Protocol check did not converge in the disposable repository.");
106
+ }
107
+ }
108
+ function ignoredInventoryPath(prefix, name) {
109
+ return name === "node_modules" ||
110
+ (prefix === "" && (name === ".git" || name === ".agent-teams-local"));
111
+ }
112
+ async function repositoryInventory(root) {
113
+ const output = new Map();
114
+ let totalBytes = 0;
115
+ async function visit(directory, prefix) {
116
+ const entries = await readdir(directory, { withFileTypes: true });
117
+ for (const entry of entries.toSorted((left, right) => left.name < right.name ? -1 : left.name > right.name ? 1 : 0)) {
118
+ if (ignoredInventoryPath(prefix, entry.name)) {
119
+ continue;
120
+ }
121
+ const path = prefix === "" ? entry.name : `${prefix}/${entry.name}`;
122
+ const absolute = join(directory, entry.name);
123
+ if (entry.isDirectory()) {
124
+ await visit(absolute, path);
125
+ continue;
126
+ }
127
+ if (output.size >= MAXIMUM_INVENTORY_FILES) {
128
+ throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_REPOSITORY_TOO_LARGE", "Disposable consumer inventory exceeds the bounded file count.");
129
+ }
130
+ if (entry.isSymbolicLink()) {
131
+ const target = await readlink(absolute);
132
+ output.set(path, {
133
+ kind: "symlink",
134
+ digest: createHash("sha256").update(target).digest("hex")
135
+ });
136
+ continue;
137
+ }
138
+ if (!entry.isFile()) {
139
+ throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_INPUT_INVALID", `Disposable consumer contains unsupported filesystem evidence: ${path}.`);
140
+ }
141
+ const observation = await readStableConsumerFile(root, path, MAXIMUM_INVENTORY_FILE_BYTES, true);
142
+ if (observation.state !== "file") {
143
+ throw new Error("unreachable");
144
+ }
145
+ totalBytes += observation.bytes.byteLength;
146
+ if (totalBytes > MAXIMUM_INVENTORY_BYTES) {
147
+ throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_REPOSITORY_TOO_LARGE", "Disposable consumer inventory exceeds the bounded byte count.");
148
+ }
149
+ output.set(path, {
150
+ kind: "file",
151
+ digest: createHash("sha256").update(observation.bytes).digest("hex")
152
+ });
153
+ }
154
+ }
155
+ await visit(root, "");
156
+ return output;
157
+ }
158
+ function changedInventoryPaths(before, after) {
159
+ const paths = new Set([...before.keys(), ...after.keys()]);
160
+ return [...paths].filter((path) => {
161
+ const left = before.get(path);
162
+ const right = after.get(path);
163
+ return left?.kind !== right?.kind || left?.digest !== right?.digest;
164
+ }).toSorted();
165
+ }
166
+ function maximumBytes(path) {
167
+ if (path === INTEGRATION_PROFILE_PATH) {
168
+ return MAXIMUM_PROFILE_BYTES;
169
+ }
170
+ if (path === "package.json") {
171
+ return MAXIMUM_MANIFEST_BYTES;
172
+ }
173
+ if (path === "pnpm-lock.yaml") {
174
+ return MAXIMUM_LOCKFILE_BYTES;
175
+ }
176
+ if (path === WORKSPACE_PATH) {
177
+ return MAXIMUM_WORKSPACE_BYTES;
178
+ }
179
+ return MAXIMUM_MANAGED_ASSET_BYTES;
180
+ }
181
+ function allowedUpgradePaths(current) {
182
+ return new Set([
183
+ "AGENTS.md",
184
+ INTEGRATION_PROFILE_PATH,
185
+ "package.json",
186
+ "pnpm-lock.yaml",
187
+ WORKSPACE_PATH,
188
+ current.skillPath,
189
+ current.callerWorkflowPath,
190
+ current.managedStatePath
191
+ ]);
192
+ }
193
+ async function operationForChangedPath(input) {
194
+ const [preimage, postimage] = await Promise.all([
195
+ readStableConsumerFile(input.consumerRoot, input.path, maximumBytes(input.path), true),
196
+ readStableConsumerFile(input.stagedRoot, input.path, maximumBytes(input.path), true)
197
+ ]);
198
+ if (preimage.state !== "file" || postimage.state !== "file") {
199
+ throw new Error("unreachable");
200
+ }
201
+ return Object.freeze({
202
+ path: input.path,
203
+ precondition: {
204
+ state: "known-file",
205
+ acceptedPreimages: [{ bytes: preimage.bytes, mode: preimage.mode }]
206
+ },
207
+ postimage: { bytes: postimage.bytes, mode: preimage.mode }
208
+ });
209
+ }
210
+ async function extractHead(root, head, target) {
211
+ const archive = `${target}.tar`;
212
+ await execute("git", ["archive", "--format=tar", `--output=${archive}`, head], root);
213
+ await mkdir(target, { recursive: true });
214
+ await execute("tar", ["-xf", archive, "-C", target], root);
215
+ await rm(archive, { force: true });
216
+ }
217
+ async function installCohort(root, offline) {
218
+ await runPnpm(root, [
219
+ "install",
220
+ offline ? "--offline" : "--prefer-offline",
221
+ offline ? "--frozen-lockfile" : "--no-frozen-lockfile",
222
+ "--ignore-scripts",
223
+ "--ignore-pnpmfile",
224
+ "--verify-store-integrity"
225
+ ]);
226
+ }
227
+ export class NodeConsumerUpgradeSandbox {
228
+ async prepare(options) {
229
+ const head = await assertCleanGitRoot(options.consumerRoot);
230
+ const temporary = await realpath(await mkdtemp(join(tmpdir(), "docs-consumer-upgrade-")));
231
+ const beforeRoot = join(temporary, "before");
232
+ const stagedRoot = join(temporary, "staged");
233
+ try {
234
+ await Promise.all([
235
+ extractHead(options.consumerRoot, head, beforeRoot),
236
+ extractHead(options.consumerRoot, head, stagedRoot)
237
+ ]);
238
+ await execute("git", ["init", "-q"], stagedRoot);
239
+ const [profile, manifest] = await Promise.all([
240
+ readStableConsumerFile(stagedRoot, INTEGRATION_PROFILE_PATH, MAXIMUM_PROFILE_BYTES, true),
241
+ readStableConsumerFile(stagedRoot, "package.json", MAXIMUM_MANIFEST_BYTES, true)
242
+ ]);
243
+ if (profile.state !== "file" || manifest.state !== "file") {
244
+ throw new Error("unreachable");
245
+ }
246
+ await Promise.all([
247
+ writeProjectedFile(stagedRoot, INTEGRATION_PROFILE_PATH, await projectConsumerIntegrationProfileV1({
248
+ bytes: profile.bytes,
249
+ cohort: options.authority.cohort
250
+ })),
251
+ writeProjectedFile(stagedRoot, "package.json", projectPnpmManifestCohortPinsV1({
252
+ bytes: manifest.bytes,
253
+ cohort: options.authority.cohort
254
+ }))
255
+ ]);
256
+ const workspace = await readStableConsumerFile(stagedRoot, WORKSPACE_PATH, MAXIMUM_WORKSPACE_BYTES, false);
257
+ if (workspace.state === "file") {
258
+ await writeProjectedFile(stagedRoot, WORKSPACE_PATH, projectPnpmWorkspaceCohortExclusionsV1({
259
+ bytes: workspace.bytes,
260
+ cohort: options.authority.cohort
261
+ }));
262
+ }
263
+ await installCohort(stagedRoot, false);
264
+ await applyTargetIntegration(stagedRoot, options.authority.cohort.cohortId);
265
+ const changed = changedInventoryPaths(await repositoryInventory(beforeRoot), await repositoryInventory(stagedRoot));
266
+ const allowed = allowedUpgradePaths(options.current);
267
+ const unexpected = changed.filter((path) => !allowed.has(path));
268
+ if (unexpected.length > 0) {
269
+ throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_SCOPE_VIOLATION", `Disposable upgrade changed paths outside its closed inventory: ${unexpected.slice(0, 8).join(", ")}.`);
270
+ }
271
+ if (changed.includes(WORKSPACE_PATH) &&
272
+ (await readStableConsumerFile(options.consumerRoot, WORKSPACE_PATH, MAXIMUM_WORKSPACE_BYTES, false))
273
+ .state === "absent") {
274
+ throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_SCOPE_VIOLATION", "Cohort upgrade cannot introduce a previously absent pnpm workspace authority.");
275
+ }
276
+ await assertCleanGitRoot(options.consumerRoot);
277
+ const operations = await Promise.all(changed.map((path) => operationForChangedPath({
278
+ consumerRoot: options.consumerRoot,
279
+ path,
280
+ stagedRoot
281
+ })));
282
+ return Object.freeze({ operations: Object.freeze(operations) });
283
+ }
284
+ finally {
285
+ await rm(temporary, { force: true, recursive: true });
286
+ }
287
+ }
288
+ async activateAndVerify(options) {
289
+ await installCohort(options.consumerRoot, true);
290
+ await assertInstalledIntegrationCurrent(options.consumerRoot);
291
+ }
292
+ async restoreAndVerify(options) {
293
+ await installCohort(options.consumerRoot, true);
294
+ await assertInstalledIntegrationCurrent(options.consumerRoot);
295
+ }
296
+ }
297
+ export const nodeConsumerUpgradeSandbox = Object.freeze(new NodeConsumerUpgradeSandbox());
298
+ //# sourceMappingURL=node-consumer-upgrade-sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-consumer-upgrade-sandbox.js","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/node-consumer-upgrade-sandbox.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import type { ConsumerIntegrationDigest, ConsumerIntegrationFileObservation, QualifiedDocsCohortBindingV1 } from "../domain/model.js";
2
2
  import type { PnpmManifestPlanV1, PnpmManifestPlannerV1 } from "../application/ports/consumer-integration-planners.js";
3
3
  export type { PnpmManifestPlanV1 } from "../application/ports/consumer-integration-planners.js";
4
+ export declare function projectPnpmManifestCohortPinsV1(input: {
5
+ readonly bytes: Uint8Array;
6
+ readonly cohort: QualifiedDocsCohortBindingV1;
7
+ }): Uint8Array;
4
8
  export declare function planPnpmManifestV1(input: {
5
9
  readonly observation: ConsumerIntegrationFileObservation;
6
10
  readonly profilePath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"pnpm-manifest-adapter-v1.d.ts","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/pnpm-manifest-adapter-v1.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,yBAAyB,EACzB,kCAAkC,EAElC,4BAA4B,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,uDAAuD,CAAC;AAU/D,YAAY,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAoGhG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,QAAQ,CAAC,WAAW,EAAE,kCAAkC,CAAC;IACzD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC;IAC9C,QAAQ,CAAC,uBAAuB,CAAC,EAAE,yBAAyB,CAAC;CAC9D,GAAG,kBAAkB,CA8ErB;AAED,eAAO,MAAM,qBAAqB,EAAE,qBAElC,CAAC"}
1
+ {"version":3,"file":"pnpm-manifest-adapter-v1.d.ts","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/pnpm-manifest-adapter-v1.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,yBAAyB,EACzB,kCAAkC,EAElC,4BAA4B,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,uDAAuD,CAAC;AAU/D,YAAY,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAsGhG,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IACrD,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC;CAC/C,GAAG,UAAU,CAgCb;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,QAAQ,CAAC,WAAW,EAAE,kCAAkC,CAAC;IACzD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC;IAC9C,QAAQ,CAAC,uBAAuB,CAAC,EAAE,yBAAyB,CAAC;CAC9D,GAAG,kBAAkB,CA8ErB;AAED,eAAO,MAAM,qBAAqB,EAAE,qBAElC,CAAC"}
@@ -8,7 +8,9 @@ function issue(subject, code, message) {
8
8
  }
9
9
  function rejectPrototypeKeys(value, path = "package.json") {
10
10
  if (Array.isArray(value)) {
11
- value.forEach((entry, index) => rejectPrototypeKeys(entry, `${path}[${index}]`));
11
+ value.forEach((entry, index) => {
12
+ rejectPrototypeKeys(entry, `${path}[${index}]`);
13
+ });
12
14
  return;
13
15
  }
14
16
  if (typeof value !== "object" || value === null) {
@@ -81,6 +83,35 @@ function cohortDependencyIssues(dependencies, devDependencies, optionalDependenc
81
83
  }
82
84
  return issues;
83
85
  }
86
+ export function projectPnpmManifestCohortPinsV1(input) {
87
+ const { manifest, source } = parseManifest(input.bytes);
88
+ const issues = manifestShapeIssues(manifest);
89
+ const dependencies = recordField(manifest, "dependencies");
90
+ const optionalDependencies = recordField(manifest, "optionalDependencies");
91
+ const peerDependencies = recordField(manifest, "peerDependencies");
92
+ for (const packageName of [DOCS_PACKAGE, FOUNDATION_PACKAGE]) {
93
+ for (const [field, declarations] of [
94
+ ["dependencies", dependencies],
95
+ ["optionalDependencies", optionalDependencies],
96
+ ["peerDependencies", peerDependencies]
97
+ ]) {
98
+ if (declarations[packageName] !== undefined) {
99
+ issues.push(issue(`package.json#${field}`, "DOCS_CONSUMER_NON_DEV_DEPENDENCY", `${packageName} may be declared only in root devDependencies.`));
100
+ }
101
+ }
102
+ }
103
+ if (issues.length > 0) {
104
+ throw new TypeError(issues.map(({ message }) => message).join(" "));
105
+ }
106
+ let postimage = source;
107
+ for (const [packageName, version] of [
108
+ [DOCS_PACKAGE, input.cohort.packages.docsProtocol.version],
109
+ [FOUNDATION_PACKAGE, input.cohort.packages.engineeringFoundation.version]
110
+ ]) {
111
+ postimage = applyField(postimage, ["devDependencies", packageName], version);
112
+ }
113
+ return Buffer.from(postimage, "utf8");
114
+ }
84
115
  export function planPnpmManifestV1(input) {
85
116
  if (input.observation.state === "absent") {
86
117
  const empty = digestBytes(new Uint8Array());
@@ -1 +1 @@
1
- {"version":3,"file":"pnpm-manifest-adapter-v1.js","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/pnpm-manifest-adapter-v1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAWvE,OAAO,EACL,gCAAgC,EAChC,oBAAoB,EACpB,WAAW,EACZ,MAAM,wDAAwD,CAAC;AAEhE,MAAM,YAAY,GAAG,4BAA4B,CAAC;AAClD,MAAM,kBAAkB,GAAG,qCAAqC,CAAC;AAIjE,SAAS,KAAK,CAAC,OAAe,EAAE,IAAY,EAAE,OAAe;IAC3D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,IAAI,GAAG,cAAc;IAChE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QAC5E,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,IAAI,GAAG,gBAAgB,CAAC,CAAC;QACtD,CAAC;QACD,mBAAmB,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAc;IAChC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACzD,OAAO;QACL,GAAG;QACH,YAAY,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;KACnD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,IAAkC,EAAE,KAAc;IACpF,OAAO,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE;QACzD,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC;KACtC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,KAAiB;IAItC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACzC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAiC;IAC5D,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI;QAClB,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,kBAAkB;KAChF,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,KAAK,KAAK,SAAS;YACrB,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACxE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,KAAK,EAAE,EAAE,sCAAsC,EAAE,GAAG,KAAK,mCAAmC,CAAC,CAAC,CAAC;QACnI,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAC7B,YAAqC,EACrC,eAAwC,EACxC,oBAA6C,EAC7C,gBAAyC,EACzC,MAAoC;IAEpC,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,KAAK,MAAM,WAAW,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAE,CAAC;QAC7D,KAAK,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI;YAClC,CAAC,cAAc,EAAE,YAAY,CAAC;YAC9B,CAAC,sBAAsB,EAAE,oBAAoB,CAAC;YAC9C,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;SAC9B,EAAE,CAAC;YACX,IAAI,YAAY,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,KAAK,CACf,gBAAgB,KAAK,EAAE,EACvB,kCAAkC,EAClC,GAAG,WAAW,gDAAgD,CAC/D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,gBAAgB,GAAG;QACvB,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO;QACpD,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,OAAO;KAC3D,CAAC;IACX,KAAK,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACtE,IAAI,eAAe,CAAC,WAAW,CAAC,KAAK,OAAO,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,gCAAgC,WAAW,EAAE,EAAE,mCAAmC,EAAE,UAAU,WAAW,iDAAiD,OAAO,yBAAyB,CAAC,CAAC,CAAC;QACjN,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAKlC;IACC,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;QAC5C,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,aAAa,EAAE,KAAK;YACpB,cAAc,EAAE,KAAK;YACrB,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,gCAAgC,EAAE,+EAA+E,CAAC,CAAC;SACnJ,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,MAAc,CAAC;IACnB,IAAI,QAAiC,CAAC;IACtC,IAAI,CAAC;QACH,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,aAAa;YACb,cAAc,EAAE,aAAa;YAC7B,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,gCAAgC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC;SACvI,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACjE,MAAM,oBAAoB,GAAG,WAAW,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IAC3E,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IACnE,MAAM,CAAC,IAAI,CAAC,GAAG,sBAAsB,CACnC,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,CAAC,MAAM,CACb,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACrF,MAAM;QACN,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI;KACxB,CAAC,CAAC,CAAC;IACJ,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CACnD,gCAAgC,CAAC,eAAe,CAAC,EACjD,MAAM,CACP,CAAC,CAAC;IACH,IAAI,SAAS,GAAG,MAAM,CAAC;IACvB,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/D,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,MAAM,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,MAAM,EAAE,EAAE,yCAAyC,EAAE,GAAG,GAAG,QAAQ,IAAI,oDAAoD,CAAC,CAAC,CAAC;QAC1K,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,OAAO;YAC9C,qBAAqB,KAAK,KAAK,CAAC,uBAAuB,EAAE,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,MAAM,EAAE,EAAE,wCAAwC,EAAE,GAAG,MAAM,2DAA2D,CAAC,CAAC,CAAC;YACrK,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,SAAS,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IAC7F,CAAC;IACD,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;QACrC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC/E,CAAC;IACD,OAAO;QACL,KAAK,EAAE,aAAa;QACpB,aAAa;QACb,cAAc;QACd,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAA0B,MAAM,CAAC,MAAM,CAAC;IACxE,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC"}
1
+ {"version":3,"file":"pnpm-manifest-adapter-v1.js","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/pnpm-manifest-adapter-v1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { KnownFileTransactionReceiptV1 } from "@agent-teams/engineering-foundation/mutation";
2
+ import type { ConsumerIntegrationDigest, ConsumerIntegrationIssue, ConsumerUpgradeAuthorityV1 } from "../../domain/model.js";
3
+ export interface ConsumerUpgradeExecutionV1 {
4
+ readonly schemaVersion: 1;
5
+ readonly command: "consumer.upgrade";
6
+ readonly outcome: "blocked" | "current" | "upgraded";
7
+ readonly issues: readonly ConsumerIntegrationIssue[];
8
+ readonly authority?: {
9
+ readonly repository: ConsumerUpgradeAuthorityV1["repository"];
10
+ readonly path: ConsumerUpgradeAuthorityV1["path"];
11
+ readonly revision: string;
12
+ readonly cohortId: string;
13
+ readonly recordDigest: ConsumerIntegrationDigest;
14
+ readonly qualificationEventDigest: ConsumerIntegrationDigest;
15
+ };
16
+ readonly receipt?: KnownFileTransactionReceiptV1;
17
+ }
18
+ //# sourceMappingURL=consumer-upgrade-execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumer-upgrade-execution.d.ts","sourceRoot":"","sources":["../../../../src/consumer-integration/application/model/consumer-upgrade-execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC9B,MAAM,8CAA8C,CAAC;AAEtD,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,QAAQ,CAAC,UAAU,EAAE,0BAA0B,CAAC,YAAY,CAAC,CAAC;QAC9D,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC;QACjD,QAAQ,CAAC,wBAAwB,EAAE,yBAAyB,CAAC;KAC9D,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,EAAE,6BAA6B,CAAC;CAClD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=consumer-upgrade-execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumer-upgrade-execution.js","sourceRoot":"","sources":["../../../../src/consumer-integration/application/model/consumer-upgrade-execution.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ import type { KnownFileTransactionOperationInput } from "@agent-teams/engineering-foundation/mutation";
2
+ import type { ConsumerIntegrationDesiredStateV1, ConsumerUpgradeAuthorityV1 } from "../../domain/model.js";
3
+ export interface ConsumerUpgradeAuthorityReader {
4
+ read(options: {
5
+ readonly cohortId: string;
6
+ readonly repository: ConsumerIntegrationDesiredStateV1["repository"];
7
+ readonly revision?: string;
8
+ }): Promise<ConsumerUpgradeAuthorityV1>;
9
+ }
10
+ export interface PreparedConsumerUpgradeV1 {
11
+ readonly operations: readonly KnownFileTransactionOperationInput[];
12
+ }
13
+ export interface ConsumerUpgradeSandboxPort {
14
+ prepare(options: {
15
+ readonly authority: ConsumerUpgradeAuthorityV1;
16
+ readonly consumerRoot: string;
17
+ readonly current: ConsumerIntegrationDesiredStateV1;
18
+ }): Promise<PreparedConsumerUpgradeV1>;
19
+ activateAndVerify(options: {
20
+ readonly authority: ConsumerUpgradeAuthorityV1;
21
+ readonly consumerRoot: string;
22
+ }): Promise<void>;
23
+ restoreAndVerify(options: {
24
+ readonly consumerRoot: string;
25
+ readonly current: ConsumerIntegrationDesiredStateV1;
26
+ }): Promise<void>;
27
+ }
28
+ //# sourceMappingURL=consumer-upgrade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumer-upgrade.d.ts","sourceRoot":"","sources":["../../../../src/consumer-integration/application/ports/consumer-upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kCAAkC,EACnC,MAAM,8CAA8C,CAAC;AAEtD,OAAO,KAAK,EACV,iCAAiC,EACjC,0BAA0B,EAC3B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,8BAA8B;IAC7C,IAAI,CAAC,OAAO,EAAE;QACZ,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,UAAU,EAAE,iCAAiC,CAAC,YAAY,CAAC,CAAC;QACrE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC5B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,EAAE,SAAS,kCAAkC,EAAE,CAAC;CACpE;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,OAAO,EAAE;QACf,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC;QAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,OAAO,EAAE,iCAAiC,CAAC;KACrD,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACvC,iBAAiB,CAAC,OAAO,EAAE;QACzB,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC;QAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,gBAAgB,CAAC,OAAO,EAAE;QACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,OAAO,EAAE,iCAAiC,CAAC;KACrD,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=consumer-upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumer-upgrade.js","sourceRoot":"","sources":["../../../../src/consumer-integration/application/ports/consumer-upgrade.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import type { ConsumerUpgradeAuthorityReader, ConsumerUpgradeSandboxPort } from "../ports/consumer-upgrade.js";
2
+ import type { ConsumerIntegrationLifecyclePorts } from "./run-consumer-integration.js";
3
+ import type { ConsumerUpgradeExecutionV1 } from "../model/consumer-upgrade-execution.js";
4
+ export interface ConsumerUpgradePorts extends ConsumerIntegrationLifecyclePorts {
5
+ readonly authority: ConsumerUpgradeAuthorityReader;
6
+ readonly sandbox: ConsumerUpgradeSandboxPort;
7
+ }
8
+ export declare function createConsumerUpgradeUseCase(ports: ConsumerUpgradePorts): (options: {
9
+ readonly consumerRoot: string;
10
+ readonly authorityRevision?: string;
11
+ readonly to: string;
12
+ }) => Promise<ConsumerUpgradeExecutionV1>;
13
+ //# sourceMappingURL=upgrade-consumer-integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-consumer-integration.d.ts","sourceRoot":"","sources":["../../../../src/consumer-integration/application/use-cases/upgrade-consumer-integration.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,8BAA8B,EAC9B,0BAA0B,EAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACV,iCAAiC,EAClC,MAAM,+BAA+B,CAAC;AAMvC,OAAO,KAAK,EACV,0BAA0B,EAC3B,MAAM,wCAAwC,CAAC;AAKhD,MAAM,WAAW,oBAAqB,SAAQ,iCAAiC;IAC7E,QAAQ,CAAC,SAAS,EAAE,8BAA8B,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;CAC9C;AAwDD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,oBAAoB,aAC/B;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB,KAAG,OAAO,CAAC,0BAA0B,CAAC,CAgGxC"}