@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.
Files changed (102) hide show
  1. package/README.md +63 -0
  2. package/dist/browser.mjs +11 -28
  3. package/dist/browser.mjs.map +4 -4
  4. package/dist/esm/advanced.js +1 -1
  5. package/dist/esm/define-protocol.js +3 -3
  6. package/dist/esm/did-api.js +1 -1
  7. package/dist/esm/did-api.js.map +1 -1
  8. package/dist/esm/dwn-api.js +6 -6
  9. package/dist/esm/dwn-api.js.map +1 -1
  10. package/dist/esm/dwn-reader-api.js +2 -2
  11. package/dist/esm/enbox.js +205 -0
  12. package/dist/esm/enbox.js.map +1 -0
  13. package/dist/esm/index.js +16 -15
  14. package/dist/esm/index.js.map +1 -1
  15. package/dist/esm/protocol.js +2 -2
  16. package/dist/esm/protocol.js.map +1 -1
  17. package/dist/esm/record-data.js +79 -5
  18. package/dist/esm/record-data.js.map +1 -1
  19. package/dist/esm/record.js +49 -10
  20. package/dist/esm/record.js.map +1 -1
  21. package/dist/esm/repository.js +7 -7
  22. package/dist/esm/repository.js.map +1 -1
  23. package/dist/esm/typed-enbox.js +583 -0
  24. package/dist/esm/typed-enbox.js.map +1 -0
  25. package/dist/esm/typed-live-query.js +1 -1
  26. package/dist/esm/typed-record.js +370 -46
  27. package/dist/esm/typed-record.js.map +1 -1
  28. package/dist/esm/utils.js +25 -0
  29. package/dist/esm/utils.js.map +1 -1
  30. package/dist/esm/vc-api.js.map +1 -1
  31. package/dist/types/advanced.d.ts +1 -1
  32. package/dist/types/define-protocol.d.ts +3 -3
  33. package/dist/types/did-api.d.ts +4 -4
  34. package/dist/types/did-api.d.ts.map +1 -1
  35. package/dist/types/dwn-api.d.ts +12 -7
  36. package/dist/types/dwn-api.d.ts.map +1 -1
  37. package/dist/types/dwn-reader-api.d.ts +2 -2
  38. package/dist/types/enbox.d.ts +202 -0
  39. package/dist/types/enbox.d.ts.map +1 -0
  40. package/dist/types/grant-revocation.d.ts +2 -2
  41. package/dist/types/grant-revocation.d.ts.map +1 -1
  42. package/dist/types/index.d.ts +16 -15
  43. package/dist/types/index.d.ts.map +1 -1
  44. package/dist/types/live-query.d.ts +2 -2
  45. package/dist/types/live-query.d.ts.map +1 -1
  46. package/dist/types/permission-grant.d.ts +2 -2
  47. package/dist/types/permission-grant.d.ts.map +1 -1
  48. package/dist/types/permission-request.d.ts +2 -2
  49. package/dist/types/permission-request.d.ts.map +1 -1
  50. package/dist/types/protocol-types.d.ts +2 -2
  51. package/dist/types/protocol.d.ts +7 -7
  52. package/dist/types/protocol.d.ts.map +1 -1
  53. package/dist/types/record-data.d.ts +17 -0
  54. package/dist/types/record-data.d.ts.map +1 -1
  55. package/dist/types/record.d.ts +24 -10
  56. package/dist/types/record.d.ts.map +1 -1
  57. package/dist/types/repository-types.d.ts +19 -11
  58. package/dist/types/repository-types.d.ts.map +1 -1
  59. package/dist/types/repository.d.ts +7 -7
  60. package/dist/types/repository.d.ts.map +1 -1
  61. package/dist/types/typed-enbox.d.ts +613 -0
  62. package/dist/types/typed-enbox.d.ts.map +1 -0
  63. package/dist/types/typed-live-query.d.ts +1 -1
  64. package/dist/types/typed-record.d.ts +427 -53
  65. package/dist/types/typed-record.d.ts.map +1 -1
  66. package/dist/types/utils.d.ts +23 -0
  67. package/dist/types/utils.d.ts.map +1 -1
  68. package/dist/types/vc-api.d.ts +3 -3
  69. package/dist/types/vc-api.d.ts.map +1 -1
  70. package/package.json +12 -11
  71. package/src/advanced.ts +1 -1
  72. package/src/define-protocol.ts +3 -3
  73. package/src/did-api.ts +5 -5
  74. package/src/dwn-api.ts +22 -17
  75. package/src/dwn-reader-api.ts +2 -2
  76. package/src/enbox.ts +281 -0
  77. package/src/grant-revocation.ts +3 -3
  78. package/src/index.ts +17 -16
  79. package/src/live-query.ts +2 -2
  80. package/src/permission-grant.ts +4 -4
  81. package/src/permission-request.ts +3 -3
  82. package/src/protocol-types.ts +2 -2
  83. package/src/protocol.ts +8 -8
  84. package/src/record-data.ts +86 -5
  85. package/src/record.ts +54 -13
  86. package/src/repository-types.ts +19 -7
  87. package/src/repository.ts +15 -15
  88. package/src/typed-enbox.ts +1169 -0
  89. package/src/typed-live-query.ts +1 -1
  90. package/src/typed-record.ts +431 -53
  91. package/src/utils.ts +27 -0
  92. package/src/vc-api.ts +4 -4
  93. package/dist/esm/typed-web5.js +0 -339
  94. package/dist/esm/typed-web5.js.map +0 -1
  95. package/dist/esm/web5.js +0 -410
  96. package/dist/esm/web5.js.map +0 -1
  97. package/dist/types/typed-web5.d.ts +0 -221
  98. package/dist/types/typed-web5.d.ts.map +0 -1
  99. package/dist/types/web5.d.ts +0 -346
  100. package/dist/types/web5.d.ts.map +0 -1
  101. package/src/typed-web5.ts +0 -598
  102. package/src/web5.ts +0 -754
