@agent-teams/docs-protocol 0.2.0 → 0.3.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 +14 -0
- package/README.md +19 -7
- package/assets/history/sha256-641265ef9ecff59c16482fdae1bc8fc56002b5a4a1ee34b102438d0ca08a86a3/skill.md +29 -0
- package/assets/history/sha256-7907195753506e4b0f0e89eb3f6e495bacbd79e9b9913c9f60fc4a07dffb22e5/caller.yml +14 -0
- package/assets/transition-catalog.json +1 -1
- 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 +4 -1
- package/dist/consumer-integration/adapters/consumer-integration-schema-validator.js.map +1 -1
- package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.d.ts +10 -0
- package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.js +110 -0
- package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.js.map +1 -0
- package/dist/consumer-integration/adapters/github-cohort-authority-reader.d.ts +21 -0
- package/dist/consumer-integration/adapters/github-cohort-authority-reader.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/github-cohort-authority-reader.js +215 -0
- package/dist/consumer-integration/adapters/github-cohort-authority-reader.js.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-integration-repository.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/node-consumer-integration-repository.js +17 -92
- package/dist/consumer-integration/adapters/node-consumer-integration-repository.js.map +1 -1
- package/dist/consumer-integration/adapters/node-consumer-repository-files.d.ts +11 -0
- package/dist/consumer-integration/adapters/node-consumer-repository-files.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-repository-files.js +81 -0
- package/dist/consumer-integration/adapters/node-consumer-repository-files.js.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.d.ts +19 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.d.ts.map +1 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.js +298 -0
- package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.js.map +1 -0
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.d.ts +4 -0
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.d.ts.map +1 -1
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.js +32 -1
- package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.js.map +1 -1
- package/dist/consumer-integration/application/model/consumer-upgrade-execution.d.ts +18 -0
- package/dist/consumer-integration/application/model/consumer-upgrade-execution.d.ts.map +1 -0
- package/dist/consumer-integration/application/model/consumer-upgrade-execution.js +2 -0
- package/dist/consumer-integration/application/model/consumer-upgrade-execution.js.map +1 -0
- package/dist/consumer-integration/application/policies/consumer-integration-assets.d.ts +1 -1
- package/dist/consumer-integration/application/policies/consumer-integration-assets.d.ts.map +1 -1
- package/dist/consumer-integration/application/ports/consumer-upgrade.d.ts +28 -0
- package/dist/consumer-integration/application/ports/consumer-upgrade.d.ts.map +1 -0
- package/dist/consumer-integration/application/ports/consumer-upgrade.js +2 -0
- package/dist/consumer-integration/application/ports/consumer-upgrade.js.map +1 -0
- package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.d.ts +13 -0
- package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.d.ts.map +1 -0
- package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.js +134 -0
- package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.js.map +1 -0
- package/dist/consumer-integration/composition/consumer-integration-cli.d.ts.map +1 -1
- package/dist/consumer-integration/composition/consumer-integration-cli.js +50 -15
- package/dist/consumer-integration/composition/consumer-integration-cli.js.map +1 -1
- package/dist/consumer-integration/composition/node-consumer-integration.d.ts +6 -0
- package/dist/consumer-integration/composition/node-consumer-integration.d.ts.map +1 -1
- package/dist/consumer-integration/composition/node-consumer-integration.js +14 -0
- package/dist/consumer-integration/composition/node-consumer-integration.js.map +1 -1
- package/dist/consumer-integration/domain/model.d.ts +6 -0
- package/dist/consumer-integration/domain/model.d.ts.map +1 -1
- package/dist/consumer-integration/generated/canonical-assets.d.ts +1 -1
- package/dist/consumer-integration/generated/canonical-assets.d.ts.map +1 -1
- package/dist/consumer-integration/generated/canonical-assets.js +1 -1
- package/dist/consumer-integration/generated/canonical-assets.js.map +1 -1
- package/dist/consumer-integration/index.d.ts +3 -2
- package/dist/consumer-integration/index.d.ts.map +1 -1
- package/dist/consumer-integration/index.js +1 -1
- package/dist/consumer-integration/index.js.map +1 -1
- package/package.json +2 -1
- package/schemas/docs-consumer-upgrade-execution/v1.schema.json +44 -0
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { assertQualifiedDocsCohortBindingV1 } from "../application/policies/consumer-integration-desired-state.js";
|
|
2
|
+
import { ConsumerIntegrationNodeError } from "./consumer-integration-node-error.js";
|
|
3
|
+
import { parseJsonRecord } from "./strict-json-record.js";
|
|
4
|
+
const AUTHORITY_REPOSITORY = "agent-teams-ai/.github";
|
|
5
|
+
const AUTHORITY_PATH = "governance/docs-qualified-cohorts.json";
|
|
6
|
+
const AUTHORITY_API = `https://api.github.com/repos/${AUTHORITY_REPOSITORY}`;
|
|
7
|
+
const AUTHORITY_RAW = `https://raw.githubusercontent.com/${AUTHORITY_REPOSITORY}`;
|
|
8
|
+
const GIT_SHA = /^(?!0{40}$)[0-9a-f]{40}$/u;
|
|
9
|
+
const MAXIMUM_AUTHORITY_BYTES = 8 * 1024 * 1024;
|
|
10
|
+
const MANAGED_PACKAGES = [
|
|
11
|
+
"@agent-teams/docs-protocol",
|
|
12
|
+
"@agent-teams/engineering-foundation"
|
|
13
|
+
];
|
|
14
|
+
function record(value, subject) {
|
|
15
|
+
if (typeof value !== "object" || value === null || Array.isArray(value) ||
|
|
16
|
+
Object.getPrototypeOf(value) !== Object.prototype) {
|
|
17
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_AUTHORITY_INVALID", `${subject} must be one plain object.`);
|
|
18
|
+
}
|
|
19
|
+
return value;
|
|
20
|
+
}
|
|
21
|
+
function array(value, subject) {
|
|
22
|
+
if (!Array.isArray(value) || value.length > 4096) {
|
|
23
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_AUTHORITY_INVALID", `${subject} must be one bounded array.`);
|
|
24
|
+
}
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
27
|
+
function string(value, subject) {
|
|
28
|
+
if (typeof value !== "string" || value.length === 0 || value.length > 4096 ||
|
|
29
|
+
value.includes("\u0000")) {
|
|
30
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_AUTHORITY_INVALID", `${subject} must be one bounded string.`);
|
|
31
|
+
}
|
|
32
|
+
return value;
|
|
33
|
+
}
|
|
34
|
+
async function responseBytes(response, subject) {
|
|
35
|
+
if (!response.ok) {
|
|
36
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_AUTHORITY_UNAVAILABLE", `${subject} returned HTTP ${response.status}.`);
|
|
37
|
+
}
|
|
38
|
+
const declared = Number(response.headers.get("content-length") ?? "0");
|
|
39
|
+
if (Number.isFinite(declared) && declared > MAXIMUM_AUTHORITY_BYTES) {
|
|
40
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_AUTHORITY_INVALID", `${subject} exceeds the authority size limit.`);
|
|
41
|
+
}
|
|
42
|
+
const bytes = new Uint8Array(await response.arrayBuffer());
|
|
43
|
+
if (bytes.byteLength === 0 || bytes.byteLength > MAXIMUM_AUTHORITY_BYTES) {
|
|
44
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_AUTHORITY_INVALID", `${subject} has invalid or overlong bytes.`);
|
|
45
|
+
}
|
|
46
|
+
return bytes;
|
|
47
|
+
}
|
|
48
|
+
function timeoutSignal() {
|
|
49
|
+
return AbortSignal.timeout(20_000);
|
|
50
|
+
}
|
|
51
|
+
async function resolveAuthorityRevision(fetcher) {
|
|
52
|
+
const bytes = await responseBytes(await fetcher(`${AUTHORITY_API}/commits/main`, {
|
|
53
|
+
headers: { Accept: "application/vnd.github+json", "User-Agent": "agent-teams-docs" },
|
|
54
|
+
redirect: "error",
|
|
55
|
+
signal: timeoutSignal()
|
|
56
|
+
}), "Central authority revision");
|
|
57
|
+
const response = parseJsonRecord(new TextDecoder("utf-8", { fatal: true }).decode(bytes));
|
|
58
|
+
const revision = response["sha"];
|
|
59
|
+
if (typeof revision !== "string" || !GIT_SHA.test(revision)) {
|
|
60
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_AUTHORITY_INVALID", "Central authority did not resolve one exact Git revision.");
|
|
61
|
+
}
|
|
62
|
+
return revision;
|
|
63
|
+
}
|
|
64
|
+
async function readAuthorityRegistry(fetcher, revision) {
|
|
65
|
+
const bytes = await responseBytes(await fetcher(`${AUTHORITY_RAW}/${revision}/${AUTHORITY_PATH}`, {
|
|
66
|
+
headers: { Accept: "application/json", "User-Agent": "agent-teams-docs" },
|
|
67
|
+
redirect: "error",
|
|
68
|
+
signal: timeoutSignal()
|
|
69
|
+
}), "Central Cohort registry");
|
|
70
|
+
try {
|
|
71
|
+
return parseJsonRecord(new TextDecoder("utf-8", { fatal: true }).decode(bytes));
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_AUTHORITY_INVALID", "Central Cohort registry is not strict duplicate-free UTF-8 JSON.", { cause: error });
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function selectedLifecycleState(events, cohortId) {
|
|
78
|
+
const selected = events.map((value) => record(value, "Cohort lifecycle event"))
|
|
79
|
+
.filter((event) => event["cohort_id"] === cohortId)
|
|
80
|
+
.map((event) => {
|
|
81
|
+
const sequence = event["sequence"];
|
|
82
|
+
if (!Number.isSafeInteger(sequence) || Number(sequence) < 1) {
|
|
83
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_AUTHORITY_INVALID", `${cohortId} has an invalid lifecycle sequence.`);
|
|
84
|
+
}
|
|
85
|
+
return { event, sequence: Number(sequence) };
|
|
86
|
+
})
|
|
87
|
+
.toSorted((left, right) => left.sequence - right.sequence);
|
|
88
|
+
if (new Set(selected.map(({ sequence }) => sequence)).size !== selected.length) {
|
|
89
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_AUTHORITY_INVALID", `${cohortId} has duplicate lifecycle sequences.`);
|
|
90
|
+
}
|
|
91
|
+
const qualification = selected.filter(({ event }) => event["state"] === "QUALIFIED");
|
|
92
|
+
const last = selected.at(-1);
|
|
93
|
+
if (qualification.length !== 1 || last === undefined) {
|
|
94
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_AUTHORITY_INVALID", `${cohortId} does not have one immutable QUALIFIED lifecycle event.`);
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
qualificationEventDigest: string(qualification[0].event["event_digest"], "QUALIFIED event digest"),
|
|
98
|
+
state: string(last.event["state"], "Current Cohort lifecycle state")
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
function assertSelectable(source, state, repository) {
|
|
102
|
+
if (state === "RECOMMENDED") {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const canaries = array(source["canary_repositories"], "Cohort canary repositories")
|
|
106
|
+
.map((entry) => record(entry, "Cohort canary repository"));
|
|
107
|
+
if (["QUALIFIED", "CANARY"].includes(state) && canaries.some((entry) => String(entry["repository_id"]) === repository.id)) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_COHORT_NOT_SELECTABLE", `${String(source["cohort_id"])} is ${state} and is not selectable for repository ${repository.id}.`);
|
|
111
|
+
}
|
|
112
|
+
function packageProjection(source) {
|
|
113
|
+
const entries = array(source["packages"], "Cohort packages")
|
|
114
|
+
.map((value) => record(value, "Cohort package"));
|
|
115
|
+
const packageByName = new Map(entries.map((entry) => [entry["name"], entry]));
|
|
116
|
+
if (entries.length !== MANAGED_PACKAGES.length ||
|
|
117
|
+
packageByName.size !== MANAGED_PACKAGES.length ||
|
|
118
|
+
MANAGED_PACKAGES.some((name) => !packageByName.has(name))) {
|
|
119
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_AUTHORITY_INVALID", "Qualified Cohort must select exactly the two managed packages.");
|
|
120
|
+
}
|
|
121
|
+
const docs = packageByName.get(MANAGED_PACKAGES[0]);
|
|
122
|
+
const foundation = packageByName.get(MANAGED_PACKAGES[1]);
|
|
123
|
+
return {
|
|
124
|
+
docsProtocol: {
|
|
125
|
+
version: string(docs["version"], "Docs Protocol version"),
|
|
126
|
+
integrity: string(docs["integrity"], "Docs Protocol integrity")
|
|
127
|
+
},
|
|
128
|
+
engineeringFoundation: {
|
|
129
|
+
version: string(foundation["version"], "Foundation version"),
|
|
130
|
+
integrity: string(foundation["integrity"], "Foundation integrity")
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
function cohortProjection(source, qualificationEventDigest) {
|
|
135
|
+
const workflow = record(source["reusable_workflow"], "Cohort reusable workflow");
|
|
136
|
+
const assets = record(source["assets"], "Cohort assets");
|
|
137
|
+
const skill = record(assets["skill"], "Cohort Skill asset");
|
|
138
|
+
const caller = record(assets["caller_workflow"], "Cohort caller workflow asset");
|
|
139
|
+
const assetCatalog = record(assets["asset_catalog"], "Cohort asset catalog");
|
|
140
|
+
const transitionCatalog = record(assets["transition_catalog"], "Cohort transition catalog");
|
|
141
|
+
const runtime = record(source["runtime"], "Cohort runtime");
|
|
142
|
+
const runtimeClosure = record(source["runtime_closure"], "Cohort runtime closure");
|
|
143
|
+
const schemas = record(source["schemas"], "Cohort schemas");
|
|
144
|
+
const projection = {
|
|
145
|
+
schemaVersion: 1,
|
|
146
|
+
cohortId: string(source["cohort_id"], "Cohort ID"),
|
|
147
|
+
channel: string(source["channel"], "Cohort channel"),
|
|
148
|
+
recordDigest: string(source["record_digest"], "Cohort record digest"),
|
|
149
|
+
qualificationEventDigest,
|
|
150
|
+
eligibleAfter: string(source["eligible_after"], "Cohort eligibility timestamp"),
|
|
151
|
+
upgradeFrom: array(source["upgrade_from"], "Cohort upgrade origins").map((entry) => string(entry, "Cohort upgrade origin")),
|
|
152
|
+
rollbackTo: array(source["rollback_to"], "Cohort rollback targets").map((entry) => string(entry, "Cohort rollback target")),
|
|
153
|
+
packages: packageProjection(source),
|
|
154
|
+
workflow: {
|
|
155
|
+
repository: string(workflow["repository"], "Workflow repository"),
|
|
156
|
+
path: string(workflow["path"], "Workflow path"),
|
|
157
|
+
revision: string(workflow["revision"], "Workflow revision"),
|
|
158
|
+
blobSha: string(workflow["blob_sha"], "Workflow blob SHA")
|
|
159
|
+
},
|
|
160
|
+
assets: {
|
|
161
|
+
skillDigest: string(skill["digest"], "Skill digest"),
|
|
162
|
+
callerWorkflowDigest: string(caller["rendered_digest"], "Caller workflow digest"),
|
|
163
|
+
assetCatalogDigest: string(assetCatalog["digest"], "Asset catalog digest"),
|
|
164
|
+
transitionCatalogDigest: string(transitionCatalog["digest"], "Transition catalog digest")
|
|
165
|
+
},
|
|
166
|
+
schemas: {
|
|
167
|
+
consumerIntegration: schemas["consumer_integration"],
|
|
168
|
+
managedState: schemas["managed_state"],
|
|
169
|
+
docsProtocol: schemas["docs_protocol"]
|
|
170
|
+
},
|
|
171
|
+
runtime: {
|
|
172
|
+
node: string(runtime["node"], "Node runtime"),
|
|
173
|
+
pnpm: string(runtime["pnpm"], "pnpm runtime"),
|
|
174
|
+
runtimeClosureDigest: string(runtimeClosure["digest"], "Runtime closure digest")
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
assertQualifiedDocsCohortBindingV1(projection);
|
|
178
|
+
return Object.freeze(projection);
|
|
179
|
+
}
|
|
180
|
+
export function projectQualifiedCohortAuthority(input) {
|
|
181
|
+
const matches = array(input.registry["cohorts"], "Qualified Cohorts")
|
|
182
|
+
.map((value) => record(value, "Qualified Cohort"))
|
|
183
|
+
.filter((cohort) => cohort["cohort_id"] === input.cohortId);
|
|
184
|
+
if (matches.length !== 1) {
|
|
185
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_COHORT_UNKNOWN", `${input.cohortId} is not one exact central Cohort.`);
|
|
186
|
+
}
|
|
187
|
+
const source = matches[0];
|
|
188
|
+
const lifecycle = selectedLifecycleState(array(input.registry["events"], "Cohort lifecycle events"), input.cohortId);
|
|
189
|
+
assertSelectable(source, lifecycle.state, input.repository);
|
|
190
|
+
return Object.freeze({
|
|
191
|
+
repository: AUTHORITY_REPOSITORY,
|
|
192
|
+
path: AUTHORITY_PATH,
|
|
193
|
+
revision: input.revision,
|
|
194
|
+
cohort: cohortProjection(source, lifecycle.qualificationEventDigest)
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
export class GitHubCohortAuthorityReader {
|
|
198
|
+
#fetcher;
|
|
199
|
+
constructor(fetcher = globalThis.fetch) {
|
|
200
|
+
this.#fetcher = fetcher;
|
|
201
|
+
}
|
|
202
|
+
async read(options) {
|
|
203
|
+
if (options.revision !== undefined && !GIT_SHA.test(options.revision)) {
|
|
204
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_AUTHORITY_REVISION_INVALID", "Authority revision must be one nonzero lowercase Git SHA.");
|
|
205
|
+
}
|
|
206
|
+
const revision = await resolveAuthorityRevision(this.#fetcher);
|
|
207
|
+
if (options.revision !== undefined && options.revision !== revision) {
|
|
208
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_AUTHORITY_REVISION_STALE", "Requested authority revision is not the current protected main revision.");
|
|
209
|
+
}
|
|
210
|
+
const registry = await readAuthorityRegistry(this.#fetcher, revision);
|
|
211
|
+
return projectQualifiedCohortAuthority({ ...options, registry, revision });
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
export const githubCohortAuthorityReader = Object.freeze(new GitHubCohortAuthorityReader());
|
|
215
|
+
//# sourceMappingURL=github-cohort-authority-reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-cohort-authority-reader.js","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/github-cohort-authority-reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-consumer-integration-repository.d.ts","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/node-consumer-integration-repository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node-consumer-integration-repository.d.ts","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/node-consumer-integration-repository.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iCAAiC,EAEjC,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,8BAA8B,EAC/B,MAAM,wDAAwD,CAAC;AAiChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AA4MpF,wBAAsB,4BAA4B,CAAC,OAAO,EAAE;IAC1D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAC1C,GAAG,OAAO,CAAC;IACV,QAAQ,CAAC,OAAO,EAAE,iCAAiC,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;CAChD,CAAC,CAsED;AAED,eAAO,MAAM,kCAAkC,EAAE,8BACM,CAAC"}
|
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { dirname, isAbsolute, relative, resolve as resolvePath, sep } from "node:path";
|
|
1
|
+
import { realpath } from "node:fs/promises";
|
|
2
|
+
import { dirname } from "node:path";
|
|
4
3
|
import { execFile } from "node:child_process";
|
|
5
4
|
import { assertConsumerIntegrationProfileSchema } from "./consumer-integration-schema-validator.js";
|
|
6
5
|
import { ConsumerIntegrationNodeError } from "./consumer-integration-node-error.js";
|
|
7
6
|
import { assertQualifiedPnpmLockfileV1 } from "./pnpm-lockfile-validator-v1.js";
|
|
8
7
|
import { parseJsonRecord } from "./strict-json-record.js";
|
|
9
8
|
import { scanConsumerRepositoryTopology } from "./bounded-repository-topology.js";
|
|
10
|
-
|
|
11
|
-
const MAXIMUM_MANIFEST_BYTES = 1024 * 1024;
|
|
12
|
-
const MAXIMUM_MANAGED_ASSET_BYTES = 8 * 1024 * 1024;
|
|
13
|
-
const MAXIMUM_LOCKFILE_BYTES = 32 * 1024 * 1024;
|
|
14
|
-
const INTEGRATION_PROFILE_PATH = "architecture/foundation/docs-consumer-integration.json";
|
|
9
|
+
import { canonicalConsumerRoot, INTEGRATION_PROFILE_PATH, MAXIMUM_LOCKFILE_BYTES, MAXIMUM_MANAGED_ASSET_BYTES, MAXIMUM_MANIFEST_BYTES, MAXIMUM_PROFILE_BYTES, readStableConsumerFile, sameConsumerFileObservation } from "./node-consumer-repository-files.js";
|
|
15
10
|
function executeGit(root, args, maximumBytes) {
|
|
16
11
|
return new Promise((resolve, reject) => {
|
|
17
12
|
execFile("git", [...args], {
|
|
@@ -29,33 +24,6 @@ function executeGit(root, args, maximumBytes) {
|
|
|
29
24
|
});
|
|
30
25
|
}
|
|
31
26
|
export { ConsumerIntegrationNodeError } from "./consumer-integration-node-error.js";
|
|
32
|
-
function errorCode(error) {
|
|
33
|
-
return error instanceof Error && "code" in error
|
|
34
|
-
? error.code
|
|
35
|
-
: undefined;
|
|
36
|
-
}
|
|
37
|
-
function contained(root, repositoryPath) {
|
|
38
|
-
const absolute = resolvePath(root, repositoryPath);
|
|
39
|
-
const relation = relative(root, absolute);
|
|
40
|
-
if (relation === ".." || relation.startsWith(`..${sep}`) || isAbsolute(relation)) {
|
|
41
|
-
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_PATH_ESCAPE", `Consumer integration path escapes the repository root: ${repositoryPath}.`);
|
|
42
|
-
}
|
|
43
|
-
return absolute;
|
|
44
|
-
}
|
|
45
|
-
async function canonicalRoot(consumerRoot) {
|
|
46
|
-
const requested = resolvePath(consumerRoot);
|
|
47
|
-
let metadata;
|
|
48
|
-
try {
|
|
49
|
-
metadata = await lstat(requested);
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_ROOT_INVALID", "Consumer root is unavailable or is not a real directory.", { cause: error });
|
|
53
|
-
}
|
|
54
|
-
if (metadata.isSymbolicLink() || !metadata.isDirectory()) {
|
|
55
|
-
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_ROOT_INVALID", "Consumer root must be one real directory.");
|
|
56
|
-
}
|
|
57
|
-
return realpath(requested);
|
|
58
|
-
}
|
|
59
27
|
function assertSingleIntegrationTopology(topology) {
|
|
60
28
|
if (topology.lockfiles.length !== 1 || topology.lockfiles[0] !== "pnpm-lock.yaml") {
|
|
61
29
|
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_NESTED_LOCKFILE_UNSUPPORTED", "V1 requires exactly one root pnpm-lock.yaml and no nested lockfiles.");
|
|
@@ -94,44 +62,6 @@ function assertNestedAgentsAuthority(topology, governedRoots) {
|
|
|
94
62
|
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_NESTED_AGENTS_UNSUPPORTED", `Nested AGENTS.md overlaps governed documentation authority: ${conflicting.join(", ")}.`);
|
|
95
63
|
}
|
|
96
64
|
}
|
|
97
|
-
async function readStableFile(root, repositoryPath, maximumBytes, required) {
|
|
98
|
-
const path = contained(root, repositoryPath);
|
|
99
|
-
let handle;
|
|
100
|
-
try {
|
|
101
|
-
handle = await open(path, constants.O_RDONLY |
|
|
102
|
-
(process.platform === "win32" ? 0 : constants.O_NOFOLLOW));
|
|
103
|
-
}
|
|
104
|
-
catch (error) {
|
|
105
|
-
if (!required && errorCode(error) === "ENOENT") {
|
|
106
|
-
return { state: "absent" };
|
|
107
|
-
}
|
|
108
|
-
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_INPUT_MISSING", `Required consumer integration input is unavailable: ${repositoryPath}.`, { cause: error });
|
|
109
|
-
}
|
|
110
|
-
try {
|
|
111
|
-
const before = await handle.stat({ bigint: true });
|
|
112
|
-
if (!before.isFile() || before.nlink > 1n || before.size > BigInt(maximumBytes)) {
|
|
113
|
-
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_INPUT_INVALID", `Consumer integration input must be one bounded, non-hardlinked regular file: ${repositoryPath}.`);
|
|
114
|
-
}
|
|
115
|
-
const bytes = await handle.readFile();
|
|
116
|
-
const [after, pathState, canonical] = await Promise.all([
|
|
117
|
-
handle.stat({ bigint: true }),
|
|
118
|
-
lstat(path, { bigint: true }),
|
|
119
|
-
realpath(path)
|
|
120
|
-
]);
|
|
121
|
-
if (pathState.isSymbolicLink() || canonical !== path ||
|
|
122
|
-
before.dev !== after.dev || before.ino !== after.ino ||
|
|
123
|
-
before.birthtimeNs !== after.birthtimeNs || before.ctimeNs !== after.ctimeNs ||
|
|
124
|
-
before.mtimeNs !== after.mtimeNs || before.size !== after.size ||
|
|
125
|
-
pathState.dev !== after.dev || pathState.ino !== after.ino ||
|
|
126
|
-
bytes.byteLength !== Number(after.size)) {
|
|
127
|
-
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_INPUT_UNSTABLE", `Consumer integration input changed during observation: ${repositoryPath}.`);
|
|
128
|
-
}
|
|
129
|
-
return { state: "file", bytes, mode: Number(after.mode) & 0o777 };
|
|
130
|
-
}
|
|
131
|
-
finally {
|
|
132
|
-
await handle.close();
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
65
|
function rejectPrototypeKeys(value, path = "integration profile") {
|
|
136
66
|
if (Array.isArray(value)) {
|
|
137
67
|
value.forEach((entry, index) => {
|
|
@@ -165,7 +95,7 @@ async function assertQualifiedPnpmRoot(root) {
|
|
|
165
95
|
if (major !== 24 || (minor ?? 0) < 18) {
|
|
166
96
|
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UNSUPPORTED_NODE", "V1 check and plan require Node >=24.18.0 <25.");
|
|
167
97
|
}
|
|
168
|
-
const manifestObservation = await
|
|
98
|
+
const manifestObservation = await readStableConsumerFile(root, "package.json", MAXIMUM_MANIFEST_BYTES, true);
|
|
169
99
|
if (manifestObservation.state !== "file") {
|
|
170
100
|
throw new Error("unreachable");
|
|
171
101
|
}
|
|
@@ -183,23 +113,18 @@ async function assertQualifiedPnpmRoot(root) {
|
|
|
183
113
|
if (match === null || Number(match[2]) < 17) {
|
|
184
114
|
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UNSUPPORTED_PACKAGE_MANAGER", "V1 requires one exact root packageManager declaration within >=11.17.0 <12.");
|
|
185
115
|
}
|
|
186
|
-
const nodeVersion = await
|
|
116
|
+
const nodeVersion = await readStableConsumerFile(root, ".node-version", 128, true);
|
|
187
117
|
if (nodeVersion.state !== "file" ||
|
|
188
118
|
!/^24\.(?:1[89]|[2-9][0-9])\.[0-9]+\n?$/u.test(Buffer.from(nodeVersion.bytes).toString("utf8"))) {
|
|
189
119
|
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_NODE_VERSION_GATE_INVALID", ".node-version must pin one exact Node version within >=24.18.0 <25.");
|
|
190
120
|
}
|
|
191
|
-
await
|
|
121
|
+
await readStableConsumerFile(root, "pnpm-lock.yaml", MAXIMUM_LOCKFILE_BYTES, true);
|
|
192
122
|
for (const path of ["package-lock.json", "yarn.lock", "bun.lock", "bun.lockb"]) {
|
|
193
|
-
if ((await
|
|
123
|
+
if ((await readStableConsumerFile(root, path, 1024, false)).state !== "absent") {
|
|
194
124
|
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_UNSUPPORTED_PACKAGE_MANAGER", `Multiple or unsupported package-manager evidence is present: ${path}.`);
|
|
195
125
|
}
|
|
196
126
|
}
|
|
197
127
|
}
|
|
198
|
-
function sameObservation(left, right) {
|
|
199
|
-
return left.state === right.state && (left.state === "absent" ||
|
|
200
|
-
(right.state === "file" && left.mode === right.mode &&
|
|
201
|
-
Buffer.from(left.bytes).equals(Buffer.from(right.bytes))));
|
|
202
|
-
}
|
|
203
128
|
async function assertSnapshotStillStable(input) {
|
|
204
129
|
const paths = [
|
|
205
130
|
["integrationProfile", INTEGRATION_PROFILE_PATH, MAXIMUM_PROFILE_BYTES, true],
|
|
@@ -210,14 +135,14 @@ async function assertSnapshotStillStable(input) {
|
|
|
210
135
|
["callerWorkflow", input.desired.callerWorkflowPath, MAXIMUM_MANAGED_ASSET_BYTES, false],
|
|
211
136
|
["managedState", input.desired.managedStatePath, MAXIMUM_MANAGED_ASSET_BYTES, false]
|
|
212
137
|
];
|
|
213
|
-
const reread = await Promise.all(paths.map(([, path, maximum, required]) =>
|
|
214
|
-
const unstable = paths.find(([key], index) => !
|
|
138
|
+
const reread = await Promise.all(paths.map(([, path, maximum, required]) => readStableConsumerFile(input.root, path, maximum, required)));
|
|
139
|
+
const unstable = paths.find(([key], index) => !sameConsumerFileObservation(input.snapshot[key], reread[index]));
|
|
215
140
|
if (unstable !== undefined) {
|
|
216
141
|
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_SNAPSHOT_UNSTABLE", `Consumer integration input changed while the repository snapshot was assembled: ${unstable[1]}.`);
|
|
217
142
|
}
|
|
218
143
|
}
|
|
219
144
|
async function assertQualifiedLockfile(root, desired) {
|
|
220
|
-
const observation = await
|
|
145
|
+
const observation = await readStableConsumerFile(root, "pnpm-lock.yaml", MAXIMUM_LOCKFILE_BYTES, true);
|
|
221
146
|
if (observation.state !== "file") {
|
|
222
147
|
throw new Error("unreachable");
|
|
223
148
|
}
|
|
@@ -225,7 +150,7 @@ async function assertQualifiedLockfile(root, desired) {
|
|
|
225
150
|
return observation;
|
|
226
151
|
}
|
|
227
152
|
export async function readConsumerIntegrationInput(options) {
|
|
228
|
-
const root = await
|
|
153
|
+
const root = await canonicalConsumerRoot(options.consumerRoot);
|
|
229
154
|
await assertGitRepositoryRoot(root);
|
|
230
155
|
const topology = await scanConsumerRepositoryTopology(root);
|
|
231
156
|
assertSingleIntegrationTopology(topology);
|
|
@@ -234,7 +159,7 @@ export async function readConsumerIntegrationInput(options) {
|
|
|
234
159
|
if (profilePath !== INTEGRATION_PROFILE_PATH) {
|
|
235
160
|
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_PROFILE_PATH_UNSUPPORTED", `V1 requires the integration profile at ${INTEGRATION_PROFILE_PATH}.`);
|
|
236
161
|
}
|
|
237
|
-
const profile = await
|
|
162
|
+
const profile = await readStableConsumerFile(root, profilePath, MAXIMUM_PROFILE_BYTES, true);
|
|
238
163
|
if (profile.state !== "file") {
|
|
239
164
|
throw new Error("unreachable");
|
|
240
165
|
}
|
|
@@ -262,11 +187,11 @@ export async function readConsumerIntegrationInput(options) {
|
|
|
262
187
|
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_PROFILE_INVALID", error instanceof Error ? error.message : "Integration profile is invalid.", { cause: error });
|
|
263
188
|
}
|
|
264
189
|
const [packageManifest, agents, skill, callerWorkflow, managedState] = await Promise.all([
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
190
|
+
readStableConsumerFile(root, "package.json", MAXIMUM_MANIFEST_BYTES, true),
|
|
191
|
+
readStableConsumerFile(root, "AGENTS.md", MAXIMUM_MANAGED_ASSET_BYTES, false),
|
|
192
|
+
readStableConsumerFile(root, desired.skillPath, MAXIMUM_MANAGED_ASSET_BYTES, false),
|
|
193
|
+
readStableConsumerFile(root, desired.callerWorkflowPath, MAXIMUM_MANAGED_ASSET_BYTES, false),
|
|
194
|
+
readStableConsumerFile(root, desired.managedStatePath, MAXIMUM_MANAGED_ASSET_BYTES, false)
|
|
270
195
|
]);
|
|
271
196
|
const snapshot = {
|
|
272
197
|
integrationProfile: profile,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-consumer-integration-repository.js","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/node-consumer-integration-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,IAAI,WAAW,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAS9C,OAAO,EAAE,sCAAsC,EAAE,MAAM,4CAA4C,CAAC;AACpG,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,8BAA8B,EAE/B,MAAM,kCAAkC,CAAC;AAE1C,MAAM,qBAAqB,GAAG,GAAG,GAAG,IAAI,CAAC;AACzC,MAAM,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAAC;AAC3C,MAAM,2BAA2B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AACpD,MAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAChD,MAAM,wBAAwB,GAAG,wDAAwD,CAAC;AAE1F,SAAS,UAAU,CAAC,IAAY,EAAE,IAAuB,EAAE,YAAoB;IAC7E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;YACzB,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,YAAY;SACxB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACnB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAAA,OAAO,CAAC,MAAM,CAAC,CAAC;YAAA,CAAC;iBACjC,CAAC;gBAAA,MAAM,CAAC,KAAK,CAAC,CAAC;YAAA,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEpF,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK;QAC9C,CAAC,CAAE,KAA+B,CAAC,IAAI;QACvC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,cAAsB;IACrD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjF,MAAM,IAAI,4BAA4B,CACpC,2BAA2B,EAC3B,0DAA0D,cAAc,GAAG,CAC5E,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,YAAoB;IAC/C,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAC5C,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,4BAA4B,CACpC,4BAA4B,EAC5B,0DAA0D,EAC1D,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QACzD,MAAM,IAAI,4BAA4B,CACpC,4BAA4B,EAC5B,2CAA2C,CAC5C,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,+BAA+B,CAAC,QAAoC;IAC3E,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC;QAClF,MAAM,IAAI,4BAA4B,CACpC,2CAA2C,EAC3C,sEAAsE,CACvE,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC;QAC3C,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,wBAAwB,EAAE,CAAC;QAC/D,MAAM,IAAI,4BAA4B,CACpC,0CAA0C,EAC1C,kDAAkD,wBAAwB,GAAG,CAC9E,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,4BAA4B,CACpC,oCAAoC,EACpC,iEAAiE,CAClE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,IAAY;IACjD,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,QAAQ,CAAC,CAAC,MAAM,UAAU,CACxC,IAAI,EACJ,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAChC,EAAE,GAAG,IAAI,CACV,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,4BAA4B,CACpC,gCAAgC,EAChC,4EAA4E,EAC5E,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,4BAA4B,CACpC,gCAAgC,EAChC,kEAAkE,CACnE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAClC,QAAoC,EACpC,aAA4C;IAE5C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,aAAa,KAAK,SAAS;QAC7C,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACpC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACrC,aAAa,KAAK,QAAQ;gBAC1B,aAAa,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC;gBACxC,QAAQ,CAAC,UAAU,CAAC,GAAG,aAAa,GAAG,CAAC,CACzC,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,4BAA4B,CACpC,yCAAyC,EACzC,+DAA+D,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACzF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,IAAY,EACZ,cAAsB,EACtB,YAAoB,EACpB,QAAiB;IAEjB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAI,CACjB,IAAI,EACJ,SAAS,CAAC,QAAQ;YAChB,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAC5D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,4BAA4B,CACpC,6BAA6B,EAC7B,uDAAuD,cAAc,GAAG,EACxE,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAChF,MAAM,IAAI,4BAA4B,CACpC,6BAA6B,EAC7B,gFAAgF,cAAc,GAAG,CAClG,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC;SACf,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,cAAc,EAAE,IAAI,SAAS,KAAK,IAAI;YAClD,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;YACpD,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;YAC5E,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YAC9D,SAAS,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;YAC1D,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,4BAA4B,CACpC,8BAA8B,EAC9B,0DAA0D,cAAc,GAAG,CAC5E,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;IACpE,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,IAAI,GAAG,qBAAqB;IACvE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7B,mBAAmB,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAAA,OAAO;IAAA,CAAC;IAC1D,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,4BAA4B,CACpC,+BAA+B,EAC/B,GAAG,IAAI,IAAI,GAAG,gBAAgB,CAC/B,CAAC;QACJ,CAAC;QACD,mBAAmB,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,OAA0C;IAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACrD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnE,MAAM,IAAI,4BAA4B,CACpC,sCAAsC,EACtC,gFAAgF,CACjF,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,WAAW,EAAE;QACxD,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;QACjD,MAAM,IAAI,4BAA4B,CACpC,wCAAwC,EACxC,kFAAkF,CACnF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,IAAY;IACjD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpE,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,4BAA4B,CACpC,gCAAgC,EAChC,+CAA+C,CAChD,CAAC;IACJ,CAAC;IACD,MAAM,mBAAmB,GAAG,MAAM,cAAc,CAC9C,IAAI,EACJ,cAAc,EACd,sBAAsB,EACtB,IAAI,CACL,CAAC;IACF,IAAI,mBAAmB,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAAA,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IAAA,CAAC;IAC3E,IAAI,QAAiC,CAAC;IACtC,IAAI,CAAC;QACH,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,4BAA4B,CACpC,gCAAgC,EAChC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,EACnE,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,OAAO,cAAc,KAAK,QAAQ;QAC9C,CAAC,CAAC,gEAAgE,CAAC,IAAI,CAAC,cAAc,CAAC;QACvF,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,4BAA4B,CACpC,2CAA2C,EAC3C,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3E,IAAI,WAAW,CAAC,KAAK,KAAK,MAAM;QAC9B,CAAC,wCAAwC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAClG,MAAM,IAAI,4BAA4B,CACpC,yCAAyC,EACzC,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,CAAC,IAAI,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAC3E,KAAK,MAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;QAC/E,IAAI,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvE,MAAM,IAAI,4BAA4B,CACpC,2CAA2C,EAC3C,gEAAgE,IAAI,GAAG,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,IAAwC,EACxC,KAAyC;IAEzC,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ;QAC3D,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YACjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,KAIxC;IACC,MAAM,KAAK,GAAG;QACZ,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,IAAI,CAAC;QAC7E,CAAC,UAAU,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,IAAI,CAAC;QAC5D,CAAC,iBAAiB,EAAE,cAAc,EAAE,sBAAsB,EAAE,IAAI,CAAC;QACjE,CAAC,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE,KAAK,CAAC;QAC3D,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,2BAA2B,EAAE,KAAK,CAAC;QACtE,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,2BAA2B,EAAE,KAAK,CAAC;QACxF,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,2BAA2B,EAAE,KAAK,CAAC;KAC5E,CAAC;IACX,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,CACzE,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CACpD,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAC3C,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAE,CAAC,CACtD,CAAC;IACF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,4BAA4B,CACpC,iCAAiC,EACjC,mFAAmF,QAAQ,CAAC,CAAC,CAAC,GAAG,CAClG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,IAAY,EACZ,OAA0C;IAE1C,MAAM,WAAW,GAAG,MAAM,cAAc,CACtC,IAAI,EACJ,gBAAgB,EAChB,sBAAsB,EACtB,IAAI,CACL,CAAC;IACF,IAAI,WAAW,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAAA,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IAAA,CAAC;IACnE,6BAA6B,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1D,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,OAGlD;IAKC,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACvD,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC5D,+BAA+B,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,OAAO,CAAC,sBAAsB,IAAI,wBAAwB,CAAC;IAC/E,IAAI,WAAW,KAAK,wBAAwB,EAAE,CAAC;QAC7C,MAAM,IAAI,4BAA4B,CACpC,wCAAwC,EACxC,0CAA0C,wBAAwB,GAAG,CACtE,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,IAAI,EACJ,WAAW,EACX,qBAAqB,EACrB,IAAI,CACL,CAAC;IACF,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAAA,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IAAA,CAAC;IAC/D,IAAI,OAA0C,CAAC;IAC/C,IAAI,QAA4C,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,eAAe,CAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAI5C,CAAC;QACF,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,sCAAsC,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;YACxD,OAAO,GAAG,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAA2C,CAAC;QACxD,CAAC;QACD,2BAA2B,CAAC,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACjE,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACrC,QAAQ,GAAG,MAAM,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,4BAA4B,EAAE,CAAC;YAAA,MAAM,KAAK,CAAC;QAAA,CAAC;QACjE,MAAM,IAAI,4BAA4B,CACpC,+BAA+B,EAC/B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAC1E,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvF,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,sBAAsB,EAAE,IAAI,CAAC;QAClE,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,2BAA2B,EAAE,KAAK,CAAC;QACrE,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,2BAA2B,EAAE,KAAK,CAAC;QAC3E,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE,2BAA2B,EAAE,KAAK,CAAC;QACpF,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,EAAE,2BAA2B,EAAE,KAAK,CAAC;KACnF,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG;QACf,kBAAkB,EAAE,OAAO;QAC3B,QAAQ;QACR,eAAe;QACf,MAAM;QACN,KAAK;QACL,cAAc;QACd,YAAY;KACb,CAAC;IACF,MAAM,yBAAyB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7D,OAAO;QACL,OAAO;QACP,IAAI;QACJ,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,kCAAkC,GAC7C,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"node-consumer-integration-repository.js","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/node-consumer-integration-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ConsumerIntegrationFileObservation } from "../domain/model.js";
|
|
2
|
+
export declare const MAXIMUM_PROFILE_BYTES: number;
|
|
3
|
+
export declare const MAXIMUM_MANIFEST_BYTES: number;
|
|
4
|
+
export declare const MAXIMUM_MANAGED_ASSET_BYTES: number;
|
|
5
|
+
export declare const MAXIMUM_LOCKFILE_BYTES: number;
|
|
6
|
+
export declare const MAXIMUM_WORKSPACE_BYTES: number;
|
|
7
|
+
export declare const INTEGRATION_PROFILE_PATH = "architecture/foundation/docs-consumer-integration.json";
|
|
8
|
+
export declare function canonicalConsumerRoot(consumerRoot: string): Promise<string>;
|
|
9
|
+
export declare function readStableConsumerFile(root: string, repositoryPath: string, maximumBytes: number, required: boolean): Promise<ConsumerIntegrationFileObservation>;
|
|
10
|
+
export declare function sameConsumerFileObservation(left: ConsumerIntegrationFileObservation, right: ConsumerIntegrationFileObservation): boolean;
|
|
11
|
+
//# sourceMappingURL=node-consumer-repository-files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-consumer-repository-files.d.ts","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/node-consumer-repository-files.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,kCAAkC,EACnC,MAAM,oBAAoB,CAAC;AAG5B,eAAO,MAAM,qBAAqB,QAAa,CAAC;AAChD,eAAO,MAAM,sBAAsB,QAAc,CAAC;AAClD,eAAO,MAAM,2BAA2B,QAAkB,CAAC;AAC3D,eAAO,MAAM,sBAAsB,QAAmB,CAAC;AACvD,eAAO,MAAM,uBAAuB,QAAkB,CAAC;AACvD,eAAO,MAAM,wBAAwB,2DACqB,CAAC;AAoB3D,wBAAsB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBjF;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,kCAAkC,CAAC,CA8C7C;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,kCAAkC,EACxC,KAAK,EAAE,kCAAkC,GACxC,OAAO,CAIT"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { constants } from "node:fs";
|
|
2
|
+
import { lstat, open, realpath } 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
|
+
export const MAXIMUM_PROFILE_BYTES = 256 * 1024;
|
|
6
|
+
export const MAXIMUM_MANIFEST_BYTES = 1024 * 1024;
|
|
7
|
+
export const MAXIMUM_MANAGED_ASSET_BYTES = 8 * 1024 * 1024;
|
|
8
|
+
export const MAXIMUM_LOCKFILE_BYTES = 32 * 1024 * 1024;
|
|
9
|
+
export const MAXIMUM_WORKSPACE_BYTES = 2 * 1024 * 1024;
|
|
10
|
+
export const INTEGRATION_PROFILE_PATH = "architecture/foundation/docs-consumer-integration.json";
|
|
11
|
+
function errorCode(error) {
|
|
12
|
+
return error instanceof Error && "code" in error
|
|
13
|
+
? error.code
|
|
14
|
+
: undefined;
|
|
15
|
+
}
|
|
16
|
+
function contained(root, repositoryPath) {
|
|
17
|
+
const absolute = resolvePath(root, repositoryPath);
|
|
18
|
+
const relation = relative(root, absolute);
|
|
19
|
+
if (relation === ".." || relation.startsWith(`..${sep}`) || isAbsolute(relation)) {
|
|
20
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_PATH_ESCAPE", `Consumer integration path escapes the repository root: ${repositoryPath}.`);
|
|
21
|
+
}
|
|
22
|
+
return absolute;
|
|
23
|
+
}
|
|
24
|
+
export async function canonicalConsumerRoot(consumerRoot) {
|
|
25
|
+
const requested = resolvePath(consumerRoot);
|
|
26
|
+
let metadata;
|
|
27
|
+
try {
|
|
28
|
+
metadata = await lstat(requested);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_ROOT_INVALID", "Consumer root is unavailable or is not a real directory.", { cause: error });
|
|
32
|
+
}
|
|
33
|
+
if (metadata.isSymbolicLink() || !metadata.isDirectory()) {
|
|
34
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_ROOT_INVALID", "Consumer root must be one real directory.");
|
|
35
|
+
}
|
|
36
|
+
return realpath(requested);
|
|
37
|
+
}
|
|
38
|
+
export async function readStableConsumerFile(root, repositoryPath, maximumBytes, required) {
|
|
39
|
+
const path = contained(root, repositoryPath);
|
|
40
|
+
let handle;
|
|
41
|
+
try {
|
|
42
|
+
handle = await open(path, constants.O_RDONLY |
|
|
43
|
+
(process.platform === "win32" ? 0 : constants.O_NOFOLLOW));
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
if (!required && errorCode(error) === "ENOENT") {
|
|
47
|
+
return { state: "absent" };
|
|
48
|
+
}
|
|
49
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_INPUT_MISSING", `Required consumer integration input is unavailable: ${repositoryPath}.`, { cause: error });
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
const before = await handle.stat({ bigint: true });
|
|
53
|
+
if (!before.isFile() || before.nlink > 1n || before.size > BigInt(maximumBytes)) {
|
|
54
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_INPUT_INVALID", `Consumer integration input must be one bounded, non-hardlinked regular file: ${repositoryPath}.`);
|
|
55
|
+
}
|
|
56
|
+
const bytes = await handle.readFile();
|
|
57
|
+
const [after, pathState, canonical] = await Promise.all([
|
|
58
|
+
handle.stat({ bigint: true }),
|
|
59
|
+
lstat(path, { bigint: true }),
|
|
60
|
+
realpath(path)
|
|
61
|
+
]);
|
|
62
|
+
if (pathState.isSymbolicLink() || canonical !== path ||
|
|
63
|
+
before.dev !== after.dev || before.ino !== after.ino ||
|
|
64
|
+
before.birthtimeNs !== after.birthtimeNs || before.ctimeNs !== after.ctimeNs ||
|
|
65
|
+
before.mtimeNs !== after.mtimeNs || before.size !== after.size ||
|
|
66
|
+
pathState.dev !== after.dev || pathState.ino !== after.ino ||
|
|
67
|
+
bytes.byteLength !== Number(after.size)) {
|
|
68
|
+
throw new ConsumerIntegrationNodeError("DOCS_CONSUMER_INPUT_UNSTABLE", `Consumer integration input changed during observation: ${repositoryPath}.`);
|
|
69
|
+
}
|
|
70
|
+
return { state: "file", bytes, mode: Number(after.mode) & 0o777 };
|
|
71
|
+
}
|
|
72
|
+
finally {
|
|
73
|
+
await handle.close();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
export function sameConsumerFileObservation(left, right) {
|
|
77
|
+
return left.state === right.state && (left.state === "absent" ||
|
|
78
|
+
(right.state === "file" && left.mode === right.mode &&
|
|
79
|
+
Buffer.from(left.bytes).equals(Buffer.from(right.bytes))));
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=node-consumer-repository-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-consumer-repository-files.js","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/node-consumer-repository-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ConsumerUpgradeSandboxPort, PreparedConsumerUpgradeV1 } from "../application/ports/consumer-upgrade.js";
|
|
2
|
+
import type { ConsumerIntegrationDesiredStateV1, ConsumerUpgradeAuthorityV1 } from "../domain/model.js";
|
|
3
|
+
export declare class NodeConsumerUpgradeSandbox implements ConsumerUpgradeSandboxPort {
|
|
4
|
+
prepare(options: {
|
|
5
|
+
readonly authority: ConsumerUpgradeAuthorityV1;
|
|
6
|
+
readonly consumerRoot: string;
|
|
7
|
+
readonly current: ConsumerIntegrationDesiredStateV1;
|
|
8
|
+
}): Promise<PreparedConsumerUpgradeV1>;
|
|
9
|
+
activateAndVerify(options: {
|
|
10
|
+
readonly authority: ConsumerUpgradeAuthorityV1;
|
|
11
|
+
readonly consumerRoot: string;
|
|
12
|
+
}): Promise<void>;
|
|
13
|
+
restoreAndVerify(options: {
|
|
14
|
+
readonly consumerRoot: string;
|
|
15
|
+
readonly current: ConsumerIntegrationDesiredStateV1;
|
|
16
|
+
}): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
export declare const nodeConsumerUpgradeSandbox: ConsumerUpgradeSandboxPort;
|
|
19
|
+
//# sourceMappingURL=node-consumer-upgrade-sandbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-consumer-upgrade-sandbox.d.ts","sourceRoot":"","sources":["../../../src/consumer-integration/adapters/node-consumer-upgrade-sandbox.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EACV,iCAAiC,EACjC,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AA4U5B,qBAAa,0BAA2B,YAAW,0BAA0B;IAC9D,OAAO,CAAC,OAAO,EAAE;QAC5B,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,CA6ErC;IAEY,iBAAiB,CAAC,OAAO,EAAE;QACtC,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC;QAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhB;IAEY,gBAAgB,CAAC,OAAO,EAAE;QACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,OAAO,EAAE,iCAAiC,CAAC;KACrD,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhB;CACF;AAED,eAAO,MAAM,0BAA0B,EAAE,0BACQ,CAAC"}
|