@atcute/client 4.2.1 → 5.0.0
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 +52 -26
- package/dist/client.d.ts +12 -21
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +1 -21
- package/dist/client.js.map +1 -1
- package/dist/fetch-handler.d.ts.map +1 -1
- package/dist/fetch-handler.js.map +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/jwt.d.ts.map +1 -1
- package/dist/utils/jwt.js +2 -2
- package/dist/utils/jwt.js.map +1 -1
- package/lib/client.ts +11 -30
- package/lib/env.d.ts +1 -0
- package/lib/index.ts +2 -3
- package/lib/utils/jwt.ts +2 -2
- package/package.json +18 -14
- package/dist/credential-manager.d.ts +0 -109
- package/dist/credential-manager.d.ts.map +0 -1
- package/dist/credential-manager.js +0 -250
- package/dist/credential-manager.js.map +0 -1
- package/lib/credential-manager.ts +0 -413
package/README.md
CHANGED
|
@@ -47,10 +47,12 @@ available packages:
|
|
|
47
47
|
| [`@atcute/ozone`](../../definitions/ozone) | `tools.ozone.*` |
|
|
48
48
|
| [`@atcute/bluemoji`](../../definitions/bluemoji) | `blue.moji.*` |
|
|
49
49
|
| [`@atcute/frontpage`](../../definitions/frontpage) | `fyi.unravel.frontpage.*` |
|
|
50
|
+
| [`@atcute/leaflet`](../../definitions/leaflet) | `pub.leaflet.*` |
|
|
50
51
|
| [`@atcute/whitewind`](../../definitions/whitewind) | `com.whtwnd.*` |
|
|
51
52
|
| [`@atcute/tangled`](../../definitions/tangled) | `sh.tangled.*` |
|
|
52
53
|
| [`@atcute/microcosm`](../../definitions/microcosm) | `blue.microcosm.*`, `com.bad-example.*` |
|
|
53
54
|
| [`@atcute/pckt`](../../definitions/pckt) | `blog.pckt.*` |
|
|
55
|
+
| [`@atcute/standard-site`](../../definitions/standard-site) | `site.standard.*` |
|
|
54
56
|
| [`@atcute/lexicon-community`](../../definitions/lexicon-community) | `community.lexicon.*` |
|
|
55
57
|
|
|
56
58
|
you can register multiple packages to combine their types.
|
|
@@ -143,7 +145,9 @@ if you prefer throwing on errors instead of checking `response.ok`, use the `ok(
|
|
|
143
145
|
```ts
|
|
144
146
|
import { Client, ok, simpleFetchHandler } from '@atcute/client';
|
|
145
147
|
|
|
146
|
-
const rpc = new Client({
|
|
148
|
+
const rpc = new Client({
|
|
149
|
+
handler: simpleFetchHandler({ service: 'https://public.api.bsky.app' }),
|
|
150
|
+
});
|
|
147
151
|
|
|
148
152
|
// throws ClientResponseError if the request fails
|
|
149
153
|
const profile = await ok(rpc.get('app.bsky.actor.getProfile', { params: { actor: 'bsky.app' } }));
|
|
@@ -170,17 +174,24 @@ try {
|
|
|
170
174
|
|
|
171
175
|
### authenticated requests
|
|
172
176
|
|
|
173
|
-
use `
|
|
174
|
-
access tokens, and can persist sessions:
|
|
177
|
+
for password-based authentication, use `PasswordSession` from `@atcute/password-session`. it manages
|
|
178
|
+
tokens, automatically refreshes expired access tokens, and can persist sessions:
|
|
179
|
+
|
|
180
|
+
```sh
|
|
181
|
+
npm install @atcute/password-session
|
|
182
|
+
```
|
|
175
183
|
|
|
176
184
|
```ts
|
|
177
|
-
import { Client,
|
|
185
|
+
import { Client, ok } from '@atcute/client';
|
|
186
|
+
import { PasswordSession } from '@atcute/password-session';
|
|
178
187
|
|
|
179
|
-
const
|
|
180
|
-
|
|
188
|
+
const auth = await PasswordSession.login({
|
|
189
|
+
service: 'https://bsky.social',
|
|
190
|
+
identifier: 'you.bsky.social',
|
|
191
|
+
password: 'your-app-password',
|
|
192
|
+
});
|
|
181
193
|
|
|
182
|
-
|
|
183
|
-
await manager.login({ identifier: 'you.bsky.social', password: 'your-app-password' });
|
|
194
|
+
const rpc = new Client({ handler: auth });
|
|
184
195
|
|
|
185
196
|
// requests are now authenticated
|
|
186
197
|
const session = await ok(rpc.get('com.atproto.server.getSession'));
|
|
@@ -188,35 +199,42 @@ console.log(session.did);
|
|
|
188
199
|
// -> "did:plc:..."
|
|
189
200
|
```
|
|
190
201
|
|
|
191
|
-
save `
|
|
202
|
+
save `auth.session` to persist login across app restarts:
|
|
192
203
|
|
|
193
204
|
```ts
|
|
194
205
|
// after login, save the session
|
|
195
|
-
localStorage.setItem('session', JSON.stringify(
|
|
206
|
+
localStorage.setItem('session', JSON.stringify(auth.session));
|
|
196
207
|
```
|
|
197
208
|
|
|
198
209
|
```ts
|
|
199
210
|
// later, restore the session
|
|
200
211
|
const saved = localStorage.getItem('session');
|
|
201
212
|
if (saved) {
|
|
202
|
-
await
|
|
213
|
+
const auth = await PasswordSession.resume(JSON.parse(saved));
|
|
214
|
+
const rpc = new Client({ handler: auth });
|
|
203
215
|
}
|
|
204
216
|
```
|
|
205
217
|
|
|
206
218
|
use callbacks to keep persisted sessions in sync:
|
|
207
219
|
|
|
208
220
|
```ts
|
|
209
|
-
const
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
221
|
+
const auth = await PasswordSession.login(
|
|
222
|
+
{
|
|
223
|
+
service: 'https://bsky.social',
|
|
224
|
+
identifier: 'you.bsky.social',
|
|
225
|
+
password: 'your-app-password',
|
|
214
226
|
},
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
227
|
+
{
|
|
228
|
+
onUpdate(session) {
|
|
229
|
+
// called on login and token refresh
|
|
230
|
+
localStorage.setItem('session', JSON.stringify(session));
|
|
231
|
+
},
|
|
232
|
+
onDelete(session) {
|
|
233
|
+
// called on logout or session invalidation
|
|
234
|
+
localStorage.removeItem('session');
|
|
235
|
+
},
|
|
218
236
|
},
|
|
219
|
-
|
|
237
|
+
);
|
|
220
238
|
```
|
|
221
239
|
|
|
222
240
|
### response formats
|
|
@@ -267,7 +285,9 @@ schema from a definition package:
|
|
|
267
285
|
import { Client, ok, simpleFetchHandler } from '@atcute/client';
|
|
268
286
|
import { AppBskyActorGetProfile } from '@atcute/bluesky';
|
|
269
287
|
|
|
270
|
-
const rpc = new Client({
|
|
288
|
+
const rpc = new Client({
|
|
289
|
+
handler: simpleFetchHandler({ service: 'https://public.api.bsky.app' }),
|
|
290
|
+
});
|
|
271
291
|
|
|
272
292
|
// validates params, input, and output against the schema
|
|
273
293
|
const response = await rpc.call(AppBskyActorGetProfile, {
|
|
@@ -301,13 +321,19 @@ service proxying lets you make authenticated requests through your PDS to other
|
|
|
301
321
|
forwards the request with authorization headers proving it's acting on your behalf.
|
|
302
322
|
|
|
303
323
|
```ts
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
324
|
+
import { Client, ok } from '@atcute/client';
|
|
325
|
+
import { PasswordSession } from '@atcute/password-session';
|
|
326
|
+
|
|
327
|
+
// must be authenticated
|
|
328
|
+
const session = await PasswordSession.login({
|
|
329
|
+
service: 'https://bsky.social',
|
|
330
|
+
identifier: 'you.bsky.social',
|
|
331
|
+
password: 'your-app-password',
|
|
332
|
+
});
|
|
307
333
|
|
|
308
334
|
// create a client that proxies requests through your PDS to the chat service
|
|
309
335
|
const chatClient = new Client({
|
|
310
|
-
handler:
|
|
336
|
+
handler: session,
|
|
311
337
|
proxy: {
|
|
312
338
|
did: 'did:web:api.bsky.chat',
|
|
313
339
|
serviceId: '#bsky_chat',
|
|
@@ -344,7 +370,7 @@ const customHandler: FetchHandler = async (pathname, init) => {
|
|
|
344
370
|
const rpc = new Client({ handler: customHandler });
|
|
345
371
|
```
|
|
346
372
|
|
|
347
|
-
or implement `FetchHandlerObject` for stateful handlers (like `
|
|
373
|
+
or implement `FetchHandlerObject` for stateful handlers (like `PasswordSession` does):
|
|
348
374
|
|
|
349
375
|
```ts
|
|
350
376
|
import type { FetchHandlerObject } from '@atcute/client';
|
package/dist/client.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { Did } from '@atcute/lexicons';
|
|
2
1
|
import type { XRPCProcedures, XRPCQueries } from '@atcute/lexicons/ambient';
|
|
2
|
+
import type { AtprotoAudience } from '@atcute/lexicons/syntax';
|
|
3
3
|
import * as v from '@atcute/lexicons/validations';
|
|
4
4
|
import type { InferInput, InferOutput, ObjectSchema, XRPCBlobBodyParam, XRPCLexBodyParam, XRPCProcedureMetadata, XRPCQueryMetadata } from '@atcute/lexicons/validations';
|
|
5
|
-
import { type FetchHandler, type FetchHandlerObject } from './fetch-handler.
|
|
5
|
+
import { type FetchHandler, type FetchHandlerObject } from './fetch-handler.ts';
|
|
6
6
|
type RequiredKeysOf<TType extends object> = TType extends any ? Exclude<{
|
|
7
7
|
[Key in keyof TType]: TType extends Record<Key, TType[Key]> ? Key : never;
|
|
8
8
|
}[keyof TType], undefined> : never;
|
|
@@ -63,7 +63,8 @@ export type CallRequestOptions<TMeta> = BaseRequestOptions & (TMeta extends XRPC
|
|
|
63
63
|
params: InferInput<Params>;
|
|
64
64
|
} : {
|
|
65
65
|
params?: Record<string, unknown>;
|
|
66
|
-
} : TMeta extends XRPCProcedureMetadata<infer Params, infer Input, any, any> ?
|
|
66
|
+
} : TMeta extends XRPCProcedureMetadata<infer Params, infer Input, any, any> ? // procedure
|
|
67
|
+
(Params extends ObjectSchema ? {
|
|
67
68
|
params: InferInput<Params>;
|
|
68
69
|
} : {
|
|
69
70
|
params?: Record<string, unknown>;
|
|
@@ -116,35 +117,25 @@ type UnknownClientResponse = {
|
|
|
116
117
|
type Namespaced<T> = {
|
|
117
118
|
mainSchema: T;
|
|
118
119
|
};
|
|
119
|
-
/** options for configuring
|
|
120
|
-
export type
|
|
121
|
-
/**
|
|
122
|
-
|
|
120
|
+
/** options for configuring the client */
|
|
121
|
+
export type ClientOptions = {
|
|
122
|
+
/** the underlying fetch handler it should make requests with */
|
|
123
|
+
handler: FetchHandler | FetchHandlerObject;
|
|
123
124
|
/**
|
|
124
|
-
*
|
|
125
|
-
* that the upstream service should forward requests to.
|
|
126
|
-
*
|
|
127
|
-
* must start with `#`
|
|
125
|
+
* service proxy target, in the form `<did>#<service-id>`.
|
|
128
126
|
*
|
|
129
|
-
* common
|
|
127
|
+
* common service ids include:
|
|
130
128
|
* - `#atproto_pds` (personal data server)
|
|
131
129
|
* - `#atproto_labeler` (labeler service)
|
|
132
130
|
* - `#bsky_chat` (Bluesky chat service)
|
|
133
131
|
*/
|
|
134
|
-
|
|
135
|
-
};
|
|
136
|
-
/** options for configuring the client */
|
|
137
|
-
export type ClientOptions = {
|
|
138
|
-
/** the underlying fetch handler it should make requests with */
|
|
139
|
-
handler: FetchHandler | FetchHandlerObject;
|
|
140
|
-
/** service proxy configuration */
|
|
141
|
-
proxy?: ServiceProxyOptions | null;
|
|
132
|
+
proxy?: AtprotoAudience | null;
|
|
142
133
|
};
|
|
143
134
|
/** XRPC API client */
|
|
144
135
|
export declare class Client<TQueries = XRPCQueries, TProcedures = XRPCProcedures> {
|
|
145
136
|
#private;
|
|
146
137
|
handler: FetchHandler;
|
|
147
|
-
proxy:
|
|
138
|
+
proxy: AtprotoAudience | null;
|
|
148
139
|
constructor({ handler, proxy }: ClientOptions);
|
|
149
140
|
/**
|
|
150
141
|
* clones this XRPC client
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../lib/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../lib/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -3,8 +3,6 @@ import { buildFetchHandler } from './fetch-handler.js';
|
|
|
3
3
|
const JSON_CONTENT_TYPE_RE = /\bapplication\/json\b/;
|
|
4
4
|
/** XRPC API client */
|
|
5
5
|
export class Client {
|
|
6
|
-
handler;
|
|
7
|
-
proxy;
|
|
8
6
|
constructor({ handler, proxy = null }) {
|
|
9
7
|
this.handler = buildFetchHandler(handler);
|
|
10
8
|
this.proxy = proxy;
|
|
@@ -84,7 +82,7 @@ export class Client {
|
|
|
84
82
|
body: input && !isWebInput ? JSON.stringify(input) : input,
|
|
85
83
|
headers: _mergeHeaders(headers, {
|
|
86
84
|
'content-type': input && !isWebInput ? 'application/json' : null,
|
|
87
|
-
'atproto-proxy':
|
|
85
|
+
'atproto-proxy': this.proxy,
|
|
88
86
|
}),
|
|
89
87
|
duplex: input instanceof ReadableStream ? 'half' : undefined,
|
|
90
88
|
});
|
|
@@ -180,12 +178,6 @@ const _constructSearchParams = (params) => {
|
|
|
180
178
|
}
|
|
181
179
|
return searchParams ? `?` + searchParams.toString() : '';
|
|
182
180
|
};
|
|
183
|
-
const _constructProxyHeader = (proxy) => {
|
|
184
|
-
if (proxy != null) {
|
|
185
|
-
return `${proxy.did}${proxy.serviceId}`;
|
|
186
|
-
}
|
|
187
|
-
return null;
|
|
188
|
-
};
|
|
189
181
|
const _mergeHeaders = (init, defaults) => {
|
|
190
182
|
let headers;
|
|
191
183
|
for (const name in defaults) {
|
|
@@ -228,14 +220,6 @@ export const ok = (input) => {
|
|
|
228
220
|
};
|
|
229
221
|
/** represents an error response returned by the client */
|
|
230
222
|
export class ClientResponseError extends Error {
|
|
231
|
-
/** error name returned by service */
|
|
232
|
-
error;
|
|
233
|
-
/** error message returned by service */
|
|
234
|
-
description;
|
|
235
|
-
/** response status */
|
|
236
|
-
status;
|
|
237
|
-
/** response headers */
|
|
238
|
-
headers;
|
|
239
223
|
constructor({ status, headers = new Headers(), data }) {
|
|
240
224
|
super(`${data.error} > ${data.message ?? '(unspecified description)'}`);
|
|
241
225
|
this.name = 'ClientResponseError';
|
|
@@ -247,10 +231,6 @@ export class ClientResponseError extends Error {
|
|
|
247
231
|
}
|
|
248
232
|
/** represents a validation error during typed calls */
|
|
249
233
|
export class ClientValidationError extends Error {
|
|
250
|
-
/** validation target (params, input, or output) */
|
|
251
|
-
target;
|
|
252
|
-
/** validation result */
|
|
253
|
-
result;
|
|
254
234
|
constructor(target, result) {
|
|
255
235
|
super(`validation failed for ${target}: ${result.message}`);
|
|
256
236
|
this.name = 'ClientValidationError';
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../lib/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,8BAA8B,CAAC;AAWlD,OAAO,EAAE,iBAAiB,EAA8C,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../lib/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-handler.d.ts","sourceRoot":"","sources":["../lib/fetch-handler.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEtF,iCAAiC;AACjC,MAAM,WAAW,kBAAkB;IAClC,MAAM,CAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACzF;AAED,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"fetch-handler.d.ts","sourceRoot":"","sources":["../lib/fetch-handler.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEtF,iCAAiC;AACjC,MAAM,WAAW,kBAAkB;IAClC,MAAM,CAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACzF;AAED,eAAO,MAAM,iBAAiB,YAAa,YAAY,GAAG,kBAAkB,KAAG,YAM9E,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACzC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CAChC;AAED,eAAO,MAAM,kBAAkB,gCAG5B,yBAAyB,KAAG,YAK9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-handler.js","sourceRoot":"","sources":["../lib/fetch-handler.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAA0C,EAAgB,EAAE
|
|
1
|
+
{"version":3,"file":"fetch-handler.js","sourceRoot":"","sources":["../lib/fetch-handler.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAA0C,EAAgB,EAAE;IAC7F,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAClC,OAAO,EACP,KAAK,EAAE,MAAM,GAAG,KAAK,GACM,EAAgB,EAAE;IAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvC,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC;AACH,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
|
package/dist/utils/jwt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../lib/utils/jwt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../lib/utils/jwt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,eAAO,MAAM,SAAS,UAAW,MAAM,KAAG,OAqBzC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAAS,MAAM,KAAG,MAqB7C,CAAC"}
|
package/dist/utils/jwt.js
CHANGED
|
@@ -20,13 +20,13 @@ export const decodeJwt = (token) => {
|
|
|
20
20
|
decoded = base64UrlDecode(part);
|
|
21
21
|
}
|
|
22
22
|
catch (e) {
|
|
23
|
-
throw new Error(
|
|
23
|
+
throw new Error(`invalid token: invalid b64 for part ${pos + 1}`, { cause: e });
|
|
24
24
|
}
|
|
25
25
|
try {
|
|
26
26
|
return JSON.parse(decoded);
|
|
27
27
|
}
|
|
28
28
|
catch (e) {
|
|
29
|
-
throw new Error(
|
|
29
|
+
throw new Error(`invalid token: invalid json for part ${pos + 1}`, { cause: e });
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
32
|
/**
|
package/dist/utils/jwt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../lib/utils/jwt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAW,EAAE
|
|
1
|
+
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../lib/utils/jwt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAW,EAAE;IACnD,MAAM,GAAG,GAAG,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC,IAAI,OAAe,CAAC;IAEpB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC;QACJ,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;AACF,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAU,EAAE;IACtD,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAEvD,QAAQ,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC;YACL,MAAM;QACP,KAAK,CAAC;YACL,MAAM,IAAI,IAAI,CAAC;YACf,MAAM;QACP,KAAK,CAAC;YACL,MAAM,IAAI,GAAG,CAAC;YACd,MAAM;QACP;YACC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,CAAC;QACJ,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAU,EAAE;IAChD,OAAO,kBAAkB,CACxB,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACnC,IAAI,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAEtD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,OAAO,GAAG,GAAG,IAAI,CAAC;IACnB,CAAC,CAAC,CACF,CAAC;AACH,CAAC,CAAC"}
|
package/lib/client.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Did } from '@atcute/lexicons';
|
|
2
1
|
import type { XRPCProcedures, XRPCQueries } from '@atcute/lexicons/ambient';
|
|
2
|
+
import type { AtprotoAudience } from '@atcute/lexicons/syntax';
|
|
3
3
|
import * as v from '@atcute/lexicons/validations';
|
|
4
4
|
import type {
|
|
5
5
|
InferInput,
|
|
@@ -11,7 +11,7 @@ import type {
|
|
|
11
11
|
XRPCQueryMetadata,
|
|
12
12
|
} from '@atcute/lexicons/validations';
|
|
13
13
|
|
|
14
|
-
import { buildFetchHandler, type FetchHandler, type FetchHandlerObject } from './fetch-handler.
|
|
14
|
+
import { buildFetchHandler, type FetchHandler, type FetchHandlerObject } from './fetch-handler.ts';
|
|
15
15
|
|
|
16
16
|
// #region Type utilities
|
|
17
17
|
type RequiredKeysOf<TType extends object> = TType extends any
|
|
@@ -187,30 +187,19 @@ type Namespaced<T> = { mainSchema: T };
|
|
|
187
187
|
// #endregion
|
|
188
188
|
|
|
189
189
|
// #region Client
|
|
190
|
-
/** options for configuring
|
|
191
|
-
export type
|
|
192
|
-
/**
|
|
193
|
-
|
|
190
|
+
/** options for configuring the client */
|
|
191
|
+
export type ClientOptions = {
|
|
192
|
+
/** the underlying fetch handler it should make requests with */
|
|
193
|
+
handler: FetchHandler | FetchHandlerObject;
|
|
194
194
|
/**
|
|
195
|
-
*
|
|
196
|
-
* that the upstream service should forward requests to.
|
|
195
|
+
* service proxy target, in the form `<did>#<service-id>`.
|
|
197
196
|
*
|
|
198
|
-
*
|
|
199
|
-
*
|
|
200
|
-
* common values include:
|
|
197
|
+
* common service ids include:
|
|
201
198
|
* - `#atproto_pds` (personal data server)
|
|
202
199
|
* - `#atproto_labeler` (labeler service)
|
|
203
200
|
* - `#bsky_chat` (Bluesky chat service)
|
|
204
201
|
*/
|
|
205
|
-
|
|
206
|
-
};
|
|
207
|
-
|
|
208
|
-
/** options for configuring the client */
|
|
209
|
-
export type ClientOptions = {
|
|
210
|
-
/** the underlying fetch handler it should make requests with */
|
|
211
|
-
handler: FetchHandler | FetchHandlerObject;
|
|
212
|
-
/** service proxy configuration */
|
|
213
|
-
proxy?: ServiceProxyOptions | null;
|
|
202
|
+
proxy?: AtprotoAudience | null;
|
|
214
203
|
};
|
|
215
204
|
|
|
216
205
|
const JSON_CONTENT_TYPE_RE = /\bapplication\/json\b/;
|
|
@@ -218,7 +207,7 @@ const JSON_CONTENT_TYPE_RE = /\bapplication\/json\b/;
|
|
|
218
207
|
/** XRPC API client */
|
|
219
208
|
export class Client<TQueries = XRPCQueries, TProcedures = XRPCProcedures> {
|
|
220
209
|
handler: FetchHandler;
|
|
221
|
-
proxy:
|
|
210
|
+
proxy: AtprotoAudience | null;
|
|
222
211
|
|
|
223
212
|
constructor({ handler, proxy = null }: ClientOptions) {
|
|
224
213
|
this.handler = buildFetchHandler(handler);
|
|
@@ -354,7 +343,7 @@ export class Client<TQueries = XRPCQueries, TProcedures = XRPCProcedures> {
|
|
|
354
343
|
body: input && !isWebInput ? JSON.stringify(input) : input,
|
|
355
344
|
headers: _mergeHeaders(headers, {
|
|
356
345
|
'content-type': input && !isWebInput ? 'application/json' : null,
|
|
357
|
-
'atproto-proxy':
|
|
346
|
+
'atproto-proxy': this.proxy,
|
|
358
347
|
}),
|
|
359
348
|
duplex: input instanceof ReadableStream ? 'half' : undefined,
|
|
360
349
|
});
|
|
@@ -466,14 +455,6 @@ const _constructSearchParams = (params: Record<string, unknown> | undefined): st
|
|
|
466
455
|
return searchParams ? `?` + searchParams.toString() : '';
|
|
467
456
|
};
|
|
468
457
|
|
|
469
|
-
const _constructProxyHeader = (proxy: ServiceProxyOptions | null | undefined): string | null => {
|
|
470
|
-
if (proxy != null) {
|
|
471
|
-
return `${proxy.did}${proxy.serviceId}`;
|
|
472
|
-
}
|
|
473
|
-
|
|
474
|
-
return null;
|
|
475
|
-
};
|
|
476
|
-
|
|
477
458
|
const _mergeHeaders = (
|
|
478
459
|
init: HeadersInit | undefined,
|
|
479
460
|
defaults: Record<string, string | null>,
|
package/lib/env.d.ts
CHANGED
package/lib/index.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export * from './client.
|
|
2
|
-
export * from './fetch-handler.
|
|
3
|
-
export * from './credential-manager.js';
|
|
1
|
+
export * from './client.ts';
|
|
2
|
+
export * from './fetch-handler.ts';
|
package/lib/utils/jwt.ts
CHANGED
|
@@ -23,13 +23,13 @@ export const decodeJwt = (token: string): unknown => {
|
|
|
23
23
|
try {
|
|
24
24
|
decoded = base64UrlDecode(part);
|
|
25
25
|
} catch (e) {
|
|
26
|
-
throw new Error(
|
|
26
|
+
throw new Error(`invalid token: invalid b64 for part ${pos + 1}`, { cause: e });
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
try {
|
|
30
30
|
return JSON.parse(decoded);
|
|
31
31
|
} catch (e) {
|
|
32
|
-
throw new Error(
|
|
32
|
+
throw new Error(`invalid token: invalid json for part ${pos + 1}`, { cause: e });
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
|
package/package.json
CHANGED
|
@@ -1,38 +1,42 @@
|
|
|
1
1
|
{
|
|
2
|
-
"type": "module",
|
|
3
2
|
"name": "@atcute/client",
|
|
4
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
5
4
|
"description": "lightweight and cute API client for AT Protocol",
|
|
6
5
|
"license": "0BSD",
|
|
7
6
|
"repository": {
|
|
8
7
|
"url": "https://github.com/mary-ext/atcute",
|
|
9
8
|
"directory": "packages/clients/client"
|
|
10
9
|
},
|
|
11
|
-
"publishConfig": {
|
|
12
|
-
"access": "public"
|
|
13
|
-
},
|
|
14
10
|
"files": [
|
|
15
11
|
"dist/",
|
|
16
12
|
"lib/",
|
|
17
13
|
"!lib/**/*.bench.ts",
|
|
18
|
-
"!lib/**/*.test.ts"
|
|
14
|
+
"!lib/**/*.test.ts",
|
|
15
|
+
"!dist/**/*.{test,bench}.*"
|
|
19
16
|
],
|
|
17
|
+
"type": "module",
|
|
20
18
|
"exports": {
|
|
21
19
|
".": "./dist/index.js"
|
|
22
20
|
},
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"access": "public"
|
|
23
|
+
},
|
|
23
24
|
"dependencies": {
|
|
24
|
-
"@atcute/identity": "^
|
|
25
|
-
"@atcute/lexicons": "^
|
|
25
|
+
"@atcute/identity": "^2.0.0",
|
|
26
|
+
"@atcute/lexicons": "^2.0.0"
|
|
26
27
|
},
|
|
27
28
|
"devDependencies": {
|
|
28
|
-
"@vitest/coverage-v8": "^4.
|
|
29
|
-
"vitest": "^4.
|
|
30
|
-
"@atcute/
|
|
31
|
-
"@atcute/bluesky": "^
|
|
32
|
-
"@atcute/
|
|
29
|
+
"@vitest/coverage-v8": "^4.1.5",
|
|
30
|
+
"vitest": "^4.1.5",
|
|
31
|
+
"@atcute/atproto": "^4.0.0",
|
|
32
|
+
"@atcute/bluesky": "^4.0.0",
|
|
33
|
+
"@atcute/internal-dev-env": "^1.0.2"
|
|
34
|
+
},
|
|
35
|
+
"peerDependencies": {
|
|
36
|
+
"@atcute/lexicons": "^2.0.0"
|
|
33
37
|
},
|
|
34
38
|
"scripts": {
|
|
35
|
-
"build": "tsgo
|
|
39
|
+
"build": "tsgo",
|
|
36
40
|
"postbuild": "node ./scripts/ensure-files.js",
|
|
37
41
|
"test": "vitest run --coverage",
|
|
38
42
|
"prepublish": "rm -rf dist; pnpm run build"
|