@git.zone/tsrust 1.9.1 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_ts/00_commitinfo_data.js +2 -2
- package/dist_ts/index.d.ts +1 -0
- package/dist_ts/index.js +2 -1
- package/dist_ts/mod_artifact/classes.artifactassembler.d.ts +6 -0
- package/dist_ts/mod_artifact/classes.artifactassembler.js +169 -6
- package/dist_ts/mod_artifact/index.d.ts +1 -1
- package/dist_ts/mod_artifact/index.js +2 -2
- package/dist_ts/mod_cargo/classes.cargorunner.js +8 -5
- package/dist_ts/mod_cli/classes.tsrustcli.d.ts +1 -0
- package/dist_ts/mod_cli/classes.tsrustcli.js +30 -3
- package/dist_ts/mod_cli/helpers.targets.d.ts +2 -0
- package/dist_ts/mod_cli/helpers.targets.js +1 -1
- package/dist_ts/mod_matrix/classes.matrixcommandrunner.d.ts +25 -0
- package/dist_ts/mod_matrix/classes.matrixcommandrunner.js +266 -0
- package/dist_ts/mod_matrix/classes.nativematrixbuilder.d.ts +64 -0
- package/dist_ts/mod_matrix/classes.nativematrixbuilder.js +1084 -0
- package/dist_ts/mod_matrix/helpers.matrixconfig.d.ts +30 -0
- package/dist_ts/mod_matrix/helpers.matrixconfig.js +129 -0
- package/dist_ts/mod_matrix/index.d.ts +3 -0
- package/dist_ts/mod_matrix/index.js +4 -0
- package/dist_ts/mod_provenance/classes.gitstate.d.ts +1 -0
- package/dist_ts/mod_provenance/classes.gitstate.js +13 -3
- package/dist_ts/mod_provenance/classes.provenancestore.d.ts +1 -0
- package/dist_ts/mod_provenance/classes.provenancestore.js +5 -1
- package/dist_ts/mod_provenance/index.d.ts +1 -1
- package/dist_ts/mod_provenance/index.js +2 -2
- package/dist_ts/mod_toolchain/classes.toolchainmanager.d.ts +6 -0
- package/dist_ts/mod_toolchain/classes.toolchainmanager.js +211 -40
- package/package.json +2 -2
- package/readme.hints.md +12 -1
- package/readme.md +69 -2
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/index.ts +1 -0
- package/ts/mod_artifact/classes.artifactassembler.ts +201 -5
- package/ts/mod_artifact/index.ts +2 -0
- package/ts/mod_cargo/classes.cargorunner.ts +9 -4
- package/ts/mod_cli/classes.tsrustcli.ts +34 -2
- package/ts/mod_cli/helpers.targets.ts +3 -0
- package/ts/mod_matrix/classes.matrixcommandrunner.ts +294 -0
- package/ts/mod_matrix/classes.nativematrixbuilder.ts +1472 -0
- package/ts/mod_matrix/helpers.matrixconfig.ts +222 -0
- package/ts/mod_matrix/index.ts +23 -0
- package/ts/mod_provenance/classes.gitstate.ts +13 -2
- package/ts/mod_provenance/classes.provenancestore.ts +4 -0
- package/ts/mod_provenance/index.ts +1 -0
- package/ts/mod_toolchain/classes.toolchainmanager.ts +236 -43
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type INormalizedTarget, type ITsrustConfig } from '../mod_cli/helpers.targets.js';
|
|
2
|
+
export declare const matrixHostKeys: readonly ["linux_amd64", "linux_arm64", "macos_amd64", "macos_arm64"];
|
|
3
|
+
export type TMatrixHost = (typeof matrixHostKeys)[number];
|
|
4
|
+
export interface ITsrustLocalMatrixBuilderConfig {
|
|
5
|
+
transport: 'local';
|
|
6
|
+
}
|
|
7
|
+
export interface ITsrustSshMatrixBuilderConfig {
|
|
8
|
+
transport: 'ssh';
|
|
9
|
+
destinationEnv: string;
|
|
10
|
+
temporaryRootEnv: string;
|
|
11
|
+
}
|
|
12
|
+
export type TTsrustMatrixBuilderConfig = ITsrustLocalMatrixBuilderConfig | ITsrustSshMatrixBuilderConfig;
|
|
13
|
+
export interface ITsrustMatrixConfig {
|
|
14
|
+
builders: Partial<Record<TMatrixHost, TTsrustMatrixBuilderConfig>>;
|
|
15
|
+
smokeTestArgs?: string[];
|
|
16
|
+
forwardEnvironment?: string[];
|
|
17
|
+
}
|
|
18
|
+
export interface IResolvedMatrixWorker {
|
|
19
|
+
host: TMatrixHost;
|
|
20
|
+
hostTriple: string;
|
|
21
|
+
config: TTsrustMatrixBuilderConfig;
|
|
22
|
+
targets: INormalizedTarget[];
|
|
23
|
+
}
|
|
24
|
+
export interface IResolvedMatrixPlan {
|
|
25
|
+
workers: IResolvedMatrixWorker[];
|
|
26
|
+
expectedTargets: INormalizedTarget[];
|
|
27
|
+
smokeTestArgs?: string[];
|
|
28
|
+
forwardEnvironment: string[];
|
|
29
|
+
}
|
|
30
|
+
export declare const resolveMatrixPlan: (configArg: ITsrustConfig) => IResolvedMatrixPlan;
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { configuredAssemblyTargets, resolveBuildTargets, targetAliasMap, } from '../mod_cli/helpers.targets.js';
|
|
2
|
+
export const matrixHostKeys = [
|
|
3
|
+
'linux_amd64',
|
|
4
|
+
'linux_arm64',
|
|
5
|
+
'macos_amd64',
|
|
6
|
+
'macos_arm64',
|
|
7
|
+
];
|
|
8
|
+
const environmentNamePattern = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
9
|
+
const matrixHostKeySet = new Set(matrixHostKeys);
|
|
10
|
+
const isRecord = (valueArg) => !!valueArg && typeof valueArg === 'object' && !Array.isArray(valueArg);
|
|
11
|
+
const assertClosedKeys = (valueArg, allowedKeysArg, labelArg) => {
|
|
12
|
+
const allowedKeys = new Set(allowedKeysArg);
|
|
13
|
+
const unexpectedKeys = Object.keys(valueArg).filter((key) => !allowedKeys.has(key));
|
|
14
|
+
if (unexpectedKeys.length > 0) {
|
|
15
|
+
throw new Error(`${labelArg} contains unsupported keys: ${unexpectedKeys.join(', ')}`);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
const validateBuilder = (hostArg, valueArg) => {
|
|
19
|
+
if (!isRecord(valueArg)) {
|
|
20
|
+
throw new Error(`matrix.builders.${hostArg} must be an object`);
|
|
21
|
+
}
|
|
22
|
+
if (valueArg.transport === 'local') {
|
|
23
|
+
assertClosedKeys(valueArg, ['transport'], `matrix.builders.${hostArg}`);
|
|
24
|
+
return { transport: 'local' };
|
|
25
|
+
}
|
|
26
|
+
if (valueArg.transport === 'ssh') {
|
|
27
|
+
assertClosedKeys(valueArg, ['transport', 'destinationEnv', 'temporaryRootEnv'], `matrix.builders.${hostArg}`);
|
|
28
|
+
if (typeof valueArg.destinationEnv !== 'string' ||
|
|
29
|
+
!environmentNamePattern.test(valueArg.destinationEnv)) {
|
|
30
|
+
throw new Error(`matrix.builders.${hostArg}.destinationEnv must name an environment variable`);
|
|
31
|
+
}
|
|
32
|
+
if (typeof valueArg.temporaryRootEnv !== 'string' ||
|
|
33
|
+
!environmentNamePattern.test(valueArg.temporaryRootEnv)) {
|
|
34
|
+
throw new Error(`matrix.builders.${hostArg}.temporaryRootEnv must name an environment variable`);
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
transport: 'ssh',
|
|
38
|
+
destinationEnv: valueArg.destinationEnv,
|
|
39
|
+
temporaryRootEnv: valueArg.temporaryRootEnv,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
throw new Error(`matrix.builders.${hostArg}.transport must be local or ssh`);
|
|
43
|
+
};
|
|
44
|
+
const validateSmokeTestArgs = (valueArg) => {
|
|
45
|
+
if (valueArg === undefined)
|
|
46
|
+
return undefined;
|
|
47
|
+
if (!Array.isArray(valueArg) ||
|
|
48
|
+
valueArg.length === 0 ||
|
|
49
|
+
valueArg.some((argument) => typeof argument !== 'string' || argument.includes('\0') || /[\r\n]/.test(argument))) {
|
|
50
|
+
throw new Error('matrix.smokeTestArgs must be a non-empty array of single-line strings');
|
|
51
|
+
}
|
|
52
|
+
return [...valueArg];
|
|
53
|
+
};
|
|
54
|
+
const validateForwardEnvironment = (valueArg) => {
|
|
55
|
+
if (valueArg === undefined)
|
|
56
|
+
return [];
|
|
57
|
+
if (!Array.isArray(valueArg) ||
|
|
58
|
+
valueArg.some((environmentName) => typeof environmentName !== 'string' ||
|
|
59
|
+
!environmentNamePattern.test(environmentName))) {
|
|
60
|
+
throw new Error('matrix.forwardEnvironment must contain environment variable names');
|
|
61
|
+
}
|
|
62
|
+
return [...new Set(valueArg)];
|
|
63
|
+
};
|
|
64
|
+
export const resolveMatrixPlan = (configArg) => {
|
|
65
|
+
const matrixValue = configArg.matrix;
|
|
66
|
+
if (!isRecord(matrixValue)) {
|
|
67
|
+
throw new Error('tsrust matrix commands require a matrix configuration');
|
|
68
|
+
}
|
|
69
|
+
assertClosedKeys(matrixValue, ['builders', 'smokeTestArgs', 'forwardEnvironment'], 'matrix');
|
|
70
|
+
if (!isRecord(matrixValue.builders) || Object.keys(matrixValue.builders).length === 0) {
|
|
71
|
+
throw new Error('matrix.builders must define at least one build worker');
|
|
72
|
+
}
|
|
73
|
+
const workers = [];
|
|
74
|
+
let localWorkerCount = 0;
|
|
75
|
+
for (const [host, rawBuilder] of Object.entries(matrixValue.builders)) {
|
|
76
|
+
if (!matrixHostKeySet.has(host)) {
|
|
77
|
+
throw new Error(`Unsupported matrix builder host: ${host}`);
|
|
78
|
+
}
|
|
79
|
+
const matrixHost = host;
|
|
80
|
+
const builderConfig = validateBuilder(matrixHost, rawBuilder);
|
|
81
|
+
if (builderConfig.transport === 'local')
|
|
82
|
+
localWorkerCount += 1;
|
|
83
|
+
const hostTriple = targetAliasMap[matrixHost];
|
|
84
|
+
const targets = resolveBuildTargets(configArg, hostTriple);
|
|
85
|
+
if (targets.length === 0) {
|
|
86
|
+
throw new Error(`matrix builder ${matrixHost} has no configured targets`);
|
|
87
|
+
}
|
|
88
|
+
const expectedFamily = matrixHost.startsWith('linux_') ? 'linux' : 'macos';
|
|
89
|
+
const crossFamilyTarget = targets.find((target) => !target.friendly.startsWith(`${expectedFamily}_`));
|
|
90
|
+
if (crossFamilyTarget) {
|
|
91
|
+
throw new Error(`matrix builder ${matrixHost} cannot own cross-family target ${crossFamilyTarget.friendly}`);
|
|
92
|
+
}
|
|
93
|
+
workers.push({ host: matrixHost, hostTriple, config: builderConfig, targets });
|
|
94
|
+
}
|
|
95
|
+
if (localWorkerCount > 1) {
|
|
96
|
+
throw new Error('matrix.builders may define at most one local worker');
|
|
97
|
+
}
|
|
98
|
+
const expectedTargets = configuredAssemblyTargets(configArg);
|
|
99
|
+
if (expectedTargets.length === 0) {
|
|
100
|
+
throw new Error('tsrust matrix commands require configured targets');
|
|
101
|
+
}
|
|
102
|
+
const expectedByTriple = new Map(expectedTargets.map((target) => [target.triple, target]));
|
|
103
|
+
const ownerByTriple = new Map();
|
|
104
|
+
for (const worker of workers) {
|
|
105
|
+
for (const target of worker.targets) {
|
|
106
|
+
if (!expectedByTriple.has(target.triple)) {
|
|
107
|
+
throw new Error(`matrix builder ${worker.host} selected unexpected target ${target.friendly}`);
|
|
108
|
+
}
|
|
109
|
+
const existingOwner = ownerByTriple.get(target.triple);
|
|
110
|
+
if (existingOwner) {
|
|
111
|
+
throw new Error(`matrix target ${target.friendly} is assigned to both ${existingOwner} and ${worker.host}`);
|
|
112
|
+
}
|
|
113
|
+
ownerByTriple.set(target.triple, worker.host);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
const missingTargets = expectedTargets.filter((target) => !ownerByTriple.has(target.triple));
|
|
117
|
+
if (missingTargets.length > 0) {
|
|
118
|
+
throw new Error(`matrix builders do not cover configured targets: ${missingTargets
|
|
119
|
+
.map((target) => target.friendly)
|
|
120
|
+
.join(', ')}`);
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
workers,
|
|
124
|
+
expectedTargets,
|
|
125
|
+
smokeTestArgs: validateSmokeTestArgs(matrixValue.smokeTestArgs),
|
|
126
|
+
forwardEnvironment: validateForwardEnvironment(matrixValue.forwardEnvironment),
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5tYXRyaXhjb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfbWF0cml4L2hlbHBlcnMubWF0cml4Y29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsbUJBQW1CLEVBQ25CLGNBQWMsR0FHZixNQUFNLCtCQUErQixDQUFDO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixhQUFhO0lBQ2IsYUFBYTtJQUNiLGFBQWE7SUFDYixhQUFhO0NBQ0wsQ0FBQztBQXNDWCxNQUFNLHNCQUFzQixHQUFHLDBCQUEwQixDQUFDO0FBQzFELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLENBQVMsY0FBYyxDQUFDLENBQUM7QUFFekQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxRQUFpQixFQUF1QyxFQUFFLENBQzFFLENBQUMsQ0FBQyxRQUFRLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUV6RSxNQUFNLGdCQUFnQixHQUFHLENBQ3ZCLFFBQWlDLEVBQ2pDLGNBQXdCLEVBQ3hCLFFBQWdCLEVBQ1YsRUFBRTtJQUNSLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRixJQUFJLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLFFBQVEsK0JBQStCLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxD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
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { MatrixCommandRunner, type IMatrixCommandOptions, type IMatrixCommandResult, type IMatrixCommandRunner, } from './classes.matrixcommandrunner.js';
|
|
2
|
+
export { NativeMatrixBuilder, type INativeMatrixBuilderOptions, type INativeMatrixBuildResult, type INativeMatrixCheckResult, } from './classes.nativematrixbuilder.js';
|
|
3
|
+
export { matrixHostKeys, resolveMatrixPlan, type IResolvedMatrixPlan, type IResolvedMatrixWorker, type ITsrustLocalMatrixBuilderConfig, type ITsrustMatrixConfig, type ITsrustSshMatrixBuilderConfig, type TMatrixHost, type TTsrustMatrixBuilderConfig, } from './helpers.matrixconfig.js';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { MatrixCommandRunner, } from './classes.matrixcommandrunner.js';
|
|
2
|
+
export { NativeMatrixBuilder, } from './classes.nativematrixbuilder.js';
|
|
3
|
+
export { matrixHostKeys, resolveMatrixPlan, } from './helpers.matrixconfig.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfbWF0cml4L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxtQkFBbUIsR0FJcEIsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsbUJBQW1CLEdBSXBCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUNMLGNBQWMsRUFDZCxpQkFBaUIsR0FRbEIsTUFBTSwyQkFBMkIsQ0FBQyJ9
|
|
@@ -2,6 +2,7 @@ export interface IGitSnapshot {
|
|
|
2
2
|
available: boolean;
|
|
3
3
|
commit: string;
|
|
4
4
|
status: string;
|
|
5
|
+
unsafeIndexFlags?: string;
|
|
5
6
|
}
|
|
6
7
|
export declare function captureGitSnapshot(cwdArg: string): Promise<IGitSnapshot>;
|
|
7
8
|
export declare function assertGitSnapshotUnchanged(beforeArg: IGitSnapshot, afterArg: IGitSnapshot): void;
|
|
@@ -10,14 +10,23 @@ export async function captureGitSnapshot(cwdArg) {
|
|
|
10
10
|
commit = result.stdout.trim();
|
|
11
11
|
}
|
|
12
12
|
catch {
|
|
13
|
-
return { available: false, commit: 'unknown', status: '' };
|
|
13
|
+
return { available: false, commit: 'unknown', status: '', unsafeIndexFlags: '' };
|
|
14
14
|
}
|
|
15
15
|
try {
|
|
16
16
|
const status = await execFile('git', ['-C', cwdArg, 'status', '--porcelain=v1', '--untracked-files=all'], { encoding: 'utf8', maxBuffer: 16 * 1024 * 1024 });
|
|
17
|
+
const index = await execFile('git', ['-C', cwdArg, 'ls-files', '-v', '-z'], {
|
|
18
|
+
encoding: 'utf8',
|
|
19
|
+
maxBuffer: 16 * 1024 * 1024,
|
|
20
|
+
});
|
|
21
|
+
const unsafeIndexFlags = index.stdout
|
|
22
|
+
.split('\0')
|
|
23
|
+
.filter((entry) => entry.length > 0 && !entry.startsWith('H '))
|
|
24
|
+
.join('\0');
|
|
17
25
|
return {
|
|
18
26
|
available: true,
|
|
19
27
|
commit,
|
|
20
28
|
status: status.stdout,
|
|
29
|
+
unsafeIndexFlags,
|
|
21
30
|
};
|
|
22
31
|
}
|
|
23
32
|
catch {
|
|
@@ -27,8 +36,9 @@ export async function captureGitSnapshot(cwdArg) {
|
|
|
27
36
|
export function assertGitSnapshotUnchanged(beforeArg, afterArg) {
|
|
28
37
|
if (beforeArg.available !== afterArg.available ||
|
|
29
38
|
beforeArg.commit !== afterArg.commit ||
|
|
30
|
-
beforeArg.status !== afterArg.status
|
|
39
|
+
beforeArg.status !== afterArg.status ||
|
|
40
|
+
(beforeArg.unsafeIndexFlags || '') !== (afterArg.unsafeIndexFlags || '')) {
|
|
31
41
|
throw new Error('Git source state changed while Cargo was building');
|
|
32
42
|
}
|
|
33
43
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5naXRzdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL21vZF9wcm92ZW5hbmNlL2NsYXNzZXMuZ2l0c3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFlBQVksTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFFN0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7QUFTdkQsTUFBTSxDQUFDLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxNQUFjO0lBQ3JELElBQUksTUFBYyxDQUFDO0lBQ25CLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQ3hFLFFBQVEsRUFBRSxNQUFNO1NBQ2pCLENBQUMsQ0FBQztRQUNILE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDbkYsQ0FBQztJQUNELElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUMzQixLQUFLLEVBQ0wsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQyxFQUNuRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxFQUFFLENBQ2xELENBQUM7UUFDRixNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDMUUsUUFBUSxFQUFFLE1BQU07WUFDaEIsU0FBUyxFQUFFLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSTtTQUM1QixDQUFDLENBQUM7UUFDSCxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxNQUFNO2FBQ2xDLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDWCxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDZCxPQUFPO1lBQ0wsU0FBUyxFQUFFLElBQUk7WUFDZixNQUFNO1lBQ04sTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLGdCQUFnQjtTQUNqQixDQUFDO0lBQ0osQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEIsQ0FDeEMsU0FBdUIsRUFDdkIsUUFBc0I7SUFFdEIsSUFDRSxTQUFTLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQyxTQUFTO1FBQzFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLE1BQU07UUFDcEMsU0FBUyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsTUFBTTtRQUNwQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsRUFDeEUsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUN2RSxDQUFDO0FBQ0gsQ0FBQyJ9
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ITsrustBuildInfo } from '../mod_elf/index.js';
|
|
2
2
|
export declare const PROVENANCE_SIDECAR_SUFFIX = ".tsrust-build.json";
|
|
3
|
+
export declare const MAX_PROVENANCE_SIDECAR_BYTES: number;
|
|
3
4
|
export declare class ProvenanceStore {
|
|
4
5
|
static sidecarPath(binaryPathArg: string): string;
|
|
5
6
|
static sha256(binaryPathArg: string): Promise<string>;
|
|
@@ -5,6 +5,7 @@ import { ProvenanceStamper } from '../mod_elf/index.js';
|
|
|
5
5
|
import { getHostIdentity, isLocalProcessRunning } from './helpers.owneridentity.js';
|
|
6
6
|
const SIDECAR_FORMAT = 'tsrust.build-provenance.v2';
|
|
7
7
|
export const PROVENANCE_SIDECAR_SUFFIX = '.tsrust-build.json';
|
|
8
|
+
export const MAX_PROVENANCE_SIDECAR_BYTES = 1024 * 1024;
|
|
8
9
|
function isBuildInfo(valueArg) {
|
|
9
10
|
if (!valueArg || typeof valueArg !== 'object' || Array.isArray(valueArg))
|
|
10
11
|
return false;
|
|
@@ -144,6 +145,9 @@ export class ProvenanceStore {
|
|
|
144
145
|
if (!sidecar.isFile() || sidecar.isSymbolicLink()) {
|
|
145
146
|
throw new Error(`Provenance sidecar is not a regular file: ${sidecarPath}`);
|
|
146
147
|
}
|
|
148
|
+
if (sidecar.size > MAX_PROVENANCE_SIDECAR_BYTES) {
|
|
149
|
+
throw new Error(`Provenance sidecar exceeds the size limit: ${sidecarPath}`);
|
|
150
|
+
}
|
|
147
151
|
let parsed;
|
|
148
152
|
try {
|
|
149
153
|
parsed = JSON.parse(await fs.promises.readFile(sidecarPath, 'utf8'));
|
|
@@ -181,4 +185,4 @@ export class ProvenanceStore {
|
|
|
181
185
|
return ProvenanceStore.readSidecar(binaryPathArg);
|
|
182
186
|
}
|
|
183
187
|
}
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5wcm92ZW5hbmNlc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfcHJvdmVuYW5jZS9jbGFzc2VzLnByb3ZlbmFuY2VzdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFcEYsTUFBTSxjQUFjLEdBQUcsNEJBQTRCLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsb0JBQW9CLENBQUM7QUFDOUQsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQVF4RCxTQUFTLFdBQVcsQ0FBQyxRQUFpQjtJQUNwQyxJQUFJLENBQUMsUUFBUSxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ3ZGLE1BQU0sS0FBSyxHQUFHLFFBQW1DLENBQUM7SUFDbEQsT0FBTyxDQUNMLE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxRQUFRO1FBQ2hDLE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxRQUFRO1FBQ2hDLE9BQU8sS0FBSyxDQUFDLFdBQVcsS0FBSyxRQUFRO1FBQ3JDLE9BQU8sS0FBSyxDQUFDLGNBQWMsS0FBSyxRQUFRO1FBQ3hDLE9BQU8sS0FBSyxDQUFDLFNBQVMsS0FBSyxRQUFRO1FBQ25DLE9BQU8sS0FBSyxDQUFDLE9BQU8sS0FBSyxRQUFRO1FBQ2pDLE9BQU8sS0FBSyxDQUFDLGFBQWEsS0FBSyxRQUFRO1FBQ3ZDLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxTQUFTLElBQUksT0FBTyxLQUFLLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUN0RSxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sT0FBTyxlQUFlO0lBQ25CLE1BQU0sQ0FBQyxXQUFXLENBQUMsYUFBcUI7UUFDN0MsT0FBTyxHQUFHLGFBQWEsR0FBRyx5QkFBeUIsRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFxQjtRQUM5QyxNQUFNLE1BQU0sR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUM7WUFDaEQsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUMvRSxDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxNQUFNLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzFDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNsRCxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzNCLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFxQixFQUFFLE9BQXlCO1FBQ3hFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxNQUFNLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztZQUNoRCxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFDRCxNQUFNLFdBQVcsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sZUFBZSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sUUFBUSxHQUFHLE1BQU0sZUFBZSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFFLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7Z0JBQUUsT0FBTyxXQUFXLENBQUM7WUFDN0UsTUFBTSxJQUFJLEtBQUssQ0FBQyx1RUFBdUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN4RyxDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQXVCO1lBQ2pDLE1BQU0sRUFBRSxjQUFjO1lBQ3RCLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO1lBQ3pELFNBQVMsRUFBRSxPQUFPO1NBQ25CLENBQUM7UUFDRixNQUFNLGFBQWEsR0FBRyxHQUFHLFdBQVcsSUFBSSxlQUFlLEVBQUUsSUFBSSxPQUFPLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDO1FBQ3RHLElBQUksU0FBNkMsQ0FBQztRQUNsRCxJQUFJLENBQUM7WUFDSCxTQUFTLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQy9ELE1BQU0sU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzFFLE1BQU0sU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixNQUFNLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN2QixNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN4QixTQUFTLEdBQUcsU0FBUyxDQUFDO1lBQ3RCLElBQUksQ0FBQztnQkFDSCxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUNyRCxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixJQUFLLEtBQStCLENBQUMsSUFBSSxLQUFLLFFBQVE7b0JBQUUsTUFBTSxLQUFLLENBQUM7Z0JBQ3BFLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxlQUFlLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUM3RSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLGFBQWEsRUFBRSxDQUFDLENBQUM7Z0JBQ2hGLENBQUM7WUFDSCxDQUFDO1lBQ0QsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN4QyxNQUFNLFNBQVMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDO2dCQUNILE1BQU0sU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pCLENBQUM7b0JBQVMsQ0FBQztnQkFDVCxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMxQixDQUFDO1lBQ0QsT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDO2dCQUN2QixTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDdkMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO2FBQy9DLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FDdEMsYUFBcUI7UUFFckIsSUFBSSxDQUFDO1lBQ0gsT0FBTyxNQUFNLGVBQWUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixJQUFLLEtBQStCLENBQUMsSUFBSSxLQUFLLFFBQVE7Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFDekUsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsY0FBc0I7UUFDL0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNuRCxNQUFNLGVBQWUsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztRQUM1RCxNQUFNLE9BQU8sR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLEtBQUssTUFBTSxLQUFLLElBQUksT0FBTyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDNUUsU0FBUztZQUNYLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtnQkFBRSxTQUFTO1lBQzlCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEUsTUFBTSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsVUFBVSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3RSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUIsSUFDRSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQ3JCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7Z0JBQzFDLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUM7Z0JBQzFCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7Z0JBQ3pDLFlBQVksS0FBSyxlQUFlLEVBQUU7Z0JBQ2xDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxFQUMxQixDQUFDO2dCQUNELFNBQVM7WUFDWCxDQUFDO1lBQ0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQztnQkFDSCxNQUFNLFNBQVMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO29CQUN0RCxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDO1lBQ0gsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsSUFBSyxLQUErQixDQUFDLElBQUksS0FBSyxRQUFRO29CQUFFLE1BQU0sS0FBSyxDQUFDO1lBQ3RFLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQXFCO1FBQ25ELE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1lBQ2xELE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDOUUsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLElBQUksR0FBRyw0QkFBNEIsRUFBRSxDQUFDO1lBQ2hELE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDL0UsQ0FBQztRQUNELElBQUksTUFBZSxDQUFDO1FBQ3BCLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNuRSxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxNQUFxQyxDQUFDO1FBQ3JELElBQ0UsTUFBTSxDQUFDLE1BQU0sS0FBSyxjQUFjO1lBQ2hDLE9BQU8sTUFBTSxDQUFDLFlBQVksS0FBSyxRQUFRO1lBQ3ZDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7WUFDM0MsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUM5QixDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNqRixDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsTUFBTSxlQUFlLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pFLElBQUksWUFBWSxLQUFLLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQXFCO1FBQzVDLE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDO1lBQ0gsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUssS0FBK0IsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3ZELE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQy9DLENBQUM7WUFDRCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLGVBQWUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNGIn0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { captureGitSnapshot, assertGitSnapshotUnchanged, type IGitSnapshot, } from './classes.gitstate.js';
|
|
2
|
-
export { ProvenanceStore, PROVENANCE_SIDECAR_SUFFIX, } from './classes.provenancestore.js';
|
|
2
|
+
export { ProvenanceStore, PROVENANCE_SIDECAR_SUFFIX, MAX_PROVENANCE_SIDECAR_BYTES, } from './classes.provenancestore.js';
|
|
3
3
|
export { getHostIdentity, isLocalProcessRunning } from './helpers.owneridentity.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { captureGitSnapshot, assertGitSnapshotUnchanged, } from './classes.gitstate.js';
|
|
2
|
-
export { ProvenanceStore, PROVENANCE_SIDECAR_SUFFIX, } from './classes.provenancestore.js';
|
|
2
|
+
export { ProvenanceStore, PROVENANCE_SIDECAR_SUFFIX, MAX_PROVENANCE_SIDECAR_BYTES, } from './classes.provenancestore.js';
|
|
3
3
|
export { getHostIdentity, isLocalProcessRunning } from './helpers.owneridentity.js';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfcHJvdmVuYW5jZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLDBCQUEwQixHQUUzQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFDTCxlQUFlLEVBQ2YseUJBQXlCLEVBQ3pCLDRCQUE0QixHQUM3QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQyJ9
|
|
@@ -5,6 +5,10 @@ export declare class ToolchainManager {
|
|
|
5
5
|
static BIN_DIR: string;
|
|
6
6
|
private shell;
|
|
7
7
|
constructor();
|
|
8
|
+
private ensureSecureToolchainDirectory;
|
|
9
|
+
private isSecureToolchainExecutable;
|
|
10
|
+
private acquireInstallLock;
|
|
11
|
+
private releaseInstallLock;
|
|
8
12
|
/**
|
|
9
13
|
* Returns the Rust host triple for the current platform.
|
|
10
14
|
*/
|
|
@@ -12,10 +16,12 @@ export declare class ToolchainManager {
|
|
|
12
16
|
/**
|
|
13
17
|
* Checks if the bundled toolchain is already installed at TOOLCHAIN_DIR.
|
|
14
18
|
*/
|
|
19
|
+
private isInstalledUnlocked;
|
|
15
20
|
isInstalled(): Promise<boolean>;
|
|
16
21
|
/**
|
|
17
22
|
* Downloads rustup-init and installs a minimal Rust toolchain to TOOLCHAIN_DIR.
|
|
18
23
|
*/
|
|
24
|
+
private installUnlocked;
|
|
19
25
|
install(): Promise<void>;
|
|
20
26
|
/**
|
|
21
27
|
* Ensures the bundled toolchain is installed. Downloads if not present.
|