@calimero-network/mero-js 1.3.0 → 1.4.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/README.md +39 -0
- package/dist/admin-api/admin-client.d.ts +64 -14
- package/dist/admin-api/admin-client.d.ts.map +1 -1
- package/dist/admin-api/admin-client.js +186 -13
- package/dist/admin-api/admin-client.js.map +1 -1
- package/dist/admin-api/admin-types.d.ts +391 -12
- package/dist/admin-api/admin-types.d.ts.map +1 -1
- package/dist/admin-api/admin-types.js +2 -1
- package/dist/admin-api/admin-types.js.map +1 -1
- package/dist/index.browser.mjs +2 -2
- package/dist/index.browser.mjs.map +3 -3
- package/dist/index.cjs +288 -15
- package/dist/index.cjs.map +2 -2
- package/dist/index.mjs +288 -15
- package/dist/index.mjs.map +2 -2
- package/dist/rpc/index.d.ts +2 -1
- package/dist/rpc/index.d.ts.map +1 -1
- package/dist/rpc/index.js +0 -1
- package/dist/rpc/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -11,10 +11,14 @@ export interface InstallApplicationRequest {
|
|
|
11
11
|
url: string;
|
|
12
12
|
hash?: string;
|
|
13
13
|
metadata: number[];
|
|
14
|
+
package?: string;
|
|
15
|
+
version?: string;
|
|
14
16
|
}
|
|
15
17
|
export interface InstallDevApplicationRequest {
|
|
16
18
|
path: string;
|
|
17
|
-
metadata:
|
|
19
|
+
metadata: number[];
|
|
20
|
+
package?: string;
|
|
21
|
+
version?: string;
|
|
18
22
|
}
|
|
19
23
|
export interface InstallApplicationResponseData {
|
|
20
24
|
applicationId: string;
|
|
@@ -45,15 +49,29 @@ export interface GetLatestVersionResponseData {
|
|
|
45
49
|
applicationId: string | null;
|
|
46
50
|
version: string | null;
|
|
47
51
|
}
|
|
52
|
+
export interface ListPackagesResponseData {
|
|
53
|
+
packages: string[];
|
|
54
|
+
}
|
|
55
|
+
export interface ListVersionsResponseData {
|
|
56
|
+
versions: string[];
|
|
57
|
+
}
|
|
48
58
|
export interface CreateContextRequest {
|
|
49
59
|
applicationId: string;
|
|
60
|
+
groupId: string;
|
|
61
|
+
serviceName?: string;
|
|
50
62
|
contextSeed?: string;
|
|
51
63
|
initializationParams?: number[];
|
|
52
|
-
|
|
64
|
+
identitySecret?: string;
|
|
65
|
+
alias?: string;
|
|
53
66
|
}
|
|
54
67
|
export interface CreateContextResponseData {
|
|
55
68
|
contextId: string;
|
|
56
69
|
memberPublicKey: string;
|
|
70
|
+
groupId?: string;
|
|
71
|
+
groupCreated?: boolean;
|
|
72
|
+
}
|
|
73
|
+
export interface DeleteContextRequest {
|
|
74
|
+
requester?: string;
|
|
57
75
|
}
|
|
58
76
|
export interface DeleteContextResponseData {
|
|
59
77
|
isDeleted: boolean;
|
|
@@ -61,11 +79,15 @@ export interface DeleteContextResponseData {
|
|
|
61
79
|
export interface Context {
|
|
62
80
|
id: string;
|
|
63
81
|
applicationId: string;
|
|
82
|
+
serviceName?: string;
|
|
64
83
|
rootHash: string;
|
|
65
84
|
dagHeads: number[][];
|
|
66
85
|
}
|
|
86
|
+
export interface ContextWithGroup extends Context {
|
|
87
|
+
groupId?: string;
|
|
88
|
+
}
|
|
67
89
|
export interface GetContextsResponseData {
|
|
68
|
-
contexts:
|
|
90
|
+
contexts: ContextWithGroup[];
|
|
69
91
|
}
|
|
70
92
|
export interface GenerateContextIdentityResponseData {
|
|
71
93
|
publicKey: string;
|
|
@@ -73,25 +95,49 @@ export interface GenerateContextIdentityResponseData {
|
|
|
73
95
|
export interface GetContextIdentitiesResponseData {
|
|
74
96
|
identities: string[];
|
|
75
97
|
}
|
|
76
|
-
export interface
|
|
98
|
+
export interface JoinContextResponseData {
|
|
77
99
|
contextId: string;
|
|
78
|
-
|
|
79
|
-
validForSeconds: number;
|
|
100
|
+
memberPublicKey: string;
|
|
80
101
|
}
|
|
81
|
-
export
|
|
82
|
-
|
|
83
|
-
|
|
102
|
+
export type ContextGroupResponseData = string | null;
|
|
103
|
+
export interface ContextStorageResponseData {
|
|
104
|
+
sizeInBytes: number;
|
|
84
105
|
}
|
|
85
|
-
export
|
|
106
|
+
export type SyncContextResponseData = null;
|
|
107
|
+
export interface InviteSpecializedNodeRequest {
|
|
86
108
|
contextId: string;
|
|
87
|
-
|
|
109
|
+
inviterId?: string;
|
|
110
|
+
}
|
|
111
|
+
export interface InviteSpecializedNodeResponseData {
|
|
112
|
+
nonce: string;
|
|
113
|
+
}
|
|
114
|
+
export interface UpdateContextApplicationRequest {
|
|
115
|
+
applicationId: string;
|
|
116
|
+
executorPublicKey: string;
|
|
117
|
+
migrateMethod?: string;
|
|
88
118
|
}
|
|
119
|
+
export type UpdateContextApplicationResponseData = Record<string, never>;
|
|
120
|
+
export interface ContextWithExecutors {
|
|
121
|
+
contextId: string;
|
|
122
|
+
executors: string[];
|
|
123
|
+
}
|
|
124
|
+
export type ContextsWithExecutorsResponseData = ContextWithExecutors[];
|
|
89
125
|
export interface UploadBlobRequest {
|
|
90
126
|
data: Uint8Array | ArrayBuffer;
|
|
91
127
|
}
|
|
128
|
+
export interface BlobInfo {
|
|
129
|
+
blobId: string;
|
|
130
|
+
size: number;
|
|
131
|
+
}
|
|
132
|
+
export type UploadBlobResponseData = BlobInfo;
|
|
92
133
|
export interface DeleteBlobResponseData {
|
|
93
|
-
|
|
134
|
+
blobId: string;
|
|
135
|
+
deleted: boolean;
|
|
136
|
+
}
|
|
137
|
+
export interface ListBlobsResponseData {
|
|
138
|
+
blobs: BlobInfo[];
|
|
94
139
|
}
|
|
140
|
+
export type GetBlobResponseData = BlobInfo;
|
|
95
141
|
export interface CreateAliasRequest {
|
|
96
142
|
name: string;
|
|
97
143
|
value: string;
|
|
@@ -103,6 +149,339 @@ export interface AliasEntry {
|
|
|
103
149
|
export interface ListAliasesResponseData {
|
|
104
150
|
aliases: AliasEntry[];
|
|
105
151
|
}
|
|
152
|
+
export type CreateAliasResponseData = Record<string, never>;
|
|
153
|
+
export type DeleteAliasResponseData = Record<string, never>;
|
|
154
|
+
export interface LookupAliasResponseData {
|
|
155
|
+
value?: string;
|
|
156
|
+
}
|
|
157
|
+
export type ListContextIdentityAliasesResponseData = ListAliasesResponseData;
|
|
158
|
+
export type CreateContextIdentityAliasResponseData = Record<string, never>;
|
|
159
|
+
export interface LookupContextIdentityAliasResponseData {
|
|
160
|
+
value?: string;
|
|
161
|
+
}
|
|
162
|
+
export type DeleteContextIdentityAliasResponseData = Record<string, never>;
|
|
163
|
+
export interface GroupInvitationFromAdmin {
|
|
164
|
+
inviterIdentity: number[];
|
|
165
|
+
groupId: number[];
|
|
166
|
+
expirationTimestamp: number;
|
|
167
|
+
secretSalt: number[];
|
|
168
|
+
invitedRole?: number;
|
|
169
|
+
}
|
|
170
|
+
export interface SignedGroupOpenInvitation {
|
|
171
|
+
invitation: GroupInvitationFromAdmin;
|
|
172
|
+
inviterSignature: string;
|
|
173
|
+
}
|
|
174
|
+
export interface RecursiveInvitationEntry {
|
|
175
|
+
groupId: string;
|
|
176
|
+
invitation: SignedGroupOpenInvitation;
|
|
177
|
+
groupAlias?: string;
|
|
178
|
+
}
|
|
179
|
+
export interface Namespace {
|
|
180
|
+
namespaceId: string;
|
|
181
|
+
appKey: string;
|
|
182
|
+
targetApplicationId: string;
|
|
183
|
+
upgradePolicy: string;
|
|
184
|
+
createdAt: number;
|
|
185
|
+
alias?: string;
|
|
186
|
+
memberCount: number;
|
|
187
|
+
contextCount: number;
|
|
188
|
+
subgroupCount: number;
|
|
189
|
+
}
|
|
190
|
+
export type ListNamespacesResponseData = Namespace[];
|
|
191
|
+
export interface NamespaceIdentity {
|
|
192
|
+
namespaceId: string;
|
|
193
|
+
publicKey: string;
|
|
194
|
+
}
|
|
195
|
+
export interface CreateNamespaceRequest {
|
|
196
|
+
applicationId: string;
|
|
197
|
+
upgradePolicy: string;
|
|
198
|
+
alias?: string;
|
|
199
|
+
}
|
|
200
|
+
export interface CreateNamespaceResponseData {
|
|
201
|
+
namespaceId: string;
|
|
202
|
+
}
|
|
203
|
+
export interface DeleteNamespaceRequest {
|
|
204
|
+
requester?: string;
|
|
205
|
+
}
|
|
206
|
+
export interface DeleteNamespaceResponseData {
|
|
207
|
+
isDeleted: boolean;
|
|
208
|
+
}
|
|
209
|
+
export interface CreateNamespaceInvitationRequest {
|
|
210
|
+
requester?: string;
|
|
211
|
+
expirationTimestamp?: number;
|
|
212
|
+
recursive?: boolean;
|
|
213
|
+
}
|
|
214
|
+
export interface CreateNamespaceInvitationResponseData {
|
|
215
|
+
invitation: SignedGroupOpenInvitation;
|
|
216
|
+
groupAlias?: string;
|
|
217
|
+
}
|
|
218
|
+
export interface CreateRecursiveInvitationResponseData {
|
|
219
|
+
invitations: RecursiveInvitationEntry[];
|
|
220
|
+
}
|
|
221
|
+
export interface JoinNamespaceRequest {
|
|
222
|
+
invitation: SignedGroupOpenInvitation;
|
|
223
|
+
groupAlias?: string;
|
|
224
|
+
}
|
|
225
|
+
export interface JoinNamespaceResponseData {
|
|
226
|
+
groupId: string;
|
|
227
|
+
memberIdentity: string;
|
|
228
|
+
governanceOp: string;
|
|
229
|
+
}
|
|
230
|
+
export interface CreateGroupInNamespaceRequest {
|
|
231
|
+
groupId?: string;
|
|
232
|
+
alias?: string;
|
|
233
|
+
}
|
|
234
|
+
export interface CreateGroupInNamespaceResponseData {
|
|
235
|
+
groupId: string;
|
|
236
|
+
}
|
|
237
|
+
export interface SubgroupEntry {
|
|
238
|
+
groupId: string;
|
|
239
|
+
alias?: string;
|
|
240
|
+
}
|
|
241
|
+
export interface CreateGroupRequest {
|
|
242
|
+
applicationId: string;
|
|
243
|
+
upgradePolicy: string;
|
|
244
|
+
groupId?: string;
|
|
245
|
+
appKey?: string;
|
|
246
|
+
alias?: string;
|
|
247
|
+
parentGroupId?: string;
|
|
248
|
+
}
|
|
249
|
+
export interface CreateGroupResponseData {
|
|
250
|
+
groupId: string;
|
|
251
|
+
}
|
|
252
|
+
export interface GroupUpgradeStatus {
|
|
253
|
+
fromVersion: string;
|
|
254
|
+
toVersion: string;
|
|
255
|
+
initiatedAt: number;
|
|
256
|
+
initiatedBy: string;
|
|
257
|
+
status: string;
|
|
258
|
+
total?: number;
|
|
259
|
+
completed?: number;
|
|
260
|
+
failed?: number;
|
|
261
|
+
completedAt?: number;
|
|
262
|
+
}
|
|
263
|
+
export interface GroupInfo {
|
|
264
|
+
groupId: string;
|
|
265
|
+
appKey: string;
|
|
266
|
+
targetApplicationId: string;
|
|
267
|
+
upgradePolicy: string;
|
|
268
|
+
memberCount: number;
|
|
269
|
+
contextCount: number;
|
|
270
|
+
activeUpgrade?: GroupUpgradeStatus;
|
|
271
|
+
defaultCapabilities: number;
|
|
272
|
+
defaultVisibility: string;
|
|
273
|
+
alias?: string;
|
|
274
|
+
}
|
|
275
|
+
export type GroupInfoResponseData = GroupInfo;
|
|
276
|
+
export interface GroupMember {
|
|
277
|
+
identity: string;
|
|
278
|
+
role: string;
|
|
279
|
+
alias?: string;
|
|
280
|
+
}
|
|
281
|
+
export interface ListGroupMembersResponseData {
|
|
282
|
+
data: GroupMember[];
|
|
283
|
+
selfIdentity?: string;
|
|
284
|
+
}
|
|
285
|
+
export interface GroupContextEntry {
|
|
286
|
+
contextId: string;
|
|
287
|
+
alias?: string;
|
|
288
|
+
}
|
|
289
|
+
export type ListGroupContextsResponseData = GroupContextEntry[];
|
|
290
|
+
export interface DeleteGroupRequest {
|
|
291
|
+
requester?: string;
|
|
292
|
+
}
|
|
293
|
+
export interface DeleteGroupResponseData {
|
|
294
|
+
isDeleted: boolean;
|
|
295
|
+
}
|
|
296
|
+
export interface GroupMemberInput {
|
|
297
|
+
identity: string;
|
|
298
|
+
role: string;
|
|
299
|
+
}
|
|
300
|
+
export interface AddGroupMembersRequest {
|
|
301
|
+
members: GroupMemberInput[];
|
|
302
|
+
requester?: string;
|
|
303
|
+
}
|
|
304
|
+
export type AddGroupMembersResponseData = Record<string, never>;
|
|
305
|
+
export interface RemoveGroupMembersRequest {
|
|
306
|
+
members: string[];
|
|
307
|
+
requester?: string;
|
|
308
|
+
}
|
|
309
|
+
export type RemoveGroupMembersResponseData = Record<string, never>;
|
|
310
|
+
export interface UpdateMemberRoleRequest {
|
|
311
|
+
role: string;
|
|
312
|
+
requester?: string;
|
|
313
|
+
}
|
|
314
|
+
export type UpdateMemberRoleResponseData = Record<string, never>;
|
|
315
|
+
export interface MemberCapabilities {
|
|
316
|
+
capabilities: number;
|
|
317
|
+
}
|
|
318
|
+
export interface SetMemberCapabilitiesRequest {
|
|
319
|
+
capabilities: number;
|
|
320
|
+
requester?: string;
|
|
321
|
+
}
|
|
322
|
+
export type SetMemberCapabilitiesResponseData = Record<string, never>;
|
|
323
|
+
export interface SetDefaultCapabilitiesRequest {
|
|
324
|
+
defaultCapabilities: number;
|
|
325
|
+
requester?: string;
|
|
326
|
+
}
|
|
327
|
+
export type SetDefaultCapabilitiesResponseData = Record<string, never>;
|
|
328
|
+
export interface SetDefaultVisibilityRequest {
|
|
329
|
+
defaultVisibility: string;
|
|
330
|
+
requester?: string;
|
|
331
|
+
}
|
|
332
|
+
export type SetDefaultVisibilityResponseData = Record<string, never>;
|
|
333
|
+
export interface SetTeeAdmissionPolicyRequest {
|
|
334
|
+
allowedMrtd: string[];
|
|
335
|
+
allowedRtmr0: string[];
|
|
336
|
+
allowedRtmr1: string[];
|
|
337
|
+
allowedRtmr2: string[];
|
|
338
|
+
allowedRtmr3: string[];
|
|
339
|
+
allowedTcbStatuses: string[];
|
|
340
|
+
acceptMock: boolean;
|
|
341
|
+
requester?: string;
|
|
342
|
+
}
|
|
343
|
+
export type SetTeeAdmissionPolicyResponseData = Record<string, never>;
|
|
344
|
+
export interface UpdateGroupSettingsRequest {
|
|
345
|
+
upgradePolicy: string;
|
|
346
|
+
requester?: string;
|
|
347
|
+
}
|
|
348
|
+
export type UpdateGroupSettingsResponseData = Record<string, never>;
|
|
349
|
+
export interface SetGroupAliasRequest {
|
|
350
|
+
alias: string;
|
|
351
|
+
requester?: string;
|
|
352
|
+
}
|
|
353
|
+
export type SetGroupAliasResponseData = Record<string, never>;
|
|
354
|
+
export interface SetMemberAliasRequest {
|
|
355
|
+
alias: string;
|
|
356
|
+
requester?: string;
|
|
357
|
+
}
|
|
358
|
+
export type SetMemberAliasResponseData = Record<string, never>;
|
|
359
|
+
export interface SyncGroupRequest {
|
|
360
|
+
requester?: string;
|
|
361
|
+
}
|
|
362
|
+
export interface SyncGroupResponseData {
|
|
363
|
+
groupId: string;
|
|
364
|
+
appKey: string;
|
|
365
|
+
targetApplicationId: string;
|
|
366
|
+
memberCount: number;
|
|
367
|
+
contextCount: number;
|
|
368
|
+
}
|
|
369
|
+
export interface RegisterGroupSigningKeyRequest {
|
|
370
|
+
signingKey: string;
|
|
371
|
+
}
|
|
372
|
+
export interface RegisterGroupSigningKeyResponseData {
|
|
373
|
+
publicKey: string;
|
|
374
|
+
}
|
|
375
|
+
export interface UpgradeGroupRequest {
|
|
376
|
+
targetApplicationId: string;
|
|
377
|
+
requester?: string;
|
|
378
|
+
migrateMethod?: string;
|
|
379
|
+
}
|
|
380
|
+
export interface UpgradeGroupResponseData {
|
|
381
|
+
groupId: string;
|
|
382
|
+
status: string;
|
|
383
|
+
total?: number;
|
|
384
|
+
completed?: number;
|
|
385
|
+
failed?: number;
|
|
386
|
+
}
|
|
387
|
+
export type GroupUpgradeStatusResponseData = GroupUpgradeStatus | null;
|
|
388
|
+
export interface RetryGroupUpgradeRequest {
|
|
389
|
+
requester?: string;
|
|
390
|
+
}
|
|
391
|
+
export type RetryGroupUpgradeResponseData = UpgradeGroupResponseData;
|
|
392
|
+
export interface NestGroupRequest {
|
|
393
|
+
childGroupId: string;
|
|
394
|
+
requester?: string;
|
|
395
|
+
}
|
|
396
|
+
export type NestGroupResponseData = Record<string, never>;
|
|
397
|
+
export interface UnnestGroupRequest {
|
|
398
|
+
childGroupId: string;
|
|
399
|
+
requester?: string;
|
|
400
|
+
}
|
|
401
|
+
export type UnnestGroupResponseData = Record<string, never>;
|
|
402
|
+
export interface DetachContextFromGroupRequest {
|
|
403
|
+
requester?: string;
|
|
404
|
+
}
|
|
405
|
+
export type DetachContextFromGroupResponseData = Record<string, never>;
|
|
406
|
+
export interface CreateGroupInvitationRequest {
|
|
407
|
+
requester?: string;
|
|
408
|
+
expirationTimestamp?: number;
|
|
409
|
+
recursive?: boolean;
|
|
410
|
+
}
|
|
411
|
+
export interface CreateGroupInvitationResponseData {
|
|
412
|
+
invitation: SignedGroupOpenInvitation;
|
|
413
|
+
groupAlias?: string;
|
|
414
|
+
}
|
|
415
|
+
export interface CreateRecursiveGroupInvitationResponseData {
|
|
416
|
+
invitations: RecursiveInvitationEntry[];
|
|
417
|
+
}
|
|
418
|
+
export interface JoinGroupRequest {
|
|
419
|
+
invitation: SignedGroupOpenInvitation;
|
|
420
|
+
groupAlias?: string;
|
|
421
|
+
}
|
|
422
|
+
export interface JoinGroupResponseData {
|
|
423
|
+
groupId: string;
|
|
424
|
+
memberIdentity: string;
|
|
425
|
+
governanceOp: string;
|
|
426
|
+
}
|
|
427
|
+
export interface TeeInfoResponseData {
|
|
428
|
+
cloudProvider: string;
|
|
429
|
+
osImage: string;
|
|
430
|
+
mrtd: string;
|
|
431
|
+
}
|
|
432
|
+
export interface TeeAttestRequest {
|
|
433
|
+
nonce: string;
|
|
434
|
+
applicationId?: string;
|
|
435
|
+
}
|
|
436
|
+
export interface QuoteHeader {
|
|
437
|
+
version: number;
|
|
438
|
+
attestationKeyType: number;
|
|
439
|
+
teeType: number;
|
|
440
|
+
qeVendorId: string;
|
|
441
|
+
userData: string;
|
|
442
|
+
}
|
|
443
|
+
export interface QuoteBody {
|
|
444
|
+
tdxVersion: string;
|
|
445
|
+
teeTcbSvn: string;
|
|
446
|
+
mrseam: string;
|
|
447
|
+
mrsignerseam: string;
|
|
448
|
+
seamattributes: string;
|
|
449
|
+
tdattributes: string;
|
|
450
|
+
xfam: string;
|
|
451
|
+
mrtd: string;
|
|
452
|
+
mrconfigid: string;
|
|
453
|
+
mrowner: string;
|
|
454
|
+
mrownerconfig: string;
|
|
455
|
+
rtmr0: string;
|
|
456
|
+
rtmr1: string;
|
|
457
|
+
rtmr2: string;
|
|
458
|
+
rtmr3: string;
|
|
459
|
+
reportdata: string;
|
|
460
|
+
teeTcbSvn2?: string;
|
|
461
|
+
mrservicetd?: string;
|
|
462
|
+
}
|
|
463
|
+
export interface Quote {
|
|
464
|
+
header: QuoteHeader;
|
|
465
|
+
body: QuoteBody;
|
|
466
|
+
signature: string;
|
|
467
|
+
attestationKey: string;
|
|
468
|
+
certificationData: unknown;
|
|
469
|
+
}
|
|
470
|
+
export interface TeeAttestResponseData {
|
|
471
|
+
quoteB64: string;
|
|
472
|
+
quote: Quote;
|
|
473
|
+
}
|
|
474
|
+
export interface TeeVerifyQuoteRequest {
|
|
475
|
+
quoteB64: string;
|
|
476
|
+
nonce: string;
|
|
477
|
+
expectedApplicationHash?: string;
|
|
478
|
+
}
|
|
479
|
+
export interface TeeVerifyQuoteResponseData {
|
|
480
|
+
quoteVerified: boolean;
|
|
481
|
+
nonceVerified: boolean;
|
|
482
|
+
applicationHashVerified?: boolean;
|
|
483
|
+
quote: Quote;
|
|
484
|
+
}
|
|
106
485
|
export interface AdminApiClientConfig {
|
|
107
486
|
baseUrl: string;
|
|
108
487
|
getAuthToken?: () => Promise<string | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-types.d.ts","sourceRoot":"","sources":["../../src/admin-api/admin-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admin-types.d.ts","sourceRoot":"","sources":["../../src/admin-api/admin-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-types.js","sourceRoot":"","sources":["../../src/admin-api/admin-types.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"admin-types.js","sourceRoot":"","sources":["../../src/admin-api/admin-types.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,6EAA6E"}
|
package/dist/index.browser.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
function _(s){let e=s.filter(Boolean);if(e.length===0)return;let t=AbortSignal;if(typeof t.any=="function")try{return t.any(e)}catch{}let n=new AbortController,r=i=>{n.abort(i.target.reason);for(let l of e)l.removeEventListener("abort",r)};for(let i of e){if(i.aborted)return AbortSignal.abort(i.reason);i.addEventListener("abort",r,{once:!0})}return n.signal}function M(s){if(typeof AbortSignal.timeout=="function")return AbortSignal.timeout(s);let e=new AbortController;return setTimeout(()=>{e.abort(new DOMException("Timeout","TimeoutError"))},s),e.signal}var g=class extends Error{constructor(t,n,r,i,l){super(`HTTP ${t} ${n}`);this.status=t;this.statusText=n;this.url=r;this.headers=i;this.bodyText=l;this.name="HTTPError"}toJSON(){return{status:this.status,statusText:this.statusText,url:this.url,headers:B(this.headers),bodyText:this.bodyText}}};function B(s){let e={};return s.forEach((t,n)=>{e[n]=t}),e}var R=class{constructor(e){this.transport=e;this.refreshTokenPromise=null;this.onTokenRefreshPromise=null}async get(e,t){return this.request(e,{...t,method:"GET"})}async post(e,t,n){return this.request(e,{...n,method:"POST",body:t?JSON.stringify(t):void 0,headers:{"Content-Type":"application/json",...n?.headers}})}async put(e,t,n){return this.request(e,{...n,method:"PUT",body:t?JSON.stringify(t):void 0,headers:{"Content-Type":"application/json",...n?.headers}})}async delete(e,t){return this.request(e,{...t,method:"DELETE"})}async patch(e,t,n){return this.request(e,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0,headers:{"Content-Type":"application/json",...n?.headers}})}async head(e,t){let n=await this.makeRequest(e,{...t,method:"HEAD",parse:"response"});return{headers:B(n.headers),status:n.status}}async request(e,t){return this.makeRequest(e,t)}async makeRequest(e,t,n=0,r){let l=this.buildUrl(e),d=r??Date.now(),C=this.createAbortSignal(t),p=await this.buildHeaders(t?.headers),h;p instanceof Headers?(h={},p.forEach((a,w)=>{h[w]=a})):h=p;let c={method:t?.method||"GET",headers:h},y=t?.body instanceof ReadableStream||typeof t?.body=="object"&&t?.body!==null&&"getReader"in t.body&&!(t.body instanceof Blob);(t?.body!==void 0&&!y||t?.body!==void 0&&y&&n===0)&&(c.body=t.body);let b;if(n>0&&r!==void 0){let a=t?.timeoutMs||this.transport.timeoutMs;if(a){let w=Date.now()-d,A=Math.max(0,a-w);b=this.createAbortSignal({...t,timeoutMs:A})}else b=this.createAbortSignal(t)}else b=C;b&&(c.signal=b),this.transport.credentials!==void 0&&(c.credentials=this.transport.credentials),t?.mode!==void 0&&(c.mode=t.mode),t?.cache!==void 0&&(c.cache=t.cache),t?.redirect!==void 0&&(c.redirect=t.redirect),t?.referrer!==void 0&&(c.referrer=t.referrer),t?.referrerPolicy!==void 0&&(c.referrerPolicy=t.referrerPolicy),t?.integrity!==void 0&&(c.integrity=t.integrity),t?.keepalive!==void 0&&(c.keepalive=t.keepalive);try{let a=await this.transport.fetch(l,c);if(!a.ok){let w=await this.getBodyText(a),A=new g(a.status,a.statusText,l,a.headers,w),z=t?.signal?.aborted===!0;if(a.status===401&&this.transport.refreshToken&&a.headers.get("x-auth-error")==="token_expired"&&n<1&&!y&&!z)try{let u=this.refreshTokenPromise;u||(u=this.transport.refreshToken(),this.refreshTokenPromise=u);let U=await u;if(!U||U.trim()==="")throw this.refreshTokenPromise=null,this.onTokenRefreshPromise=null,new Error("Refresh token returned empty token");if(!this.transport.onTokenRefresh)throw this.refreshTokenPromise=null,this.onTokenRefreshPromise=null,new Error("onTokenRefresh callback is required when refreshToken is provided. The callback must update the token storage so getAuthToken() returns the new token.");let S=this.onTokenRefreshPromise;S||(S=this.transport.onTokenRefresh(U),this.onTokenRefreshPromise=S),await S,this.refreshTokenPromise=null,this.onTokenRefreshPromise=null;let K=t?.timeoutMs||this.transport.timeoutMs;if(K&&r!==void 0){let X=Date.now()-d;if(K-X<=0)throw A}return this.makeRequest(e,t,n+1,d)}catch(u){throw this.refreshTokenPromise=null,this.onTokenRefreshPromise=null,u instanceof Error&&u.message.includes("onTokenRefresh")?u:A}throw A}return this.parseResponse(a,t?.parse)}catch(a){throw a instanceof g||a instanceof Error&&a.message.includes("onTokenRefresh")?a:new g(0,"Network Error",l,new Headers,a instanceof Error?a.message:"Unknown error")}}buildUrl(e){if(e.startsWith("http://")||e.startsWith("https://"))return e;let t=this.transport.baseUrl;return e.startsWith("/")?`${t.endsWith("/")?t.slice(0,-1):t}${e}`:`${t.endsWith("/")?t:`${t}/`}${e}`}createAbortSignal(e){let t=[];this.transport.defaultAbortSignal&&t.push(this.transport.defaultAbortSignal),e?.signal&&t.push(e.signal);let n=e?.timeoutMs||this.transport.timeoutMs;return n&&t.push(M(n)),t.length>0?_(t):void 0}async buildHeaders(e){let t={...this.transport.defaultHeaders};if(this.transport.getAuthToken)try{let n=await this.transport.getAuthToken();n&&n.trim()!==""&&(t.Authorization=`Bearer ${n}`)}catch{}return e&&(e instanceof Headers?e.forEach((n,r)=>{t[r]=n}):Array.isArray(e)?e.forEach(([n,r])=>{t[n]=r}):Object.assign(t,e)),t}async parseResponse(e,t){switch(t){case"text":return await e.text();case"blob":return await e.blob();case"arrayBuffer":return await e.arrayBuffer();case"response":return e;case"json":default:return await e.json()}}async getBodyText(e){try{let t=await e.text();return t.length>65536?t.slice(0,65536)+"...":t}catch{return""}}};function W(s){return new R(s)}function E(s){let e={fetch:(t,n)=>globalThis.fetch(t,n),baseUrl:s.baseUrl,getAuthToken:s.getAuthToken,onTokenRefresh:s.onTokenRefresh,refreshToken:s.refreshToken,defaultHeaders:s.defaultHeaders,timeoutMs:s.timeoutMs,credentials:s.credentials,defaultAbortSignal:s.defaultAbortSignal};return W(e)}function G(s){let e=s.fetch??globalThis.fetch;if(!e)throw new Error("No fetch implementation available. Please provide a fetch implementation (e.g., undici.fetch) or use Node.js 18+ which has native fetch support.");let n={fetch:e===globalThis.fetch?(r,i)=>globalThis.fetch(r,i):(r,i)=>e(r,i),baseUrl:s.baseUrl,getAuthToken:s.getAuthToken,onTokenRefresh:s.onTokenRefresh,refreshToken:s.refreshToken,defaultHeaders:s.defaultHeaders,timeoutMs:s.timeoutMs,credentials:s.credentials,defaultAbortSignal:s.defaultAbortSignal};return W(n)}function Y(s){return typeof window<"u"?E(s):G(s)}function Q(s,e){if(e<=0)return!1;let n=s?.name;if(n==="TimeoutError")return!0;if(n==="AbortError")return!1;let r=s;if("status"in r&&typeof r.status=="number"){let i=r.status;return i>=500||i===429}return n==="TypeError"}function Z(s){let t=250*Math.pow(2,s-1),n=(Math.random()-.5)*.4*t;return Math.max(0,t+n)}async function F(s,e={}){let{attempts:t=3}=e,n;for(let r=1;r<=t;r++)try{return await s(r)}catch(i){if(n=i,!Q(n,t-r))throw n;let l=Z(r),p=n.headers?.get?.("Retry-After");if(p){let h=parseInt(p,10);if(!isNaN(h))l=Math.max(l,h*1e3);else{let c=new Date(p);if(!isNaN(c.getTime())){let y=Math.max(0,c.getTime()-Date.now());l=Math.max(l,Math.min(y,6e4))}}}await new Promise(h=>setTimeout(h,l))}throw n||new Error("Retry failed without error")}function ee(s,e={}){return async(...t)=>F(()=>s(...t),e)}var m=class{constructor(e){this.httpClient=e}async getHealth(){let e=await this.httpClient.get("/auth/health");if(!e.data)throw new Error("Health response data is null");return e.data}async getIdentity(){let e=await this.httpClient.get("/admin/identity");if(!e.data)throw new Error("Identity response data is null");return e.data}async getProviders(){let e=await this.httpClient.get("/auth/providers");if(!e.data)throw new Error("Providers response data is null");return e.data}async getLoginPage(){return this.httpClient.get("/auth/login",{parse:"text"})}async generateTokens(e){return this.httpClient.post("/auth/token",e)}async refreshToken(e){return this.httpClient.post("/auth/refresh",e)}async generateMockTokens(e){return this.httpClient.post("/auth/mock-token",e)}async getChallenge(){return this.httpClient.get("/auth/challenge")}async validateToken(e){try{let t=await this.validateTokenGet(e);return{valid:t.status===200,headers:t.headers,status:t.status}}catch{return{valid:!1,headers:{},status:401}}}async validateTokenGet(e){let t=await this.httpClient.head("/auth/validate",{headers:{Authorization:`Bearer ${e}`}});return{status:t.status,headers:t.headers}}async isAuthed(){return this.httpClient.get("/auth/is-authed")}async revokeTokens(e){return this.httpClient.post("/admin/revoke",e)}async listRootKeys(){let e=await this.httpClient.get("/admin/keys");if(!e.data)throw new Error("Root keys response data is null");return e.data}async createRootKey(e){return this.httpClient.post("/admin/keys",e)}async deleteRootKey(e){return this.httpClient.delete(`/admin/keys/${e}`)}async listClientKeys(){let e=await this.httpClient.get("/admin/keys/clients");if(!e.data)throw new Error("Client keys response data is null");return e.data}async generateClientKey(e){return this.httpClient.post("/admin/client-key",e)}async deleteClientKey(e,t){return this.httpClient.delete(`/admin/keys/${e}/clients/${t}`)}async getKeyPermissions(e){return this.httpClient.get(`/admin/keys/${e}/permissions`)}async updateKeyPermissions(e,t){return this.httpClient.put(`/admin/keys/${e}/permissions`,{permissions:t})}};var v=class{async get(){throw new Error("HTTP client not implemented - use createAuthApiClientFromHttpClient with a real HTTP client")}async post(){throw new Error("HTTP client not implemented - use createAuthApiClientFromHttpClient with a real HTTP client")}async put(){throw new Error("HTTP client not implemented - use createAuthApiClientFromHttpClient with a real HTTP client")}async delete(){throw new Error("HTTP client not implemented - use createAuthApiClientFromHttpClient with a real HTTP client")}async patch(){throw new Error("HTTP client not implemented - use createAuthApiClientFromHttpClient with a real HTTP client")}async head(){throw new Error("HTTP client not implemented - use createAuthApiClientFromHttpClient with a real HTTP client")}async request(){throw new Error("HTTP client not implemented - use createAuthApiClientFromHttpClient with a real HTTP client")}};function Ce(s){let e=new v;return new m(e)}function ye(s){let e=new v;return new m(e)}function be(s){let e=new v;return new m(e)}function j(s,e){return new m(s)}function o(s){return s.data}var f=class{constructor(e){this.httpClient=e}async healthCheck(){return o(await this.httpClient.get("/admin-api/health"))}async isAuthed(){return this.httpClient.get("/admin-api/is-authed")}async installApplication(e){return o(await this.httpClient.post("/admin-api/install-application",e))}async installDevApplication(e){return o(await this.httpClient.post("/admin-api/install-dev-application",e))}async uninstallApplication(e){return o(await this.httpClient.delete(`/admin-api/applications/${e}`))}async listApplications(){return o(await this.httpClient.get("/admin-api/applications"))}async getApplication(e){return o(await this.httpClient.get(`/admin-api/applications/${e}`))}async getLatestPackageVersion(e){return this.httpClient.get(`/admin-api/packages/${encodeURIComponent(e)}/latest`)}async createContext(e){return o(await this.httpClient.post("/admin-api/contexts",e))}async deleteContext(e){return o(await this.httpClient.delete(`/admin-api/contexts/${e}`))}async getContexts(){return o(await this.httpClient.get("/admin-api/contexts"))}async getContext(e){return o(await this.httpClient.get(`/admin-api/contexts/${e}`))}async getContextsForApplication(e){return o(await this.httpClient.get(`/admin-api/contexts/for-application/${e}`))}async generateContextIdentity(){return o(await this.httpClient.post("/admin-api/identity/context",{}))}async getContextIdentities(e){return o(await this.httpClient.get(`/admin-api/contexts/${e}/identities`))}async getContextIdentitiesOwned(e){return o(await this.httpClient.get(`/admin-api/contexts/${e}/identities-owned`))}async inviteToContext(e){return o(await this.httpClient.post("/admin-api/contexts/invite",e))}async joinContext(e){return o(await this.httpClient.post("/admin-api/contexts/join",e))}async uploadBlob(e){return o(await this.httpClient.put("/admin-api/blobs",e))}async deleteBlob(e){return o(await this.httpClient.delete(`/admin-api/blobs/${e}`))}async listBlobs(){return o(await this.httpClient.get("/admin-api/blobs"))}async getBlob(e){return o(await this.httpClient.get(`/admin-api/blobs/${e}`))}async createContextAlias(e){return this.httpClient.post("/admin-api/alias/create/context",e)}async createApplicationAlias(e){return this.httpClient.post("/admin-api/alias/create/application",e)}async lookupContextAlias(e){return this.httpClient.post(`/admin-api/alias/lookup/context/${encodeURIComponent(e)}`,{})}async lookupApplicationAlias(e){return this.httpClient.post(`/admin-api/alias/lookup/application/${encodeURIComponent(e)}`,{})}async deleteContextAlias(e){return this.httpClient.post(`/admin-api/alias/delete/context/${encodeURIComponent(e)}`,{})}async deleteApplicationAlias(e){return this.httpClient.post(`/admin-api/alias/delete/application/${encodeURIComponent(e)}`,{})}async listContextAliases(){return o(await this.httpClient.get("/admin-api/alias/list/context"))}async listApplicationAliases(){return o(await this.httpClient.get("/admin-api/alias/list/application"))}async getPeersCount(){return this.httpClient.get("/admin-api/peers")}};var x=class{async get(){throw new Error("HTTP client not implemented - use createAdminApiClientFromHttpClient with a real HTTP client")}async post(){throw new Error("HTTP client not implemented - use createAdminApiClientFromHttpClient with a real HTTP client")}async put(){throw new Error("HTTP client not implemented - use createAdminApiClientFromHttpClient with a real HTTP client")}async delete(){throw new Error("HTTP client not implemented - use createAdminApiClientFromHttpClient with a real HTTP client")}async patch(){throw new Error("HTTP client not implemented - use createAdminApiClientFromHttpClient with a real HTTP client")}async head(){throw new Error("HTTP client not implemented - use createAdminApiClientFromHttpClient with a real HTTP client")}async request(){throw new Error("HTTP client not implemented - use createAdminApiClientFromHttpClient with a real HTTP client")}};function ve(s){let e=new x;return new f(e)}function xe(s){let e=new x;return new f(e)}function Pe(s){let e=new x;return new f(e)}function V(s,e){return new f(s)}function q(s){try{let e=s.indexOf("#");if(e===-1)return null;let t=s.substring(e+1),n=new URLSearchParams(t),r=n.get("access_token");return r?{accessToken:r,refreshToken:n.get("refresh_token")??"",applicationId:n.get("application_id")??"",contextId:n.get("context_id")??"",contextIdentity:n.get("context_identity")??"",nodeUrl:n.get("node_url")??""}:null}catch{return null}}function O(s,e){let t=new URLSearchParams;return t.set("callback-url",e.callbackUrl),e.permissions&&e.permissions.length>0&&t.set("permissions",e.permissions.join(",")),t.set("mode",e.mode),e.packageName&&(t.set("package-name",e.packageName),e.packageVersion&&t.set("package-version",e.packageVersion),e.registryUrl&&t.set("registry-url",e.registryUrl)),`${s.replace(/\/+$/,"")}/auth/login?${t.toString()}`}var H=class extends Error{constructor(e,t,n,r){super(t),this.name="RpcError",this.code=e,this.data=n,this.type=r}},P=class{constructor(e){this.httpClient=e.httpClient}async execute(e){let t={jsonrpc:"2.0",id:1,method:"execute",params:{contextId:e.contextId,method:e.method,argsJson:e.argsJson??{},executorPublicKey:e.executorPublicKey}},n=await this.httpClient.post("/jsonrpc",t);if(n.error){let r=n.error,i=r.code??-1,l=r.message??r.type??"RPC error";throw new H(i,l,r.data,r.type)}return n.result&&"output"in n.result?n.result.output:n.result}};var k=class{constructor(e){this.sessionId=null;this.abortController=null;this.reconnectTimer=null;this.subscribedContextIds=new Set;this.closed=!1;this.listeners={connect:[],event:[],error:[]};this.baseUrl=e.baseUrl.replace(/\/+$/,""),this.getAuthToken=e.getAuthToken,this.reconnectDelayMs=e.reconnectDelayMs??3e3}on(e,t){let n=e;if(n in this.listeners){let r=this.listeners[n];r.includes(t)||r.push(t)}}off(e,t){let n=e;if(n in this.listeners){let r=this.listeners[n],i=r.indexOf(t);i!==-1&&r.splice(i,1)}}emit(e,t){let n=e;if(n in this.listeners)for(let r of this.listeners[n])try{r(t)}catch{}}async connect(){if(!(this.abortController&&!this.closed)){this.closed=!1,this.abortController=new AbortController;try{let e=await this.getAuthToken(),t=await fetch(`${this.baseUrl}/sse`,{headers:{Authorization:`Bearer ${e}`,Accept:"text/event-stream"},signal:this.abortController.signal});if(!t.ok)throw new Error(`SSE connection failed: ${t.status}`);if(!t.body)throw new Error("SSE response has no body");this.readStream(t.body).catch(n=>{if(this.closed)return;let r=n instanceof Error?n:new Error(String(n));this.emit("error",r),this.scheduleReconnect()})}catch(e){if(this.closed)return;let t=e instanceof Error?e:new Error(String(e));this.emit("error",t),this.scheduleReconnect()}}}async readStream(e){let t=e.getReader(),n=new TextDecoder,r="";try{for(;;){let{done:i,value:l}=await t.read();if(i)break;r+=n.decode(l,{stream:!0});let d=r.split(`
|
|
2
|
-
`);r=d.pop()??"";for(let C of d)if(C.startsWith("data:")){let p=C.slice(5).trim();p&&this.handleMessage(p)}}if(r+=n.decode(),r.startsWith("data:")){let i=r.slice(5).trim();i&&this.handleMessage(i)}}catch(i){if(this.closed)return;let l=i instanceof Error?i:new Error(String(i));this.emit("error",l)}this.closed||this.scheduleReconnect()}handleMessage(e){try{let t=JSON.parse(e);if(t.type==="connect"&&t.session_id){this.sessionId=t.session_id,this.emit("connect",t.session_id),this.subscribedContextIds.size>0&&this.sendSubscription("subscribe",[...this.subscribedContextIds]);return}if(t.result&&t.result.contextId){let n=t.result.data;if(Array.isArray(n))try{let r=new Uint8Array(n),i=new TextDecoder().decode(r);n=JSON.parse(i)}catch{}this.emit("event",{contextId:t.result.contextId,data:n})}}catch{}}async subscribe(e){let t=e.filter(n=>!this.subscribedContextIds.has(n));for(let n of e)this.subscribedContextIds.add(n);t.length>0&&this.sessionId&&await this.sendSubscription("subscribe",t)}async unsubscribe(e){let t=e.filter(n=>this.subscribedContextIds.has(n));for(let n of e)this.subscribedContextIds.delete(n);t.length>0&&this.sessionId&&await this.sendSubscription("unsubscribe",t)}async sendSubscription(e,t){try{let n=await this.getAuthToken(),r=await fetch(`${this.baseUrl}/sse/subscription`,{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify({id:this.sessionId,method:e,params:{contextIds:t}})});r.ok||this.emit("error",new Error(`SSE ${e} failed: ${r.status}`))}catch(n){this.emit("error",n instanceof Error?n:new Error(`SSE ${e} failed`))}}forceReconnect(){this.abortController&&(this.abortController.abort(),this.abortController=null),this.sessionId=null,this.connect()}scheduleReconnect(){this.closed||(this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.forceReconnect()},this.reconnectDelayMs))}close(){this.closed=!0,this.abortController&&(this.abortController.abort(),this.abortController=null),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.sessionId=null,this.subscribedContextIds.clear()}};var D=class D{constructor(e){this.ws=null;this.closed=!1;this.reconnectAttempt=0;this.reconnectTimer=null;this.subscribedContextIds=new Set;this.listeners={connect:[],event:[],error:[]};this.baseUrl=e.baseUrl.replace(/\/+$/,""),this.getAuthToken=e.getAuthToken}on(e,t){let n=e;if(n in this.listeners){let r=this.listeners[n];r.includes(t)||r.push(t)}}off(e,t){let n=e;if(n in this.listeners){let r=this.listeners[n],i=r.indexOf(t);i!==-1&&r.splice(i,1)}}emit(e,t){let n=e;if(n in this.listeners)for(let r of this.listeners[n])try{r(t)}catch{}}async connect(){if(!(this.ws&&(this.ws.readyState===WebSocket.CONNECTING||this.ws.readyState===WebSocket.OPEN))){this.closed=!1;try{let e=await this.getAuthToken();if(!e)throw new Error("No authentication token available for WebSocket connection");let t=this.baseUrl.replace(/^http/,"ws");this.ws=new WebSocket(`${t}/ws?token=${encodeURIComponent(e)}`),this.ws.onopen=()=>{this.reconnectAttempt=0,this.emit("connect"),this.subscribedContextIds.size>0&&this.sendMessage({id:null,method:"subscribe",params:{contextIds:[...this.subscribedContextIds]}})},this.ws.onmessage=n=>{this.handleMessage(n.data)},this.ws.onerror=()=>{this.emit("error",new Error("WebSocket error"))},this.ws.onclose=()=>{this.closed||this.scheduleReconnect()}}catch(e){if(this.closed)return;let t=e instanceof Error?e:new Error(String(e));this.emit("error",t),this.scheduleReconnect()}}}handleMessage(e){if(typeof e=="string")try{let t=JSON.parse(e);if(t.result&&t.result.contextId){let n=t.result.data;if(Array.isArray(n))try{let r=new Uint8Array(n),i=new TextDecoder().decode(r);n=JSON.parse(i)}catch{}this.emit("event",{contextId:t.result.contextId,data:n})}}catch{}}subscribe(e){for(let t of e)this.subscribedContextIds.add(t);this.ws&&this.ws.readyState===WebSocket.OPEN&&this.sendMessage({id:null,method:"subscribe",params:{contextIds:e}})}unsubscribe(e){for(let t of e)this.subscribedContextIds.delete(t);this.ws&&this.ws.readyState===WebSocket.OPEN&&this.sendMessage({id:null,method:"unsubscribe",params:{contextIds:e}})}sendMessage(e){this.ws&&this.ws.readyState===WebSocket.OPEN&&this.ws.send(JSON.stringify(e))}scheduleReconnect(){if(this.closed)return;this.reconnectTimer&&clearTimeout(this.reconnectTimer);let e=Math.min(1e3*Math.pow(2,this.reconnectAttempt),D.MAX_BACKOFF_MS);this.reconnectAttempt++,this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},e)}close(){this.closed=!0,this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.ws&&(this.ws.onclose=null,this.ws.close(),this.ws=null),this.subscribedContextIds.clear()}};D.MAX_BACKOFF_MS=3e4;var T=D;function $(s,e){try{let t=s.split(".");if(t.length===3){let n=t[1].replace(/-/g,"+").replace(/_/g,"/");for(;n.length%4;)n+="=";let r=JSON.parse(atob(n));if(typeof r.exp=="number")return r.exp*1e3}}catch{}return e}var I=class{constructor(e){this.tokenData=null;this.refreshPromise=null;this.rpcClient=null;this.sseClient=null;this.wsClient=null;this.wsWarned=!1;this.config={timeoutMs:1e4,...e},this.tokenStore=e.tokenStore??null,this.tokenStore&&(this.tokenData=this.tokenStore.getTokens());let t=typeof window<"u"&&"__TAURI_INTERNALS__"in window;this.httpClient=E({baseUrl:this.config.baseUrl,getAuthToken:async()=>(await this.getValidToken())?.access_token||"",refreshToken:async()=>(await this.performTokenRefresh()).access_token,onTokenRefresh:async n=>{this.tokenData&&(this.tokenData.access_token=n,this.tokenStore?.setTokens(this.tokenData))},timeoutMs:this.config.timeoutMs,credentials:this.config.requestCredentials??(t?"omit":void 0)}),this.authClient=j(this.httpClient,{baseUrl:this.config.baseUrl,getAuthToken:async()=>(await this.getValidToken())?.access_token||"",timeoutMs:this.config.timeoutMs}),this.adminClient=V(this.httpClient,{baseUrl:this.config.baseUrl,getAuthToken:async()=>(await this.getValidToken())?.access_token||"",timeoutMs:this.config.timeoutMs})}get auth(){return this.authClient}get admin(){return this.adminClient}get rpc(){return this.rpcClient||(this.rpcClient=new P({httpClient:this.httpClient})),this.rpcClient}get events(){return this.sseClient||(this.sseClient=new k({baseUrl:this.config.baseUrl,getAuthToken:async()=>(await this.getValidToken())?.access_token||""})),this.sseClient}get ws(){return this.wsWarned||(this.wsWarned=!0,console.warn("[mero-js] WsClient is experimental. Use mero.events (SSE) for production.")),this.wsClient||(this.wsClient=new T({baseUrl:this.config.baseUrl,getAuthToken:async()=>(await this.getValidToken())?.access_token||""})),this.wsClient}async authenticate(e){let t=e||this.config.credentials;if(!t)throw new Error("No credentials provided for authentication");try{let n={auth_method:"user_password",public_key:t.username,client_name:"mero-js-sdk",permissions:["admin"],timestamp:Math.floor(Date.now()/1e3),provider_data:{username:t.username,password:t.password}},r=await this.authClient.generateTokens(n),i=r.data.access_token;return this.tokenData={access_token:i,refresh_token:r.data.refresh_token,expires_at:$(i,Date.now()+36e5)},this.tokenStore?.setTokens(this.tokenData),this.tokenData}catch(n){throw new Error(`Authentication failed: ${n instanceof Error?n.message:"Unknown error"}`)}}async getValidToken(){return this.tokenData}async refreshToken(){if(!this.tokenData?.refresh_token)throw new Error("No refresh token available");if(this.refreshPromise)return this.refreshPromise;this.refreshPromise=this.performTokenRefresh();try{return await this.refreshPromise}finally{this.refreshPromise=null}}async performTokenRefresh(){if(!this.tokenData?.refresh_token)throw new Error("No refresh token available");try{let e=await this.authClient.refreshToken({access_token:this.tokenData.access_token,refresh_token:this.tokenData.refresh_token}),t=e.data.access_token;return this.tokenData={access_token:t,refresh_token:e.data.refresh_token,expires_at:$(t,Date.now()+36e5)},this.tokenStore?.setTokens(this.tokenData),this.tokenData}catch(e){throw new Error(`Token refresh failed: ${e instanceof Error?e.message:"Unknown error"}`)}}clearToken(){this.tokenData=null,this.tokenStore?.clear()}isAuthenticated(){return this.tokenData!==null}setTokenData(e){let t=e.expires_at||$(e.access_token,Date.now()+36e5);this.tokenData={...e,expires_at:t},this.tokenStore?.setTokens(this.tokenData)}getTokenData(){return this.tokenData}close(){this.sseClient?.close(),this.wsClient?.close()}static parseAuthCallback(e){return q(e)}static buildAuthLoginUrl(e,t){return O(e,t)}};function te(s){return new I(s)}var N=class{constructor(){this.tokens=null}getTokens(){return this.tokens}setTokens(e){this.tokens=e}clear(){this.tokens=null}},ne="mero-tokens",L=class{constructor(e=ne){this.key=e}getTokens(){try{if(typeof localStorage>"u")return null;let e=localStorage.getItem(this.key);if(!e)return null;let t=JSON.parse(e);return t&&t.access_token&&t.refresh_token?{access_token:t.access_token,refresh_token:t.refresh_token,expires_at:typeof t.expires_at=="number"?t.expires_at:Date.now()+36e5}:null}catch{return null}}setTokens(e){try{if(typeof localStorage>"u")return;localStorage.setItem(this.key,JSON.stringify(e))}catch{}}clear(){try{if(typeof localStorage>"u")return;localStorage.removeItem(this.key)}catch{}}};var J=class{constructor(e={}){this.baseUrl=(e.cloudBaseUrl||"https://cloud.calimero.network").replace(/\/+$/,"")}enableHA(e){let t=new URLSearchParams({group_id:e.groupId,context_id:e.contextId});e.redirectUrl&&t.set("redirect_url",e.redirectUrl),window.open(`${this.baseUrl}/enable-ha?${t.toString()}`)}disableHA(e){let t=new URLSearchParams({group_id:e.groupId,context_id:e.contextId});e.redirectUrl&&t.set("redirect_url",e.redirectUrl),window.open(`${this.baseUrl}/disable-ha?${t.toString()}`)}};export{f as AdminApiClient,m as AuthApiClient,J as CloudClient,g as HTTPError,L as LocalStorageTokenStore,N as MemoryTokenStore,I as MeroJs,P as RpcClient,H as RpcError,k as SseClient,R as WebHttpClient,T as WsClient,O as buildAuthLoginUrl,_ as combineSignals,Pe as createAdminApiClient,V as createAdminApiClientFromHttpClient,be as createAuthApiClient,j as createAuthApiClientFromHttpClient,ve as createBrowserAdminApiClient,Ce as createBrowserAuthApiClient,E as createBrowserHttpClient,W as createHttpClient,te as createMeroJs,xe as createNodeAdminApiClient,ye as createNodeAuthApiClient,G as createNodeHttpClient,ee as createRetryableMethod,M as createTimeoutSignal,Y as createUniversalHttpClient,q as parseAuthCallback,F as withRetry};
|
|
1
|
+
function q(r){let e=r.filter(Boolean);if(e.length===0)return;let t=AbortSignal;if(typeof t.any=="function")try{return t.any(e)}catch{}let s=new AbortController,n=a=>{s.abort(a.target.reason);for(let p of e)p.removeEventListener("abort",n)};for(let a of e){if(a.aborted)return AbortSignal.abort(a.reason);a.addEventListener("abort",n,{once:!0})}return s.signal}function U(r){if(typeof AbortSignal.timeout=="function")return AbortSignal.timeout(r);let e=new AbortController;return setTimeout(()=>{e.abort(new DOMException("Timeout","TimeoutError"))},r),e.signal}var f=class extends Error{constructor(t,s,n,a,p){super(`HTTP ${t} ${s}`);this.status=t;this.statusText=s;this.url=n;this.headers=a;this.bodyText=p;this.name="HTTPError"}toJSON(){return{status:this.status,statusText:this.statusText,url:this.url,headers:B(this.headers),bodyText:this.bodyText}}};function B(r){let e={};return r.forEach((t,s)=>{e[s]=t}),e}var A=class{constructor(e){this.transport=e;this.refreshTokenPromise=null;this.onTokenRefreshPromise=null}async get(e,t){return this.request(e,{...t,method:"GET"})}async post(e,t,s){return this.request(e,{...s,method:"POST",body:t?JSON.stringify(t):void 0,headers:{"Content-Type":"application/json",...s?.headers}})}async put(e,t,s){return this.request(e,{...s,method:"PUT",body:t?JSON.stringify(t):void 0,headers:{"Content-Type":"application/json",...s?.headers}})}async delete(e,t){return this.request(e,{...t,method:"DELETE"})}async patch(e,t,s){return this.request(e,{...s,method:"PATCH",body:t?JSON.stringify(t):void 0,headers:{"Content-Type":"application/json",...s?.headers}})}async head(e,t){let s=await this.makeRequest(e,{...t,method:"HEAD",parse:"response"});return{headers:B(s.headers),status:s.status}}async request(e,t){return this.makeRequest(e,t)}async makeRequest(e,t,s=0,n){let p=this.buildUrl(e),h=n??Date.now(),y=this.createAbortSignal(t),c=await this.buildHeaders(t?.headers),u;c instanceof Headers?(u={},c.forEach((o,k)=>{u[k]=o})):u=c;let l={method:t?.method||"GET",headers:u},T=t?.body instanceof ReadableStream||typeof t?.body=="object"&&t?.body!==null&&"getReader"in t.body&&!(t.body instanceof Blob);(t?.body!==void 0&&!T||t?.body!==void 0&&T&&s===0)&&(l.body=t.body);let b;if(s>0&&n!==void 0){let o=t?.timeoutMs||this.transport.timeoutMs;if(o){let k=Date.now()-h,w=Math.max(0,o-k);b=this.createAbortSignal({...t,timeoutMs:w})}else b=this.createAbortSignal(t)}else b=y;b&&(l.signal=b),this.transport.credentials!==void 0&&(l.credentials=this.transport.credentials),t?.mode!==void 0&&(l.mode=t.mode),t?.cache!==void 0&&(l.cache=t.cache),t?.redirect!==void 0&&(l.redirect=t.redirect),t?.referrer!==void 0&&(l.referrer=t.referrer),t?.referrerPolicy!==void 0&&(l.referrerPolicy=t.referrerPolicy),t?.integrity!==void 0&&(l.integrity=t.integrity),t?.keepalive!==void 0&&(l.keepalive=t.keepalive);try{let o=await this.transport.fetch(p,l);if(!o.ok){let k=await this.getBodyText(o),w=new f(o.status,o.statusText,p,o.headers,k),z=t?.signal?.aborted===!0;if(o.status===401&&this.transport.refreshToken&&o.headers.get("x-auth-error")==="token_expired"&&s<1&&!T&&!z)try{let d=this.refreshTokenPromise;d||(d=this.transport.refreshToken(),this.refreshTokenPromise=d);let G=await d;if(!G||G.trim()==="")throw this.refreshTokenPromise=null,this.onTokenRefreshPromise=null,new Error("Refresh token returned empty token");if(!this.transport.onTokenRefresh)throw this.refreshTokenPromise=null,this.onTokenRefreshPromise=null,new Error("onTokenRefresh callback is required when refreshToken is provided. The callback must update the token storage so getAuthToken() returns the new token.");let P=this.onTokenRefreshPromise;P||(P=this.transport.onTokenRefresh(G),this.onTokenRefreshPromise=P),await P,this.refreshTokenPromise=null,this.onTokenRefreshPromise=null;let J=t?.timeoutMs||this.transport.timeoutMs;if(J&&n!==void 0){let Q=Date.now()-h;if(J-Q<=0)throw w}return this.makeRequest(e,t,s+1,h)}catch(d){throw this.refreshTokenPromise=null,this.onTokenRefreshPromise=null,d instanceof Error&&d.message.includes("onTokenRefresh")?d:w}throw w}return this.parseResponse(o,t?.parse)}catch(o){throw o instanceof f||o instanceof Error&&o.message.includes("onTokenRefresh")?o:new f(0,"Network Error",p,new Headers,o instanceof Error?o.message:"Unknown error")}}buildUrl(e){if(e.startsWith("http://")||e.startsWith("https://"))return e;let t=this.transport.baseUrl;return e.startsWith("/")?`${t.endsWith("/")?t.slice(0,-1):t}${e}`:`${t.endsWith("/")?t:`${t}/`}${e}`}createAbortSignal(e){let t=[];this.transport.defaultAbortSignal&&t.push(this.transport.defaultAbortSignal),e?.signal&&t.push(e.signal);let s=e?.timeoutMs||this.transport.timeoutMs;return s&&t.push(U(s)),t.length>0?q(t):void 0}async buildHeaders(e){let t={...this.transport.defaultHeaders};if(this.transport.getAuthToken)try{let s=await this.transport.getAuthToken();s&&s.trim()!==""&&(t.Authorization=`Bearer ${s}`)}catch{}return e&&(e instanceof Headers?e.forEach((s,n)=>{t[n]=s}):Array.isArray(e)?e.forEach(([s,n])=>{t[s]=n}):Object.assign(t,e)),t}async parseResponse(e,t){switch(t){case"text":return await e.text();case"blob":return await e.blob();case"arrayBuffer":return await e.arrayBuffer();case"response":return e;case"json":default:return await e.json()}}async getBodyText(e){try{let t=await e.text();return t.length>65536?t.slice(0,65536)+"...":t}catch{return""}}};function $(r){return new A(r)}function S(r){let e={fetch:(t,s)=>globalThis.fetch(t,s),baseUrl:r.baseUrl,getAuthToken:r.getAuthToken,onTokenRefresh:r.onTokenRefresh,refreshToken:r.refreshToken,defaultHeaders:r.defaultHeaders,timeoutMs:r.timeoutMs,credentials:r.credentials,defaultAbortSignal:r.defaultAbortSignal};return $(e)}function K(r){let e=r.fetch??globalThis.fetch;if(!e)throw new Error("No fetch implementation available. Please provide a fetch implementation (e.g., undici.fetch) or use Node.js 18+ which has native fetch support.");let s={fetch:e===globalThis.fetch?(n,a)=>globalThis.fetch(n,a):(n,a)=>e(n,a),baseUrl:r.baseUrl,getAuthToken:r.getAuthToken,onTokenRefresh:r.onTokenRefresh,refreshToken:r.refreshToken,defaultHeaders:r.defaultHeaders,timeoutMs:r.timeoutMs,credentials:r.credentials,defaultAbortSignal:r.defaultAbortSignal};return $(s)}function X(r){return typeof window<"u"?S(r):K(r)}function Y(r,e){if(e<=0)return!1;let s=r?.name;if(s==="TimeoutError")return!0;if(s==="AbortError")return!1;let n=r;if("status"in n&&typeof n.status=="number"){let a=n.status;return a>=500||a===429}return s==="TypeError"}function Z(r){let t=250*Math.pow(2,r-1),s=(Math.random()-.5)*.4*t;return Math.max(0,t+s)}async function F(r,e={}){let{attempts:t=3}=e,s;for(let n=1;n<=t;n++)try{return await r(n)}catch(a){if(s=a,!Y(s,t-n))throw s;let p=Z(n),c=s.headers?.get?.("Retry-After");if(c){let u=parseInt(c,10);if(!isNaN(u))p=Math.max(p,u*1e3);else{let l=new Date(c);if(!isNaN(l.getTime())){let T=Math.max(0,l.getTime()-Date.now());p=Math.max(p,Math.min(T,6e4))}}}await new Promise(u=>setTimeout(u,p))}throw s||new Error("Retry failed without error")}function ee(r,e={}){return async(...t)=>F(()=>r(...t),e)}var m=class{constructor(e){this.httpClient=e}async getHealth(){let e=await this.httpClient.get("/auth/health");if(!e.data)throw new Error("Health response data is null");return e.data}async getIdentity(){let e=await this.httpClient.get("/admin/identity");if(!e.data)throw new Error("Identity response data is null");return e.data}async getProviders(){let e=await this.httpClient.get("/auth/providers");if(!e.data)throw new Error("Providers response data is null");return e.data}async getLoginPage(){return this.httpClient.get("/auth/login",{parse:"text"})}async generateTokens(e){return this.httpClient.post("/auth/token",e)}async refreshToken(e){return this.httpClient.post("/auth/refresh",e)}async generateMockTokens(e){return this.httpClient.post("/auth/mock-token",e)}async getChallenge(){return this.httpClient.get("/auth/challenge")}async validateToken(e){try{let t=await this.validateTokenGet(e);return{valid:t.status===200,headers:t.headers,status:t.status}}catch{return{valid:!1,headers:{},status:401}}}async validateTokenGet(e){let t=await this.httpClient.head("/auth/validate",{headers:{Authorization:`Bearer ${e}`}});return{status:t.status,headers:t.headers}}async isAuthed(){return this.httpClient.get("/auth/is-authed")}async revokeTokens(e){return this.httpClient.post("/admin/revoke",e)}async listRootKeys(){let e=await this.httpClient.get("/admin/keys");if(!e.data)throw new Error("Root keys response data is null");return e.data}async createRootKey(e){return this.httpClient.post("/admin/keys",e)}async deleteRootKey(e){return this.httpClient.delete(`/admin/keys/${e}`)}async listClientKeys(){let e=await this.httpClient.get("/admin/keys/clients");if(!e.data)throw new Error("Client keys response data is null");return e.data}async generateClientKey(e){return this.httpClient.post("/admin/client-key",e)}async deleteClientKey(e,t){return this.httpClient.delete(`/admin/keys/${e}/clients/${t}`)}async getKeyPermissions(e){return this.httpClient.get(`/admin/keys/${e}/permissions`)}async updateKeyPermissions(e,t){return this.httpClient.put(`/admin/keys/${e}/permissions`,{permissions:t})}};var D=class{async get(){throw new Error("HTTP client not implemented - use createAuthApiClientFromHttpClient with a real HTTP client")}async post(){throw new Error("HTTP client not implemented - use createAuthApiClientFromHttpClient with a real HTTP client")}async put(){throw new Error("HTTP client not implemented - use createAuthApiClientFromHttpClient with a real HTTP client")}async delete(){throw new Error("HTTP client not implemented - use createAuthApiClientFromHttpClient with a real HTTP client")}async patch(){throw new Error("HTTP client not implemented - use createAuthApiClientFromHttpClient with a real HTTP client")}async head(){throw new Error("HTTP client not implemented - use createAuthApiClientFromHttpClient with a real HTTP client")}async request(){throw new Error("HTTP client not implemented - use createAuthApiClientFromHttpClient with a real HTTP client")}};function ye(r){let e=new D;return new m(e)}function Te(r){let e=new D;return new m(e)}function be(r){let e=new D;return new m(e)}function j(r,e){return new m(r)}function i(r){return r.data}var g=class{constructor(e){this.httpClient=e}async healthCheck(){return i(await this.httpClient.get("/admin-api/health"))}async isAuthed(){return this.httpClient.get("/admin-api/is-authed")}async installApplication(e){return i(await this.httpClient.post("/admin-api/install-application",e))}async installDevApplication(e){return i(await this.httpClient.post("/admin-api/install-dev-application",e))}async uninstallApplication(e){return i(await this.httpClient.delete(`/admin-api/applications/${e}`))}async listApplications(){return i(await this.httpClient.get("/admin-api/applications"))}async getApplication(e){return i(await this.httpClient.get(`/admin-api/applications/${e}`))}async listPackages(){return i(await this.httpClient.get("/admin-api/packages"))}async listPackageVersions(e){return i(await this.httpClient.get(`/admin-api/packages/${encodeURIComponent(e)}/versions`))}async getLatestPackageVersion(e){return this.httpClient.get(`/admin-api/packages/${encodeURIComponent(e)}/latest`)}async createContext(e){return i(await this.httpClient.post("/admin-api/contexts",e))}async deleteContext(e,t){return i(t?await this.httpClient.request(`/admin-api/contexts/${e}`,{method:"DELETE",body:JSON.stringify(t),headers:{"Content-Type":"application/json"}}):await this.httpClient.delete(`/admin-api/contexts/${e}`))}async getContexts(){return i(await this.httpClient.get("/admin-api/contexts"))}async getContext(e){return i(await this.httpClient.get(`/admin-api/contexts/${e}`))}async getContextsForApplication(e){return i(await this.httpClient.get(`/admin-api/contexts/for-application/${e}`))}async generateContextIdentity(){return i(await this.httpClient.post("/admin-api/identity/context",{}))}async getContextIdentities(e){return i(await this.httpClient.get(`/admin-api/contexts/${e}/identities`))}async getContextIdentitiesOwned(e){return i(await this.httpClient.get(`/admin-api/contexts/${e}/identities-owned`))}async joinContext(e){return i(await this.httpClient.post(`/admin-api/contexts/${e}/join`,{}))}async getContextGroup(e){return i(await this.httpClient.get(`/admin-api/contexts/${e}/group`))}async getContextStorage(e){return i(await this.httpClient.get(`/admin-api/contexts/${e}/storage`))}async syncContext(e){await this.httpClient.post(`/admin-api/contexts/sync/${e??""}`,{})}async inviteSpecializedNode(e){return i(await this.httpClient.post("/admin-api/contexts/invite-specialized-node",e))}async updateContextApplication(e,t){await this.httpClient.post(`/admin-api/contexts/${e}/application`,t)}async getContextsWithExecutorsForApplication(e){return i(await this.httpClient.get(`/admin-api/contexts/with-executors/for-application/${e}`))}async uploadBlob(e){return i(await this.httpClient.put("/admin-api/blobs",e))}async deleteBlob(e){return i(await this.httpClient.delete(`/admin-api/blobs/${e}`))}async listBlobs(){return i(await this.httpClient.get("/admin-api/blobs"))}async getBlob(e){return i(await this.httpClient.get(`/admin-api/blobs/${e}`))}async createContextAlias(e){return i(await this.httpClient.post("/admin-api/alias/create/context",e))}async createApplicationAlias(e){return i(await this.httpClient.post("/admin-api/alias/create/application",e))}async lookupContextAlias(e){return i(await this.httpClient.post(`/admin-api/alias/lookup/context/${encodeURIComponent(e)}`,{}))}async lookupApplicationAlias(e){return i(await this.httpClient.post(`/admin-api/alias/lookup/application/${encodeURIComponent(e)}`,{}))}async deleteContextAlias(e){return i(await this.httpClient.post(`/admin-api/alias/delete/context/${encodeURIComponent(e)}`,{}))}async deleteApplicationAlias(e){return i(await this.httpClient.post(`/admin-api/alias/delete/application/${encodeURIComponent(e)}`,{}))}async listContextAliases(){return i(await this.httpClient.get("/admin-api/alias/list/context"))}async listApplicationAliases(){return i(await this.httpClient.get("/admin-api/alias/list/application"))}async listContextIdentityAliases(e){return i(await this.httpClient.get(`/admin-api/alias/list/identity/${e}`))}async createContextIdentityAlias(e,t){return i(await this.httpClient.post(`/admin-api/alias/create/identity/${e}`,t))}async lookupContextIdentityAlias(e,t){return i(await this.httpClient.post(`/admin-api/alias/lookup/identity/${e}/${encodeURIComponent(t)}`,{}))}async deleteContextIdentityAlias(e,t){return i(await this.httpClient.post(`/admin-api/alias/delete/identity/${e}/${encodeURIComponent(t)}`,{}))}async listNamespaces(){return i(await this.httpClient.get("/admin-api/namespaces"))}async getNamespace(e){return i(await this.httpClient.get(`/admin-api/namespaces/${e}`))}async getNamespaceIdentity(e){return i(await this.httpClient.get(`/admin-api/namespaces/${e}/identity`))}async listNamespacesForApplication(e){return i(await this.httpClient.get(`/admin-api/namespaces/for-application/${e}`))}async createNamespace(e){return i(await this.httpClient.post("/admin-api/namespaces",e))}async deleteNamespace(e,t){return i(await this.httpClient.request(`/admin-api/namespaces/${e}`,{method:"DELETE",body:t?JSON.stringify(t):void 0,headers:t?{"Content-Type":"application/json"}:void 0}))}async createNamespaceInvitation(e,t){return i(await this.httpClient.post(`/admin-api/namespaces/${e}/invite`,t??{}))}async joinNamespace(e,t){return i(await this.httpClient.post(`/admin-api/namespaces/${e}/join`,t,{timeoutMs:65e3}))}async createGroupInNamespace(e,t){return i(await this.httpClient.post(`/admin-api/namespaces/${e}/groups`,t??{}))}async listNamespaceGroups(e){return i(await this.httpClient.get(`/admin-api/namespaces/${e}/groups`))}async getGroupInfo(e){return i(await this.httpClient.get(`/admin-api/groups/${e}`))}async deleteGroup(e,t){return i(t?await this.httpClient.request(`/admin-api/groups/${e}`,{method:"DELETE",body:JSON.stringify(t),headers:{"Content-Type":"application/json"}}):await this.httpClient.delete(`/admin-api/groups/${e}`))}async listGroupMembers(e){return this.httpClient.get(`/admin-api/groups/${e}/members`)}async listGroupContexts(e){return i(await this.httpClient.get(`/admin-api/groups/${e}/contexts`))}async addGroupMembers(e,t){await this.httpClient.post(`/admin-api/groups/${e}/members`,t)}async removeGroupMembers(e,t){await this.httpClient.post(`/admin-api/groups/${e}/members/remove`,t)}async updateMemberRole(e,t,s){await this.httpClient.put(`/admin-api/groups/${e}/members/${t}/role`,s)}async getMemberCapabilities(e,t){return i(await this.httpClient.get(`/admin-api/groups/${e}/members/${t}/capabilities`))}async setMemberCapabilities(e,t,s){await this.httpClient.put(`/admin-api/groups/${e}/members/${t}/capabilities`,s)}async setDefaultCapabilities(e,t){await this.httpClient.put(`/admin-api/groups/${e}/settings/default-capabilities`,t)}async setDefaultVisibility(e,t){await this.httpClient.put(`/admin-api/groups/${e}/settings/default-visibility`,t)}async setTeeAdmissionPolicy(e,t){await this.httpClient.put(`/admin-api/groups/${e}/settings/tee-admission-policy`,t)}async updateGroupSettings(e,t){await this.httpClient.patch(`/admin-api/groups/${e}`,t)}async setGroupAlias(e,t){await this.httpClient.put(`/admin-api/groups/${e}/alias`,t)}async setMemberAlias(e,t,s){await this.httpClient.put(`/admin-api/groups/${e}/members/${t}/alias`,s)}async syncGroup(e,t){return i(await this.httpClient.post(`/admin-api/groups/${e}/sync`,t??{}))}async registerGroupSigningKey(e,t){return i(await this.httpClient.post(`/admin-api/groups/${e}/signing-key`,t))}async upgradeGroup(e,t){return i(await this.httpClient.post(`/admin-api/groups/${e}/upgrade`,t))}async getGroupUpgradeStatus(e){return i(await this.httpClient.get(`/admin-api/groups/${e}/upgrade/status`))}async retryGroupUpgrade(e,t){return i(await this.httpClient.post(`/admin-api/groups/${e}/upgrade/retry`,t??{}))}async nestGroup(e,t){await this.httpClient.post(`/admin-api/groups/${e}/nest`,t)}async unnestGroup(e,t){await this.httpClient.post(`/admin-api/groups/${e}/unnest`,t)}async listSubgroups(e){return i(await this.httpClient.get(`/admin-api/groups/${e}/subgroups`))}async detachContextFromGroup(e,t,s){await this.httpClient.post(`/admin-api/groups/${e}/contexts/${t}/remove`,s??{})}async createGroupInvitation(e,t){return i(await this.httpClient.post(`/admin-api/groups/${e}/invite`,t??{}))}async joinGroup(e){return i(await this.httpClient.post("/admin-api/groups/join",e))}async getTeeInfo(){return i(await this.httpClient.get("/admin-api/tee/info"))}async teeAttest(e){return i(await this.httpClient.post("/admin-api/tee/attest",e))}async teeVerifyQuote(e){return i(await this.httpClient.post("/admin-api/tee/verify-quote",e))}async getPeersCount(){return this.httpClient.get("/admin-api/peers")}};var v=class{async get(){throw new Error("HTTP client not implemented - use createAdminApiClientFromHttpClient with a real HTTP client")}async post(){throw new Error("HTTP client not implemented - use createAdminApiClientFromHttpClient with a real HTTP client")}async put(){throw new Error("HTTP client not implemented - use createAdminApiClientFromHttpClient with a real HTTP client")}async delete(){throw new Error("HTTP client not implemented - use createAdminApiClientFromHttpClient with a real HTTP client")}async patch(){throw new Error("HTTP client not implemented - use createAdminApiClientFromHttpClient with a real HTTP client")}async head(){throw new Error("HTTP client not implemented - use createAdminApiClientFromHttpClient with a real HTTP client")}async request(){throw new Error("HTTP client not implemented - use createAdminApiClientFromHttpClient with a real HTTP client")}};function De(r){let e=new v;return new g(e)}function ve(r){let e=new v;return new g(e)}function xe(r){let e=new v;return new g(e)}function V(r,e){return new g(r)}function N(r){try{let e=r.indexOf("#");if(e===-1)return null;let t=r.substring(e+1),s=new URLSearchParams(t),n=s.get("access_token");return n?{accessToken:n,refreshToken:s.get("refresh_token")??"",applicationId:s.get("application_id")??"",contextId:s.get("context_id")??"",contextIdentity:s.get("context_identity")??"",nodeUrl:s.get("node_url")??""}:null}catch{return null}}function M(r,e){let t=new URLSearchParams;return t.set("callback-url",e.callbackUrl),e.permissions&&e.permissions.length>0&&t.set("permissions",e.permissions.join(",")),t.set("mode",e.mode),e.packageName&&(t.set("package-name",e.packageName),e.packageVersion&&t.set("package-version",e.packageVersion),e.registryUrl&&t.set("registry-url",e.registryUrl)),`${r.replace(/\/+$/,"")}/auth/login?${t.toString()}`}var E=class extends Error{constructor(e,t,s,n){super(t),this.name="RpcError",this.code=e,this.data=s,this.type=n}},x=class{constructor(e){this.httpClient=e.httpClient}async execute(e){let t={jsonrpc:"2.0",id:1,method:"execute",params:{contextId:e.contextId,method:e.method,argsJson:e.argsJson??{}}},s=await this.httpClient.post("/jsonrpc",t);if(s.error){let n=s.error,a=n.code??-1,p=n.message??n.type??"RPC error";throw new E(a,p,n.data,n.type)}return s.result&&"output"in s.result?s.result.output:s.result}};var C=class{constructor(e){this.sessionId=null;this.abortController=null;this.reconnectTimer=null;this.subscribedContextIds=new Set;this.closed=!1;this.listeners={connect:[],event:[],error:[]};this.baseUrl=e.baseUrl.replace(/\/+$/,""),this.getAuthToken=e.getAuthToken,this.reconnectDelayMs=e.reconnectDelayMs??3e3}on(e,t){let s=e;if(s in this.listeners){let n=this.listeners[s];n.includes(t)||n.push(t)}}off(e,t){let s=e;if(s in this.listeners){let n=this.listeners[s],a=n.indexOf(t);a!==-1&&n.splice(a,1)}}emit(e,t){let s=e;if(s in this.listeners)for(let n of this.listeners[s])try{n(t)}catch{}}async connect(){if(!(this.abortController&&!this.closed)){this.closed=!1,this.abortController=new AbortController;try{let e=await this.getAuthToken(),t=await fetch(`${this.baseUrl}/sse`,{headers:{Authorization:`Bearer ${e}`,Accept:"text/event-stream"},signal:this.abortController.signal});if(!t.ok)throw new Error(`SSE connection failed: ${t.status}`);if(!t.body)throw new Error("SSE response has no body");this.readStream(t.body).catch(s=>{if(this.closed)return;let n=s instanceof Error?s:new Error(String(s));this.emit("error",n),this.scheduleReconnect()})}catch(e){if(this.closed)return;let t=e instanceof Error?e:new Error(String(e));this.emit("error",t),this.scheduleReconnect()}}}async readStream(e){let t=e.getReader(),s=new TextDecoder,n="";try{for(;;){let{done:a,value:p}=await t.read();if(a)break;n+=s.decode(p,{stream:!0});let h=n.split(`
|
|
2
|
+
`);n=h.pop()??"";for(let y of h)if(y.startsWith("data:")){let c=y.slice(5).trim();c&&this.handleMessage(c)}}if(n+=s.decode(),n.startsWith("data:")){let a=n.slice(5).trim();a&&this.handleMessage(a)}}catch(a){if(this.closed)return;let p=a instanceof Error?a:new Error(String(a));this.emit("error",p)}this.closed||this.scheduleReconnect()}handleMessage(e){try{let t=JSON.parse(e);if(t.type==="connect"&&t.session_id){this.sessionId=t.session_id,this.emit("connect",t.session_id),this.subscribedContextIds.size>0&&this.sendSubscription("subscribe",[...this.subscribedContextIds]);return}if(t.result&&t.result.contextId){let s=t.result.data;if(Array.isArray(s))try{let n=new Uint8Array(s),a=new TextDecoder().decode(n);s=JSON.parse(a)}catch{}this.emit("event",{contextId:t.result.contextId,data:s})}}catch{}}async subscribe(e){let t=e.filter(s=>!this.subscribedContextIds.has(s));for(let s of e)this.subscribedContextIds.add(s);t.length>0&&this.sessionId&&await this.sendSubscription("subscribe",t)}async unsubscribe(e){let t=e.filter(s=>this.subscribedContextIds.has(s));for(let s of e)this.subscribedContextIds.delete(s);t.length>0&&this.sessionId&&await this.sendSubscription("unsubscribe",t)}async sendSubscription(e,t){try{let s=await this.getAuthToken(),n=await fetch(`${this.baseUrl}/sse/subscription`,{method:"POST",headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json"},body:JSON.stringify({id:this.sessionId,method:e,params:{contextIds:t}})});n.ok||this.emit("error",new Error(`SSE ${e} failed: ${n.status}`))}catch(s){this.emit("error",s instanceof Error?s:new Error(`SSE ${e} failed`))}}forceReconnect(){this.abortController&&(this.abortController.abort(),this.abortController=null),this.sessionId=null,this.connect()}scheduleReconnect(){this.closed||(this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.forceReconnect()},this.reconnectDelayMs))}close(){this.closed=!0,this.abortController&&(this.abortController.abort(),this.abortController=null),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.sessionId=null,this.subscribedContextIds.clear()}};var I=class I{constructor(e){this.ws=null;this.closed=!1;this.reconnectAttempt=0;this.reconnectTimer=null;this.subscribedContextIds=new Set;this.listeners={connect:[],event:[],error:[]};this.baseUrl=e.baseUrl.replace(/\/+$/,""),this.getAuthToken=e.getAuthToken}on(e,t){let s=e;if(s in this.listeners){let n=this.listeners[s];n.includes(t)||n.push(t)}}off(e,t){let s=e;if(s in this.listeners){let n=this.listeners[s],a=n.indexOf(t);a!==-1&&n.splice(a,1)}}emit(e,t){let s=e;if(s in this.listeners)for(let n of this.listeners[s])try{n(t)}catch{}}async connect(){if(!(this.ws&&(this.ws.readyState===WebSocket.CONNECTING||this.ws.readyState===WebSocket.OPEN))){this.closed=!1;try{let e=await this.getAuthToken();if(!e)throw new Error("No authentication token available for WebSocket connection");let t=this.baseUrl.replace(/^http/,"ws");this.ws=new WebSocket(`${t}/ws?token=${encodeURIComponent(e)}`),this.ws.onopen=()=>{this.reconnectAttempt=0,this.emit("connect"),this.subscribedContextIds.size>0&&this.sendMessage({id:null,method:"subscribe",params:{contextIds:[...this.subscribedContextIds]}})},this.ws.onmessage=s=>{this.handleMessage(s.data)},this.ws.onerror=()=>{this.emit("error",new Error("WebSocket error"))},this.ws.onclose=()=>{this.closed||this.scheduleReconnect()}}catch(e){if(this.closed)return;let t=e instanceof Error?e:new Error(String(e));this.emit("error",t),this.scheduleReconnect()}}}handleMessage(e){if(typeof e=="string")try{let t=JSON.parse(e);if(t.result&&t.result.contextId){let s=t.result.data;if(Array.isArray(s))try{let n=new Uint8Array(s),a=new TextDecoder().decode(n);s=JSON.parse(a)}catch{}this.emit("event",{contextId:t.result.contextId,data:s})}}catch{}}subscribe(e){for(let t of e)this.subscribedContextIds.add(t);this.ws&&this.ws.readyState===WebSocket.OPEN&&this.sendMessage({id:null,method:"subscribe",params:{contextIds:e}})}unsubscribe(e){for(let t of e)this.subscribedContextIds.delete(t);this.ws&&this.ws.readyState===WebSocket.OPEN&&this.sendMessage({id:null,method:"unsubscribe",params:{contextIds:e}})}sendMessage(e){this.ws&&this.ws.readyState===WebSocket.OPEN&&this.ws.send(JSON.stringify(e))}scheduleReconnect(){if(this.closed)return;this.reconnectTimer&&clearTimeout(this.reconnectTimer);let e=Math.min(1e3*Math.pow(2,this.reconnectAttempt),I.MAX_BACKOFF_MS);this.reconnectAttempt++,this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},e)}close(){this.closed=!0,this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.ws&&(this.ws.onclose=null,this.ws.close(),this.ws=null),this.subscribedContextIds.clear()}};I.MAX_BACKOFF_MS=3e4;var R=I;function _(r,e){try{let t=r.split(".");if(t.length===3){let s=t[1].replace(/-/g,"+").replace(/_/g,"/");for(;s.length%4;)s+="=";let n=JSON.parse(atob(s));if(typeof n.exp=="number")return n.exp*1e3}}catch{}return e}var H=class{constructor(e){this.tokenData=null;this.refreshPromise=null;this.rpcClient=null;this.sseClient=null;this.wsClient=null;this.wsWarned=!1;this.config={timeoutMs:1e4,...e},this.tokenStore=e.tokenStore??null,this.tokenStore&&(this.tokenData=this.tokenStore.getTokens());let t=typeof window<"u"&&"__TAURI_INTERNALS__"in window;this.httpClient=S({baseUrl:this.config.baseUrl,getAuthToken:async()=>(await this.getValidToken())?.access_token||"",refreshToken:async()=>(await this.performTokenRefresh()).access_token,onTokenRefresh:async s=>{this.tokenData&&(this.tokenData.access_token=s,this.tokenStore?.setTokens(this.tokenData))},timeoutMs:this.config.timeoutMs,credentials:this.config.requestCredentials??(t?"omit":void 0)}),this.authClient=j(this.httpClient,{baseUrl:this.config.baseUrl,getAuthToken:async()=>(await this.getValidToken())?.access_token||"",timeoutMs:this.config.timeoutMs}),this.adminClient=V(this.httpClient,{baseUrl:this.config.baseUrl,getAuthToken:async()=>(await this.getValidToken())?.access_token||"",timeoutMs:this.config.timeoutMs})}get auth(){return this.authClient}get admin(){return this.adminClient}get rpc(){return this.rpcClient||(this.rpcClient=new x({httpClient:this.httpClient})),this.rpcClient}get events(){return this.sseClient||(this.sseClient=new C({baseUrl:this.config.baseUrl,getAuthToken:async()=>(await this.getValidToken())?.access_token||""})),this.sseClient}get ws(){return this.wsWarned||(this.wsWarned=!0,console.warn("[mero-js] WsClient is experimental. Use mero.events (SSE) for production.")),this.wsClient||(this.wsClient=new R({baseUrl:this.config.baseUrl,getAuthToken:async()=>(await this.getValidToken())?.access_token||""})),this.wsClient}async authenticate(e){let t=e||this.config.credentials;if(!t)throw new Error("No credentials provided for authentication");try{let s={auth_method:"user_password",public_key:t.username,client_name:"mero-js-sdk",permissions:["admin"],timestamp:Math.floor(Date.now()/1e3),provider_data:{username:t.username,password:t.password}},n=await this.authClient.generateTokens(s),a=n.data.access_token;return this.tokenData={access_token:a,refresh_token:n.data.refresh_token,expires_at:_(a,Date.now()+36e5)},this.tokenStore?.setTokens(this.tokenData),this.tokenData}catch(s){throw new Error(`Authentication failed: ${s instanceof Error?s.message:"Unknown error"}`)}}async getValidToken(){return this.tokenData}async refreshToken(){if(!this.tokenData?.refresh_token)throw new Error("No refresh token available");if(this.refreshPromise)return this.refreshPromise;this.refreshPromise=this.performTokenRefresh();try{return await this.refreshPromise}finally{this.refreshPromise=null}}async performTokenRefresh(){if(!this.tokenData?.refresh_token)throw new Error("No refresh token available");try{let e=await this.authClient.refreshToken({access_token:this.tokenData.access_token,refresh_token:this.tokenData.refresh_token}),t=e.data.access_token;return this.tokenData={access_token:t,refresh_token:e.data.refresh_token,expires_at:_(t,Date.now()+36e5)},this.tokenStore?.setTokens(this.tokenData),this.tokenData}catch(e){throw new Error(`Token refresh failed: ${e instanceof Error?e.message:"Unknown error"}`)}}clearToken(){this.tokenData=null,this.tokenStore?.clear()}isAuthenticated(){return this.tokenData!==null}setTokenData(e){let t=e.expires_at||_(e.access_token,Date.now()+36e5);this.tokenData={...e,expires_at:t},this.tokenStore?.setTokens(this.tokenData)}getTokenData(){return this.tokenData}close(){this.sseClient?.close(),this.wsClient?.close()}static parseAuthCallback(e){return N(e)}static buildAuthLoginUrl(e,t){return M(e,t)}};function te(r){return new H(r)}var L=class{constructor(){this.tokens=null}getTokens(){return this.tokens}setTokens(e){this.tokens=e}clear(){this.tokens=null}},se="mero-tokens",W=class{constructor(e=se){this.key=e}getTokens(){try{if(typeof localStorage>"u")return null;let e=localStorage.getItem(this.key);if(!e)return null;let t=JSON.parse(e);return t&&t.access_token&&t.refresh_token?{access_token:t.access_token,refresh_token:t.refresh_token,expires_at:typeof t.expires_at=="number"?t.expires_at:Date.now()+36e5}:null}catch{return null}}setTokens(e){try{if(typeof localStorage>"u")return;localStorage.setItem(this.key,JSON.stringify(e))}catch{}}clear(){try{if(typeof localStorage>"u")return;localStorage.removeItem(this.key)}catch{}}};var O=class{constructor(e={}){this.baseUrl=(e.cloudBaseUrl||"https://cloud.calimero.network").replace(/\/+$/,"")}enableHA(e){let t=new URLSearchParams({group_id:e.groupId,context_id:e.contextId});e.redirectUrl&&t.set("redirect_url",e.redirectUrl),window.open(`${this.baseUrl}/enable-ha?${t.toString()}`)}disableHA(e){let t=new URLSearchParams({group_id:e.groupId,context_id:e.contextId});e.redirectUrl&&t.set("redirect_url",e.redirectUrl),window.open(`${this.baseUrl}/disable-ha?${t.toString()}`)}};export{g as AdminApiClient,m as AuthApiClient,O as CloudClient,f as HTTPError,W as LocalStorageTokenStore,L as MemoryTokenStore,H as MeroJs,x as RpcClient,E as RpcError,C as SseClient,A as WebHttpClient,R as WsClient,M as buildAuthLoginUrl,q as combineSignals,xe as createAdminApiClient,V as createAdminApiClientFromHttpClient,be as createAuthApiClient,j as createAuthApiClientFromHttpClient,De as createBrowserAdminApiClient,ye as createBrowserAuthApiClient,S as createBrowserHttpClient,$ as createHttpClient,te as createMeroJs,ve as createNodeAdminApiClient,Te as createNodeAuthApiClient,K as createNodeHttpClient,ee as createRetryableMethod,U as createTimeoutSignal,X as createUniversalHttpClient,N as parseAuthCallback,F as withRetry};
|
|
3
3
|
//# sourceMappingURL=index.browser.mjs.map
|