@lapxo/bound 0.2.5 → 0.2.6
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/CITATION.cff +1 -1
- package/README.md +20 -3
- package/TARGET.bound +75 -42
- package/dist/cli/accept.js +59 -70
- package/dist/cli/act-result.js +3 -3
- package/dist/cli/args.js +1 -1
- package/dist/cli/host.js +1 -1
- package/dist/cli/native.js +1 -1
- package/dist/cli/pass.js +22 -21
- package/dist/cli/place.js +6 -6
- package/dist/cli/release-result.js +3 -3
- package/dist/cli/retained-judgment.js +1 -1
- package/dist/cli/standing-result.js +3 -3
- package/dist/cli/takes.js +10 -10
- package/dist/cli/verb.js +79 -77
- package/dist/engine/computation.js +1 -1
- package/dist/engine/index.js +1 -1
- package/dist/engine/object.js +1 -1
- package/dist/engine/ports.js +1 -1
- package/dist/fold/admission-history.js +1 -1
- package/dist/fold/ceilings.js +1 -1
- package/dist/fold/claims.js +2 -2
- package/dist/fold/closed.js +1 -1
- package/dist/fold/configures.js +1 -1
- package/dist/fold/digests.js +10 -10
- package/dist/fold/evidence.js +1 -1
- package/dist/fold/keys.js +3 -3
- package/dist/fold/laid.js +1 -1
- package/dist/fold/observed.js +27 -26
- package/dist/fold/opened.js +1 -1
- package/dist/fold/own.js +3 -3
- package/dist/fold/paid.js +1 -1
- package/dist/fold/place-inputs.js +1 -1
- package/dist/fold/places.js +1 -1
- package/dist/fold/reach.js +1 -1
- package/dist/fold/readers.js +1 -1
- package/dist/fold/region.js +1 -1
- package/dist/fold/release-policy.js +1 -1
- package/dist/fold/resolved.js +1 -1
- package/dist/fold/roles.js +1 -1
- package/dist/fold/shards.js +8 -8
- package/dist/fold/signed.js +3 -3
- package/dist/fold/signers.js +1 -1
- package/dist/fold/stranger.js +6 -6
- package/dist/fold/wire.js +1 -1
- package/dist/fold/zoom.js +1 -1
- package/dist/host/act-cost.js +1 -1
- package/dist/host/adapters/keys/ed25519.js +1 -1
- package/dist/host/adapters/transport/http.js +1 -1
- package/dist/host/admitted-place.js +1 -1
- package/dist/host/call-context.js +1 -1
- package/dist/host/capsule-process.js +1 -1
- package/dist/host/capsule.js +1 -1
- package/dist/host/cell-receipts.js +1 -1
- package/dist/host/command-server.js +4 -0
- package/dist/host/content-store.js +1 -1
- package/dist/host/contextual-place.js +1 -1
- package/dist/host/digest.js +1 -1
- package/dist/host/host-controls.js +1 -1
- package/dist/host/in-process-act.js +1 -1
- package/dist/host/in-process-context.js +1 -1
- package/dist/host/in-process-root.js +1 -1
- package/dist/host/in-process.js +1 -1
- package/dist/host/index.d.ts +1 -1
- package/dist/host/index.js +1 -1
- package/dist/host/located.js +6 -6
- package/dist/host/native/authority-card-view.js +5 -0
- package/dist/host/native/authority-card.js +1 -0
- package/dist/host/native/command.js +1 -1
- package/dist/host/native/custody.js +1 -1
- package/dist/host/native/generated-custodian.js +1 -1
- package/dist/host/native/installed-package.d.ts +1 -0
- package/dist/host/native/installed-package.js +5 -0
- package/dist/host/native/module-delivery.d.ts +1 -1
- package/dist/host/native/module-delivery.js +1 -1
- package/dist/host/native/module-inventory.js +2 -0
- package/dist/host/native/module-syntax.js +1 -1
- package/dist/host/native/native-binary.js +1 -1
- package/dist/host/native/probes.js +1 -0
- package/dist/host/native/reading-witness-admission.js +5 -0
- package/dist/host/native/reading.js +1 -1
- package/dist/host/native/route.js +1 -1
- package/dist/host/native-place-state.js +1 -0
- package/dist/host/native-receiver.js +1 -1
- package/dist/host/objects.js +1 -1
- package/dist/host/persistent-host.js +1 -0
- package/dist/host/physical-lines.d.ts +1 -0
- package/dist/host/physical-lines.js +1 -0
- package/dist/host/place-act-transaction.js +1 -1
- package/dist/host/place-clock-selection.js +1 -1
- package/dist/host/ports/local-act.js +1 -1
- package/dist/host/ports/place-act.js +1 -1
- package/dist/host/ports/store.js +1 -1
- package/dist/host/ports/transport.js +1 -1
- package/dist/host/profile-composition.d.ts +1 -0
- package/dist/host/profile-composition.js +2 -0
- package/dist/host/reading-closures.js +6 -6
- package/dist/host/reading-context.js +1 -1
- package/dist/host/reading-identity.js +2 -2
- package/dist/host/reading-preparation.js +1 -1
- package/dist/host/reference-authenticated.d.ts +1 -1
- package/dist/host/reference-authenticated.js +1 -1
- package/dist/host/reference-export.js +1 -1
- package/dist/host/reference-native-api.d.ts +1 -1
- package/dist/host/reference-native-api.js +1 -1
- package/dist/host/reference-native.js +1 -1
- package/dist/host/reference-standing.js +1 -1
- package/dist/host/reference.js +1 -1
- package/dist/host/refusals.js +2 -2
- package/dist/host/release.js +1 -1
- package/dist/host/root-clock-source.js +1 -1
- package/dist/host/selected-capsules.js +1 -1
- package/dist/host/selected-topos.js +1 -1
- package/dist/host/signing.js +2 -2
- package/dist/host/source-content.js +1 -1
- package/dist/host/standing-carrier.js +1 -1
- package/dist/host/standing-projection.js +1 -1
- package/dist/host/timing.js +1 -1
- package/dist/host/walk.js +1 -1
- package/dist/host/work-trace.js +1 -0
- package/dist/judge/late.js +1 -1
- package/dist/judge/take.js +1 -1
- package/dist/judge/widening.js +1 -1
- package/dist/land/act.js +6 -6
- package/dist/land/alias.js +1 -1
- package/dist/land/held.js +1 -1
- package/dist/land/ledger.js +5 -6
- package/dist/land/sign.js +1 -1
- package/dist/land/standing-pin.js +1 -1
- package/dist/land/vouched.js +1 -1
- package/dist/land/withdraw.js +1 -1
- package/dist/observe/files.js +1 -1
- package/dist/observe/identity.js +1 -1
- package/dist/observe/match.js +1 -1
- package/dist/observe/regions.js +1 -1
- package/dist/observe/run.js +1 -2
- package/dist/observe/runner.js +1 -1
- package/dist/public-types.d.ts +945 -40
- package/dist/render/capsule.js +1 -1
- package/dist/render/field.js +1 -1
- package/dist/render/open.js +1 -1
- package/dist/render/page.js +1 -1
- package/dist/render/receipt-projection.js +1 -0
- package/dist/render/receipts.js +1 -1
- package/dist/render/shape.js +1 -1
- package/dist/render/target.js +4 -4
- package/dist/render/view.js +5 -5
- package/dist/vendor/bundle.json +1 -1
- package/dist/vendor/library14.js +1 -0
- package/dist/vendor/runtime.js +53 -30
- package/dist/wasm/adapter.d.ts +1 -1
- package/docs/contracts/authenticated-reference.publication.json +1 -1
- package/docs/contracts/authority-preflight.md +17 -0
- package/docs/contracts/authority-preflight.publication.json +25 -0
- package/docs/contracts/installed-package.md +21 -0
- package/docs/contracts/installed-package.publication.json +25 -0
- package/docs/contracts/materialized-leaf-sequence.md +15 -0
- package/docs/contracts/materialized-leaf-sequence.publication.json +25 -0
- package/docs/contracts/module-inventory.md +15 -0
- package/docs/contracts/module-inventory.publication.json +25 -0
- package/docs/contracts/native-host.md +29 -1
- package/docs/contracts/native-host.publication.json +4 -4
- package/docs/contracts/native-probes.md +13 -0
- package/docs/contracts/native-probes.publication.json +25 -0
- package/docs/contracts/native-publication.inventory.json +9 -1
- package/docs/contracts/native-view-batch.md +17 -0
- package/docs/contracts/native-view-batch.publication.json +25 -0
- package/docs/contracts/physical-lines.md +19 -0
- package/docs/contracts/physical-lines.publication.json +25 -0
- package/docs/contracts/profile-composition.md +17 -0
- package/docs/contracts/profile-composition.publication.json +25 -0
- package/docs/contracts/profile-preparation-native-meaning.md +9 -0
- package/docs/contracts/publication.md +12 -0
- package/docs/contracts/reading-identity.md +26 -2
- package/docs/contracts/reading-identity.publication.json +4 -4
- package/docs/contracts/reading-witness-admission.md +49 -0
- package/docs/contracts/readme.publication.json +1 -1
- package/docs/contracts/reference-port.md +11 -0
- package/docs/contracts/reference-port.publication.json +1 -1
- package/docs/contracts/refusals.bound +346 -145
- package/docs/contracts/refusals.md +119 -54
- package/docs/contracts/refusals.publication.json +2 -2
- package/docs/reference.md +8 -0
- package/licenses/wasm/{fast-text-encoding.txt → NOTICE.txt} +111 -0
- package/package.json +69 -8
- package/receipts.bound +12921 -11722
- package/samples/authority-preflight/no.json +6 -0
- package/samples/authority-preflight/yes.json +30 -0
- package/samples/engine-alphabet/reader.js +3 -1457
- package/samples/engine-alphabet/receipts.bound +7 -7
- package/samples/engine-interval/reader.js +3 -1457
- package/samples/engine-interval/receipts.bound +7 -7
- package/samples/installed-package/consumer.mjs +29 -0
- package/samples/installed-package/fixture.json +48 -0
- package/samples/installed-package/no.json +10 -0
- package/samples/installed-package/yes.json +52 -0
- package/samples/materialized-leaf-sequence/no.json +11 -0
- package/samples/materialized-leaf-sequence/yes.json +10 -0
- package/samples/module-inventory/yes.json +28 -0
- package/samples/native/physical-line-reader.mjs +1 -0
- package/samples/native/physical-line-reader.source.mjs +13 -0
- package/samples/native-host/no.json +6 -1
- package/samples/native-host/yes.json +18 -1
- package/samples/native-probes/inputs/inspection.json +28 -0
- package/samples/native-probes/no.json +7 -0
- package/samples/native-probes/yes.json +28 -0
- package/samples/native-view-batch/no.json +14 -0
- package/samples/native-view-batch/yes.json +10 -0
- package/samples/no/engine-order/reader.js +3 -1457
- package/samples/no/module-inventory/no.json +10 -0
- package/samples/physical-lines/no.json +5 -0
- package/samples/physical-lines/yes.json +9 -0
- package/samples/profile-composition/no.json +6 -0
- package/samples/profile-composition/yes.json +14 -0
- package/samples/reading-identity/no.json +7 -1
- package/samples/reading-identity/yes.json +24 -1
- package/vectors/native/authority-preflight.vector.json +55 -0
- package/vectors/native/installed-package.vector.json +31 -0
- package/vectors/native/materialized-leaf-sequence.vector.json +31 -0
- package/vectors/native/module-inventory.vector.json +56 -0
- package/vectors/native/native-host.vector.json +214 -0
- package/vectors/native/native-probes.vector.json +31 -0
- package/vectors/native/native-view-batch.vector.json +31 -0
- package/vectors/native/physical-lines.vector.json +105 -0
- package/vectors/native/profile-composition.vector.json +53 -0
- package/vectors/native/reading-identity.vector.json +38 -0
- package/vectors/native/refusals.vector.json +36 -2
- package/dist/vendor/library11.js +0 -1
- package/dist/vendor/sources.json +0 -1
- package/licenses/wasm/bound.txt +0 -21
- package/licenses/wasm/jitl-quickjs-ffi-types.txt +0 -21
- package/licenses/wasm/jitl-quickjs-wasmfile-release-sync.txt +0 -47
- package/licenses/wasm/obligations.txt +0 -21
- package/licenses/wasm/quickjs-emscripten-core.txt +0 -21
- package/licenses/wasm/topos.txt +0 -21
- /package/dist/vendor/{50086958553b9376d600583f7dff354196bfeb41170fc6d1482ca7bea7c493e2.LICENSE → 28cba430228db1c04f446c93f81b09a2705d6bf3e222d35adbe5a4cee4061884.LICENSE} +0 -0
- /package/dist/vendor/{b3e938d28f88a1851af303a40c749e12ebd5a686daac4f0b343b5cdd2e040419.LICENSE → 7aca161279d14bc0e054dcc281cd110aeb95be2e026b42fdf527a260e58b2aae.LICENSE} +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
bound-lock/1 at=place:sha256:ef476bda8c15b4967a88dc27a188ab25cfac42bdf381fb82f4e57a482d2fd27d by=reader:
|
|
2
|
-
bound-lock/1 at=place:sha256:ef476bda8c15b4967a88dc27a188ab25cfac42bdf381fb82f4e57a482d2fd27d by=reader:
|
|
3
|
-
bound-lock/1 at=place:sha256:
|
|
1
|
+
bound-lock/1 at=place:sha256:ef476bda8c15b4967a88dc27a188ab25cfac42bdf381fb82f4e57a482d2fd27d by=reader:1b7891c8e7ba form=alphabet measure=observed role=writes scope=inputs/sample.json value=ef476bda8c15b496
|
|
2
|
+
bound-lock/1 at=place:sha256:ef476bda8c15b4967a88dc27a188ab25cfac42bdf381fb82f4e57a482d2fd27d by=reader:1b7891c8e7ba form=interval measure=count role=writes scope=conformance/engine-object/interval value=0..0
|
|
3
|
+
bound-lock/1 at=place:sha256:bcfa69682734d98ae1aeb8fe60f57006f7080cd6e020c0180e20d3b0f755d901 by=bound form=alphabet measure=digest role=writes scope=instrument/implementation value=sha256:bcfa69682734d98ae1aeb8fe60f57006f7080cd6e020c0180e20d3b0f755d901
|
|
4
4
|
|
|
5
|
-
bound-lock/1 at=place:sha256:
|
|
5
|
+
bound-lock/1 at=place:sha256:df943b9602382b70f85595ac8e10a8093b786f8843bdb6dba51d6aee3d09c883 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:376e9e55c2236e303178e0c4666508320263f8a1d8e02184089f1c1841fcff49
|
|
6
6
|
|
|
7
|
-
bound-lock/1 at=place:sha256:
|
|
7
|
+
bound-lock/1 at=place:sha256:6ecce77379245a0216e376b945c7bbc4a7383b67b91cb7699f6c196ba75e154a by=bound form=interval measure=count role=writes scope=receipts/conformance value=1..1
|
|
8
8
|
bound-lock/1 at=place:sha256:9d15c34a3540e0baa6bc6f6486a255668e82675a17f7f2a66179d8be1911782d by=bound form=alphabet measure=bytes role=writes scope=receipts/conformance value=sha256:9d15c34a3540e0baa6bc6f6486a255668e82675a17f7f2a66179d8be1911782d
|
|
9
|
-
bound-lock/1 at=place:sha256:
|
|
9
|
+
bound-lock/1 at=place:sha256:125a4dd819dc5bd8079b9cd97e7161b9df98cb3d6325d3fd54198bd58bd34697 by=bound form=interval measure=count role=writes scope=receipts/inputs value=1..1
|
|
10
10
|
bound-lock/1 at=place:sha256:1df9c3a47226191b49c489df107a4dec2a23584e5ae7c23ef72b7ff8d71318d1 by=bound form=alphabet measure=bytes role=writes scope=receipts/inputs value=sha256:1df9c3a47226191b49c489df107a4dec2a23584e5ae7c23ef72b7ff8d71318d1
|
|
11
|
-
bound-lock/1 at=place:sha256:
|
|
11
|
+
bound-lock/1 at=place:sha256:cc3b4bab82e8730dab531193571c9ae617432aa053e535b10107ac96958beb48 by=bound form=interval measure=count role=writes scope=receipts/instrument value=1..1
|
|
12
12
|
bound-lock/1 at=place:sha256:9d15c34a3540e0baa6bc6f6486a255668e82675a17f7f2a66179d8be1911782d by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:9d15c34a3540e0baa6bc6f6486a255668e82675a17f7f2a66179d8be1911782d
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import {readFileSync,mkdtempSync,mkdirSync,writeFileSync,rmSync,cpSync,symlinkSync} from 'node:fs';
|
|
3
|
+
import {join} from 'node:path';
|
|
4
|
+
import {tmpdir} from 'node:os';
|
|
5
|
+
const {installedPackageIdentity}=await import(process.env.BOUND_PACKAGE_API??'@lapxo/bound/package/native');
|
|
6
|
+
const fixture=JSON.parse(readFileSync(new URL('./fixture.json',import.meta.url),'utf8'));
|
|
7
|
+
const temporary=mkdtempSync(join(tmpdir(),'bound-installed-consumer-'));
|
|
8
|
+
const limits={members:40,bytes:200000,responseBytes:400000};
|
|
9
|
+
const library=fixture.library;
|
|
10
|
+
const pin={parent:'self',specifier:'fixture-math',snapshot:library.identity,source:library.sourceName,version:library.version,module:{identity:library.identity,entry:library.entry,members:new Map([[library.entry,{source:library.source,digest:library.digest}]])}};
|
|
11
|
+
const request={shape:'package',members:fixture.files.map(({coordinate,digest})=>({coordinate,digest})),exports:fixture.exports,pins:[pin],limits};
|
|
12
|
+
const refuses=code=>error=>error.code===code;
|
|
13
|
+
try{
|
|
14
|
+
const first=join(temporary,'garden'),second=join(temporary,'harbor');mkdirSync(first);for(const file of fixture.files)writeFileSync(join(first,file.coordinate),file.source);cpSync(first,second,{recursive:true});
|
|
15
|
+
const left=installedPackageIdentity({...request,directory:first}),right=installedPackageIdentity({...request,directory:second});
|
|
16
|
+
assert.equal(left.digest,right.digest);assert.equal(left.lines,right.lines);assert.equal(left.modules.modules.length,3);assert.equal(left.consumedPins.length,1);
|
|
17
|
+
assert.ok(left.lines.includes('file/unreachable.js'));assert.ok(!left.modules.modules.some(row=>row.module==='unreachable.js'));
|
|
18
|
+
assert.ok(left.delivery.files.some(row=>row.source.includes('unusedSymbol')));assert.ok(left.delivery.files.some(row=>row.source.includes('unusedLibrarySymbol')));assert.ok(!('archiveDigest' in left));
|
|
19
|
+
for(const directory of [first,second]){
|
|
20
|
+
const reset=()=>{rmSync(directory,{recursive:true,force:true});mkdirSync(directory);for(const file of fixture.files)writeFileSync(join(directory,file.coordinate),file.source)};
|
|
21
|
+
const mutation=fixture.mutation;writeFileSync(join(directory,mutation.coordinate),mutation.source);assert.throws(()=>installedPackageIdentity({...request,directory}),refuses('installed/member-integrity'));
|
|
22
|
+
const changed=installedPackageIdentity({...request,directory,members:request.members.map(row=>row.coordinate===mutation.coordinate?{...row,digest:mutation.digest}:row)});assert.notEqual(changed.digest,left.digest);assert.equal(changed.modules.modules.length,3);reset();
|
|
23
|
+
rmSync(join(directory,'leaf.js'));assert.throws(()=>installedPackageIdentity({...request,directory}),refuses('installed/missing-member'));reset();
|
|
24
|
+
writeFileSync(join(directory,'extra.js'),'export const extra=1;');assert.throws(()=>installedPackageIdentity({...request,directory}),refuses('installed/uninventoried-member'));reset();
|
|
25
|
+
const outside=join(temporary,'outside.js');writeFileSync(outside,'export const leaf=2;');rmSync(join(directory,'leaf.js'));symlinkSync(outside,join(directory,'leaf.js'));assert.throws(()=>installedPackageIdentity({...request,directory}),refuses('installed/external-member'));reset();
|
|
26
|
+
assert.throws(()=>installedPackageIdentity({...request,directory,pins:[]}),/unpinned library fixture-math/);
|
|
27
|
+
}
|
|
28
|
+
console.log('INSTALLED PACKAGE · two copies agree · exact members manifest and consumed pins · changed missing extra external and unpinned refused · modules retain unused symbols');
|
|
29
|
+
}finally{rmSync(temporary,{recursive:true,force:true})}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"files": [
|
|
3
|
+
{
|
|
4
|
+
"coordinate": "package.json",
|
|
5
|
+
"source": "{\"name\":\"fixture-installed\",\"version\":\"1.0.0\",\"type\":\"module\",\"exports\":{\".\":\"./index.js\"}}",
|
|
6
|
+
"digest": "sha256:6fbb4840c2bd58a173a96aeac13083d2ce62ce735fbfd88545bb35d9ec1a6bcc"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"coordinate": "index.js",
|
|
10
|
+
"source": "import {n} from 'fixture-math';import {leaf} from './leaf.js';export const visible=n+leaf;export const unusedSymbol='kept';\n",
|
|
11
|
+
"digest": "sha256:3b73434097f0e207f0c0a82ef17f4eebec9e5d0218b1c4f41205f62e9b7beec7"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"coordinate": "leaf.js",
|
|
15
|
+
"source": "export const leaf=2;\n",
|
|
16
|
+
"digest": "sha256:5a23b35ac6e9b1a5145160808971135a2490a1cdea3093f3dfa35f071e44c771"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"coordinate": "unreachable.js",
|
|
20
|
+
"source": "export const unreachable=41;\n",
|
|
21
|
+
"digest": "sha256:f4ead11fa0d9683e45b3993b2b961792a9b180bf2d31fb953e358a0041d58073"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"coordinate": "NOTICE",
|
|
25
|
+
"source": "A complete package also carries non-module bytes.\n",
|
|
26
|
+
"digest": "sha256:48278ab65f9a9040938b07e0b1b5a6054ed5ab22779778506bfe916eea01f709"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"exports": [
|
|
30
|
+
[
|
|
31
|
+
"exports",
|
|
32
|
+
"."
|
|
33
|
+
]
|
|
34
|
+
],
|
|
35
|
+
"library": {
|
|
36
|
+
"identity": "sha256:fcdf73da58275a7ac691352309dea09ed8b31c63d7724a1f94e73084de029410",
|
|
37
|
+
"entry": "lib.js",
|
|
38
|
+
"sourceName": "fixture-math",
|
|
39
|
+
"version": "2.0.0",
|
|
40
|
+
"source": "export const n=5;export const unusedLibrarySymbol=99;\n",
|
|
41
|
+
"digest": "sha256:c6e5fc9a46fee273cca1b079767064eda69b790f9164e62c77c28ea90181c0cd"
|
|
42
|
+
},
|
|
43
|
+
"mutation": {
|
|
44
|
+
"coordinate": "unreachable.js",
|
|
45
|
+
"source": "export const unreachable=42;\n",
|
|
46
|
+
"digest": "sha256:8d7dfda12330e2cf0a7d1b9ff8919f7c0b89fd1a086c637a3c3c874a598c6d79"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"files": [
|
|
3
|
+
{
|
|
4
|
+
"coordinate": "package.json",
|
|
5
|
+
"source": "{\"name\":\"fixture-installed\",\"version\":\"1.0.0\",\"type\":\"module\",\"exports\":{\".\":\"./index.js\"}}",
|
|
6
|
+
"digest": "sha256:6fbb4840c2bd58a173a96aeac13083d2ce62ce735fbfd88545bb35d9ec1a6bcc"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"coordinate": "index.js",
|
|
10
|
+
"source": "import {n} from 'fixture-math';import {leaf} from './leaf.js';export const visible=n+leaf;export const unusedSymbol='kept';\n",
|
|
11
|
+
"digest": "sha256:3b73434097f0e207f0c0a82ef17f4eebec9e5d0218b1c4f41205f62e9b7beec7"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"coordinate": "leaf.js",
|
|
15
|
+
"source": "export const leaf=2;\n",
|
|
16
|
+
"digest": "sha256:5a23b35ac6e9b1a5145160808971135a2490a1cdea3093f3dfa35f071e44c771"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"coordinate": "unreachable.js",
|
|
20
|
+
"source": "export const unreachable=41;\n",
|
|
21
|
+
"digest": "sha256:f4ead11fa0d9683e45b3993b2b961792a9b180bf2d31fb953e358a0041d58073"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"coordinate": "NOTICE",
|
|
25
|
+
"source": "A complete package also carries non-module bytes.\n",
|
|
26
|
+
"digest": "sha256:48278ab65f9a9040938b07e0b1b5a6054ed5ab22779778506bfe916eea01f709"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"exports": [
|
|
30
|
+
[
|
|
31
|
+
"exports",
|
|
32
|
+
"."
|
|
33
|
+
]
|
|
34
|
+
],
|
|
35
|
+
"library": {
|
|
36
|
+
"identity": "sha256:fcdf73da58275a7ac691352309dea09ed8b31c63d7724a1f94e73084de029410",
|
|
37
|
+
"entry": "lib.js",
|
|
38
|
+
"sourceName": "fixture-math",
|
|
39
|
+
"version": "2.0.0",
|
|
40
|
+
"source": "export const n=5;export const unusedLibrarySymbol=99;\n",
|
|
41
|
+
"digest": "sha256:c6e5fc9a46fee273cca1b079767064eda69b790f9164e62c77c28ea90181c0cd"
|
|
42
|
+
},
|
|
43
|
+
"mutation": {
|
|
44
|
+
"coordinate": "unreachable.js",
|
|
45
|
+
"source": "export const unreachable=42;\n",
|
|
46
|
+
"digest": "sha256:8d7dfda12330e2cf0a7d1b9ff8919f7c0b89fd1a086c637a3c3c874a598c6d79"
|
|
47
|
+
},
|
|
48
|
+
"places": [
|
|
49
|
+
"garden",
|
|
50
|
+
"harbor"
|
|
51
|
+
]
|
|
52
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"name": "field-notes",
|
|
4
|
+
"pin": "sha256:c7a9596995cf3bc965a36f3a43987c5688567a08d838f3d92a3f182c9317d500",
|
|
5
|
+
"sources": [
|
|
6
|
+
{
|
|
7
|
+
"snapshot": "sha256:73d7146ce6e337d89811c94fd4848e24d3a9431b01eaf56e422833e31e0a78ae",
|
|
8
|
+
"source": "example/field-notes",
|
|
9
|
+
"version": "1.0.0"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"carrier": "{\"manifest\":{\"format\":\"esm-file-closure/1\",\"needs\":[{\"name\":\"field-notes\",\"snapshot\":\"sha256:73d7146ce6e337d89811c94fd4848e24d3a9431b01eaf56e422833e31e0a78ae\",\"entry\":\"entry.js\"}],\"modules\":[{\"snapshot\":\"sha256:73d7146ce6e337d89811c94fd4848e24d3a9431b01eaf56e422833e31e0a78ae\",\"coordinate\":\"entry.js\",\"digest\":\"sha256:d84c44d507454c3ade89f362e3acc06281b5a283a4ed0f0a15d032f39a7abd74\",\"path\":\"modules/73d7146ce6e337d89811c94fd4848e24d3a9431b01eaf56e422833e31e0a78ae/entry.js\"},{\"snapshot\":\"sha256:73d7146ce6e337d89811c94fd4848e24d3a9431b01eaf56e422833e31e0a78ae\",\"coordinate\":\"value.js\",\"digest\":\"sha256:f1670f52eabccbb1f1c1c047ccee88965a894854b9717d470835475b7f7920b1\",\"path\":\"modules/73d7146ce6e337d89811c94fd4848e24d3a9431b01eaf56e422833e31e0a78ae/value.js\"}],\"libraries\":[],\"notices\":[]},\"files\":[{\"path\":\"modules/73d7146ce6e337d89811c94fd4848e24d3a9431b01eaf56e422833e31e0a78ae/entry.js\",\"source\":\"import './value.js'; export const result=7;\"},{\"path\":\"modules/73d7146ce6e337d89811c94fd4848e24d3a9431b01eaf56e422833e31e0a78ae/value.js\",\"source\":\"export const value=7;\"}]}",
|
|
13
|
+
"expected": "bound-lock/1 about=\"{\\\"format\\\":\\\"module-inventory-record/1\\\",\\\"unit\\\":\\\"module\\\",\\\"source\\\":\\\"example/field-notes\\\",\\\"version\\\":\\\"1.0.0\\\",\\\"snapshot\\\":\\\"sha256:73d7146ce6e337d89811c94fd4848e24d3a9431b01eaf56e422833e31e0a78ae\\\",\\\"module\\\":\\\"entry.js\\\",\\\"digest\\\":\\\"sha256:d84c44d507454c3ade89f362e3acc06281b5a283a4ed0f0a15d032f39a7abd74\\\",\\\"reachedFrom\\\":\\\"sha256:b3e341847a3c885b096be462305af81f09198f426f02d9e3f086f489ca3cbc9f\\\"}\" at=policy:module-inventory by=consumer form=alphabet measure=digest role=writes scope=consumer/modules/73d7146ce6e337d89811c94fd4848e24d3a9431b01eaf56e422833e31e0a78ae/entry.js value=sha256:d84c44d507454c3ade89f362e3acc06281b5a283a4ed0f0a15d032f39a7abd74\nbound-lock/1 about=\"{\\\"format\\\":\\\"module-inventory-record/1\\\",\\\"unit\\\":\\\"module\\\",\\\"source\\\":\\\"example/field-notes\\\",\\\"version\\\":\\\"1.0.0\\\",\\\"snapshot\\\":\\\"sha256:73d7146ce6e337d89811c94fd4848e24d3a9431b01eaf56e422833e31e0a78ae\\\",\\\"module\\\":\\\"value.js\\\",\\\"digest\\\":\\\"sha256:f1670f52eabccbb1f1c1c047ccee88965a894854b9717d470835475b7f7920b1\\\",\\\"reachedFrom\\\":\\\"sha256:b3e341847a3c885b096be462305af81f09198f426f02d9e3f086f489ca3cbc9f\\\"}\" at=policy:module-inventory by=consumer form=alphabet measure=digest role=writes scope=consumer/modules/73d7146ce6e337d89811c94fd4848e24d3a9431b01eaf56e422833e31e0a78ae/value.js value=sha256:f1670f52eabccbb1f1c1c047ccee88965a894854b9717d470835475b7f7920b1\n"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name": "water-level",
|
|
17
|
+
"pin": "sha256:bed572b9b006223ca3dd2db63842ce1a146b16bd0373e89c5ab13ee927bf99b3",
|
|
18
|
+
"sources": [
|
|
19
|
+
{
|
|
20
|
+
"snapshot": "sha256:d99ba0cf723d36c49ca5da30d9e1d1fb1afb52159372dd14ea6c1bb3c8dfd60b",
|
|
21
|
+
"source": "example/water-level",
|
|
22
|
+
"version": "1.0.0"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"carrier": "{\"manifest\":{\"format\":\"esm-file-closure/1\",\"needs\":[{\"name\":\"water-level\",\"snapshot\":\"sha256:d99ba0cf723d36c49ca5da30d9e1d1fb1afb52159372dd14ea6c1bb3c8dfd60b\",\"entry\":\"entry.js\"}],\"modules\":[{\"snapshot\":\"sha256:d99ba0cf723d36c49ca5da30d9e1d1fb1afb52159372dd14ea6c1bb3c8dfd60b\",\"coordinate\":\"entry.js\",\"digest\":\"sha256:c1a18cc4b86617ffd1af205d37745d9250f218e026ebb47da08f15c476281b5a\",\"path\":\"modules/d99ba0cf723d36c49ca5da30d9e1d1fb1afb52159372dd14ea6c1bb3c8dfd60b/entry.js\"},{\"snapshot\":\"sha256:d99ba0cf723d36c49ca5da30d9e1d1fb1afb52159372dd14ea6c1bb3c8dfd60b\",\"coordinate\":\"value.js\",\"digest\":\"sha256:ca83bd49a1d3b94db4076def1fdd98150b73b240ed6293a68ffaa2b4ff306825\",\"path\":\"modules/d99ba0cf723d36c49ca5da30d9e1d1fb1afb52159372dd14ea6c1bb3c8dfd60b/value.js\"}],\"libraries\":[],\"notices\":[]},\"files\":[{\"path\":\"modules/d99ba0cf723d36c49ca5da30d9e1d1fb1afb52159372dd14ea6c1bb3c8dfd60b/entry.js\",\"source\":\"import './value.js'; export const result=13;\"},{\"path\":\"modules/d99ba0cf723d36c49ca5da30d9e1d1fb1afb52159372dd14ea6c1bb3c8dfd60b/value.js\",\"source\":\"export const value=13;\"}]}",
|
|
26
|
+
"expected": "bound-lock/1 about=\"{\\\"format\\\":\\\"module-inventory-record/1\\\",\\\"unit\\\":\\\"module\\\",\\\"source\\\":\\\"example/water-level\\\",\\\"version\\\":\\\"1.0.0\\\",\\\"snapshot\\\":\\\"sha256:d99ba0cf723d36c49ca5da30d9e1d1fb1afb52159372dd14ea6c1bb3c8dfd60b\\\",\\\"module\\\":\\\"entry.js\\\",\\\"digest\\\":\\\"sha256:c1a18cc4b86617ffd1af205d37745d9250f218e026ebb47da08f15c476281b5a\\\",\\\"reachedFrom\\\":\\\"sha256:3947c3b370018282e54f674ef35fdea7300679bd7ed2a8fb51df831b28198203\\\"}\" at=policy:module-inventory by=consumer form=alphabet measure=digest role=writes scope=consumer/modules/d99ba0cf723d36c49ca5da30d9e1d1fb1afb52159372dd14ea6c1bb3c8dfd60b/entry.js value=sha256:c1a18cc4b86617ffd1af205d37745d9250f218e026ebb47da08f15c476281b5a\nbound-lock/1 about=\"{\\\"format\\\":\\\"module-inventory-record/1\\\",\\\"unit\\\":\\\"module\\\",\\\"source\\\":\\\"example/water-level\\\",\\\"version\\\":\\\"1.0.0\\\",\\\"snapshot\\\":\\\"sha256:d99ba0cf723d36c49ca5da30d9e1d1fb1afb52159372dd14ea6c1bb3c8dfd60b\\\",\\\"module\\\":\\\"value.js\\\",\\\"digest\\\":\\\"sha256:ca83bd49a1d3b94db4076def1fdd98150b73b240ed6293a68ffaa2b4ff306825\\\",\\\"reachedFrom\\\":\\\"sha256:3947c3b370018282e54f674ef35fdea7300679bd7ed2a8fb51df831b28198203\\\"}\" at=policy:module-inventory by=consumer form=alphabet measure=digest role=writes scope=consumer/modules/d99ba0cf723d36c49ca5da30d9e1d1fb1afb52159372dd14ea6c1bb3c8dfd60b/value.js value=sha256:ca83bd49a1d3b94db4076def1fdd98150b73b240ed6293a68ffaa2b4ff306825\n"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var B=new TextEncoder;function y(e,t){let o=B.encode(e),s=B.encode(t);for(let a=0;a<o.length&&a<s.length;a++)if(o[a]!==s[a])return o[a]-s[a];return o.length-s.length}function k(e,t){if(!e.includes("*"))return e===t;let o=e.split("*");if(!t.startsWith(o[0]))return!1;let s=o[0].length;for(let a=1;a<o.length;a++){let c=o[a];if(c==="")return a===o.length-1||k(o.slice(a).join("*"),t.slice(s));let l=t.indexOf(c,s);if(l<0)return!1;s=l+c.length}return s===t.length||e.endsWith("*")}function O(e,t,o,s){if(t===e.length)return s===o.length;if(e[t]==="**"){if(t+1===e.length)return!0;for(let a=s;a<=o.length;a++)if(O(e,t+1,o,a))return!0;return!1}return s===o.length||!k(e[t],o[s])?!1:O(e,t+1,o,s+1)}function F(e,t){return O(e.split("/"),0,t.split("/"),0)}var S=[0n,1n];var w=e=>{throw new Error("REFUSE\xB7model/M3 "+e)},W=(e,t)=>{for(e=e<0n?-e:e;t;){let o=e%t;e=t,t=o}return e};function h(e,t=1n){t===0n&&w("zero rational denominator"),t<0n&&(e=-e,t=-t);let o=W(e,t);return[e/o,t/o]}function C(e){if(typeof e=="string"){if(/^-?\d+\/\d+$/.test(e)){let[c,l]=e.split("/");return h(BigInt(c),BigInt(l))}/^-?\d+(\.\d+)?$/.test(e)||w("invalid exact probability");let t=e.startsWith("-")?-1n:1n,o=e.replace(/^-/,""),[s,a=""]=o.split(".");return h(t*BigInt(s+a),10n**BigInt(a.length))}return(!e||typeof e.numerator!="string"||typeof e.denominator!="string"||!/^[-]?\d+$/.test(e.numerator)||!/^\d+$/.test(e.denominator))&&w("invalid rational"),h(BigInt(e.numerator),BigInt(e.denominator))}var _=(e,t)=>h(e[0]*t[1]+t[0]*e[1],e[1]*t[1]),T=(e,t)=>h(e[0]*t[1]-t[0]*e[1],e[1]*t[1]);var N=(e,t)=>e[0]===t[0]&&e[1]===t[1],R=e=>({numerator:String(e[0]),denominator:String(e[1])});var f=e=>{throw Error("REFUSE\xB7region-measure/"+e)},x=e=>typeof e=="string"&&e.length>0&&!/[\u0000-\u001f\u007f]/.test(e);function P(e,t){if(!e||e.model!=="finite-nonnegative-atomic-valuation@1"||!x(e.unit))return f("model-and-unit");if(Object.keys(e).some(n=>!["model","unit","atoms","regions"].includes(n))||!Array.isArray(e.atoms)||!Array.isArray(e.regions))return f("domain");if(!t||typeof t.budget!="string"||!/^(0|[1-9][0-9]*)$/.test(t.budget))return f("budget");let o=BigInt(e.atoms.length)+BigInt(e.regions.length);for(let n of e.regions){if(!n||!x(n.id)||!Array.isArray(n.members)||!n.members.every(x)||Object.keys(n).some(i=>!["id","members"].includes(i)))return f("region");o+=BigInt(n.members.length)}if(o>BigInt(t.budget))return{status:"unmeasured",cause:"region-measure/budget",required:String(o),workUnit:"declared-input-rows"};let s=new Map;for(let n of e.atoms){if(!n||!x(n.id)||Object.keys(n).some(m=>!["id","value"].includes(m)))return f("atom");let i;try{i=C(n.value)}catch{return f("weight")}if(i[0]<0n)return f("negative-weight");let d=s.get(n.id);if(d!==void 0&&!N(d,i))return f("conflicting-atom");s.set(n.id,i)}let a=new Set,c=new Map,l=n=>n.reduce((i,d)=>_(i,s.get(d)),S),b=e.regions.map(n=>{if(a.has(n.id))return f("duplicate-region");a.add(n.id);let i=[...new Set(n.members)].sort();for(let d of i){if(!x(d)||!s.has(d))return f("unknown-atom");let m=c.get(d)??[];m.push(n.id),c.set(d,m)}return{region:n.id,members:i,value:R(l(i))}}).sort((n,i)=>n.region<i.region?-1:n.region>i.region?1:0),g=[...c.keys()].sort(),p=l(g),r=b.reduce((n,i)=>_(n,C(i.value)),S);return{status:"measured",model:e.model,unit:e.unit,arithmetic:"exact-rational",readings:b,union:{members:g,value:R(p)},sumOfRegions:R(r),overlapExcess:R(T(r,p)),disjointBySupport:[...c.values()].every(n=>n.length===1),overlaps:[...c].filter(([,n])=>n.length>1).map(([n,i])=>({atom:n,regions:[...i].sort()})).sort((n,i)=>n.atom<i.atom?-1:n.atom>i.atom?1:0),unassigned:[...s.keys()].filter(n=>!c.has(n)).sort(),work:{unit:"declared-input-rows",required:String(o)}}}var E="topos-physical-lines/1",D={name:"finite-nonnegative-atomic-valuation@1",contract:"sha256:636ace16eeaa46eafb7b07c28d1d57916bc9108b188e96b5a8bf7bed6dc15707",implementation:"sha256:ef7e39d0ac44b0dd3d4b68220d3c381f737eb2729d0017ed3271ce119d408b13"},u=e=>{throw Error("REFUSE\xB7physical-lines/"+e)},M=e=>typeof e=="string"&&/^sha256:[0-9a-f]{64}$/.test(e),j=e=>typeof e=="string"&&e.length>0&&!/[\u0000-\u001f\u007f]/.test(e),$=e=>j(e)&&!e.includes("\\")&&e.split("/").every(t=>t!==""&&t!=="."&&t!==".."),U=e=>typeof e=="string"&&/^(0|[1-9][0-9]*)$/.test(e),I=(e,t)=>Object.keys(e).every(o=>t.includes(o));function L(e,t){if(typeof t!="function")return u("digest-port");if(!e||e.profile!==E||!I(e,["profile","snapshot","files","regions","policy"])||!M(e.snapshot))return u("profile");if(!Array.isArray(e.files)||!Array.isArray(e.regions)||!e.policy||!I(e.policy,["byteBudget","rowBudget"])||!U(e.policy.byteBudget)||!U(e.policy.rowBudget))return u("policy");let o=0n,s=new Set,a=new Set;for(let r of e.files){if(!r||!I(r,["name","digest","bytes"])||!$(r.name)||r.name.includes("*")||!M(r.digest)||!(r.bytes instanceof Uint8Array))return u("file");if(s.has(r.name))return u("duplicate-file");s.add(r.name),o+=BigInt(r.bytes.length)}for(let r of e.regions){if(!r||!I(r,["scope","selectors"])||!j(r.scope)||!Array.isArray(r.selectors)||!r.selectors.length||!r.selectors.every(n=>$(n)&&n.split("/").every(i=>!i.includes("**")||i==="**")))return u("selector");if(a.has(r.scope))return u("duplicate-region");a.add(r.scope)}if(o>BigInt(e.policy.byteBudget))return{status:"unmeasured",cause:"physical-lines/byte-budget",required:String(o),workUnit:"input-bytes"};let c=e.regions.reduce((r,n)=>r+n.selectors.reduce((i,d)=>i+BigInt(d.length),0n)*BigInt(e.files.length+1),0n);if(c>BigInt(e.policy.rowBudget))return{status:"unmeasured",cause:"physical-lines/selection-budget",required:String(c),workUnit:"selector-code-units-times-candidates"};let l=[...e.files].sort((r,n)=>y(r.name,n.name)),b=l.map(r=>{if(t(r.bytes)!==r.digest)return u("integrity");try{new TextDecoder("utf-8",{fatal:!0}).decode(r.bytes)}catch{return u("utf8")}let n=0n;for(let i=0;i<r.bytes.length;i++){if(r.bytes[i]===13&&r.bytes[i+1]!==10)return u("isolated-cr");r.bytes[i]===10&&n++}return r.bytes.length&&r.bytes[r.bytes.length-1]!==10&&n++,{id:r.name,value:String(n)}}),g=[...e.regions].sort((r,n)=>y(r.scope,n.scope)).map(r=>{let n=[...new Set(r.selectors)].sort(y),i=n.map(d=>{let m=l.filter(v=>F(d,v.name)).map(v=>v.name);return m.length?{selector:d,members:m,status:"selected"}:{selector:d,members:m,status:"unmeasured",cause:"selector-no-match"}});return{scope:r.scope,selectors:n,selections:i,members:[...new Set(i.flatMap(d=>d.members))].sort(y)}}),p=P({model:"finite-nonnegative-atomic-valuation@1",unit:"physical-lines/utf8-lf@1",atoms:b,regions:g.filter(r=>r.members.length).map(r=>({id:r.scope,members:r.members}))},{budget:e.policy.rowBudget});return p.status==="unmeasured"?p:{status:"read",profile:E,snapshot:e.snapshot,model:D,policy:{...e.policy},textDomain:"utf8-lf-crlf-reject-isolated-cr@1",inputFiles:l.map(r=>({name:r.name,digest:r.digest})),regions:g.map(r=>r.members.length?{...r,status:"measured",value:p.readings.find(n=>n.region===r.scope).value}:{...r,status:"unmeasured",cause:"selector-no-match"}),valuation:p,work:{inputBytes:String(o),selectionUnits:String(c)},verification:"supplied inventory and snapshot; authority and completeness are consumer obligations"}}var A="sha256:"+"1".repeat(64),re=()=>["bound-lock/1 at=receipt:1 by=world form=alphabet measure=reads role=reads scope=physical value=src/input.txt"],oe=e=>{let t=e.lines.find(c=>c.scope==="src/input.txt");if(!t)throw Error("actual handed input absent");let o=new TextEncoder().encode(t.about),s=L({profile:E,snapshot:A,files:[{name:"src/input.txt",digest:A,bytes:o}],regions:[{scope:"core/lines",selectors:["src/*.txt"]}],policy:{byteBudget:"65536",rowBudget:"65536"}},()=>A);if(s.status!=="read"||s.regions[0].status!=="measured")throw Error("actual physical input unmeasured");let a=Number(s.regions[0].value.numerator);return[{scope:"core/lines",measure:"lines",role:"reads",bound:{kind:"interval",lo:a,hi:a}}]};export{oe as receipt,re as render};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {readPhysicalLines,PHYSICAL_LINES_PROFILE} from '@lapxo/topos/contract';
|
|
2
|
+
const fixtureDigest='sha256:'+'1'.repeat(64);
|
|
3
|
+
// The native host owns real input digests. This pure count projection delegates text/count semantics to Topos.
|
|
4
|
+
export const render=()=>['bound-lock/1 at=receipt:1 by=world form=alphabet measure=reads role=reads scope=physical value=src/input.txt'];
|
|
5
|
+
export const receipt=asked=>{
|
|
6
|
+
const file=asked.lines.find(line=>line.scope==='src/input.txt');
|
|
7
|
+
if(!file)throw Error('actual handed input absent');
|
|
8
|
+
const bytes=new TextEncoder().encode(file.about);
|
|
9
|
+
const read=readPhysicalLines({profile:PHYSICAL_LINES_PROFILE,snapshot:fixtureDigest,files:[{name:'src/input.txt',digest:fixtureDigest,bytes}],regions:[{scope:'core/lines',selectors:['src/*.txt']}],policy:{byteBudget:'65536',rowBudget:'65536'}},()=>fixtureDigest);
|
|
10
|
+
if(read.status!=='read'||read.regions[0].status!=='measured')throw Error('actual physical input unmeasured');
|
|
11
|
+
const n=Number(read.regions[0].value.numerator);
|
|
12
|
+
return [{scope:'core/lines',measure:'lines',role:'reads',bound:{kind:'interval',lo:n,hi:n}}];
|
|
13
|
+
};
|
|
@@ -6,5 +6,10 @@
|
|
|
6
6
|
"cancelled before commit",
|
|
7
7
|
"noncanonical unsigned Root lot"
|
|
8
8
|
],
|
|
9
|
-
"expected": "refuse without a visible act or an additional signature"
|
|
9
|
+
"expected": "refuse without a visible act or an additional signature",
|
|
10
|
+
"persistent": {
|
|
11
|
+
"unsupportedView": "unknown",
|
|
12
|
+
"unboundKey": "lane",
|
|
13
|
+
"startupTimeoutMs": 1
|
|
14
|
+
}
|
|
10
15
|
}
|
|
@@ -16,5 +16,22 @@
|
|
|
16
16
|
"landed",
|
|
17
17
|
"historical recovery",
|
|
18
18
|
"already-held without signing"
|
|
19
|
-
]
|
|
19
|
+
],
|
|
20
|
+
"persistent": {
|
|
21
|
+
"places": [
|
|
22
|
+
"catalog",
|
|
23
|
+
"weather"
|
|
24
|
+
],
|
|
25
|
+
"views": [
|
|
26
|
+
"lines",
|
|
27
|
+
"evidence"
|
|
28
|
+
],
|
|
29
|
+
"limits": {
|
|
30
|
+
"requestBytes": 16777216,
|
|
31
|
+
"responseBytes": 33554432,
|
|
32
|
+
"timeoutMs": 15000,
|
|
33
|
+
"heapMiB": 256,
|
|
34
|
+
"queuedRequests": 8
|
|
35
|
+
}
|
|
36
|
+
}
|
|
20
37
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"forms": [
|
|
3
|
+
"lines",
|
|
4
|
+
"evidence"
|
|
5
|
+
],
|
|
6
|
+
"repetitions": 6,
|
|
7
|
+
"port": {
|
|
8
|
+
"coordinate": "port/public-inspection",
|
|
9
|
+
"probes": 6,
|
|
10
|
+
"responseBytes": 16777216
|
|
11
|
+
},
|
|
12
|
+
"declaredIdentityLimits": {
|
|
13
|
+
"bytes": 16777216,
|
|
14
|
+
"files": 2048,
|
|
15
|
+
"readings": 16,
|
|
16
|
+
"probes": 8
|
|
17
|
+
},
|
|
18
|
+
"places": [
|
|
19
|
+
"harbor-log",
|
|
20
|
+
"library-index"
|
|
21
|
+
],
|
|
22
|
+
"expected": {
|
|
23
|
+
"newPersistentBytes": 0,
|
|
24
|
+
"newPersistentLines": 0,
|
|
25
|
+
"identitiesUnchanged": true,
|
|
26
|
+
"textMatchesNativeView": true
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"forms": [
|
|
3
|
+
"lines",
|
|
4
|
+
"evidence"
|
|
5
|
+
],
|
|
6
|
+
"repetitions": 6,
|
|
7
|
+
"port": {
|
|
8
|
+
"coordinate": "port/public-inspection",
|
|
9
|
+
"probes": 6,
|
|
10
|
+
"responseBytes": 16777216
|
|
11
|
+
},
|
|
12
|
+
"declaredIdentityLimits": {
|
|
13
|
+
"bytes": 16777216,
|
|
14
|
+
"files": 2048,
|
|
15
|
+
"readings": 16,
|
|
16
|
+
"probes": 8
|
|
17
|
+
},
|
|
18
|
+
"places": [
|
|
19
|
+
"harbor-log",
|
|
20
|
+
"library-index"
|
|
21
|
+
],
|
|
22
|
+
"expected": {
|
|
23
|
+
"newPersistentBytes": 0,
|
|
24
|
+
"newPersistentLines": 0,
|
|
25
|
+
"identitiesUnchanged": true,
|
|
26
|
+
"textMatchesNativeView": true
|
|
27
|
+
}
|
|
28
|
+
}
|