@ya-accelerators/web-backend-framework 0.0.99 → 0.0.101

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 (55) hide show
  1. package/@types/express.d.ts +0 -4
  2. package/dist/connector/google-auth/index.js +0 -30
  3. package/dist/connector/google-auth/index.js.map +1 -1
  4. package/dist/constants.d.ts +7 -0
  5. package/dist/constants.js +71 -4
  6. package/dist/constants.js.map +1 -1
  7. package/dist/context/audit/index.js.map +1 -1
  8. package/dist/context/request/index.js +0 -15
  9. package/dist/context/request/index.js.map +1 -1
  10. package/dist/coordination/lock/index.d.ts +0 -8
  11. package/dist/coordination/lock/index.js +0 -29
  12. package/dist/coordination/lock/index.js.map +1 -1
  13. package/dist/coordination/rate-limit/index.d.ts +0 -5
  14. package/dist/coordination/rate-limit/index.js +0 -23
  15. package/dist/coordination/rate-limit/index.js.map +1 -1
  16. package/dist/coordination/throttle/index.d.ts +0 -13
  17. package/dist/coordination/throttle/index.js +0 -13
  18. package/dist/coordination/throttle/index.js.map +1 -1
  19. package/dist/env.d.ts +1 -1
  20. package/dist/env.js +5 -15
  21. package/dist/env.js.map +1 -1
  22. package/dist/internal/federation/index.d.ts +1 -1
  23. package/dist/internal/federation/index.js +0 -20
  24. package/dist/internal/federation/index.js.map +1 -1
  25. package/dist/logger/index.js +0 -18
  26. package/dist/logger/index.js.map +1 -1
  27. package/dist/repository/prisma/index.js +5 -7
  28. package/dist/repository/prisma/index.js.map +1 -1
  29. package/dist/repository/prisma/lifecycle.js +2 -26
  30. package/dist/repository/prisma/lifecycle.js.map +1 -1
  31. package/dist/repository/prisma/rds-log-record.d.ts +10 -0
  32. package/dist/repository/prisma/rds-log-record.js +20 -0
  33. package/dist/repository/prisma/rds-log-record.js.map +1 -0
  34. package/dist/repository/redis/index.js +10 -9
  35. package/dist/repository/redis/index.js.map +1 -1
  36. package/dist/repository/s3/index.js +16 -28
  37. package/dist/repository/s3/index.js.map +1 -1
  38. package/dist/server/express/index.js +18 -53
  39. package/dist/server/express/index.js.map +1 -1
  40. package/dist/server/index.d.ts +1 -0
  41. package/dist/server/index.js +1 -0
  42. package/dist/server/index.js.map +1 -1
  43. package/dist/server/trpc/declaration/index.d.ts +38 -0
  44. package/dist/server/trpc/declaration/index.js +2 -0
  45. package/dist/server/trpc/declaration/index.js.map +1 -0
  46. package/dist/server/trpc/index.d.ts +18 -17
  47. package/dist/server/trpc/index.js +36 -44
  48. package/dist/server/trpc/index.js.map +1 -1
  49. package/dist/server/trpc/schema/index.js +0 -10
  50. package/dist/server/trpc/schema/index.js.map +1 -1
  51. package/dist/server/uploads/index.js +8 -9
  52. package/dist/server/uploads/index.js.map +1 -1
  53. package/dist/util/index.js +88 -74
  54. package/dist/util/index.js.map +1 -1
  55. package/package.json +13 -9
@@ -1,31 +1,17 @@
1
1
  import cors from 'cors';
2
2
  import express from 'express';
3
3
  import { createProxyMiddleware } from 'http-proxy-middleware';
4
+ import { constants } from '../../constants.js';
4
5
  import { requestContextStorage, resolveOutboundHeaders } from '../../context/request/index.js';
5
6
  import { defaultEnv } from '../../env.js';
6
7
  import { logger } from '../../logger/index.js';
7
8
  import { Util } from '../../util/index.js';
8
9
  import { claimUploadToken, storeUpload } from '../uploads/index.js';
9
10
  let processErrorHandlersRegistered = false;
10
- // Auto-forwarded outbound `fetch` headers are an ALLOW-list of tracing/correlation headers only — never
11
- // credentials (`authorization` / `cookie` / `x-api-key` …), client-context quasi-identifiers
12
- // (`x-forwarded-for` / `user-agent` / `referer` — GDPR Art. 5(1)(c) data minimisation / Art. 44 transfer),
13
- // content negotiation (`content-type` / `accept*` / `if-*` / `range`), or `host` / `origin`. Forwarding
14
- // any of those in-mesh is opt-in per call via `runWithRequestHeaders`. An allow-list, not a deny-list, so
15
- // a not-yet-enumerated header — a new fork `x-*-key`, a CSRF token, `x-hub-signature` — is withheld by
16
- // default rather than leaked to whatever host the outbound `fetch` targets. `traceparent` / `tracestate`
17
- // are the W3C Trace Context pair; `x-request-id` is the framework's own correlation id.
18
11
  const AUTO_FORWARD_ALLOW_LIST = new Set(['x-request-id', 'traceparent', 'tracestate']);
