@atcute/xrpc-server 0.1.12 → 1.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 +81 -20
- package/dist/auth/jwt-creator.d.ts +4 -2
- package/dist/auth/jwt-creator.d.ts.map +1 -1
- package/dist/auth/jwt-creator.js +1 -1
- package/dist/auth/jwt-creator.js.map +1 -1
- package/dist/auth/jwt-verifier.d.ts +69 -8
- package/dist/auth/jwt-verifier.d.ts.map +1 -1
- package/dist/auth/jwt-verifier.js +130 -19
- package/dist/auth/jwt-verifier.js.map +1 -1
- package/dist/auth/jwt.d.ts +7 -2
- package/dist/auth/jwt.d.ts.map +1 -1
- package/dist/auth/jwt.js +14 -7
- package/dist/auth/jwt.js.map +1 -1
- package/dist/main/router.d.ts +32 -4
- package/dist/main/router.d.ts.map +1 -1
- package/dist/main/router.js +63 -10
- package/dist/main/router.js.map +1 -1
- package/dist/main/types/operation.d.ts +8 -0
- package/dist/main/types/operation.d.ts.map +1 -1
- package/dist/main/types/websocket.d.ts +8 -0
- package/dist/main/types/websocket.d.ts.map +1 -1
- package/dist/main/utils/websocket-mock.d.ts.map +1 -1
- package/dist/main/utils/websocket-mock.js +3 -0
- package/dist/main/utils/websocket-mock.js.map +1 -1
- package/dist/main/xrpc-error.d.ts +55 -15
- package/dist/main/xrpc-error.d.ts.map +1 -1
- package/dist/main/xrpc-error.js +66 -26
- package/dist/main/xrpc-error.js.map +1 -1
- package/lib/auth/jwt-creator.ts +5 -3
- package/lib/auth/jwt-verifier.ts +205 -25
- package/lib/auth/jwt.ts +21 -10
- package/lib/main/router.ts +95 -14
- package/lib/main/types/operation.ts +8 -0
- package/lib/main/types/websocket.ts +8 -0
- package/lib/main/utils/websocket-mock.ts +3 -0
- package/lib/main/xrpc-error.ts +107 -44
- package/package.json +19 -15
package/dist/auth/jwt.js
CHANGED
|
@@ -1,26 +1,33 @@
|
|
|
1
|
+
import { isAtprotoAudience } from '@atcute/identity';
|
|
1
2
|
import { isDid, isNsid } from '@atcute/lexicons/syntax';
|
|
2
3
|
import { fromBase64Url } from '@atcute/multibase';
|
|
3
4
|
import { decodeUtf8From, encodeUtf8 } from '@atcute/uint8array';
|
|
4
5
|
import * as v from '@badrap/valita';
|
|
5
6
|
const didString = v.string().assert(isDid, `must be a did`);
|
|
7
|
+
const audienceString = v
|
|
8
|
+
.string()
|
|
9
|
+
.assert((input) => isAtprotoAudience(input) || isDid(input), `must be a did or atproto audience`);
|
|
6
10
|
const nsidString = v.string().assert(isNsid, `must be an nsid`);
|
|
7
11
|
const integer = v.number().assert((input) => input >= 0 && Number.isSafeInteger(input), `must be an integer`);
|
|
8
12
|
const jwtHeader = v.object({
|
|
9
13
|
typ: v.string().optional(),
|
|
10
14
|
alg: v.string(),
|
|
15
|
+
kid: v.string().optional(),
|
|
11
16
|
});
|
|
12
17
|
const jwtPayload = v
|
|
13
18
|
.object({
|
|
14
19
|
/** issuer */
|
|
15
20
|
iss: didString,
|
|
16
|
-
/** target audience */
|
|
17
|
-
aud:
|
|
21
|
+
/** target audience; a bare DID or a DID with service fragment (e.g. `did:web:x.example#svc`) */
|
|
22
|
+
aud: audienceString,
|
|
18
23
|
/** expiration time */
|
|
19
24
|
exp: integer,
|
|
20
25
|
/** creation time */
|
|
21
26
|
iat: integer.optional(),
|
|
22
|
-
/**
|
|
23
|
-
|
|
27
|
+
/** not-before time */
|
|
28
|
+
nbf: integer.optional(),
|
|
29
|
+
/** xrpc operation being invoked; required per atproto service auth spec */
|
|
30
|
+
lxm: nsidString,
|
|
24
31
|
/** unique identifier */
|
|
25
32
|
jti: v.string().optional(),
|
|
26
33
|
})
|
|
@@ -41,7 +48,7 @@ const readJwtPortion = (schema, input) => {
|
|
|
41
48
|
return {
|
|
42
49
|
ok: false,
|
|
43
50
|
error: {
|
|
44
|
-
error: `
|
|
51
|
+
error: `BadJwt`,
|
|
45
52
|
description: `jwt is malformed`,
|
|
46
53
|
},
|
|
47
54
|
};
|
|
@@ -54,7 +61,7 @@ const readJwtSignature = (input) => {
|
|
|
54
61
|
return {
|
|
55
62
|
ok: false,
|
|
56
63
|
error: {
|
|
57
|
-
error: `
|
|
64
|
+
error: `BadJwt`,
|
|
58
65
|
description: `jwt is malformed`,
|
|
59
66
|
},
|
|
60
67
|
};
|
|
@@ -65,7 +72,7 @@ export const parseJwt = (jwtString) => {
|
|
|
65
72
|
return {
|
|
66
73
|
ok: false,
|
|
67
74
|
error: {
|
|
68
|
-
error: `
|
|
75
|
+
error: `BadJwt`,
|
|
69
76
|
description: `jwt is malformed`,
|
|
70
77
|
},
|
|
71
78
|
};
|
package/dist/auth/jwt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../lib/auth/jwt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../lib/auth/jwt.ts"],"names":[],"mappings":"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"}
|
package/dist/main/router.d.ts
CHANGED
|
@@ -6,22 +6,50 @@ import { type Middleware } from './utils/middlewares.ts';
|
|
|
6
6
|
import { type Namespaced } from './utils/namespaced.ts';
|
|
7
7
|
export type FetchMiddleware = Middleware<[request: Request], Promise<Response>>;
|
|
8
8
|
export type NotFoundHandler = (request: Request) => Promisable<Response>;
|
|
9
|
+
export type HealthCheckHandler = (request: Request) => Promisable<Response>;
|
|
9
10
|
export type ExceptionHandler = (error: unknown, request: Request) => Promisable<Response>;
|
|
10
|
-
|
|
11
|
+
/** telemetry hook invoked for unexpected HTTP handler errors; fire-and-forget. */
|
|
12
|
+
export type ErrorObserver = (ctx: {
|
|
13
|
+
error: unknown;
|
|
14
|
+
request: Request;
|
|
15
|
+
}) => void;
|
|
16
|
+
/** telemetry hook invoked for unexpected subscription errors; fire-and-forget. */
|
|
17
|
+
export type SocketErrorObserver = (ctx: {
|
|
18
|
+
error: unknown;
|
|
19
|
+
request: Request;
|
|
20
|
+
}) => void;
|
|
11
21
|
export declare const defaultExceptionHandler: ExceptionHandler;
|
|
12
22
|
export declare const defaultNotFoundHandler: NotFoundHandler;
|
|
13
|
-
export declare const defaultSubscriptionExceptionHandler: SubscriptionExceptionHandler;
|
|
14
23
|
export interface XRPCRouterOptions {
|
|
15
24
|
middlewares?: FetchMiddleware[];
|
|
16
25
|
handleNotFound?: NotFoundHandler;
|
|
26
|
+
/**
|
|
27
|
+
* optional handler for `/xrpc/_health`. when provided, the router answers
|
|
28
|
+
* health-check requests by invoking this handler; when absent, the path
|
|
29
|
+
* falls through to `handleNotFound`. `_health` is not part of the atproto
|
|
30
|
+
* XRPC spec, so callers opt in explicitly.
|
|
31
|
+
*/
|
|
32
|
+
handleHealthCheck?: HealthCheckHandler;
|
|
33
|
+
/** translates a thrown error into an HTTP response. */
|
|
17
34
|
handleException?: ExceptionHandler;
|
|
18
|
-
|
|
35
|
+
/**
|
|
36
|
+
* fire-and-forget telemetry hook for unexpected HTTP errors. not invoked for
|
|
37
|
+
* client-induced errors (aborted requests, `XRPCError` subclasses, thrown
|
|
38
|
+
* `Response` objects).
|
|
39
|
+
*/
|
|
40
|
+
onError?: ErrorObserver;
|
|
41
|
+
/**
|
|
42
|
+
* fire-and-forget telemetry hook for unexpected subscription errors. not
|
|
43
|
+
* invoked for aborted signals or `XRPCSubscriptionError` (which is
|
|
44
|
+
* translated to an error frame).
|
|
45
|
+
*/
|
|
46
|
+
onSocketError?: SocketErrorObserver;
|
|
19
47
|
websocket?: WebSocketAdapter;
|
|
20
48
|
}
|
|
21
49
|
export declare class XRPCRouter {
|
|
22
50
|
#private;
|
|
23
51
|
fetch: (request: Request) => Promise<Response>;
|
|
24
|
-
constructor({ middlewares, handleException, handleNotFound,
|
|
52
|
+
constructor({ middlewares, handleException, handleNotFound, handleHealthCheck, onError, onSocketError, websocket, }?: XRPCRouterOptions);
|
|
25
53
|
/** @deprecated use `addQuery` and `addProcedure` instead */
|
|
26
54
|
add<TQuery extends XRPCQueryMetadata>(query: TQuery | Namespaced<TQuery>, config: QueryConfig<TQuery>): void;
|
|
27
55
|
add<TProcedure extends XRPCProcedureMetadata>(procedure: TProcedure | Namespaced<TProcedure>, config: ProcedureConfig<TProcedure>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../lib/main/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAW,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,KAAK,EACX,eAAe,EACf,WAAW,EACX,kBAAkB,EAGlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAA+B,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAkBnE,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEhF,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC;AACzE,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../lib/main/router.ts"],"names":[],"mappings":"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"}
|
package/dist/main/router.js
CHANGED
|
@@ -18,24 +18,57 @@ export const defaultExceptionHandler = (error) => {
|
|
|
18
18
|
export const defaultNotFoundHandler = () => {
|
|
19
19
|
return new Response('Not Found', { status: 404 });
|
|
20
20
|
};
|
|
21
|
-
export const defaultSubscriptionExceptionHandler = (error) => {
|
|
22
|
-
throw error;
|
|
23
|
-
};
|
|
24
21
|
export class XRPCRouter {
|
|
25
22
|
#handlers = {};
|
|
26
23
|
#handleNotFound;
|
|
24
|
+
#handleHealthCheck;
|
|
27
25
|
#handleException;
|
|
28
|
-
#
|
|
26
|
+
#onError;
|
|
27
|
+
#onSocketError;
|
|
29
28
|
#websocket;
|
|
30
29
|
fetch;
|
|
31
|
-
constructor({ middlewares = [], handleException = defaultExceptionHandler, handleNotFound = defaultNotFoundHandler,
|
|
30
|
+
constructor({ middlewares = [], handleException = defaultExceptionHandler, handleNotFound = defaultNotFoundHandler, handleHealthCheck, onError, onSocketError, websocket, } = {}) {
|
|
32
31
|
const runner = createAsyncMiddlewareRunner([...middlewares, (request) => this.#dispatch(request)]);
|
|
33
32
|
this.fetch = (request) => runner(request);
|
|
34
33
|
this.#handleException = handleException;
|
|
35
34
|
this.#handleNotFound = handleNotFound;
|
|
36
|
-
this.#
|
|
35
|
+
this.#handleHealthCheck = handleHealthCheck;
|
|
36
|
+
this.#onError = onError;
|
|
37
|
+
this.#onSocketError = onSocketError;
|
|
37
38
|
this.#websocket = websocket;
|
|
38
39
|
}
|
|
40
|
+
#observeError(error, request) {
|
|
41
|
+
// client-induced errors are not bugs; skip telemetry
|
|
42
|
+
if (request.signal.aborted) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (error instanceof XRPCError) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (error instanceof Response) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
this.#onError?.({ error, request });
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// observer threw; swallow to keep response path deterministic
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
#observeSocketError(error, request) {
|
|
59
|
+
if (request.signal.aborted) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (error instanceof XRPCSubscriptionError) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
this.#onSocketError?.({ error, request });
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
// observer threw; swallow to keep socket close path deterministic
|
|
70
|
+
}
|
|
71
|
+
}
|
|
39
72
|
async #dispatch(request) {
|
|
40
73
|
const url = new URL(request.url);
|
|
41
74
|
const pathname = url.pathname;
|
|
@@ -43,12 +76,27 @@ export class XRPCRouter {
|
|
|
43
76
|
return this.#handleNotFound(request);
|
|
44
77
|
}
|
|
45
78
|
const nsid = pathname.slice('/xrpc/'.length);
|
|
79
|
+
if (nsid === '_health' && this.#handleHealthCheck !== undefined) {
|
|
80
|
+
try {
|
|
81
|
+
return await this.#handleHealthCheck(request);
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
if (request.signal.aborted) {
|
|
85
|
+
return new Response(null, { status: 499 });
|
|
86
|
+
}
|
|
87
|
+
this.#observeError(err, request);
|
|
88
|
+
return this.#handleException(err, request);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
46
91
|
const route = this.#handlers[nsid];
|
|
47
92
|
if (route === undefined) {
|
|
48
93
|
return this.#handleNotFound(request);
|
|
49
94
|
}
|
|
50
|
-
|
|
51
|
-
|
|
95
|
+
// allow HEAD alongside GET; the runtime is responsible for stripping the
|
|
96
|
+
// response body per the Fetch API.
|
|
97
|
+
const allowed = request.method === route.method || (route.method === 'GET' && request.method === 'HEAD');
|
|
98
|
+
if (!allowed) {
|
|
99
|
+
return Response.json({ error: 'InvalidRequest', message: `invalid http method (expected ${route.method})` }, { status: 405, headers: { allow: route.method === 'GET' ? 'GET, HEAD' : route.method } });
|
|
52
100
|
}
|
|
53
101
|
try {
|
|
54
102
|
const response = await route.handler({
|
|
@@ -61,6 +109,7 @@ export class XRPCRouter {
|
|
|
61
109
|
if (request.signal.aborted) {
|
|
62
110
|
return new Response(null, { status: 499 });
|
|
63
111
|
}
|
|
112
|
+
this.#observeError(err, request);
|
|
64
113
|
return this.#handleException(err, request);
|
|
65
114
|
}
|
|
66
115
|
}
|
|
@@ -221,12 +270,16 @@ export class XRPCRouter {
|
|
|
221
270
|
const body = omitMessageType(message);
|
|
222
271
|
const frame = encodeMessageFrame(body, type);
|
|
223
272
|
await ws.send(frame);
|
|
273
|
+
const drained = ws.drain();
|
|
274
|
+
if (drained) {
|
|
275
|
+
await drained;
|
|
276
|
+
}
|
|
224
277
|
}
|
|
225
278
|
ws.close(1000);
|
|
226
279
|
}
|
|
227
280
|
catch (err) {
|
|
228
281
|
if (err instanceof XRPCSubscriptionError) {
|
|
229
|
-
const frame = encodeErrorFrame(err.error, err.
|
|
282
|
+
const frame = encodeErrorFrame(err.error, err.message || undefined);
|
|
230
283
|
try {
|
|
231
284
|
await ws.send(frame);
|
|
232
285
|
}
|
|
@@ -237,7 +290,7 @@ export class XRPCRouter {
|
|
|
237
290
|
return;
|
|
238
291
|
}
|
|
239
292
|
ws.close(1011, `internal server error`);
|
|
240
|
-
this.#
|
|
293
|
+
this.#observeSocketError(err, request);
|
|
241
294
|
}
|
|
242
295
|
});
|
|
243
296
|
if (upgrade !== undefined) {
|
package/dist/main/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../lib/main/router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../lib/main/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import type { InferOutput, ObjectSchema, VariantSchema, XRPCBlobBodyParam, XRPCLexBodyParam, XRPCProcedureMetadata, XRPCQueryMetadata, XRPCSubscriptionMetadata } from '@atcute/lexicons/validations';
|
|
2
2
|
import type { Literal, Promisable } from '../../types/misc.ts';
|
|
3
3
|
import type { JSONResponse } from '../response.ts';
|
|
4
|
+
/**
|
|
5
|
+
* untyped variant of {@link QueryContext} / {@link ProcedureContext}.
|
|
6
|
+
*
|
|
7
|
+
* `input` is set only when the lexicon declares a `lex` input body and the
|
|
8
|
+
* request JSON parsed successfully. for blob inputs (and for procedures that
|
|
9
|
+
* declare no input at all) it is `undefined`; handlers that expect a blob
|
|
10
|
+
* should stream from `request.body` directly.
|
|
11
|
+
*/
|
|
4
12
|
export type UnknownOperationContext = {
|
|
5
13
|
request: Request;
|
|
6
14
|
signal: AbortSignal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../lib/main/types/operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,EACxB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,MAAM,uBAAuB,GAAG;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAIF,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,iBAAiB,IAAI;IAC5D,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;CACpB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,YAAY,GACvC;IACA,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;CACtC,GACA,EAEA,CAAC,CAAC;AAEL,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,iBAAiB,IAAI,CAC5D,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,KACzB,UAAU,CACd,MAAM,CAAC,QAAQ,CAAC,SAAS,IAAI,GAC1B,QAAQ,GAAG,IAAI,GACf,MAAM,CAAC,QAAQ,CAAC,SAAS,gBAAgB,GACxC,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAChE,QAAQ,CACZ,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,iBAAiB,GAAG,iBAAiB,IAAI;IAC/E,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC9B,CAAC;AAIF,MAAM,MAAM,gBAAgB,CAAC,UAAU,SAAS,qBAAqB,IAAI;IACxE,MAAM,EAAE,WAAW,CAAC;CACpB,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,iBAAiB,GAC/C;IACA,OAAO,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;KAAE,CAAC;CACjE,GACA,UAAU,CAAC,OAAO,CAAC,SAAS,gBAAgB,GAC3C;IACA,OAAO,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC;CAC3C,GACA;IACA,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC,GACJ,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,YAAY,GACvC;IACA,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC1C,GACA,EAEA,CAAC,GACJ,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,gBAAgB,GAC1C;IACA,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;CAClD,GACA,EAEA,CAAC,CAAC;AAEN,MAAM,MAAM,gBAAgB,CAAC,UAAU,SAAS,qBAAqB,IAAI,CACxE,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,KACjC,UAAU,CACd,UAAU,CAAC,QAAQ,CAAC,SAAS,IAAI,GAC9B,QAAQ,GAAG,IAAI,GACf,UAAU,CAAC,QAAQ,CAAC,SAAS,gBAAgB,GAC5C,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GACpE,QAAQ,CACZ,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,UAAU,SAAS,qBAAqB,GAAG,qBAAqB,IAAI;IAC/F,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;CACtC,CAAC;AAIF,MAAM,WAAW,0BAA0B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC,CAAC;CAC5C;AAED,MAAM,MAAM,mBAAmB,CAAC,aAAa,SAAS,wBAAwB,IAAI;IACjF,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;CACpB,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,YAAY,GAC9C;IACA,MAAM,EAAE,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC7C,GACA,EAEA,CAAC,CAAC;AAEL,MAAM,MAAM,mBAAmB,CAAC,aAAa,SAAS,wBAAwB,IAAI,CACjF,OAAO,EAAE,mBAAmB,CAAC,aAAa,CAAC,KACvC,aAAa,CACjB,aAAa,CAAC,SAAS,CAAC,SAAS,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,GAC/D,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GACrC,KAAK,CACR,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,aAAa,SAAS,wBAAwB,GAAG,wBAAwB,IAAI;IAC3G,OAAO,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;CAC5C,CAAC"}
|
|
1
|
+
{"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../lib/main/types/operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,EACxB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAIF,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,iBAAiB,IAAI;IAC5D,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;CACpB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,YAAY,GACvC;IACA,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;CACtC,GACA,EAEA,CAAC,CAAC;AAEL,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,iBAAiB,IAAI,CAC5D,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,KACzB,UAAU,CACd,MAAM,CAAC,QAAQ,CAAC,SAAS,IAAI,GAC1B,QAAQ,GAAG,IAAI,GACf,MAAM,CAAC,QAAQ,CAAC,SAAS,gBAAgB,GACxC,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAChE,QAAQ,CACZ,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,iBAAiB,GAAG,iBAAiB,IAAI;IAC/E,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC9B,CAAC;AAIF,MAAM,MAAM,gBAAgB,CAAC,UAAU,SAAS,qBAAqB,IAAI;IACxE,MAAM,EAAE,WAAW,CAAC;CACpB,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,iBAAiB,GAC/C;IACA,OAAO,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;KAAE,CAAC;CACjE,GACA,UAAU,CAAC,OAAO,CAAC,SAAS,gBAAgB,GAC3C;IACA,OAAO,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC;CAC3C,GACA;IACA,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC,GACJ,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,YAAY,GACvC;IACA,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC1C,GACA,EAEA,CAAC,GACJ,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,gBAAgB,GAC1C;IACA,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;CAClD,GACA,EAEA,CAAC,CAAC;AAEN,MAAM,MAAM,gBAAgB,CAAC,UAAU,SAAS,qBAAqB,IAAI,CACxE,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,KACjC,UAAU,CACd,UAAU,CAAC,QAAQ,CAAC,SAAS,IAAI,GAC9B,QAAQ,GAAG,IAAI,GACf,UAAU,CAAC,QAAQ,CAAC,SAAS,gBAAgB,GAC5C,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GACpE,QAAQ,CACZ,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,UAAU,SAAS,qBAAqB,GAAG,qBAAqB,IAAI;IAC/F,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;CACtC,CAAC;AAIF,MAAM,WAAW,0BAA0B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC,CAAC;CAC5C;AAED,MAAM,MAAM,mBAAmB,CAAC,aAAa,SAAS,wBAAwB,IAAI;IACjF,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;CACpB,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,YAAY,GAC9C;IACA,MAAM,EAAE,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC7C,GACA,EAEA,CAAC,CAAC;AAEL,MAAM,MAAM,mBAAmB,CAAC,aAAa,SAAS,wBAAwB,IAAI,CACjF,OAAO,EAAE,mBAAmB,CAAC,aAAa,CAAC,KACvC,aAAa,CACjB,aAAa,CAAC,SAAS,CAAC,SAAS,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,GAC/D,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GACrC,KAAK,CACR,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,aAAa,SAAS,wBAAwB,GAAG,wBAAwB,IAAI;IAC3G,OAAO,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;CAC5C,CAAC"}
|
|
@@ -2,6 +2,14 @@ import type { Promisable } from '../../types/misc.ts';
|
|
|
2
2
|
export interface WebSocketConnection {
|
|
3
3
|
signal: AbortSignal;
|
|
4
4
|
send(data: Uint8Array): void | Promise<void>;
|
|
5
|
+
/**
|
|
6
|
+
* backpressure hook invoked by the router after every frame it sends.
|
|
7
|
+
* adapters that can observe the outgoing send buffer (Node `ws`, Bun, Deno)
|
|
8
|
+
* should resolve only once the buffer has drained below a healthy threshold.
|
|
9
|
+
* adapters without that visibility (e.g. Cloudflare Workers) should return
|
|
10
|
+
* synchronously.
|
|
11
|
+
*/
|
|
12
|
+
drain(): void | Promise<void>;
|
|
5
13
|
close(code?: number, reason?: string): void;
|
|
6
14
|
}
|
|
7
15
|
export interface WebSocketAdapter {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../lib/main/types/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,gBAAgB;IAChC,OAAO,CACN,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,EAAE,EAAE,mBAAmB,KAAK,UAAU,CAAC,IAAI,CAAC,GACpD,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;CACpC"}
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../lib/main/types/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C;;;;;;OAMG;IACH,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,gBAAgB;IAChC,OAAO,CACN,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,EAAE,EAAE,mBAAmB,KAAK,UAAU,CAAC,IAAI,CAAC,GACpD,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;CACpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-mock.d.ts","sourceRoot":"","sources":["../../../lib/main/utils/websocket-mock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAMnF,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACrD,SAAS,EAAE,kBAAkB,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAClD,OAAO,EAAE,kBAAkB,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IACjD,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAChC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACpD;AAED,qBAAa,oBAAqB,YAAW,gBAAgB;;IAG5D,OAAO,CACN,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,CAAC,EAAE,EAAE,mBAAmB,KAAK,UAAU,CAAC,IAAI,CAAC,GACpD,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,CASlC;IAED,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"websocket-mock.d.ts","sourceRoot":"","sources":["../../../lib/main/utils/websocket-mock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAMnF,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACrD,SAAS,EAAE,kBAAkB,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAClD,OAAO,EAAE,kBAAkB,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IACjD,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAChC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACpD;AAED,qBAAa,oBAAqB,YAAW,gBAAgB;;IAG5D,OAAO,CACN,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,CAAC,EAAE,EAAE,mBAAmB,KAAK,UAAU,CAAC,IAAI,CAAC,GACpD,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,CASlC;IAED,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,gBAAgB,CAuE3C;CACD"}
|
|
@@ -39,6 +39,9 @@ export class MockWebSocketAdapter {
|
|
|
39
39
|
send(data) {
|
|
40
40
|
onMessage.emit(data);
|
|
41
41
|
},
|
|
42
|
+
drain() {
|
|
43
|
+
// tests have no outgoing buffer to observe
|
|
44
|
+
},
|
|
42
45
|
close(code = 1000, reason = '') {
|
|
43
46
|
if (!signal.aborted) {
|
|
44
47
|
onClose.emit({ code, reason, wasClean: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-mock.js","sourceRoot":"","sources":["../../../lib/main/utils/websocket-mock.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"websocket-mock.js","sourceRoot":"","sources":["../../../lib/main/utils/websocket-mock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* a single WWW-Authenticate challenge. exactly one of `params` or `token68` may
|
|
3
|
+
* be provided. a bare scheme (no params, no token) is valid and renders as just
|
|
4
|
+
* the scheme name.
|
|
5
|
+
*
|
|
6
|
+
* @see {@link https://datatracker.ietf.org/doc/html/rfc7235#section-4.1 | RFC 7235 §4.1}
|
|
7
|
+
*/
|
|
8
|
+
export interface WWWAuthenticateChallenge {
|
|
9
|
+
/** authentication scheme, e.g. `Bearer`, `DPoP`, `Basic`. */
|
|
10
|
+
scheme: string;
|
|
11
|
+
/** auth-param pairs. entries whose value is `undefined` are omitted. */
|
|
12
|
+
params?: Record<string, string | undefined>;
|
|
13
|
+
/**
|
|
14
|
+
* token68 value for schemes that carry one instead of auth-params (e.g.
|
|
15
|
+
* `Basic`). mutually exclusive with `params`.
|
|
16
|
+
*/
|
|
17
|
+
token68?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* formats one or more WWW-Authenticate challenges into a single header value.
|
|
21
|
+
*
|
|
22
|
+
* each challenge is emitted as `<scheme>` followed by its params or token68.
|
|
23
|
+
* multiple challenges are joined with `, `. auth-param values are quoted using
|
|
24
|
+
* `JSON.stringify` (RFC 7230 quoted-string semantics for ASCII content).
|
|
25
|
+
*
|
|
26
|
+
* @param challenges one challenge, or an ordered array of challenges
|
|
27
|
+
* @returns the formatted header value
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* formatWWWAuthenticate({ scheme: 'Bearer', params: { error: 'BadJwtSignature' } })
|
|
32
|
+
* // => `Bearer error="BadJwtSignature"`
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare const formatWWWAuthenticate: (challenges: WWWAuthenticateChallenge | WWWAuthenticateChallenge[]) => string;
|
|
1
36
|
export interface XRPCErrorOptions {
|
|
2
37
|
status: number;
|
|
3
38
|
error: string;
|
|
4
|
-
|
|
39
|
+
message?: string;
|
|
5
40
|
headers?: HeadersInit;
|
|
6
41
|
}
|
|
7
42
|
export declare class XRPCError extends Error {
|
|
@@ -9,46 +44,51 @@ export declare class XRPCError extends Error {
|
|
|
9
44
|
readonly status: number;
|
|
10
45
|
/** error name */
|
|
11
46
|
readonly error: string;
|
|
12
|
-
/** error message */
|
|
13
|
-
readonly description?: string;
|
|
14
47
|
/** response headers */
|
|
15
48
|
readonly headers?: HeadersInit;
|
|
16
|
-
constructor({ status, error,
|
|
49
|
+
constructor({ status, error, message, headers }: XRPCErrorOptions);
|
|
17
50
|
toResponse(): Response;
|
|
18
51
|
}
|
|
19
52
|
export declare class InvalidRequestError extends XRPCError {
|
|
20
|
-
constructor({ status, error,
|
|
53
|
+
constructor({ status, error, message, headers }?: Partial<XRPCErrorOptions>);
|
|
54
|
+
}
|
|
55
|
+
export interface AuthRequiredErrorOptions extends Partial<XRPCErrorOptions> {
|
|
56
|
+
/**
|
|
57
|
+
* WWW-Authenticate challenge(s) to attach to the response. the formatted
|
|
58
|
+
* header is set on `headers` automatically, and `access-control-expose-headers`
|
|
59
|
+
* is appended so browsers can read it from CORS responses.
|
|
60
|
+
*/
|
|
61
|
+
wwwAuthenticate?: WWWAuthenticateChallenge | WWWAuthenticateChallenge[];
|
|
21
62
|
}
|
|
22
63
|
export declare class AuthRequiredError extends XRPCError {
|
|
23
|
-
constructor({ status, error,
|
|
64
|
+
constructor({ status, error, message, headers, wwwAuthenticate, }?: AuthRequiredErrorOptions);
|
|
24
65
|
}
|
|
25
66
|
export declare class ForbiddenError extends XRPCError {
|
|
26
|
-
constructor({ status, error,
|
|
67
|
+
constructor({ status, error, message, headers }?: Partial<XRPCErrorOptions>);
|
|
27
68
|
}
|
|
28
69
|
export declare class RateLimitExceededError extends XRPCError {
|
|
29
|
-
constructor({ status, error,
|
|
70
|
+
constructor({ status, error, message, headers, }?: Partial<XRPCErrorOptions>);
|
|
30
71
|
}
|
|
31
72
|
export declare class InternalServerError extends XRPCError {
|
|
32
|
-
constructor({ status, error,
|
|
73
|
+
constructor({ status, error, message, headers, }?: Partial<XRPCErrorOptions>);
|
|
33
74
|
}
|
|
34
75
|
export declare class UpstreamFailureError extends XRPCError {
|
|
35
|
-
constructor({ status, error,
|
|
76
|
+
constructor({ status, error, message, headers }?: Partial<XRPCErrorOptions>);
|
|
36
77
|
}
|
|
37
78
|
export declare class NotEnoughResourcesError extends XRPCError {
|
|
38
|
-
constructor({ status, error,
|
|
79
|
+
constructor({ status, error, message, headers, }?: Partial<XRPCErrorOptions>);
|
|
39
80
|
}
|
|
40
81
|
export declare class UpstreamTimeoutError extends XRPCError {
|
|
41
|
-
constructor({ status, error,
|
|
82
|
+
constructor({ status, error, message, headers }?: Partial<XRPCErrorOptions>);
|
|
42
83
|
}
|
|
43
84
|
export interface XRPCSubscriptionErrorOptions {
|
|
44
85
|
closeCode?: number;
|
|
45
86
|
error: string;
|
|
46
|
-
|
|
87
|
+
message?: string;
|
|
47
88
|
}
|
|
48
89
|
export declare class XRPCSubscriptionError extends Error {
|
|
49
90
|
readonly closeCode: number;
|
|
50
91
|
readonly error: string;
|
|
51
|
-
|
|
52
|
-
constructor({ closeCode, error, description }: XRPCSubscriptionErrorOptions);
|
|
92
|
+
constructor({ closeCode, error, message }: XRPCSubscriptionErrorOptions);
|
|
53
93
|
}
|
|
54
94
|
//# sourceMappingURL=xrpc-error.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xrpc-error.d.ts","sourceRoot":"","sources":["../../lib/main/xrpc-error.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,
|
|
1
|
+
{"version":3,"file":"xrpc-error.d.ts","sourceRoot":"","sources":["../../lib/main/xrpc-error.ts"],"names":[],"mappings":"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"}
|