@graffiti-garden/implementation-decentralized 0.1.0 → 0.1.2

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.
Files changed (44) hide show
  1. package/dist/1-services/2-dids.d.ts +1 -0
  2. package/dist/1-services/2-dids.d.ts.map +1 -1
  3. package/dist/1-services/3-storage-buckets.d.ts +5 -0
  4. package/dist/1-services/3-storage-buckets.d.ts.map +1 -1
  5. package/dist/1-services/4-inboxes.d.ts +2 -1
  6. package/dist/1-services/4-inboxes.d.ts.map +1 -1
  7. package/dist/browser/index.js +7 -7
  8. package/dist/browser/index.js.map +3 -3
  9. package/dist/cjs/1-services/2-dids-tests.js +53 -0
  10. package/dist/cjs/1-services/2-dids-tests.js.map +3 -3
  11. package/dist/cjs/1-services/2-dids.js +14 -4
  12. package/dist/cjs/1-services/2-dids.js.map +2 -2
  13. package/dist/cjs/1-services/3-storage-buckets-tests.js +179 -0
  14. package/dist/cjs/1-services/3-storage-buckets-tests.js.map +3 -3
  15. package/dist/cjs/1-services/3-storage-buckets.js +91 -0
  16. package/dist/cjs/1-services/3-storage-buckets.js.map +3 -3
  17. package/dist/cjs/1-services/4-inboxes-tests.js +20 -0
  18. package/dist/cjs/1-services/4-inboxes-tests.js.map +3 -3
  19. package/dist/cjs/1-services/4-inboxes.js +36 -17
  20. package/dist/cjs/1-services/4-inboxes.js.map +2 -2
  21. package/dist/cjs/3-protocol/4-graffiti.js +1 -1
  22. package/dist/cjs/3-protocol/4-graffiti.js.map +1 -1
  23. package/dist/esm/1-services/2-dids-tests.js +54 -1
  24. package/dist/esm/1-services/2-dids-tests.js.map +3 -3
  25. package/dist/esm/1-services/2-dids.js +14 -4
  26. package/dist/esm/1-services/2-dids.js.map +2 -2
  27. package/dist/esm/1-services/3-storage-buckets-tests.js +180 -1
  28. package/dist/esm/1-services/3-storage-buckets-tests.js.map +2 -2
  29. package/dist/esm/1-services/3-storage-buckets.js +92 -1
  30. package/dist/esm/1-services/3-storage-buckets.js.map +2 -2
  31. package/dist/esm/1-services/4-inboxes-tests.js +20 -0
  32. package/dist/esm/1-services/4-inboxes-tests.js.map +2 -2
  33. package/dist/esm/1-services/4-inboxes.js +36 -17
  34. package/dist/esm/1-services/4-inboxes.js.map +2 -2
  35. package/dist/esm/3-protocol/4-graffiti.js +1 -1
  36. package/dist/esm/3-protocol/4-graffiti.js.map +1 -1
  37. package/package.json +1 -1
  38. package/src/1-services/2-dids-tests.ts +62 -1
  39. package/src/1-services/2-dids.ts +17 -5
  40. package/src/1-services/3-storage-buckets-tests.ts +199 -1
  41. package/src/1-services/3-storage-buckets.ts +129 -1
  42. package/src/1-services/4-inboxes-tests.ts +25 -0
  43. package/src/1-services/4-inboxes.ts +47 -19
  44. package/src/3-protocol/4-graffiti.ts +1 -1
@@ -2,6 +2,7 @@ import { Resolver, type DIDDocument } from "did-resolver";
2
2
  export declare class DecentralizedIdentifiers {
3
3
  protected readonly methods: Record<string, unknown>;
4
4
  protected readonly resolver: Resolver;
5
+ protected readonly inFlight: Map<string, Promise<DIDDocument>>;
5
6
  resolve(did: string): Promise<DIDDocument>;
6
7
  }
7
8
  //# sourceMappingURL=2-dids.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"2-dids.d.ts","sourceRoot":"","sources":["../../src/1-services/2-dids.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAyB,MAAM,cAAc,CAAC;AAIjF,qBAAa,wBAAwB;IACnC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGjD;IAEF,SAAS,CAAC,QAAQ,CAAC,QAAQ,WAGzB;IAEI,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAe/C;CACF"}
