@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.
Files changed (90) hide show
  1. package/dist/agent/agent-did-manager.d.ts +50 -0
  2. package/dist/agent/agent-did-manager.d.ts.map +1 -0
  3. package/dist/auth/auth-provider.d.ts +51 -0
  4. package/dist/auth/auth-provider.d.ts.map +1 -0
  5. package/dist/auth/index.d.ts +2 -0
  6. package/dist/auth/index.d.ts.map +1 -0
  7. package/dist/client.d.ts +80 -0
  8. package/dist/client.d.ts.map +1 -0
  9. package/dist/config/index.d.ts +30 -0
  10. package/dist/config/index.d.ts.map +1 -0
  11. package/dist/constraint/__tests__/fixtures/constraint.fixtures.d.ts +56 -0
  12. package/dist/constraint/__tests__/fixtures/constraint.fixtures.d.ts.map +1 -0
  13. package/dist/constraint/constraint-evaluator.d.ts +72 -0
  14. package/dist/constraint/constraint-evaluator.d.ts.map +1 -0
  15. package/dist/constraint/index.d.ts +5 -0
  16. package/dist/constraint/index.d.ts.map +1 -0
  17. package/dist/did/agent.d.ts +52 -0
  18. package/dist/did/agent.d.ts.map +1 -0
  19. package/dist/did/did-utils.d.ts +75 -0
  20. package/dist/did/did-utils.d.ts.map +1 -0
  21. package/dist/did/key-manager.d.ts +19 -0
  22. package/dist/did/key-manager.d.ts.map +1 -0
  23. package/dist/gateway/gateway-client.d.ts +103 -0
  24. package/dist/gateway/gateway-client.d.ts.map +1 -0
  25. package/dist/gateway/index.d.ts +2 -0
  26. package/dist/gateway/index.d.ts.map +1 -0
  27. package/dist/grant/grant-manager.d.ts +140 -0
  28. package/dist/grant/grant-manager.d.ts.map +1 -0
  29. package/dist/grant/index.d.ts +2 -0
  30. package/dist/grant/index.d.ts.map +1 -0
  31. package/dist/identity/device-enroll-manager.d.ts +111 -0
  32. package/dist/identity/device-enroll-manager.d.ts.map +1 -0
  33. package/dist/identity/user-identity-manager.d.ts +69 -0
  34. package/dist/identity/user-identity-manager.d.ts.map +1 -0
  35. package/dist/identity/user-key-pair-manager.d.ts +22 -0
  36. package/dist/identity/user-key-pair-manager.d.ts.map +1 -0
  37. package/dist/index.d.ts +32 -3013
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +483 -45
  40. package/dist/index.js.map +1 -1
  41. package/dist/index.mjs +482 -49
  42. package/dist/index.mjs.map +1 -1
  43. package/dist/memory/memory-manager.d.ts +71 -0
  44. package/dist/memory/memory-manager.d.ts.map +1 -0
  45. package/dist/monitoring/metrics-manager.d.ts +74 -0
  46. package/dist/monitoring/metrics-manager.d.ts.map +1 -0
  47. package/dist/organization/disclosure-config-manager.d.ts +61 -0
  48. package/dist/organization/disclosure-config-manager.d.ts.map +1 -0
  49. package/dist/organization/key-rotation-manager.d.ts +63 -0
  50. package/dist/organization/key-rotation-manager.d.ts.map +1 -0
  51. package/dist/organization/organization-manager.d.ts +38 -0
  52. package/dist/organization/organization-manager.d.ts.map +1 -0
  53. package/dist/registry/access-orchestrator.d.ts +183 -0
  54. package/dist/registry/access-orchestrator.d.ts.map +1 -0
  55. package/dist/registry/action-registry-json.d.ts +1363 -0
  56. package/dist/registry/action-registry-json.d.ts.map +1 -0
  57. package/dist/registry/action-registry.d.ts +65 -0
  58. package/dist/registry/action-registry.d.ts.map +1 -0
  59. package/dist/registry/index.d.ts +4 -0
  60. package/dist/registry/index.d.ts.map +1 -0
  61. package/dist/revocation/revocation-manager.d.ts +98 -0
  62. package/dist/revocation/revocation-manager.d.ts.map +1 -0
  63. package/dist/state/index.d.ts +3 -0
  64. package/dist/state/index.d.ts.map +1 -0
  65. package/dist/state/json-state-store.d.ts +24 -0
  66. package/dist/state/json-state-store.d.ts.map +1 -0
  67. package/dist/state/state-store.interface.d.ts +37 -0
  68. package/dist/state/state-store.interface.d.ts.map +1 -0
  69. package/dist/storage/filesystem-key-storage.d.ts +16 -0
  70. package/dist/storage/filesystem-key-storage.d.ts.map +1 -0
  71. package/dist/storage/index.d.ts +4 -0
  72. package/dist/storage/index.d.ts.map +1 -0
  73. package/dist/storage/key-storage.interface.d.ts +42 -0
  74. package/dist/storage/key-storage.interface.d.ts.map +1 -0
  75. package/dist/storage/memory-key-storage.d.ts +17 -0
  76. package/dist/storage/memory-key-storage.d.ts.map +1 -0
  77. package/dist/tool/tool-manager.d.ts +44 -0
  78. package/dist/tool/tool-manager.d.ts.map +1 -0
  79. package/dist/utils/crypto.d.ts +22 -0
  80. package/dist/utils/crypto.d.ts.map +1 -0
  81. package/dist/utils/sdjwt-client.d.ts +168 -0
  82. package/dist/utils/sdjwt-client.d.ts.map +1 -0
  83. package/dist/vc/api-vc-manager.d.ts +40 -0
  84. package/dist/vc/api-vc-manager.d.ts.map +1 -0
  85. package/dist/vc/vc-manager.d.ts +55 -0
  86. package/dist/vc/vc-manager.d.ts.map +1 -0
  87. package/dist/vp/vp-manager.d.ts +40 -0
  88. package/dist/vp/vp-manager.d.ts.map +1 -0
  89. package/package.json +2 -2
  90. 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,2 @@
1
+ export * from './grant-manager';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}