19
- // Hard ceiling on the raw `/_uploads` body. The token is validated (single-use `getdel`) BEFORE this raw
20
- // parser runs, so a request with no valid token is rejected without buffering; this bounds only a
21
- // token-holder's single request. NOT the per-procedure size limit — that is `FileSchema`'s `maxSize`,
22
- // enforced when the mutation validates its input.
23
12
  const UPLOAD_MAX_BYTES = 512 * 1024 * 1024;
24
13
  export const createApp = (params) => {
25
14
  const { customRoutes, uploadsEnabled = false, middlewares = [], proxyTarget, nonForwardableHeaders: nonForwardableHeadersParam = [], } = params;
26
- // Route process-level failures through `logger` (structured log first) while preserving the default
27
- // crash behavior — exit non-zero so the orchestrator restarts a clean container. Guarded so repeated
28
- // createApp calls register the handlers once.
29
15
  if (!processErrorHandlersRegistered) {
30
16
  processErrorHandlersRegistered = true;
31
17
  process.on('uncaughtException', (error) => {
@@ -40,15 +26,9 @@ export const createApp = (params) => {
40
26
  process.exit(1);
41
27
  });
42
28
  }
43
- // Per-app additional deny-set subtracted from the auto-forward allow-list (lowercased so it matches
44
- // Node's lowercased inbound header keys). Carried into the request store below — NOT a module-level
45
- // `let` — so a second `createApp` in the same process cannot clobber the first app's config.
46
29
  const appNonForwardableHeaders = new Set(nonForwardableHeadersParam.map((h) => h.toLowerCase()));
47
30
  const app = express();
48
31
  app.use(cors({
49
- // A single configured origin is passed as a bare string, keeping the response headers byte-identical
50
- // to the pre-multi-origin behaviour: `cors` then always emits that origin, whereas the array form
51
- // emits `Access-Control-Allow-Origin` only when the request's Origin matches.
52
32
  origin: defaultEnv.CORS_ORIGIN.length === 1 ? defaultEnv.CORS_ORIGIN[0] : defaultEnv.CORS_ORIGIN,
53
33
  optionsSuccessStatus: 204,
54
34
  }));
@@ -62,9 +42,6 @@ export const createApp = (params) => {
62
42
  }
63
43
  next();
64
44
  });
65
- // Request-id generation + AsyncLocalStorage context FIRST — before /health, customRoutes, and the
66
- // proxied routes below — so every downstream route runs inside the scope and its log records carry the
67
- // `x-request-id` and the auto-injected request `path`.
68
45
  app.use('', (req, res, next) => {
69
46
  const requestId = Util.getHeaderValue(req.headers, 'x-request-id') ?? Util.createULID();
70
47
  req.headers['x-request-id'] = requestId;
@@ -117,15 +94,9 @@ export const createApp = (params) => {
117
94
  res.json(healthChecks);
118
95
  });
119
96
  }
