@interop/was-conformance-suite 0.12.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/suites/conditional-requests-api.d.ts.map +1 -1
- package/dist/suites/conditional-requests-api.js +249 -3
- package/dist/suites/conditional-requests-api.js.map +1 -1
- package/dist/suites/denial-reasons-api.d.ts +11 -0
- package/dist/suites/denial-reasons-api.d.ts.map +1 -0
- package/dist/suites/denial-reasons-api.js +255 -0
- package/dist/suites/denial-reasons-api.js.map +1 -0
- package/dist/suites/index.d.ts +2 -1
- package/dist/suites/index.d.ts.map +1 -1
- package/dist/suites/index.js +3 -1
- package/dist/suites/index.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -135,6 +135,7 @@ The available suite ids (for `--suite`) are:
|
|
|
135
135
|
| `collection-api` | Collections API |
|
|
136
136
|
| `conditional-requests-api` | Conditional requests & caching |
|
|
137
137
|
| `delegation-cryptosuites` | Delegation-proof cryptosuites |
|
|
138
|
+
| `denial-reasons-api` | Typed denial reasons (capability-expired / -revoked) |
|
|
138
139
|
| `digest-api` | Request body integrity (Digest) negatives |
|
|
139
140
|
| `encryption-descriptor-api` | Encryption descriptor API |
|
|
140
141
|
| `governed-log-api` | Governing history log API |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditional-requests-api.d.ts","sourceRoot":"","sources":["../../src/suites/conditional-requests-api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"conditional-requests-api.d.ts","sourceRoot":"","sources":["../../src/suites/conditional-requests-api.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEhD,UAAU,KAAK;IACb,KAAK,EAAE,GAAG,CAAA;IACV,GAAG,EAAE,GAAG,CAAA;IACR,aAAa,EAAE,MAAM,CAAA;IACrB,0BAA0B,EAAE,OAAO,CAAA;IACnC,cAAc,EAAE,GAAG,CAAA;CACpB;AAgFD,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,KAAK,CAy3B/C,CAAA"}
|
|
@@ -13,9 +13,11 @@
|
|
|
13
13
|
* backend does not advertise it, while the two ETag tests reflect the weaker
|
|
14
14
|
* `SHOULD emit ETag` guidance and are marked `optional: true`.
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
16
|
+
* Most tests work at the Resource level in a plain JSON Collection; the
|
|
17
|
+
* "Descriptions" group covers the same preconditions on the Collection and
|
|
18
|
+
* Space Descriptions (the guarded create two provisioning clients race on).
|
|
19
|
+
* All drive raw `ZcapClient.request()` calls so the `If-Match` /
|
|
20
|
+
* `If-None-Match` precondition headers can be attached directly. Those preconditions describe the request
|
|
19
21
|
* rather than the capability target, so they need not be covered by the
|
|
20
22
|
* signature; the server reads them off the request headers after authorization.
|
|
21
23
|
*/
|
|
@@ -601,6 +603,250 @@ export const conditionalRequestsApi = {
|
|
|
601
603
|
assert.equal(masked.status, 404);
|
|
602
604
|
}
|
|
603
605
|
},
|
|
606
|
+
{
|
|
607
|
+
id: 'conditional.collection-if-none-match-create-then-412',
|
|
608
|
+
name: '[root] a Collection PUT with `If-None-Match: *` creates an absent ' +
|
|
609
|
+
'Collection and 412s on a present one',
|
|
610
|
+
group: 'Descriptions',
|
|
611
|
+
specRefs: [
|
|
612
|
+
'https://wallet.storage/spec#conditional-requests',
|
|
613
|
+
'https://wallet.storage/spec#update-or-create-by-id-collection-operation',
|
|
614
|
+
'https://wallet.storage/spec#precondition-failed'
|
|
615
|
+
],
|
|
616
|
+
run: async (ctx, state) => {
|
|
617
|
+
const { alice, conditionalWritesSupported } = state;
|
|
618
|
+
if (!conditionalWritesSupported) {
|
|
619
|
+
ctx.skip('backend does not advertise conditional-writes');
|
|
620
|
+
}
|
|
621
|
+
const collectionUrl = new URL(`/space/${alice.space1.id}/guarded-collection`, ctx.serverUrl).toString();
|
|
622
|
+
// The guarded create proceeds on an absent Collection.
|
|
623
|
+
const created = await alice.rootClient.request({
|
|
624
|
+
url: collectionUrl,
|
|
625
|
+
method: 'PUT',
|
|
626
|
+
action: 'PUT',
|
|
627
|
+
json: { id: 'guarded-collection', name: 'Winner' },
|
|
628
|
+
headers: { 'if-none-match': '*' }
|
|
629
|
+
});
|
|
630
|
+
assert.equal(created.status, 201);
|
|
631
|
+
assert.match(created.headers.get('etag'), /^"[^"]+"$/, 'expected a quoted ETag validator on the create');
|
|
632
|
+
// The loser of a create race: the same guarded PUT MUST NOT replace
|
|
633
|
+
// the winner's description, and MUST 412.
|
|
634
|
+
let expectedError;
|
|
635
|
+
try {
|
|
636
|
+
await alice.rootClient.request({
|
|
637
|
+
url: collectionUrl,
|
|
638
|
+
method: 'PUT',
|
|
639
|
+
action: 'PUT',
|
|
640
|
+
json: { id: 'guarded-collection', name: 'Loser' },
|
|
641
|
+
headers: { 'if-none-match': '*' }
|
|
642
|
+
});
|
|
643
|
+
}
|
|
644
|
+
catch (err) {
|
|
645
|
+
expectedError = err;
|
|
646
|
+
}
|
|
647
|
+
assertPreconditionFailed(expectedError);
|
|
648
|
+
const unchanged = await alice.rootClient.request({
|
|
649
|
+
url: collectionUrl,
|
|
650
|
+
method: 'GET'
|
|
651
|
+
});
|
|
652
|
+
assert.equal(unchanged.data.name, 'Winner');
|
|
653
|
+
// An unconditional PUT still replaces.
|
|
654
|
+
const replaced = await alice.rootClient.request({
|
|
655
|
+
url: collectionUrl,
|
|
656
|
+
method: 'PUT',
|
|
657
|
+
action: 'PUT',
|
|
658
|
+
json: { id: 'guarded-collection', name: 'Replaced' }
|
|
659
|
+
});
|
|
660
|
+
assert.ok(replaced.status === 204 || replaced.status === 200, `expected a success status, got ${replaced.status}`);
|
|
661
|
+
}
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
id: 'conditional.space-get-carries-etag',
|
|
665
|
+
name: '[root] Read Space carries a quoted ETag and a matching ' +
|
|
666
|
+
'`If-None-Match` is answered 304',
|
|
667
|
+
group: 'Descriptions',
|
|
668
|
+
optional: true,
|
|
669
|
+
specRefs: [
|
|
670
|
+
'https://wallet.storage/spec#caching',
|
|
671
|
+
'https://wallet.storage/spec#read-space-operation'
|
|
672
|
+
],
|
|
673
|
+
run: async (ctx, state) => {
|
|
674
|
+
const { alice } = state;
|
|
675
|
+
const spaceUrl = new URL(`/space/${alice.space1.id}`, ctx.serverUrl).toString();
|
|
676
|
+
const read = await readResource({
|
|
677
|
+
url: spaceUrl,
|
|
678
|
+
method: 'GET',
|
|
679
|
+
invocationSigner: alice.rootClient.invocationSigner
|
|
680
|
+
});
|
|
681
|
+
assert.equal(read.status, 200);
|
|
682
|
+
const etag = read.headers.get('etag');
|
|
683
|
+
assert.match(etag ?? '', /^"[^"]+"$/, 'expected a quoted ETag validator');
|
|
684
|
+
const body = await read.json();
|
|
685
|
+
assert.equal(body.id, alice.space1.id);
|
|
686
|
+
const unchanged = await readResource({
|
|
687
|
+
url: spaceUrl,
|
|
688
|
+
method: 'GET',
|
|
689
|
+
invocationSigner: alice.rootClient.invocationSigner,
|
|
690
|
+
ifNoneMatch: etag
|
|
691
|
+
});
|
|
692
|
+
assert.equal(unchanged.status, 304);
|
|
693
|
+
assert.equal(unchanged.headers.get('etag'), etag);
|
|
694
|
+
assert.equal(await unchanged.text(), '');
|
|
695
|
+
}
|
|
696
|
+
},
|
|
697
|
+
{
|
|
698
|
+
id: 'conditional.space-if-none-match-create-then-412',
|
|
699
|
+
name: '[root] a Space PUT with `If-None-Match: *` creates an absent Space ' +
|
|
700
|
+
'and 412s on a present one',
|
|
701
|
+
group: 'Descriptions',
|
|
702
|
+
specRefs: [
|
|
703
|
+
'https://wallet.storage/spec#conditional-requests',
|
|
704
|
+
'https://wallet.storage/spec#update-or-create-by-id-space-operation',
|
|
705
|
+
'https://wallet.storage/spec#precondition-failed'
|
|
706
|
+
],
|
|
707
|
+
run: async (ctx, state) => {
|
|
708
|
+
const { alice, conditionalWritesSupported } = state;
|
|
709
|
+
if (!conditionalWritesSupported) {
|
|
710
|
+
ctx.skip('backend does not advertise conditional-writes');
|
|
711
|
+
}
|
|
712
|
+
const spaceId = ctx.generateId();
|
|
713
|
+
const spaceUrl = new URL(`/space/${spaceId}`, ctx.serverUrl).toString();
|
|
714
|
+
try {
|
|
715
|
+
const created = await alice.rootClient.request({
|
|
716
|
+
url: spaceUrl,
|
|
717
|
+
method: 'PUT',
|
|
718
|
+
action: 'PUT',
|
|
719
|
+
json: { id: spaceId, name: 'Winner', controller: alice.did },
|
|
720
|
+
headers: { 'if-none-match': '*' }
|
|
721
|
+
});
|
|
722
|
+
assert.equal(created.status, 201);
|
|
723
|
+
assert.match(created.headers.get('etag'), /^"[^"]+"$/, 'expected a quoted ETag validator on the create');
|
|
724
|
+
// The loser of a provisioning race MUST NOT replace the winner's
|
|
725
|
+
// description, and MUST 412.
|
|
726
|
+
let expectedError;
|
|
727
|
+
try {
|
|
728
|
+
await alice.rootClient.request({
|
|
729
|
+
url: spaceUrl,
|
|
730
|
+
method: 'PUT',
|
|
731
|
+
action: 'PUT',
|
|
732
|
+
json: { id: spaceId, name: 'Loser', controller: alice.did },
|
|
733
|
+
headers: { 'if-none-match': '*' }
|
|
734
|
+
});
|
|
735
|
+
}
|
|
736
|
+
catch (err) {
|
|
737
|
+
expectedError = err;
|
|
738
|
+
}
|
|
739
|
+
assertPreconditionFailed(expectedError);
|
|
740
|
+
const unchanged = await alice.rootClient.request({
|
|
741
|
+
url: spaceUrl,
|
|
742
|
+
method: 'GET'
|
|
743
|
+
});
|
|
744
|
+
assert.equal(unchanged.data.name, 'Winner');
|
|
745
|
+
}
|
|
746
|
+
finally {
|
|
747
|
+
try {
|
|
748
|
+
await alice.rootClient.request({
|
|
749
|
+
url: spaceUrl,
|
|
750
|
+
method: 'DELETE',
|
|
751
|
+
action: 'DELETE'
|
|
752
|
+
});
|
|
753
|
+
}
|
|
754
|
+
catch {
|
|
755
|
+
/* best-effort cleanup */
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
},
|
|
760
|
+
{
|
|
761
|
+
id: 'conditional.space-if-match-cas',
|
|
762
|
+
name: '[root] a stale `If-Match` on Update Space 412s; the current one ' +
|
|
763
|
+
'succeeds and an unconditional PUT still replaces',
|
|
764
|
+
group: 'Descriptions',
|
|
765
|
+
specRefs: [
|
|
766
|
+
'https://wallet.storage/spec#conditional-requests',
|
|
767
|
+
'https://wallet.storage/spec#update-or-create-by-id-space-operation',
|
|
768
|
+
'https://wallet.storage/spec#precondition-failed'
|
|
769
|
+
],
|
|
770
|
+
run: async (ctx, state) => {
|
|
771
|
+
const { alice, conditionalWritesSupported } = state;
|
|
772
|
+
if (!conditionalWritesSupported) {
|
|
773
|
+
ctx.skip('backend does not advertise conditional-writes');
|
|
774
|
+
}
|
|
775
|
+
const spaceId = ctx.generateId();
|
|
776
|
+
const spaceUrl = new URL(`/space/${spaceId}`, ctx.serverUrl).toString();
|
|
777
|
+
const description = (name) => ({
|
|
778
|
+
id: spaceId,
|
|
779
|
+
name,
|
|
780
|
+
controller: alice.did
|
|
781
|
+
});
|
|
782
|
+
try {
|
|
783
|
+
const created = await alice.rootClient.request({
|
|
784
|
+
url: spaceUrl,
|
|
785
|
+
method: 'PUT',
|
|
786
|
+
action: 'PUT',
|
|
787
|
+
json: description('One')
|
|
788
|
+
});
|
|
789
|
+
const currentEtag = created.headers.get('etag');
|
|
790
|
+
assert.ok(currentEtag, 'expected an ETag on the Space create');
|
|
791
|
+
// A validator that cannot be current MUST NOT write, and MUST 412.
|
|
792
|
+
let expectedError;
|
|
793
|
+
try {
|
|
794
|
+
await alice.rootClient.request({
|
|
795
|
+
url: spaceUrl,
|
|
796
|
+
method: 'PUT',
|
|
797
|
+
action: 'PUT',
|
|
798
|
+
json: description('Stale'),
|
|
799
|
+
headers: { 'if-match': '"99999"' }
|
|
800
|
+
});
|
|
801
|
+
}
|
|
802
|
+
catch (err) {
|
|
803
|
+
expectedError = err;
|
|
804
|
+
}
|
|
805
|
+
assertPreconditionFailed(expectedError);
|
|
806
|
+
const unchanged = await alice.rootClient.request({
|
|
807
|
+
url: spaceUrl,
|
|
808
|
+
method: 'GET'
|
|
809
|
+
});
|
|
810
|
+
assert.equal(unchanged.data.name, 'One');
|
|
811
|
+
// The matching precondition is satisfied: the write proceeds and
|
|
812
|
+
// the response carries the new validator.
|
|
813
|
+
const swapped = await alice.rootClient.request({
|
|
814
|
+
url: spaceUrl,
|
|
815
|
+
method: 'PUT',
|
|
816
|
+
action: 'PUT',
|
|
817
|
+
json: description('Two'),
|
|
818
|
+
headers: { 'if-match': currentEtag }
|
|
819
|
+
});
|
|
820
|
+
assert.ok(swapped.status === 204 || swapped.status === 200, `expected a success status, got ${swapped.status}`);
|
|
821
|
+
assert.notEqual(swapped.headers.get('etag'), currentEtag);
|
|
822
|
+
const after = await alice.rootClient.request({
|
|
823
|
+
url: spaceUrl,
|
|
824
|
+
method: 'GET'
|
|
825
|
+
});
|
|
826
|
+
assert.equal(after.data.name, 'Two');
|
|
827
|
+
// An unconditional PUT still replaces (last writer wins).
|
|
828
|
+
const replaced = await alice.rootClient.request({
|
|
829
|
+
url: spaceUrl,
|
|
830
|
+
method: 'PUT',
|
|
831
|
+
action: 'PUT',
|
|
832
|
+
json: description('Three')
|
|
833
|
+
});
|
|
834
|
+
assert.ok(replaced.status === 204 || replaced.status === 200, `expected a success status, got ${replaced.status}`);
|
|
835
|
+
}
|
|
836
|
+
finally {
|
|
837
|
+
try {
|
|
838
|
+
await alice.rootClient.request({
|
|
839
|
+
url: spaceUrl,
|
|
840
|
+
method: 'DELETE',
|
|
841
|
+
action: 'DELETE'
|
|
842
|
+
});
|
|
843
|
+
}
|
|
844
|
+
catch {
|
|
845
|
+
/* best-effort cleanup */
|
|
846
|
+
}
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
},
|
|
604
850
|
{
|
|
605
851
|
id: 'conditional.post-response-no-store',
|
|
606
852
|
name: '[root] the response to a POST (non-idempotent) is marked ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditional-requests-api.js","sourceRoot":"","sources":["../../src/suites/conditional-requests-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conditional-requests-api.js","sourceRoot":"","sources":["../../src/suites/conditional-requests-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Suite } from '../harness/types.js';
|
|
2
|
+
interface State {
|
|
3
|
+
alice: any;
|
|
4
|
+
aliceDelegatedApp: any;
|
|
5
|
+
bob: any;
|
|
6
|
+
docUrl: string;
|
|
7
|
+
spaceId: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const denialReasonsApi: Suite<State>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=denial-reasons-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"denial-reasons-api.d.ts","sourceRoot":"","sources":["../../src/suites/denial-reasons-api.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAEV,KAAK,EAEN,MAAM,qBAAqB,CAAA;AAE5B,UAAU,KAAK;IACb,KAAK,EAAE,GAAG,CAAA;IACV,iBAAiB,EAAE,GAAG,CAAA;IACtB,GAAG,EAAE,GAAG,CAAA;IACR,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAuFD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAsKzC,CAAA"}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* WAS conformance tests -- typed denial reasons on refused capability
|
|
6
|
+
* invocations.
|
|
7
|
+
*
|
|
8
|
+
* Every authorization denial is a 404 whose body is the merged `not-found`
|
|
9
|
+
* problem, so an unauthorized caller cannot tell an absent target from one it
|
|
10
|
+
* may not see. A server MAY still name two causes to the one caller entitled
|
|
11
|
+
* to know them, by `type` alone: `capability-expired` (the invoked capability,
|
|
12
|
+
* or one in its chain, has expired) and `capability-revoked` (a capability in
|
|
13
|
+
* the chain has a stored revocation). Both are safe to surface because of
|
|
14
|
+
* where a verifier raises them: the request signature, the action and target
|
|
15
|
+
* match, and every delegation proof are checked first, and the controller
|
|
16
|
+
* match before the revocation lookup. So a named cause only ever reaches a
|
|
17
|
+
* caller holding the capability and its invoking key, and tells it something
|
|
18
|
+
* about its own grant.
|
|
19
|
+
*
|
|
20
|
+
* The typed cases are optional: the spec's Error Type Registry does not yet
|
|
21
|
+
* carry the two kinds, and a server that folds them into `not-found` is still
|
|
22
|
+
* conformant. The merge itself (a refusal for any other reason stays
|
|
23
|
+
* `not-found`) is required. The revocation cases go through the client's
|
|
24
|
+
* `space.revoke()`, and skip when the server has no revocation endpoint.
|
|
25
|
+
*/
|
|
26
|
+
import assert from '../harness/assert.js';
|
|
27
|
+
const NOT_FOUND = 'https://wallet.storage/spec#not-found';
|
|
28
|
+
const CAPABILITY_REVOKED = 'https://wallet.storage/spec#capability-revoked';
|
|
29
|
+
const CAPABILITY_EXPIRED = 'https://wallet.storage/spec#capability-expired';
|
|
30
|
+
/**
|
|
31
|
+
* Reads the suite's document under `capability`, signing as `signer`, and
|
|
32
|
+
* returns the response status and problem body of the refusal (or the 200).
|
|
33
|
+
*
|
|
34
|
+
* @param options {object}
|
|
35
|
+
* @param options.ctx {ConformanceContext} the run context
|
|
36
|
+
* @param options.state {State} the suite state (supplies the document URL)
|
|
37
|
+
* @param options.capability {any} the capability to invoke
|
|
38
|
+
* @param options.signer {any} the invoking signer
|
|
39
|
+
* @returns {Promise<{ status?: number; problem?: any }>}
|
|
40
|
+
*/
|
|
41
|
+
async function readDoc({ ctx, state, capability, signer }) {
|
|
42
|
+
try {
|
|
43
|
+
const response = await ctx.zcapClient({ signer }).request({
|
|
44
|
+
url: state.docUrl,
|
|
45
|
+
method: 'GET',
|
|
46
|
+
action: 'GET',
|
|
47
|
+
capability
|
|
48
|
+
});
|
|
49
|
+
return { status: response.status, problem: response.data };
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
return { status: err.response?.status, problem: err.data };
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Delegates GET on the suite's document from Alice to her app and revokes it
|
|
57
|
+
* through the client's `space.revoke()`, skipping the test when the server
|
|
58
|
+
* has no revocation endpoint (the endpoint is not in the spec).
|
|
59
|
+
*
|
|
60
|
+
* @param options {object}
|
|
61
|
+
* @param options.ctx {TestContext} the test context (for `skip`)
|
|
62
|
+
* @param options.state {State} the suite state
|
|
63
|
+
* @returns {Promise<any>} the revoked capability
|
|
64
|
+
*/
|
|
65
|
+
async function delegateAndRevoke({ ctx, state }) {
|
|
66
|
+
const { alice, aliceDelegatedApp, spaceId, docUrl } = state;
|
|
67
|
+
// Rooted at the Space, not the document: a revocation is scoped to the
|
|
68
|
+
// Space the chain roots in, so the document's own root would be refused.
|
|
69
|
+
const spaceUrl = new URL(`/space/${spaceId}`, ctx.serverUrl).toString();
|
|
70
|
+
const capability = await alice.rootClient.delegate({
|
|
71
|
+
capability: `urn:zcap:root:${encodeURIComponent(spaceUrl)}`,
|
|
72
|
+
allowedActions: ['GET'],
|
|
73
|
+
invocationTarget: docUrl,
|
|
74
|
+
controller: aliceDelegatedApp.did
|
|
75
|
+
});
|
|
76
|
+
// The grant works before revocation, so a later refusal is the revocation.
|
|
77
|
+
const before = await readDoc({
|
|
78
|
+
ctx,
|
|
79
|
+
state,
|
|
80
|
+
capability,
|
|
81
|
+
signer: aliceDelegatedApp.signer
|
|
82
|
+
});
|
|
83
|
+
assert.equal(before.status, 200);
|
|
84
|
+
try {
|
|
85
|
+
await alice.was.space(spaceId).revoke(capability);
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
if ([404, 405, 501].includes(err.status)) {
|
|
89
|
+
ctx.skip('zcap revocation endpoint not implemented');
|
|
90
|
+
}
|
|
91
|
+
throw err;
|
|
92
|
+
}
|
|
93
|
+
return capability;
|
|
94
|
+
}
|
|
95
|
+
export const denialReasonsApi = {
|
|
96
|
+
id: 'denial-reasons-api',
|
|
97
|
+
name: 'Typed denial reasons',
|
|
98
|
+
specRefs: ['https://wallet.storage/spec#error-type-registry'],
|
|
99
|
+
setup: async (ctx) => {
|
|
100
|
+
const alice = { ...ctx.actors.alice };
|
|
101
|
+
const aliceDelegatedApp = { ...ctx.actors.aliceDelegatedApp };
|
|
102
|
+
const bob = { ...ctx.actors.bob };
|
|
103
|
+
const spaceId = ctx.generateId();
|
|
104
|
+
const resourceId = ctx.generateId();
|
|
105
|
+
await ctx.createSpace({
|
|
106
|
+
spaceDescription: {
|
|
107
|
+
id: spaceId,
|
|
108
|
+
name: "Alice's Denial Reasons Space",
|
|
109
|
+
controller: alice.did
|
|
110
|
+
},
|
|
111
|
+
rootClient: alice.rootClient
|
|
112
|
+
});
|
|
113
|
+
await alice.rootClient.request({
|
|
114
|
+
url: new URL(`/space/${spaceId}/`, ctx.serverUrl).toString(),
|
|
115
|
+
method: 'POST',
|
|
116
|
+
action: 'POST',
|
|
117
|
+
json: { id: 'credentials', name: 'Verifiable Credentials' }
|
|
118
|
+
});
|
|
119
|
+
const docUrl = new URL(`/space/${spaceId}/credentials/${resourceId}`, ctx.serverUrl).toString();
|
|
120
|
+
await alice.rootClient.request({
|
|
121
|
+
url: docUrl,
|
|
122
|
+
method: 'PUT',
|
|
123
|
+
action: 'PUT',
|
|
124
|
+
json: { id: resourceId, hello: 'world' }
|
|
125
|
+
});
|
|
126
|
+
return { alice, aliceDelegatedApp, bob, docUrl, spaceId };
|
|
127
|
+
},
|
|
128
|
+
teardown: async (ctx, state) => {
|
|
129
|
+
try {
|
|
130
|
+
await state.alice.rootClient.request({
|
|
131
|
+
url: new URL(`/space/${state.spaceId}`, ctx.serverUrl).toString(),
|
|
132
|
+
method: 'DELETE'
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
/* best-effort cleanup */
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
tests: [
|
|
140
|
+
{
|
|
141
|
+
id: 'denial.expired',
|
|
142
|
+
name: '[delegated] an expired capability is refused as capability-expired (404)',
|
|
143
|
+
optional: true,
|
|
144
|
+
specRefs: ['https://wallet.storage/spec#error-type-registry'],
|
|
145
|
+
run: async (ctx, state) => {
|
|
146
|
+
const { alice, aliceDelegatedApp, docUrl } = state;
|
|
147
|
+
// Backdating `now` two hours also backdates the default `expires`
|
|
148
|
+
// (`now` + 5 minutes), so the grant expired well past any verifier's
|
|
149
|
+
// clock-skew grace.
|
|
150
|
+
const capability = await alice.rootClient.delegate({
|
|
151
|
+
allowedActions: ['GET'],
|
|
152
|
+
invocationTarget: docUrl,
|
|
153
|
+
controller: aliceDelegatedApp.did,
|
|
154
|
+
now: Date.now() - 2 * 60 * 60 * 1000
|
|
155
|
+
});
|
|
156
|
+
const { status, problem } = await readDoc({
|
|
157
|
+
ctx,
|
|
158
|
+
state,
|
|
159
|
+
capability,
|
|
160
|
+
signer: aliceDelegatedApp.signer
|
|
161
|
+
});
|
|
162
|
+
assert.equal(status, 404);
|
|
163
|
+
assert.equal(problem.type, CAPABILITY_EXPIRED);
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
id: 'denial.expired-other-holder',
|
|
168
|
+
name: '[delegated] an expired capability invoked by someone other than its controller is the plain not-found',
|
|
169
|
+
optional: true,
|
|
170
|
+
specRefs: ['https://wallet.storage/spec#error-type-registry'],
|
|
171
|
+
run: async (ctx, state) => {
|
|
172
|
+
const { alice, aliceDelegatedApp, bob, docUrl } = state;
|
|
173
|
+
const capability = await alice.rootClient.delegate({
|
|
174
|
+
allowedActions: ['GET'],
|
|
175
|
+
invocationTarget: docUrl,
|
|
176
|
+
controller: aliceDelegatedApp.did,
|
|
177
|
+
now: Date.now() - 2 * 60 * 60 * 1000
|
|
178
|
+
});
|
|
179
|
+
// Bob holds a copy of the app's expired grant but not the app's key:
|
|
180
|
+
// the controller match fails before expiry is judged.
|
|
181
|
+
const { status, problem } = await readDoc({
|
|
182
|
+
ctx,
|
|
183
|
+
state,
|
|
184
|
+
capability,
|
|
185
|
+
signer: bob.signer
|
|
186
|
+
});
|
|
187
|
+
assert.equal(status, 404);
|
|
188
|
+
assert.equal(problem.type, NOT_FOUND);
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
id: 'denial.revoked',
|
|
193
|
+
name: '[delegated] a revoked capability is refused as capability-revoked (404)',
|
|
194
|
+
optional: true,
|
|
195
|
+
specRefs: ['https://wallet.storage/spec#error-type-registry'],
|
|
196
|
+
run: async (ctx, state) => {
|
|
197
|
+
const capability = await delegateAndRevoke({ ctx, state });
|
|
198
|
+
const { status, problem } = await readDoc({
|
|
199
|
+
ctx,
|
|
200
|
+
state,
|
|
201
|
+
capability,
|
|
202
|
+
signer: state.aliceDelegatedApp.signer
|
|
203
|
+
});
|
|
204
|
+
assert.equal(status, 404);
|
|
205
|
+
assert.equal(problem.type, CAPABILITY_REVOKED);
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
id: 'denial.revoked-other-holder',
|
|
210
|
+
name: '[delegated] a revoked capability invoked by someone other than its controller is the plain not-found',
|
|
211
|
+
optional: true,
|
|
212
|
+
specRefs: ['https://wallet.storage/spec#error-type-registry'],
|
|
213
|
+
run: async (ctx, state) => {
|
|
214
|
+
const capability = await delegateAndRevoke({ ctx, state });
|
|
215
|
+
// Bob holds a copy of the revoked grant but not the app's key, so he
|
|
216
|
+
// learns nothing about the revocation.
|
|
217
|
+
const { status, problem } = await readDoc({
|
|
218
|
+
ctx,
|
|
219
|
+
state,
|
|
220
|
+
capability,
|
|
221
|
+
signer: state.bob.signer
|
|
222
|
+
});
|
|
223
|
+
assert.equal(status, 404);
|
|
224
|
+
assert.equal(problem.type, NOT_FOUND);
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
id: 'denial.other-cause-not-found',
|
|
229
|
+
name: '[delegated] a capability refused for any other reason stays the merged not-found (404)',
|
|
230
|
+
specRefs: [
|
|
231
|
+
'https://wallet.storage/spec#error-type-registry',
|
|
232
|
+
'https://wallet.storage/spec#error-handling'
|
|
233
|
+
],
|
|
234
|
+
run: async (ctx, state) => {
|
|
235
|
+
const { alice, aliceDelegatedApp, docUrl } = state;
|
|
236
|
+
// A live grant for HEAD only, invoked as GET: the action check fails,
|
|
237
|
+
// and the answer is the same masked not-found any denial carries.
|
|
238
|
+
const capability = await alice.rootClient.delegate({
|
|
239
|
+
allowedActions: ['HEAD'],
|
|
240
|
+
invocationTarget: docUrl,
|
|
241
|
+
controller: aliceDelegatedApp.did
|
|
242
|
+
});
|
|
243
|
+
const { status, problem } = await readDoc({
|
|
244
|
+
ctx,
|
|
245
|
+
state,
|
|
246
|
+
capability,
|
|
247
|
+
signer: aliceDelegatedApp.signer
|
|
248
|
+
});
|
|
249
|
+
assert.equal(status, 404);
|
|
250
|
+
assert.equal(problem.type, NOT_FOUND);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
]
|
|
254
|
+
};
|
|
255
|
+
//# sourceMappingURL=denial-reasons-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"denial-reasons-api.js","sourceRoot":"","sources":["../../src/suites/denial-reasons-api.ts"],"names":[],"mappings":"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"}
|
package/dist/suites/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ import { clientSpaces } from './client-spaces.js';
|
|
|
14
14
|
import { collectionApi } from './collection-api.js';
|
|
15
15
|
import { conditionalRequestsApi } from './conditional-requests-api.js';
|
|
16
16
|
import { delegationCryptosuitesApi } from './delegation-cryptosuites-api.js';
|
|
17
|
+
import { denialReasonsApi } from './denial-reasons-api.js';
|
|
17
18
|
import { digestApi } from './digest-api.js';
|
|
18
19
|
import { encryptionDescriptorApi } from './encryption-descriptor-api.js';
|
|
19
20
|
import { governedLogApi } from './governed-log-api.js';
|
|
@@ -29,5 +30,5 @@ import { writeValidationApi } from './write-validation-api.js';
|
|
|
29
30
|
* original file-alphabetical execution order of the ported suite).
|
|
30
31
|
*/
|
|
31
32
|
export declare const suites: Array<Suite<any>>;
|
|
32
|
-
export { authzOrderingApi, blindedIndexApi, changesQueryApi, chunksApi, clientBackends, clientDelegation, clientExportImport, clientResources, clientSpaces, collectionApi, conditionalRequestsApi, delegationCryptosuitesApi, digestApi, encryptionDescriptorApi, governedLogApi, invocationTargetApi, plaintextDeclarationApi, policyApi, resourceApi, server, spacesApi, writeValidationApi };
|
|
33
|
+
export { authzOrderingApi, blindedIndexApi, changesQueryApi, chunksApi, clientBackends, clientDelegation, clientExportImport, clientResources, clientSpaces, collectionApi, conditionalRequestsApi, delegationCryptosuitesApi, denialReasonsApi, digestApi, encryptionDescriptorApi, governedLogApi, invocationTargetApi, plaintextDeclarationApi, policyApi, resourceApi, server, spacesApi, writeValidationApi };
|
|
33
34
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/suites/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/suites/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAwBpC,CAAA;AAED,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,SAAS,EACT,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,WAAW,EACX,MAAM,EACN,SAAS,EACT,kBAAkB,EACnB,CAAA"}
|
package/dist/suites/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import { clientSpaces } from './client-spaces.js';
|
|
|
10
10
|
import { collectionApi } from './collection-api.js';
|
|
11
11
|
import { conditionalRequestsApi } from './conditional-requests-api.js';
|
|
12
12
|
import { delegationCryptosuitesApi } from './delegation-cryptosuites-api.js';
|
|
13
|
+
import { denialReasonsApi } from './denial-reasons-api.js';
|
|
13
14
|
import { digestApi } from './digest-api.js';
|
|
14
15
|
import { encryptionDescriptorApi } from './encryption-descriptor-api.js';
|
|
15
16
|
import { governedLogApi } from './governed-log-api.js';
|
|
@@ -37,6 +38,7 @@ export const suites = [
|
|
|
37
38
|
collectionApi,
|
|
38
39
|
conditionalRequestsApi,
|
|
39
40
|
delegationCryptosuitesApi,
|
|
41
|
+
denialReasonsApi,
|
|
40
42
|
digestApi,
|
|
41
43
|
encryptionDescriptorApi,
|
|
42
44
|
governedLogApi,
|
|
@@ -48,5 +50,5 @@ export const suites = [
|
|
|
48
50
|
spacesApi,
|
|
49
51
|
writeValidationApi
|
|
50
52
|
];
|
|
51
|
-
export { authzOrderingApi, blindedIndexApi, changesQueryApi, chunksApi, clientBackends, clientDelegation, clientExportImport, clientResources, clientSpaces, collectionApi, conditionalRequestsApi, delegationCryptosuitesApi, digestApi, encryptionDescriptorApi, governedLogApi, invocationTargetApi, plaintextDeclarationApi, policyApi, resourceApi, server, spacesApi, writeValidationApi };
|
|
53
|
+
export { authzOrderingApi, blindedIndexApi, changesQueryApi, chunksApi, clientBackends, clientDelegation, clientExportImport, clientResources, clientSpaces, collectionApi, conditionalRequestsApi, delegationCryptosuitesApi, denialReasonsApi, digestApi, encryptionDescriptorApi, governedLogApi, invocationTargetApi, plaintextDeclarationApi, policyApi, resourceApi, server, spacesApi, writeValidationApi };
|
|
52
54
|
//# sourceMappingURL=index.js.map
|
package/dist/suites/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/suites/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAsB;IACvC,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,SAAS;IACT,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;IACf,YAAY;IACZ,aAAa;IACb,sBAAsB;IACtB,yBAAyB;IACzB,SAAS;IACT,uBAAuB;IACvB,cAAc;IACd,mBAAmB;IACnB,uBAAuB;IACvB,SAAS;IACT,WAAW;IACX,MAAM;IACN,SAAS;IACT,kBAAkB;CACnB,CAAA;AAED,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,SAAS,EACT,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,WAAW,EACX,MAAM,EACN,SAAS,EACT,kBAAkB,EACnB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/suites/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAsB;IACvC,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,SAAS;IACT,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;IACf,YAAY;IACZ,aAAa;IACb,sBAAsB;IACtB,yBAAyB;IACzB,gBAAgB;IAChB,SAAS;IACT,uBAAuB;IACvB,cAAc;IACd,mBAAmB;IACnB,uBAAuB;IACvB,SAAS;IACT,WAAW;IACX,MAAM;IACN,SAAS;IACT,kBAAkB;CACnB,CAAA;AAED,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,SAAS,EACT,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,WAAW,EACX,MAAM,EACN,SAAS,EACT,kBAAkB,EACnB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@interop/was-conformance-suite",
|
|
3
3
|
"description": "Conformance test suite for Wallet Attached Storage (WAS) servers, runnable as a CLI or in the browser.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.14.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"build": "pnpm run clear && tsc",
|
|
@@ -45,10 +45,10 @@
|
|
|
45
45
|
"@interop/data-integrity-core": "^8.7.1",
|
|
46
46
|
"@interop/ed25519-signature": "^7.2.1",
|
|
47
47
|
"@interop/ed25519-verification-key": "^8.1.0",
|
|
48
|
-
"@interop/ezcap": "^7.4.
|
|
48
|
+
"@interop/ezcap": "^7.4.7",
|
|
49
49
|
"@interop/http-digest-header": "^3.1.0",
|
|
50
50
|
"@interop/http-signature-zcap-invoke": "^6.2.6",
|
|
51
|
-
"@interop/x25519-key-agreement-key": "^5.
|
|
51
|
+
"@interop/x25519-key-agreement-key": "^5.4.0",
|
|
52
52
|
"assert": "^2.1.0",
|
|
53
53
|
"uuid": "^14.0.0"
|
|
54
54
|
},
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@eslint/js": "^10.0.1",
|
|
60
|
-
"@interop/was-client": "^0.
|
|
60
|
+
"@interop/was-client": "^0.57.2",
|
|
61
61
|
"@playwright/test": "^1.60.0",
|
|
62
62
|
"@types/node": "^26.0.1",
|
|
63
63
|
"@vitest/coverage-v8": "^4.1.7",
|