@agent-teams/docs-protocol-agent-teams 0.0.0 → 0.1.1
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.
- package/CHANGELOG.md +50 -0
- package/README.md +27 -2
- package/assets/catalog.json +1 -1
- package/assets/history/sha256-8711dbd6109740857c69462d218071818317a62949f08ecf8abdc6d6b736321f/caller.yml +14 -0
- package/assets/history/sha256-f8da49344c3b0e9f31235de2826b1b9b392afb84515ace6af4fb5fe580e3a714/caller.yml +14 -0
- package/assets/transition-catalog.json +1 -1
- package/dist/composition/qualification-cli.d.ts.map +1 -1
- package/dist/composition/qualification-cli.js +19 -3
- package/dist/composition/qualification-cli.js.map +1 -1
- package/dist/consumer-integration/adapters/cohort-v2-authority-validator.d.ts +5 -0
- package/dist/consumer-integration/adapters/cohort-v2-authority-validator.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/cohort-v2-authority-validator.js +361 -0
- package/dist/consumer-integration/adapters/cohort-v2-authority-validator.js.map +1 -0
- package/dist/consumer-integration/adapters/consumer-integration-schema-validator.d.ts +1 -0
- package/dist/consumer-integration/adapters/consumer-integration-schema-validator.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/consumer-integration-schema-validator.js +22 -4
- package/dist/consumer-integration/adapters/consumer-integration-schema-validator.js.map +1 -1
- package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.d.ts +40 -1
- package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.js +227 -0
- package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.js.map +1 -1
- package/dist/consumer-integration/adapters/github-cohort-authority-reader.d.ts +17 -5
- package/dist/consumer-integration/adapters/github-cohort-authority-reader.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/github-cohort-authority-reader.js +123 -16
- package/dist/consumer-integration/adapters/github-cohort-authority-reader.js.map +1 -1
- package/dist/consumer-integration/adapters/node-consumer-integration-repository.d.ts +2 -1
- package/dist/consumer-integration/adapters/node-consumer-integration-repository.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/node-consumer-integration-repository.js +55 -16
- package/dist/consumer-integration/adapters/node-consumer-integration-repository.js.map +1 -1
- package/dist/consumer-integration/adapters/node-consumer-restoration-evidence.d.ts +38 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-evidence.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-evidence.js +177 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-evidence.js.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-finalization.d.ts +10 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-finalization.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-finalization.js +95 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-finalization.js.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-lock.d.ts +3 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-lock.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-lock.js +104 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-lock.js.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-scope.d.ts +9 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-scope.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-scope.js +71 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-scope.js.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-selection.d.ts +9 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-selection.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-selection.js +35 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration-selection.js.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration.d.ts +12 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration.js +102 -0
- package/dist/consumer-integration/adapters/node-consumer-restoration.js.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.d.ts +33 -5
- package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.js +111 -106
- package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.js.map +1 -1
- package/dist/consumer-integration/adapters/node-consumer-upgrade-source-proof.d.ts +20 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-source-proof.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-source-proof.js +89 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-source-proof.js.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-target.d.ts +11 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-target.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-target.js +60 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-target.js.map +1 -0
- package/dist/consumer-integration/adapters/pnpm-lockfile-policy-v1.d.ts +1 -1
- package/dist/consumer-integration/adapters/pnpm-lockfile-policy-v1.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/pnpm-lockfile-policy-v1.js +2 -3
- package/dist/consumer-integration/adapters/pnpm-lockfile-policy-v1.js.map +1 -1
- package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v1.d.ts +19 -0
- package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v1.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v1.js +184 -44
- package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v1.js.map +1 -1
- package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v2.d.ts +4 -0
- package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v2.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v2.js +64 -0
- package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v2.js.map +1 -0
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.d.ts +19 -2
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.js +65 -18
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.js.map +1 -1
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v2.d.ts +13 -0
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v2.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v2.js +37 -0
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v2.js.map +1 -0
- package/dist/consumer-integration/adapters/pnpm-runtime-closure-v1.d.ts +7 -0
- package/dist/consumer-integration/adapters/pnpm-runtime-closure-v1.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/pnpm-runtime-closure-v1.js +12 -3
- package/dist/consumer-integration/adapters/pnpm-runtime-closure-v1.js.map +1 -1
- package/dist/consumer-integration/adapters/pnpm-runtime-closure-v2.d.ts +3 -0
- package/dist/consumer-integration/adapters/pnpm-runtime-closure-v2.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/pnpm-runtime-closure-v2.js +11 -0
- package/dist/consumer-integration/adapters/pnpm-runtime-closure-v2.js.map +1 -0
- package/dist/consumer-integration/application/model/consumer-restoration.d.ts +76 -0
- package/dist/consumer-integration/application/model/consumer-restoration.d.ts.map +1 -0
- package/dist/consumer-integration/application/model/consumer-restoration.js +2 -0
- package/dist/consumer-integration/application/model/consumer-restoration.js.map +1 -0
- package/dist/consumer-integration/application/policies/consumer-integration-assets.d.ts +19 -3
- package/dist/consumer-integration/application/policies/consumer-integration-assets.d.ts.map +1 -1
- package/dist/consumer-integration/application/policies/consumer-integration-assets.js +38 -4
- package/dist/consumer-integration/application/policies/consumer-integration-assets.js.map +1 -1
- package/dist/consumer-integration/application/policies/consumer-integration-desired-state.d.ts +3 -1
- package/dist/consumer-integration/application/policies/consumer-integration-desired-state.d.ts.map +1 -1
- package/dist/consumer-integration/application/policies/consumer-integration-desired-state.js +87 -0
- package/dist/consumer-integration/application/policies/consumer-integration-desired-state.js.map +1 -1
- package/dist/consumer-integration/application/policies/consumer-restoration-proof.d.ts +12 -0
- package/dist/consumer-integration/application/policies/consumer-restoration-proof.d.ts.map +1 -0
- package/dist/consumer-integration/application/policies/consumer-restoration-proof.js +123 -0
- package/dist/consumer-integration/application/policies/consumer-restoration-proof.js.map +1 -0
- package/dist/consumer-integration/application/policies/qualified-docs-cohort-v2.d.ts +13 -0
- package/dist/consumer-integration/application/policies/qualified-docs-cohort-v2.d.ts.map +1 -0
- package/dist/consumer-integration/application/policies/qualified-docs-cohort-v2.js +38 -0
- package/dist/consumer-integration/application/policies/qualified-docs-cohort-v2.js.map +1 -0
- package/dist/consumer-integration/application/ports/consumer-integration-lifecycle.d.ts +3 -2
- package/dist/consumer-integration/application/ports/consumer-integration-lifecycle.d.ts.map +1 -1
- package/dist/consumer-integration/application/ports/consumer-integration-planners.d.ts +4 -4
- package/dist/consumer-integration/application/ports/consumer-integration-planners.d.ts.map +1 -1
- package/dist/consumer-integration/application/ports/consumer-restoration.d.ts +24 -0
- package/dist/consumer-integration/application/ports/consumer-restoration.d.ts.map +1 -0
- package/dist/consumer-integration/application/ports/consumer-restoration.js +2 -0
- package/dist/consumer-integration/application/ports/consumer-restoration.js.map +1 -0
- package/dist/consumer-integration/application/ports/consumer-upgrade.d.ts +44 -6
- package/dist/consumer-integration/application/ports/consumer-upgrade.d.ts.map +1 -1
- package/dist/consumer-integration/application/use-cases/compile-consumer-integration-v3.d.ts +39 -0
- package/dist/consumer-integration/application/use-cases/compile-consumer-integration-v3.d.ts.map +1 -0
- package/dist/consumer-integration/application/use-cases/compile-consumer-integration-v3.js +284 -0
- package/dist/consumer-integration/application/use-cases/compile-consumer-integration-v3.js.map +1 -0
- package/dist/consumer-integration/application/use-cases/plan-consumer-integration.d.ts +2 -2
- package/dist/consumer-integration/application/use-cases/plan-consumer-integration.d.ts.map +1 -1
- package/dist/consumer-integration/application/use-cases/plan-consumer-integration.js +23 -153
- package/dist/consumer-integration/application/use-cases/plan-consumer-integration.js.map +1 -1
- package/dist/consumer-integration/application/use-cases/run-consumer-integration.d.ts.map +1 -1
- package/dist/consumer-integration/application/use-cases/run-consumer-integration.js +10 -6
- package/dist/consumer-integration/application/use-cases/run-consumer-integration.js.map +1 -1
- package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.d.ts +11 -3
- package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.d.ts.map +1 -1
- package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.js +188 -39
- package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.js.map +1 -1
- package/dist/consumer-integration/composition/consumer-integration-cli.d.ts.map +1 -1
- package/dist/consumer-integration/composition/consumer-integration-cli.js +85 -15
- package/dist/consumer-integration/composition/consumer-integration-cli.js.map +1 -1
- package/dist/consumer-integration/composition/consumer-integration-planner.d.ts +6 -2
- package/dist/consumer-integration/composition/consumer-integration-planner.d.ts.map +1 -1
- package/dist/consumer-integration/composition/consumer-integration-planner.js +40 -3
- package/dist/consumer-integration/composition/consumer-integration-planner.js.map +1 -1
- package/dist/consumer-integration/composition/node-consumer-integration.d.ts +12 -0
- package/dist/consumer-integration/composition/node-consumer-integration.d.ts.map +1 -1
- package/dist/consumer-integration/composition/node-consumer-integration.js +17 -1
- package/dist/consumer-integration/composition/node-consumer-integration.js.map +1 -1
- package/dist/consumer-integration/composition/qualification-v3-boundary.d.ts +20 -0
- package/dist/consumer-integration/composition/qualification-v3-boundary.d.ts.map +1 -0
- package/dist/consumer-integration/composition/qualification-v3-boundary.js +29 -0
- package/dist/consumer-integration/composition/qualification-v3-boundary.js.map +1 -0
- package/dist/consumer-integration/domain/model.d.ts +61 -0
- package/dist/consumer-integration/domain/model.d.ts.map +1 -1
- package/dist/consumer-integration/generated/canonical-assets.d.ts +3 -2
- package/dist/consumer-integration/generated/canonical-assets.d.ts.map +1 -1
- package/dist/consumer-integration/generated/canonical-assets.js +3 -2
- package/dist/consumer-integration/generated/canonical-assets.js.map +1 -1
- package/dist/consumer-integration/index.d.ts +3 -1
- package/dist/consumer-integration/index.d.ts.map +1 -1
- package/dist/consumer-integration/index.js +1 -0
- package/dist/consumer-integration/index.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/qualification/index.d.ts +6 -0
- package/dist/qualification/index.d.ts.map +1 -1
- package/dist/qualification/index.js +3 -0
- package/dist/qualification/index.js.map +1 -1
- package/dist/qualification/qualification-v3-authority.d.ts +14 -0
- package/dist/qualification/qualification-v3-authority.d.ts.map +1 -0
- package/dist/qualification/qualification-v3-authority.js +5 -0
- package/dist/qualification/qualification-v3-authority.js.map +1 -0
- package/dist/qualification/qualification-v3-observer.d.ts +7 -0
- package/dist/qualification/qualification-v3-observer.d.ts.map +1 -0
- package/dist/qualification/qualification-v3-observer.js +22 -0
- package/dist/qualification/qualification-v3-observer.js.map +1 -0
- package/dist/qualification/qualification-v3-runner.d.ts +7 -0
- package/dist/qualification/qualification-v3-runner.d.ts.map +1 -0
- package/dist/qualification/qualification-v3-runner.js +95 -0
- package/dist/qualification/qualification-v3-runner.js.map +1 -0
- package/dist/qualification/v3-contract.d.ts +58 -0
- package/dist/qualification/v3-contract.d.ts.map +1 -0
- package/dist/qualification/v3-contract.js +2 -0
- package/dist/qualification/v3-contract.js.map +1 -0
- package/package.json +3 -3
- package/schemas/docs-consumer-integration-profile/v3.schema.json +68 -0
- package/schemas/docs-consumer-managed-state/v2.schema.json +120 -0
- package/schemas/docs-consumer-restoration-execution/v1.schema.json +124 -0
- package/schemas/docs-consumer-upgrade-execution/v1.schema.json +39 -3
- package/schemas/docs-protocol-qualification-receipt/v3.schema.json +118 -0
- package/schemas/qualified-docs-cohort/v2.schema.json +149 -0
- package/skills/docs/SKILL.md +8 -6
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { execFile } from "node:child_process";
|
|
3
|
-
import {
|
|
3
|
+
import { mkdir, mkdtemp, readdir, realpath, readlink, rm, writeFile } from "node:fs/promises";
|
|
4
4
|
import { tmpdir } from "node:os";
|
|
5
5
|
import { dirname, isAbsolute, join, relative, resolve as resolvePath, sep } from "node:path";
|
|
6
|
-
import {
|
|
6
|
+
import { projectConsumerUpgradeFiles } from "./consumer-upgrade-file-projectors.js";
|
|
7
7
|
import { ConsumerIntegrationNodeError } from "./consumer-integration-node-error.js";
|
|
8
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 {
|
|
9
|
+
import { applyTargetIntegration, assertInstalledHistoricalIntegrationCurrent, assertInstalledIntegrationCurrent } from "./node-consumer-upgrade-target.js";
|
|
10
|
+
import { allowedUpgradePaths, assertCleanConsumerGitSource, assertManagedAssetsCreatedV2, assertProvedSourceSnapshot, resetProvedManagedAssetsV2 } from "./node-consumer-upgrade-source-proof.js";
|
|
11
|
+
function isAuthorityV1(value) {
|
|
12
|
+
return value.cohort.schemaVersion === 1;
|
|
13
|
+
}
|
|
10
14
|
const WORKSPACE_PATH = "pnpm-workspace.yaml";
|
|
11
15
|
const MAXIMUM_PROCESS_OUTPUT_BYTES = 4 * 1024 * 1024;
|
|
12
16
|
const MAXIMUM_INVENTORY_FILES = 100_000;
|
|
13
17
|
const MAXIMUM_INVENTORY_BYTES = 1024 * 1024 * 1024;
|
|
14
18
|
const MAXIMUM_INVENTORY_FILE_BYTES = 64 * 1024 * 1024;
|
|
15
|
-
function execute(executable, args, cwd, allowedExitCodes = [0]) {
|
|
19
|
+
function execute(executable, args, cwd, allowedExitCodes = [0], environment) {
|
|
16
20
|
return new Promise((resolve, reject) => {
|
|
17
21
|
execFile(executable, [...args], {
|
|
18
22
|
cwd,
|
|
23
|
+
...(environment === undefined ? {} : { env: environment }),
|
|
19
24
|
encoding: "utf8",
|
|
20
25
|
maxBuffer: MAXIMUM_PROCESS_OUTPUT_BYTES,
|
|
21
26
|
signal: AbortSignal.timeout(10 * 60 * 1000),
|
|
@@ -31,17 +36,7 @@ function execute(executable, args, cwd, allowedExitCodes = [0]) {
|
|
|
31
36
|
});
|
|
32
37
|
});
|
|
33
38
|
}
|
|
34
|
-
|
|
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
|
-
}
|
|
39
|
+
const assertCleanGitRoot = (root) => assertCleanConsumerGitSource(root, execute);
|
|
45
40
|
function contained(root, repositoryPath) {
|
|
46
41
|
const path = resolvePath(root, repositoryPath);
|
|
47
42
|
const relation = relative(root, path);
|
|
@@ -56,54 +51,8 @@ async function writeProjectedFile(root, path, bytes) {
|
|
|
56
51
|
await writeFile(target, bytes);
|
|
57
52
|
}
|
|
58
53
|
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-agent-teams", "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, ...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
|
-
}
|
|
54
|
+
await execute("corepack", ["pnpm", ...args], root, [0], args.includes("--offline")
|
|
55
|
+
? { ...process.env, COREPACK_ENABLE_NETWORK: "0" } : undefined);
|
|
107
56
|
}
|
|
108
57
|
function ignoredInventoryPath(prefix, name) {
|
|
109
58
|
return name === "node_modules" ||
|
|
@@ -178,21 +127,9 @@ function maximumBytes(path) {
|
|
|
178
127
|
}
|
|
179
128
|
return MAXIMUM_MANAGED_ASSET_BYTES;
|
|
180
129
|
}
|
|
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
130
|
async function operationForChangedPath(input) {
|
|
194
131
|
const [preimage, postimage] = await Promise.all([
|
|
195
|
-
readStableConsumerFile(input.
|
|
132
|
+
readStableConsumerFile(input.sourceRoot, input.path, maximumBytes(input.path), true),
|
|
196
133
|
readStableConsumerFile(input.stagedRoot, input.path, maximumBytes(input.path), true)
|
|
197
134
|
]);
|
|
198
135
|
if (preimage.state !== "file" || postimage.state !== "file") {
|
|
@@ -225,8 +162,11 @@ async function installCohort(root, offline) {
|
|
|
225
162
|
]);
|
|
226
163
|
}
|
|
227
164
|
export class NodeConsumerUpgradeSandbox {
|
|
228
|
-
async
|
|
165
|
+
async prepareGeneration(options) {
|
|
229
166
|
const head = await assertCleanGitRoot(options.consumerRoot);
|
|
167
|
+
if (head !== options.expectedSourceRevision) {
|
|
168
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_SOURCE_CHANGED", "Consumer Git HEAD changed after the source Cohort was proved current.");
|
|
169
|
+
}
|
|
230
170
|
const temporary = await realpath(await mkdtemp(join(tmpdir(), "docs-consumer-upgrade-")));
|
|
231
171
|
const beforeRoot = join(temporary, "before");
|
|
232
172
|
const stagedRoot = join(temporary, "staged");
|
|
@@ -235,6 +175,11 @@ export class NodeConsumerUpgradeSandbox {
|
|
|
235
175
|
extractHead(options.consumerRoot, head, beforeRoot),
|
|
236
176
|
extractHead(options.consumerRoot, head, stagedRoot)
|
|
237
177
|
]);
|
|
178
|
+
await assertProvedSourceSnapshot({
|
|
179
|
+
current: options.current,
|
|
180
|
+
expected: options.expectedSourceSnapshot,
|
|
181
|
+
sourceRoot: beforeRoot
|
|
182
|
+
});
|
|
238
183
|
await execute("git", ["init", "-q"], stagedRoot);
|
|
239
184
|
const [profile, manifest] = await Promise.all([
|
|
240
185
|
readStableConsumerFile(stagedRoot, INTEGRATION_PROFILE_PATH, MAXIMUM_PROFILE_BYTES, true),
|
|
@@ -243,34 +188,64 @@ export class NodeConsumerUpgradeSandbox {
|
|
|
243
188
|
if (profile.state !== "file" || manifest.state !== "file") {
|
|
244
189
|
throw new Error("unreachable");
|
|
245
190
|
}
|
|
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
191
|
const workspace = await readStableConsumerFile(stagedRoot, WORKSPACE_PATH, MAXIMUM_WORKSPACE_BYTES, false);
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
192
|
+
const fileInput = {
|
|
193
|
+
profile: profile.bytes,
|
|
194
|
+
manifest: manifest.bytes,
|
|
195
|
+
...(workspace.state === "file" ? { workspace: workspace.bytes } : {})
|
|
196
|
+
};
|
|
197
|
+
let projected;
|
|
198
|
+
if (options.current.schemaVersion === 1 && isAuthorityV1(options.authority)) {
|
|
199
|
+
projected = await projectConsumerUpgradeFiles({
|
|
200
|
+
...fileInput,
|
|
201
|
+
authority: options.authority,
|
|
202
|
+
current: options.current
|
|
262
203
|
});
|
|
263
|
-
await writeProjectedFile(stagedRoot, WORKSPACE_PATH, projectPnpmWorkspaceMigrationExclusionsV1({
|
|
264
|
-
bytes: workspace.bytes,
|
|
265
|
-
source: options.current.cohort,
|
|
266
|
-
target: options.authority.cohort
|
|
267
|
-
}));
|
|
268
204
|
}
|
|
205
|
+
else if (!isAuthorityV1(options.authority)) {
|
|
206
|
+
projected = options.current.schemaVersion === 1
|
|
207
|
+
? await projectConsumerUpgradeFiles({
|
|
208
|
+
...fileInput, authority: options.authority, current: options.current
|
|
209
|
+
})
|
|
210
|
+
: await projectConsumerUpgradeFiles({
|
|
211
|
+
...fileInput, authority: options.authority, current: options.current
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
throw new Error("unreachable");
|
|
216
|
+
}
|
|
217
|
+
await Promise.all([
|
|
218
|
+
writeProjectedFile(stagedRoot, INTEGRATION_PROFILE_PATH, projected.profile),
|
|
219
|
+
writeProjectedFile(stagedRoot, "package.json", projected.manifest),
|
|
220
|
+
...(projected.migrationWorkspace === undefined ? [] : [
|
|
221
|
+
writeProjectedFile(stagedRoot, WORKSPACE_PATH, projected.migrationWorkspace)
|
|
222
|
+
])
|
|
223
|
+
]);
|
|
269
224
|
await installCohort(stagedRoot, false);
|
|
270
|
-
if (targetWorkspace !== undefined) {
|
|
271
|
-
await writeProjectedFile(stagedRoot, WORKSPACE_PATH, targetWorkspace);
|
|
225
|
+
if (projected.targetWorkspace !== undefined) {
|
|
226
|
+
await writeProjectedFile(stagedRoot, WORKSPACE_PATH, projected.targetWorkspace);
|
|
227
|
+
}
|
|
228
|
+
if (options.current.schemaVersion === 3) {
|
|
229
|
+
if (options.managedPreimages === undefined) {
|
|
230
|
+
throw new Error("unreachable");
|
|
231
|
+
}
|
|
232
|
+
await resetProvedManagedAssetsV2({
|
|
233
|
+
current: options.current,
|
|
234
|
+
managedPreimages: options.managedPreimages,
|
|
235
|
+
stagedRoot
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
else if (!isAuthorityV1(options.authority)) {
|
|
239
|
+
await Promise.all([
|
|
240
|
+
options.current.callerWorkflowPath,
|
|
241
|
+
options.current.managedStatePath,
|
|
242
|
+
options.current.skillPath
|
|
243
|
+
].map((path) => rm(contained(stagedRoot, path))));
|
|
244
|
+
}
|
|
245
|
+
await applyTargetIntegration(stagedRoot, options.authority.cohort.cohortId, execute);
|
|
246
|
+
if (!isAuthorityV1(options.authority)) {
|
|
247
|
+
await assertManagedAssetsCreatedV2(stagedRoot, options.current);
|
|
272
248
|
}
|
|
273
|
-
await applyTargetIntegration(stagedRoot, options.authority.cohort.cohortId);
|
|
274
249
|
const changed = changedInventoryPaths(await repositoryInventory(beforeRoot), await repositoryInventory(stagedRoot));
|
|
275
250
|
const allowed = allowedUpgradePaths(options.current);
|
|
276
251
|
const unexpected = changed.filter((path) => !allowed.has(path));
|
|
@@ -282,10 +257,12 @@ export class NodeConsumerUpgradeSandbox {
|
|
|
282
257
|
.state === "absent") {
|
|
283
258
|
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_SCOPE_VIOLATION", "Cohort upgrade cannot introduce a previously absent pnpm workspace authority.");
|
|
284
259
|
}
|
|
285
|
-
await assertCleanGitRoot(options.consumerRoot)
|
|
260
|
+
if (await assertCleanGitRoot(options.consumerRoot) !== head) {
|
|
261
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_SOURCE_CHANGED", "Consumer Git HEAD changed while the successor was staged.");
|
|
262
|
+
}
|
|
286
263
|
const operations = await Promise.all(changed.map((path) => operationForChangedPath({
|
|
287
|
-
consumerRoot: options.consumerRoot,
|
|
288
264
|
path,
|
|
265
|
+
sourceRoot: beforeRoot,
|
|
289
266
|
stagedRoot
|
|
290
267
|
})));
|
|
291
268
|
return Object.freeze({ operations: Object.freeze(operations) });
|
|
@@ -294,13 +271,41 @@ export class NodeConsumerUpgradeSandbox {
|
|
|
294
271
|
await rm(temporary, { force: true, recursive: true });
|
|
295
272
|
}
|
|
296
273
|
}
|
|
297
|
-
|
|
274
|
+
prepareV1(options) {
|
|
275
|
+
return this.prepareGeneration(options);
|
|
276
|
+
}
|
|
277
|
+
prepareV2(options) {
|
|
278
|
+
return this.prepareGeneration(options);
|
|
279
|
+
}
|
|
280
|
+
prepareV1ToV2(options) {
|
|
281
|
+
return this.prepareGeneration(options);
|
|
282
|
+
}
|
|
283
|
+
async activateAndVerifyGeneration(options) {
|
|
298
284
|
await installCohort(options.consumerRoot, true);
|
|
299
|
-
await assertInstalledIntegrationCurrent(options.consumerRoot);
|
|
285
|
+
await assertInstalledIntegrationCurrent(options.consumerRoot, execute);
|
|
286
|
+
}
|
|
287
|
+
activateAndVerifyV1(options) {
|
|
288
|
+
return this.activateAndVerifyGeneration(options);
|
|
300
289
|
}
|
|
301
|
-
|
|
290
|
+
activateAndVerifyV2(options) {
|
|
291
|
+
return this.activateAndVerifyGeneration(options);
|
|
292
|
+
}
|
|
293
|
+
async restoreAndVerifyGeneration(options) {
|
|
302
294
|
await installCohort(options.consumerRoot, true);
|
|
303
|
-
|
|
295
|
+
if (options.current.schemaVersion === 1) {
|
|
296
|
+
await assertInstalledHistoricalIntegrationCurrent(options.consumerRoot, execute);
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
await assertInstalledIntegrationCurrent(options.consumerRoot, execute);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
restoreAndVerifyV1(options) {
|
|
303
|
+
return this.restoreAndVerifyGeneration(options);
|
|
304
|
+
}
|
|
305
|
+
async restoreAndVerifyV2(options) {
|
|
306
|
+
await assertCleanGitRoot(options.consumerRoot);
|
|
307
|
+
await this.restoreAndVerifyGeneration(options);
|
|
308
|
+
await assertCleanGitRoot(options.consumerRoot);
|
|
304
309
|
}
|
|
305
310
|
}
|
|
306
311
|
export const nodeConsumerUpgradeSandbox = Object.freeze(new NodeConsumerUpgradeSandbox());
|
|
@@ -1 +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
|
+
{"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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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ConsumerUpgradeManagedPreimagesV2 } from "../application/ports/consumer-upgrade.js";
|
|
2
|
+
import type { ConsumerIntegrationDesiredStateV1, ConsumerIntegrationDesiredStateV3, ConsumerIntegrationSnapshot } from "../domain/model.js";
|
|
3
|
+
type UpgradeDesiredState = ConsumerIntegrationDesiredStateV1 | ConsumerIntegrationDesiredStateV3;
|
|
4
|
+
export declare function assertCleanConsumerGitSource(root: string, execute: (executable: string, args: readonly string[], cwd: string) => Promise<{
|
|
5
|
+
readonly stdout: string;
|
|
6
|
+
}>): Promise<string>;
|
|
7
|
+
export declare function allowedUpgradePaths(current: UpgradeDesiredState): ReadonlySet<string>;
|
|
8
|
+
export declare function assertProvedSourceSnapshot(input: {
|
|
9
|
+
readonly current: UpgradeDesiredState;
|
|
10
|
+
readonly expected: ConsumerIntegrationSnapshot;
|
|
11
|
+
readonly sourceRoot: string;
|
|
12
|
+
}): Promise<void>;
|
|
13
|
+
export declare function resetProvedManagedAssetsV2(input: {
|
|
14
|
+
readonly current: ConsumerIntegrationDesiredStateV3;
|
|
15
|
+
readonly managedPreimages: ConsumerUpgradeManagedPreimagesV2;
|
|
16
|
+
readonly stagedRoot: string;
|
|
17
|
+
}): Promise<void>;
|
|
18
|
+
export declare function assertManagedAssetsCreatedV2(root: string, current: UpgradeDesiredState): Promise<void>;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=node-consumer-upgrade-source-proof.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-consumer-upgrade-source-proof.d.ts","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/node-consumer-upgrade-source-proof.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,iCAAiC,EAClC,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EACV,iCAAiC,EACjC,iCAAiC,EACjC,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAY5B,KAAK,mBAAmB,GAAG,iCAAiC,GAAG,iCAAiC,CAAC;AAGjG,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC,GACD,OAAO,CAAC,MAAM,CAAC,CAuBjB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,WAAW,CAAC,MAAM,CAAC,CAWrF;AAcD,wBAAsB,0BAA0B,CAAC,KAAK,EAAE;IACtD,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBhB;AAMD,wBAAsB,0BAA0B,CAAC,KAAK,EAAE;IACtD,QAAQ,CAAC,OAAO,EAAE,iCAAiC,CAAC;IACpD,QAAQ,CAAC,gBAAgB,EAAE,iCAAiC,CAAC;IAC7D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,GAAG,OAAO,CAAC,IAAI,CAAC,CAkChB;AAED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAWf"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { rm } from "node:fs/promises";
|
|
3
|
+
import { isAbsolute, relative, resolve as resolvePath, sep } from "node:path";
|
|
4
|
+
import { ConsumerIntegrationNodeError } from "./consumer-integration-node-error.js";
|
|
5
|
+
import { INTEGRATION_PROFILE_PATH, MAXIMUM_LOCKFILE_BYTES, MAXIMUM_MANAGED_ASSET_BYTES, MAXIMUM_MANIFEST_BYTES, MAXIMUM_PROFILE_BYTES, readStableConsumerFile, sameConsumerFileObservation } from "./node-consumer-repository-files.js";
|
|
6
|
+
const WORKSPACE_PATH = "pnpm-workspace.yaml";
|
|
7
|
+
export async function assertCleanConsumerGitSource(root, execute) {
|
|
8
|
+
const status = await execute("git", [
|
|
9
|
+
"status", "--porcelain=v1", "--untracked-files=all", "--", ".",
|
|
10
|
+
":(exclude).agent-teams-local", ":(exclude).agent-teams-local/**"
|
|
11
|
+
], root);
|
|
12
|
+
if (status.stdout !== "") {
|
|
13
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_DIRTY_WORKTREE", "One-command Cohort upgrade requires a clean consumer Git worktree.");
|
|
14
|
+
}
|
|
15
|
+
const head = (await execute("git", ["rev-parse", "HEAD"], root)).stdout.trim();
|
|
16
|
+
if (!/^(?!0{40}$)[0-9a-f]{40}$/u.test(head)) {
|
|
17
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_GIT_INVALID", "Consumer worktree must have one exact Git HEAD.");
|
|
18
|
+
}
|
|
19
|
+
return head;
|
|
20
|
+
}
|
|
21
|
+
export function allowedUpgradePaths(current) {
|
|
22
|
+
return new Set([
|
|
23
|
+
"AGENTS.md",
|
|
24
|
+
INTEGRATION_PROFILE_PATH,
|
|
25
|
+
"package.json",
|
|
26
|
+
"pnpm-lock.yaml",
|
|
27
|
+
WORKSPACE_PATH,
|
|
28
|
+
current.skillPath,
|
|
29
|
+
current.callerWorkflowPath,
|
|
30
|
+
current.managedStatePath
|
|
31
|
+
]);
|
|
32
|
+
}
|
|
33
|
+
function contained(root, repositoryPath) {
|
|
34
|
+
const path = resolvePath(root, repositoryPath);
|
|
35
|
+
const relation = relative(root, path);
|
|
36
|
+
if (isAbsolute(relation) || relation === ".." || relation.startsWith(`..${sep}`)) {
|
|
37
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_PATH_ESCAPE", `Upgrade path escapes the disposable repository: ${repositoryPath}.`);
|
|
38
|
+
}
|
|
39
|
+
return path;
|
|
40
|
+
}
|
|
41
|
+
export async function assertProvedSourceSnapshot(input) {
|
|
42
|
+
const definitions = [
|
|
43
|
+
["integrationProfile", INTEGRATION_PROFILE_PATH, MAXIMUM_PROFILE_BYTES, true],
|
|
44
|
+
["lockfile", "pnpm-lock.yaml", MAXIMUM_LOCKFILE_BYTES, true],
|
|
45
|
+
["packageManifest", "package.json", MAXIMUM_MANIFEST_BYTES, true],
|
|
46
|
+
["agents", "AGENTS.md", MAXIMUM_MANAGED_ASSET_BYTES, false],
|
|
47
|
+
["skill", input.current.skillPath, MAXIMUM_MANAGED_ASSET_BYTES, false],
|
|
48
|
+
["callerWorkflow", input.current.callerWorkflowPath, MAXIMUM_MANAGED_ASSET_BYTES, false],
|
|
49
|
+
["managedState", input.current.managedStatePath, MAXIMUM_MANAGED_ASSET_BYTES, false]
|
|
50
|
+
];
|
|
51
|
+
for (const [key, path, byteLimit, required] of definitions) {
|
|
52
|
+
const observed = await readStableConsumerFile(input.sourceRoot, path, byteLimit, required);
|
|
53
|
+
if (!sameConsumerFileObservation(input.expected[key], observed)) {
|
|
54
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_SOURCE_CHANGED", `Committed source differs from the proved source snapshot: ${path}.`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function sha256(bytes) {
|
|
59
|
+
return `sha256:${createHash("sha256").update(bytes).digest("hex")}`;
|
|
60
|
+
}
|
|
61
|
+
export async function resetProvedManagedAssetsV2(input) {
|
|
62
|
+
const entries = [
|
|
63
|
+
[input.current.callerWorkflowPath, input.managedPreimages.callerWorkflow],
|
|
64
|
+
[input.current.managedStatePath, input.managedPreimages.managedState],
|
|
65
|
+
[input.current.skillPath, input.managedPreimages.skill]
|
|
66
|
+
];
|
|
67
|
+
if (new Set(entries.map(([path]) => path)).size !== entries.length) {
|
|
68
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_SOURCE_CHANGED", "Managed source asset paths are not distinct.");
|
|
69
|
+
}
|
|
70
|
+
for (const [path, proof] of entries) {
|
|
71
|
+
if (proof.path !== path) {
|
|
72
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_SOURCE_CHANGED", `Managed source asset proof path differs from the profile: ${path}.`);
|
|
73
|
+
}
|
|
74
|
+
const observed = await readStableConsumerFile(input.stagedRoot, path, MAXIMUM_MANAGED_ASSET_BYTES, true);
|
|
75
|
+
if (observed.state !== "file" || observed.mode !== proof.mode ||
|
|
76
|
+
sha256(observed.bytes) !== proof.digest) {
|
|
77
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_SOURCE_CHANGED", `Managed source asset differs from the proved source plan: ${path}.`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
await Promise.all(entries.map(([path]) => rm(contained(input.stagedRoot, path))));
|
|
81
|
+
}
|
|
82
|
+
export async function assertManagedAssetsCreatedV2(root, current) {
|
|
83
|
+
await Promise.all([
|
|
84
|
+
current.callerWorkflowPath,
|
|
85
|
+
current.managedStatePath,
|
|
86
|
+
current.skillPath
|
|
87
|
+
].map((path) => readStableConsumerFile(root, path, MAXIMUM_MANAGED_ASSET_BYTES, true)));
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=node-consumer-upgrade-source-proof.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-consumer-upgrade-source-proof.js","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/node-consumer-upgrade-source-proof.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
interface ProcessResult {
|
|
2
|
+
readonly code: number;
|
|
3
|
+
readonly stderr: string;
|
|
4
|
+
readonly stdout: string;
|
|
5
|
+
}
|
|
6
|
+
type Execute = (executable: string, args: readonly string[], cwd: string, allowedExitCodes?: readonly number[]) => Promise<ProcessResult>;
|
|
7
|
+
export declare function assertInstalledIntegrationCurrent(root: string, execute: Execute): Promise<void>;
|
|
8
|
+
export declare function assertInstalledHistoricalIntegrationCurrent(root: string, execute: Execute): Promise<void>;
|
|
9
|
+
export declare function applyTargetIntegration(root: string, cohortId: string, execute: Execute): Promise<void>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=node-consumer-upgrade-target.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-consumer-upgrade-target.d.ts","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/node-consumer-upgrade-target.ts"],"names":[],"mappings":"AAKA,UAAU,aAAa;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,OAAO,GAAG,CACb,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,MAAM,EACX,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,KACjC,OAAO,CAAC,aAAa,CAAC,CAAC;AA8C5B,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,2CAA2C,CAC/D,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CA4Bf"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { lstat } from "node:fs/promises";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { ConsumerIntegrationNodeError } from "./consumer-integration-node-error.js";
|
|
4
|
+
function parseExecution(result) {
|
|
5
|
+
try {
|
|
6
|
+
const parsed = JSON.parse(result.stdout);
|
|
7
|
+
if (typeof parsed === "object" && parsed !== null && !Array.isArray(parsed)) {
|
|
8
|
+
return parsed;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
catch { }
|
|
12
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_TARGET_INVALID", "Target Docs Protocol CLI did not return one JSON execution envelope.");
|
|
13
|
+
}
|
|
14
|
+
async function invoke(root, args, execute, owner = "managed-target") {
|
|
15
|
+
const packageName = owner === "historical-source" ? "docs-protocol" : "docs-protocol-agent-teams";
|
|
16
|
+
const cli = join(root, "node_modules", "@agent-teams", packageName, "dist", "cli.js");
|
|
17
|
+
const metadata = await lstat(cli);
|
|
18
|
+
if (!metadata.isFile() || metadata.isSymbolicLink() || metadata.nlink > 1) {
|
|
19
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_TARGET_INVALID", "Installed target Docs Protocol CLI is not one regular package file.");
|
|
20
|
+
}
|
|
21
|
+
const result = await execute(process.execPath, [cli, ...args, "--consumer", root, "--json"], root, [0, 1]);
|
|
22
|
+
const execution = parseExecution(result);
|
|
23
|
+
if (result.code !== 0 && ["current", "applied"].includes(String(execution["outcome"]))) {
|
|
24
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_TARGET_INVALID", "An installed CLI with a nonzero exit cannot report successful activation.");
|
|
25
|
+
}
|
|
26
|
+
return execution;
|
|
27
|
+
}
|
|
28
|
+
export async function assertInstalledIntegrationCurrent(root, execute) {
|
|
29
|
+
if ((await invoke(root, ["check"], execute))["outcome"] !== "current") {
|
|
30
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_TARGET_BLOCKED", "Target Docs Protocol check did not converge in the disposable repository.");
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export async function assertInstalledHistoricalIntegrationCurrent(root, execute) {
|
|
34
|
+
const result = await invoke(root, ["consumer", "check"], execute, "historical-source");
|
|
35
|
+
if (result["outcome"] !== "current") {
|
|
36
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_SOURCE_NOT_CURRENT", "Restored historical Docs Protocol check did not converge.");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export async function applyTargetIntegration(root, cohortId, execute) {
|
|
40
|
+
const plan = await invoke(root, ["plan", "--to", cohortId], execute);
|
|
41
|
+
if (plan["outcome"] === "change-required") {
|
|
42
|
+
const value = plan["plan"];
|
|
43
|
+
const digest = typeof value === "object" && value !== null && !Array.isArray(value)
|
|
44
|
+
? value["planDigest"] : undefined;
|
|
45
|
+
if (typeof digest !== "string") {
|
|
46
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_TARGET_INVALID", "Target Docs Protocol Plan did not expose one exact digest.");
|
|
47
|
+
}
|
|
48
|
+
const applied = await invoke(root, ["apply", "--expect", digest], execute);
|
|
49
|
+
if (applied["outcome"] !== "applied" && applied["outcome"] !== "current") {
|
|
50
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_TARGET_BLOCKED", "Target Docs Protocol apply did not converge in the disposable repository.");
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else if (plan["outcome"] !== "current") {
|
|
54
|
+
const issues = Array.isArray(plan["issues"])
|
|
55
|
+
? JSON.stringify(plan["issues"]).slice(0, 4000) : "no bounded issue detail";
|
|
56
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UPGRADE_TARGET_BLOCKED", `Target Docs Protocol rejected the projected Cohort in the disposable repository: ${issues}`);
|
|
57
|
+
}
|
|
58
|
+
await assertInstalledIntegrationCurrent(root, execute);
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=node-consumer-upgrade-target.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-consumer-upgrade-target.js","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/node-consumer-upgrade-target.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare function validPnpmPeerContext(value: unknown, exactVersion: string): value is string;
|
|
2
|
-
export declare function targetsManagedPackage(value: unknown): boolean;
|
|
2
|
+
export declare function targetsManagedPackage(value: unknown, packageNames: readonly string[]): boolean;
|
|
3
3
|
//# sourceMappingURL=pnpm-lockfile-policy-v1.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pnpm-lockfile-policy-v1.d.ts","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/pnpm-lockfile-policy-v1.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,KAAK,IAAI,MAAM,CAgB1F;AAED,wBAAgB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"pnpm-lockfile-policy-v1.d.ts","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/pnpm-lockfile-policy-v1.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,KAAK,IAAI,MAAM,CAgB1F;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B,OAAO,CAKT"}
|
|
@@ -27,11 +27,10 @@ export function validPnpmPeerContext(value, exactVersion) {
|
|
|
27
27
|
}
|
|
28
28
|
return contentByDepth.length === 0;
|
|
29
29
|
}
|
|
30
|
-
export function targetsManagedPackage(value) {
|
|
30
|
+
export function targetsManagedPackage(value, packageNames) {
|
|
31
31
|
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
32
32
|
return false;
|
|
33
33
|
}
|
|
34
|
-
return Object.keys(value).some((key) => key.includes(
|
|
35
|
-
key.includes("@agent-teams/engineering-foundation"));
|
|
34
|
+
return Object.keys(value).some((key) => packageNames.some((packageName) => key.includes(packageName)));
|
|
36
35
|
}
|
|
37
36
|
//# sourceMappingURL=pnpm-lockfile-policy-v1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pnpm-lockfile-policy-v1.js","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/pnpm-lockfile-policy-v1.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAAC,KAAc,EAAE,YAAoB;IACvE,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;QAAA,OAAO,IAAI,CAAC;IAAA,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC;QAAA,OAAO,KAAK,CAAC;IAAA,CAAC;IACvF,MAAM,cAAc,GAAc,EAAE,CAAC;IACrC,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YACtB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAC7B,IAAI,cAAc,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC;gBAAA,OAAO,KAAK,CAAC;YAAA,CAAC;YAClD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAAA,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YAAA,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAAA,OAAO,KAAK,CAAC;YAAA,CAAC;YACzE,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,qBAAqB,
|
|
1
|
+
{"version":3,"file":"pnpm-lockfile-policy-v1.js","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/pnpm-lockfile-policy-v1.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAAC,KAAc,EAAE,YAAoB;IACvE,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;QAAA,OAAO,IAAI,CAAC;IAAA,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC;QAAA,OAAO,KAAK,CAAC;IAAA,CAAC;IACvF,MAAM,cAAc,GAAc,EAAE,CAAC;IACrC,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YACtB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAC7B,IAAI,cAAc,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC;gBAAA,OAAO,KAAK,CAAC;YAAA,CAAC;YAClD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAAA,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YAAA,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAAA,OAAO,KAAK,CAAC;YAAA,CAAC;YACzE,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAc,EACd,YAA+B;IAE/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAAA,OAAO,KAAK,CAAC;IAAA,CAAC;IACxF,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACrC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAC9D,CAAC;AACJ,CAAC"}
|