gate-evm-tools 1.2.0 → 1.2.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.
@@ -0,0 +1,14 @@
1
+ import type { DeliveryAggregate, DeliveryAggregateOptions } from './aggregate';
2
+ /** Publish complete bytes without replacing another writer's immutable file. */
3
+ export declare function writeImmutableDeliveryFile(root: string, relative: string, bytes: Buffer): {
4
+ path: string;
5
+ sha256: string;
6
+ };
7
+ export declare function persistDevelopmentInputs(input: {
8
+ root: string;
9
+ source: DeliveryAggregateOptions;
10
+ aggregate: DeliveryAggregate;
11
+ }): {
12
+ sourcePath: string;
13
+ aggregatePath: string;
14
+ };
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.writeImmutableDeliveryFile = writeImmutableDeliveryFile;
7
+ exports.persistDevelopmentInputs = persistDevelopmentInputs;
8
+ /** One immutable copy of the original development preparation, reused by release history. */
9
+ const node_fs_1 = __importDefault(require("node:fs"));
10
+ const node_path_1 = __importDefault(require("node:path"));
11
+ const node_crypto_1 = require("node:crypto");
12
+ const canonicalData_1 = require("../workflow/lib/canonicalData");
13
+ const materialization_1 = require("./materialization");
14
+ const input_files_1 = require("./input-files");
15
+ const project_files_1 = require("./project-files");
16
+ const plan_1 = require("./plan");
17
+ const protocol_1 = require("./protocol");
18
+ /** Publish complete bytes without replacing another writer's immutable file. */
19
+ function writeImmutableDeliveryFile(root, relative, bytes) {
20
+ const file = (0, materialization_1.developmentPath)(root, relative);
21
+ const existing = () => { if (!(0, input_files_1.readInputBytes)(root, relative).equals(bytes))
22
+ throw Error(`Immutable delivery file conflict: ${relative}`); };
23
+ if (node_fs_1.default.existsSync(file)) {
24
+ existing();
25
+ return { path: relative, sha256: (0, materialization_1.byteHash)(bytes) };
26
+ }
27
+ node_fs_1.default.mkdirSync(node_path_1.default.dirname(file), { recursive: true, mode: 0o700 });
28
+ const temporary = `${file}.${(0, node_crypto_1.randomUUID)()}.tmp`, fd = node_fs_1.default.openSync(temporary, 'wx', 0o600);
29
+ try {
30
+ node_fs_1.default.writeFileSync(fd, bytes);
31
+ node_fs_1.default.fsyncSync(fd);
32
+ }
33
+ finally {
34
+ node_fs_1.default.closeSync(fd);
35
+ }
36
+ try {
37
+ try {
38
+ node_fs_1.default.linkSync(temporary, file);
39
+ }
40
+ catch (error) {
41
+ if (error.code !== 'EEXIST')
42
+ throw error;
43
+ existing();
44
+ }
45
+ }
46
+ finally {
47
+ node_fs_1.default.unlinkSync(temporary);
48
+ }
49
+ const directory = node_fs_1.default.openSync(node_path_1.default.dirname(file), 'r');
50
+ try {
51
+ node_fs_1.default.fsyncSync(directory);
52
+ }
53
+ finally {
54
+ node_fs_1.default.closeSync(directory);
55
+ }
56
+ return { path: relative, sha256: (0, materialization_1.byteHash)(bytes) };
57
+ }
58
+ function persistDevelopmentInputs(input) {
59
+ const root = node_fs_1.default.realpathSync(input.root), { source, aggregate } = input, plan = (0, plan_1.parseDeliveryPlan)(aggregate.collections[0]?.plan);
60
+ if (source.selection !== 'development' || source.targets.length !== 1 || aggregate.collections.length !== 1 || plan.environment !== 'dev'
61
+ || (0, project_files_1.projectRoot)(source.workspaceRoot, source.projectRoot) !== root || source.targets[0].executionId !== plan.executionId || source.targets[0].request.network !== plan.target)
62
+ throw Error('Development inputs require the original single-target preparation');
63
+ const id = (0, protocol_1.safeId)(plan.executionId, 'executionId'), base = `.gate-delivery/development/${id}`;
64
+ const sourcePath = `${base}.source.json`, aggregatePath = `${base}.aggregate.json`;
65
+ // Check both existing inputs before publishing either file.
66
+ const entries = [[sourcePath, source], [aggregatePath, aggregate]];
67
+ for (const [file, value] of entries)
68
+ if (node_fs_1.default.existsSync((0, materialization_1.developmentPath)(root, file)) && (0, canonicalData_1.canonicalJson)(JSON.parse((0, input_files_1.readInputBytes)(root, file).toString())) !== (0, canonicalData_1.canonicalJson)(value))
69
+ throw Error(`Immutable delivery file conflict: ${file}`);
70
+ // Existing preparation bytes remain authoritative, including their original JSON formatting.
71
+ for (const [file, value] of entries)
72
+ if (!node_fs_1.default.existsSync((0, materialization_1.developmentPath)(root, file)))
73
+ writeImmutableDeliveryFile(root, file, Buffer.from((0, canonicalData_1.canonicalJson)(value) + '\n'));
74
+ return { sourcePath, aggregatePath };
75
+ }
76
+ //# sourceMappingURL=development-inputs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"development-inputs.js","sourceRoot":"","sources":["../../runtime/delivery/development-inputs.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import type { DeploymentChange } from '../workflow/lib/deploymentRecords';
7
7
  import { type PreparationEntry } from './journal';
8
8
  import type { DeliveryCollection } from './planning';
9
9
  import type { DeliveryAggregate, DeliveryAggregateOptions } from './aggregate';
10
+ export { persistDevelopmentInputs } from './development-inputs';
10
11
  import { type EoaExecutionOptions, type EoaHashReferences } from './eoa';
11
12
  export declare function expectedDevelopmentAssertions(collection: Pick<DeliveryCollection, 'plan' | 'verification'>, steps: readonly WorkflowStep[]): VerificationObservation[];
12
13
  /** Pure candidate merge; preparations must come from the sealed journal parser. */
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.persistDevelopmentInputs = void 0;
6
7
  exports.expectedDevelopmentAssertions = expectedDevelopmentAssertions;
7
8
  exports.mergeDevelopmentRegistration = mergeDevelopmentRegistration;
8
9
  exports.createDevelopmentDelivery = createDevelopmentDelivery;
@@ -27,6 +28,8 @@ const verification_1 = require("./verification");
27
28
  const plan_1 = require("./plan");
28
29
  const identities_1 = require("./identities");
29
30
  const journal_1 = require("./journal");
31
+ var development_inputs_1 = require("./development-inputs");
32
+ Object.defineProperty(exports, "persistDevelopmentInputs", { enumerable: true, get: function () { return development_inputs_1.persistDevelopmentInputs; } });
30
33
  const aggregate_inputs_1 = require("./aggregate-inputs");
31
34
  const config_1 = require("./config");
32
35
  const input_files_1 = require("./input-files");