1
+ {"version":3,"file":"2-dids.d.ts","sourceRoot":"","sources":["../../src/1-services/2-dids.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAyB,MAAM,cAAc,CAAC;AAIjF,qBAAa,wBAAwB;IACnC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGjD;IAEF,SAAS,CAAC,QAAQ,CAAC,QAAQ,WAGzB;IAEF,SAAS,CAAC,QAAQ,CAAC,QAAQ,oCAA2C;IAEhE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAyB/C;CACF"}
@@ -1,9 +1,14 @@
1
1
  import { getAuthorizationEndpoint } from "./utilities";
2
2
  export declare class StorageBuckets {
3
3
  getAuthorizationEndpoint: typeof getAuthorizationEndpoint;
4
+ private readonly queues;
5
+ private readonly unsupportedBatchEndpoints;
4
6
  put(storageBucketEndpoint: string, key: string, value: Uint8Array, authorizationToken: string): Promise<void>;
5
7
  delete(storageBucketEndpoint: string, key: string, authorizationToken: string): Promise<void>;
6
8
  get(storageBucketEndpoint: string, key: string, maxBytes?: number): Promise<Uint8Array>;
9
+ private flush;
10
+ private getBatch;
11
+ private getOne;
7
12
  export(storageBucketEndpoint: string, authorizationToken: string): AsyncGenerator<{
8
13
  key: string;
9
14
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"3-storage-buckets.d.ts","sourceRoot":"","sources":["../../src/1-services/3-storage-buckets.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EAEzB,MAAM,aAAa,CAAC;AAIrB,qBAAa,cAAc;IACzB,wBAAwB,kCAA4B;IAE9C,GAAG,CACP,qBAAqB,EAAE,MAAM,EAC7B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,UAAU,EACjB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC,CAYf;IAEK,MAAM,CACV,qBAAqB,EAAE,MAAM,EAC7B,GAAG,EAAE,MAAM,EACX,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC,CAUf;IAEK,GAAG,CACP,qBAAqB,EAAE,MAAM,EAC7B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,CAAC,CA4FrB;IAEM,MAAM,CACX,qBAAqB,EAAE,MAAM,EAC7B,kBAAkB,EAAE,MAAM,GACzB,cAAc,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CA6BjC;CACF"}
1
+ {"version":3,"file":"3-storage-buckets.d.ts","sourceRoot":"","sources":["../../src/1-services/3-storage-buckets.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EAEzB,MAAM,aAAa,CAAC;AAyBrB,qBAAa,cAAc;IACzB,wBAAwB,kCAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8C;IACrE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAqB;IAEzD,GAAG,CACP,qBAAqB,EAAE,MAAM,EAC7B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,UAAU,EACjB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC,CAYf;IAEK,MAAM,CACV,qBAAqB,EAAE,MAAM,EAC7B,GAAG,EAAE,MAAM,EACX,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC,CAUf;IAEK,GAAG,CACP,qBAAqB,EAAE,MAAM,EAC7B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,CAAC,CAgCrB;IAED,OAAO,CAAC,KAAK;YAeC,QAAQ;YAqDR,MAAM;IAiGb,MAAM,CACX,qBAAqB,EAAE,MAAM,EAC7B,kBAAkB,EAAE,MAAM,GACzB,cAAc,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CA6BjC;CACF"}
@@ -8,7 +8,7 @@ export declare class Inboxes {
8
8
  send(inboxUrl: string, message: Message<{}>): Promise<string>;
9
9
  get(inboxUrl: string, messageId: string, inboxToken?: string | null): Promise<LabeledMessageBase | null>;
10
10
  label(inboxUrl: string, messageId: string, label: number, inboxToken?: string | null): Promise<void>;
11
- protected fetchMessageBatch(inboxUrl: string, type: "query" | "export", body: Uint8Array<ArrayBuffer> | undefined, inboxToken?: string | null, cursor?: string): Promise<{
11
+ protected fetchMessageBatch(inboxUrl: string, type: "query" | "export", body: Uint8Array<ArrayBuffer> | undefined, inboxToken?: string | null, cursor?: string, signal?: AbortSignal): Promise<{
12
12
  response: Response;
13
13
  waitTil: number | undefined;
14
14
  }>;
@@ -75,6 +75,7 @@ type Cache = {
75
75
  messages: {
76
76
  get(k: string): Promise<LabeledMessageBase | null | undefined>;
77
77
  set(k: string, value: LabeledMessageBase | null): Promise<void>;
78
+ setMany(entries: [string, LabeledMessageBase][]): Promise<void>;
78
79
  del(k: string): Promise<void>;
79
80
  };
80
81
  messageIds: {
@@ -1 +1 @@
1
- {"version":3,"file":"4-inboxes.d.ts","sourceRoot":"","sources":["../../src/1-services/4-inboxes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"4-inboxes.d.ts","sourceRoot":"","sources":["../../src/1-services/4-inboxes.ts"],"names":[],"mappings":"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"}