@atcute/xrpc-server 0.1.0 → 0.1.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.
- package/LICENSE +12 -15
- package/README.md +13 -75
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/jwt-creator.d.ts +1 -0
- package/dist/auth/jwt-creator.d.ts.map +1 -0
- package/dist/auth/jwt-verifier.d.ts +1 -0
- package/dist/auth/jwt-verifier.d.ts.map +1 -0
- package/dist/auth/jwt.d.ts +6 -5
- package/dist/auth/jwt.d.ts.map +1 -0
- package/dist/auth/jwt.js.map +1 -1
- package/dist/auth/types.d.ts +1 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/main/index.d.ts +1 -0
- package/dist/main/index.d.ts.map +1 -0
- package/dist/main/response.d.ts +1 -0
- package/dist/main/response.d.ts.map +1 -0
- package/dist/main/router.d.ts +1 -0
- package/dist/main/router.d.ts.map +1 -0
- package/dist/main/router.js +2 -1
- package/dist/main/router.js.map +1 -1
- package/dist/main/types/operation.d.ts +1 -0
- package/dist/main/types/operation.d.ts.map +1 -0
- package/dist/main/utils/middlewares.d.ts +1 -0
- package/dist/main/utils/middlewares.d.ts.map +1 -0
- package/dist/main/utils/request-input.d.ts +1 -0
- package/dist/main/utils/request-input.d.ts.map +1 -0
- package/dist/main/utils/request-params.d.ts +1 -0
- package/dist/main/utils/request-params.d.ts.map +1 -0
- package/dist/main/utils/response.d.ts +1 -0
- package/dist/main/utils/response.d.ts.map +1 -0
- package/dist/main/xrpc-error.d.ts +1 -0
- package/dist/main/xrpc-error.d.ts.map +1 -0
- package/dist/middlewares/cors.d.ts +1 -0
- package/dist/middlewares/cors.d.ts.map +1 -0
- package/dist/types/misc.d.ts +1 -0
- package/dist/types/misc.d.ts.map +1 -0
- package/lib/auth/jwt.ts +3 -3
- package/lib/main/router.ts +3 -1
- package/package.json +14 -14
package/LICENSE
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
3
|
-
in the Software without restriction, including without limitation the rights
|
|
4
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
5
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
6
|
-
furnished to do so, subject to the following conditions:
|
|
1
|
+
BSD Zero Clause License
|
|
7
2
|
|
|
8
|
-
|
|
9
|
-
copies or substantial portions of the Software.
|
|
3
|
+
Copyright (c) 2025 Mary
|
|
10
4
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
5
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
+
purpose with or without fee is hereby granted.
|
|
7
|
+
|
|
8
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
9
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
10
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
11
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
12
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
13
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14
|
+
PERFORMANCE OF THIS SOFTWARE.
|
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ a small web framework for handling XRPC operations.
|
|
|
5
5
|
## quick start
|
|
6
6
|
|
|
7
7
|
this framework relies on schemas generated by `@atcute/lex-cli`, you'd need to follow its
|
|
8
|
-
[quick start guide](../../lexicons/lex-cli
|
|
8
|
+
[quick start guide](../../lexicons/lex-cli) on how to set it up.
|
|
9
9
|
|
|
10
10
|
for this example, we'll define a very simple query operation, one that returns a message greeting
|
|
11
11
|
the name that's provided to it:
|
|
@@ -92,86 +92,24 @@ serve(
|
|
|
92
92
|
);
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
##
|
|
95
|
+
## internal calls
|
|
96
96
|
|
|
97
|
-
|
|
97
|
+
you can make typed calls to your own endpoints using `@atcute/client`:
|
|
98
98
|
|
|
99
99
|
```ts
|
|
100
|
-
import {
|
|
100
|
+
import { Client, ok } from '@atcute/client';
|
|
101
101
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
import {
|
|
107
|
-
CompositeDidDocumentResolver,
|
|
108
|
-
PlcDidDocumentResolver,
|
|
109
|
-
WebDidDocumentResolver,
|
|
110
|
-
} from '@atcute/identity-resolver';
|
|
111
|
-
|
|
112
|
-
import { AppBskyFeedGetFeedSkeleton } from '@atcute/bluesky';
|
|
113
|
-
|
|
114
|
-
const SERVICE_DID = 'did:web:feedgen.example.com';
|
|
115
|
-
|
|
116
|
-
const router = new XRPCRouter({
|
|
117
|
-
middlewares: [cors()],
|
|
102
|
+
const client = new Client({
|
|
103
|
+
handler(pathname, init) {
|
|
104
|
+
return router.fetch(new Request(new URL(pathname, 'http://localhost'), init));
|
|
105
|
+
},
|
|
118
106
|
});
|
|
119
107
|
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
methods: {
|
|
124
|
-
plc: new PlcDidDocumentResolver(),
|
|
125
|
-
web: new WebDidDocumentResolver(),
|
|
126
|
-
},
|
|
108
|
+
const data = await ok(
|
|
109
|
+
client.get('com.example.greet', {
|
|
110
|
+
params: { name: 'world' },
|
|
127
111
|
}),
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
const requireAuth = async (request: Request, lxm: Nsid): Promise<VerifiedJwt> => {
|
|
131
|
-
const auth = request.headers.get('authorization');
|
|
132
|
-
if (auth === null) {
|
|
133
|
-
throw new AuthRequiredError({ description: `missing authorization header` });
|
|
134
|
-
}
|
|
135
|
-
if (!auth.startsWith('Bearer ')) {
|
|
136
|
-
throw new AuthRequiredError({ description: `invalid authorization scheme` });
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
const jwtString = auth.slice('Bearer '.length).trim();
|
|
140
|
-
|
|
141
|
-
const result = await jwtVerifier.verify(jwtString, { lxm });
|
|
142
|
-
if (!result.ok) {
|
|
143
|
-
throw new AuthRequiredError(result.error);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
return result.value;
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
router.add(AppBskyFeedGetFeedSkeleton.mainSchema, {
|
|
150
|
-
async handler({ params: { feed }, request }) {
|
|
151
|
-
await requireAuth(request, 'app.bsky.feed.getFeedSkeleton');
|
|
152
|
-
|
|
153
|
-
const feedUri = parseCanonicalResourceUri(feed);
|
|
154
|
-
|
|
155
|
-
if (
|
|
156
|
-
!feedUri.ok ||
|
|
157
|
-
feedUri.value.collection !== 'app.bsky.feed.generator' ||
|
|
158
|
-
feedUri.value.repo !== SERVICE_DID ||
|
|
159
|
-
feedUri.value.rkey !== 'feed'
|
|
160
|
-
) {
|
|
161
|
-
throw new InvalidRequestError({
|
|
162
|
-
error: 'InvalidFeed',
|
|
163
|
-
description: `invalid feed`,
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
return json({
|
|
168
|
-
feed: [
|
|
169
|
-
{ post: 'at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l' },
|
|
170
|
-
{ post: 'at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3lpk2lf7k6k2t' },
|
|
171
|
-
],
|
|
172
|
-
});
|
|
173
|
-
},
|
|
174
|
-
});
|
|
112
|
+
);
|
|
175
113
|
|
|
176
|
-
|
|
114
|
+
console.log(data.message); // fully typed!
|
|
177
115
|
```
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt-creator.d.ts","sourceRoot":"","sources":["../../lib/auth/jwt-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAQlD,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,GAAG,CAAC;IACd,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,gBAAgB,GAAU,SAAS,uBAAuB,KAAG,OAAO,CAAC,MAAM,CA4BvF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt-verifier.d.ts","sourceRoot":"","sources":["../../lib/auth/jwt-verifier.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,yBAAyB;IACzC,UAAU,EAAE,GAAG,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,mBAAmB,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,GAAG,CAAC;IACd,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACxB;AAED,qBAAa,kBAAkB;;IAC9B,cAAc,EAAE,mBAAmB,CAAC;IACpC,UAAU,EAAE,GAAG,GAAG,IAAI,CAAC;gBAEX,OAAO,EAAE,yBAAyB;IAgExC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;CAwHpG"}
|
package/dist/auth/jwt.d.ts
CHANGED
|
@@ -8,20 +8,21 @@ declare const jwtHeader: v.ObjectType<{
|
|
|
8
8
|
export interface JwtHeader extends v.Infer<typeof jwtHeader> {
|
|
9
9
|
}
|
|
10
10
|
declare const jwtPayload: v.Type<{
|
|
11
|
-
iat?: number | undefined;
|
|
12
|
-
lxm?: `${string}.${string}.${string}` | undefined;
|
|
13
|
-
jti?: string | undefined;
|
|
14
11
|
iss: `did:${string}:${string}`;
|
|
15
12
|
aud: `did:${string}:${string}`;
|
|
16
13
|
exp: number;
|
|
14
|
+
iat?: number | undefined;
|
|
15
|
+
lxm?: `${string}.${string}.${string}` | undefined;
|
|
16
|
+
jti?: string | undefined;
|
|
17
17
|
}>;
|
|
18
18
|
export interface JwtPayload extends v.Infer<typeof jwtPayload> {
|
|
19
19
|
}
|
|
20
20
|
export interface ParsedJwt {
|
|
21
21
|
header: JwtHeader;
|
|
22
22
|
payload: JwtPayload;
|
|
23
|
-
message: Uint8Array
|
|
24
|
-
signature: Uint8Array
|
|
23
|
+
message: Uint8Array<ArrayBuffer>;
|
|
24
|
+
signature: Uint8Array<ArrayBuffer>;
|
|
25
25
|
}
|
|
26
26
|
export declare const parseJwt: (jwtString: string) => Result<ParsedJwt, AuthError>;
|
|
27
27
|
export {};
|
|
28
|
+
//# sourceMappingURL=jwt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../lib/auth/jwt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAMpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAO5C,QAAA,MAAM,SAAS;;;aAGb,CAAC;AAEH,MAAM,WAAW,SAAU,SAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC;CAAG;AAE/D,QAAA,MAAM,UAAU;;;;;;;EAkBb,CAAC;AAEJ,MAAM,WAAW,UAAW,SAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC;CAAG;AAEjE,MAAM,WAAW,SAAS;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACjC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;CACnC;AAoCD,eAAO,MAAM,QAAQ,GAAI,WAAW,MAAM,KAAG,MAAM,CAAC,SAAS,EAAE,SAAS,CAsCvE,CAAC"}
|
package/dist/auth/jwt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../lib/auth/jwt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAMhE,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;AAC5D,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAEhE,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC;AAE9G,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;CACf,CAAC,CAAC;AAIH,MAAM,UAAU,GAAG,CAAC;KAClB,MAAM,CAAC;IACP,aAAa;IACb,GAAG,EAAE,SAAS;IACd,sBAAsB;IACtB,GAAG,EAAE,SAAS;IACd,sBAAsB;IACtB,GAAG,EAAE,OAAO;IACZ,oBAAoB;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE;IACvB,mCAAmC;IACnC,GAAG,EAAE,UAAU,CAAC,QAAQ,EAAE;IAC1B,wBAAwB;IACxB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC1B,CAAC;KACD,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,GAAG,EAAE;IACzD,OAAO,EAAE,8CAA8C;IACvD,IAAI,EAAE,CAAC,KAAK,CAAC;CACb,CAAC,CAAC;AAWJ,MAAM,cAAc,GAAG,CAAI,MAAiB,EAAE,KAAa,EAAwB,EAAE;IACpF,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,MAAM,CAAC;QACf,CAAC;IACF,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,OAAO;QACN,EAAE,EAAE,KAAK;QACT,KAAK,EAAE;YACN,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,kBAAkB;SAC/B;KACD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAa,
|
|
1
|
+
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../lib/auth/jwt.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/types.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/auth/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC"}
|
package/dist/main/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/main/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
|
package/dist/main/response.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../lib/main/response.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,EAAE,OAAO,MAAM,CAAC;AAEnC,MAAM,MAAM,YAAY,CAAC,KAAK,IAAI,QAAQ,GAAG;IAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhE,eAAO,MAAM,IAAI,EAAE;IAClB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;CAGxE,CAAC"}
|
package/dist/main/router.d.ts
CHANGED
|
@@ -19,3 +19,4 @@ export declare class XRPCRouter {
|
|
|
19
19
|
add<TQuery extends XRPCQueryMetadata>(query: TQuery, config: QueryConfig<TQuery>): void;
|
|
20
20
|
add<TProcedure extends XRPCProcedureMetadata>(procedure: TProcedure, config: ProcedureConfig<TProcedure>): void;
|
|
21
21
|
}
|
|
22
|
+
//# sourceMappingURL=router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../lib/main/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAE7G,OAAO,KAAK,EAAW,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAA2B,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAA+B,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAmBtF,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;AAE1F,eAAO,MAAM,uBAAuB,EAAE,gBAarC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,eAEpC,CAAC;AAEF,MAAM,WAAW,iBAAiB;IACjC,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,eAAe,CAAC,EAAE,gBAAgB,CAAC;CACnC;AAED,qBAAa,UAAU;;IAKtB,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAEnC,EACX,WAAgB,EAChB,eAAyC,EACzC,cAAuC,GACvC,GAAE,iBAAsB;IA0CzB,GAAG,CAAC,MAAM,SAAS,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI;IACvF,GAAG,CAAC,UAAU,SAAS,qBAAqB,EAC3C,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,eAAe,CAAC,UAAU,CAAC,GACjC,IAAI;CA+HP"}
|
package/dist/main/router.js
CHANGED
|
@@ -22,7 +22,8 @@ export class XRPCRouter {
|
|
|
22
22
|
#handleException;
|
|
23
23
|
fetch;
|
|
24
24
|
constructor({ middlewares = [], handleException = defaultExceptionHandler, handleNotFound = defaultNotFoundHandler, } = {}) {
|
|
25
|
-
|
|
25
|
+
const runner = createAsyncMiddlewareRunner([...middlewares, (request) => this.#dispatch(request)]);
|
|
26
|
+
this.fetch = (request) => runner(request);
|
|
26
27
|
this.#handleException = handleException;
|
|
27
28
|
this.#handleNotFound = handleNotFound;
|
|
28
29
|
}
|
package/dist/main/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../lib/main/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsD,MAAM,8BAA8B,CAAC;AAK7G,OAAO,EAAE,2BAA2B,EAAmB,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAmB5C,MAAM,CAAC,MAAM,uBAAuB,GAAqB,CAAC,KAAc,EAAE,EAAE;IAC3E,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CACnB,EAAE,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,sDAAsD,EAAE,EACjG,EAAE,MAAM,EAAE,GAAG,EAAE,CACf,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAoB,GAAG,EAAE;IAC3D,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC;AAQF,MAAM,OAAO,UAAU;IACtB,SAAS,GAAsC,EAAE,CAAC;IAClD,eAAe,CAAkB;IACjC,gBAAgB,CAAmB;IAEnC,KAAK,CAA0C;IAE/C,YAAY,EACX,WAAW,GAAG,EAAE,EAChB,eAAe,GAAG,uBAAuB,EACzC,cAAc,GAAG,sBAAsB,MACjB,EAAE;QACxB,
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../lib/main/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,3 +34,4 @@ export type ProcedureHandler<TProcedure extends XRPCProcedureMetadata> = (contex
|
|
|
34
34
|
export type ProcedureConfig<TProcedure extends XRPCProcedureMetadata = XRPCProcedureMetadata> = {
|
|
35
35
|
handler: ProcedureHandler<TProcedure>;
|
|
36
36
|
};
|
|
37
|
+
//# sourceMappingURL=operation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../lib/main/types/operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export type Middleware<TParams extends any[], TReturn> = (...params: [...TParams, next: (...params: TParams) => TReturn]) => TReturn;
|
|
2
2
|
export declare const createAsyncMiddlewareRunner: <TParams extends any[], TReturn>(middlewares: [...Middleware<TParams, Promise<TReturn>>[], Middleware<TParams, Promise<TReturn>>]) => (...params: TParams) => Promise<TReturn>;
|
|
3
|
+
//# sourceMappingURL=middlewares.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../../lib/main/utils/middlewares.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,OAAO,SAAS,GAAG,EAAE,EAAE,OAAO,IAAI,CACxD,GAAG,MAAM,EAAE,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,KAC1D,OAAO,CAAC;AAEb,eAAO,MAAM,2BAA2B,GAAI,OAAO,SAAS,GAAG,EAAE,EAAE,OAAO,EACzE,aAAa,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,iBAGrD,OAAO,KAAK,OAAO,CAAC,OAAO,CAItE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { XRPCBlobBodyParam, XRPCLexBodyParam } from '@atcute/lexicons/validations';
|
|
2
2
|
import type { Result } from '../../types/misc.js';
|
|
3
3
|
export declare const constructMimeValidator: (param: XRPCLexBodyParam | XRPCBlobBodyParam) => ((request: Request) => Result<void, string>) | null;
|
|
4
|
+
//# sourceMappingURL=request-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-input.d.ts","sourceRoot":"","sources":["../../../lib/main/utils/request-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAExF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAmBlD,eAAO,MAAM,sBAAsB,GAAI,OAAO,gBAAgB,GAAG,iBAAiB,gBAdhE,OAAO,KAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAsC/C,CAAC"}
|
|
@@ -3,3 +3,4 @@ import type { Literal } from '../../types/misc.js';
|
|
|
3
3
|
type MaybeArray<T> = T | T[];
|
|
4
4
|
export declare const constructParamsHandler: <TSchema extends ObjectSchema>(schema: TSchema) => (searchParams: URLSearchParams) => ValidationResult<Record<string, MaybeArray<Literal>>>;
|
|
5
5
|
export {};
|
|
6
|
+
//# sourceMappingURL=request-params.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-params.d.ts","sourceRoot":"","sources":["../../../lib/main/utils/request-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,YAAY,EAEjB,KAAK,gBAAgB,EACrB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAiC7B,eAAO,MAAM,sBAAsB,GAAI,OAAO,SAAS,YAAY,EAAE,QAAQ,OAAO,MA2B3E,cAAc,eAAe,KAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CA4B5F,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../lib/main/utils/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAExD,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,aAE7C,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,KAAG,QAOpE,CAAC"}
|
|
@@ -0,0 +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,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,SAAU,SAAQ,KAAK;IACnC,sBAAsB;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,iBAAiB;IACjB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oBAAoB;IACpB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;gBAElB,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,gBAAgB;IAS5D,UAAU,IAAI,QAAQ;CAGtB;AAED,qBAAa,mBAAoB,SAAQ,SAAS;gBACrC,EAAE,MAAY,EAAE,KAAwB,EAAE,WAAW,EAAE,GAAE,OAAO,CAAC,gBAAgB,CAAM;CAGnG;AAED,qBAAa,iBAAkB,SAAQ,SAAS;gBACnC,EACX,MAAY,EACZ,KAAgC,EAChC,WAAW,GACX,GAAE,OAAO,CAAC,gBAAgB,CAAM;CAGjC;AAED,qBAAa,cAAe,SAAQ,SAAS;gBAChC,EAAE,MAAY,EAAE,KAAmB,EAAE,WAAW,EAAE,GAAE,OAAO,CAAC,gBAAgB,CAAM;CAG9F;AAED,qBAAa,sBAAuB,SAAQ,SAAS;gBACxC,EAAE,MAAY,EAAE,KAA2B,EAAE,WAAW,EAAE,GAAE,OAAO,CAAC,gBAAgB,CAAM;CAGtG;AAED,qBAAa,mBAAoB,SAAQ,SAAS;gBACrC,EAAE,MAAY,EAAE,KAA6B,EAAE,WAAW,EAAE,GAAE,OAAO,CAAC,gBAAgB,CAAM;CAGxG;AAED,qBAAa,oBAAqB,SAAQ,SAAS;gBACtC,EAAE,MAAY,EAAE,KAAyB,EAAE,WAAW,EAAE,GAAE,OAAO,CAAC,gBAAgB,CAAM;CAGpG;AAED,qBAAa,uBAAwB,SAAQ,SAAS;gBACzC,EAAE,MAAY,EAAE,KAA4B,EAAE,WAAW,EAAE,GAAE,OAAO,CAAC,gBAAgB,CAAM;CAGvG;AAED,qBAAa,oBAAqB,SAAQ,SAAS;gBACtC,EAAE,MAAY,EAAE,KAAyB,EAAE,WAAW,EAAE,GAAE,OAAO,CAAC,gBAAgB,CAAM;CAGpG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cors.d.ts","sourceRoot":"","sources":["../../lib/middlewares/cors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC3B,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAsBD,eAAO,MAAM,IAAI,GAAI,UAAS,WAAgB,KAAG,eAsChD,CAAC"}
|
package/dist/types/misc.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../lib/types/misc.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3C,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEhD,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC"}
|
package/lib/auth/jwt.ts
CHANGED
|
@@ -45,8 +45,8 @@ export interface JwtPayload extends v.Infer<typeof jwtPayload> {}
|
|
|
45
45
|
export interface ParsedJwt {
|
|
46
46
|
header: JwtHeader;
|
|
47
47
|
payload: JwtPayload;
|
|
48
|
-
message: Uint8Array
|
|
49
|
-
signature: Uint8Array
|
|
48
|
+
message: Uint8Array<ArrayBuffer>;
|
|
49
|
+
signature: Uint8Array<ArrayBuffer>;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
const readJwtPortion = <T>(schema: v.Type<T>, input: string): Result<T, AuthError> => {
|
|
@@ -69,7 +69,7 @@ const readJwtPortion = <T>(schema: v.Type<T>, input: string): Result<T, AuthErro
|
|
|
69
69
|
};
|
|
70
70
|
};
|
|
71
71
|
|
|
72
|
-
const readJwtSignature = (input: string): Result<Uint8Array
|
|
72
|
+
const readJwtSignature = (input: string): Result<Uint8Array<ArrayBuffer>, AuthError> => {
|
|
73
73
|
try {
|
|
74
74
|
return { ok: true, value: fromBase64Url(input) };
|
|
75
75
|
} catch {}
|
package/lib/main/router.ts
CHANGED
|
@@ -64,7 +64,9 @@ export class XRPCRouter {
|
|
|
64
64
|
handleException = defaultExceptionHandler,
|
|
65
65
|
handleNotFound = defaultNotFoundHandler,
|
|
66
66
|
}: XRPCRouterOptions = {}) {
|
|
67
|
-
|
|
67
|
+
const runner = createAsyncMiddlewareRunner([...middlewares, (request) => this.#dispatch(request)]);
|
|
68
|
+
|
|
69
|
+
this.fetch = (request) => runner(request);
|
|
68
70
|
this.#handleException = handleException;
|
|
69
71
|
this.#handleNotFound = handleNotFound;
|
|
70
72
|
}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@atcute/xrpc-server",
|
|
4
|
-
"version": "0.1.
|
|
5
|
-
"description": "
|
|
6
|
-
"license": "
|
|
4
|
+
"version": "0.1.2",
|
|
5
|
+
"description": "a small web framework for handling XRPC operations",
|
|
6
|
+
"license": "0BSD",
|
|
7
7
|
"repository": {
|
|
8
8
|
"url": "https://github.com/mary-ext/atcute",
|
|
9
9
|
"directory": "packages/servers/xrpc-server"
|
|
@@ -20,21 +20,21 @@
|
|
|
20
20
|
"./middlewares/cors": "./dist/middlewares/cors.js"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@badrap/valita": "^0.4.
|
|
23
|
+
"@badrap/valita": "^0.4.6",
|
|
24
24
|
"nanoid": "^5.1.5",
|
|
25
|
-
"@atcute/crypto": "^2.2.
|
|
26
|
-
"@atcute/identity": "^1.
|
|
27
|
-
"@atcute/
|
|
28
|
-
"@atcute/
|
|
29
|
-
"@atcute/multibase": "^1.1.
|
|
30
|
-
"@atcute/uint8array": "^1.0.
|
|
25
|
+
"@atcute/crypto": "^2.2.5",
|
|
26
|
+
"@atcute/identity": "^1.1.1",
|
|
27
|
+
"@atcute/lexicons": "^1.2.2",
|
|
28
|
+
"@atcute/identity-resolver": "^1.1.4",
|
|
29
|
+
"@atcute/multibase": "^1.1.6",
|
|
30
|
+
"@atcute/uint8array": "^1.0.5"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@atcute/xrpc-server": "file:",
|
|
34
|
-
"@vitest/coverage-v8": "^3.
|
|
35
|
-
"vitest": "^3.
|
|
36
|
-
"@atcute/atproto": "^3.
|
|
37
|
-
"@atcute/bluesky": "^3.
|
|
34
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
35
|
+
"vitest": "^3.2.4",
|
|
36
|
+
"@atcute/atproto": "^3.1.6",
|
|
37
|
+
"@atcute/bluesky": "^3.2.5"
|
|
38
38
|
},
|
|
39
39
|
"scripts": {
|
|
40
40
|
"build": "tsc --project tsconfig.build.json",
|