@fabricorg/assembly 0.4.7 → 0.4.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -0
- package/dist/index.cjs +725 -836
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +161 -161
- package/dist/index.d.ts +161 -161
- package/dist/index.js +708 -801
- package/dist/index.js.map +1 -1
- package/package.json +13 -12
package/dist/index.d.ts
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AdoptionBinding, BindingFinding, ComponentPackManifest } from
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
import { AdapterCertification, RegisteredAdapter } from "@fabricorg/ports";
|
|
2
|
+
import { AdoptionBinding, BindingFinding, ComponentPackManifest } from "@fabricorg/adoption-bindings";
|
|
3
|
+
import { UsageContract, UsageContractDocument } from "@fabricorg/gen-capability";
|
|
4
|
+
//#region index.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* Version of the assembly manifest document. A vertical negotiates on this, not
|
|
7
7
|
* on this package's version, and it moves only when the serialized shape changes.
|
|
8
8
|
*/
|
|
9
|
-
declare const ASSEMBLY_MANIFEST_FORMAT_VERSION: 2;
|
|
9
|
+
export declare const ASSEMBLY_MANIFEST_FORMAT_VERSION: 2;
|
|
10
10
|
/**
|
|
11
11
|
* Version of the resolved lockfile document. Bump when the serialized shape
|
|
12
12
|
* changes in a way a consumer must detect.
|
|
13
13
|
*/
|
|
14
|
-
declare const ASSEMBLY_LOCKFILE_FORMAT_VERSION: 2;
|
|
14
|
+
export declare const ASSEMBLY_LOCKFILE_FORMAT_VERSION: 2;
|
|
15
15
|
interface SemverVersion {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
major: number;
|
|
17
|
+
minor: number;
|
|
18
|
+
patch: number;
|
|
19
|
+
prerelease: string[];
|
|
20
20
|
}
|
|
21
21
|
type Comparator = (version: SemverVersion) => boolean;
|
|
22
22
|
interface ParsedComparator {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
operator: string;
|
|
24
|
+
comparator: Comparator;
|
|
25
|
+
raw: string;
|
|
26
|
+
rangeVersion: SemverVersion | undefined;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* A parsed semver range — a conjunction of comparators. Every comparator must
|
|
30
30
|
* be satisfied. This is the subset of npm range syntax that a deterministic
|
|
31
31
|
* resolver needs: `^`, `~`, `>=`, `>`, `<=`, `<`, `=`, exact, and `*`.
|
|
32
32
|
*/
|
|
33
|
-
interface SemverRange {
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
export interface SemverRange {
|
|
34
|
+
comparators: ParsedComparator[];
|
|
35
|
+
raw: string;
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
38
|
* Parse a semver range string into a {@link SemverRange}. Returns `undefined`
|
|
39
39
|
* for an unparseable range rather than throwing, so callers can distinguish
|
|
40
40
|
* "bad range" from "no satisfying version".
|
|
41
41
|
*/
|
|
42
|
-
declare function parseSemverRange(raw: string): SemverRange | undefined;
|
|
42
|
+
export declare function parseSemverRange(raw: string): SemverRange | undefined;
|
|
43
43
|
/**
|
|
44
44
|
* Test whether a version string satisfies a parsed range.
|
|
45
45
|
*
|
|
@@ -48,34 +48,34 @@ declare function parseSemverRange(raw: string): SemverRange | undefined;
|
|
|
48
48
|
* follows npm semantics: `^1.0.0` does not match `1.1.0-alpha`, but
|
|
49
49
|
* `^1.0.0-alpha` matches `1.0.0-alpha.2`.
|
|
50
50
|
*/
|
|
51
|
-
declare function satisfiesRange(version: string, range: SemverRange): boolean;
|
|
51
|
+
export declare function satisfiesRange(version: string, range: SemverRange): boolean;
|
|
52
52
|
/**
|
|
53
53
|
* Resolve a range against a list of available versions, returning the highest
|
|
54
54
|
* satisfying version. Returns `undefined` when no available version satisfies
|
|
55
55
|
* the range. Deterministic: the same inputs always produce the same result.
|
|
56
56
|
*/
|
|
57
|
-
declare function resolveVersionRange(range: SemverRange, available: readonly string[]): string | undefined;
|
|
57
|
+
export declare function resolveVersionRange(range: SemverRange, available: readonly string[]): string | undefined;
|
|
58
58
|
/** A capability the vertical assembles, with a version range to resolve. */
|
|
59
|
-
interface AssemblyCapabilityReference {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
export interface AssemblyCapabilityReference {
|
|
60
|
+
namespace: string;
|
|
61
|
+
/** Semver range, e.g. `^1.0.0`, `>=1.0.0 <2.0.0`, `*`. */
|
|
62
|
+
range: string;
|
|
63
63
|
}
|
|
64
64
|
/** A component pack the vertical assembles, with a version range to resolve. */
|
|
65
|
-
interface AssemblyComponentPackReference {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
export interface AssemblyComponentPackReference {
|
|
66
|
+
pack: string;
|
|
67
|
+
namespace: string;
|
|
68
|
+
range: string;
|
|
69
69
|
}
|
|
70
70
|
/** An adoption binding the vertical declares against a capability. */
|
|
71
|
-
interface AssemblyBindingEntry {
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
export interface AssemblyBindingEntry {
|
|
72
|
+
capability: string;
|
|
73
|
+
binding: AdoptionBinding;
|
|
74
74
|
}
|
|
75
75
|
/** A usage contract the vertical depends on, supplied inline for validation. */
|
|
76
|
-
interface AssemblyContractEntry {
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
export interface AssemblyContractEntry {
|
|
77
|
+
namespace: string;
|
|
78
|
+
document: UsageContractDocument;
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
81
81
|
* An adapter the vertical deploys behind a port, with the certification the
|
|
@@ -83,13 +83,13 @@ interface AssemblyContractEntry {
|
|
|
83
83
|
* vertical passes that straight in. Without a certification the adapter is a
|
|
84
84
|
* claim, and resolution refuses it for any port a contract requires.
|
|
85
85
|
*/
|
|
86
|
-
interface AssemblyAdapterEntry extends RegisteredAdapter {
|
|
87
|
-
|
|
86
|
+
export interface AssemblyAdapterEntry extends RegisteredAdapter {
|
|
87
|
+
certification?: AdapterCertification;
|
|
88
88
|
}
|
|
89
89
|
/** A port contract in force, so a certification against an older contract is stale. */
|
|
90
|
-
interface AssemblyPortDefinition {
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
export interface AssemblyPortDefinition {
|
|
91
|
+
id: string;
|
|
92
|
+
version: string;
|
|
93
93
|
}
|
|
94
94
|
/**
|
|
95
95
|
* What a vertical assembles: the capabilities it depends on, the component
|
|
@@ -97,29 +97,29 @@ interface AssemblyPortDefinition {
|
|
|
97
97
|
* it validates against. This is the build-time input; the lockfile is the
|
|
98
98
|
* resolved output.
|
|
99
99
|
*/
|
|
100
|
-
interface AssemblyManifest {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
100
|
+
export interface AssemblyManifest {
|
|
101
|
+
formatVersion: typeof ASSEMBLY_MANIFEST_FORMAT_VERSION;
|
|
102
|
+
/** Lowercase identifier for the vertical application. */
|
|
103
|
+
application: string;
|
|
104
|
+
capabilities: AssemblyCapabilityReference[];
|
|
105
|
+
componentPacks: AssemblyComponentPackReference[];
|
|
106
|
+
bindings: AssemblyBindingEntry[];
|
|
107
|
+
contracts: AssemblyContractEntry[];
|
|
108
|
+
/**
|
|
109
|
+
* Adapters deployed behind the ports the contracts require. Declaring the
|
|
110
|
+
* field, even empty, engages the adapter plane: every port a contract
|
|
111
|
+
* requires must then be satisfied by a certified adapter listed here, or
|
|
112
|
+
* the assembly does not resolve. An assembly that does not declare it
|
|
113
|
+
* resolves as before, with port satisfaction as a separate deployment gate.
|
|
114
|
+
*/
|
|
115
|
+
adapters?: AssemblyAdapterEntry[];
|
|
116
116
|
}
|
|
117
117
|
/** A published capability version available for resolution. */
|
|
118
|
-
interface AvailableCapability {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
118
|
+
export interface AvailableCapability {
|
|
119
|
+
namespace: string;
|
|
120
|
+
version: string;
|
|
121
|
+
/** SHA-256 manifest digest from the compiler IR. */
|
|
122
|
+
manifestDigest: string;
|
|
123
123
|
}
|
|
124
124
|
/**
|
|
125
125
|
* Where a federated pack is loaded from, and what proves it is the pack that
|
|
@@ -127,99 +127,99 @@ interface AvailableCapability {
|
|
|
127
127
|
* remote entry is what a shell actually executes, so it needs its own integrity
|
|
128
128
|
* value or the review covers something other than what runs.
|
|
129
129
|
*/
|
|
130
|
-
interface ComponentPackRemote {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
130
|
+
export interface ComponentPackRemote {
|
|
131
|
+
/** Remote entry URL the shell loads. */
|
|
132
|
+
entry: string;
|
|
133
|
+
/** Subresource-integrity value for that entry, e.g. `sha384-…`. */
|
|
134
|
+
integrity: string;
|
|
135
|
+
/** Exposed module path keyed by the component name it provides. */
|
|
136
|
+
exposes: Record<string, string>;
|
|
137
137
|
}
|
|
138
138
|
/** A published component pack version available for resolution. */
|
|
139
|
-
interface AvailableComponentPack {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
139
|
+
export interface AvailableComponentPack {
|
|
140
|
+
pack: string;
|
|
141
|
+
namespace: string;
|
|
142
|
+
version: string;
|
|
143
|
+
/** SHA-256 digest of the published component-pack artifact. */
|
|
144
|
+
artifactDigest: string;
|
|
145
|
+
/** Present when this pack is delivered as a federated remote. */
|
|
146
|
+
remote?: ComponentPackRemote;
|
|
147
147
|
}
|
|
148
148
|
/** A resolved capability in the lockfile. */
|
|
149
|
-
interface ResolvedCapability {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
149
|
+
export interface ResolvedCapability {
|
|
150
|
+
namespace: string;
|
|
151
|
+
version: string;
|
|
152
|
+
range: string;
|
|
153
|
+
manifestDigest: string;
|
|
154
|
+
/** Digest of the exact generated usage-contract document validated for this capability. */
|
|
155
|
+
usageContractDigest?: string;
|
|
156
156
|
}
|
|
157
157
|
/** A resolved component pack in the lockfile. */
|
|
158
|
-
interface ResolvedComponentPack {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
158
|
+
export interface ResolvedComponentPack {
|
|
159
|
+
pack: string;
|
|
160
|
+
namespace: string;
|
|
161
|
+
version: string;
|
|
162
|
+
range: string;
|
|
163
|
+
artifactDigest: string;
|
|
164
|
+
/** Locked delivery binding, when the pack is a federated remote. */
|
|
165
|
+
remote?: ComponentPackRemote;
|
|
166
166
|
}
|
|
167
167
|
/** A validated adoption binding in the lockfile. */
|
|
168
|
-
interface ResolvedBinding {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
168
|
+
export interface ResolvedBinding {
|
|
169
|
+
capability: string;
|
|
170
|
+
bindingDigest: string;
|
|
171
|
+
valid: boolean;
|
|
172
|
+
findings: BindingFinding[];
|
|
173
173
|
}
|
|
174
174
|
/**
|
|
175
175
|
* A certified adapter locked into the assembly. The certification itself is
|
|
176
176
|
* summarised by digest so the lockfile stays small and the evidence stays
|
|
177
177
|
* verifiable: the same certification produces the same digest.
|
|
178
178
|
*/
|
|
179
|
-
interface ResolvedAdapter {
|
|
180
|
-
|
|
181
|
-
|
|
179
|
+
export interface ResolvedAdapter {
|
|
180
|
+
port: string;
|
|
181
|
+
vendor: string;
|
|
182
|
+
version?: string;
|
|
183
|
+
standard?: {
|
|
184
|
+
name: string;
|
|
182
185
|
version?: string;
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
certifiedAt?: string;
|
|
192
|
-
/** SHA-256 of the whole canonical certification record. */
|
|
193
|
-
certificationDigest?: string;
|
|
186
|
+
};
|
|
187
|
+
/** Whether a certification was declared. An uncertified adapter is recorded so the lockfile says what is deployed, and refused wherever a contract requires its port. */
|
|
188
|
+
certified: boolean;
|
|
189
|
+
/** Port contract version the adapter was certified against. */
|
|
190
|
+
portVersion?: string;
|
|
191
|
+
certifiedAt?: string;
|
|
192
|
+
/** SHA-256 of the whole canonical certification record. */
|
|
193
|
+
certificationDigest?: string;
|
|
194
194
|
}
|
|
195
195
|
/**
|
|
196
196
|
* The deterministic, resolved output of assembling a vertical. Every version
|
|
197
197
|
* is locked, every binding is validated, and the whole document carries a
|
|
198
198
|
* canonical digest so two builds with the same inputs produce the same lockfile.
|
|
199
199
|
*/
|
|
200
|
-
interface AssemblyLockfile {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
200
|
+
export interface AssemblyLockfile {
|
|
201
|
+
formatVersion: typeof ASSEMBLY_LOCKFILE_FORMAT_VERSION;
|
|
202
|
+
application: string;
|
|
203
|
+
/** SHA-256 of this lockfile's canonical resolved body, excluding this field. */
|
|
204
|
+
assemblyDigest: string;
|
|
205
|
+
capabilities: ResolvedCapability[];
|
|
206
|
+
componentPacks: ResolvedComponentPack[];
|
|
207
|
+
bindings: ResolvedBinding[];
|
|
208
|
+
/** Present when the manifest declared adapters; covered by the digest. */
|
|
209
|
+
adapters?: ResolvedAdapter[];
|
|
210
210
|
}
|
|
211
|
-
type AssemblyFindingCode = "duplicate_capability" | "duplicate_component_pack" | "unresolved_capability" | "unresolved_component_pack" | "invalid_range" | "unknown_contract_for_binding" | "contract_namespace_mismatch" | "contract_manifest_digest_mismatch" | "binding_validation_failed" | "invalid_contract" | "invalid_component_pack" | "missing_component_pack_manifest" | "component_pack_artifact_digest_mismatch" | "duplicate_contract" | "duplicate_adapter" | "unsatisfied_port" | "standard_not_spoken" | "version_mismatch" | "uncertified_adapter" | "stale_certification";
|
|
212
|
-
interface AssemblyFinding {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
211
|
+
export type AssemblyFindingCode = "duplicate_capability" | "duplicate_component_pack" | "unresolved_capability" | "unresolved_component_pack" | "invalid_range" | "unknown_contract_for_binding" | "contract_namespace_mismatch" | "contract_manifest_digest_mismatch" | "binding_validation_failed" | "invalid_contract" | "invalid_component_pack" | "missing_component_pack_manifest" | "component_pack_artifact_digest_mismatch" | "duplicate_contract" | "duplicate_adapter" | "unsatisfied_port" | "standard_not_spoken" | "version_mismatch" | "uncertified_adapter" | "stale_certification";
|
|
212
|
+
export interface AssemblyFinding {
|
|
213
|
+
code: AssemblyFindingCode;
|
|
214
|
+
path: string;
|
|
215
|
+
message: string;
|
|
216
216
|
}
|
|
217
|
-
interface AssemblyResult {
|
|
218
|
-
|
|
219
|
-
|
|
217
|
+
export interface AssemblyResult {
|
|
218
|
+
lockfile: AssemblyLockfile | undefined;
|
|
219
|
+
findings: AssemblyFinding[];
|
|
220
220
|
}
|
|
221
221
|
/** Compute the digest stored for an exact generated usage-contract document. */
|
|
222
|
-
declare function computeUsageContractDocumentDigest(document: UsageContractDocument): string;
|
|
222
|
+
export declare function computeUsageContractDocumentDigest(document: UsageContractDocument): string;
|
|
223
223
|
/**
|
|
224
224
|
* The canonical digest of a lockfile's resolved content.
|
|
225
225
|
*
|
|
@@ -229,28 +229,28 @@ declare function computeUsageContractDocumentDigest(document: UsageContractDocum
|
|
|
229
229
|
* forged lockfile still fails downstream, because a release binds the assembly
|
|
230
230
|
* digest it was validated against.
|
|
231
231
|
*/
|
|
232
|
-
declare function computeAssemblyLockfileDigest(lockfile: Omit<AssemblyLockfile, "assemblyDigest">): string;
|
|
232
|
+
export declare function computeAssemblyLockfileDigest(lockfile: Omit<AssemblyLockfile, "assemblyDigest">): string;
|
|
233
233
|
/** The digest a certification record locks under: the whole record, keys sorted, checks sorted. */
|
|
234
|
-
declare function computeAdapterCertificationDigest(certification: AdapterCertification): string;
|
|
234
|
+
export declare function computeAdapterCertificationDigest(certification: AdapterCertification): string;
|
|
235
235
|
/**
|
|
236
236
|
* Structural validation of an assembly manifest. Checks the document's own
|
|
237
237
|
* shape; does not resolve ranges or validate contracts/bindings.
|
|
238
238
|
*/
|
|
239
|
-
declare function assertAssemblyManifest(value: unknown, path?: string): asserts value is AssemblyManifest;
|
|
239
|
+
export declare function assertAssemblyManifest(value: unknown, path?: string): asserts value is AssemblyManifest;
|
|
240
240
|
/**
|
|
241
241
|
* Structural validation of a component pack manifest.
|
|
242
242
|
*/
|
|
243
|
-
declare function assertComponentPackManifest(value: unknown, path?: string): asserts value is ComponentPackManifest;
|
|
243
|
+
export declare function assertComponentPackManifest(value: unknown, path?: string): asserts value is ComponentPackManifest;
|
|
244
244
|
/**
|
|
245
245
|
* Validate a resolved lockfile and verify that its digest still identifies its
|
|
246
246
|
* exact application, capability, pack, contract, and binding content.
|
|
247
247
|
*/
|
|
248
|
-
declare function assertAssemblyLockfile(value: unknown, path?: string): asserts value is AssemblyLockfile;
|
|
248
|
+
export declare function assertAssemblyLockfile(value: unknown, path?: string): asserts value is AssemblyLockfile;
|
|
249
249
|
/**
|
|
250
250
|
* Verify that the capability artifacts loaded by a runtime are exactly those
|
|
251
251
|
* approved by an integrity-checked assembly lockfile.
|
|
252
252
|
*/
|
|
253
|
-
declare function assertAssemblyRuntimeCompatible(lockfile: AssemblyLockfile, loadedCapabilities: readonly AvailableCapability[],
|
|
253
|
+
export declare function assertAssemblyRuntimeCompatible(lockfile: AssemblyLockfile, loadedCapabilities: readonly AvailableCapability[],
|
|
254
254
|
/**
|
|
255
255
|
* The adapters this runtime registered, when the lockfile carries an
|
|
256
256
|
* adapter plane. Every locked certified adapter must be registered under
|
|
@@ -259,24 +259,24 @@ declare function assertAssemblyRuntimeCompatible(lockfile: AssemblyLockfile, loa
|
|
|
259
259
|
* port is what was approved.
|
|
260
260
|
*/
|
|
261
261
|
registeredAdapters?: readonly AssemblyAdapterEntry[]): void;
|
|
262
|
-
interface ResolveAssemblyInput {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
262
|
+
export interface ResolveAssemblyInput {
|
|
263
|
+
manifest: AssemblyManifest;
|
|
264
|
+
/** Published capability versions available for resolution. */
|
|
265
|
+
capabilities: AvailableCapability[];
|
|
266
|
+
/** Published component pack versions available for resolution. */
|
|
267
|
+
componentPacks: AvailableComponentPack[];
|
|
268
|
+
/** Component pack manifests for binding validation. */
|
|
269
|
+
packManifests?: ComponentPackManifest[];
|
|
270
|
+
/** Core component vocabulary every renderer implements. */
|
|
271
|
+
coreComponents?: readonly string[];
|
|
272
|
+
/** Contracts available for cross-capability fragment resolution. */
|
|
273
|
+
availableContracts?: UsageContract[];
|
|
274
|
+
/**
|
|
275
|
+
* Port contracts in force. With them, a certification issued against an
|
|
276
|
+
* older port version is `stale_certification`; without them, only its
|
|
277
|
+
* presence is checked.
|
|
278
|
+
*/
|
|
279
|
+
portDefinitions?: readonly AssemblyPortDefinition[];
|
|
280
280
|
}
|
|
281
281
|
/**
|
|
282
282
|
* Resolve an assembly manifest into a deterministic lockfile. This is the
|
|
@@ -289,22 +289,22 @@ interface ResolveAssemblyInput {
|
|
|
289
289
|
* everything it has to change. Use {@link assertAssemblyResolved} to throw
|
|
290
290
|
* on the first invalid result.
|
|
291
291
|
*/
|
|
292
|
-
declare function resolveAssembly(input: ResolveAssemblyInput): AssemblyResult;
|
|
292
|
+
export declare function resolveAssembly(input: ResolveAssemblyInput): AssemblyResult;
|
|
293
293
|
/**
|
|
294
294
|
* Throw with every finding listed, for use as a build step. Returns the
|
|
295
295
|
* lockfile when valid.
|
|
296
296
|
*/
|
|
297
|
-
declare function assertAssemblyResolved(input: ResolveAssemblyInput): AssemblyLockfile;
|
|
297
|
+
export declare function assertAssemblyResolved(input: ResolveAssemblyInput): AssemblyLockfile;
|
|
298
298
|
/**
|
|
299
299
|
* Validate an assembly manifest's bindings as a standalone build gate,
|
|
300
300
|
* without resolving versions. Useful when versions are already locked and
|
|
301
301
|
* only the binding contracts need checking.
|
|
302
302
|
*/
|
|
303
|
-
declare function validateAssemblyBindings(input: {
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
303
|
+
export declare function validateAssemblyBindings(input: {
|
|
304
|
+
manifest: AssemblyManifest;
|
|
305
|
+
packManifests?: ComponentPackManifest[];
|
|
306
|
+
coreComponents?: readonly string[];
|
|
307
|
+
availableContracts?: UsageContract[];
|
|
308
308
|
}): AssemblyResult;
|
|
309
|
-
|
|
310
|
-
export {
|
|
309
|
+
//#endregion
|
|
310
|
+
export {};
|