@enbox/api 0.3.1 → 0.4.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 +63 -0
- package/dist/browser.mjs +11 -28
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/advanced.js +1 -1
- package/dist/esm/define-protocol.js +3 -3
- package/dist/esm/did-api.js +1 -1
- package/dist/esm/did-api.js.map +1 -1
- package/dist/esm/dwn-api.js +6 -6
- package/dist/esm/dwn-api.js.map +1 -1
- package/dist/esm/dwn-reader-api.js +2 -2
- package/dist/esm/enbox.js +205 -0
- package/dist/esm/enbox.js.map +1 -0
- package/dist/esm/index.js +16 -15
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/protocol.js +2 -2
- package/dist/esm/protocol.js.map +1 -1
- package/dist/esm/record-data.js +79 -5
- package/dist/esm/record-data.js.map +1 -1
- package/dist/esm/record.js +49 -10
- package/dist/esm/record.js.map +1 -1
- package/dist/esm/repository.js +7 -7
- package/dist/esm/repository.js.map +1 -1
- package/dist/esm/typed-enbox.js +583 -0
- package/dist/esm/typed-enbox.js.map +1 -0
- package/dist/esm/typed-live-query.js +1 -1
- package/dist/esm/typed-record.js +370 -46
- package/dist/esm/typed-record.js.map +1 -1
- package/dist/esm/utils.js +25 -0
- package/dist/esm/utils.js.map +1 -1
- package/dist/esm/vc-api.js.map +1 -1
- package/dist/types/advanced.d.ts +1 -1
- package/dist/types/define-protocol.d.ts +3 -3
- package/dist/types/did-api.d.ts +4 -4
- package/dist/types/did-api.d.ts.map +1 -1
- package/dist/types/dwn-api.d.ts +12 -7
- package/dist/types/dwn-api.d.ts.map +1 -1
- package/dist/types/dwn-reader-api.d.ts +2 -2
- package/dist/types/enbox.d.ts +202 -0
- package/dist/types/enbox.d.ts.map +1 -0
- package/dist/types/grant-revocation.d.ts +2 -2
- package/dist/types/grant-revocation.d.ts.map +1 -1
- package/dist/types/index.d.ts +16 -15
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/live-query.d.ts +2 -2
- package/dist/types/live-query.d.ts.map +1 -1
- package/dist/types/permission-grant.d.ts +2 -2
- package/dist/types/permission-grant.d.ts.map +1 -1
- package/dist/types/permission-request.d.ts +2 -2
- package/dist/types/permission-request.d.ts.map +1 -1
- package/dist/types/protocol-types.d.ts +2 -2
- package/dist/types/protocol.d.ts +7 -7
- package/dist/types/protocol.d.ts.map +1 -1
- package/dist/types/record-data.d.ts +17 -0
- package/dist/types/record-data.d.ts.map +1 -1
- package/dist/types/record.d.ts +24 -10
- package/dist/types/record.d.ts.map +1 -1
- package/dist/types/repository-types.d.ts +19 -11
- package/dist/types/repository-types.d.ts.map +1 -1
- package/dist/types/repository.d.ts +7 -7
- package/dist/types/repository.d.ts.map +1 -1
- package/dist/types/typed-enbox.d.ts +613 -0
- package/dist/types/typed-enbox.d.ts.map +1 -0
- package/dist/types/typed-live-query.d.ts +1 -1
- package/dist/types/typed-record.d.ts +427 -53
- package/dist/types/typed-record.d.ts.map +1 -1
- package/dist/types/utils.d.ts +23 -0
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/types/vc-api.d.ts +3 -3
- package/dist/types/vc-api.d.ts.map +1 -1
- package/package.json +12 -11
- package/src/advanced.ts +1 -1
- package/src/define-protocol.ts +3 -3
- package/src/did-api.ts +5 -5
- package/src/dwn-api.ts +22 -17
- package/src/dwn-reader-api.ts +2 -2
- package/src/enbox.ts +281 -0
- package/src/grant-revocation.ts +3 -3
- package/src/index.ts +17 -16
- package/src/live-query.ts +2 -2
- package/src/permission-grant.ts +4 -4
- package/src/permission-request.ts +3 -3
- package/src/protocol-types.ts +2 -2
- package/src/protocol.ts +8 -8
- package/src/record-data.ts +86 -5
- package/src/record.ts +54 -13
- package/src/repository-types.ts +19 -7
- package/src/repository.ts +15 -15
- package/src/typed-enbox.ts +1169 -0
- package/src/typed-live-query.ts +1 -1
- package/src/typed-record.ts +431 -53
- package/src/utils.ts +27 -0
- package/src/vc-api.ts +4 -4
- package/dist/esm/typed-web5.js +0 -339
- package/dist/esm/typed-web5.js.map +0 -1
- package/dist/esm/web5.js +0 -410
- package/dist/esm/web5.js.map +0 -1
- package/dist/types/typed-web5.d.ts +0 -221
- package/dist/types/typed-web5.d.ts.map +0 -1
- package/dist/types/web5.d.ts +0 -346
- package/dist/types/web5.d.ts.map +0 -1
- package/src/typed-web5.ts +0 -598
- package/src/web5.ts +0 -754
package/dist/esm/advanced.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Advanced API surface for power users who need direct access to
|
|
3
3
|
* the underlying {@link DwnApi}.
|
|
4
4
|
*
|
|
5
|
-
* Most applications should use `
|
|
5
|
+
* Most applications should use `enbox.using(protocol)` instead.
|
|
6
6
|
* Import from `@enbox/api/advanced` to access these exports.
|
|
7
7
|
*
|
|
8
8
|
* @packageDocumentation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Factory function for creating typed protocol definitions.
|
|
3
3
|
*
|
|
4
4
|
* `defineProtocol()` wraps a standard {@link ProtocolDefinition} with
|
|
5
|
-
* compile-time type metadata so that {@link
|
|
5
|
+
* compile-time type metadata so that {@link TypedEnbox} can provide
|
|
6
6
|
* path autocompletion, data-shape inference, and tag type safety.
|
|
7
7
|
*/
|
|
8
8
|
/**
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*
|
|
13
13
|
* The `definition` argument is returned as-is (no cloning). The schema map
|
|
14
14
|
* is a phantom type parameter — it exists only at compile time to thread
|
|
15
|
-
* type information through to `
|
|
15
|
+
* type information through to `TypedEnbox`.
|
|
16
16
|
*
|
|
17
17
|
* @param definition - A standard `ProtocolDefinition` object.
|
|
18
18
|
* @param _schemaMap - A phantom value (e.g. `{} as MySchemaMap`) that carries
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* });
|
|
28
28
|
*
|
|
29
29
|
* // socialGraph.definition is the raw ProtocolDefinition
|
|
30
|
-
* //
|
|
30
|
+
* // TypedEnbox infers paths like 'friend' | 'friend/message' and
|
|
31
31
|
* // data types from the schema map.
|
|
32
32
|
* ```
|
|
33
33
|
*/
|
package/dist/esm/did-api.js
CHANGED
|
@@ -33,7 +33,7 @@ export class DidApi {
|
|
|
33
33
|
* Initiates the creation of a Decentralized Identifier (DID) using the specified method, options,
|
|
34
34
|
* and storage preference.
|
|
35
35
|
*
|
|
36
|
-
* This method sends a request to the
|
|
36
|
+
* This method sends a request to the Enbox Agent to create a new DID based on the provided method,
|
|
37
37
|
* with method-specific options. It also specifies whether the newly created DID should be stored.
|
|
38
38
|
*
|
|
39
39
|
* @param request - The request parameters for creating a DID, including the method, options, and
|
package/dist/esm/did-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did-api.js","sourceRoot":"","sources":["../../src/did-api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA8B5C;;;;GAIG;AACH,MAAM,OAAO,MAAM;IAUjB,YAAY,
|
|
1
|
+
{"version":3,"file":"did-api.js","sourceRoot":"","sources":["../../src/did-api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA8B5C;;;;GAIG;AACH,MAAM,OAAO,MAAM;IAUjB,YAAY,OAAoD;QAC9D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;;OAWG;IACU,MAAM,CAAC,OAAyB;;YAC3C,MAAM,KAAwB,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAC/D,WAAW,EAAK,YAAY,CAAC,MAAM;gBACnC,aAAa,oBAAQ,OAAO,CAAE;aAC/B,CAAC,EAHI,EAAE,MAAM,OAGZ,EAHiB,MAAM,cAAnB,UAAqB,CAGzB,CAAC;YAEH,uBAAS,GAAG,EAAE,MAAM,IAAK,MAAM,EAAG;QACpC,CAAC;KAAA;IAED;;;;;OAKG;IACU,OAAO,CAClB,MAAkC,EAAE,OAAqC;;YAEzE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBACzE,aAAa,EAAG,EAAE,MAAM,EAAE,OAAO,EAAE;gBACnC,WAAW,EAAK,YAAY,CAAC,OAAO;aACrC,CAAC,CAAC;YAEH,OAAO,mBAAmB,CAAC;QAC7B,CAAC;KAAA;CACF"}
|
package/dist/esm/dwn-api.js
CHANGED
|
@@ -220,7 +220,7 @@ export class DwnApi {
|
|
|
220
220
|
const { from, protocol } = request, messageParams = __rest(request, ["from", "protocol"]);
|
|
221
221
|
const agentRequest = {
|
|
222
222
|
/**
|
|
223
|
-
* The `author` is the DID that will sign the message and must be the DID the
|
|
223
|
+
* The `author` is the DID that will sign the message and must be the DID the Enbox app is
|
|
224
224
|
* connected with and is authorized to access the signing private key of.
|
|
225
225
|
*/
|
|
226
226
|
author: this.connectedDid,
|
|
@@ -263,7 +263,7 @@ export class DwnApi {
|
|
|
263
263
|
const { from, encryption } = request, messageParams = __rest(request, ["from", "encryption"]);
|
|
264
264
|
const agentRequest = {
|
|
265
265
|
/**
|
|
266
|
-
* The `author` is the DID that will sign the message and must be the DID the
|
|
266
|
+
* The `author` is the DID that will sign the message and must be the DID the Enbox app is
|
|
267
267
|
* connected with and is authorized to access the signing private key of.
|
|
268
268
|
*/
|
|
269
269
|
author: this.connectedDid,
|
|
@@ -281,7 +281,7 @@ export class DwnApi {
|
|
|
281
281
|
// if we don't find a delegated grant, we will attempt to query signing as the delegated DID
|
|
282
282
|
// This is to allow the API caller to query public records without needing to impersonate the delegate.
|
|
283
283
|
//
|
|
284
|
-
// NOTE: For anonymous/public queries without explicit permissions, callers can use `DwnReaderApi` via `
|
|
284
|
+
// NOTE: For anonymous/public queries without explicit permissions, callers can use `DwnReaderApi` via `Enbox.anonymous()`.
|
|
285
285
|
// See: https://github.com/enboxorg/enbox/issues/898
|
|
286
286
|
try {
|
|
287
287
|
const { message: delegatedGrant } = yield this.permissionsApi.getPermissionForRequest({
|
|
@@ -341,7 +341,7 @@ export class DwnApi {
|
|
|
341
341
|
const { from, protocol, encryption } = request, messageParams = __rest(request, ["from", "protocol", "encryption"]);
|
|
342
342
|
const agentRequest = {
|
|
343
343
|
/**
|
|
344
|
-
* The `author` is the DID that will sign the message and must be the DID the
|
|
344
|
+
* The `author` is the DID that will sign the message and must be the DID the Enbox app is
|
|
345
345
|
* connected with and is authorized to access the signing private key of.
|
|
346
346
|
*/
|
|
347
347
|
author: this.connectedDid,
|
|
@@ -359,7 +359,7 @@ export class DwnApi {
|
|
|
359
359
|
// if we don't find a delegated grant, we will attempt to read signing as the delegated DID
|
|
360
360
|
// This is to allow the API caller to read public records without needing to impersonate the delegate.
|
|
361
361
|
//
|
|
362
|
-
// NOTE: For anonymous/public reads without explicit permissions, callers can use `DwnReaderApi` via `
|
|
362
|
+
// NOTE: For anonymous/public reads without explicit permissions, callers can use `DwnReaderApi` via `Enbox.anonymous()`.
|
|
363
363
|
// See: https://github.com/enboxorg/enbox/issues/898
|
|
364
364
|
try {
|
|
365
365
|
const { message: delegatedGrant } = yield this.permissionsApi.getPermissionForRequest({
|
|
@@ -458,7 +458,7 @@ export class DwnApi {
|
|
|
458
458
|
// if we don't find a delegated grant, we will attempt to subscribe signing as the delegated DID
|
|
459
459
|
// This is to allow the API caller to subscribe to public records without needing to impersonate the delegate.
|
|
460
460
|
//
|
|
461
|
-
// NOTE: For anonymous/public subscriptions without explicit permissions, callers can use `DwnReaderApi` via `
|
|
461
|
+
// NOTE: For anonymous/public subscriptions without explicit permissions, callers can use `DwnReaderApi` via `Enbox.anonymous()`.
|
|
462
462
|
// See: https://github.com/enboxorg/enbox/issues/898
|
|
463
463
|
try {
|
|
464
464
|
const { message: delegatedGrant } = yield this.permissionsApi.getPermissionForRequest({
|
package/dist/esm/dwn-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dwn-api.js","sourceRoot":"","sources":["../../src/dwn-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dwn-api.js","sourceRoot":"","sources":["../../src/dwn-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,11 +24,11 @@ import { ReadOnlyRecord } from './read-only-record.js';
|
|
|
24
24
|
* on every call (remote-only). All messages are unsigned, so only published
|
|
25
25
|
* records and protocols are accessible.
|
|
26
26
|
*
|
|
27
|
-
* Obtain an instance via {@link
|
|
27
|
+
* Obtain an instance via {@link Enbox.anonymous | `Enbox.anonymous()`}.
|
|
28
28
|
*
|
|
29
29
|
* @example
|
|
30
30
|
* ```ts
|
|
31
|
-
* const { dwn } =
|
|
31
|
+
* const { dwn } = Enbox.anonymous();
|
|
32
32
|
*
|
|
33
33
|
* const { records } = await dwn.records.query({
|
|
34
34
|
* from: 'did:dht:alice...',
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NOTE: Added reference types here to avoid a `pnpm` bug during build.
|
|
3
|
+
* https://github.com/enboxorg/enbox/pull/507
|
|
4
|
+
*/
|
|
5
|
+
/// <reference types="@enbox/dwn-sdk-js" />
|
|
6
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
7
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
8
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
9
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
10
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
11
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
12
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
import { AnonymousDwnApi } from '@enbox/agent';
|
|
16
|
+
import { EnboxRpcClient } from '@enbox/dwn-clients';
|
|
17
|
+
import { DidDht, DidJwk, DidKey, DidResolverCacheMemory, DidWeb, UniversalResolver } from '@enbox/dids';
|
|
18
|
+
import { DidApi } from './did-api.js';
|
|
19
|
+
import { DwnApi } from './dwn-api.js';
|
|
20
|
+
import { DwnReaderApi } from './dwn-reader-api.js';
|
|
21
|
+
import { TypedEnbox } from './typed-enbox.js';
|
|
22
|
+
import { VcApi } from './vc-api.js';
|
|
23
|
+
/**
|
|
24
|
+
* The main Enbox API interface. It provides protocol-scoped access to
|
|
25
|
+
* Decentralized Web Nodes (DWNs), Decentralized Identifiers (DIDs),
|
|
26
|
+
* and Verifiable Credentials (VCs).
|
|
27
|
+
*
|
|
28
|
+
* Authentication and identity management are handled externally by
|
|
29
|
+
* `@enbox/auth`. Use {@link Enbox.connect} to create an instance from
|
|
30
|
+
* an {@link AuthSession} or raw parameters.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* import { AuthManager } from '@enbox/auth';
|
|
35
|
+
* import { Enbox } from '@enbox/api';
|
|
36
|
+
*
|
|
37
|
+
* const auth = await AuthManager.create({ sync: '15s' });
|
|
38
|
+
* const session = await auth.connect();
|
|
39
|
+
*
|
|
40
|
+
* const enbox = Enbox.connect({ session });
|
|
41
|
+
* const social = enbox.using(SocialProtocol);
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export class Enbox {
|
|
45
|
+
constructor({ agent, connectedDid, delegateDid }) {
|
|
46
|
+
/**
|
|
47
|
+
* Cache of {@link TypedEnbox} instances keyed by protocol URI.
|
|
48
|
+
*
|
|
49
|
+
* Ensures that `enbox.using(Protocol)` returns the **same** `TypedEnbox`
|
|
50
|
+
* instance for a given protocol across multiple call sites, avoiding
|
|
51
|
+
* redundant protocol installations and duplicated internal state.
|
|
52
|
+
*/
|
|
53
|
+
this._typedInstances = new Map();
|
|
54
|
+
this.agent = agent;
|
|
55
|
+
this.did = new DidApi({ agent, connectedDid });
|
|
56
|
+
this._dwn = new DwnApi({ agent, connectedDid, delegateDid });
|
|
57
|
+
this.vc = new VcApi({ agent, connectedDid });
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Returns a {@link TypedEnbox} instance scoped to the given protocol.
|
|
61
|
+
*
|
|
62
|
+
* This is the **primary developer interface** for interacting with
|
|
63
|
+
* protocol-backed records. It auto-injects the protocol URI, protocolPath,
|
|
64
|
+
* and schema into every operation, and provides compile-time path
|
|
65
|
+
* autocompletion plus typed data payloads via the schema map.
|
|
66
|
+
*
|
|
67
|
+
* Instances are **cached by protocol URI** — calling `using()` multiple
|
|
68
|
+
* times with the same protocol returns the same `TypedEnbox` instance,
|
|
69
|
+
* so auto-configure only runs once and all call sites share state.
|
|
70
|
+
*
|
|
71
|
+
* @param protocol - A typed protocol created via `defineProtocol()`.
|
|
72
|
+
* @returns A `TypedEnbox` instance bound to the given protocol.
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```ts
|
|
76
|
+
* const social = enbox.using(SocialProtocol);
|
|
77
|
+
*
|
|
78
|
+
* await social.configure();
|
|
79
|
+
*
|
|
80
|
+
* const { record } = await social.records.write('friend', {
|
|
81
|
+
* data: { did: 'did:example:alice', alias: 'Alice' },
|
|
82
|
+
* });
|
|
83
|
+
*
|
|
84
|
+
* const { records } = await social.records.query('friend');
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
using(protocol) {
|
|
88
|
+
const uri = protocol.definition.protocol;
|
|
89
|
+
const cached = this._typedInstances.get(uri);
|
|
90
|
+
if (cached) {
|
|
91
|
+
// The map stores a type-erased instance; restore the caller's generics.
|
|
92
|
+
return cached;
|
|
93
|
+
}
|
|
94
|
+
const instance = new TypedEnbox(this._dwn, protocol);
|
|
95
|
+
// Store with erased generics so the map value type stays uniform.
|
|
96
|
+
this._typedInstances.set(uri, instance);
|
|
97
|
+
return instance;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Stops DWN sync and clears the cached {@link TypedEnbox} instances.
|
|
101
|
+
*
|
|
102
|
+
* Call this when the application is shutting down or the user is
|
|
103
|
+
* disconnecting to cleanly release background resources. After calling
|
|
104
|
+
* `disconnect()`, the `Enbox` instance should not be reused.
|
|
105
|
+
*
|
|
106
|
+
* @param timeout - Maximum milliseconds to wait for an in-progress sync
|
|
107
|
+
* cycle to finish before force-stopping. Defaults to `2000`.
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```ts
|
|
111
|
+
* await enbox.disconnect();
|
|
112
|
+
* ```
|
|
113
|
+
*
|
|
114
|
+
* @beta
|
|
115
|
+
*/
|
|
116
|
+
disconnect(timeout) {
|
|
117
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
118
|
+
var _a;
|
|
119
|
+
// Stop any active sync.
|
|
120
|
+
if ('sync' in this.agent && typeof ((_a = this.agent.sync) === null || _a === void 0 ? void 0 : _a.stopSync) === 'function') {
|
|
121
|
+
yield this.agent.sync.stopSync(timeout);
|
|
122
|
+
}
|
|
123
|
+
// Clear cached TypedEnbox instances so they are not accidentally reused.
|
|
124
|
+
this._typedInstances.clear();
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Creates a lightweight, read-only Enbox instance for querying public DWN data.
|
|
129
|
+
*
|
|
130
|
+
* No identity, vault, password, or signing keys are required. The returned
|
|
131
|
+
* API supports querying and reading published records and protocols from any
|
|
132
|
+
* remote DWN, using **unsigned** (anonymous) DWN messages.
|
|
133
|
+
*
|
|
134
|
+
* @param options - Optional configuration overrides.
|
|
135
|
+
* @returns An {@link EnboxAnonymousApi} with a read-only `dwn` property.
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* ```ts
|
|
139
|
+
* const { dwn } = Enbox.anonymous();
|
|
140
|
+
*
|
|
141
|
+
* const { records } = await dwn.records.query({
|
|
142
|
+
* from: 'did:dht:alice...',
|
|
143
|
+
* filter: { protocol: 'https://social.example/posts', protocolPath: 'post' },
|
|
144
|
+
* });
|
|
145
|
+
*
|
|
146
|
+
* for (const record of records) {
|
|
147
|
+
* console.log(record.id, await record.data.text());
|
|
148
|
+
* }
|
|
149
|
+
* ```
|
|
150
|
+
*
|
|
151
|
+
* @beta
|
|
152
|
+
*/
|
|
153
|
+
static anonymous(options) {
|
|
154
|
+
var _a;
|
|
155
|
+
const didResolver = new UniversalResolver({
|
|
156
|
+
didResolvers: (_a = options === null || options === void 0 ? void 0 : options.didResolvers) !== null && _a !== void 0 ? _a : [DidDht, DidJwk, DidKey, DidWeb],
|
|
157
|
+
cache: new DidResolverCacheMemory(),
|
|
158
|
+
});
|
|
159
|
+
const rpcClient = new EnboxRpcClient();
|
|
160
|
+
const anonymousDwn = new AnonymousDwnApi({ didResolver, rpcClient });
|
|
161
|
+
return {
|
|
162
|
+
dwn: new DwnReaderApi(anonymousDwn),
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Creates an {@link Enbox} instance from an {@link AuthSession} or raw parameters.
|
|
167
|
+
*
|
|
168
|
+
* This is a thin factory — all authentication, identity management, vault
|
|
169
|
+
* initialization, DWN registration, and sync setup are handled externally
|
|
170
|
+
* by `@enbox/auth` via {@link AuthSession}.
|
|
171
|
+
*
|
|
172
|
+
* @param params - Either `{ session }` with an {@link AuthSession} from
|
|
173
|
+
* `@enbox/auth`, or raw `{ agent, connectedDid, delegateDid? }` parameters.
|
|
174
|
+
* @returns A new {@link Enbox} instance ready for use.
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```ts
|
|
178
|
+
* // Using an AuthSession from @enbox/auth
|
|
179
|
+
* import { AuthManager } from '@enbox/auth';
|
|
180
|
+
* const auth = await AuthManager.create({ sync: '15s' });
|
|
181
|
+
* const session = await auth.connect();
|
|
182
|
+
* const enbox = Enbox.connect({ session });
|
|
183
|
+
*
|
|
184
|
+
* // Using raw parameters
|
|
185
|
+
* const enbox = Enbox.connect({ agent, connectedDid: did });
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
static connect(params) {
|
|
189
|
+
if ('session' in params) {
|
|
190
|
+
const { session } = params;
|
|
191
|
+
return new Enbox({
|
|
192
|
+
agent: session.agent,
|
|
193
|
+
connectedDid: session.did,
|
|
194
|
+
delegateDid: session.delegateDid,
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
return new Enbox(params);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
// ---------------------------------------------------------------------------
|
|
201
|
+
// Deprecated aliases — migration aid
|
|
202
|
+
// ---------------------------------------------------------------------------
|
|
203
|
+
/** @deprecated Use {@link Enbox} instead. Will be removed in a future version. */
|
|
204
|
+
export const Web5 = Enbox;
|
|
205
|
+
//# sourceMappingURL=enbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enbox.js","sourceRoot":"","sources":["../../src/enbox.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Enbox SDK — high-level API for Decentralized Web Nodes, DIDs, and VCs.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* - Verifiable Credentials
|
|
7
|
-
* - DWeb Node personal datastores
|
|
4
|
+
* The SDK provides protocol-scoped access to DWN records with compile-time
|
|
5
|
+
* type safety, DID management, and Verifiable Credential operations.
|
|
8
6
|
*
|
|
9
|
-
*
|
|
10
|
-
* these pillar technologies to provide a simple library that is as close to
|
|
11
|
-
* effortless as possible.
|
|
7
|
+
* Authentication and identity management are handled by `@enbox/auth`.
|
|
12
8
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { AuthManager } from '@enbox/auth';
|
|
12
|
+
* import { Enbox } from '@enbox/api';
|
|
13
|
+
*
|
|
14
|
+
* const auth = await AuthManager.create({ sync: '15s' });
|
|
15
|
+
* const session = await auth.connect();
|
|
16
|
+
* const enbox = Enbox.connect({ session });
|
|
17
|
+
* ```
|
|
18
18
|
*
|
|
19
19
|
* [Link to GitHub Repo](https://github.com/enboxorg/enbox)
|
|
20
20
|
*
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
export * from './define-protocol.js';
|
|
24
24
|
export * from './did-api.js';
|
|
25
25
|
export * from './dwn-reader-api.js';
|
|
26
|
+
export * from './enbox.js';
|
|
26
27
|
export * from './grant-revocation.js';
|
|
27
28
|
export * from './live-query.js';
|
|
28
29
|
export * from './permission-grant.js';
|
|
@@ -35,11 +36,11 @@ export * from './record-data.js';
|
|
|
35
36
|
export * from './record-types.js';
|
|
36
37
|
export * from './repository.js';
|
|
37
38
|
export * from './repository-types.js';
|
|
39
|
+
export * from './typed-enbox.js';
|
|
38
40
|
export * from './typed-live-query.js';
|
|
39
41
|
export * from './typed-record.js';
|
|
40
|
-
export * from './typed-web5.js';
|
|
41
42
|
export * from './vc-api.js';
|
|
42
|
-
export * from './web5.js';
|
|
43
43
|
import * as utils from './utils.js';
|
|
44
44
|
export { utils };
|
|
45
|
+
export { isOk } from './utils.js';
|
|
45
46
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAE5B,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/esm/protocol.js
CHANGED
|
@@ -16,14 +16,14 @@ import { DwnInterface } from '@enbox/agent';
|
|
|
16
16
|
/**
|
|
17
17
|
* Encapsulates a DWN Protocol with its associated metadata and configuration.
|
|
18
18
|
*
|
|
19
|
-
* This class
|
|
19
|
+
* This class primarily exists to provide developers with a convenient way to configure/install
|
|
20
20
|
* protocols on remote DWNs.
|
|
21
21
|
*/
|
|
22
22
|
export class Protocol {
|
|
23
23
|
/**
|
|
24
24
|
* Constructs a new instance of the Protocol class.
|
|
25
25
|
*
|
|
26
|
-
* @param agent - The
|
|
26
|
+
* @param agent - The EnboxAgent instance used for network interactions.
|
|
27
27
|
* @param protocolsConfigureMessage - The configuration message containing the protocol details.
|
|
28
28
|
* @param metadata - Metadata associated with the protocol, including the author and optional message CID.
|
|
29
29
|
*/
|
package/dist/esm/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/protocol.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,2CAA2C;;;;;;;;;;AAI3C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAiB5C;;;;;GAKG;AACH,MAAM,OAAO,QAAQ;IAUnB;;;;;;OAMG;IACH,YAAY,
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/protocol.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,2CAA2C;;;;;;;;;;AAI3C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAiB5C;;;;;GAKG;AACH,MAAM,OAAO,QAAQ;IAUnB;;;;;;OAMG;IACH,YAAY,KAAiB,EAAE,yBAAsE,EAAE,QAA0B;QAC/H,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,0BAA0B,GAAG,yBAAyB,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,UAAU,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACG,IAAI,CAAC,MAAc;;YACvB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;gBACjD,MAAM,EAAQ,IAAI,CAAC,SAAS,CAAC,MAAM;gBACnC,UAAU,EAAI,IAAI,CAAC,SAAS,CAAC,UAAU;gBACvC,WAAW,EAAG,YAAY,CAAC,kBAAkB;gBAC7C,MAAM,EAAQ,MAAM;aACrB,CAAC,CAAC;YAEH,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,CAAC;KAAA;CACF"}
|
package/dist/esm/record-data.js
CHANGED
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
* evaluated `stream()` function with convenience accessors that mirror the
|
|
6
6
|
* Fetch `Response` API (`blob()`, `bytes()`, `json()`, `text()`).
|
|
7
7
|
*
|
|
8
|
+
* Data is **cached after first read** so that subsequent calls to any accessor
|
|
9
|
+
* return the same data without re-fetching. Concurrent calls are safe — only
|
|
10
|
+
* one fetch is performed and all callers share the result.
|
|
11
|
+
*
|
|
8
12
|
* Extracted from `record.ts` so the convenience-method boilerplate lives in
|
|
9
13
|
* its own module while the stream-resolution logic (which is tightly coupled
|
|
10
14
|
* to `Record` internals) stays inside the `Record` class.
|
|
@@ -21,9 +25,24 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
21
25
|
});
|
|
22
26
|
};
|
|
23
27
|
import { Stream } from '@enbox/common';
|
|
28
|
+
/**
|
|
29
|
+
* Maximum data size (in bytes) that will be cached in-memory after the first
|
|
30
|
+
* read. Payloads larger than this threshold are not cached and will be
|
|
31
|
+
* re-fetched on every access.
|
|
32
|
+
*/
|
|
33
|
+
const DATA_CACHE_LIMIT = 10 * 1024 * 1024; // 10 MB
|
|
24
34
|
/**
|
|
25
35
|
* Create a {@link RecordData} wrapper around a `stream` provider function.
|
|
26
36
|
*
|
|
37
|
+
* The first call to any accessor (`blob`, `bytes`, `json`, `text`, `stream`)
|
|
38
|
+
* consumes the underlying stream and caches the raw bytes (up to
|
|
39
|
+
* {@link DATA_CACHE_LIMIT}). Subsequent calls reconstruct a fresh stream
|
|
40
|
+
* from the cache, preventing the common footgun of stale data after stream
|
|
41
|
+
* consumption.
|
|
42
|
+
*
|
|
43
|
+
* Concurrent calls are safe: if multiple accessors are called simultaneously,
|
|
44
|
+
* only one stream fetch is performed and all callers share the result.
|
|
45
|
+
*
|
|
27
46
|
* @param streamFn - A function that returns a `Promise<ReadableStream>` for the record data.
|
|
28
47
|
* @param dataFormat - The MIME type used when constructing Blobs.
|
|
29
48
|
* @returns A {@link RecordData} object with convenience accessors.
|
|
@@ -31,6 +50,42 @@ import { Stream } from '@enbox/common';
|
|
|
31
50
|
* @beta
|
|
32
51
|
*/
|
|
33
52
|
export function createRecordData(streamFn, dataFormat) {
|
|
53
|
+
// In-memory byte cache. Populated after the first successful read.
|
|
54
|
+
let cachedBytes;
|
|
55
|
+
// In-flight read promise. Ensures concurrent callers share a single fetch.
|
|
56
|
+
let inflight;
|
|
57
|
+
/**
|
|
58
|
+
* Returns the record data as raw bytes, using the cache when available.
|
|
59
|
+
* If a read is already in-flight, waits for it instead of starting a new one.
|
|
60
|
+
*/
|
|
61
|
+
function getBytes() {
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
// Fast path: cache hit.
|
|
64
|
+
if (cachedBytes) {
|
|
65
|
+
return cachedBytes;
|
|
66
|
+
}
|
|
67
|
+
// If another call is already fetching, wait for it.
|
|
68
|
+
if (inflight) {
|
|
69
|
+
return inflight;
|
|
70
|
+
}
|
|
71
|
+
// Start a new fetch and share the promise.
|
|
72
|
+
inflight = (() => __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
const readableStream = yield streamFn();
|
|
74
|
+
const bytes = yield Stream.consumeToBytes({ readableStream });
|
|
75
|
+
// Cache only if within the size limit.
|
|
76
|
+
if (bytes.byteLength <= DATA_CACHE_LIMIT) {
|
|
77
|
+
cachedBytes = bytes;
|
|
78
|
+
}
|
|
79
|
+
return bytes;
|
|
80
|
+
}))();
|
|
81
|
+
try {
|
|
82
|
+
return yield inflight;
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
inflight = undefined;
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
34
89
|
const dataObj = {
|
|
35
90
|
/**
|
|
36
91
|
* Returns the data of the current record as a `Blob`.
|
|
@@ -42,7 +97,7 @@ export function createRecordData(streamFn, dataFormat) {
|
|
|
42
97
|
*/
|
|
43
98
|
blob() {
|
|
44
99
|
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
-
return new Blob([yield
|
|
100
|
+
return new Blob([yield getBytes()], { type: dataFormat });
|
|
46
101
|
});
|
|
47
102
|
},
|
|
48
103
|
/**
|
|
@@ -55,7 +110,7 @@ export function createRecordData(streamFn, dataFormat) {
|
|
|
55
110
|
*/
|
|
56
111
|
bytes() {
|
|
57
112
|
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
return yield
|
|
113
|
+
return yield getBytes();
|
|
59
114
|
});
|
|
60
115
|
},
|
|
61
116
|
/**
|
|
@@ -68,7 +123,8 @@ export function createRecordData(streamFn, dataFormat) {
|
|
|
68
123
|
*/
|
|
69
124
|
json() {
|
|
70
125
|
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
-
|
|
126
|
+
const bytes = yield getBytes();
|
|
127
|
+
return JSON.parse(new TextDecoder().decode(bytes));
|
|
72
128
|
});
|
|
73
129
|
},
|
|
74
130
|
/**
|
|
@@ -81,7 +137,8 @@ export function createRecordData(streamFn, dataFormat) {
|
|
|
81
137
|
*/
|
|
82
138
|
text() {
|
|
83
139
|
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
-
|
|
140
|
+
const bytes = yield getBytes();
|
|
141
|
+
return new TextDecoder().decode(bytes);
|
|
85
142
|
});
|
|
86
143
|
},
|
|
87
144
|
/**
|
|
@@ -90,12 +147,29 @@ export function createRecordData(streamFn, dataFormat) {
|
|
|
90
147
|
* Uses the standard Web Streams API for cross-platform compatibility across
|
|
91
148
|
* browsers, Node.js, Bun, and Deno.
|
|
92
149
|
*
|
|
150
|
+
* If the data has already been read and cached, returns a fresh stream
|
|
151
|
+
* reconstructed from the cache.
|
|
152
|
+
*
|
|
93
153
|
* @returns A promise that resolves to a Web `ReadableStream` of the record's data.
|
|
94
154
|
* @throws If the record data is not available in-memory and cannot be fetched.
|
|
95
155
|
*
|
|
96
156
|
* @beta
|
|
97
157
|
*/
|
|
98
|
-
stream
|
|
158
|
+
stream() {
|
|
159
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
160
|
+
// If we have cached bytes, reconstruct a fresh stream from them.
|
|
161
|
+
if (cachedBytes) {
|
|
162
|
+
return new ReadableStream({
|
|
163
|
+
start(controller) {
|
|
164
|
+
controller.enqueue(cachedBytes);
|
|
165
|
+
controller.close();
|
|
166
|
+
},
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
// Otherwise delegate to the original stream provider.
|
|
170
|
+
return streamFn();
|
|
171
|
+
});
|
|
172
|
+
},
|
|
99
173
|
/**
|
|
100
174
|
* Attaches callbacks for the resolution and/or rejection of the `Promise` returned by
|
|
101
175
|
* `stream()`.
|