@openzeppelin/guardian-client 0.13.2

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 (47) hide show
  1. package/README.md +140 -0
  2. package/dist/auth-request.d.ts +10 -0
  3. package/dist/auth-request.d.ts.map +1 -0
  4. package/dist/auth-request.js +38 -0
  5. package/dist/auth-request.js.map +1 -0
  6. package/dist/auth-request.test.d.ts +2 -0
  7. package/dist/auth-request.test.d.ts.map +1 -0
  8. package/dist/auth-request.test.js +10 -0
  9. package/dist/auth-request.test.js.map +1 -0
  10. package/dist/conversion.d.ts +18 -0
  11. package/dist/conversion.d.ts.map +1 -0
  12. package/dist/conversion.js +187 -0
  13. package/dist/conversion.js.map +1 -0
  14. package/dist/conversion.test.d.ts +2 -0
  15. package/dist/conversion.test.d.ts.map +1 -0
  16. package/dist/conversion.test.js +317 -0
  17. package/dist/conversion.test.js.map +1 -0
  18. package/dist/http.d.ts +33 -0
  19. package/dist/http.d.ts.map +1 -0
  20. package/dist/http.js +191 -0
  21. package/dist/http.js.map +1 -0
  22. package/dist/http.test.d.ts +2 -0
  23. package/dist/http.test.d.ts.map +1 -0
  24. package/dist/http.test.js +493 -0
  25. package/dist/http.test.js.map +1 -0
  26. package/dist/index.d.ts +4 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +3 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/server-types.d.ts +150 -0
  31. package/dist/server-types.d.ts.map +1 -0
  32. package/dist/server-types.js +2 -0
  33. package/dist/server-types.js.map +1 -0
  34. package/dist/types.d.ts +159 -0
  35. package/dist/types.d.ts.map +1 -0
  36. package/dist/types.js +2 -0
  37. package/dist/types.js.map +1 -0
  38. package/package.json +36 -0
  39. package/src/auth-request.test.ts +11 -0
  40. package/src/auth-request.ts +49 -0
  41. package/src/conversion.test.ts +400 -0
  42. package/src/conversion.ts +247 -0
  43. package/src/http.test.ts +597 -0
  44. package/src/http.ts +244 -0
  45. package/src/index.ts +25 -0
  46. package/src/server-types.ts +142 -0
  47. package/src/types.ts +167 -0
