@lapxo/bound 0.1.9 → 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 +85 -14
- package/assets/wasm/guest.js +4 -0
- package/assets/wasm/manifest.json +27 -0
- package/assets/wasm/runtime.js +6 -0
- package/assets/wasm/runtime.wasm +0 -0
- package/dist/cli/pass.js +3 -3
- package/dist/cli/place.js +7 -4
- package/dist/cli/standing-result.js +4 -3
- package/dist/cli/verb.js +79 -9
- package/dist/engine/encoding.js +2 -0
- package/dist/engine/index.d.ts +13 -0
- package/dist/engine/index.js +11 -0
- package/dist/engine/object.js +38 -0
- package/dist/engine/ports.d.ts +32 -0
- package/dist/engine/ports.js +103 -0
- package/dist/fold/closed.js +22 -5
- package/dist/fold/digests.js +3 -2
- package/dist/fold/object.js +2 -38
- package/dist/fold/resolved.js +1 -1
- package/dist/host/admitted-place.js +10 -1
- package/dist/host/cell-receipts.js +1 -1
- package/dist/host/contextual-place.js +2 -2
- package/dist/host/io.js +2 -2
- package/dist/host/objects.js +24 -4
- package/dist/host/reading-closures.js +11 -13
- package/dist/host/reference-authenticated.d.ts +40 -0
- package/dist/host/reference-authenticated.js +100 -0
- 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 +30 -0
- package/dist/host/reference-native.js +74 -0
- package/dist/host/reference-profile.d.ts +23 -0
- package/dist/host/reference-profile.js +63 -0
- package/dist/host/reference-standing.js +18 -0
- package/dist/host/reference.js +24 -0
- package/dist/host/refusals.d.ts +14 -0
- package/dist/host/refusals.js +43 -0
- package/dist/host/selected-topos.js +9 -1
- package/dist/host/signing.js +7 -1
- package/dist/observe/files.js +11 -1
- package/dist/observe/regions.js +109 -1
- package/dist/wasm/adapter.d.ts +51 -0
- package/dist/wasm/adapter.js +180 -0
- package/dist/wasm/node-worker.js +13 -0
- package/dist/wasm/object.js +76 -0
- package/dist/wasm/worker.js +7 -0
- package/docs/contracts/authenticated-reference.publication.json +25 -0
- package/docs/contracts/engine-object-projection.publication.json +25 -0
- package/docs/contracts/engine.md +39 -0
- package/docs/contracts/host-ports.md +23 -0
- package/docs/contracts/host-ports.publication.json +25 -0
- package/docs/contracts/native-publication.inventory.json +14 -0
- package/docs/contracts/optional-wasm-adapter.publication.json +25 -0
- package/docs/contracts/publication-additions.inventory.json +8 -0
- 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 +40 -0
- package/docs/contracts/reference-port.publication.json +25 -0
- 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/licenses/wasm/bound.txt +21 -0
- package/licenses/wasm/fast-text-encoding.txt +201 -0
- package/licenses/wasm/jitl-quickjs-ffi-types.txt +21 -0
- package/licenses/wasm/jitl-quickjs-wasmfile-release-sync.txt +47 -0
- package/licenses/wasm/obligations.txt +21 -0
- package/licenses/wasm/quickjs-emscripten-core.txt +21 -0
- package/licenses/wasm/topos.txt +21 -0
- package/package.json +141 -6
- package/receipts.bound +9554 -613
- package/samples/authenticated-reference/compatibility.json +306 -0
- package/samples/authenticated-reference/no.json +31 -0
- package/samples/authenticated-reference/yes/editorial-state/TARGET.bound +57 -0
- package/samples/authenticated-reference/yes/editorial-state/inputs/arrival.json +1 -0
- package/samples/authenticated-reference/yes/editorial-state/inputs/coverage.json +1 -0
- package/samples/authenticated-reference/yes/editorial-state/inputs/era.json +1 -0
- package/samples/authenticated-reference/yes/editorial-state/inputs/order.json +1 -0
- package/samples/authenticated-reference/yes/editorial-state/inputs/signature.json +1 -0
- package/samples/authenticated-reference/yes/editorial-state/inputs/transport.arrival.json +1 -0
- package/samples/authenticated-reference/yes/editorial-state/inputs/transport.coverage.json +1 -0
- package/samples/authenticated-reference/yes/editorial-state/inputs/transport.era.json +1 -0
- package/samples/authenticated-reference/yes/editorial-state/inputs/transport.order.json +1 -0
- package/samples/authenticated-reference/yes/editorial-state/inputs/transport.signature.json +1 -0
- package/samples/authenticated-reference/yes/editorial-state/inputs/transport.yes.json +1 -0
- package/samples/authenticated-reference/yes/editorial-state/inputs/yes.json +1 -0
- package/samples/authenticated-reference/yes/weather-reading/TARGET.bound +57 -0
- package/samples/authenticated-reference/yes/weather-reading/inputs/arrival.json +1 -0
- package/samples/authenticated-reference/yes/weather-reading/inputs/coverage.json +1 -0
- package/samples/authenticated-reference/yes/weather-reading/inputs/era.json +1 -0
- package/samples/authenticated-reference/yes/weather-reading/inputs/order.json +1 -0
- package/samples/authenticated-reference/yes/weather-reading/inputs/signature.json +1 -0
- package/samples/authenticated-reference/yes/weather-reading/inputs/transport.arrival.json +1 -0
- package/samples/authenticated-reference/yes/weather-reading/inputs/transport.coverage.json +1 -0
- package/samples/authenticated-reference/yes/weather-reading/inputs/transport.era.json +1 -0
- package/samples/authenticated-reference/yes/weather-reading/inputs/transport.order.json +1 -0
- package/samples/authenticated-reference/yes/weather-reading/inputs/transport.signature.json +1 -0
- package/samples/authenticated-reference/yes/weather-reading/inputs/transport.yes.json +1 -0
- package/samples/authenticated-reference/yes/weather-reading/inputs/yes.json +1 -0
- package/samples/authenticated-reference/yes.json +19 -0
- package/samples/engine-alphabet/TARGET.bound +29 -0
- package/samples/engine-alphabet/inputs/sample.json +323 -0
- package/samples/engine-alphabet/package.json +1 -0
- package/samples/engine-alphabet/reader.js +1457 -0
- package/samples/engine-alphabet/receipts.bound +12 -0
- package/samples/engine-interval/TARGET.bound +29 -0
- package/samples/engine-interval/inputs/sample.json +277 -0
- package/samples/engine-interval/package.json +1 -0
- package/samples/engine-interval/reader.js +1457 -0
- package/samples/engine-interval/receipts.bound +12 -0
- package/samples/host-ports/no.json +16 -0
- package/samples/host-ports/yes.json +9 -0
- package/samples/no/engine-order/TARGET.bound +29 -0
- package/samples/no/engine-order/inputs/sample.json +277 -0
- package/samples/no/engine-order/package.json +1 -0
- package/samples/no/engine-order/reader.js +1457 -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/catalog/standing.json +1 -0
- package/samples/reference-port/no/catalog/transport.json +1 -0
- package/samples/reference-port/no/route-notes/TARGET.bound +33 -0
- package/samples/reference-port/no/route-notes/standing.json +1 -0
- package/samples/reference-port/no/route-notes/transport.json +1 -0
- package/samples/reference-port/yes/catalog/TARGET.bound +33 -0
- package/samples/reference-port/yes/catalog/standing.json +1 -0
- package/samples/reference-port/yes/catalog/transport.json +1 -0
- package/samples/reference-port/yes/route-notes/TARGET.bound +33 -0
- package/samples/reference-port/yes/route-notes/standing.json +1 -0
- package/samples/reference-port/yes/route-notes/transport.json +1 -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/samples/wasm/editorial-notes/TARGET.bound +65 -0
- package/samples/wasm/editorial-notes/esm.bound +59 -0
- package/samples/wasm/editorial-notes/no-deadline.bound +65 -0
- package/samples/wasm/editorial-notes/no-memory.bound +65 -0
- package/samples/wasm/editorial-notes/no-missing-limit.bound +64 -0
- package/samples/wasm/editorial-notes/receipts.bound +1 -0
- package/samples/wasm/water-level/TARGET.bound +65 -0
- package/samples/wasm/water-level/esm.bound +59 -0
- package/samples/wasm/water-level/no-deadline.bound +65 -0
- package/samples/wasm/water-level/no-memory.bound +65 -0
- package/samples/wasm/water-level/no-missing-limit.bound +64 -0
- package/samples/wasm/water-level/receipts.bound +1 -0
- package/vectors/engine-object.cli.json +548 -0
- package/vectors/native/authenticated-reference-formation.vector.json +107 -0
- package/vectors/native/authenticated-reference.cli.json +157 -0
- package/vectors/native/authenticated-reference.vector.json +76 -0
- 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/reference-port.cli.json +688 -0
- package/vectors/wasm-object.cli.json +407 -0
- 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 -74
- 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/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 -5
- 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 -45
- package/dist/host/reading-context.d.ts +0 -29
- 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 -29
- 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/{fold → engine}/object.d.ts +0 -0
|
@@ -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[];
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { type RootStanding } from './reading.ts';
|
|
2
|
-
import { type ParentExecution } from './generated.ts';
|
|
3
|
-
interface NativeBinaryFields {
|
|
4
|
-
coordinate: string;
|
|
5
|
-
alias: string;
|
|
6
|
-
selector: {
|
|
7
|
-
port: string;
|
|
8
|
-
binding: string;
|
|
9
|
-
implementation: string;
|
|
10
|
-
};
|
|
11
|
-
entry: {
|
|
12
|
-
path: string;
|
|
13
|
-
digest: string;
|
|
14
|
-
bytes: number;
|
|
15
|
-
};
|
|
16
|
-
limits: {
|
|
17
|
-
bytes: number;
|
|
18
|
-
};
|
|
19
|
-
condition: string;
|
|
20
|
-
}
|
|
21
|
-
export type NativeBinaryProfile = NativeBinaryFields & ({
|
|
22
|
-
profile: 'host-native-binary@1';
|
|
23
|
-
} | {
|
|
24
|
-
profile: 'host-native-binary-origin@1';
|
|
25
|
-
origin: string;
|
|
26
|
-
});
|
|
27
|
-
export interface NativeBinaryOrigin {
|
|
28
|
-
readonly coordinate: string;
|
|
29
|
-
readonly line: string;
|
|
30
|
-
readonly path: string;
|
|
31
|
-
}
|
|
32
|
-
/** A Root-selected local origin is a location constraint, not a World hint. */
|
|
33
|
-
export declare function hostOriginPath(root: RootStanding, coordinate: string): NativeBinaryOrigin;
|
|
34
|
-
export declare function nativeBinaryOrigin(root: RootStanding, p: NativeBinaryProfile, portLine: string): NativeBinaryOrigin | undefined;
|
|
35
|
-
export interface VerifiedNativeBinary {
|
|
36
|
-
readonly identity: string;
|
|
37
|
-
}
|
|
38
|
-
export interface NativeBinaryProjection {
|
|
39
|
-
kind: 'native-binary';
|
|
40
|
-
alias: string;
|
|
41
|
-
entry: string;
|
|
42
|
-
entryDigest: string;
|
|
43
|
-
entryBytes: number;
|
|
44
|
-
condition: string;
|
|
45
|
-
}
|
|
46
|
-
/** Call under the existing Root guard; privateBinding is from the already
|
|
47
|
-
* prepared host image, never the candidate profile's own expected digest. */
|
|
48
|
-
export declare function verifyNativeBinary(root: RootStanding, coordinate: string, parent: ParentExecution, privateBinding: {
|
|
49
|
-
coordinate: string;
|
|
50
|
-
path: string;
|
|
51
|
-
digest: string;
|
|
52
|
-
}): VerifiedNativeBinary;
|
|
53
|
-
export declare const nativeBinaryProjection: (handle: VerifiedNativeBinary) => NativeBinaryProjection;
|
|
54
|
-
export {};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { type RootStanding } from './reading.ts';
|
|
2
|
-
import { type ParentExecution } from './generated.ts';
|
|
3
|
-
export interface NativeProgramProfile {
|
|
4
|
-
profile: 'host-native-program@1';
|
|
5
|
-
coordinate: string;
|
|
6
|
-
alias: string;
|
|
7
|
-
selector: {
|
|
8
|
-
port: string;
|
|
9
|
-
binding: string;
|
|
10
|
-
implementation: string;
|
|
11
|
-
};
|
|
12
|
-
interpreter: {
|
|
13
|
-
path: string;
|
|
14
|
-
digest: string;
|
|
15
|
-
bytes: number;
|
|
16
|
-
};
|
|
17
|
-
root: string;
|
|
18
|
-
entry: string;
|
|
19
|
-
members: readonly {
|
|
20
|
-
coordinate: string;
|
|
21
|
-
digest: string;
|
|
22
|
-
bytes: number;
|
|
23
|
-
}[];
|
|
24
|
-
limits: {
|
|
25
|
-
members: number;
|
|
26
|
-
bytes: number;
|
|
27
|
-
};
|
|
28
|
-
condition: string;
|
|
29
|
-
}
|
|
30
|
-
export interface VerifiedNativeProgram {
|
|
31
|
-
readonly identity: string;
|
|
32
|
-
}
|
|
33
|
-
export interface NativeProgramProjection {
|
|
34
|
-
alias: string;
|
|
35
|
-
interpreter: string;
|
|
36
|
-
interpreterDigest: string;
|
|
37
|
-
entry: string;
|
|
38
|
-
root: string;
|
|
39
|
-
members: readonly {
|
|
40
|
-
path: string;
|
|
41
|
-
digest: string;
|
|
42
|
-
}[];
|
|
43
|
-
condition: string;
|
|
44
|
-
}
|
|
45
|
-
export declare function verifyNativeProgram(root: RootStanding, coordinate: string, parent: ParentExecution, runtimeBinding: {
|
|
46
|
-
coordinate: string;
|
|
47
|
-
path: string;
|
|
48
|
-
digest: string;
|
|
49
|
-
members: readonly {
|
|
50
|
-
coordinate: string;
|
|
51
|
-
path: string;
|
|
52
|
-
}[];
|
|
53
|
-
}): VerifiedNativeProgram;
|
|
54
|
-
/** Only the guarded instrument can obtain this from a verified opaque handle.
|
|
55
|
-
* Put it in the signed native image; never accept it from a world proposal. */
|
|
56
|
-
export declare const nativeProgramProjection: (handle: VerifiedNativeProgram) => NativeProgramProjection;
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import type { CommandPort } from '@lapxo/topos/contract';
|
|
2
|
-
import type { Declaration } from './loader.ts';
|
|
3
|
-
import { type Handoff } from './jobs.ts';
|
|
4
|
-
export interface Location {
|
|
5
|
-
member: string;
|
|
6
|
-
path: string;
|
|
7
|
-
kind: 'binary' | 'module' | 'data';
|
|
8
|
-
}
|
|
9
|
-
export interface NodeImage {
|
|
10
|
-
cwd: string;
|
|
11
|
-
condition: string;
|
|
12
|
-
runtime: string;
|
|
13
|
-
preload?: string;
|
|
14
|
-
nativePreloadMembers: readonly string[];
|
|
15
|
-
commandPort?: CommandPort;
|
|
16
|
-
hostLoader?: {
|
|
17
|
-
declaration: Declaration;
|
|
18
|
-
entries: readonly string[];
|
|
19
|
-
preload: string;
|
|
20
|
-
};
|
|
21
|
-
locations: readonly Location[];
|
|
22
|
-
}
|
|
23
|
-
/** Observation of a completed inner command. A nonzero exit is data, never
|
|
24
|
-
* silently converted into effect success; its meaning belongs to the reader. */
|
|
25
|
-
export interface CapturedCommand {
|
|
26
|
-
exitStatus: number;
|
|
27
|
-
stdout: string;
|
|
28
|
-
stderr: string;
|
|
29
|
-
}
|
|
30
|
-
export interface PreparedNodeImage {
|
|
31
|
-
readonly identity: string;
|
|
32
|
-
}
|
|
33
|
-
/** Image/runtime condition and locations are instrument-admitted inputs, selected
|
|
34
|
-
* before requests. Condition includes trusted Node builtins/platform libraries;
|
|
35
|
-
* a binary's file digest alone does not seal every dynamic platform library. */
|
|
36
|
-
export declare function prepareNodeImage(input: Handoff, inputImage: NodeImage): PreparedNodeImage;
|
|
37
|
-
/** Exact expectations from the same opaque host image used by execution. */
|
|
38
|
-
export declare function plannedJobs(handle: PreparedNodeImage, request: Uint8Array): readonly {
|
|
39
|
-
id: string;
|
|
40
|
-
identity: string;
|
|
41
|
-
}[];
|
|
42
|
-
/** Instrument-only producer lineage from the SAME private planned job used by
|
|
43
|
-
* executeJobs. No fixture may invent an identity or reset shared custody. */
|
|
44
|
-
export interface ParentExecution {
|
|
45
|
-
identity: string;
|
|
46
|
-
port: string;
|
|
47
|
-
binding: string;
|
|
48
|
-
implementation: string;
|
|
49
|
-
instrument: string;
|
|
50
|
-
policy: string;
|
|
51
|
-
authority: string;
|
|
52
|
-
inputs: readonly (readonly [string, string])[];
|
|
53
|
-
environment: readonly (readonly [string, string])[];
|
|
54
|
-
argv: readonly string[];
|
|
55
|
-
cwd: string;
|
|
56
|
-
runtime: string;
|
|
57
|
-
timeoutMs: number;
|
|
58
|
-
responseBytes: number;
|
|
59
|
-
}
|
|
60
|
-
export declare function plannedParentExecutions(handle: PreparedNodeImage, request: Uint8Array): readonly ParentExecution[];
|
|
61
|
-
/** Root-owned execution resource, constructed from authenticated producer selection
|
|
62
|
-
* under the authority guard. This is not a packet verifier or world callback. */
|
|
63
|
-
export interface RootJobCustody {
|
|
64
|
-
open(parent: ParentExecution): Promise<{
|
|
65
|
-
assertClosed(): void;
|
|
66
|
-
close(): Promise<void>;
|
|
67
|
-
descendant?: unknown;
|
|
68
|
-
}>;
|
|
69
|
-
}
|
|
70
|
-
/** No partial member escapes a failed batch. Uses the existing bounded async
|
|
71
|
-
* child-group executor; worker launcher is itself an exact selected module. */
|
|
72
|
-
export declare function executeJobs(handle: PreparedNodeImage, request: Uint8Array, options: {
|
|
73
|
-
phase: 'act' | 'selection' | 'help' | 'check' | 'preview' | 'sign';
|
|
74
|
-
signal?: AbortSignal;
|
|
75
|
-
trace?: (event: {
|
|
76
|
-
id: string;
|
|
77
|
-
phase: 'start' | 'end';
|
|
78
|
-
}) => void;
|
|
79
|
-
custody?: RootJobCustody;
|
|
80
|
-
}): Promise<readonly {
|
|
81
|
-
id: string;
|
|
82
|
-
identity: string;
|
|
83
|
-
responses: readonly CapturedCommand[];
|
|
84
|
-
}[]>;
|