@@ -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 `web5.using(protocol)` instead.
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 TypedWeb5} can provide
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 `TypedWeb5`.
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
- * // TypedWeb5 infers paths like 'friend' | 'friend/message' and
30
+ * // TypedEnbox infers paths like 'friend' | 'friend/message' and
31
31
  * // data types from the schema map.
32
32
  * ```
33
33
  */
@@ -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 Web5 Agent to create a new DID based on the provided method,
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
@@ -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,OAAmD;QAC7D,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"}
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"}
@@ -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 Web5 app is
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 Web5 app is
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 `Web5.anonymous()`.
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 Web5 app is
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 `Web5.anonymous()`.
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 `Web5.anonymous()`.
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({
@@ -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 Web5.anonymous | `Web5.anonymous()`}.
27
+ * Obtain an instance via {@link Enbox.anonymous | `Enbox.anonymous()`}.
28
28
  *
29
29
  * @example
30
30
  * ```ts
31
- * const { dwn } = Web5.anonymous();
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
- * Making developing with Web5 components at least 5 times easier to work with.
2
+ * Enbox SDK high-level API for Decentralized Web Nodes, DIDs, and VCs.
3
3
  *
4
- * Web5 consists of the following components:
5
- * - Decentralized Identifiers
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
- * The SDK sets out to gather the most oft used functionality from all three of
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
- * The SDK is currently still under active development, but having entered the
14
- * Tech Preview phase there is now a drive to avoid unnecessary changes unless
15
- * backwards compatibility is provided. Additional functionality will be added
16
- * in the lead up to 1.0 final, and modifications will be made to address
17
- * issues and community feedback.
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
@@ -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,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAE1B,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,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"}
@@ -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 primarly exists to provide developers with a convenient way to configure/install
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 Web5Agent instance used for network interactions.
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
  */
@@ -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,KAAgB,EAAE,yBAAsE,EAAE,QAA0B;QAC9H,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"}
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"}
@@ -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 Stream.consumeToBytes({ readableStream: yield this.stream() })], { type: dataFormat });
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 Stream.consumeToBytes({ readableStream: yield this.stream() });
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
- return yield Stream.consumeToJson({ readableStream: yield this.stream() });
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
- return yield Stream.consumeToText({ readableStream: yield this.stream() });
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: streamFn,
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()`.