@@ -0,0 +1,493 @@
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
+ import { GuardianHttpClient, GuardianHttpError } from './http.js';
3
+ // Mock fetch globally
4
+ const mockFetch = vi.fn();
5
+ vi.stubGlobal('fetch', mockFetch);
6
+ // Mock signer for authenticated requests
7
+ const mockSigner = {
8
+ commitment: '0x' + '1'.repeat(64),
9
+ publicKey: '0x' + '2'.repeat(64),
10
+ scheme: 'falcon',
11
+ signAccountIdWithTimestamp: vi.fn().mockResolvedValue('0x' + 'a'.repeat(128)),
12
+ signRequest: vi.fn().mockReturnValue('0x' + 'a'.repeat(128)),
13
+ signCommitment: vi.fn().mockReturnValue('0x' + 'b'.repeat(128)),
14
+ };
15
+ describe('GuardianHttpClient', () => {
16
+ let client;
17
+ beforeEach(() => {
18
+ client = new GuardianHttpClient('http://localhost:3000');
19
+ mockFetch.mockReset();
20
+ });
21
+ afterEach(() => {
22
+ vi.clearAllMocks();
23
+ });
24
+ describe('constructor', () => {
25
+ it('should create client with baseUrl', () => {
26
+ const c = new GuardianHttpClient('http://example.com:8080');
27
+ expect(c).toBeInstanceOf(GuardianHttpClient);
28
+ });
29
+ });
30
+ describe('getPubkey', () => {
31
+ it('should return server public key', async () => {
32
+ const expectedPubkey = '0x' + 'abc123'.repeat(10);
33
+ mockFetch.mockResolvedValueOnce({
34
+ ok: true,
35
+ json: async () => ({ commitment: expectedPubkey }),
36
+ });
37
+ const pubkey = await client.getPubkey();
38
+ expect(pubkey).toEqual({ commitment: expectedPubkey, pubkey: undefined });
39
+ expect(mockFetch).toHaveBeenCalledWith('http://localhost:3000/pubkey', expect.objectContaining({
40
+ method: 'GET',
41
+ headers: expect.objectContaining({
42
+ 'Content-Type': 'application/json',
43
+ }),
44
+ }));
45
+ });
46
+ it('should throw GuardianHttpError on non-ok response', async () => {
47
+ mockFetch.mockResolvedValueOnce({
48
+ ok: false,
49
+ status: 500,
50
+ statusText: 'Internal Server Error',
51
+ text: async () => 'Server error message',
52
+ });
53
+ const error = await client.getPubkey().catch((e) => e);
54
+ expect(error).toBeInstanceOf(GuardianHttpError);
55
+ expect(error.status).toBe(500);
56
+ expect(error.statusText).toBe('Internal Server Error');
57
+ });
58
+ });
59
+ describe('configure', () => {
60
+ it('should configure account with authentication', async () => {
61
+ client.setSigner(mockSigner);
62
+ // Server returns snake_case
63
+ const serverResponse = {
64
+ success: true,
65
+ message: 'Account configured',
66
+ ack_pubkey: '0x' + 'c'.repeat(64),
67
+ };
68
+ mockFetch.mockResolvedValueOnce({
69
+ ok: true,
70
+ json: async () => serverResponse,
71
+ });
72
+ // Client API uses camelCase
73
+ const request = {
74
+ accountId: '0x' + 'd'.repeat(30),
75
+ auth: {
76
+ MidenFalconRpo: {
77
+ cosigner_commitments: ['0x' + 'e'.repeat(64)],
78
+ },
79
+ },
80
+ initialState: { data: 'base64data', accountId: '0x' + 'd'.repeat(30) },
81
+ };
82
+ const response = await client.configure(request);
83
+ // Client returns camelCase
84
+ const expectedResponse = {
85
+ success: true,
86
+ message: 'Account configured',
87
+ ackPubkey: '0x' + 'c'.repeat(64),
88
+ };
89
+ expect(response).toEqual(expectedResponse);
90
+ // Wire format is snake_case
91
+ expect(mockFetch).toHaveBeenCalledWith('http://localhost:3000/configure', expect.objectContaining({
92
+ method: 'POST',
93
+ body: JSON.stringify({
94
+ account_id: '0x' + 'd'.repeat(30),
95
+ auth: { MidenFalconRpo: { cosigner_commitments: ['0x' + 'e'.repeat(64)] } },
96
+ initial_state: { data: 'base64data', account_id: '0x' + 'd'.repeat(30) },
97
+ }),
98
+ headers: expect.objectContaining({
99
+ 'x-pubkey': mockSigner.publicKey,
100
+ 'x-signature': expect.any(String),
101
+ }),
102
+ }));
103
+ });
104
+ it('should throw error when no signer configured', async () => {
105
+ const request = {
106
+ accountId: '0x' + 'd'.repeat(30),
107
+ auth: { MidenFalconRpo: { cosigner_commitments: [] } },
108
+ initialState: { data: 'base64data', accountId: '0x' + 'd'.repeat(30) },
109
+ };
110
+ await expect(client.configure(request)).rejects.toThrow('No signer configured');
111
+ });
112
+ });
113
+ describe('getState', () => {
114
+ it('should get account state with authentication', async () => {
115
+ client.setSigner(mockSigner);
116
+ // Server returns snake_case
117
+ const serverState = {
118
+ account_id: '0x' + 'a'.repeat(30),
119
+ commitment: '0x' + 'b'.repeat(64),
120
+ state_json: { data: 'base64state' },
121
+ created_at: '2024-01-01T00:00:00Z',
122
+ updated_at: '2024-01-02T00:00:00Z',
123
+ };
124
+ mockFetch.mockResolvedValueOnce({
125
+ ok: true,
126
+ json: async () => serverState,
127
+ });
128
+ const accountId = '0x' + 'a'.repeat(30);
129
+ const state = await client.getState(accountId);
130
+ // Client returns camelCase
131
+ const expectedState = {
132
+ accountId: '0x' + 'a'.repeat(30),
133
+ commitment: '0x' + 'b'.repeat(64),
134
+ stateJson: { data: 'base64state' },
135
+ createdAt: '2024-01-01T00:00:00Z',
136
+ updatedAt: '2024-01-02T00:00:00Z',
137
+ };
138
+ expect(state).toEqual(expectedState);
139
+ expect(mockFetch).toHaveBeenCalledWith(expect.stringContaining('/state?'), expect.objectContaining({
140
+ method: 'GET',
141
+ headers: expect.objectContaining({
142
+ 'x-pubkey': mockSigner.publicKey,
143
+ }),
144
+ }));
145
+ });
146
+ });
147
+ describe('getDeltaProposals', () => {
148
+ it('should get delta proposals for account', async () => {
149
+ client.setSigner(mockSigner);
150
+ // Server returns snake_case
151
+ const serverProposals = [
152
+ {
153
+ account_id: '0x' + 'a'.repeat(30),
154
+ nonce: 1,
155
+ prev_commitment: '0x' + 'b'.repeat(64),
156
+ delta_payload: {
157
+ tx_summary: { data: 'base64summary' },
158
+ signatures: [],
159
+ },
160
+ status: {
161
+ status: 'pending',
162
+ timestamp: '2024-01-01T00:00:00Z',
163
+ proposer_id: '0x' + 'c'.repeat(64),
164
+ cosigner_sigs: [],
165
+ },
166
+ },
167
+ ];
168
+ mockFetch.mockResolvedValueOnce({
169
+ ok: true,
170
+ json: async () => ({ proposals: serverProposals }),
171
+ });
172
+ const accountId = '0x' + 'a'.repeat(30);
173
+ const result = await client.getDeltaProposals(accountId);
174
+ // Client returns camelCase
175
+ const expectedProposals = [
176
+ {
177
+ accountId: '0x' + 'a'.repeat(30),
178
+ nonce: 1,
179
+ prevCommitment: '0x' + 'b'.repeat(64),
180
+ newCommitment: undefined,
181
+ deltaPayload: {
182
+ txSummary: { data: 'base64summary' },
183
+ signatures: [],
184
+ metadata: undefined,
185
+ },
186
+ ackSig: undefined,
187
+ status: {
188
+ status: 'pending',
189
+ timestamp: '2024-01-01T00:00:00Z',
190
+ proposerId: '0x' + 'c'.repeat(64),
191
+ cosignerSigs: [],
192
+ },
193
+ },
194
+ ];
195
+ expect(result).toEqual(expectedProposals);
196
+ expect(mockFetch).toHaveBeenCalledWith(expect.stringContaining('/delta/proposal?'), expect.objectContaining({ method: 'GET' }));
197
+ });
198
+ });
199
+ describe('getDeltaProposal', () => {
200
+ it('should get a single delta proposal by commitment', async () => {
201
+ client.setSigner(mockSigner);
202
+ const serverProposal = {
203
+ account_id: '0x' + 'a'.repeat(30),
204
+ nonce: 1,
205
+ prev_commitment: '0x' + 'b'.repeat(64),
206
+ delta_payload: {
207
+ tx_summary: { data: 'base64summary' },
208
+ signatures: [],
209
+ metadata: { proposal_type: 'change_threshold', target_threshold: 2, signer_commitments: [] },
210
+ },
211
+ status: {
212
+ status: 'pending',
213
+ timestamp: '2024-01-01T00:00:00Z',
214
+ proposer_id: '0x' + 'c'.repeat(64),
215
+ cosigner_sigs: [],
216
+ },
217
+ };
218
+ mockFetch.mockResolvedValueOnce({
219
+ ok: true,
220
+ json: async () => serverProposal,
221
+ });
222
+ const accountId = '0x' + 'a'.repeat(30);
223
+ const commitment = '0x' + 'd'.repeat(64);
224
+ const proposal = await client.getDeltaProposal(accountId, commitment);
225
+ expect(proposal.accountId).toBe(accountId);
226
+ expect(proposal.nonce).toBe(1);
227
+ expect(mockFetch).toHaveBeenCalledWith(expect.stringContaining('/delta/proposal/single?'), expect.objectContaining({ method: 'GET' }));
228
+ });
229
+ });
230
+ describe('pushDeltaProposal', () => {
231
+ it('should push a new delta proposal', async () => {
232
+ client.setSigner(mockSigner);
233
+ // Server returns snake_case
234
+ const serverResponse = {
235
+ delta: {
236
+ account_id: '0x' + 'a'.repeat(30),
237
+ nonce: 1,
238
+ prev_commitment: '0x' + 'b'.repeat(64),
239
+ delta_payload: {
240
+ tx_summary: { data: 'base64summary' },
241
+ signatures: [],
242
+ },
243
+ status: {
244
+ status: 'pending',
245
+ timestamp: '2024-01-01T00:00:00Z',
246
+ proposer_id: '0x' + 'c'.repeat(64),
247
+ cosigner_sigs: [],
248
+ },
249
+ },
250
+ commitment: '0x' + 'd'.repeat(64),
251
+ };
252
+ mockFetch.mockResolvedValueOnce({
253
+ ok: true,
254
+ json: async () => serverResponse,
255
+ });
256
+ // Client API uses camelCase
257
+ const request = {
258
+ accountId: '0x' + 'a'.repeat(30),
259
+ nonce: 1,
260
+ deltaPayload: {
261
+ txSummary: { data: 'base64summary' },
262
+ signatures: [],
263
+ },
264
+ };
265
+ const result = await client.pushDeltaProposal(request);
266
+ // Client returns camelCase
267
+ const expectedResponse = {
268
+ delta: {
269
+ accountId: '0x' + 'a'.repeat(30),
270
+ nonce: 1,
271
+ prevCommitment: '0x' + 'b'.repeat(64),
272
+ newCommitment: undefined,
273
+ deltaPayload: {
274
+ txSummary: { data: 'base64summary' },
275
+ signatures: [],
276
+ metadata: undefined,
277
+ },
278
+ ackSig: undefined,
279
+ status: {
280
+ status: 'pending',
281
+ timestamp: '2024-01-01T00:00:00Z',
282
+ proposerId: '0x' + 'c'.repeat(64),
283
+ cosignerSigs: [],
284
+ },
285
+ },
286
+ commitment: '0x' + 'd'.repeat(64),
287
+ };
288
+ expect(result).toEqual(expectedResponse);
289
+ // Wire format is snake_case
290
+ expect(mockFetch).toHaveBeenCalledWith('http://localhost:3000/delta/proposal', expect.objectContaining({
291
+ method: 'POST',
292
+ body: JSON.stringify({
293
+ account_id: '0x' + 'a'.repeat(30),
294
+ nonce: 1,
295
+ delta_payload: {
296
+ tx_summary: { data: 'base64summary' },
297
+ signatures: [],
298
+ },
299
+ }),
300
+ }));
301
+ });
302
+ });
303
+ describe('signDeltaProposal', () => {
304
+ it('should sign a delta proposal', async () => {
305
+ client.setSigner(mockSigner);
306
+ // Server returns snake_case
307
+ const serverDelta = {
308
+ account_id: '0x' + 'a'.repeat(30),
309
+ nonce: 1,
310
+ prev_commitment: '0x' + 'b'.repeat(64),
311
+ delta_payload: {
312
+ tx_summary: { data: 'base64summary' },
313
+ signatures: [{ signer_id: '0x' + 'c'.repeat(64), signature: { scheme: 'falcon', signature: '0x' + 'd'.repeat(128) } }],
314
+ },
315
+ status: {
316
+ status: 'pending',
317
+ timestamp: '2024-01-01T00:00:00Z',
318
+ proposer_id: '0x' + 'c'.repeat(64),
319
+ cosigner_sigs: [
320
+ {
321
+ signer_id: '0x' + 'c'.repeat(64),
322
+ signature: { scheme: 'falcon', signature: '0x' + 'd'.repeat(128) },
323
+ timestamp: '2024-01-01T00:00:00Z',
324
+ },
325
+ ],
326
+ },
327
+ };
328
+ mockFetch.mockResolvedValueOnce({
329
+ ok: true,
330
+ json: async () => serverDelta,
331
+ });
332
+ // Client API uses camelCase
333
+ const request = {
334
+ accountId: '0x' + 'a'.repeat(30),
335
+ commitment: '0x' + 'e'.repeat(64),
336
+ signature: { scheme: 'falcon', signature: '0x' + 'd'.repeat(128) },
337
+ };
338
+ const result = await client.signDeltaProposal(request);
339
+ // Client returns camelCase
340
+ const expectedDelta = {
341
+ accountId: '0x' + 'a'.repeat(30),
342
+ nonce: 1,
343
+ prevCommitment: '0x' + 'b'.repeat(64),
344
+ newCommitment: undefined,
345
+ deltaPayload: {
346
+ txSummary: { data: 'base64summary' },
347
+ signatures: [{ signerId: '0x' + 'c'.repeat(64), signature: { scheme: 'falcon', signature: '0x' + 'd'.repeat(128) } }],
348
+ metadata: undefined,
349
+ },
350
+ ackSig: undefined,
351
+ status: {
352
+ status: 'pending',
353
+ timestamp: '2024-01-01T00:00:00Z',
354
+ proposerId: '0x' + 'c'.repeat(64),
355
+ cosignerSigs: [
356
+ {
357
+ signerId: '0x' + 'c'.repeat(64),
358
+ signature: { scheme: 'falcon', signature: '0x' + 'd'.repeat(128) },
359
+ timestamp: '2024-01-01T00:00:00Z',
360
+ },
361
+ ],
362
+ },
363
+ };
364
+ expect(result).toEqual(expectedDelta);
365
+ // Wire format is snake_case
366
+ expect(mockFetch).toHaveBeenCalledWith('http://localhost:3000/delta/proposal', expect.objectContaining({
367
+ method: 'PUT',
368
+ body: JSON.stringify({
369
+ account_id: '0x' + 'a'.repeat(30),
370
+ commitment: '0x' + 'e'.repeat(64),
371
+ signature: { scheme: 'falcon', signature: '0x' + 'd'.repeat(128) },
372
+ }),
373
+ }));
374
+ });
375
+ });
376
+ describe('pushDelta', () => {
377
+ it('should push a delta for execution and return ack signature', async () => {
378
+ client.setSigner(mockSigner);
379
+ // Server returns snake_case - execution delta response has raw delta_payload
380
+ const serverResponse = {
381
+ account_id: '0x' + 'a'.repeat(30),
382
+ nonce: 1,
383
+ prev_commitment: '0x' + 'b'.repeat(64),
384
+ new_commitment: '0x' + 'd'.repeat(64),
385
+ delta_payload: { data: 'base64summary' },
386
+ ack_sig: '0x' + 'f'.repeat(128),
387
+ status: {
388
+ status: 'candidate',
389
+ timestamp: '2024-01-01T00:00:00Z',
390
+ },
391
+ };
392
+ mockFetch.mockResolvedValueOnce({
393
+ ok: true,
394
+ json: async () => serverResponse,
395
+ });
396
+ // Client API uses camelCase
397
+ const executionDelta = {
398
+ accountId: '0x' + 'a'.repeat(30),
399
+ nonce: 1,
400
+ prevCommitment: '0x' + 'b'.repeat(64),
401
+ deltaPayload: { data: 'base64summary' },
402
+ status: {
403
+ status: 'pending',
404
+ timestamp: '2024-01-01T00:00:00Z',
405
+ proposerId: '0x' + 'c'.repeat(64),
406
+ cosignerSigs: [],
407
+ },
408
+ };
409
+ const result = await client.pushDelta(executionDelta);
410
+ // PushDeltaResponse only includes essential fields for execution
411
+ expect(result.accountId).toBe('0x' + 'a'.repeat(30));
412
+ expect(result.nonce).toBe(1);
413
+ expect(result.newCommitment).toBe('0x' + 'd'.repeat(64));
414
+ expect(result.ackSig).toBe('0x' + 'f'.repeat(128));
415
+ expect(mockFetch).toHaveBeenCalledWith('http://localhost:3000/delta', expect.objectContaining({
416
+ method: 'POST',
417
+ }));
418
+ });
419
+ });
420
+ describe('getDelta', () => {
421
+ it('should get a specific delta by nonce', async () => {
422
+ client.setSigner(mockSigner);
423
+ // Server returns snake_case
424
+ const serverDelta = {
425
+ account_id: '0x' + 'a'.repeat(30),
426
+ nonce: 5,
427
+ prev_commitment: '0x' + 'b'.repeat(64),
428
+ delta_payload: {
429
+ tx_summary: { data: 'base64summary' },
430
+ signatures: [],
431
+ },
432
+ status: {
433
+ status: 'canonical',
434
+ timestamp: '2024-01-01T00:00:00Z',
435
+ },
436
+ };
437
+ mockFetch.mockResolvedValueOnce({
438
+ ok: true,
439
+ json: async () => serverDelta,
440
+ });
441
+ const result = await client.getDelta('0x' + 'a'.repeat(30), 5);
442
+ // Client returns camelCase
443
+ expect(result.accountId).toBe('0x' + 'a'.repeat(30));
444
+ expect(result.nonce).toBe(5);
445
+ expect(result.prevCommitment).toBe('0x' + 'b'.repeat(64));
446
+ expect(result.status.status).toBe('canonical');
447
+ expect(mockFetch).toHaveBeenCalledWith(expect.stringContaining('/delta?'), expect.objectContaining({ method: 'GET' }));
448
+ });
449
+ });
450
+ describe('getDeltaSince', () => {
451
+ it('should get merged delta since a nonce', async () => {
452
+ client.setSigner(mockSigner);
453
+ // Server returns snake_case
454
+ const serverDelta = {
455
+ account_id: '0x' + 'a'.repeat(30),
456
+ nonce: 10,
457
+ prev_commitment: '0x' + 'b'.repeat(64),
458
+ delta_payload: {
459
+ tx_summary: { data: 'base64mergeddata' },
460
+ signatures: [],
461
+ },
462
+ status: {
463
+ status: 'canonical',
464
+ timestamp: '2024-01-01T00:00:00Z',
465
+ },
466
+ };
467
+ mockFetch.mockResolvedValueOnce({
468
+ ok: true,
469
+ json: async () => serverDelta,
470
+ });
471
+ const result = await client.getDeltaSince('0x' + 'a'.repeat(30), 5);
472
+ // Client returns camelCase
473
+ expect(result.accountId).toBe('0x' + 'a'.repeat(30));
474
+ expect(result.nonce).toBe(10);
475
+ expect(result.deltaPayload.txSummary.data).toBe('base64mergeddata');
476
+ expect(mockFetch).toHaveBeenCalledWith(expect.stringContaining('/delta/since?'), expect.objectContaining({ method: 'GET' }));
477
+ });
478
+ });
479
+ });
480
+ describe('GuardianHttpError', () => {
481
+ it('should create error with status, statusText, and body', () => {
482
+ const error = new GuardianHttpError(404, 'Not Found', 'Resource not found');
483
+ expect(error).toBeInstanceOf(Error);
484
+ expect(error).toBeInstanceOf(GuardianHttpError);
485
+ expect(error.status).toBe(404);
486
+ expect(error.statusText).toBe('Not Found');
487
+ expect(error.body).toBe('Resource not found');
488
+ expect(error.message).toContain('404');
489
+ expect(error.message).toContain('Not Found');
490
+ expect(error.name).toBe('GuardianHttpError');
491
+ });
492
+ });
493
+ //# sourceMappingURL=http.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.test.js","sourceRoot":"","sources":["../src/http.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { GuardianHttpClient, GuardianHttpError } from './http.js';
2
+ export { RequestAuthPayload } from './auth-request.js';
3
+ export type { Signer, FalconSignature, EcdsaSignature, ProposalSignature, SignatureScheme, CosignerSignature, AuthConfig, DeltaStatus, DeltaObject, ExecutionDelta, StateObject, ProposalType, ProposalMetadata, ConfigureRequest, ConfigureResponse, PubkeyResponse, DeltaProposalRequest, DeltaProposalResponse, ProposalsResponse, SignProposalRequest, } from './types.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,YAAY,EACV,MAAM,EACN,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export { GuardianHttpClient, GuardianHttpError } from './http.js';
2
+ export { RequestAuthPayload } from './auth-request.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}