@lapxo/bound 0.2.0 → 0.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.
- package/README.md +40 -121
- package/TARGET.bound +51 -23
- package/dist/cli/standing-result.js +4 -3
- package/dist/cli/verb.js +36 -3
- package/dist/engine/encoding.js +2 -0
- package/dist/engine/index.d.ts +2 -0
- package/dist/engine/index.js +2 -0
- package/dist/engine/ports.d.ts +32 -0
- package/dist/engine/ports.js +103 -0
- package/dist/host/admitted-place.js +6 -0
- package/dist/host/contextual-place.js +2 -2
- package/dist/host/io.js +2 -2
- package/dist/host/reference-authenticated.d.ts +12 -0
- package/dist/host/reference-authenticated.js +47 -31
- package/dist/host/reference-contracts.js +6 -0
- package/dist/host/reference-export.d.ts +33 -0
- package/dist/host/reference-export.js +81 -0
- package/dist/host/reference-native-api.d.ts +3 -0
- package/dist/host/reference-native-api.js +3 -0
- package/dist/host/reference-native.d.ts +21 -1
- package/dist/host/reference-native.js +34 -10
- package/dist/host/reference-profile.js +2 -1
- package/dist/host/reference-standing.js +18 -0
- package/dist/host/refusals.d.ts +14 -0
- package/dist/host/refusals.js +43 -0
- package/dist/host/signing.js +7 -1
- package/dist/observe/files.js +11 -1
- package/dist/wasm/object.js +2 -2
- package/docs/contracts/authenticated-reference.publication.json +2 -2
- package/docs/contracts/host-ports.md +23 -0
- package/docs/contracts/host-ports.publication.json +25 -0
- package/docs/contracts/native-publication.inventory.json +7 -1
- package/docs/contracts/optional-wasm-adapter.publication.json +1 -1
- package/docs/contracts/readme.publication.json +25 -0
- package/docs/contracts/reference-backend.md +24 -0
- package/docs/contracts/reference-backend.publication.json +25 -0
- package/docs/contracts/reference-export.md +31 -0
- package/docs/contracts/reference-export.publication.json +25 -0
- package/docs/contracts/reference-port.md +8 -1
- package/docs/contracts/reference-port.publication.json +1 -1
- package/docs/contracts/refusals.bound +94 -0
- package/docs/contracts/refusals.md +47 -0
- package/docs/contracts/refusals.publication.json +25 -0
- package/docs/contracts/standing.bound +9 -0
- package/docs/contracts/standing.md +24 -0
- package/docs/contracts/standing.publication.json +25 -0
- package/package.json +49 -4
- package/receipts.bound +9550 -7668
- package/samples/authenticated-reference/compatibility.json +306 -0
- package/samples/authenticated-reference/yes.json +2 -2
- package/samples/host-ports/no.json +16 -0
- package/samples/host-ports/yes.json +9 -0
- package/samples/readme/no.json +1 -0
- package/samples/readme/yes.json +1 -0
- package/samples/reference-backend/no.json +1 -0
- package/samples/reference-backend/world-fixture.json +8 -0
- package/samples/reference-backend/yes.json +1 -0
- package/samples/reference-export/no.json +5 -0
- package/samples/reference-export/yes.json +15 -0
- package/samples/reference-port/no/catalog/TARGET.bound +33 -0
- package/samples/reference-port/no/route-notes/TARGET.bound +33 -0
- package/samples/refusals/no.json +4 -0
- package/samples/refusals/yes.json +9 -0
- package/samples/standing/no.json +4 -0
- package/samples/standing/yes.json +21 -0
- package/vectors/native/authenticated-reference-formation.vector.json +55 -1
- package/vectors/native/authenticated-reference.vector.json +32 -396
- package/vectors/native/host-ports.vector.json +107 -0
- package/vectors/native/readme.vector.json +76 -0
- package/vectors/native/reference-backend.vector.json +84 -0
- package/vectors/native/reference-export.vector.json +78 -0
- package/vectors/native/refusals.vector.json +95 -0
- package/vectors/native/standing.vector.json +116 -0
- package/vectors/wasm-object.cli.json +16 -61
- package/dist/cli/accept.d.ts +0 -28
- package/dist/cli/act-result.d.ts +0 -12
- package/dist/cli/args.d.ts +0 -11
- package/dist/cli/custodian.d.ts +0 -1
- package/dist/cli/host.d.ts +0 -1
- package/dist/cli/names.d.ts +0 -25
- package/dist/cli/native-descendant.d.ts +0 -1
- package/dist/cli/native.d.ts +0 -1
- package/dist/cli/observe.d.ts +0 -1
- package/dist/cli/owner.d.ts +0 -37
- package/dist/cli/pass.d.ts +0 -6
- package/dist/cli/place.d.ts +0 -76
- package/dist/cli/release-result.d.ts +0 -5
- package/dist/cli/standing-result.d.ts +0 -5
- package/dist/cli/takes.d.ts +0 -30
- package/dist/fold/admission-history.d.ts +0 -6
- package/dist/fold/ceilings.d.ts +0 -24
- package/dist/fold/claims.d.ts +0 -29
- package/dist/fold/closed.d.ts +0 -15
- package/dist/fold/configures.d.ts +0 -4
- package/dist/fold/digests.d.ts +0 -29
- package/dist/fold/evidence.d.ts +0 -32
- package/dist/fold/fold-worker.d.ts +0 -1
- package/dist/fold/kept.d.ts +0 -29
- package/dist/fold/keys.d.ts +0 -17
- package/dist/fold/laid.d.ts +0 -17
- package/dist/fold/nos.d.ts +0 -8
- package/dist/fold/object.d.ts +0 -3
- package/dist/fold/observed.d.ts +0 -35
- package/dist/fold/opened.d.ts +0 -5
- package/dist/fold/own.d.ts +0 -24
- package/dist/fold/paid.d.ts +0 -11
- package/dist/fold/place-inputs.d.ts +0 -17
- package/dist/fold/places.d.ts +0 -24
- package/dist/fold/rank.d.ts +0 -3
- package/dist/fold/reach.d.ts +0 -18
- package/dist/fold/readers.d.ts +0 -47
- package/dist/fold/receipts.d.ts +0 -8
- package/dist/fold/region-declarations.d.ts +0 -2
- package/dist/fold/region.d.ts +0 -72
- package/dist/fold/release-policy.d.ts +0 -67
- package/dist/fold/resolved.d.ts +0 -18
- package/dist/fold/roles.d.ts +0 -17
- package/dist/fold/second.d.ts +0 -18
- package/dist/fold/shards.d.ts +0 -29
- package/dist/fold/signed.d.ts +0 -23
- package/dist/fold/signers.d.ts +0 -24
- package/dist/fold/stranger.d.ts +0 -3
- package/dist/fold/views.d.ts +0 -27
- package/dist/fold/wire.d.ts +0 -19
- package/dist/fold/zoom.d.ts +0 -16
- package/dist/host/act-cost.d.ts +0 -13
- package/dist/host/adapters/keys/ed25519.d.ts +0 -7
- package/dist/host/adapters/modules/javascript.d.ts +0 -3
- package/dist/host/adapters/transport/http.d.ts +0 -5
- package/dist/host/admitted-place.d.ts +0 -5
- package/dist/host/archive.d.ts +0 -11
- package/dist/host/capsule-process.d.ts +0 -21
- package/dist/host/capsule.d.ts +0 -19
- package/dist/host/cell-receipts.d.ts +0 -2
- package/dist/host/content-needed.d.ts +0 -5
- package/dist/host/content-store.d.ts +0 -8
- package/dist/host/contextual-place.d.ts +0 -59
- package/dist/host/digest.d.ts +0 -3
- package/dist/host/hash.d.ts +0 -9
- package/dist/host/io.d.ts +0 -11
- package/dist/host/lifetime.d.ts +0 -1
- package/dist/host/located.d.ts +0 -4
- package/dist/host/native/bounded-file.d.ts +0 -8
- package/dist/host/native/command.d.ts +0 -36
- package/dist/host/native/control-bridge-worker.d.ts +0 -1
- package/dist/host/native/control-bridge.d.ts +0 -30
- package/dist/host/native/control-selection.d.ts +0 -29
- package/dist/host/native/custody.d.ts +0 -5
- package/dist/host/native/deadline.d.ts +0 -12
- package/dist/host/native/descendants.d.ts +0 -1
- package/dist/host/native/generated-custodian.d.ts +0 -122
- package/dist/host/native/generated.d.ts +0 -217
- package/dist/host/native/image.d.ts +0 -36
- package/dist/host/native/jobs.d.ts +0 -75
- package/dist/host/native/loader.d.ts +0 -80
- package/dist/host/native/materialize.d.ts +0 -22
- package/dist/host/native/module-closure.d.ts +0 -27
- package/dist/host/native/module-syntax.d.ts +0 -8
- package/dist/host/native/native-binary.d.ts +0 -54
- package/dist/host/native/native-program.d.ts +0 -56
- package/dist/host/native/node-jobs.d.ts +0 -84
- package/dist/host/native/node-launch.d.ts +0 -72
- package/dist/host/native/preload.d.ts +0 -1
- package/dist/host/native/reading.d.ts +0 -91
- package/dist/host/native/receipt-environment.d.ts +0 -3
- package/dist/host/native/references.d.ts +0 -5
- package/dist/host/native/root.d.ts +0 -17
- package/dist/host/native/route.d.ts +0 -66
- package/dist/host/native/runtime.d.ts +0 -4
- package/dist/host/native-reader-context.d.ts +0 -3
- package/dist/host/objects.d.ts +0 -6
- package/dist/host/place-clock-selection.d.ts +0 -55
- package/dist/host/ports/ingress.d.ts +0 -24
- package/dist/host/ports/local-act.d.ts +0 -44
- package/dist/host/ports/place-act.d.ts +0 -46
- package/dist/host/ports/publication.d.ts +0 -10
- package/dist/host/ports/signing.d.ts +0 -31
- package/dist/host/ports/store.d.ts +0 -2
- package/dist/host/ports/transport.d.ts +0 -1
- package/dist/host/process-lifetime.d.ts +0 -11
- package/dist/host/provide.d.ts +0 -48
- package/dist/host/read-only.d.ts +0 -3
- package/dist/host/reading-closures.d.ts +0 -47
- package/dist/host/reading-context.d.ts +0 -29
- package/dist/host/reference.d.ts +0 -6
- package/dist/host/release.d.ts +0 -14
- package/dist/host/root-clock-source.d.ts +0 -85
- package/dist/host/selected-capsules.d.ts +0 -8
- package/dist/host/selected-topos.d.ts +0 -24
- package/dist/host/signing.d.ts +0 -3
- package/dist/host/source-content.d.ts +0 -12
- package/dist/host/timing.d.ts +0 -2
- package/dist/host/walk.d.ts +0 -6
- package/dist/judge/late.d.ts +0 -7
- package/dist/judge/take.d.ts +0 -59
- package/dist/judge/widening.d.ts +0 -1
- package/dist/land/act.d.ts +0 -30
- package/dist/land/alias.d.ts +0 -10
- package/dist/land/held.d.ts +0 -7
- package/dist/land/inert.d.ts +0 -26
- package/dist/land/leaving.d.ts +0 -14
- package/dist/land/ledger.d.ts +0 -33
- package/dist/land/owned.d.ts +0 -23
- package/dist/land/sign.d.ts +0 -15
- package/dist/land/standing-pin.d.ts +0 -3
- package/dist/land/vouched.d.ts +0 -21
- package/dist/land/withdraw.d.ts +0 -14
- package/dist/observe/files.d.ts +0 -14
- package/dist/observe/identity.d.ts +0 -21
- package/dist/observe/match.d.ts +0 -1
- package/dist/observe/regions.d.ts +0 -33
- package/dist/observe/run.d.ts +0 -31
- package/dist/observe/runner.d.ts +0 -20
- package/dist/render/capsule.d.ts +0 -24
- package/dist/render/field.d.ts +0 -3
- package/dist/render/names.d.ts +0 -3
- package/dist/render/open.d.ts +0 -27
- package/dist/render/page.d.ts +0 -3
- package/dist/render/receipts.d.ts +0 -3
- package/dist/render/shape.d.ts +0 -16
- package/dist/render/target.d.ts +0 -18
- package/dist/render/view.d.ts +0 -22
- package/dist/wasm/node-worker.d.ts +0 -1
- package/dist/wasm/object.d.ts +0 -8
- package/dist/wasm/worker.d.ts +0 -1
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export interface ControlEndpoint {
|
|
2
|
-
readonly socket: string;
|
|
3
|
-
readonly timeoutMs: number;
|
|
4
|
-
readonly deadlineMs: number;
|
|
5
|
-
readonly responseBytes: number;
|
|
6
|
-
}
|
|
7
|
-
export interface FixedControlBinding {
|
|
8
|
-
readonly endpoint: ControlEndpoint;
|
|
9
|
-
readonly workerBytes: Uint8Array;
|
|
10
|
-
readonly worker: {
|
|
11
|
-
readonly digest: string;
|
|
12
|
-
readonly coordinate: string;
|
|
13
|
-
readonly bytes: number;
|
|
14
|
-
};
|
|
15
|
-
readonly runtime: {
|
|
16
|
-
readonly path: string;
|
|
17
|
-
readonly digest: string;
|
|
18
|
-
readonly bytes: number;
|
|
19
|
-
};
|
|
20
|
-
readonly resources: {
|
|
21
|
-
readonly inputBytes: number;
|
|
22
|
-
readonly outputBytes: number;
|
|
23
|
-
readonly sharedBytes: number;
|
|
24
|
-
};
|
|
25
|
-
readonly deadlineMs: number;
|
|
26
|
-
}
|
|
27
|
-
export declare function createFixedControlBridge(inputBinding: FixedControlBinding): {
|
|
28
|
-
exchange(frame: string): string;
|
|
29
|
-
close(): Promise<void>;
|
|
30
|
-
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { type RootStanding, type PortProfile } from './reading.ts';
|
|
2
|
-
export interface HostControlProfile {
|
|
3
|
-
readonly profile: 'host-control-transport@1';
|
|
4
|
-
readonly realm: 'main-thread';
|
|
5
|
-
readonly coordinate: string;
|
|
6
|
-
readonly selector: {
|
|
7
|
-
readonly port: string;
|
|
8
|
-
readonly implementation: string;
|
|
9
|
-
};
|
|
10
|
-
readonly worker: {
|
|
11
|
-
readonly coordinate: string;
|
|
12
|
-
readonly digest: string;
|
|
13
|
-
readonly bytes: number;
|
|
14
|
-
};
|
|
15
|
-
readonly runtime: {
|
|
16
|
-
readonly coordinate: string;
|
|
17
|
-
readonly digest: string;
|
|
18
|
-
};
|
|
19
|
-
readonly limits: {
|
|
20
|
-
readonly workersPerProcess: 1;
|
|
21
|
-
readonly inFlight: 1;
|
|
22
|
-
readonly sharedBytes: number;
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
export interface HostControlSelection {
|
|
26
|
-
readonly line: string;
|
|
27
|
-
readonly profile: HostControlProfile;
|
|
28
|
-
}
|
|
29
|
-
export declare function selectedHostControl(root: RootStanding, parent: PortProfile): HostControlSelection | undefined;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { type RootStanding, type PortProfile } from './reading.ts';
|
|
2
|
-
import type { RootJobCustody, NodeImage } from './node-jobs.ts';
|
|
3
|
-
import type { Handoff } from './jobs.ts';
|
|
4
|
-
import type { LogicalLoader } from './image.ts';
|
|
5
|
-
export declare function nativeRootJobCustody(root: RootStanding, profile: PortProfile, handoff: Handoff, image: NodeImage, logical: LogicalLoader): RootJobCustody;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/** Remaining monotonic lease, rounded up for host APIs that accept milliseconds. */
|
|
2
|
-
export declare function remainingDeadlineMs(deadline: bigint): number;
|
|
3
|
-
interface Clock {
|
|
4
|
-
readonly now: () => bigint;
|
|
5
|
-
readonly schedule: (callback: () => void, delayMs: number) => unknown;
|
|
6
|
-
readonly cancel: (handle: unknown) => void;
|
|
7
|
-
}
|
|
8
|
-
/** The admitted deadline is never clamped to the platform timer range. Each
|
|
9
|
-
* timer is merely a wake-up slice; expiry checks the original monotonic clock.
|
|
10
|
-
* Injected clock exists only for deterministic platform-boundary vectors. */
|
|
11
|
-
export declare function scheduleDeadline(deadline: bigint, expire: () => void, clock?: Clock): () => void;
|
|
12
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function installDescendantBoundary(config: any): void;
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { type NativeBinaryProjection } from './native-binary.ts';
|
|
2
|
-
import { type GeneratedProducer, type LiteralSnapshot, type DescendantInvocation, type ProducerLimits, type ProducerCandidates } from './generated.ts';
|
|
3
|
-
import { type NativeEvalActual } from './node-launch.ts';
|
|
4
|
-
export interface ProducerEndpoint {
|
|
5
|
-
socket: string;
|
|
6
|
-
token: string;
|
|
7
|
-
coordinate: string;
|
|
8
|
-
implementation: string;
|
|
9
|
-
identity: string;
|
|
10
|
-
timeoutMs: number;
|
|
11
|
-
deadlineMs: number;
|
|
12
|
-
responseBytes: number;
|
|
13
|
-
interpretations: readonly string[];
|
|
14
|
-
limits: Readonly<ProducerLimits>;
|
|
15
|
-
}
|
|
16
|
-
/** Refusal transport is bounded too; an undersized channel closes without a
|
|
17
|
-
* frame while the parent retains the named refusal. No truncation is success. */
|
|
18
|
-
export declare function boundedRefusalFrame(endpoint: ProducerEndpoint, why: string): string | undefined;
|
|
19
|
-
export interface EntryRequest {
|
|
20
|
-
candidates?: readonly ProducerCandidates[];
|
|
21
|
-
kind: 'file' | 'eval';
|
|
22
|
-
path?: string;
|
|
23
|
-
interpretation?: string;
|
|
24
|
-
mode: 'module' | 'commonjs';
|
|
25
|
-
argv?: readonly string[];
|
|
26
|
-
rootPrefix?: readonly string[];
|
|
27
|
-
invocation: DescendantInvocation;
|
|
28
|
-
}
|
|
29
|
-
export interface NativeProgramGrant {
|
|
30
|
-
readonly identity: string;
|
|
31
|
-
readonly program: NativeBinaryProjection;
|
|
32
|
-
}
|
|
33
|
-
export interface NativeProgramRequest {
|
|
34
|
-
alias: string;
|
|
35
|
-
path: string;
|
|
36
|
-
invocation: DescendantInvocation;
|
|
37
|
-
}
|
|
38
|
-
export interface EmissionBatchRequest {
|
|
39
|
-
outputs: readonly {
|
|
40
|
-
path: string;
|
|
41
|
-
digest: string;
|
|
42
|
-
}[];
|
|
43
|
-
invocation: DescendantInvocation;
|
|
44
|
-
}
|
|
45
|
-
export interface EmissionRequest {
|
|
46
|
-
path: string;
|
|
47
|
-
invocation: DescendantInvocation;
|
|
48
|
-
}
|
|
49
|
-
export interface InterpretationRequest {
|
|
50
|
-
path: string;
|
|
51
|
-
interpretation: string;
|
|
52
|
-
invocation: DescendantInvocation;
|
|
53
|
-
}
|
|
54
|
-
export declare function startProducerCustodian(handle: GeneratedProducer, snapshot: LiteralSnapshot, nativeImplementations: ReadonlySet<string>, directory: string, inputNativePrograms?: readonly NativeProgramGrant[]): Promise<{
|
|
55
|
-
endpoint: ProducerEndpoint;
|
|
56
|
-
readonly contexts: any[];
|
|
57
|
-
retention: () => {
|
|
58
|
-
bytes: number;
|
|
59
|
-
contexts: any[];
|
|
60
|
-
values: any[][];
|
|
61
|
-
};
|
|
62
|
-
assertClosed: () => void;
|
|
63
|
-
refusals: string[];
|
|
64
|
-
usage: () => Readonly<{
|
|
65
|
-
members: number;
|
|
66
|
-
bytes: number;
|
|
67
|
-
work: number;
|
|
68
|
-
retainedContents: number;
|
|
69
|
-
codeBytes: number;
|
|
70
|
-
limits: {
|
|
71
|
-
members: number;
|
|
72
|
-
bytes: number;
|
|
73
|
-
work: number;
|
|
74
|
-
argvBytes: number;
|
|
75
|
-
argvItems: number;
|
|
76
|
-
};
|
|
77
|
-
}>;
|
|
78
|
-
close: () => Promise<void>;
|
|
79
|
-
}>;
|
|
80
|
-
/** Asynchronous client for original async native APIs. Original sync APIs use
|
|
81
|
-
* the fixed client executable; both address this SAME custodian/counters. */
|
|
82
|
-
export declare function requestRetainedEvalContext(endpoint: ProducerEndpoint, actual: NativeEvalActual): Promise<any>;
|
|
83
|
-
export declare function requestProducerEntry(endpoint: ProducerEndpoint, request: EntryRequest): Promise<any>;
|
|
84
|
-
export declare function requestProducerInterpretation(endpoint: ProducerEndpoint, request: InterpretationRequest): Promise<any>;
|
|
85
|
-
export declare function requestNativeProgram(endpoint: ProducerEndpoint, request: NativeProgramRequest): Promise<any>;
|
|
86
|
-
export declare function requestProducerEmission(endpoint: ProducerEndpoint, request: EmissionRequest): Promise<any>;
|
|
87
|
-
export declare function requestProducerEmissionBatch(endpoint: ProducerEndpoint, request: EmissionBatchRequest): Promise<any>;
|
|
88
|
-
/** Bound's guarded host constructs this factory, not a world. The transport path
|
|
89
|
-
* is selected by the sealed native preload configuration, not a grant in data.
|
|
90
|
-
* A shared context file cannot be multiplexed across simultaneous bindings. */
|
|
91
|
-
export declare function createProducerJobCustody(input: {
|
|
92
|
-
root: import('./reading.ts').RootStanding;
|
|
93
|
-
coordinate: string;
|
|
94
|
-
implementationBytes: Uint8Array;
|
|
95
|
-
snapshot: LiteralSnapshot;
|
|
96
|
-
nativeImplementations: ReadonlySet<string>;
|
|
97
|
-
directory: string;
|
|
98
|
-
contextFile: string;
|
|
99
|
-
nativeBinaries?: readonly {
|
|
100
|
-
coordinate: string;
|
|
101
|
-
privateBinding: {
|
|
102
|
-
coordinate: string;
|
|
103
|
-
path: string;
|
|
104
|
-
digest: string;
|
|
105
|
-
};
|
|
106
|
-
}[];
|
|
107
|
-
programSelections?: readonly {
|
|
108
|
-
coordinate: string;
|
|
109
|
-
runtimeBinding: {
|
|
110
|
-
coordinate: string;
|
|
111
|
-
path: string;
|
|
112
|
-
digest: string;
|
|
113
|
-
members: readonly {
|
|
114
|
-
coordinate: string;
|
|
115
|
-
path: string;
|
|
116
|
-
}[];
|
|
117
|
-
};
|
|
118
|
-
}[];
|
|
119
|
-
}): import('./node-jobs.ts').RootJobCustody;
|
|
120
|
-
/** Fixed Root preload reports a local before-entry refusal to the SAME parent
|
|
121
|
-
* custodian. A caught child error therefore cannot become a success receipt. */
|
|
122
|
-
export declare function reportProducerViolation(endpoint: ProducerEndpoint, why: string): Promise<never>;
|
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
import { type RootStanding } from './reading.ts';
|
|
2
|
-
export interface ProducerLimits {
|
|
3
|
-
members: number;
|
|
4
|
-
bytes: number;
|
|
5
|
-
work: number;
|
|
6
|
-
argvBytes: number;
|
|
7
|
-
argvItems: number;
|
|
8
|
-
}
|
|
9
|
-
export interface ProducerProfile {
|
|
10
|
-
profile: 'host-generated-executable@3';
|
|
11
|
-
coordinate: string;
|
|
12
|
-
implementation: string;
|
|
13
|
-
interpretations: readonly string[];
|
|
14
|
-
environmentNames: readonly string[];
|
|
15
|
-
selector: {
|
|
16
|
-
port: string;
|
|
17
|
-
binding: string;
|
|
18
|
-
implementation: string;
|
|
19
|
-
};
|
|
20
|
-
limits: ProducerLimits;
|
|
21
|
-
}
|
|
22
|
-
export interface ParentExecution {
|
|
23
|
-
identity: string;
|
|
24
|
-
port: string;
|
|
25
|
-
binding: string;
|
|
26
|
-
implementation: string;
|
|
27
|
-
instrument: string;
|
|
28
|
-
policy: string;
|
|
29
|
-
authority: string;
|
|
30
|
-
inputs: readonly (readonly [string, string])[];
|
|
31
|
-
environment: readonly (readonly [string, string])[];
|
|
32
|
-
argv: readonly string[];
|
|
33
|
-
cwd: string;
|
|
34
|
-
runtime: string;
|
|
35
|
-
timeoutMs: number;
|
|
36
|
-
responseBytes: number;
|
|
37
|
-
}
|
|
38
|
-
export interface DescendantInvocation {
|
|
39
|
-
cwd: string;
|
|
40
|
-
argv: readonly string[];
|
|
41
|
-
environment: readonly (readonly [string, string])[];
|
|
42
|
-
runtime: string;
|
|
43
|
-
timeoutMs: number;
|
|
44
|
-
responseBytes: number;
|
|
45
|
-
}
|
|
46
|
-
export interface GeneratedProducer {
|
|
47
|
-
readonly identity: string;
|
|
48
|
-
}
|
|
49
|
-
export interface DerivedExecutable {
|
|
50
|
-
kind: 'derived-executable/1';
|
|
51
|
-
parent: string;
|
|
52
|
-
producer: string;
|
|
53
|
-
identity: string;
|
|
54
|
-
digest: string;
|
|
55
|
-
mode: 'module' | 'commonjs';
|
|
56
|
-
interpretation?: string;
|
|
57
|
-
invocation: DescendantInvocation;
|
|
58
|
-
target: {
|
|
59
|
-
kind: 'file';
|
|
60
|
-
path: string;
|
|
61
|
-
} | {
|
|
62
|
-
kind: 'eval';
|
|
63
|
-
cwd: string;
|
|
64
|
-
argv: readonly string[];
|
|
65
|
-
text: string;
|
|
66
|
-
};
|
|
67
|
-
byteLength: number;
|
|
68
|
-
}
|
|
69
|
-
export interface DerivedInterpretation {
|
|
70
|
-
kind: 'derived-interpretation/1';
|
|
71
|
-
parent: string;
|
|
72
|
-
producer: string;
|
|
73
|
-
identity: string;
|
|
74
|
-
path: string;
|
|
75
|
-
digest: string;
|
|
76
|
-
interpretation: string;
|
|
77
|
-
invocation: DescendantInvocation;
|
|
78
|
-
byteLength: number;
|
|
79
|
-
}
|
|
80
|
-
export interface ProducerEmission {
|
|
81
|
-
kind: 'producer-emission/1';
|
|
82
|
-
parent: string;
|
|
83
|
-
producer: string;
|
|
84
|
-
identity: string;
|
|
85
|
-
path: string;
|
|
86
|
-
digest: string;
|
|
87
|
-
invocation: DescendantInvocation;
|
|
88
|
-
invocationIdentity: string;
|
|
89
|
-
byteLength: number;
|
|
90
|
-
}
|
|
91
|
-
export interface RootMember {
|
|
92
|
-
path: string;
|
|
93
|
-
digest: string;
|
|
94
|
-
}
|
|
95
|
-
export interface LiteralSnapshot {
|
|
96
|
-
budget: {
|
|
97
|
-
members: number;
|
|
98
|
-
bytes: number;
|
|
99
|
-
};
|
|
100
|
-
members: readonly RootMember[];
|
|
101
|
-
libraries: readonly {
|
|
102
|
-
name: string;
|
|
103
|
-
manifest: string;
|
|
104
|
-
}[];
|
|
105
|
-
builtins: readonly string[];
|
|
106
|
-
platform: string;
|
|
107
|
-
}
|
|
108
|
-
export interface ProducerCandidates {
|
|
109
|
-
readonly invocation: DescendantInvocation;
|
|
110
|
-
readonly outputs: readonly {
|
|
111
|
-
path: string;
|
|
112
|
-
digest?: string;
|
|
113
|
-
reason?: string;
|
|
114
|
-
}[];
|
|
115
|
-
}
|
|
116
|
-
/** Call inside the parent's real authority guard BEFORE emission/work. Signature
|
|
117
|
-
* and current eligibility are shared with the Root port constructor, unchanged. */
|
|
118
|
-
export declare function createGeneratedProducer(root: RootStanding, coordinate: string, parent: ParentExecution, implementationBytes: Uint8Array): GeneratedProducer;
|
|
119
|
-
export declare function validateDescendantInvocation(handle: GeneratedProducer, input: DescendantInvocation): DescendantInvocation;
|
|
120
|
-
export declare function producerTransport(handle: GeneratedProducer): Readonly<{
|
|
121
|
-
coordinate: string;
|
|
122
|
-
implementation: string;
|
|
123
|
-
identity: string;
|
|
124
|
-
parent: string;
|
|
125
|
-
timeoutMs: number;
|
|
126
|
-
responseBytes: number;
|
|
127
|
-
limits: {
|
|
128
|
-
members: number;
|
|
129
|
-
bytes: number;
|
|
130
|
-
work: number;
|
|
131
|
-
argvBytes: number;
|
|
132
|
-
argvItems: number;
|
|
133
|
-
};
|
|
134
|
-
interpretations: string[];
|
|
135
|
-
}>;
|
|
136
|
-
export declare function readBounded(path: string, limit: number): Uint8Array;
|
|
137
|
-
export declare function assertProducerInterpretation(handle: GeneratedProducer, name: string): void;
|
|
138
|
-
export declare function sealGeneratedFile(handle: GeneratedProducer, path: string, mode: 'module' | 'commonjs', invocation: DescendantInvocation, interpretation?: string): DerivedExecutable;
|
|
139
|
-
/** Preserve the four consumed native eval forms exactly; no rewriting/default
|
|
140
|
-
* flags/option blacklist. Prefix is the exact Root-selected inherited preload. */
|
|
141
|
-
export declare function sealNativeEval(handle: GeneratedProducer, actualArgv: readonly string[], rootPrefix: readonly string[], invocation: DescendantInvocation): DerivedExecutable;
|
|
142
|
-
/** Interpretive data is provenance, never an executable or an authority grant.
|
|
143
|
-
* The finite interpretation is Root-signed before bounded IO/JSON work. */
|
|
144
|
-
export declare function sealInterpretation(handle: GeneratedProducer, path: string, interpretation: string, invocation: DescendantInvocation): DerivedInterpretation;
|
|
145
|
-
/** Metadata from the fixed observer is only a candidate. No file is opened,
|
|
146
|
-
* no emission accepted, and no execution permission follows from registration. */
|
|
147
|
-
export declare function registerProducerCandidates(handle: GeneratedProducer, groups: readonly ProducerCandidates[]): void;
|
|
148
|
-
export declare function recordProducerEmission(handle: GeneratedProducer, path: string, invocation: DescendantInvocation): ProducerEmission;
|
|
149
|
-
/** All observed outputs must match before any provenance is accepted. One
|
|
150
|
-
* invocation context is committed once, with no code grant or quota widening. */
|
|
151
|
-
export declare function recordProducerEmissions(handle: GeneratedProducer, outputs: readonly {
|
|
152
|
-
path: string;
|
|
153
|
-
digest: string;
|
|
154
|
-
}[], invocation: DescendantInvocation): {
|
|
155
|
-
identity: string;
|
|
156
|
-
kind: string;
|
|
157
|
-
parent: string;
|
|
158
|
-
producer: string;
|
|
159
|
-
invocation: DescendantInvocation;
|
|
160
|
-
invocationIdentity: string;
|
|
161
|
-
outputs: {
|
|
162
|
-
path: string;
|
|
163
|
-
digest: string;
|
|
164
|
-
identity: string;
|
|
165
|
-
byteLength: number;
|
|
166
|
-
}[];
|
|
167
|
-
};
|
|
168
|
-
/** Verify the ACTUAL body/argv again before execution. A record's existence
|
|
169
|
-
* alone authorizes nothing and cannot be moved to another parent context. */
|
|
170
|
-
export declare function verifyDerived(handle: GeneratedProducer, record: DerivedExecutable, actual: {
|
|
171
|
-
path?: string;
|
|
172
|
-
argv?: readonly string[];
|
|
173
|
-
}): Uint8Array;
|
|
174
|
-
export declare function gateDerived(handle: GeneratedProducer, record: DerivedExecutable, actual: {
|
|
175
|
-
path?: string;
|
|
176
|
-
argv?: readonly string[];
|
|
177
|
-
}, snapshot: LiteralSnapshot, nativeImplementations?: ReadonlySet<string>): readonly {
|
|
178
|
-
target: string;
|
|
179
|
-
digest?: string;
|
|
180
|
-
platform?: string;
|
|
181
|
-
}[];
|
|
182
|
-
export declare function chargeProducerRequest(handle: GeneratedProducer): void;
|
|
183
|
-
export declare function producerUsage(handle: GeneratedProducer): Readonly<{
|
|
184
|
-
members: number;
|
|
185
|
-
bytes: number;
|
|
186
|
-
work: number;
|
|
187
|
-
retainedContents: number;
|
|
188
|
-
codeBytes: number;
|
|
189
|
-
limits: {
|
|
190
|
-
members: number;
|
|
191
|
-
bytes: number;
|
|
192
|
-
work: number;
|
|
193
|
-
argvBytes: number;
|
|
194
|
-
argvItems: number;
|
|
195
|
-
};
|
|
196
|
-
}>;
|
|
197
|
-
/** Shared host traversal. The reader callback supplies verification; traversal
|
|
198
|
-
* itself introduces no provenance or execution authority. */
|
|
199
|
-
export declare function traverseGeneratedClosure(input: {
|
|
200
|
-
source: Uint8Array;
|
|
201
|
-
path: string;
|
|
202
|
-
mode: 'module' | 'commonjs';
|
|
203
|
-
libs: ReadonlyMap<string, string>;
|
|
204
|
-
native: ReadonlySet<string>;
|
|
205
|
-
platform: string;
|
|
206
|
-
nativeImplementations: ReadonlySet<string>;
|
|
207
|
-
verify: (path: string) => {
|
|
208
|
-
real: string;
|
|
209
|
-
bytes: Uint8Array;
|
|
210
|
-
digest: string;
|
|
211
|
-
};
|
|
212
|
-
step: () => void;
|
|
213
|
-
}): readonly {
|
|
214
|
-
target: string;
|
|
215
|
-
digest?: string;
|
|
216
|
-
platform?: string;
|
|
217
|
-
}[];
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { Declaration } from './loader.ts';
|
|
2
|
-
export interface LogicalMember {
|
|
3
|
-
readonly coordinate: string;
|
|
4
|
-
readonly digest: string;
|
|
5
|
-
readonly bytes: number;
|
|
6
|
-
}
|
|
7
|
-
export interface LogicalLoader {
|
|
8
|
-
readonly members: readonly LogicalMember[];
|
|
9
|
-
readonly libraries: readonly {
|
|
10
|
-
name: string;
|
|
11
|
-
manifest: string;
|
|
12
|
-
}[];
|
|
13
|
-
readonly builtins: readonly string[];
|
|
14
|
-
readonly entries: readonly string[];
|
|
15
|
-
readonly platform: string;
|
|
16
|
-
}
|
|
17
|
-
export interface ImageMount {
|
|
18
|
-
readonly coordinate: string;
|
|
19
|
-
readonly path: string;
|
|
20
|
-
}
|
|
21
|
-
export interface ImageBudget {
|
|
22
|
-
readonly members: number;
|
|
23
|
-
readonly bytes: number;
|
|
24
|
-
}
|
|
25
|
-
/** Identifies the admitted Node/OS ABI condition, not a seal of backing libraries
|
|
26
|
-
* or portability proof. The signed image must explicitly name this condition.
|
|
27
|
-
*/
|
|
28
|
-
export declare const nodePlatformIdentity: () => string;
|
|
29
|
-
/** Mount only signed logical references at exact bytes. Physical locations are
|
|
30
|
-
* an execution envelope and never a source of implementation identity.
|
|
31
|
-
*/
|
|
32
|
-
export declare function mountNativeImage(loader: LogicalLoader, mounts: readonly ImageMount[], entry: string, budget: ImageBudget): {
|
|
33
|
-
identity: string;
|
|
34
|
-
declaration: Declaration;
|
|
35
|
-
entries: readonly string[];
|
|
36
|
-
};
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/** Pure prospective host handoff planner; no execution or authority discovery. */
|
|
2
|
-
export interface Budget {
|
|
3
|
-
jobs: number;
|
|
4
|
-
members: number;
|
|
5
|
-
edges: number;
|
|
6
|
-
bytes: number;
|
|
7
|
-
payloadBytes: number;
|
|
8
|
-
env: number;
|
|
9
|
-
}
|
|
10
|
-
export interface Member {
|
|
11
|
-
coordinate: string;
|
|
12
|
-
digest: string;
|
|
13
|
-
bytes: Uint8Array;
|
|
14
|
-
}
|
|
15
|
-
export interface Load {
|
|
16
|
-
from: string;
|
|
17
|
-
kind: 'module' | 'worker' | 'program';
|
|
18
|
-
target: string | {
|
|
19
|
-
computed: string;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
export interface Binding {
|
|
23
|
-
id: string;
|
|
24
|
-
kind: 'process' | 'worker';
|
|
25
|
-
places: readonly string[];
|
|
26
|
-
program: string;
|
|
27
|
-
interpreter?: string;
|
|
28
|
-
entry?: string;
|
|
29
|
-
args: readonly string[];
|
|
30
|
-
inputs: readonly string[];
|
|
31
|
-
environment: readonly (readonly [string, string])[];
|
|
32
|
-
limits: {
|
|
33
|
-
timeMs: number;
|
|
34
|
-
responseBytes: number;
|
|
35
|
-
slots: number;
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
/** Constructed by the instrument from admitted configuration and verified bytes,
|
|
39
|
-
* never accepted as a world packet or accompanied by a packet-selected verifier. */
|
|
40
|
-
export interface Handoff {
|
|
41
|
-
place: string;
|
|
42
|
-
instrument: string;
|
|
43
|
-
policy: string;
|
|
44
|
-
authoritySnapshot: string;
|
|
45
|
-
budget: Budget;
|
|
46
|
-
members: readonly Member[];
|
|
47
|
-
loads: readonly Load[];
|
|
48
|
-
bindings: readonly Binding[];
|
|
49
|
-
}
|
|
50
|
-
export interface Proposal {
|
|
51
|
-
id: string;
|
|
52
|
-
payload: string;
|
|
53
|
-
}
|
|
54
|
-
export interface Launch {
|
|
55
|
-
id: string;
|
|
56
|
-
kind: Binding['kind'];
|
|
57
|
-
identity: string;
|
|
58
|
-
place: string;
|
|
59
|
-
program: readonly [string, string];
|
|
60
|
-
interpreter?: readonly [string, string];
|
|
61
|
-
entry?: readonly [string, string];
|
|
62
|
-
args: readonly string[];
|
|
63
|
-
payload: Uint8Array;
|
|
64
|
-
environment: readonly (readonly [string, string])[];
|
|
65
|
-
limits: Binding['limits'];
|
|
66
|
-
edges: readonly {
|
|
67
|
-
from: string;
|
|
68
|
-
kind: string;
|
|
69
|
-
target: string;
|
|
70
|
-
digest: string;
|
|
71
|
-
}[];
|
|
72
|
-
}
|
|
73
|
-
/** digest is selected by the instrument; it is a pure naming implementation,
|
|
74
|
-
* not a callback that answers whether untrusted bytes/authority are "verified". */
|
|
75
|
-
export declare function planJobs(host: Handoff, framed: Uint8Array, digest: (bytes: Uint8Array) => string): readonly Launch[];
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/** Node loader registration is an executable capability, not merely a builtin
|
|
2
|
-
* name. The fixed host retains its captured registration API; imported programs
|
|
3
|
-
* cannot insert a loader returning invented bytes ahead of its load boundary.
|
|
4
|
-
* This does not establish confinement against arbitrary privileged JavaScript.
|
|
5
|
-
*/
|
|
6
|
-
export declare function protectNativeLoaderRegistration(): void;
|
|
7
|
-
export interface Member {
|
|
8
|
-
readonly path: string;
|
|
9
|
-
readonly digest: string;
|
|
10
|
-
readonly bytes: number;
|
|
11
|
-
}
|
|
12
|
-
export interface Library {
|
|
13
|
-
readonly name: string;
|
|
14
|
-
readonly manifest: string;
|
|
15
|
-
readonly coordinate?: string;
|
|
16
|
-
}
|
|
17
|
-
export interface Declaration {
|
|
18
|
-
readonly members: readonly Member[];
|
|
19
|
-
readonly libraries: readonly Library[];
|
|
20
|
-
readonly builtins: readonly string[];
|
|
21
|
-
readonly entry: string;
|
|
22
|
-
readonly platform: string;
|
|
23
|
-
}
|
|
24
|
-
/** Fixed preload only: expose comparison with the installed resolution, never
|
|
25
|
-
* hook registration or a verifier supplied by a reader. A different module's
|
|
26
|
-
* marker cannot replace this host's closed capability before entry. */
|
|
27
|
-
export declare function installNativeResolutionReuse(declaration: Declaration): () => void;
|
|
28
|
-
interface Context {
|
|
29
|
-
parentURL?: string;
|
|
30
|
-
}
|
|
31
|
-
interface Resolution {
|
|
32
|
-
url: string;
|
|
33
|
-
}
|
|
34
|
-
/** Resolution boundary for an instrument-selected native command. It checks
|
|
35
|
-
* actual target bytes before Node executes that target. Native commands remain
|
|
36
|
-
* privileged host implementations: this is not an arbitrary-JS sandbox and
|
|
37
|
-
* cannot prevent trusted code from replacing Node's hooks. That trust condition
|
|
38
|
-
* must be admitted separately; a world cannot claim it in a payload.
|
|
39
|
-
* Native ABI edges refer to the declared platform context, never a fictitious
|
|
40
|
-
* file digest. Completeness of the platform's backing images is not proved here.
|
|
41
|
-
*/
|
|
42
|
-
export declare function loadBoundary(declaration: Declaration): {
|
|
43
|
-
entry: string;
|
|
44
|
-
resolve(specifier: string, context: Context, next: (specifier: string, context: Context) => Resolution): Resolution;
|
|
45
|
-
load(url: string, context: {
|
|
46
|
-
format?: string;
|
|
47
|
-
}, next: (url: string, context: {
|
|
48
|
-
format?: string;
|
|
49
|
-
}) => {
|
|
50
|
-
format: string;
|
|
51
|
-
source?: string | Uint8Array | null;
|
|
52
|
-
}): {
|
|
53
|
-
format: string;
|
|
54
|
-
source?: string | Uint8Array | null;
|
|
55
|
-
};
|
|
56
|
-
assertClosed(): void;
|
|
57
|
-
edges: () => {
|
|
58
|
-
parent: string;
|
|
59
|
-
target: string;
|
|
60
|
-
digest?: string;
|
|
61
|
-
platform?: string;
|
|
62
|
-
}[];
|
|
63
|
-
};
|
|
64
|
-
/** Install before the entry of an instrument-selected privileged Node command.
|
|
65
|
-
* The bootstrap exception is restricted to this host function's exact selected
|
|
66
|
-
* entry. It is not a permission for a world to choose a verifier or a program.
|
|
67
|
-
* Hooks mediate imports; they do not establish a non-bypass JS sandbox.
|
|
68
|
-
*/
|
|
69
|
-
export declare function installBoundary(declaration: Declaration): {
|
|
70
|
-
loadEntry: () => Promise<any>;
|
|
71
|
-
assertClosed: () => void;
|
|
72
|
-
edges: () => {
|
|
73
|
-
parent: string;
|
|
74
|
-
target: string;
|
|
75
|
-
digest?: string;
|
|
76
|
-
platform?: string;
|
|
77
|
-
}[];
|
|
78
|
-
close: () => void;
|
|
79
|
-
};
|
|
80
|
-
export {};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { type NativeRoute } from './route.ts';
|
|
2
|
-
import type { ReadingReference } from '../reading-context.ts';
|
|
3
|
-
export interface NativeMaterialization {
|
|
4
|
-
readonly archive: string;
|
|
5
|
-
readonly cwd: string;
|
|
6
|
-
readonly mountIdentity: string;
|
|
7
|
-
readonly locations: readonly {
|
|
8
|
-
member: string;
|
|
9
|
-
path: string;
|
|
10
|
-
kind: 'module' | 'data' | 'binary';
|
|
11
|
-
}[];
|
|
12
|
-
}
|
|
13
|
-
/** Called under the actual Root lease before identity/cache preparation. Missing
|
|
14
|
-
* laid content is a named content demand, never a publisher authority fallback.
|
|
15
|
-
* One retained mount per immutable selection avoids copying it on each ask.
|
|
16
|
-
*/
|
|
17
|
-
export declare function materializeNativeRoute(route: NativeRoute): NativeMaterialization;
|
|
18
|
-
/** Fixed child, lifetime supervisor and transitive host modules enter identity
|
|
19
|
-
* before the cache key. Existing instrument closure resolves actual dependencies;
|
|
20
|
-
* this descriptor never executes a module and never accepts a world verifier.
|
|
21
|
-
*/
|
|
22
|
-
export declare function nativeExecutorInputs(route: NativeRoute): readonly ReadingReference[];
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
export interface ModuleClosureMember {
|
|
2
|
-
readonly digest: string;
|
|
3
|
-
readonly source: string;
|
|
4
|
-
}
|
|
5
|
-
export interface ModuleClosureSnapshot {
|
|
6
|
-
readonly identity: string;
|
|
7
|
-
readonly entry: string;
|
|
8
|
-
readonly members: ReadonlyMap<string, ModuleClosureMember>;
|
|
9
|
-
}
|
|
10
|
-
export interface ModuleClosureReading {
|
|
11
|
-
readonly snapshot: string;
|
|
12
|
-
readonly coordinate: string;
|
|
13
|
-
readonly digest: string;
|
|
14
|
-
}
|
|
15
|
-
/** Host-selected archive and entry, never a verifier assertion from the program.
|
|
16
|
-
* This proves content identity only; standing admission and runtime capabilities
|
|
17
|
-
* are separate prerequisites. Binary resources are not executable text members.
|
|
18
|
-
*/
|
|
19
|
-
export declare function moduleSnapshot(archive: Uint8Array, expected: string, entry: string): ModuleClosureSnapshot;
|
|
20
|
-
/** The host supplies authenticated snapshot identities and its library resolver.
|
|
21
|
-
* Each reached text member is verified here against its exact UTF-8 bytes.
|
|
22
|
-
* Authentication of the snapshot envelope remains a separate host prerequisite.
|
|
23
|
-
* A capsule cannot select either verifier or resolver.
|
|
24
|
-
* This reads declared module edges, not arbitrary I/O or a JavaScript sandbox. Computed edges are unpaid, never absent.
|
|
25
|
-
* Activation requires an admitted host policy; existing inventory callers are not silently changed.
|
|
26
|
-
*/
|
|
27
|
-
export declare function moduleClosure(snapshot: ModuleClosureSnapshot, library: (specifier: string, parent: ModuleClosureSnapshot) => ModuleClosureSnapshot | undefined): readonly ModuleClosureReading[];
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export interface ModuleImportSyntax {
|
|
2
|
-
readonly imports: readonly string[];
|
|
3
|
-
readonly unresolved: readonly string[];
|
|
4
|
-
}
|
|
5
|
-
/** Syntax inventory is not an execution-closure certificate: unresolved expressions stay explicit. */
|
|
6
|
-
export declare function moduleImportSyntax(source: string, coordinate: string): ModuleImportSyntax;
|
|
7
|
-
/** Existing inventory keeps its meaning; callers requiring closure must inspect unresolved edges. */
|
|
8
|
-
export declare function moduleImports(source: string, coordinate: string): readonly string[];
|