@vess-id/ai-identity 0.2.0 → 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/agent/agent-did-manager.d.ts +50 -0
- package/dist/agent/agent-did-manager.d.ts.map +1 -0
- package/dist/auth/auth-provider.d.ts +51 -0
- package/dist/auth/auth-provider.d.ts.map +1 -0
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/client.d.ts +80 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/config/index.d.ts +30 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/constraint/__tests__/fixtures/constraint.fixtures.d.ts +56 -0
- package/dist/constraint/__tests__/fixtures/constraint.fixtures.d.ts.map +1 -0
- package/dist/constraint/constraint-evaluator.d.ts +72 -0
- package/dist/constraint/constraint-evaluator.d.ts.map +1 -0
- package/dist/constraint/index.d.ts +5 -0
- package/dist/constraint/index.d.ts.map +1 -0
- package/dist/did/agent.d.ts +52 -0
- package/dist/did/agent.d.ts.map +1 -0
- package/dist/did/did-utils.d.ts +75 -0
- package/dist/did/did-utils.d.ts.map +1 -0
- package/dist/did/key-manager.d.ts +19 -0
- package/dist/did/key-manager.d.ts.map +1 -0
- package/dist/gateway/gateway-client.d.ts +103 -0
- package/dist/gateway/gateway-client.d.ts.map +1 -0
- package/dist/gateway/index.d.ts +2 -0
- package/dist/gateway/index.d.ts.map +1 -0
- package/dist/grant/grant-manager.d.ts +140 -0
- package/dist/grant/grant-manager.d.ts.map +1 -0
- package/dist/grant/index.d.ts +2 -0
- package/dist/grant/index.d.ts.map +1 -0
- package/dist/identity/device-enroll-manager.d.ts +111 -0
- package/dist/identity/device-enroll-manager.d.ts.map +1 -0
- package/dist/identity/user-identity-manager.d.ts +69 -0
- package/dist/identity/user-identity-manager.d.ts.map +1 -0
- package/dist/identity/user-key-pair-manager.d.ts +22 -0
- package/dist/identity/user-key-pair-manager.d.ts.map +1 -0
- package/dist/index.d.ts +32 -3013
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +483 -45
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +482 -49
- package/dist/index.mjs.map +1 -1
- package/dist/memory/memory-manager.d.ts +71 -0
- package/dist/memory/memory-manager.d.ts.map +1 -0
- package/dist/monitoring/metrics-manager.d.ts +74 -0
- package/dist/monitoring/metrics-manager.d.ts.map +1 -0
- package/dist/organization/disclosure-config-manager.d.ts +61 -0
- package/dist/organization/disclosure-config-manager.d.ts.map +1 -0
- package/dist/organization/key-rotation-manager.d.ts +63 -0
- package/dist/organization/key-rotation-manager.d.ts.map +1 -0
- package/dist/organization/organization-manager.d.ts +38 -0
- package/dist/organization/organization-manager.d.ts.map +1 -0
- package/dist/registry/access-orchestrator.d.ts +183 -0
- package/dist/registry/access-orchestrator.d.ts.map +1 -0
- package/dist/registry/action-registry-json.d.ts +1363 -0
- package/dist/registry/action-registry-json.d.ts.map +1 -0
- package/dist/registry/action-registry.d.ts +65 -0
- package/dist/registry/action-registry.d.ts.map +1 -0
- package/dist/registry/index.d.ts +4 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/revocation/revocation-manager.d.ts +98 -0
- package/dist/revocation/revocation-manager.d.ts.map +1 -0
- package/dist/state/index.d.ts +3 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/json-state-store.d.ts +24 -0
- package/dist/state/json-state-store.d.ts.map +1 -0
- package/dist/state/state-store.interface.d.ts +37 -0
- package/dist/state/state-store.interface.d.ts.map +1 -0
- package/dist/storage/filesystem-key-storage.d.ts +16 -0
- package/dist/storage/filesystem-key-storage.d.ts.map +1 -0
- package/dist/storage/index.d.ts +4 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/key-storage.interface.d.ts +42 -0
- package/dist/storage/key-storage.interface.d.ts.map +1 -0
- package/dist/storage/memory-key-storage.d.ts +17 -0
- package/dist/storage/memory-key-storage.d.ts.map +1 -0
- package/dist/tool/tool-manager.d.ts +44 -0
- package/dist/tool/tool-manager.d.ts.map +1 -0
- package/dist/utils/crypto.d.ts +22 -0
- package/dist/utils/crypto.d.ts.map +1 -0
- package/dist/utils/sdjwt-client.d.ts +168 -0
- package/dist/utils/sdjwt-client.d.ts.map +1 -0
- package/dist/vc/api-vc-manager.d.ts +40 -0
- package/dist/vc/api-vc-manager.d.ts.map +1 -0
- package/dist/vc/vc-manager.d.ts +55 -0
- package/dist/vc/vc-manager.d.ts.map +1 -0
- package/dist/vp/vp-manager.d.ts +40 -0
- package/dist/vp/vp-manager.d.ts.map +1 -0
- package/package.json +2 -2
- package/dist/index.d.mts +0 -3014
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { VPManager } from '../vp/vp-manager';
|
|
2
|
+
import { Grant, GrantStatus, CreateGrantRequest, UpdateGrantRequest, CheckGrantPermissionRequest, CheckGrantPermissionResult } from '@vess-id/ai-identity-types';
|
|
3
|
+
/**
|
|
4
|
+
* Grant提案レスポンス
|
|
5
|
+
*/
|
|
6
|
+
export interface GrantSuggestion {
|
|
7
|
+
id: string;
|
|
8
|
+
oauthTokenId: string;
|
|
9
|
+
userId?: string;
|
|
10
|
+
projectId: string;
|
|
11
|
+
provider: string;
|
|
12
|
+
suggestedActions: string[];
|
|
13
|
+
suggestedResources: Array<{
|
|
14
|
+
type: string;
|
|
15
|
+
id?: string;
|
|
16
|
+
pattern?: string;
|
|
17
|
+
name?: string;
|
|
18
|
+
}>;
|
|
19
|
+
metadata: {
|
|
20
|
+
providerInfo: any;
|
|
21
|
+
scopes: string[];
|
|
22
|
+
};
|
|
23
|
+
createdAt: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Grant提案確認リクエスト
|
|
27
|
+
*/
|
|
28
|
+
export interface ConfirmGrantRequest {
|
|
29
|
+
suggestionId: string;
|
|
30
|
+
selectedActions: string[];
|
|
31
|
+
selectedResources: Array<{
|
|
32
|
+
type: string;
|
|
33
|
+
id?: string;
|
|
34
|
+
pattern?: string;
|
|
35
|
+
name?: string;
|
|
36
|
+
selected: boolean;
|
|
37
|
+
}>;
|
|
38
|
+
constraints: {
|
|
39
|
+
maxInvocations?: number;
|
|
40
|
+
expiresAt?: string;
|
|
41
|
+
timeWindow?: {
|
|
42
|
+
start: string;
|
|
43
|
+
end: string;
|
|
44
|
+
timezone: string;
|
|
45
|
+
daysOfWeek: number[];
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
name?: string;
|
|
49
|
+
description?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* GrantManager
|
|
53
|
+
* Grants APIを操作するSDKクライアント
|
|
54
|
+
*/
|
|
55
|
+
export declare class GrantManager {
|
|
56
|
+
constructor(_vpManager: VPManager);
|
|
57
|
+
/**
|
|
58
|
+
* Grant提案を取得
|
|
59
|
+
* @param options - 提案オプション
|
|
60
|
+
* @param options.oauthTokenId - OAuthトークンID
|
|
61
|
+
* @param options.userId - 対象ユーザーID
|
|
62
|
+
* @param options.projectId - プロジェクトID
|
|
63
|
+
* @param authOptions - 認証オプション(VP or issuerDid)
|
|
64
|
+
*/
|
|
65
|
+
suggest(options: {
|
|
66
|
+
oauthTokenId: string;
|
|
67
|
+
userId: string;
|
|
68
|
+
projectId: string;
|
|
69
|
+
}, authOptions: {
|
|
70
|
+
vpJwt?: string;
|
|
71
|
+
issuerDid?: string;
|
|
72
|
+
}): Promise<GrantSuggestion>;
|
|
73
|
+
/**
|
|
74
|
+
* Grant提案を確認して作成
|
|
75
|
+
* @param request - 確認リクエスト
|
|
76
|
+
* @param authOptions - 認証オプション
|
|
77
|
+
*/
|
|
78
|
+
confirm(request: ConfirmGrantRequest, authOptions: {
|
|
79
|
+
vpJwt?: string;
|
|
80
|
+
issuerDid?: string;
|
|
81
|
+
}): Promise<Grant>;
|
|
82
|
+
/**
|
|
83
|
+
* Grantを直接作成
|
|
84
|
+
* @param request - Grant作成リクエスト
|
|
85
|
+
* @param authOptions - 認証オプション
|
|
86
|
+
*/
|
|
87
|
+
create(request: CreateGrantRequest, authOptions: {
|
|
88
|
+
vpJwt?: string;
|
|
89
|
+
issuerDid?: string;
|
|
90
|
+
}): Promise<Grant>;
|
|
91
|
+
/**
|
|
92
|
+
* ユーザー用のGrant一覧を取得
|
|
93
|
+
* @param userId - ユーザーID
|
|
94
|
+
* @param status - フィルタするステータス(オプション)
|
|
95
|
+
*/
|
|
96
|
+
listForUser(userId: string, status?: GrantStatus): Promise<{
|
|
97
|
+
grants: Grant[];
|
|
98
|
+
total: number;
|
|
99
|
+
}>;
|
|
100
|
+
/**
|
|
101
|
+
* Issuer用のGrant一覧を取得
|
|
102
|
+
* @param issuerDid - IssuerのDID
|
|
103
|
+
* @param status - フィルタするステータス(オプション)
|
|
104
|
+
*/
|
|
105
|
+
listForIssuer(issuerDid: string, status?: GrantStatus): Promise<{
|
|
106
|
+
grants: Grant[];
|
|
107
|
+
total: number;
|
|
108
|
+
}>;
|
|
109
|
+
/**
|
|
110
|
+
* Grantを取得
|
|
111
|
+
* @param grantId - GrantのID
|
|
112
|
+
*/
|
|
113
|
+
get(grantId: string): Promise<Grant>;
|
|
114
|
+
/**
|
|
115
|
+
* Grantを取り消し
|
|
116
|
+
* @param grantId - GrantのID
|
|
117
|
+
* @param reason - 取り消し理由
|
|
118
|
+
* @param authOptions - 認証オプション
|
|
119
|
+
*/
|
|
120
|
+
revoke(grantId: string, reason: string, authOptions: {
|
|
121
|
+
vpJwt?: string;
|
|
122
|
+
issuerDid?: string;
|
|
123
|
+
}): Promise<Grant>;
|
|
124
|
+
/**
|
|
125
|
+
* Grant権限をチェック
|
|
126
|
+
* @param request - 権限チェックリクエスト
|
|
127
|
+
*/
|
|
128
|
+
checkPermission(request: CheckGrantPermissionRequest): Promise<CheckGrantPermissionResult>;
|
|
129
|
+
/**
|
|
130
|
+
* Grant更新
|
|
131
|
+
* @param grantId - GrantのID
|
|
132
|
+
* @param request - 更新リクエスト
|
|
133
|
+
* @param authOptions - 認証オプション
|
|
134
|
+
*/
|
|
135
|
+
update(grantId: string, request: UpdateGrantRequest, authOptions: {
|
|
136
|
+
vpJwt?: string;
|
|
137
|
+
issuerDid?: string;
|
|
138
|
+
}): Promise<Grant>;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=grant-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grant-manager.d.ts","sourceRoot":"","sources":["../../src/grant/grant-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/grant/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Device Enrollment Manager
|
|
3
|
+
*
|
|
4
|
+
* Handles the device code flow for registering a User Root DID
|
|
5
|
+
* without requiring an API key. Supports two modes:
|
|
6
|
+
*
|
|
7
|
+
* Client-generated (local mode):
|
|
8
|
+
* 1. Client calls startDeviceEnrollment() with rootDid + publicKeyJwk
|
|
9
|
+
* 2. Client presents user_code and verification_url to the user
|
|
10
|
+
* 3. User approves in browser
|
|
11
|
+
* 4. Client polls until approved, receives device_session_token
|
|
12
|
+
*
|
|
13
|
+
* Server-generated (remote mode):
|
|
14
|
+
* 1. Client calls startServerSideEnrollment() with clientInfo only
|
|
15
|
+
* 2. Server returns user_code + verification_url (DID generated on approval)
|
|
16
|
+
* 3. User approves in browser
|
|
17
|
+
* 4. Client polls until approved, receives rootDid + device_session_token
|
|
18
|
+
*/
|
|
19
|
+
export interface DeviceEnrollStartParams {
|
|
20
|
+
rootDid: string;
|
|
21
|
+
publicKeyJwk: {
|
|
22
|
+
kty: string;
|
|
23
|
+
crv: string;
|
|
24
|
+
x: string;
|
|
25
|
+
y?: string;
|
|
26
|
+
use?: string;
|
|
27
|
+
alg?: string;
|
|
28
|
+
};
|
|
29
|
+
clientInfo?: {
|
|
30
|
+
deviceName?: string;
|
|
31
|
+
os?: string;
|
|
32
|
+
appVersion?: string;
|
|
33
|
+
hostname?: string;
|
|
34
|
+
[key: string]: any;
|
|
35
|
+
};
|
|
36
|
+
purpose?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface DeviceEnrollServerSideParams {
|
|
39
|
+
clientInfo?: {
|
|
40
|
+
deviceName?: string;
|
|
41
|
+
os?: string;
|
|
42
|
+
appVersion?: string;
|
|
43
|
+
hostname?: string;
|
|
44
|
+
[key: string]: any;
|
|
45
|
+
};
|
|
46
|
+
purpose?: string;
|
|
47
|
+
}
|
|
48
|
+
export interface DeviceEnrollStartResult {
|
|
49
|
+
requestId: string;
|
|
50
|
+
userCode: string;
|
|
51
|
+
verificationUrl: string;
|
|
52
|
+
expiresAt: string;
|
|
53
|
+
}
|
|
54
|
+
export interface DeviceEnrollPollResult {
|
|
55
|
+
status: 'pending' | 'approved' | 'expired' | 'denied';
|
|
56
|
+
deviceSessionToken?: string;
|
|
57
|
+
expiresAt?: string;
|
|
58
|
+
rootDid?: string;
|
|
59
|
+
}
|
|
60
|
+
export declare class DeviceEnrollManager {
|
|
61
|
+
private baseUrl;
|
|
62
|
+
constructor(baseUrl: string);
|
|
63
|
+
/**
|
|
64
|
+
* Start the device enrollment flow.
|
|
65
|
+
* Sends the root DID public key to the Gateway and gets a user code.
|
|
66
|
+
*
|
|
67
|
+
* @param params - Root DID public info and client metadata
|
|
68
|
+
* @returns Request ID, user code, and verification URL
|
|
69
|
+
*/
|
|
70
|
+
startDeviceEnrollment(params: DeviceEnrollStartParams): Promise<DeviceEnrollStartResult>;
|
|
71
|
+
/**
|
|
72
|
+
* Start the device enrollment flow with server-side DID generation.
|
|
73
|
+
* The server generates the real key pair on approval (not at start time).
|
|
74
|
+
* Use this for remote/cloud-managed mode.
|
|
75
|
+
*
|
|
76
|
+
* @param params - Client metadata (no DID or key needed)
|
|
77
|
+
* @returns Request ID, user code, and verification URL
|
|
78
|
+
*/
|
|
79
|
+
startServerSideEnrollment(params: DeviceEnrollServerSideParams): Promise<DeviceEnrollStartResult>;
|
|
80
|
+
/**
|
|
81
|
+
* Poll for enrollment status.
|
|
82
|
+
* Call this periodically after startDeviceEnrollment() to check if
|
|
83
|
+
* the user has approved the enrollment in the web UI.
|
|
84
|
+
*
|
|
85
|
+
* @param requestId - The request ID from startDeviceEnrollment()
|
|
86
|
+
* @returns Current status and token if approved
|
|
87
|
+
*/
|
|
88
|
+
pollDeviceEnrollment(requestId: string): Promise<DeviceEnrollPollResult>;
|
|
89
|
+
/**
|
|
90
|
+
* Convenience method: Start enrollment and poll until completion.
|
|
91
|
+
* Returns the final result (approved, expired, or denied).
|
|
92
|
+
*
|
|
93
|
+
* @param params - Enrollment parameters (client-generated mode)
|
|
94
|
+
* @param onUserCode - Callback when user code is available (present to user)
|
|
95
|
+
* @param pollIntervalMs - Polling interval in ms (default: 3000)
|
|
96
|
+
* @param maxPolls - Maximum number of poll attempts (default: 120)
|
|
97
|
+
*/
|
|
98
|
+
enrollAndWait(params: DeviceEnrollStartParams, onUserCode: (info: DeviceEnrollStartResult) => void, pollIntervalMs?: number, maxPolls?: number): Promise<DeviceEnrollPollResult>;
|
|
99
|
+
/**
|
|
100
|
+
* Convenience method: Start server-side enrollment and poll until completion.
|
|
101
|
+
* Returns the final result including the server-generated rootDid on approval.
|
|
102
|
+
*
|
|
103
|
+
* @param params - Client metadata (server-generated mode)
|
|
104
|
+
* @param onUserCode - Callback when user code is available (present to user)
|
|
105
|
+
* @param pollIntervalMs - Polling interval in ms (default: 3000)
|
|
106
|
+
* @param maxPolls - Maximum number of poll attempts (default: 120)
|
|
107
|
+
*/
|
|
108
|
+
enrollServerSideAndWait(params: DeviceEnrollServerSideParams, onUserCode: (info: DeviceEnrollStartResult) => void, pollIntervalMs?: number, maxPolls?: number): Promise<DeviceEnrollPollResult>;
|
|
109
|
+
private pollUntilComplete;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=device-enroll-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-enroll-manager.d.ts","sourceRoot":"","sources":["../../src/identity/device-enroll-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE;QACZ,GAAG,EAAE,MAAM,CAAA;QACX,GAAG,EAAE,MAAM,CAAA;QACX,CAAC,EAAE,MAAM,CAAA;QACT,CAAC,CAAC,EAAE,MAAM,CAAA;QACV,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,GAAG,CAAC,EAAE,MAAM,CAAA;KACb,CAAA;IACD,UAAU,CAAC,EAAE;QACX,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KACnB,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,UAAU,CAAC,EAAE;QACX,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KACnB,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAA;IACrD,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAQ;gBAEX,OAAO,EAAE,MAAM;IAI3B;;;;;;OAMG;IACG,qBAAqB,CACzB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;IA2BnC;;;;;;;OAOG;IACG,yBAAyB,CAC7B,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,uBAAuB,CAAC;IA0BnC;;;;;;;OAOG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAsB9E;;;;;;;;OAQG;IACG,aAAa,CACjB,MAAM,EAAE,uBAAuB,EAC/B,UAAU,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,EACnD,cAAc,GAAE,MAAa,EAC7B,QAAQ,GAAE,MAAY,GACrB,OAAO,CAAC,sBAAsB,CAAC;IAKlC;;;;;;;;OAQG;IACG,uBAAuB,CAC3B,MAAM,EAAE,4BAA4B,EACpC,UAAU,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,EACnD,cAAc,GAAE,MAAa,EAC7B,QAAQ,GAAE,MAAY,GACrB,OAAO,CAAC,sBAAsB,CAAC;YAKpB,iBAAiB;CAoBhC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { KeyManager } from '../did/key-manager';
|
|
2
|
+
import { DIDDocument } from '@vess-id/ai-identity-types';
|
|
3
|
+
/**
|
|
4
|
+
* User Identity Manager
|
|
5
|
+
* Manages DID generation and lifecycle for Users (Issuers) specifically
|
|
6
|
+
* Separate from Agent management to avoid confusion
|
|
7
|
+
*/
|
|
8
|
+
export declare class UserIdentityManager {
|
|
9
|
+
private keyManager;
|
|
10
|
+
private currentUserDID;
|
|
11
|
+
constructor(keyManager?: KeyManager);
|
|
12
|
+
/**
|
|
13
|
+
* Get or create current user DID
|
|
14
|
+
* This represents the user who will be the issuer of VCs
|
|
15
|
+
*/
|
|
16
|
+
getCurrentUserDID(): Promise<string>;
|
|
17
|
+
/**
|
|
18
|
+
* Create a new user DID (for issuing VCs)
|
|
19
|
+
*/
|
|
20
|
+
createUserDID(): Promise<string>;
|
|
21
|
+
/**
|
|
22
|
+
* Get user's key pair
|
|
23
|
+
*/
|
|
24
|
+
getUserKeyPair(): Promise<any>;
|
|
25
|
+
/**
|
|
26
|
+
* Resolve user DID to DID Document
|
|
27
|
+
*/
|
|
28
|
+
resolveUserDID(did?: string): Promise<DIDDocument>;
|
|
29
|
+
/**
|
|
30
|
+
* Export user identity for backup
|
|
31
|
+
*/
|
|
32
|
+
exportUserIdentity(): Promise<{
|
|
33
|
+
did: string;
|
|
34
|
+
privateKey: any;
|
|
35
|
+
didDocument: DIDDocument;
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* Import user identity from backup
|
|
39
|
+
*/
|
|
40
|
+
importUserIdentity(backup: {
|
|
41
|
+
did: string;
|
|
42
|
+
privateKey: any;
|
|
43
|
+
}): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Reset user identity (create new DID)
|
|
46
|
+
*/
|
|
47
|
+
resetUserIdentity(): Promise<string>;
|
|
48
|
+
/**
|
|
49
|
+
* Resolve did:jwk locally
|
|
50
|
+
*/
|
|
51
|
+
private resolveDidJwkLocally;
|
|
52
|
+
/**
|
|
53
|
+
* Create DID Document
|
|
54
|
+
*/
|
|
55
|
+
private createDidDocument;
|
|
56
|
+
/**
|
|
57
|
+
* Save current user DID to persistent storage
|
|
58
|
+
*/
|
|
59
|
+
private saveUserDID;
|
|
60
|
+
/**
|
|
61
|
+
* Load current user DID from persistent storage
|
|
62
|
+
*/
|
|
63
|
+
private loadUserDID;
|
|
64
|
+
/**
|
|
65
|
+
* Clear saved user DID
|
|
66
|
+
*/
|
|
67
|
+
private clearUserDID;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=user-identity-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-identity-manager.d.ts","sourceRoot":"","sources":["../../src/identity/user-identity-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,cAAc,CAAsB;gBAEhC,UAAU,CAAC,EAAE,UAAU;IAInC;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAgB1C;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAiBtC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IAcpC;;OAEG;IACG,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAUxD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,GAAG,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,CAAC;IAY/F;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASjF;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAY1C;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAK5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;OAEG;YACW,WAAW;IAYzB;;OAEG;YACW,WAAW;IAczB;;OAEG;YACW,YAAY;CAa3B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { JWK } from 'jose';
|
|
2
|
+
export interface KeyPairGenerationResult {
|
|
3
|
+
did: string;
|
|
4
|
+
publicKey: JWK;
|
|
5
|
+
privateKey: JWK;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Manages key pair generation for remote user issuer.
|
|
9
|
+
* Generates ES256 key pairs and creates did:jwk DIDs.
|
|
10
|
+
*/
|
|
11
|
+
export declare class UserKeyPairManager {
|
|
12
|
+
/**
|
|
13
|
+
* Generate a new key pair and create a did:jwk DID
|
|
14
|
+
*/
|
|
15
|
+
generateKeyPair(): Promise<KeyPairGenerationResult>;
|
|
16
|
+
/**
|
|
17
|
+
* Extract public key info from a did:jwk DID
|
|
18
|
+
* @throws Error if the DID is not in did:jwk format
|
|
19
|
+
*/
|
|
20
|
+
extractPublicKeyInfo(did: string): JWK;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=user-key-pair-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-key-pair-manager.d.ts","sourceRoot":"","sources":["../../src/identity/user-key-pair-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAE/B,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,GAAG,CAAA;IACd,UAAU,EAAE,GAAG,CAAA;CAChB;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAWzD;;;OAGG;IACH,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;CAMvC"}
|