120
- // Mounted before the body-parsers so a file sent as `application/json` isn't consumed by `express.json`.
121
97
  if (uploadsEnabled) {
122
- app.post('/_uploads',
123
- // Validate the single-use token BEFORE `express.raw` buffers the body, so a request with no valid
124
- // token is rejected without buffering up to UPLOAD_MAX_BYTES into memory.
125
- async (req, res, next) => {
98
+ app.post('/_uploads', async (req, res, next) => {
126
99
  try {
127
- // Token arrives as `Authorization: Bearer <token>`, not a query param — a query string is logged
128
- // verbatim by proxies / CDNs / access logs, which would leak the single-use replayable token.
129
100
  const authorization = Util.getHeaderValue(req.headers, 'authorization');
130
101
  const token = authorization?.startsWith('Bearer ') ? authorization.slice('Bearer '.length) : undefined;
131
102
  if (token === undefined) {
@@ -149,8 +120,6 @@ export const createApp = (params) => {
149
120
  res.status(400).json({ error: 'invalid upload' });
150
121
  return;
151
122
  }
152
- // Filename arrives percent-encoded in `x-upload-filename` (headers are ASCII-only, and it stays out
153
- // of the query string / request-line logs since a filename can be a direct identifier). Decode it.
154
123
  const encodedName = Util.getHeaderValue(req.headers, 'x-upload-filename');
155
124
  let name = 'file';
156
125
  if (encodedName !== undefined) {
@@ -158,7 +127,17 @@ export const createApp = (params) => {
158
127
  name = decodeURIComponent(encodedName);
159
128
  }
160
129
  catch {
161
- name = encodedName;
130
+ res.status(400).json({ error: 'invalid upload' });
131
+ return;
132
+ }
133
+ // A filename can be a direct identifier, so the rejection says only that the upload is invalid
134
+ // and never names the value it refused — an error body is read by whatever logs it.
135
+ if (name.length > constants.UPLOAD_FILENAME_MAX_LENGTH ||
136
+ /[/\\]/.test(name) ||
137
+ name === '.' ||
138
+ name === '..') {
139
+ res.status(400).json({ error: 'invalid upload' });
140
+ return;
162
141
  }
163
142
  }
164
143
  const contentType = Util.getHeaderValue(req.headers, 'content-type') ?? 'application/octet-stream';
@@ -175,10 +154,6 @@ export const createApp = (params) => {
175
154
  res.status(403).json({ error: 'file upload is not configured for this service' });
176
155
  });
177
156
  }
178
- // Body parsing is applied before customRoutes so handlers can use `req.body`
179
- // directly. The `verify` callback stashes the original bytes on `req.rawBody`
180
- // for handlers that need to verify a signature against the unparsed payload
181
- // (e.g. Stripe webhooks).
182
157
  app.use(express.json({
183
158
  limit: '10mb',
184
159
  verify: (req, _res, buf) => {
@@ -193,16 +168,12 @@ export const createApp = (params) => {
193
168
  middlewares.forEach((middleware) => app.use('', middleware));
194
169
  proxyTarget?.targets.forEach((x) => {
195
170
  const onHandlers = {
196
- proxyRes: (proxyRes, req) => {
171
+ proxyRes: (proxyRes) => {
197
172
  const body = [];
198
173
  proxyRes.on('data', (chunk) => body.push(chunk));
199
174
  proxyRes.on('end', () => {
200
175
  if ((proxyRes.statusCode ?? 500) >= 400) {
201
176
  const message = Buffer.concat(body).toString();
202
- // Suppress the benign, expected downstream responses (an unauthenticated "who am I" 401,
203
- // an empty-update poll). `.me"` matches a tRPC procedure PATH ending in `.me` in the JSON
204
- // error body (e.g. `"path":"authentication.me"`) — not the bare `.me` substring, which also
205
- // matched `.metrics` / `.member` / any host in a URL and silently dropped real warnings.
206
177
  if (!message.includes('UNAUTHORIZED') &&
207
178
  !message.includes('NO_UPDATES_FOUND') &&
208
179
  !message.includes('.me"') &&
@@ -223,7 +194,7 @@ export const createApp = (params) => {
223
194
  catch {
224
195
  error = undefined;
225
196
  }
226
- logger.warn('proxy', { url: req.url, status: proxyRes.statusCode, error });
197
+ logger.warn('proxy', { status: proxyRes.statusCode, error });
227
198
  }
228
199
  }
229
200
  proxyTarget.onEnd?.(proxyRes);
@@ -231,8 +202,8 @@ export const createApp = (params) => {
231
202
  },
232
203
  // Fired when the downstream is unreachable (connection refused, timeout, DNS, etc.),
233
204
  // so proxyRes never fires. Log it and return a clean 502 instead of leaking the raw error.
234
- error: (error, req, res) => {
235
- logger.error('proxy', { url: req.url, message: error.message, stack: error.stack });
205
+ error: (error, _req, res) => {
206
+ logger.error('proxy', { message: error.message, stack: error.stack });
236
207
  if ('headersSent' in res && !res.headersSent) {
237
208
  res.status(502).json({ error: 'Bad Gateway' });
238
209
  }
@@ -246,11 +217,8 @@ export const createApp = (params) => {
246
217
  on: onHandlers,
247
218
  }));
248
219
  });
249
- // Express error-handling middleware (4-arg signature). Catches errors from customRoutes
250
- // and other non-tRPC paths, logs them, then delegates to Express's default handler for
251
- // the response. tRPC errors are already handled by its own onError before reaching here.
252
220
  app.use((err, req, _res, next) => {
253
- logger.error('express', { url: req.url, method: req.method, message: err.message, stack: err.stack });
221
+ logger.error('express', { method: req.method, message: err.message, stack: err.stack });
254
222
  next(err);
255
223
  });
256
224
  const server = app.listen(defaultEnv.PORT, () => logger.banner(`[${defaultEnv.SERVICE}] Listening on port ${defaultEnv.PORT} on ${defaultEnv.NODE_ENV}`));
@@ -290,9 +258,6 @@ const patchFetchWithRequestHeaders = () => {
290
258
  allowList: AUTO_FORWARD_ALLOW_LIST,
291
259
  targetHost: requestHost(input),
292
260
  init,
293
- // When `input` is a `Request`, passing a rebuilt `headers` in init drops its own headers — carry
294
- // them so they survive (init.headers still win over them). `globalThis.Request` (the fetch Request)
295
- // because `Request` is a type-only import from express here.
296
261
  ...(input instanceof globalThis.Request ? { inputHeaders: input.headers } : {}),
297
262
  });
298
263
  return originalFetch(input, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/express/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/express/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as express from './express/index.ts';
2
2
  import * as trpc from './trpc/index.ts';
3
3
  import { consume } from './uploads/index.ts';
4
+ export * from './trpc/declaration/index.ts';
4
5
  export * from './trpc/error/index.ts';
5
6
  export * from './trpc/schema/index.ts';
6
7
  export declare const server: {
@@ -1,6 +1,7 @@
1
1
  import * as express from './express/index.js';
2
2
  import * as trpc from './trpc/index.js';
3
3
  import { consume } from './uploads/index.js';
4
+ export * from './trpc/declaration/index.js';
4
5
  export * from './trpc/error/index.js';
5
6
  export * from './trpc/schema/index.js';
6
7
  export const server = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AAEtC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,OAAO;IACP,IAAI;IACJ,OAAO,EAAE,EAAE,OAAO,EAAE;CACrB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AAEtC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,OAAO;IACP,IAAI;IACJ,OAAO,EAAE,EAAE,OAAO,EAAE;CACrB,CAAA"}
@@ -0,0 +1,38 @@
1
+ export declare namespace Auth {
2
+ type Tier<Name extends string> = {
3
+ readonly kind: 'tier';
4
+ readonly name: Name;
5
+ };
6
+ type Upstream<Reason extends string> = {
7
+ readonly kind: 'upstream';
8
+ readonly reason: Reason;
9
+ };
10
+ type None<Reason extends string> = {
11
+ readonly kind: 'auth-none';
12
+ readonly reason: Reason;
13
+ };
14
+ }
15
+ export declare namespace Ropa {
16
+ type Activity<Key extends string> = {
17
+ readonly kind: 'activity';
18
+ readonly key: Key;
19
+ };
20
+ type None<Reason extends string> = {
21
+ readonly kind: 'ropa-none';
22
+ readonly reason: Reason;
23
+ };
24
+ }
25
+ export type AuthDeclaration = Auth.Tier<string> | Auth.Upstream<string> | Auth.None<string>;
26
+ export type RopaDeclaration<Key extends string> = Ropa.Activity<Key> | Ropa.None<string>;
27
+ export type DeclarationRequired = {
28
+ readonly __declarationRequired: never;
29
+ };
30
+ type ParameterOf<Declaration> = Declaration extends Auth.Tier<infer Name> ? Name : Declaration extends Ropa.Activity<infer Key> ? Key : Declaration extends {
31
+ readonly reason: infer Reason;
32
+ } ? Reason : never;
33
+ type IsDeclared<Declaration> = [Declaration] extends [never] ? false : [ParameterOf<Declaration>] extends [never] ? false : string extends ParameterOf<Declaration> ? false : true;
34
+ export type DeclarationArgs<A, R> = IsDeclared<A> extends true ? (IsDeclared<R> extends true ? [] : [DeclarationRequired]) : [DeclarationRequired];
35
+ export type DeclarableProcedure<TProcedure, TRopaKey extends string> = {
36
+ declare<A extends AuthDeclaration = never, R extends RopaDeclaration<TRopaKey> = never>(...undeclared: DeclarationArgs<A, R>): TProcedure;
37
+ };
38
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/trpc/declaration/index.ts"],"names":[],"mappings":""}
@@ -2,6 +2,7 @@ import { type AnyTRPCProcedure, type AnyTRPCRouter } from '@trpc/server';
2
2
  import * as trpcExpress from '@trpc/server/adapters/express';
3
3
  import type express from 'express';
4
4
  import superjson from 'superjson';
5
+ import type { DeclarableProcedure } from './declaration/index.ts';
5
6
  declare const createRequestContext: (opts: trpcExpress.CreateExpressContextOptions) => {
6
7
  requestHeaders: import("node:http").IncomingHttpHeaders;
7
8
  ip: string | undefined;
@@ -13,14 +14,14 @@ type UploadProcedure = {
13
14
  url: string;
14
15
  }>) => AnyTRPCProcedure;
15
16
  };
16
- export declare function generator<TContext extends object = EmptyObject>(options?: {
17
+ export declare function generator<TContext extends object = EmptyObject, TRopaKey extends string = never>(options?: {
17
18
  customRoutes?: (app: express.Express) => void;
18
19
  resolveAuditActor?: (ctx: RequestContext & TContext) => Promise<{
19
20
  actorUserId?: string;
20
21
  }> | {
21
22
  actorUserId?: string;
22
23
  };
23
- }): Generator<import("@trpc/server").TRPCRootObject<{
24
+ }): Generator<Omit<import("@trpc/server").TRPCRootObject<{
24
25
  requestHeaders: import("node:http").IncomingHttpHeaders;
25
26
  ip: string | undefined;
26
27
  } & TContext extends infer T ? T extends {
@@ -48,7 +49,7 @@ export declare function generator<TContext extends object = EmptyObject>(options
48
49
  name: string;
49
50
  type: "mutation" | "query" | "subscription" | "unknown";
50
51
  path: string | undefined;
51
- input: unknown;
52
+ inputKeys: string[] | undefined;
52
53
  code: "BAD_GATEWAY" | "BAD_REQUEST" | "CLIENT_CLOSED_REQUEST" | "CONFLICT" | "FORBIDDEN" | "GATEWAY_TIMEOUT" | "INTERNAL_SERVER_ERROR" | "METHOD_NOT_SUPPORTED" | "NOT_FOUND" | "NOT_IMPLEMENTED" | "PARSE_ERROR" | "PAYLOAD_TOO_LARGE" | "PAYMENT_REQUIRED" | "PRECONDITION_FAILED" | "PRECONDITION_REQUIRED" | "SERVICE_UNAVAILABLE" | "TIMEOUT" | "TOO_MANY_REQUESTS" | "UNAUTHORIZED" | "UNPROCESSABLE_CONTENT" | "UNSUPPORTED_MEDIA_TYPE";
53
54
  message: string;
54
55
  source?: {
@@ -74,7 +75,7 @@ export declare function generator<TContext extends object = EmptyObject>(options
74
75
  name: string;
75
76
  type: "mutation" | "query" | "subscription" | "unknown";
76
77
  path: string | undefined;
77
- input: unknown;
78
+ inputKeys: string[] | undefined;
78
79
  code: "BAD_GATEWAY" | "BAD_REQUEST" | "CLIENT_CLOSED_REQUEST" | "CONFLICT" | "FORBIDDEN" | "GATEWAY_TIMEOUT" | "INTERNAL_SERVER_ERROR" | "METHOD_NOT_SUPPORTED" | "NOT_FOUND" | "NOT_IMPLEMENTED" | "PARSE_ERROR" | "PAYLOAD_TOO_LARGE" | "PAYMENT_REQUIRED" | "PRECONDITION_FAILED" | "PRECONDITION_REQUIRED" | "SERVICE_UNAVAILABLE" | "TIMEOUT" | "TOO_MANY_REQUESTS" | "UNAUTHORIZED" | "UNPROCESSABLE_CONTENT" | "UNSUPPORTED_MEDIA_TYPE";
79
80
  message: string;
80
81
  source?: {
@@ -85,14 +86,14 @@ export declare function generator<TContext extends object = EmptyObject>(options
85
86
  };
86
87
  };
87
88
  transformer: true;
88
- }> & {
89
- procedure: import("@trpc/server").TRPCProcedureBuilder<{
89
+ }>, "procedure"> & {
90
+ procedure: DeclarableProcedure<import("@trpc/server").TRPCProcedureBuilder<{
90
91
  requestHeaders: import("node:http").IncomingHttpHeaders;
91
92
  ip: string | undefined;
92
93
  } & TContext extends infer T_1 ? T_1 extends {
93
94
  requestHeaders: import("node:http").IncomingHttpHeaders;
94
95
  ip: string | undefined;
95
- } & TContext ? T_1 extends (...args: any[]) => object | Promise<object> ? import("@trpc/server/unstable-core-do-not-import").Unwrap<T_1> : T_1 : never : never, object, {}, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, false>;
96
+ } & TContext ? T_1 extends (...args: any[]) => object | Promise<object> ? import("@trpc/server/unstable-core-do-not-import").Unwrap<T_1> : T_1 : never : never, object, {}, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, false>, TRopaKey>;
96
97
  router: <T_1 extends Parameters<import("@trpc/server").TRPCRouterBuilder<{
97
98
  ctx: {
98
99
  requestHeaders: import("node:http").IncomingHttpHeaders;
@@ -109,7 +110,7 @@ export declare function generator<TContext extends object = EmptyObject>(options
109
110
  name: string;
110
111
  type: "mutation" | "query" | "subscription" | "unknown";
111
112
  path: string | undefined;
112
- input: unknown;
113
+ inputKeys: string[] | undefined;
113
114
  code: "BAD_GATEWAY" | "BAD_REQUEST" | "CLIENT_CLOSED_REQUEST" | "CONFLICT" | "FORBIDDEN" | "GATEWAY_TIMEOUT" | "INTERNAL_SERVER_ERROR" | "METHOD_NOT_SUPPORTED" | "NOT_FOUND" | "NOT_IMPLEMENTED" | "PARSE_ERROR" | "PAYLOAD_TOO_LARGE" | "PAYMENT_REQUIRED" | "PRECONDITION_FAILED" | "PRECONDITION_REQUIRED" | "SERVICE_UNAVAILABLE" | "TIMEOUT" | "TOO_MANY_REQUESTS" | "UNAUTHORIZED" | "UNPROCESSABLE_CONTENT" | "UNSUPPORTED_MEDIA_TYPE";
114
115
  message: string;
115
116
  source?: {
@@ -136,7 +137,7 @@ export declare function generator<TContext extends object = EmptyObject>(options
136
137
  name: string;
137
138
  type: "mutation" | "query" | "subscription" | "unknown";
138
139
  path: string | undefined;
139
- input: unknown;
140
+ inputKeys: string[] | undefined;
140
141
  code: "BAD_GATEWAY" | "BAD_REQUEST" | "CLIENT_CLOSED_REQUEST" | "CONFLICT" | "FORBIDDEN" | "GATEWAY_TIMEOUT" | "INTERNAL_SERVER_ERROR" | "METHOD_NOT_SUPPORTED" | "NOT_FOUND" | "NOT_IMPLEMENTED" | "PARSE_ERROR" | "PAYLOAD_TOO_LARGE" | "PAYMENT_REQUIRED" | "PRECONDITION_FAILED" | "PRECONDITION_REQUIRED" | "SERVICE_UNAVAILABLE" | "TIMEOUT" | "TOO_MANY_REQUESTS" | "UNAUTHORIZED" | "UNPROCESSABLE_CONTENT" | "UNSUPPORTED_MEDIA_TYPE";
141
142
  message: string;
142
143
  source?: {
@@ -153,7 +154,7 @@ export declare function generator<TContext extends object = EmptyObject>(options
153
154
  };
154
155
  }>>;
155
156
  uploadProcedure: (procedure: UploadProcedure, bucket: string) => void;
156
- }, import("@trpc/server").TRPCRootObject<{
157
+ }, Omit<import("@trpc/server").TRPCRootObject<{
157
158
  requestHeaders: import("node:http").IncomingHttpHeaders;
158
159
  ip: string | undefined;
159
160
  } & TContext extends infer T ? T extends {
@@ -181,7 +182,7 @@ export declare function generator<TContext extends object = EmptyObject>(options
181
182
  name: string;
182
183
  type: "mutation" | "query" | "subscription" | "unknown";
183
184
  path: string | undefined;
184
- input: unknown;
185
+ inputKeys: string[] | undefined;
185
186
  code: "BAD_GATEWAY" | "BAD_REQUEST" | "CLIENT_CLOSED_REQUEST" | "CONFLICT" | "FORBIDDEN" | "GATEWAY_TIMEOUT" | "INTERNAL_SERVER_ERROR" | "METHOD_NOT_SUPPORTED" | "NOT_FOUND" | "NOT_IMPLEMENTED" | "PARSE_ERROR" | "PAYLOAD_TOO_LARGE" | "PAYMENT_REQUIRED" | "PRECONDITION_FAILED" | "PRECONDITION_REQUIRED" | "SERVICE_UNAVAILABLE" | "TIMEOUT" | "TOO_MANY_REQUESTS" | "UNAUTHORIZED" | "UNPROCESSABLE_CONTENT" | "UNSUPPORTED_MEDIA_TYPE";
186
187
  message: string;
187
188
  source?: {
@@ -207,7 +208,7 @@ export declare function generator<TContext extends object = EmptyObject>(options
207
208
  name: string;
208
209
  type: "mutation" | "query" | "subscription" | "unknown";
209
210
  path: string | undefined;
210
- input: unknown;
211
+ inputKeys: string[] | undefined;
211
212
  code: "BAD_GATEWAY" | "BAD_REQUEST" | "CLIENT_CLOSED_REQUEST" | "CONFLICT" | "FORBIDDEN" | "GATEWAY_TIMEOUT" | "INTERNAL_SERVER_ERROR" | "METHOD_NOT_SUPPORTED" | "NOT_FOUND" | "NOT_IMPLEMENTED" | "PARSE_ERROR" | "PAYLOAD_TOO_LARGE" | "PAYMENT_REQUIRED" | "PRECONDITION_FAILED" | "PRECONDITION_REQUIRED" | "SERVICE_UNAVAILABLE" | "TIMEOUT" | "TOO_MANY_REQUESTS" | "UNAUTHORIZED" | "UNPROCESSABLE_CONTENT" | "UNSUPPORTED_MEDIA_TYPE";
212
213
  message: string;
213
214
  source?: {
@@ -218,14 +219,14 @@ export declare function generator<TContext extends object = EmptyObject>(options
218
219
  };
219
220
  };
220
221
  transformer: true;
221
- }> & {
222
- procedure: import("@trpc/server").TRPCProcedureBuilder<{
222
+ }>, "procedure"> & {
223
+ procedure: DeclarableProcedure<import("@trpc/server").TRPCProcedureBuilder<{
223
224
  requestHeaders: import("node:http").IncomingHttpHeaders;
224
225
  ip: string | undefined;
225
226
  } & TContext extends infer T_1 ? T_1 extends {
226
227
  requestHeaders: import("node:http").IncomingHttpHeaders;
227
228
  ip: string | undefined;
228
- } & TContext ? T_1 extends (...args: any[]) => object | Promise<object> ? import("@trpc/server/unstable-core-do-not-import").Unwrap<T_1> : T_1 : never : never, object, {}, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, false>;
229
+ } & TContext ? T_1 extends (...args: any[]) => object | Promise<object> ? import("@trpc/server/unstable-core-do-not-import").Unwrap<T_1> : T_1 : never : never, object, {}, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, false>, TRopaKey>;
229
230
  router: <T_1 extends Parameters<import("@trpc/server").TRPCRouterBuilder<{
230
231
  ctx: {
231
232
  requestHeaders: import("node:http").IncomingHttpHeaders;
@@ -242,7 +243,7 @@ export declare function generator<TContext extends object = EmptyObject>(options
242
243
  name: string;
243
244
  type: "mutation" | "query" | "subscription" | "unknown";
244
245
  path: string | undefined;
245
- input: unknown;
246
+ inputKeys: string[] | undefined;
246
247
  code: "BAD_GATEWAY" | "BAD_REQUEST" | "CLIENT_CLOSED_REQUEST" | "CONFLICT" | "FORBIDDEN" | "GATEWAY_TIMEOUT" | "INTERNAL_SERVER_ERROR" | "METHOD_NOT_SUPPORTED" | "NOT_FOUND" | "NOT_IMPLEMENTED" | "PARSE_ERROR" | "PAYLOAD_TOO_LARGE" | "PAYMENT_REQUIRED" | "PRECONDITION_FAILED" | "PRECONDITION_REQUIRED" | "SERVICE_UNAVAILABLE" | "TIMEOUT" | "TOO_MANY_REQUESTS" | "UNAUTHORIZED" | "UNPROCESSABLE_CONTENT" | "UNSUPPORTED_MEDIA_TYPE";
247
248
  message: string;
248
249
  source?: {
@@ -269,7 +270,7 @@ export declare function generator<TContext extends object = EmptyObject>(options
269
270
  name: string;
270
271
  type: "mutation" | "query" | "subscription" | "unknown";
271
272
  path: string | undefined;
272
- input: unknown;
273
+ inputKeys: string[] | undefined;
273
274
  code: "BAD_GATEWAY" | "BAD_REQUEST" | "CLIENT_CLOSED_REQUEST" | "CONFLICT" | "FORBIDDEN" | "GATEWAY_TIMEOUT" | "INTERNAL_SERVER_ERROR" | "METHOD_NOT_SUPPORTED" | "NOT_FOUND" | "NOT_IMPLEMENTED" | "PARSE_ERROR" | "PAYLOAD_TOO_LARGE" | "PAYMENT_REQUIRED" | "PRECONDITION_FAILED" | "PRECONDITION_REQUIRED" | "SERVICE_UNAVAILABLE" | "TIMEOUT" | "TOO_MANY_REQUESTS" | "UNAUTHORIZED" | "UNPROCESSABLE_CONTENT" | "UNSUPPORTED_MEDIA_TYPE";
274
275
  message: string;
275
276
  source?: {
@@ -11,9 +11,6 @@ import { Util } from '../../util/index.js';
11
11
  import { createApp } from '../express/index.js';
12
12
  import { mint } from '../uploads/index.js';
13
13
  import { throwForbiddenError } from './error/index.js';
14
- // Cap the auto-propagated audit `reason` (a free-form, un-erasable `Event<Domain>Lifecycle.reason`
15
- // `@db.Text` column) so a client cannot stuff it into an unbounded audit-log / PII-injection sink.
16
- const MAX_AUDIT_REASON_LENGTH = 512;
17
14
  const createRequestContext = (opts) => {
18
15
  const requestHeaders = opts.req.headers;
19
16
  return {
@@ -43,6 +40,11 @@ export function* generator(options = {}) {
43
40
  // detail never reaches the client; it stays in the server-side `onError` log (and, in
44
41
  // development only, the `source` block above).
45
42
  const message = error.code === 'INTERNAL_SERVER_ERROR' && !isDevelopment ? 'Internal server error' : error.message;
43
+ // `inputKeys`, not the input itself. `Util.sanitize` redacts by KEY NAME, so echoing an arbitrary
44
+ // payload back in the error body carries every personal-data field the keyword list has not caught —
45
+ // and that list cannot be derived from the schema markers. The proxy already strips downstream error
46
+ // bodies to a structured summary for this exact reason; this is the same rule applied at the source.
47
+ // Which fields were present is what diagnoses a rejected call; their values are what must not travel.
46
48
  return {
47
49
  ...shape,
48
50
  message,
@@ -50,7 +52,7 @@ export function* generator(options = {}) {
50
52
  name: defaultEnv.SERVICE,
51
53
  type,
52
54
  path,
53
- input: Util.sanitize(input),
55
+ inputKeys: typeof input === 'object' && input !== null ? Object.keys(input) : undefined,
54
56
  code: error.code,
55
57
  message,
56
58
  ...(source ? { source } : {}),
@@ -62,20 +64,7 @@ export function* generator(options = {}) {
62
64
  const actor = resolveAuditActor
63
65
  ? await resolveAuditActor(opts.ctx)
64
66
  : { actorUserId: undefined };
65
- const rawInput = await opts.getRawInput();
66
- // `baseProcedure` runs BEFORE the `.input()` parser (tRPC parses input at its own position in the
67
- // middleware chain), so only the raw pre-validation body is reachable here — never the Zod-validated
68
- // input. Accept `reason` solely as a top-level string and cap its length. The cap bounds the audit
69
- // column's SIZE only — it does NOT strip PII from the content; keeping `reason` free of subject
70
- // identifiers is the caller's responsibility (coding-style.md § Pseudonymization: free-form text
71
- // fields must not contain PII, callers strip before writing), and matters because this column is
72
- // un-erasable (not a `/// PII:` field, so an `/// erase: anonymize` pass never nulls it). A
73
- // procedure needing a longer / structured reason writes it explicitly.
74
- const rawReason = rawInput && typeof rawInput === 'object' && 'reason' in rawInput && typeof rawInput.reason === 'string'
75
- ? rawInput.reason
76
- : undefined;
77
- const reason = rawReason === undefined ? undefined : rawReason.slice(0, MAX_AUDIT_REASON_LENGTH);
78
- return runWithAuditActor({ actorUserId: actor.actorUserId, reason }, async () => {
67
+ return runWithAuditActor({ actorUserId: actor.actorUserId }, async () => {
79
68
  return await runWithRequestPath(opts.path, async () => {
80
69
  const startTime = Date.now();
81
70
  const contextWithTiming = opts.ctx;
@@ -84,17 +73,14 @@ export function* generator(options = {}) {
84
73
  if (typeof result === 'object' && result !== null && 'error' in result && result.error instanceof Error) {
85
74
  throw result.error;
86
75
  }
87
- logger.debug('operation', {
88
- type: opts.type,
89
- ...contextWithTiming,
90
- input: rawInput,
91
- duration: Date.now() - startTime,
92
- result: 'data' in result ? result.data : result,
93
- });
76
+ logger.debug('operation', { type: opts.type, duration: Date.now() - startTime });
94
77
  return result;
95
78
  });
96
79
  });
97
80
  });
81
+ const declarableProcedure = {
82
+ declare: () => baseProcedure,
83
+ };
98
84
  let uploadProcedure;
99
85
  let uploadBucket;
100
86
  let routerBuilt = false;
@@ -107,14 +93,17 @@ export function* generator(options = {}) {
107
93
  if ('file' in routes) {
108
94
  throw new Error("router namespace 'file' is reserved by the framework upload procedure");
109
95
  }
110
- // `file.upload`'s gating procedure is frozen here at router-build time, so `uploadProcedure` MUST be
111
- // set first. Flag the build so a later `trpc.uploadProcedure(...)` throws instead of silently leaving
112
- // the mutation on the unauthenticated `baseProcedure`.
113
96
  routerBuilt = true;
114
- return baseRouter({ ...routes, file: { upload: (uploadProcedure ?? baseProcedure).mutation(uploadHandler) } });
97
+ return baseRouter({
98
+ ...routes,
99
+ file: {
100
+ upload: (uploadProcedure ??
101
+ declarableProcedure.declare()).mutation(uploadHandler),
102
+ },
103
+ });
115
104
  };
116
105
  const enhancedTrpc = tprc;
117
- enhancedTrpc.procedure = baseProcedure;
106
+ enhancedTrpc.procedure = declarableProcedure;
118
107
  enhancedTrpc.router = wrappedRouter;
119
108
  enhancedTrpc.uploadProcedure = (procedure, bucket) => {
120
109
  if (routerBuilt) {
@@ -133,29 +122,32 @@ export function* generator(options = {}) {
133
122
  createContext: (opts) => prisma.run(async () => createRequestContext(opts)),
134
123
  onError: ({ error, type, path, input, ctx }) => {
135
124
  const cause = error.cause;
136
- const result = cause instanceof TRPCClientError
137
- ? cause.shape?.data
138
- ? cause.shape.data
139
- : cause &&
140
- typeof cause === 'object' &&
141
- 'source' in cause &&
142
- cause.source &&
143
- typeof cause.source === 'object' &&
144
- Object.keys(cause.source).length > 0
145
- ? cause
146
- : undefined
125
+ // Only the downstream error's `source` (name / message / stack), never the whole `shape.data`
126
+ // envelope — that envelope carries the downstream `input` and `headers`, so logging it would
127
+ // reopen through the proxy hop exactly the payload this handler stopped emitting locally.
128
+ const nonEmptySource = (holder) => typeof holder === 'object' &&
129
+ holder !== null &&
130
+ 'source' in holder &&
131
+ typeof holder.source === 'object' &&
132
+ holder.source !== null &&
133
+ Object.keys(holder.source).length > 0
134
+ ? holder.source
147
135
  : undefined;
136
+ const downstreamSource = cause instanceof TRPCClientError ? (nonEmptySource(cause.shape?.data) ?? nonEmptySource(cause)) : undefined;
137
+ // `inputKeys` instead of `input`, and no `result` / `headers`: which fields were present is what
138
+ // diagnoses a failed call, while their values are the payload this must not emit (see the
139
+ // `operation` log above for why key-based redaction cannot be relied on here). A validation
140
+ // failure already names the offending field in `message`.
148
141
  const obj = {
149
142
  sequence: ctx && 'sequence' in ctx ? ctx.sequence : undefined,
150
143
  type,
151
144
  path,
152
- headers: ctx?.requestHeaders,
153
- input,
145
+ inputKeys: typeof input === 'object' && input !== null ? Object.keys(input) : undefined,
154
146
  duration: ctx && 'startTime' in ctx && typeof ctx.startTime === 'number' ? Date.now() - ctx.startTime : undefined,
155
147
  code: error.code,
156
148
  message: error.message,
157
149
  stack: error.stack,
158
- ...(result ? { result } : {}),
150
+ ...(downstreamSource ? { downstreamSource } : {}),
159
151
  };
160
152
  logger.error('trpc', obj);
161
153
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/trpc/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/trpc/index.ts"],"names":[],"mappings":"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"}