@enbox/agent 0.2.2 → 0.3.1
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/dist/browser.mjs +9 -9
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/agent-did-resolver-cache.js.map +1 -1
- package/dist/esm/anonymous-dwn-api.js +1 -1
- package/dist/esm/bearer-identity.js +1 -1
- package/dist/esm/connect.js +5 -9
- package/dist/esm/connect.js.map +1 -1
- package/dist/esm/did-api.js +3 -3
- package/dist/esm/did-api.js.map +1 -1
- package/dist/esm/dwn-api.js +39 -8
- package/dist/esm/dwn-api.js.map +1 -1
- package/dist/esm/dwn-discovery-file.js +244 -0
- package/dist/esm/dwn-discovery-file.js.map +1 -0
- package/dist/esm/dwn-discovery-payload.js +253 -0
- package/dist/esm/dwn-discovery-payload.js.map +1 -0
- package/dist/esm/dwn-encryption.js.map +1 -1
- package/dist/esm/dwn-key-delivery.js.map +1 -1
- package/dist/esm/dwn-record-upgrade.js.map +1 -1
- package/dist/esm/{web5-user-agent.js → enbox-user-agent.js} +12 -7
- package/dist/esm/enbox-user-agent.js.map +1 -0
- package/dist/esm/identity-api.js +3 -3
- package/dist/esm/identity-api.js.map +1 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/local-dwn.js +150 -26
- package/dist/esm/local-dwn.js.map +1 -1
- package/dist/esm/local-key-manager.js +2 -2
- package/dist/esm/local-key-manager.js.map +1 -1
- package/dist/esm/oidc.js +11 -11
- package/dist/esm/oidc.js.map +1 -1
- package/dist/esm/permissions-api.js.map +1 -1
- package/dist/esm/store-data.js.map +1 -1
- package/dist/esm/sync-api.js +2 -2
- package/dist/esm/sync-api.js.map +1 -1
- package/dist/esm/sync-engine-level.js +2 -2
- package/dist/esm/sync-engine-level.js.map +1 -1
- package/dist/esm/test-harness.js +3 -3
- package/dist/esm/test-harness.js.map +1 -1
- package/dist/esm/utils-internal.js +2 -2
- package/dist/types/agent-did-resolver-cache.d.ts +7 -7
- package/dist/types/agent-did-resolver-cache.d.ts.map +1 -1
- package/dist/types/anonymous-dwn-api.d.ts +3 -3
- package/dist/types/anonymous-dwn-api.d.ts.map +1 -1
- package/dist/types/bearer-identity.d.ts +1 -1
- package/dist/types/connect.d.ts +8 -8
- package/dist/types/connect.d.ts.map +1 -1
- package/dist/types/did-api.d.ts +12 -11
- package/dist/types/did-api.d.ts.map +1 -1
- package/dist/types/dwn-api.d.ts +27 -11
- package/dist/types/dwn-api.d.ts.map +1 -1
- package/dist/types/dwn-discovery-file.d.ts +122 -0
- package/dist/types/dwn-discovery-file.d.ts.map +1 -0
- package/dist/types/dwn-discovery-payload.d.ts +105 -0
- package/dist/types/dwn-discovery-payload.d.ts.map +1 -0
- package/dist/types/dwn-encryption.d.ts +8 -8
- package/dist/types/dwn-encryption.d.ts.map +1 -1
- package/dist/types/dwn-key-delivery.d.ts +5 -5
- package/dist/types/dwn-key-delivery.d.ts.map +1 -1
- package/dist/types/dwn-record-upgrade.d.ts +2 -2
- package/dist/types/dwn-record-upgrade.d.ts.map +1 -1
- package/dist/types/{web5-user-agent.d.ts → enbox-user-agent.d.ts} +17 -13
- package/dist/types/enbox-user-agent.d.ts.map +1 -0
- package/dist/types/identity-api.d.ts +10 -10
- package/dist/types/identity-api.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/local-dwn.d.ts +93 -15
- package/dist/types/local-dwn.d.ts.map +1 -1
- package/dist/types/local-key-manager.d.ts +9 -9
- package/dist/types/local-key-manager.d.ts.map +1 -1
- package/dist/types/oidc.d.ts +23 -19
- package/dist/types/oidc.d.ts.map +1 -1
- package/dist/types/permissions-api.d.ts +4 -4
- package/dist/types/permissions-api.d.ts.map +1 -1
- package/dist/types/store-data.d.ts +3 -3
- package/dist/types/store-data.d.ts.map +1 -1
- package/dist/types/store-did.d.ts +2 -2
- package/dist/types/store-did.d.ts.map +1 -1
- package/dist/types/store-identity.d.ts +2 -2
- package/dist/types/store-identity.d.ts.map +1 -1
- package/dist/types/store-key.d.ts +2 -2
- package/dist/types/store-key.d.ts.map +1 -1
- package/dist/types/sync-api.d.ts +9 -9
- package/dist/types/sync-api.d.ts.map +1 -1
- package/dist/types/sync-engine-level.d.ts +9 -9
- package/dist/types/sync-engine-level.d.ts.map +1 -1
- package/dist/types/sync-messages.d.ts +5 -5
- package/dist/types/sync-messages.d.ts.map +1 -1
- package/dist/types/test-harness.d.ts +4 -4
- package/dist/types/test-harness.d.ts.map +1 -1
- package/dist/types/types/agent.d.ts +24 -19
- package/dist/types/types/agent.d.ts.map +1 -1
- package/dist/types/types/identity.d.ts +1 -1
- package/dist/types/types/key-manager.d.ts +2 -2
- package/dist/types/types/key-manager.d.ts.map +1 -1
- package/dist/types/types/sync.d.ts +2 -2
- package/dist/types/types/sync.d.ts.map +1 -1
- package/dist/types/utils-internal.d.ts +4 -4
- package/dist/types/utils-internal.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/agent-did-resolver-cache.ts +8 -8
- package/src/anonymous-dwn-api.ts +4 -4
- package/src/bearer-identity.ts +1 -1
- package/src/connect.ts +14 -19
- package/src/did-api.ts +13 -11
- package/src/dwn-api.ts +61 -16
- package/src/dwn-discovery-file.ts +305 -0
- package/src/dwn-discovery-payload.ts +308 -0
- package/src/dwn-encryption.ts +8 -8
- package/src/dwn-key-delivery.ts +5 -5
- package/src/dwn-record-upgrade.ts +2 -2
- package/src/{web5-user-agent.ts → enbox-user-agent.ts} +26 -16
- package/src/identity-api.ts +11 -11
- package/src/index.ts +3 -1
- package/src/local-dwn.ts +154 -28
- package/src/local-key-manager.ts +10 -10
- package/src/oidc.ts +40 -30
- package/src/permissions-api.ts +5 -5
- package/src/store-data.ts +7 -7
- package/src/store-did.ts +2 -2
- package/src/store-identity.ts +2 -2
- package/src/store-key.ts +2 -2
- package/src/sync-api.ts +10 -10
- package/src/sync-engine-level.ts +12 -12
- package/src/sync-messages.ts +5 -5
- package/src/test-harness.ts +9 -9
- package/src/types/agent.ts +31 -20
- package/src/types/identity.ts +1 -1
- package/src/types/key-manager.ts +2 -2
- package/src/types/sync.ts +2 -2
- package/src/utils-internal.ts +4 -4
- package/dist/esm/web5-user-agent.js.map +0 -1
- package/dist/types/web5-user-agent.d.ts.map +0 -1
package/src/sync-api.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { EnboxPlatformAgent } from './types/agent.js';
|
|
2
2
|
import type { StartSyncParams, SyncConnectivityState, SyncEngine, SyncIdentityOptions } from './types/sync.js';
|
|
3
3
|
|
|
4
4
|
export type SyncApiParams = {
|
|
5
|
-
agent?:
|
|
5
|
+
agent?: EnboxPlatformAgent;
|
|
6
6
|
syncEngine: SyncEngine;
|
|
7
7
|
};
|
|
8
8
|
|
|
9
9
|
export class AgentSyncApi implements SyncEngine {
|
|
10
10
|
/**
|
|
11
|
-
* Holds the instance of a `
|
|
12
|
-
* the `AgentSyncApi`. This agent is used to interact with other
|
|
13
|
-
* to ensure this instance is set to correctly contextualize operations within the broader
|
|
11
|
+
* Holds the instance of a `EnboxPlatformAgent` that represents the current execution context for
|
|
12
|
+
* the `AgentSyncApi`. This agent is used to interact with other Enbox agent components. It's vital
|
|
13
|
+
* to ensure this instance is set to correctly contextualize operations within the broader Enbox
|
|
14
14
|
* Agent framework.
|
|
15
15
|
*/
|
|
16
|
-
private _agent?:
|
|
16
|
+
private _agent?: EnboxPlatformAgent;
|
|
17
17
|
|
|
18
18
|
private _syncEngine: SyncEngine;
|
|
19
19
|
|
|
@@ -23,12 +23,12 @@ export class AgentSyncApi implements SyncEngine {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
* Retrieves the `
|
|
26
|
+
* Retrieves the `EnboxPlatformAgent` execution context.
|
|
27
27
|
*
|
|
28
|
-
* @returns The `
|
|
28
|
+
* @returns The `EnboxPlatformAgent` instance that represents the current execution context.
|
|
29
29
|
* @throws Will throw an error if the `agent` instance property is undefined.
|
|
30
30
|
*/
|
|
31
|
-
get agent():
|
|
31
|
+
get agent(): EnboxPlatformAgent {
|
|
32
32
|
if (this._agent === undefined) {
|
|
33
33
|
throw new Error('AgentSyncApi: Unable to determine agent execution context.');
|
|
34
34
|
}
|
|
@@ -36,7 +36,7 @@ export class AgentSyncApi implements SyncEngine {
|
|
|
36
36
|
return this._agent;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
set agent(agent:
|
|
39
|
+
set agent(agent: EnboxPlatformAgent) {
|
|
40
40
|
this._agent = agent;
|
|
41
41
|
this._syncEngine.agent = agent;
|
|
42
42
|
}
|
package/src/sync-engine-level.ts
CHANGED
|
@@ -7,8 +7,8 @@ import { Level } from 'level';
|
|
|
7
7
|
import { hashToHex, initDefaultHashes, Message } from '@enbox/dwn-sdk-js';
|
|
8
8
|
|
|
9
9
|
import type { PermissionsApi } from './types/permissions.js';
|
|
10
|
+
import type { EnboxAgent, EnboxPlatformAgent } from './types/agent.js';
|
|
10
11
|
import type { StartSyncParams, SyncConnectivityState, SyncEngine, SyncIdentityOptions, SyncMode } from './types/sync.js';
|
|
11
|
-
import type { Web5Agent, Web5PlatformAgent } from './types/agent.js';
|
|
12
12
|
|
|
13
13
|
import { AgentPermissionsApi } from './permissions-api.js';
|
|
14
14
|
import { DwnInterface } from './types/dwn.js';
|
|
@@ -17,7 +17,7 @@ import { topologicalSort } from './sync-topological-sort.js';
|
|
|
17
17
|
import { pullMessages, pushMessages } from './sync-messages.js';
|
|
18
18
|
|
|
19
19
|
export type SyncEngineLevelParams = {
|
|
20
|
-
agent?:
|
|
20
|
+
agent?: EnboxPlatformAgent;
|
|
21
21
|
dataPath?: string;
|
|
22
22
|
db?: AbstractLevel<string | Buffer | Uint8Array>;
|
|
23
23
|
};
|
|
@@ -61,12 +61,12 @@ type LocalSubscription = {
|
|
|
61
61
|
|
|
62
62
|
export class SyncEngineLevel implements SyncEngine {
|
|
63
63
|
/**
|
|
64
|
-
* Holds the instance of a `
|
|
65
|
-
* the `SyncEngineLevel`. This agent is used to interact with other
|
|
64
|
+
* Holds the instance of a `EnboxPlatformAgent` that represents the current execution context for
|
|
65
|
+
* the `SyncEngineLevel`. This agent is used to interact with other Enbox agent components. It's
|
|
66
66
|
* vital to ensure this instance is set to correctly contextualize operations within the broader
|
|
67
|
-
*
|
|
67
|
+
* Enbox Agent framework.
|
|
68
68
|
*/
|
|
69
|
-
private _agent?:
|
|
69
|
+
private _agent?: EnboxPlatformAgent;
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
72
|
* An instance of the `AgentPermissionsApi` that is used to interact with permissions grants used during sync
|
|
@@ -117,17 +117,17 @@ export class SyncEngineLevel implements SyncEngine {
|
|
|
117
117
|
|
|
118
118
|
constructor({ agent, dataPath, db }: SyncEngineLevelParams) {
|
|
119
119
|
this._agent = agent;
|
|
120
|
-
this._permissionsApi = new AgentPermissionsApi({ agent: agent as
|
|
120
|
+
this._permissionsApi = new AgentPermissionsApi({ agent: agent as EnboxAgent });
|
|
121
121
|
this._db = (db) ? db : new Level<string, string>(dataPath ?? 'DATA/AGENT/SYNC_STORE');
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
/**
|
|
125
|
-
* Retrieves the `
|
|
125
|
+
* Retrieves the `EnboxPlatformAgent` execution context.
|
|
126
126
|
*
|
|
127
|
-
* @returns The `
|
|
127
|
+
* @returns The `EnboxPlatformAgent` instance that represents the current execution context.
|
|
128
128
|
* @throws Will throw an error if the `agent` instance property is undefined.
|
|
129
129
|
*/
|
|
130
|
-
get agent():
|
|
130
|
+
get agent(): EnboxPlatformAgent {
|
|
131
131
|
if (this._agent === undefined) {
|
|
132
132
|
throw new Error('SyncEngineLevel: Unable to determine agent execution context.');
|
|
133
133
|
}
|
|
@@ -135,9 +135,9 @@ export class SyncEngineLevel implements SyncEngine {
|
|
|
135
135
|
return this._agent;
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
set agent(agent:
|
|
138
|
+
set agent(agent: EnboxPlatformAgent) {
|
|
139
139
|
this._agent = agent;
|
|
140
|
-
this._permissionsApi = new AgentPermissionsApi({ agent: agent as
|
|
140
|
+
this._permissionsApi = new AgentPermissionsApi({ agent: agent as EnboxAgent });
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
get connectivityState(): SyncConnectivityState {
|
package/src/sync-messages.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { EnboxPlatformAgent } from './types/agent.js';
|
|
1
2
|
import type { PermissionsApi } from './types/permissions.js';
|
|
2
|
-
import type { Web5PlatformAgent } from './types/agent.js';
|
|
3
3
|
import type { GenericMessage, MessagesReadReply, UnionMessageReply } from '@enbox/dwn-sdk-js';
|
|
4
4
|
|
|
5
5
|
import { DwnInterfaceName, DwnMethodName, Message } from '@enbox/dwn-sdk-js';
|
|
@@ -54,7 +54,7 @@ export async function pullMessages({ did, dwnUrl, delegateDid, protocol, message
|
|
|
54
54
|
delegateDid?: string;
|
|
55
55
|
protocol?: string;
|
|
56
56
|
messageCids: string[];
|
|
57
|
-
agent:
|
|
57
|
+
agent: EnboxPlatformAgent;
|
|
58
58
|
permissionsApi: PermissionsApi;
|
|
59
59
|
}): Promise<void> {
|
|
60
60
|
// Step 1: Fetch all missing messages from the remote in parallel.
|
|
@@ -101,7 +101,7 @@ export async function fetchRemoteMessages({ did, dwnUrl, delegateDid, protocol,
|
|
|
101
101
|
delegateDid?: string;
|
|
102
102
|
protocol?: string;
|
|
103
103
|
messageCids: string[];
|
|
104
|
-
agent:
|
|
104
|
+
agent: EnboxPlatformAgent;
|
|
105
105
|
permissionsApi: PermissionsApi;
|
|
106
106
|
}): Promise<SyncMessageEntry[]> {
|
|
107
107
|
const results: SyncMessageEntry[] = [];
|
|
@@ -189,7 +189,7 @@ export async function pushMessages({ did, dwnUrl, delegateDid, protocol, message
|
|
|
189
189
|
delegateDid?: string;
|
|
190
190
|
protocol?: string;
|
|
191
191
|
messageCids: string[];
|
|
192
|
-
agent:
|
|
192
|
+
agent: EnboxPlatformAgent;
|
|
193
193
|
permissionsApi: PermissionsApi;
|
|
194
194
|
}): Promise<void> {
|
|
195
195
|
// Step 1: Fetch all local messages (streams are pull-based, not yet consumed).
|
|
@@ -234,7 +234,7 @@ export async function getLocalMessage({ author, delegateDid, protocol, messageCi
|
|
|
234
234
|
delegateDid?: string;
|
|
235
235
|
protocol?: string;
|
|
236
236
|
messageCid: string;
|
|
237
|
-
agent:
|
|
237
|
+
agent: EnboxPlatformAgent;
|
|
238
238
|
permissionsApi: PermissionsApi;
|
|
239
239
|
}): Promise<SyncMessageEntry | undefined> {
|
|
240
240
|
let permissionGrantId: string | undefined;
|
package/src/test-harness.ts
CHANGED
|
@@ -2,8 +2,8 @@ import type { AbstractLevel } from 'abstract-level';
|
|
|
2
2
|
import type { BearerIdentity } from './bearer-identity.js';
|
|
3
3
|
import type { DidResolverCache } from '@enbox/dids';
|
|
4
4
|
import type { Dwn } from '@enbox/dwn-sdk-js';
|
|
5
|
+
import type { EnboxPlatformAgent } from './types/agent.js';
|
|
5
6
|
import type { KeyValueStore } from '@enbox/common';
|
|
6
|
-
import type { Web5PlatformAgent } from './types/agent.js';
|
|
7
7
|
|
|
8
8
|
import { Level } from 'level';
|
|
9
9
|
import { DataStoreLevel, EventEmitterEventLog, MessageStoreLevel, ResumableTaskStoreLevel, StateIndexLevel } from '@enbox/dwn-sdk-js';
|
|
@@ -17,10 +17,10 @@ import { AgentDwnApi } from './dwn-api.js';
|
|
|
17
17
|
import { AgentIdentityApi } from './identity-api.js';
|
|
18
18
|
import { AgentPermissionsApi } from './permissions-api.js';
|
|
19
19
|
import { AgentSyncApi } from './sync-api.js';
|
|
20
|
+
import { EnboxRpcClient } from '@enbox/dwn-clients';
|
|
20
21
|
import { HdIdentityVault } from './hd-identity-vault.js';
|
|
21
22
|
import { LocalKeyManager } from './local-key-manager.js';
|
|
22
23
|
import { SyncEngineLevel } from './sync-engine-level.js';
|
|
23
|
-
import { Web5RpcClient } from '@enbox/dwn-clients';
|
|
24
24
|
import { DwnDidStore, InMemoryDidStore } from './store-did.js';
|
|
25
25
|
import { DwnIdentityStore, InMemoryIdentityStore } from './store-identity.js';
|
|
26
26
|
import { DwnKeyStore, InMemoryKeyStore } from './store-key.js';
|
|
@@ -36,7 +36,7 @@ type StoreSetupResult = {
|
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
type PlatformAgentTestHarnessParams = {
|
|
39
|
-
agent:
|
|
39
|
+
agent: EnboxPlatformAgent<LocalKeyManager>
|
|
40
40
|
|
|
41
41
|
agentStores: 'dwn' | 'memory';
|
|
42
42
|
didResolverCache: DidResolverCache;
|
|
@@ -56,7 +56,7 @@ type PlatformAgentTestHarnessParams = {
|
|
|
56
56
|
};
|
|
57
57
|
|
|
58
58
|
export class PlatformAgentTestHarness {
|
|
59
|
-
public agent:
|
|
59
|
+
public agent: EnboxPlatformAgent<LocalKeyManager>;
|
|
60
60
|
|
|
61
61
|
public agentStores: 'dwn' | 'memory';
|
|
62
62
|
public didResolverCache: DidResolverCache;
|
|
@@ -215,7 +215,7 @@ export class PlatformAgentTestHarness {
|
|
|
215
215
|
}
|
|
216
216
|
|
|
217
217
|
public static async setup({ agentClass, agentStores, testDataLocation }: {
|
|
218
|
-
agentClass: new (params: any) =>
|
|
218
|
+
agentClass: new (params: any) => EnboxPlatformAgent<LocalKeyManager>
|
|
219
219
|
agentStores?: 'dwn' | 'memory';
|
|
220
220
|
testDataLocation?: string;
|
|
221
221
|
}): Promise<PlatformAgentTestHarness> {
|
|
@@ -228,7 +228,7 @@ export class PlatformAgentTestHarness {
|
|
|
228
228
|
const cryptoApi = new AgentCryptoApi();
|
|
229
229
|
|
|
230
230
|
// Instantiate Agent's RPC Client.
|
|
231
|
-
const rpcClient = new
|
|
231
|
+
const rpcClient = new EnboxRpcClient();
|
|
232
232
|
|
|
233
233
|
const dwnStores = {
|
|
234
234
|
keyStore : new DwnKeyStore(),
|
|
@@ -285,7 +285,7 @@ export class PlatformAgentTestHarness {
|
|
|
285
285
|
const syncEngine = new SyncEngineLevel({ db: syncStore });
|
|
286
286
|
const syncApi = new AgentSyncApi({ syncEngine });
|
|
287
287
|
|
|
288
|
-
// Create
|
|
288
|
+
// Create EnboxPlatformAgent instance
|
|
289
289
|
const agent = new agentClass({
|
|
290
290
|
agentVault,
|
|
291
291
|
cryptoApi,
|
|
@@ -314,7 +314,7 @@ export class PlatformAgentTestHarness {
|
|
|
314
314
|
}
|
|
315
315
|
|
|
316
316
|
private static useDiskStores({ agent, testDataLocation, stores }: {
|
|
317
|
-
agent?:
|
|
317
|
+
agent?: EnboxPlatformAgent<LocalKeyManager>;
|
|
318
318
|
stores: {
|
|
319
319
|
keyStore: DwnKeyStore;
|
|
320
320
|
identityStore: DwnIdentityStore;
|
|
@@ -350,7 +350,7 @@ export class PlatformAgentTestHarness {
|
|
|
350
350
|
return { agentVault, didApi, didResolverCache, identityApi, keyManager, permissionsApi, vaultStore };
|
|
351
351
|
}
|
|
352
352
|
|
|
353
|
-
private static useMemoryStores({ agent }: { agent?:
|
|
353
|
+
private static useMemoryStores({ agent }: { agent?: EnboxPlatformAgent<LocalKeyManager> } = {}): StoreSetupResult {
|
|
354
354
|
const vaultStore = new MemoryStore<string, string>();
|
|
355
355
|
const agentVault = new HdIdentityVault({ keyDerivationWorkFactor: 1, store: vaultStore });
|
|
356
356
|
|
package/src/types/agent.ts
CHANGED
|
@@ -6,8 +6,9 @@ import type { AgentIdentityApi } from '../identity-api.js';
|
|
|
6
6
|
import type { AgentKeyManager } from './key-manager.js';
|
|
7
7
|
import type { AgentPermissionsApi } from '../permissions-api.js';
|
|
8
8
|
import type { AgentSyncApi } from '../sync-api.js';
|
|
9
|
+
import type { EnboxRpc } from '@enbox/dwn-clients';
|
|
9
10
|
import type { IdentityVault } from './identity-vault.js';
|
|
10
|
-
import type {
|
|
11
|
+
import type { LocalKeyManager } from '../local-key-manager.js';
|
|
11
12
|
import type { AgentDidApi, DidInterface, DidRequest, DidResponse } from '../did-api.js';
|
|
12
13
|
import type { DwnInterface, DwnResponse, ProcessDwnRequest, SendDwnRequest } from './dwn.js';
|
|
13
14
|
import type { ProcessVcRequest, SendVcRequest, VcResponse } from './vc.js';
|
|
@@ -15,7 +16,7 @@ import type { ProcessVcRequest, SendVcRequest, VcResponse } from './vc.js';
|
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* Defines the structure for response status in the context of an Agent's interaction within the
|
|
18
|
-
*
|
|
19
|
+
* Enbox framework.
|
|
19
20
|
*
|
|
20
21
|
* This type is utilized to convey the success or failure of an operation performed by the Agent,
|
|
21
22
|
* providing feedback that can be programmatically interpreted and acted upon.
|
|
@@ -54,18 +55,18 @@ export type ResponseStatus = {
|
|
|
54
55
|
};
|
|
55
56
|
|
|
56
57
|
/**
|
|
57
|
-
* Defines the interface for
|
|
58
|
+
* Defines the interface for an Enbox Agent, encapsulating the core functionality all implementations
|
|
58
59
|
* must include.
|
|
59
60
|
*
|
|
60
61
|
* The Agent is responsible for handling decentralized identifier (DID) requests, decentralized web
|
|
61
62
|
* node (DWN) requests, and verifiable credential (VC) requests.
|
|
62
63
|
*
|
|
63
|
-
* The `AgentDid` property represents the
|
|
64
|
+
* The `AgentDid` property represents the Enbox Agent's own DID, while the various process and send
|
|
64
65
|
* methods enable the Agent to handle and initiate requests pertaining to DIDs, DWNs, and VCs.
|
|
65
66
|
*/
|
|
66
|
-
export interface
|
|
67
|
+
export interface EnboxAgent {
|
|
67
68
|
/**
|
|
68
|
-
* The Decentralized Identifier (DID) of this
|
|
69
|
+
* The Decentralized Identifier (DID) of this Enbox Agent.
|
|
69
70
|
*/
|
|
70
71
|
agentDid: BearerDid;
|
|
71
72
|
|
|
@@ -108,23 +109,23 @@ export interface Web5Agent {
|
|
|
108
109
|
}
|
|
109
110
|
|
|
110
111
|
/**
|
|
111
|
-
* Represents
|
|
112
|
-
* {@link
|
|
112
|
+
* Represents an Enbox Platform Agent, an extended and more feature-rich implementation of a
|
|
113
|
+
* {@link EnboxAgent}.
|
|
113
114
|
*
|
|
114
115
|
* This Agent integrates a comprehensive set of APIs and functionalities, including cryptographic
|
|
115
116
|
* operations, DID management, DWN interaction, identity handling, and data synchronization.
|
|
116
117
|
*
|
|
117
|
-
* The platform agent provides a higher-level abstraction over the core
|
|
118
|
-
* facilitating a robust platform for developing
|
|
118
|
+
* The platform agent provides a higher-level abstraction over the core EnboxAgent functionalities,
|
|
119
|
+
* facilitating a robust platform for developing Enbox applications. It includes lifecycle management
|
|
119
120
|
* methods like initialization and startup, alongside a suite of specialized APIs and utilities.
|
|
120
121
|
*
|
|
121
122
|
* @typeParam TKeyManager - The type of Key Manager used to manage cryptographic keys.
|
|
122
123
|
*/
|
|
123
|
-
export interface
|
|
124
|
+
export interface EnboxPlatformAgent<TKeyManager extends AgentKeyManager = AgentKeyManager> extends EnboxAgent {
|
|
124
125
|
/**
|
|
125
126
|
* The cryptography API, essential for performing various cryptographic operations such
|
|
126
127
|
* as encryption, decryption, signing, and verification, ensuring secure data handling and
|
|
127
|
-
* communication within the
|
|
128
|
+
* communication within the Enbox platform.
|
|
128
129
|
*/
|
|
129
130
|
crypto: AgentCryptoApi;
|
|
130
131
|
|
|
@@ -136,13 +137,13 @@ export interface Web5PlatformAgent<TKeyManager extends AgentKeyManager = AgentKe
|
|
|
136
137
|
|
|
137
138
|
/**
|
|
138
139
|
* The DWN API, enabling the Agent to interact with Decentralized Web Nodes (DWNs) and handle
|
|
139
|
-
* requests from
|
|
140
|
+
* requests from Enbox applications.
|
|
140
141
|
*/
|
|
141
142
|
dwn: AgentDwnApi;
|
|
142
143
|
|
|
143
144
|
/**
|
|
144
145
|
* The identity management API, handling identity-related operations and allowing the agent to
|
|
145
|
-
* manage
|
|
146
|
+
* manage Enbox identities, supporting operations like identity creation and update.
|
|
146
147
|
*/
|
|
147
148
|
identity: AgentIdentityApi<TKeyManager>;
|
|
148
149
|
|
|
@@ -158,10 +159,10 @@ export interface Web5PlatformAgent<TKeyManager extends AgentKeyManager = AgentKe
|
|
|
158
159
|
permissions: AgentPermissionsApi;
|
|
159
160
|
|
|
160
161
|
/**
|
|
161
|
-
* The RPC (Remote Procedure Call) client interface, facilitating communication with other
|
|
162
|
-
*
|
|
162
|
+
* The RPC (Remote Procedure Call) client interface, facilitating communication with other Enbox
|
|
163
|
+
* agents and services.
|
|
163
164
|
*/
|
|
164
|
-
rpc:
|
|
165
|
+
rpc: EnboxRpc;
|
|
165
166
|
|
|
166
167
|
/**
|
|
167
168
|
* The synchronization API, responsible for managing the consistency and real-time update of the
|
|
@@ -170,7 +171,7 @@ export interface Web5PlatformAgent<TKeyManager extends AgentKeyManager = AgentKe
|
|
|
170
171
|
sync: AgentSyncApi;
|
|
171
172
|
|
|
172
173
|
/**
|
|
173
|
-
* An instance of {@link IdentityVault}, providing secure storage and management of
|
|
174
|
+
* An instance of {@link IdentityVault}, providing secure storage and management of an Enbox Agent's
|
|
174
175
|
* DID and cryptographic keys.
|
|
175
176
|
*/
|
|
176
177
|
vault: IdentityVault;
|
|
@@ -183,7 +184,7 @@ export interface Web5PlatformAgent<TKeyManager extends AgentKeyManager = AgentKe
|
|
|
183
184
|
|
|
184
185
|
/**
|
|
185
186
|
* Initializes the agent with essential parameters (e.g., a passphrase) and prepares it for
|
|
186
|
-
* processing
|
|
187
|
+
* processing requests.
|
|
187
188
|
*/
|
|
188
189
|
initialize(params: unknown): Promise<unknown>;
|
|
189
190
|
|
|
@@ -192,4 +193,14 @@ export interface Web5PlatformAgent<TKeyManager extends AgentKeyManager = AgentKe
|
|
|
192
193
|
* normal operation and readiness to process requests.
|
|
193
194
|
*/
|
|
194
195
|
start(params: unknown): Promise<unknown>;
|
|
195
|
-
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
// ---------------------------------------------------------------------------
|
|
199
|
+
// Deprecated aliases — migration aid
|
|
200
|
+
// ---------------------------------------------------------------------------
|
|
201
|
+
|
|
202
|
+
/** @deprecated Use {@link EnboxAgent} instead. Will be removed in a future version. */
|
|
203
|
+
export type Web5Agent = EnboxAgent;
|
|
204
|
+
|
|
205
|
+
/** @deprecated Use {@link EnboxPlatformAgent} instead. Will be removed in a future version. */
|
|
206
|
+
export type Web5PlatformAgent<TKeyManager extends AgentKeyManager = LocalKeyManager> = EnboxPlatformAgent<TKeyManager>;
|
package/src/types/identity.ts
CHANGED
package/src/types/key-manager.ts
CHANGED
|
@@ -16,7 +16,7 @@ import type {
|
|
|
16
16
|
PublicKeyJwk,
|
|
17
17
|
} from '@enbox/crypto';
|
|
18
18
|
|
|
19
|
-
import type {
|
|
19
|
+
import type { EnboxPlatformAgent } from './agent.js';
|
|
20
20
|
|
|
21
21
|
export interface AgentKeyManager extends KeyManager,
|
|
22
22
|
Cipher<KmsCipherParams, KmsCipherParams>,
|
|
@@ -25,7 +25,7 @@ export interface AgentKeyManager extends KeyManager,
|
|
|
25
25
|
KeyDeleter<KmsDeleteKeyParams>,
|
|
26
26
|
KeyWrapper<KmsUriWrapKeyParams, KmsUriUnwrapKeyParams> {
|
|
27
27
|
|
|
28
|
-
agent:
|
|
28
|
+
agent: EnboxPlatformAgent;
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* Derives an HD child public key from a stored private key using HKDF-SHA256
|
package/src/types/sync.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { EnboxPlatformAgent } from './agent.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* The SyncEngine is responsible for syncing messages between the agent and the platform.
|
|
@@ -58,7 +58,7 @@ export interface SyncEngine {
|
|
|
58
58
|
/**
|
|
59
59
|
* The agent that the SyncEngine is attached to.
|
|
60
60
|
*/
|
|
61
|
-
agent:
|
|
61
|
+
agent: EnboxPlatformAgent;
|
|
62
62
|
|
|
63
63
|
/**
|
|
64
64
|
* Current connectivity state as observed by the sync engine.
|
package/src/utils-internal.ts
CHANGED
|
@@ -2,10 +2,10 @@ import type { Jwk, KeyIdentifier, KmsExportKeyParams, KmsGetPublicKeyParams, Kms
|
|
|
2
2
|
|
|
3
3
|
import { computeJwkThumbprint, Ed25519, LocalKeyManager } from '@enbox/crypto';
|
|
4
4
|
|
|
5
|
-
import type {
|
|
5
|
+
import type { EnboxPlatformAgent } from './types/agent.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* Internal utility functions used by the
|
|
8
|
+
* Internal utility functions used by the Enbox platform agent that are not intended for public use
|
|
9
9
|
* and are not exported in the public API.
|
|
10
10
|
*/
|
|
11
11
|
|
|
@@ -121,14 +121,14 @@ export class DeterministicKeyGenerator extends LocalKeyManager {
|
|
|
121
121
|
* This approach ensures operations are isolated by DID, supporting multi-tenancy.
|
|
122
122
|
*
|
|
123
123
|
* @param params - The parameters for determining the tenant.
|
|
124
|
-
* @param params.agent - The
|
|
124
|
+
* @param params.agent - The Enbox platform agent instance.
|
|
125
125
|
* @param [params.tenant] - An optional tenant DID. If provided, it takes precedence.
|
|
126
126
|
* @param [params.didUri] - An optional DID URI to use if no tenant DID or agent DID is available.
|
|
127
127
|
* @returns A promise that resolves to the tenant DID.
|
|
128
128
|
* @throws Throws an error if it fails to determine the tenant from the provided inputs.
|
|
129
129
|
*/
|
|
130
130
|
export async function getDataStoreTenant({ agent, tenant, didUri }: {
|
|
131
|
-
agent:
|
|
131
|
+
agent: EnboxPlatformAgent;
|
|
132
132
|
tenant?: string;
|
|
133
133
|
didUri?: string;
|
|
134
134
|
}): Promise<string> {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web5-user-agent.js","sourceRoot":"","sources":["../../src/web5-user-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web5-user-agent.d.ts","sourceRoot":"","sources":["../../src/web5-user-agent.ts"],"names":[],"mappings":"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"}
|