@@ -1 +1 @@
1
- {"version":3,"file":"development.js","sourceRoot":"","sources":["../../runtime/delivery/development.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"development.js","sourceRoot":"","sources":["../../runtime/delivery/development.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { DeliveryAggregate } from './aggregate';
2
+ export declare function readHistoricalPackage(archive: Buffer, archiveFile: string, aggregate: DeliveryAggregate): ReadonlyMap<string, Buffer>;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readHistoricalPackage = readHistoricalPackage;
4
+ /** Verify retained producer bytes in memory. Historical code is never extracted or executed. */
5
+ const node_crypto_1 = require("node:crypto");
6
+ const node_zlib_1 = require("node:zlib");
7
+ const materialization_1 = require("./materialization");
8
+ const protocol_1 = require("./protocol");
9
+ const canonicalData_1 = require("../workflow/lib/canonicalData");
10
+ function readHistoricalPackage(archive, archiveFile, aggregate) {
11
+ if (archiveFile !== `.gate-delivery/packages/${(0, materialization_1.byteHash)(archive)}.json.gz`)
12
+ throw Error('Historical archive content address mismatch');
13
+ const snapshot = (0, protocol_1.object)(JSON.parse((0, node_zlib_1.gunzipSync)(archive, { maxOutputLength: 128 * 1024 * 1024 }).toString()), 'historical package snapshot', ['schema', 'version', 'runtimeIdentity', 'observedPackage', 'files']);
14
+ if (snapshot.schema !== 'gate-delivery-package-snapshot' || snapshot.version !== 2 || !Array.isArray(snapshot.files))
15
+ throw Error('Invalid historical package snapshot archive');
16
+ const original = aggregate.inputs.runtime.package;
17
+ const same = (a, b, label) => { if ((0, canonicalData_1.canonicalJson)(a) !== (0, canonicalData_1.canonicalJson)(b))
18
+ throw Error(`${label} mismatch`); };
19
+ same(snapshot.observedPackage, original, 'Historical snapshot provenance');
20
+ same(snapshot.runtimeIdentity, aggregate.inputs.runtime.declared, 'Historical snapshot runtime');
21
+ const files = new Map();
22
+ for (const raw of snapshot.files) {
23
+ const file = (0, protocol_1.object)(raw, 'historical package member', ['path', 'digest', 'base64']), relative = (0, protocol_1.portablePath)(file.path, 'historical package member');
24
+ if (relative.split('/').includes('node_modules') || files.has(relative) || typeof file.base64 !== 'string')
25
+ throw Error('Invalid historical package member');
26
+ const bytes = Buffer.from(file.base64, 'base64');
27
+ if (bytes.toString('base64') !== file.base64 || (0, materialization_1.byteHash)(bytes) !== file.digest)
28
+ throw Error('Historical snapshot archive bytes mismatch');
29
+ files.set(relative, bytes);
30
+ }
31
+ const payload = [...files].map(([path, bytes]) => ({ path, digest: (0, materialization_1.byteHash)(bytes) }));
32
+ same(payload, original.payload, 'Historical archive complete payload');
33
+ same((0, materialization_1.byteHash)(payload.map(f => `${f.path}\0${f.digest}\n`).join('')), original.payloadDigest, 'Historical payload digest');
34
+ // Match the producer's sorted directory traversal, including file/directory prefix ordering.
35
+ const children = new Map();
36
+ for (const relative of files.keys()) {
37
+ const parts = relative.split('/');
38
+ let directory = '';
39
+ for (let i = 0; i < parts.length; i++) {
40
+ if (files.has(directory))
41
+ throw Error('Historical package file/directory collision');
42
+ if (!children.has(directory))
43
+ children.set(directory, new Set());
44
+ children.get(directory).add(parts[i]);
45
+ directory = directory ? `${directory}/${parts[i]}` : parts[i];
46
+ }
47
+ }
48
+ const digest = (0, node_crypto_1.createHash)('sha256');
49
+ const visit = (directory) => {
50
+ const names = children.get(directory);
51
+ if (!names)
52
+ throw Error('Historical executable directory missing');
53
+ for (const name of [...names].sort()) {
54
+ const relative = `${directory}/${name}`, bytes = files.get(relative);
55
+ if (bytes) {
56
+ if (/\.(?:c?js)$/.test(relative)) {
57
+ digest.update(relative);
58
+ digest.update(bytes);
59
+ }
60
+ }
61
+ else
62
+ visit(relative);
63
+ }
64
+ };
65
+ for (const directory of ['dist-runtime', 'dist', 'dist-cjs', 'bin'])
66
+ visit(directory);
67
+ same(digest.digest('hex'), aggregate.inputs.runtime.declared.digest, 'Historical executable runtime digest');
68
+ return files;
69
+ }
70
+ //# sourceMappingURL=history-package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-package.js","sourceRoot":"","sources":["../../runtime/delivery/history-package.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.captureDevelopmentReleaseHistory = captureDevelopmentReleaseHistory;
7
- /** Narrow R1→R2 handoff: capture the currently installed producer and changing containers BEFORE prod edits. */
7
+ /** Preserve accepted development inputs and one shared, compressed producer snapshot. */
8
8
  const node_fs_1 = __importDefault(require("node:fs"));
9
9
  const node_path_1 = __importDefault(require("node:path"));
10
10
  const node_zlib_1 = require("node:zlib");
@@ -14,18 +14,29 @@ const materialization_1 = require("./materialization");
14
14
  const canonicalData_1 = require("../workflow/lib/canonicalData");
15
15
  const plan_1 = require("./plan");
16
16
  const protocol_1 = require("./protocol");
17
+ const development_inputs_1 = require("./development-inputs");
17
18
  function captureDevelopmentReleaseHistory(input) {
18
19
  const root = node_fs_1.default.realpathSync(input.root), a = input.aggregate, plan = (0, plan_1.parseDeliveryPlan)(a.collections[0]?.plan);
19
20
  if (input.source.selection !== 'development' || a.collections.length !== 1 || plan.environment !== 'dev' || (0, project_files_1.projectRoot)(input.source.workspaceRoot, input.source.projectRoot) !== root)
20
21
  throw Error('Historical capture requires original development source');
21
22
  (0, protocol_1.safeId)(plan.executionId, 'executionId');
22
- const base = `.gate-delivery/history/${plan.executionId}`, readyPath = `${base}/READY.json`;
23
+ const base = `.gate-delivery/history/${plan.executionId}`, readyFile = `${base}/READY.json`;
23
24
  const acceptanceFile = `.gate-delivery/development/${plan.executionId}.acceptance.json`, acceptance = JSON.parse((0, input_files_1.readInputBytes)(root, acceptanceFile).toString());
24
25
  if (acceptance.status !== 'accepted' || acceptance.planHash !== plan.planHash || acceptance.inputsHash !== a.inputsHash || (0, canonicalData_1.semanticHash)(acceptance.runtimeIdentity) !== (0, canonicalData_1.semanticHash)(plan.runtimeIdentity))
25
26
  throw Error('Historical capture requires actual accepted development');
26
27
  const original = a.inputs.runtime.package;
27
28
  if (original.name !== 'gate-evm-tools' || original.lockLocation !== 'node_modules/gate-evm-tools')
28
29
  throw Error('Unsupported historical producer location');
30
+ // A completed capture can be reused after the installed producer changes.
31
+ if (node_fs_1.default.existsSync((0, materialization_1.developmentPath)(root, readyFile))) {
32
+ const ready = JSON.parse((0, input_files_1.readInputBytes)(root, readyFile).toString());
33
+ if (ready.schema !== 'gate-delivery-history-ready' || ready.version !== 2 || ready.generation !== 'complete' || ready.planHash !== plan.planHash || ready.aggregateHash !== (0, canonicalData_1.semanticHash)(a) || ready.sourceHash !== (0, canonicalData_1.semanticHash)(input.source) || ready.descriptor?.version !== 2 || ready.descriptor.readyFile !== readyFile || !Array.isArray(ready.files) || !ready.files.length)
34
+ throw Error('Conflicting historical capture');
35
+ for (const f of ready.files)
36
+ if ((0, materialization_1.byteHash)((0, input_files_1.readInputBytes)(root, f.path)) !== f.sha256)
37
+ throw Error('Captured historical file drift');
38
+ return ready.descriptor;
39
+ }
29
40
  const files = [];
30
41
  const visit = (relative) => { const dir = (0, project_files_1.confinedFile)(root, `${original.lockLocation}/${relative}`.replace(/\/$/, ''), 'directory'); for (const name of node_fs_1.default.readdirSync(dir).sort()) {
31
42
  const rel = relative ? `${relative}/${name}` : name;
@@ -44,33 +55,18 @@ function captureDevelopmentReleaseHistory(input) {
44
55
  files.sort((a, b) => a.path < b.path ? -1 : a.path > b.path ? 1 : 0);
45
56
  if ((0, canonicalData_1.semanticHash)(files.map(({ path, digest }) => ({ path, digest }))) !== (0, canonicalData_1.semanticHash)(original.payload))
46
57
  throw Error('Historical capture must precede producer/runtime replacement');
47
- const descriptor = { aggregateFile: `${base}/aggregate.json`, sourceFile: `${base}/source.json`, acceptanceFile, packageRoot: `${base}/package`, inputsRoot: `${base}/inputs`, archiveFile: `${base}/package.snapshot.json.gz` };
48
- if (node_fs_1.default.existsSync((0, materialization_1.developmentPath)(root, readyPath))) {
49
- const ready = JSON.parse((0, input_files_1.readInputBytes)(root, readyPath).toString());
50
- if (ready.schema !== 'gate-delivery-history-ready' || ready.generation !== 'complete' || ready.planHash !== plan.planHash || ready.aggregateHash !== (0, canonicalData_1.semanticHash)(a))
51
- throw Error('Conflicting historical capture');
52
- for (const f of ready.files)
53
- if ((0, materialization_1.byteHash)((0, input_files_1.readInputBytes)(root, f.path)) !== f.sha256)
54
- throw Error('Captured historical file drift');
55
- return descriptor;
56
- }
58
+ const archive = (0, node_zlib_1.gzipSync)(Buffer.from((0, canonicalData_1.canonicalJson)({ schema: 'gate-delivery-package-snapshot', version: 2, runtimeIdentity: plan.runtimeIdentity, observedPackage: original, files })));
59
+ const archiveFile = `.gate-delivery/packages/${(0, materialization_1.byteHash)(archive)}.json.gz`;
57
60
  const saved = [];
58
- const write = (relative, bytes) => { const file = (0, materialization_1.developmentPath)(root, relative); node_fs_1.default.mkdirSync(node_path_1.default.dirname(file), { recursive: true, mode: 0o700 }); if (node_fs_1.default.existsSync(file) && !(0, input_files_1.readInputBytes)(root, relative).equals(bytes))
59
- throw Error('Partial historical capture conflict'); const fd = node_fs_1.default.openSync(file, 'w', 0o600); try {
60
- node_fs_1.default.writeFileSync(fd, bytes);
61
- node_fs_1.default.fsyncSync(fd);
62
- }
63
- finally {
64
- node_fs_1.default.closeSync(fd);
65
- } saved.push({ path: relative, sha256: (0, materialization_1.byteHash)(bytes) }); };
66
- for (const file of files)
67
- write(`${base}/package/${file.path}`, Buffer.from(file.base64, 'base64'));
61
+ const write = (relative, bytes) => saved.push((0, development_inputs_1.writeImmutableDeliveryFile)(root, relative, bytes));
62
+ const { sourcePath: sourceFile, aggregatePath: aggregateFile } = (0, development_inputs_1.persistDevelopmentInputs)(input);
63
+ const descriptor = { version: 2, aggregateFile, sourceFile, acceptanceFile, readyFile, inputsRoot: `${base}/inputs`, archiveFile };
64
+ for (const relative of [sourceFile, aggregateFile, acceptanceFile])
65
+ saved.push({ path: relative, sha256: (0, materialization_1.byteHash)((0, input_files_1.readInputBytes)(root, relative)) });
68
66
  for (const name of [`${a.inputs.business.businessRoot}/task.yaml`, `${a.inputs.business.businessRoot}/parameters.yaml`, `${a.inputs.business.businessRoot}/parameters.provenance.json`, 'config.yaml', 'hardhat.config.ts', 'package-lock.json', 'contractInfo.json', 'deploymentInfo.json'])
69
67
  write(`${base}/inputs/${name}`, (0, input_files_1.readInputBytes)(root, name));
70
- write(descriptor.aggregateFile, Buffer.from((0, canonicalData_1.canonicalJson)(a) + '\n'));
71
- write(descriptor.sourceFile, Buffer.from((0, canonicalData_1.canonicalJson)(input.source) + '\n'));
72
- write(descriptor.archiveFile, (0, node_zlib_1.gzipSync)(Buffer.from((0, canonicalData_1.canonicalJson)({ schema: 'gate-delivery-package-snapshot', version: 1, runtimeIdentity: plan.runtimeIdentity, observedPackage: original, files }))));
73
- (0, materialization_1.atomicDevelopmentWrite)(root, readyPath, (0, canonicalData_1.canonicalJson)({ schema: 'gate-delivery-history-ready', version: 1, generation: 'complete', planHash: plan.planHash, aggregateHash: (0, canonicalData_1.semanticHash)(a), descriptor, files: saved }) + '\n');
68
+ write(archiveFile, archive);
69
+ (0, development_inputs_1.writeImmutableDeliveryFile)(root, readyFile, Buffer.from((0, canonicalData_1.canonicalJson)({ schema: 'gate-delivery-history-ready', version: 2, generation: 'complete', planHash: plan.planHash, aggregateHash: (0, canonicalData_1.semanticHash)(a), sourceHash: (0, canonicalData_1.semanticHash)(input.source), descriptor, files: saved }) + '\n'));
74
70
  return descriptor;
75
71
  }
76
72
  //# sourceMappingURL=release-history-capture.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"release-history-capture.js","sourceRoot":"","sources":["../../runtime/delivery/release-history-capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"release-history-capture.js","sourceRoot":"","sources":["../../runtime/delivery/release-history-capture.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  export { aggregateInputHash } from './execution-identity';
2
2
  import type { DeliveryAggregate, DeliveryAggregateOptions } from './aggregate';
3
3
  export interface HistoricalDevelopmentFiles {
4
+ version: 2;
4
5
  aggregateFile: string;
5
6
  sourceFile: string;
6
7
  acceptanceFile: string;
7
- packageRoot: string;
8
+ readyFile: string;
8
9
  inputsRoot: string;
9
10
  archiveFile: string;
10
11
  }
@@ -13,8 +13,6 @@ const execution_identity_1 = require("./execution-identity");
13
13
  var execution_identity_2 = require("./execution-identity");
14
14
  Object.defineProperty(exports, "aggregateInputHash", { enumerable: true, get: function () { return execution_identity_2.aggregateInputHash; } });
15
15
  const node_path_1 = __importDefault(require("node:path"));
16
- const node_crypto_1 = require("node:crypto");
17
- const node_zlib_1 = require("node:zlib");
18
16
  const ethers_1 = require("ethers");
19
17
  const workflow_1 = require("gate-evm-tools/workflow");
20
18
  const input_files_1 = require("./input-files");
@@ -23,6 +21,7 @@ const source_1 = require("./source");
23
21
  const configuration_definition_1 = require("./configuration-definition");
24
22
  const config_1 = require("./config");
25
23
  const protocol_1 = require("./protocol");
24
+ const history_package_1 = require("./history-package");
26
25
  const project_1 = require("./project");
27
26
  const plan_1 = require("./plan");
28
27
  const journal_1 = require("./journal");
@@ -53,6 +52,9 @@ function validateHistoricalDevelopmentFiles(input) {
53
52
  const workspace = (0, project_files_1.projectRoot)(input.workspaceRoot, '.'), root = (0, project_files_1.projectRoot)(workspace, input.projectRoot), { history } = input, files = new Map();
54
53
  if (node_fs_1.default.realpathSync(input.root) !== root)
55
54
  throw Error('Historical current project root mismatch');
55
+ (0, protocol_1.object)(history, 'historical descriptor', ['version', 'aggregateFile', 'sourceFile', 'acceptanceFile', 'readyFile', 'inputsRoot', 'archiveFile']);
56
+ if (history.version !== 2)
57
+ throw Error('Unsupported historical descriptor version');
56
58
  const read = (relative) => { const bytes = (0, input_files_1.readInputBytes)(root, relative); files.set(relative, (0, input_files_1.inputDigest)(bytes)); return bytes; };
57
59
  const aggregate = JSON.parse(read(history.aggregateFile).toString()), source = JSON.parse(read(history.sourceFile).toString()), acceptance = JSON.parse(read(history.acceptanceFile).toString());
58
60
  if (source.projectRoot !== input.projectRoot)
@@ -62,14 +64,17 @@ function validateHistoricalDevelopmentFiles(input) {
62
64
  (0, release_graph_1.sameReleaseData)((0, execution_identity_1.aggregateInputHash)(aggregate), aggregate.inputsHash, 'Historical aggregate inputs');
63
65
  (0, release_graph_1.sameReleaseData)((0, canonicalData_1.semanticHash)(aggregate.inputs.sourceDefinitions), aggregate.sourceDefinitionHash, 'Historical source hash');
64
66
  const collection = aggregate.collections[0], plan = (0, plan_1.parseDeliveryPlan)(collection.plan), target = aggregate.inputs.business.targets[0];
67
+ const id = (0, protocol_1.safeId)(plan.executionId, 'executionId'), base = `.gate-delivery/history/${id}`;
68
+ if (history.aggregateFile !== `.gate-delivery/development/${id}.aggregate.json` || history.sourceFile !== `.gate-delivery/development/${id}.source.json` || history.acceptanceFile !== `.gate-delivery/development/${id}.acceptance.json` || history.readyFile !== `${base}/READY.json` || history.inputsRoot !== `${base}/inputs` || !/^\.gate-delivery\/packages\/[a-f0-9]{64}\.json\.gz$/.test(history.archiveFile))
69
+ throw Error('Noncanonical historical descriptor');
65
70
  if (plan.environment !== 'dev' || plan.target !== target.id || source.targets[0].request.network !== plan.target || source.targets[0].executionId !== plan.executionId)
66
71
  throw Error('Historical development identity mismatch');
67
72
  for (const key of ['executionId', 'planHash', 'target', 'inputsHash', 'sourceDefinitionHash', 'runtimeIdentity'])
68
73
  (0, release_graph_1.sameReleaseData)(acceptance[key], plan[key], `Historical acceptance ${key}`);
69
74
  if (acceptance.version !== 1 || acceptance.status !== 'accepted')
70
75
  throw Error('Missing historical acceptance');
71
- const readyPath = node_path_1.default.posix.dirname(history.aggregateFile) + '/READY.json', ready = JSON.parse(read(readyPath).toString());
72
- if (ready.schema !== 'gate-delivery-history-ready' || ready.version !== 1 || ready.generation !== 'complete' || ready.planHash !== plan.planHash || ready.aggregateHash !== (0, canonicalData_1.semanticHash)(aggregate) || !Array.isArray(ready.files) || !ready.files.length)
76
+ const ready = JSON.parse(read(history.readyFile).toString());
77
+ if (ready.schema !== 'gate-delivery-history-ready' || ready.version !== 2 || ready.generation !== 'complete' || ready.planHash !== plan.planHash || ready.aggregateHash !== (0, canonicalData_1.semanticHash)(aggregate) || ready.sourceHash !== (0, canonicalData_1.semanticHash)(source) || !Array.isArray(ready.files) || !ready.files.length)
73
78
  throw Error('Historical snapshot generation is not READY');
74
79
  (0, release_graph_1.sameReleaseData)(ready.descriptor, history, 'Historical READY descriptor');
75
80
  for (const file of ready.files)
@@ -79,41 +84,7 @@ function validateHistoricalDevelopmentFiles(input) {
79
84
  (0, release_graph_1.sameReleaseData)(aggregate.inputs.runtime.declared, plan.runtimeIdentity, 'Historical runtime identity');
80
85
  if (original.name !== 'gate-evm-tools' || original.version !== plan.runtimeIdentity.version || original.source.identity !== original.integrity)
81
86
  throw Error('Historical producer provenance mismatch');
82
- const archive = read(history.archiveFile), snapshot = JSON.parse((0, node_zlib_1.gunzipSync)(archive).toString());
83
- if (snapshot.schema !== 'gate-delivery-package-snapshot' || snapshot.version !== 1 || !Array.isArray(snapshot.files))
84
- throw Error('Invalid historical package snapshot archive');
85
- const archived = snapshot.files.map((f) => { const bytes = Buffer.from(f.base64, 'base64'); if (bytes.toString('base64') !== f.base64 || (0, materialization_1.byteHash)(bytes) !== f.digest)
86
- throw Error('Historical snapshot archive bytes mismatch'); return { path: f.path, digest: f.digest }; });
87
- (0, release_graph_1.sameReleaseData)(archived, original.payload, 'Historical archive complete payload');
88
- (0, release_graph_1.sameReleaseData)(snapshot.observedPackage, original, 'Historical snapshot provenance');
89
- (0, release_graph_1.sameReleaseData)(snapshot.runtimeIdentity, plan.runtimeIdentity, 'Historical snapshot runtime');
90
- const payload = [];
91
- const visit = (relative) => { const dir = (0, project_files_1.confinedFile)(root, `${history.packageRoot}/${relative}`.replace(/\/$/, ''), 'directory'); for (const name of node_fs_1.default.readdirSync(dir).sort()) {
92
- if (name === 'node_modules')
93
- throw Error('Historical producer nested package unsupported');
94
- const rel = relative ? `${relative}/${name}` : name, p = (0, project_files_1.confinedFile)(root, `${history.packageRoot}/${rel}`, node_fs_1.default.lstatSync(node_path_1.default.join(dir, name)).isDirectory() ? 'directory' : 'file');
95
- if (node_fs_1.default.lstatSync(p).isDirectory())
96
- visit(rel);
97
- else
98
- payload.push({ path: rel, digest: (0, input_files_1.inputDigest)(read(`${history.packageRoot}/${rel}`)) });
99
- } };
100
- visit('');
101
- payload.sort((a, b) => a.path < b.path ? -1 : a.path > b.path ? 1 : 0);
102
- (0, release_graph_1.sameReleaseData)(payload, original.payload, 'Historical producer actual payload');
103
- (0, release_graph_1.sameReleaseData)((0, materialization_1.byteHash)(payload.map(f => `${f.path}\0${f.digest}\n`).join('')), original.payloadDigest, 'Historical payload digest');
104
- const digest = (0, node_crypto_1.createHash)('sha256');
105
- const hashDir = (dir) => { for (const name of node_fs_1.default.readdirSync((0, project_files_1.confinedFile)(root, `${history.packageRoot}/${dir}`, 'directory')).sort()) {
106
- const rel = `${dir}/${name}`, file = (0, project_files_1.confinedFile)(root, `${history.packageRoot}/${rel}`, node_fs_1.default.lstatSync(node_path_1.default.join(root, history.packageRoot, rel)).isDirectory() ? 'directory' : 'file');
107
- if (node_fs_1.default.lstatSync(file).isDirectory())
108
- hashDir(rel);
109
- else if (/\.(?:c?js)$/.test(rel)) {
110
- digest.update(rel);
111
- digest.update(read(`${history.packageRoot}/${rel}`));
112
- }
113
- } };
114
- for (const dir of ['dist-runtime', 'dist', 'dist-cjs', 'bin'])
115
- hashDir(dir);
116
- (0, release_graph_1.sameReleaseData)(digest.digest('hex'), plan.runtimeIdentity.digest, 'Historical executable runtime digest');
87
+ const archive = read(history.archiveFile), packageFiles = (0, history_package_1.readHistoricalPackage)(archive, history.archiveFile, aggregate);
117
88
  const business = aggregate.inputs.business.businessRoot, mutable = new Set([`${business}/task.yaml`, `${business}/parameters.yaml`, `${business}/parameters.provenance.json`, 'config.yaml', 'hardhat.config.ts']);
118
89
  const old = (file) => read(`${history.inputsRoot}/${file}`), now = (file) => read(file);
119
90
  const evolving = new Set([`${business}/manifest.yaml`, `${business}/parameters.schema.json`].filter(file => {
@@ -138,7 +109,7 @@ function validateHistoricalDevelopmentFiles(input) {
138
109
  for (const file of aggregate.inputs.files) {
139
110
  if (evolving.has(file.path))
140
111
  continue;
141
- const bytes = ownPayload.has(file.path) ? read(`${history.packageRoot}/${file.path.slice(original.lockLocation.length + 1)}`) : mutable.has(file.path) ? old(file.path) : now(file.path);
112
+ const bytes = ownPayload.has(file.path) ? packageFiles.get(file.path.slice(original.lockLocation.length + 1)) : mutable.has(file.path) ? old(file.path) : now(file.path);
142
113
  if ((0, input_files_1.inputDigest)(bytes) !== file.digest)
143
114
  throw Error(`Historical immutable input drift: ${file.path}`);
144
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"release-history.js","sourceRoot":"","sources":["../../runtime/delivery/release-history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"release-history.js","sourceRoot":"","sources":["../../runtime/delivery/release-history.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  {
2
- "version": "1.2.0",
3
- "digest": "e453bbc30023e440f32665bc52f3bc969366ac3277acbe745df951a6ceb826c5"
2
+ "version": "1.2.1",
3
+ "digest": "1a3c9cd75ab44948f4337f171e58e9f11001330a04ff94217e3f8cb7e7816373"
4
4
  }
@@ -38,7 +38,23 @@ const development = release.captureDevelopmentReleaseHistory({
38
38
  // Persist `development` as JSON; it contains confined project-relative file references.
39
39
  ```
40
40
 
41
- Capture reads the actual installed package and refuses any payload that differs from the accepted aggregate. It saves the original aggregate, source, changing input containers, full package payload, and a compressed snapshot archive. Its READY file is written last. The archive is a tool-produced installed-payload snapshot, not an npm distribution tarball: the observed npm lock integrity remains separate metadata. The consumer compares the complete snapshot contents with the original package payload, payload digest, and executable runtime identity. No old runtime executes, and no historical digest is rewritten to name a newer runtime.
41
+ Capture reads the actual installed package and refuses any payload that differs from the accepted aggregate. Version-2 history references the single original preparation under `.gate-delivery/development/<executionId>.source.json` and `<executionId>.aggregate.json`. Existing preparation bytes are reused after a complete semantic comparison; changed inputs cannot overwrite the original execution. Standalone callers may persist this preparation earlier with `delivery-development.persistDevelopmentInputs({root, source, aggregate})`.
42
+
43
+ The entire installed producer is retained once as `.gate-delivery/packages/<SHA256-of-archive-bytes>.json.gz`. Identical producer snapshots are shared by executions. History does not create an expanded `package/` tree or a second source/aggregate copy. The consumer verifies each archived member, its path, the complete payload, npm lock provenance and the executable runtime digest directly in memory; it neither extracts nor executes historical code. The archive is an installed-payload snapshot, not an npm distribution tarball. Its observed npm lock integrity remains separate metadata.
44
+
45
+ Only changing input containers are copied into `.gate-delivery/history/<executionId>/inputs/`; the small `READY.json` is written last and binds the original preparation, acceptance, captured containers and shared archive. A completed capture is reusable after a package update, but any missing or changed retained file is refused. Version-1 history descriptors are not accepted or migrated.
46
+
47
+ ```text
48
+ .gate-delivery/
49
+ development/<executionId>.source.json
50
+ development/<executionId>.aggregate.json
51
+ development/<executionId>.acceptance.json
52
+ history/<executionId>/READY.json
53
+ history/<executionId>/inputs/...
54
+ packages/<archive-sha256>.json.gz
55
+ ```
56
+
57
+ These files are durable deployment evidence, not disposable build cache. Keep task operations, release snapshots, execution results and the optional public calldata under `scripts/tasks/<deploymentId>/`. Do not copy a complete `finalize` or `inspect` result into another validation report: retain the authoritative files and record their paths, hashes and status in the Plan. Inspection remains read-only.
42
58
 
43
59
  Only production-only container additions/completions are compatible with the existing development acceptance. Development parameters and provenance, public target configuration, existing Hardhat network definitions, compiler/plugins, source, artifacts, scripts and custom dependencies remain bound. A custom dependency on an entire changed container is rejected. Historical task definitions retain all fields except the explicit production-target-list extension. Changed development semantics require a new development acceptance.
44
60
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gate-evm-tools",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Gate 智能合约工具集 - 字节码检查、合约升级验证、合约状态同步",
5
5
  "type": "module",
6
6
  "exports": {
@@ -0,0 +1,42 @@
1
+ /** One immutable copy of the original development preparation, reused by release history. */
2
+ import fs from 'node:fs';
3
+ import path from 'node:path';
4
+ import {randomUUID} from 'node:crypto';
5
+ import {canonicalJson} from '../workflow/lib/canonicalData';
6
+ import {developmentPath,byteHash} from './materialization';
7
+ import {readInputBytes} from './input-files';
8
+ import {projectRoot} from './project-files';
9
+ import {parseDeliveryPlan} from './plan';
10
+ import {safeId} from './protocol';
11
+ import type {DeliveryAggregate,DeliveryAggregateOptions} from './aggregate';
12
+
13
+ /** Publish complete bytes without replacing another writer's immutable file. */
14
+ export function writeImmutableDeliveryFile(root:string,relative:string,bytes:Buffer):{path:string;sha256:string} {
15
+ const file=developmentPath(root,relative);
16
+ const existing=()=>{if(!readInputBytes(root,relative).equals(bytes))throw Error(`Immutable delivery file conflict: ${relative}`);};
17
+ if(fs.existsSync(file)){existing();return {path:relative,sha256:byteHash(bytes)};}
18
+ fs.mkdirSync(path.dirname(file),{recursive:true,mode:0o700});
19
+ const temporary=`${file}.${randomUUID()}.tmp`,fd=fs.openSync(temporary,'wx',0o600);
20
+ try{fs.writeFileSync(fd,bytes);fs.fsyncSync(fd);}finally{fs.closeSync(fd);}
21
+ try{
22
+ try{fs.linkSync(temporary,file);}catch(error){if((error as NodeJS.ErrnoException).code!=='EEXIST')throw error;existing();}
23
+ }finally{fs.unlinkSync(temporary);}
24
+ const directory=fs.openSync(path.dirname(file),'r');try{fs.fsyncSync(directory);}finally{fs.closeSync(directory);}
25
+ return {path:relative,sha256:byteHash(bytes)};
26
+ }
27
+
28
+ export function persistDevelopmentInputs(input:{root:string;source:DeliveryAggregateOptions;aggregate:DeliveryAggregate}):{sourcePath:string;aggregatePath:string} {
29
+ const root=fs.realpathSync(input.root),{source,aggregate}=input,plan=parseDeliveryPlan(aggregate.collections[0]?.plan);
30
+ if(source.selection!=='development'||source.targets.length!==1||aggregate.collections.length!==1||plan.environment!=='dev'
31
+ ||projectRoot(source.workspaceRoot,source.projectRoot)!==root||source.targets[0].executionId!==plan.executionId||source.targets[0].request.network!==plan.target)
32
+ throw Error('Development inputs require the original single-target preparation');
33
+ const id=safeId(plan.executionId,'executionId'),base=`.gate-delivery/development/${id}`;
34
+ const sourcePath=`${base}.source.json`,aggregatePath=`${base}.aggregate.json`;
35
+ // Check both existing inputs before publishing either file.
36
+ const entries:[[string,unknown],[string,unknown]]=[[sourcePath,source],[aggregatePath,aggregate]];
37
+ for(const [file,value]of entries)if(fs.existsSync(developmentPath(root,file))&&canonicalJson(JSON.parse(readInputBytes(root,file).toString()))!==canonicalJson(value))
38
+ throw Error(`Immutable delivery file conflict: ${file}`);
39
+ // Existing preparation bytes remain authoritative, including their original JSON formatting.
40
+ for(const [file,value]of entries)if(!fs.existsSync(developmentPath(root,file)))writeImmutableDeliveryFile(root,file,Buffer.from(canonicalJson(value)+'\n'));
41
+ return {sourcePath,aggregatePath};
42
+ }
@@ -25,6 +25,7 @@ import {DeliveryOperationIdentities} from './identities';
25
25
  import {parsePreparationJournal,type PreparationEntry} from './journal';
26
26
  import type {DeliveryCollection} from './planning';
27
27
  import type {DeliveryAggregate,DeliveryAggregateOptions} from './aggregate';
28
+ export {persistDevelopmentInputs} from './development-inputs';
28
29
  import {openAggregateSources} from './aggregate-inputs';
29
30
  import {loadDeliveryPublicTarget} from './config';
30
31
  import {inputDigest,readInputBytes} from './input-files';
@@ -0,0 +1,50 @@
1
+ /** Verify retained producer bytes in memory. Historical code is never extracted or executed. */
2
+ import {createHash} from 'node:crypto';
3
+ import {gunzipSync} from 'node:zlib';
4
+ import {byteHash} from './materialization';
5
+ import {object,portablePath} from './protocol';
6
+ import {canonicalJson} from '../workflow/lib/canonicalData';
7
+ import type {DeliveryAggregate} from './aggregate';
8
+
9
+ export function readHistoricalPackage(archive:Buffer,archiveFile:string,aggregate:DeliveryAggregate):ReadonlyMap<string,Buffer> {
10
+ if(archiveFile!==`.gate-delivery/packages/${byteHash(archive)}.json.gz`)throw Error('Historical archive content address mismatch');
11
+ const snapshot=object(JSON.parse(gunzipSync(archive,{maxOutputLength:128*1024*1024}).toString()),'historical package snapshot',['schema','version','runtimeIdentity','observedPackage','files']);
12
+ if(snapshot.schema!=='gate-delivery-package-snapshot'||snapshot.version!==2||!Array.isArray(snapshot.files))throw Error('Invalid historical package snapshot archive');
13
+ const original=aggregate.inputs.runtime.package;
14
+ const same=(a:unknown,b:unknown,label:string)=>{if(canonicalJson(a)!==canonicalJson(b))throw Error(`${label} mismatch`);};
15
+ same(snapshot.observedPackage,original,'Historical snapshot provenance');
16
+ same(snapshot.runtimeIdentity,aggregate.inputs.runtime.declared,'Historical snapshot runtime');
17
+ const files=new Map<string,Buffer>();
18
+ for(const raw of snapshot.files){
19
+ const file=object(raw,'historical package member',['path','digest','base64']),relative=portablePath(file.path,'historical package member');
20
+ if(relative.split('/').includes('node_modules')||files.has(relative)||typeof file.base64!=='string')throw Error('Invalid historical package member');
21
+ const bytes=Buffer.from(file.base64,'base64');
22
+ if(bytes.toString('base64')!==file.base64||byteHash(bytes)!==file.digest)throw Error('Historical snapshot archive bytes mismatch');
23
+ files.set(relative,bytes);
24
+ }
25
+ const payload=[...files].map(([path,bytes])=>({path,digest:byteHash(bytes)}));
26
+ same(payload,original.payload,'Historical archive complete payload');
27
+ same(byteHash(payload.map(f=>`${f.path}\0${f.digest}\n`).join('')),original.payloadDigest,'Historical payload digest');
28
+ // Match the producer's sorted directory traversal, including file/directory prefix ordering.
29
+ const children=new Map<string,Set<string>>();
30
+ for(const relative of files.keys()){
31
+ const parts=relative.split('/');let directory='';
32
+ for(let i=0;i<parts.length;i++){
33
+ if(files.has(directory))throw Error('Historical package file/directory collision');
34
+ if(!children.has(directory))children.set(directory,new Set());
35
+ children.get(directory)!.add(parts[i]);directory=directory?`${directory}/${parts[i]}`:parts[i];
36
+ }
37
+ }
38
+ const digest=createHash('sha256');
39
+ const visit=(directory:string)=>{
40
+ const names=children.get(directory);if(!names)throw Error('Historical executable directory missing');
41
+ for(const name of [...names].sort()){
42
+ const relative=`${directory}/${name}`,bytes=files.get(relative);
43
+ if(bytes){if(/\.(?:c?js)$/.test(relative)){digest.update(relative);digest.update(bytes);}}
44
+ else visit(relative);
45
+ }
46
+ };
47
+ for(const directory of ['dist-runtime','dist','dist-cjs','bin'])visit(directory);
48
+ same(digest.digest('hex'),aggregate.inputs.runtime.declared.digest,'Historical executable runtime digest');
49
+ return files;
50
+ }
@@ -1,32 +1,42 @@
1
- /** Narrow R1→R2 handoff: capture the currently installed producer and changing containers BEFORE prod edits. */
1
+ /** Preserve accepted development inputs and one shared, compressed producer snapshot. */
2
2
  import fs from 'node:fs';
3
3
  import path from 'node:path';
4
4
  import {gzipSync} from 'node:zlib';
5
5
  import {readInputBytes} from './input-files';
6
6
  import {confinedFile,projectRoot} from './project-files';
7
- import {atomicDevelopmentWrite,byteHash,developmentPath} from './materialization';
7
+ import {byteHash,developmentPath} from './materialization';
8
8
  import {canonicalJson,semanticHash} from '../workflow/lib/canonicalData';
9
9
  import {parseDeliveryPlan} from './plan';
10
10
  import {safeId} from './protocol';
11
+ import {persistDevelopmentInputs,writeImmutableDeliveryFile} from './development-inputs';
11
12
  import type {DeliveryAggregate,DeliveryAggregateOptions} from './aggregate';
12
13
  import type {HistoricalDevelopmentFiles} from './release-history';
13
14
  export function captureDevelopmentReleaseHistory(input:{root:string;source:DeliveryAggregateOptions;aggregate:DeliveryAggregate}):HistoricalDevelopmentFiles {
14
15
  const root=fs.realpathSync(input.root),a=input.aggregate,plan=parseDeliveryPlan(a.collections[0]?.plan);
15
16
  if(input.source.selection!=='development'||a.collections.length!==1||plan.environment!=='dev'||projectRoot(input.source.workspaceRoot,input.source.projectRoot)!==root)throw Error('Historical capture requires original development source');
16
17
  safeId(plan.executionId,'executionId');
17
- const base=`.gate-delivery/history/${plan.executionId}`,readyPath=`${base}/READY.json`;
18
+ const base=`.gate-delivery/history/${plan.executionId}`,readyFile=`${base}/READY.json`;
18
19
  const acceptanceFile=`.gate-delivery/development/${plan.executionId}.acceptance.json`,acceptance=JSON.parse(readInputBytes(root,acceptanceFile).toString());
19
20
  if(acceptance.status!=='accepted'||acceptance.planHash!==plan.planHash||acceptance.inputsHash!==a.inputsHash||semanticHash(acceptance.runtimeIdentity)!==semanticHash(plan.runtimeIdentity))throw Error('Historical capture requires actual accepted development');
20
21
  const original=a.inputs.runtime.package;if(original.name!=='gate-evm-tools'||original.lockLocation!=='node_modules/gate-evm-tools')throw Error('Unsupported historical producer location');
22
+ // A completed capture can be reused after the installed producer changes.
23
+ if(fs.existsSync(developmentPath(root,readyFile))){
24
+ const ready=JSON.parse(readInputBytes(root,readyFile).toString());
25
+ if(ready.schema!=='gate-delivery-history-ready'||ready.version!==2||ready.generation!=='complete'||ready.planHash!==plan.planHash||ready.aggregateHash!==semanticHash(a)||ready.sourceHash!==semanticHash(input.source)||ready.descriptor?.version!==2||ready.descriptor.readyFile!==readyFile||!Array.isArray(ready.files)||!ready.files.length)throw Error('Conflicting historical capture');
26
+ for(const f of ready.files)if(byteHash(readInputBytes(root,f.path))!==f.sha256)throw Error('Captured historical file drift');
27
+ return ready.descriptor;
28
+ }
21
29
  const files:Array<{path:string;digest:string;base64:string}>=[];
22
30
  const visit=(relative:string)=>{const dir=confinedFile(root,`${original.lockLocation}/${relative}`.replace(/\/$/,''),'directory');for(const name of fs.readdirSync(dir).sort()){const rel=relative?`${relative}/${name}`:name;const stat=fs.lstatSync(path.join(dir,name));if(stat.isDirectory()){if(name==='node_modules')continue;visit(rel);}else{const bytes=readInputBytes(root,`${original.lockLocation}/${rel}`);files.push({path:rel,digest:byteHash(bytes),base64:bytes.toString('base64')});}}};visit('');files.sort((a,b)=>a.path<b.path?-1:a.path>b.path?1:0);
23
31
  if(semanticHash(files.map(({path,digest})=>({path,digest})))!==semanticHash(original.payload))throw Error('Historical capture must precede producer/runtime replacement');
24
- const descriptor:HistoricalDevelopmentFiles={aggregateFile:`${base}/aggregate.json`,sourceFile:`${base}/source.json`,acceptanceFile,packageRoot:`${base}/package`,inputsRoot:`${base}/inputs`,archiveFile:`${base}/package.snapshot.json.gz`};
25
- if(fs.existsSync(developmentPath(root,readyPath))){const ready=JSON.parse(readInputBytes(root,readyPath).toString());if(ready.schema!=='gate-delivery-history-ready'||ready.generation!=='complete'||ready.planHash!==plan.planHash||ready.aggregateHash!==semanticHash(a))throw Error('Conflicting historical capture');for(const f of ready.files)if(byteHash(readInputBytes(root,f.path))!==f.sha256)throw Error('Captured historical file drift');return descriptor;}
32
+ const archive=gzipSync(Buffer.from(canonicalJson({schema:'gate-delivery-package-snapshot',version:2,runtimeIdentity:plan.runtimeIdentity,observedPackage:original,files})));
33
+ const archiveFile=`.gate-delivery/packages/${byteHash(archive)}.json.gz`;
26
34
  const saved:Array<{path:string;sha256:string}>=[];
27
- const write=(relative:string,bytes:Buffer)=>{const file=developmentPath(root,relative);fs.mkdirSync(path.dirname(file),{recursive:true,mode:0o700});if(fs.existsSync(file)&&!readInputBytes(root,relative).equals(bytes))throw Error('Partial historical capture conflict');const fd=fs.openSync(file,'w',0o600);try{fs.writeFileSync(fd,bytes);fs.fsyncSync(fd);}finally{fs.closeSync(fd);}saved.push({path:relative,sha256:byteHash(bytes)});};
28
- for(const file of files)write(`${base}/package/${file.path}`,Buffer.from(file.base64,'base64'));
35
+ const write=(relative:string,bytes:Buffer)=>saved.push(writeImmutableDeliveryFile(root,relative,bytes));
36
+ const {sourcePath:sourceFile,aggregatePath:aggregateFile}=persistDevelopmentInputs(input);
37
+ const descriptor:HistoricalDevelopmentFiles={version:2,aggregateFile,sourceFile,acceptanceFile,readyFile,inputsRoot:`${base}/inputs`,archiveFile};
38
+ for(const relative of [sourceFile,aggregateFile,acceptanceFile])saved.push({path:relative,sha256:byteHash(readInputBytes(root,relative))});
29
39
  for(const name of [`${a.inputs.business.businessRoot}/task.yaml`,`${a.inputs.business.businessRoot}/parameters.yaml`,`${a.inputs.business.businessRoot}/parameters.provenance.json`,'config.yaml','hardhat.config.ts','package-lock.json','contractInfo.json','deploymentInfo.json'])write(`${base}/inputs/${name}`,readInputBytes(root,name));
30
- write(descriptor.aggregateFile,Buffer.from(canonicalJson(a)+'\n'));write(descriptor.sourceFile,Buffer.from(canonicalJson(input.source)+'\n'));write(descriptor.archiveFile,gzipSync(Buffer.from(canonicalJson({schema:'gate-delivery-package-snapshot',version:1,runtimeIdentity:plan.runtimeIdentity,observedPackage:original,files}))));
31
- atomicDevelopmentWrite(root,readyPath,canonicalJson({schema:'gate-delivery-history-ready',version:1,generation:'complete',planHash:plan.planHash,aggregateHash:semanticHash(a),descriptor,files:saved})+'\n');return descriptor;
40
+ write(archiveFile,archive);
41
+ writeImmutableDeliveryFile(root,readyFile,Buffer.from(canonicalJson({schema:'gate-delivery-history-ready',version:2,generation:'complete',planHash:plan.planHash,aggregateHash:semanticHash(a),sourceHash:semanticHash(input.source),descriptor,files:saved})+'\n'));return descriptor;
32
42
  }
@@ -4,16 +4,15 @@ import fs from 'node:fs';
4
4
  import {aggregateInputHash} from './execution-identity';
5
5
  export {aggregateInputHash} from './execution-identity';
6
6
  import path from 'node:path';
7
- import {createHash} from 'node:crypto';
8
- import {gzipSync,gunzipSync} from 'node:zlib';
9
7
  import {Contract,JsonRpcProvider} from 'ethers';
10
8
  import {BytecodeChecker,TRANSPARENT_PROXY_ARTIFACT,PROXY_ADMIN_ARTIFACT,ERC1967_ADMIN_SLOT,PROXY_ADMIN_INTERFACE,transparentAdminAddress,assertTransparentAdminImmutable} from 'gate-evm-tools/workflow';
11
9
  import {readInputBytes,inputDigest,parseInputDocument} from './input-files';
12
- import {confinedFile,projectRoot} from './project-files';
10
+ import {projectRoot} from './project-files';
13
11
  import {parseCanonicalPlan,projectCanonicalDefinitions} from './source';
14
12
  import {parseConfigurationDefinition} from './configuration-definition';
15
13
  import {parseDeliveryPublicTargets} from './config';
16
- import {object} from './protocol';
14
+ import {object,safeId} from './protocol';
15
+ import {readHistoricalPackage} from './history-package';
17
16
  import {readProjectNetworkSnapshots} from './project';
18
17
  import {parseDeliveryPlan} from './plan';
19
18
  import {parsePreparationJournal} from './journal';
@@ -33,35 +32,32 @@ import {resolveParameterTargets} from './parameter-defaults';
33
32
  import {validateHistoricalParameterExtension,type ParameterInputs} from './parameters';
34
33
  import {validateHistoricalBusinessExtension} from './business-extension';
35
34
  import {parseNativeOperation} from './custom';
36
- export interface HistoricalDevelopmentFiles {aggregateFile:string;sourceFile:string;acceptanceFile:string;packageRoot:string;inputsRoot:string;archiveFile:string}
35
+ export interface HistoricalDevelopmentFiles {version:2;aggregateFile:string;sourceFile:string;acceptanceFile:string;readyFile:string;inputsRoot:string;archiveFile:string}
37
36
  function decode(raw:any):any{const v=parseTypedValue(raw);switch(v.type){case 'bigint':return BigInt(v.value);case 'number':return Number(v.value);case 'array':return v.value.map(decode);case 'object':return Object.fromEntries(Object.entries(v.value).map(([k,x])=>[k,decode(x)]));default:return v.value;}}
38
37
  /** Every mutable historical container is retained with its ORIGINAL digest; allowed deltas are explicit. */
39
38
  export function validateHistoricalDevelopmentFiles(input:{root:string;workspaceRoot:string;projectRoot:string;history:HistoricalDevelopmentFiles}){
40
39
  const workspace=projectRoot(input.workspaceRoot,'.'),root=projectRoot(workspace,input.projectRoot),{history}=input,files=new Map<string,string>();
41
40
  if(fs.realpathSync(input.root)!==root)throw Error('Historical current project root mismatch');
41
+ object(history,'historical descriptor',['version','aggregateFile','sourceFile','acceptanceFile','readyFile','inputsRoot','archiveFile']);
42
+ if(history.version!==2)throw Error('Unsupported historical descriptor version');
42
43
  const read=(relative:string)=>{const bytes=readInputBytes(root,relative);files.set(relative,inputDigest(bytes));return bytes;};
43
44
  const aggregate=JSON.parse(read(history.aggregateFile).toString()) as DeliveryAggregate,source=JSON.parse(read(history.sourceFile).toString()) as DeliveryAggregateOptions,acceptance=JSON.parse(read(history.acceptanceFile).toString());
44
45
  if(source.projectRoot!==input.projectRoot)throw Error('Historical relative project scope mismatch');
45
46
  if(source.selection!=='development'||source.targets.length!==1||aggregate.collections.length!==1||aggregate.inputs.business.targets.length!==1)throw Error('Historical development scope mismatch');
46
47
  same(aggregateInputHash(aggregate),aggregate.inputsHash,'Historical aggregate inputs');same(semanticHash(aggregate.inputs.sourceDefinitions),aggregate.sourceDefinitionHash,'Historical source hash');
47
48
  const collection=aggregate.collections[0],plan=parseDeliveryPlan(collection.plan),target=aggregate.inputs.business.targets[0];
49
+ const id=safeId(plan.executionId,'executionId'),base=`.gate-delivery/history/${id}`;
50
+ if(history.aggregateFile!==`.gate-delivery/development/${id}.aggregate.json`||history.sourceFile!==`.gate-delivery/development/${id}.source.json`||history.acceptanceFile!==`.gate-delivery/development/${id}.acceptance.json`||history.readyFile!==`${base}/READY.json`||history.inputsRoot!==`${base}/inputs`||!/^\.gate-delivery\/packages\/[a-f0-9]{64}\.json\.gz$/.test(history.archiveFile))throw Error('Noncanonical historical descriptor');
48
51
  if(plan.environment!=='dev'||plan.target!==target.id||source.targets[0].request.network!==plan.target||source.targets[0].executionId!==plan.executionId)throw Error('Historical development identity mismatch');
49
52
  for(const key of ['executionId','planHash','target','inputsHash','sourceDefinitionHash','runtimeIdentity'] as const)same(acceptance[key],plan[key],`Historical acceptance ${key}`);
50
53
  if(acceptance.version!==1||acceptance.status!=='accepted')throw Error('Missing historical acceptance');
51
- const readyPath=path.posix.dirname(history.aggregateFile)+'/READY.json',ready=JSON.parse(read(readyPath).toString());
52
- if(ready.schema!=='gate-delivery-history-ready'||ready.version!==1||ready.generation!=='complete'||ready.planHash!==plan.planHash||ready.aggregateHash!==semanticHash(aggregate)||!Array.isArray(ready.files)||!ready.files.length)throw Error('Historical snapshot generation is not READY');
54
+ const ready=JSON.parse(read(history.readyFile).toString());
55
+ if(ready.schema!=='gate-delivery-history-ready'||ready.version!==2||ready.generation!=='complete'||ready.planHash!==plan.planHash||ready.aggregateHash!==semanticHash(aggregate)||ready.sourceHash!==semanticHash(source)||!Array.isArray(ready.files)||!ready.files.length)throw Error('Historical snapshot generation is not READY');
53
56
  same(ready.descriptor,history,'Historical READY descriptor');for(const file of ready.files)if(byteHash(read(file.path))!==file.sha256)throw Error('Historical READY file binding mismatch');
54
57
  const original=aggregate.inputs.runtime.package;
55
58
  same(aggregate.inputs.runtime.declared,plan.runtimeIdentity,'Historical runtime identity');
56
59
  if(original.name!=='gate-evm-tools'||original.version!==plan.runtimeIdentity.version||original.source.identity!==original.integrity)throw Error('Historical producer provenance mismatch');
57
- const archive=read(history.archiveFile),snapshot=JSON.parse(gunzipSync(archive).toString());
58
- if(snapshot.schema!=='gate-delivery-package-snapshot'||snapshot.version!==1||!Array.isArray(snapshot.files))throw Error('Invalid historical package snapshot archive');
59
- const archived=snapshot.files.map((f:any)=>{const bytes=Buffer.from(f.base64,'base64');if(bytes.toString('base64')!==f.base64||byteHash(bytes)!==f.digest)throw Error('Historical snapshot archive bytes mismatch');return {path:f.path,digest:f.digest};});
60
- same(archived,original.payload,'Historical archive complete payload');same(snapshot.observedPackage,original,'Historical snapshot provenance');same(snapshot.runtimeIdentity,plan.runtimeIdentity,'Historical snapshot runtime');
61
- const payload:Array<{path:string;digest:string}>=[];
62
- const visit=(relative:string)=>{const dir=confinedFile(root,`${history.packageRoot}/${relative}`.replace(/\/$/,''),'directory');for(const name of fs.readdirSync(dir).sort()){if(name==='node_modules')throw Error('Historical producer nested package unsupported');const rel=relative?`${relative}/${name}`:name,p=confinedFile(root,`${history.packageRoot}/${rel}`,fs.lstatSync(path.join(dir,name)).isDirectory()?'directory':'file');if(fs.lstatSync(p).isDirectory())visit(rel);else payload.push({path:rel,digest:inputDigest(read(`${history.packageRoot}/${rel}`))});}};
63
- visit('');payload.sort((a,b)=>a.path<b.path?-1:a.path>b.path?1:0);same(payload,original.payload,'Historical producer actual payload');same(byteHash(payload.map(f=>`${f.path}\0${f.digest}\n`).join('')),original.payloadDigest,'Historical payload digest');
64
- const digest=createHash('sha256');const hashDir=(dir:string)=>{for(const name of fs.readdirSync(confinedFile(root,`${history.packageRoot}/${dir}`,'directory')).sort()){const rel=`${dir}/${name}`,file=confinedFile(root,`${history.packageRoot}/${rel}`,fs.lstatSync(path.join(root,history.packageRoot,rel)).isDirectory()?'directory':'file');if(fs.lstatSync(file).isDirectory())hashDir(rel);else if(/\.(?:c?js)$/.test(rel)){digest.update(rel);digest.update(read(`${history.packageRoot}/${rel}`));}}};for(const dir of ['dist-runtime','dist','dist-cjs','bin'])hashDir(dir);same(digest.digest('hex'),plan.runtimeIdentity.digest,'Historical executable runtime digest');
60
+ const archive=read(history.archiveFile),packageFiles=readHistoricalPackage(archive,history.archiveFile,aggregate);
65
61
  const business=aggregate.inputs.business.businessRoot,mutable=new Set([`${business}/task.yaml`,`${business}/parameters.yaml`,`${business}/parameters.provenance.json`,'config.yaml','hardhat.config.ts']);
66
62
  const old=(file:string)=>read(`${history.inputsRoot}/${file}`),now=(file:string)=>read(file);
67
63
  const evolving=new Set([`${business}/manifest.yaml`,`${business}/parameters.schema.json`].filter(file=>{
@@ -81,7 +77,7 @@ export function validateHistoricalDevelopmentFiles(input:{root:string;workspaceR
81
77
  }
82
78
  const ownPayload=new Set(original.payload.map(file=>`${original.lockLocation}/${file.path}`));
83
79
  // The entire old frozen file union is verified. Only owned producer bytes and bounded containers have historical locations.
84
- for(const file of aggregate.inputs.files){if(evolving.has(file.path))continue;const bytes=ownPayload.has(file.path)?read(`${history.packageRoot}/${file.path.slice(original.lockLocation.length+1)}`):mutable.has(file.path)?old(file.path):now(file.path);if(inputDigest(bytes)!==file.digest)throw Error(`Historical immutable input drift: ${file.path}`);}
80
+ for(const file of aggregate.inputs.files){if(evolving.has(file.path))continue;const bytes=ownPayload.has(file.path)?packageFiles.get(file.path.slice(original.lockLocation.length+1))!:mutable.has(file.path)?old(file.path):now(file.path);if(inputDigest(bytes)!==file.digest)throw Error(`Historical immutable input drift: ${file.path}`);}
85
81
  const oldTask=parseInputDocument(old(`${business}/task.yaml`),'yaml') as any,newTask=parseInputDocument(now(`${business}/task.yaml`),'yaml') as any;
86
82
  const {productionRequirementRef:_production,...newBase}=newTask;
87
83
  same({...newBase,releaseTargetNetworks:oldTask.releaseTargetNetworks,...(oldTask.productionRequirementRef===undefined?{}:{productionRequirementRef:oldTask.productionRequirementRef})},oldTask,'Historical development task container');