@beignet/core 0.0.52 → 0.0.53

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/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @beignet/core
2
2
 
3
+ ## 0.0.53
4
+
5
+ ### Patch Changes
6
+
7
+ - 6ef881c: Reject incompatible default route-binder inputs at compile time and classify
8
+ type-erased runtime mismatches as framework-owned validation errors. Generated
9
+ resource cursors now remain optional at the request boundary and normalize to
10
+ nullable repository pagination state inside the use case.
11
+ - e1a559d: Add authenticated string encryption through EncryptionPort and createEncryption, with optional context binding, decryption through previous keys, and non-sensitive failure errors. Add beignet encryption key for key generation, server import checks, and guidance for rotation and recovery.
12
+ - edebbea: Add `@beignet/react-form`, a TanStack Form adapter that installs a contract body schema as a Standard Schema validator, types the `onServer` error slot, and maps client errors with `serverErrorMap`. `beignet lint` keeps the form packages out of domain and use-case code, `beignet doctor` expects `client/forms.ts` for either form adapter, and `beignet make feature --with ui` refuses to add React Hook Form components to an app that depends on `@beignet/react-form`.
13
+
3
14
  ## 0.0.52
4
15
 
5
16
  ### Patch Changes
package/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
  This package provides Beignet's framework primitives: contracts, server runtime,
12
12
  typed client, use cases, agent capabilities, ports, domain helpers, app errors, config, events,
13
13
  idempotency, locks, outbox, mail, notifications, payments, search, webhooks,
14
- feature flags, error reporting, schedules, uploads, entitlements, pagination
14
+ feature flags, error reporting, encryption, schedules, uploads, entitlements, pagination
15
15
  helpers, testing helpers, and OpenAPI generation.
16
16
 
17
17
  ## Installation
@@ -55,6 +55,7 @@ name the framework area they depend on.
55
55
  | `@beignet/core/config` | Environment config validation |
56
56
  | `@beignet/core/contracts` | HTTP contract builders, types, path helpers, and contract metadata |
57
57
  | `@beignet/core/domain` | Entities, value objects, and domain events |
58
+ | `@beignet/core/encryption` | Authenticated string encryption, EncryptionPort, and key generation |
58
59
  | `@beignet/core/entitlements` | Product access decision types, helpers, and static entitlement adapter |
59
60
  | `@beignet/core/error-reporting` | Error reporting port, memory adapter, no-op adapter, and helpers |
60
61
  | `@beignet/core/errors` | Error catalogs and response helpers |
@@ -85,6 +86,49 @@ name the framework area they depend on.
85
86
  | `@beignet/core/uploads/client` | Browser upload client for server and direct uploads |
86
87
  | `@beignet/core/webhooks` | Inbound webhook definitions, verifiers, memory test verifier, and HMAC verifier |
87
88
 
89
+ ## Encryption
90
+
91
+ Use `createEncryption(...)` in server infra and expose `EncryptionPort` through
92
+ your app ports. It uses Web Crypto AES-256-GCM with a random 96-bit IV and a
93
+ 128-bit authentication tag for each write.
94
+
95
+ ```typescript
96
+ import { createEncryption } from "@beignet/core/encryption";
97
+ import { env } from "@/lib/env";
98
+
99
+ // Supply a persistent server secret from your validated environment config.
100
+ const encryption = createEncryption({
101
+ key: env.ENCRYPTION_KEY,
102
+ previousKeys: env.ENCRYPTION_PREVIOUS_KEYS,
103
+ });
104
+ const context = { purpose: "integration-token", tenantId: "tenant-1" };
105
+ const encrypted = await encryption.encrypt({ value: "example-token", context });
106
+ const token = await encryption.decrypt({ value: encrypted, context });
107
+ ```
108
+
109
+ Generate a persistent key with `beignet encryption key` or
110
+ `generateEncryptionKey()`: canonical `base64:` plus 32 random bytes. All keys
111
+ are validated synchronously. `key` encrypts new writes; `previousKeys` is an
112
+ optional array used only for decryption. The methods accept strings and return
113
+ `Promise<string>`. Optional `context` is a plain string record authenticated
114
+ with the value; supply the same expected context when decrypting. It does not
115
+ replace authorization.
116
+
117
+ Store the complete opaque ciphertext in a text column. Malformed values,
118
+ tampering, wrong keys, and context mismatches reject with
119
+ `EncryptionDecryptionError` and a non-sensitive message. There is no plaintext
120
+ fallback. The API emits no logs or telemetry.
121
+
122
+ Keep keys outside client bundles and logs. Rotation does not rewrite existing
123
+ data. Distribute a new decryption key to all readers before switching writes,
124
+ retain old keys while records and backups require them, and test recovery.
125
+ Losing a required key makes its ciphertext unreadable. This is field encryption,
126
+ not password hashing or streaming file encryption. See the
127
+ [encryption guide](https://beignetjs.com/encryption) for port wiring, rotation,
128
+ recovery, and KMS boundaries.
129
+
130
+ ## Import boundaries
131
+
88
132
  Use boundary markers as side-effect imports so local linting and formatting do
89
133
  not treat them as unused symbols:
90
134
 
@@ -2226,6 +2270,13 @@ explicit `input: (parts) => ...` mapper. When the use case `.input(...)`
2226
2270
  schema is the contract's sole request schema by reference, the server skips
2227
2271
  the use case's input re-parse — one schema, one parse.
2228
2272
 
2273
+ The route definition checks the inferred default binder input against the use
2274
+ case input type. Incompatible concrete shapes are compile errors with a prompt
2275
+ to add an explicit `input` mapper. If route types are deliberately erased and
2276
+ the default input still fails use-case validation at runtime, the server
2277
+ returns a framework-owned `500 USE_CASE_INPUT_VALIDATION_ERROR` rather than
2278
+ passing the failure through the app's unhandled-error mapper.
2279
+
2229
2280
  Use `{ contract, handle }` as the escape hatch for response headers,
2230
2281
  streaming, and multi-status responses. `defineRoute` remains
2231
2282
  available for full handlers that read hook-added `ctx` fields.
@@ -2687,6 +2738,7 @@ field requiredness, descriptions, and constraints.
2687
2738
  - [`@beignet/next`](https://beignetjs.com/server) - Next.js server adapter
2688
2739
  - [`@beignet/react-query`](https://beignetjs.com/react-query) - TanStack Query integration
2689
2740
  - [`@beignet/react-hook-form`](https://beignetjs.com/react-hook-form) - React Hook Form integration
2741
+ - [`@beignet/react-form`](https://beignetjs.com/react-form) - TanStack Form integration
2690
2742
  - [`@beignet/react-uploads`](https://beignetjs.com/react-uploads) - React upload state and progress hooks
2691
2743
  - [`@beignet/nuqs`](https://beignetjs.com/nuqs) - URL query state integration with nuqs
2692
2744
  - [`@beignet/devtools`](https://beignetjs.com/devtools) - Local request, provider, and audit timeline
@@ -0,0 +1,40 @@
1
+ import "../server-only.js";
2
+ /** Non-secret, authenticated metadata. Supply the same expected context on reads. */
3
+ export type EncryptionContext = Readonly<Record<string, string>>;
4
+ /** Options shared by string encryption and decryption. */
5
+ export interface EncryptionValueOptions {
6
+ /** Plaintext for encrypt; the complete encrypted value for decrypt. */
7
+ value: string;
8
+ /** Bind the value to its purpose, tenant, or record. This is not authorization. */
9
+ context?: EncryptionContext;
10
+ }
11
+ /** Server-side authenticated string encryption. */
12
+ export interface EncryptionPort {
13
+ /** Encrypt a string; persist the complete returned value. */
14
+ encrypt(options: EncryptionValueOptions): Promise<string>;
15
+ /** Authenticate and decrypt a value with the same expected context. */
16
+ decrypt(options: EncryptionValueOptions): Promise<string>;
17
+ }
18
+ /** Configuration for the built-in AES-256-GCM implementation. */
19
+ export interface CreateEncryptionOptions {
20
+ /** A base64: prefixed, canonical Base64 encoding of 32 random bytes. */
21
+ key: string;
22
+ /** Decryption-only keys in the same format. New writes always use key. */
23
+ previousKeys?: readonly string[];
24
+ }
25
+ /** Malformed, unauthenticated, or undecryptable ciphertext. Contains no input. */
26
+ export declare class EncryptionDecryptionError extends Error {
27
+ /** Stable error name, independent of the decryption failure's cause. */
28
+ readonly name = "EncryptionDecryptionError";
29
+ constructor();
30
+ }
31
+ /** Generate a new 256-bit key. Store it in a server secret store; never log it. */
32
+ export declare function generateEncryptionKey(): string;
33
+ /**
34
+ * Create authenticated string encryption using Web Crypto AES-256-GCM.
35
+ * Configuration is validated synchronously. Each write uses a random 96-bit IV
36
+ * and a 128-bit authentication tag. Previous keys are used only for reads.
37
+ * No environment variables are read and no plaintext, keys, or context are logged.
38
+ */
39
+ export declare function createEncryption(options: CreateEncryptionOptions): EncryptionPort;
40
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/encryption/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAE3B,qFAAqF;AACrF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEjE,0DAA0D;AAC1D,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,uEAAuE;IACvE,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3D;AAED,iEAAiE;AACjE,MAAM,WAAW,uBAAuB;IACtC,wEAAwE;IACxE,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED,kFAAkF;AAClF,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,wEAAwE;IACxE,QAAQ,CAAC,IAAI,+BAA+B;;CAK7C;AAsED,mFAAmF;AACnF,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,uBAAuB,GAC/B,cAAc,CA6EhB"}
@@ -0,0 +1,134 @@
1
+ import "../server-only.js";
2
+ /** Malformed, unauthenticated, or undecryptable ciphertext. Contains no input. */
3
+ export class EncryptionDecryptionError extends Error {
4
+ /** Stable error name, independent of the decryption failure's cause. */
5
+ name = "EncryptionDecryptionError";
6
+ constructor() {
7
+ super("Unable to decrypt encrypted value.");
8
+ }
9
+ }
10
+ const envelopePrefix = "beignet:enc:v1:";
11
+ const ivLength = 12;
12
+ const tagLength = 16;
13
+ const encoder = new TextEncoder();
14
+ const decoder = new TextDecoder("utf-8", { fatal: true });
15
+ function encodeBase64(bytes) {
16
+ // Bound each spread so large values do not overflow the argument stack.
17
+ const chunks = [];
18
+ for (let offset = 0; offset < bytes.length; offset += 8192) {
19
+ chunks.push(String.fromCharCode(...bytes.subarray(offset, offset + 8192)));
20
+ }
21
+ return btoa(chunks.join(""));
22
+ }
23
+ function decodeBase64(value) {
24
+ if (value.length % 4 !== 0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(value)) {
25
+ throw new Error("Invalid Base64 encoding.");
26
+ }
27
+ const bytes = Uint8Array.from(atob(value), (character) => character.charCodeAt(0));
28
+ if (encodeBase64(bytes) !== value)
29
+ throw new Error("Noncanonical Base64 encoding.");
30
+ return bytes;
31
+ }
32
+ function decodeKey(value, label) {
33
+ try {
34
+ if (typeof value !== "string" ||
35
+ value.length !== 51 ||
36
+ !value.startsWith("base64:"))
37
+ throw new Error();
38
+ const bytes = decodeBase64(value.slice(7));
39
+ if (bytes.length !== 32)
40
+ throw new Error();
41
+ return bytes;
42
+ }
43
+ catch {
44
+ throw new TypeError(`${label} must be base64: followed by the Base64 encoding of 32 bytes. Use generateEncryptionKey().`);
45
+ }
46
+ }
47
+ function authenticatedData(context) {
48
+ if (context !== undefined &&
49
+ (context === null ||
50
+ typeof context !== "object" ||
51
+ (Object.getPrototypeOf(context) !== Object.prototype &&
52
+ Object.getPrototypeOf(context) !== null))) {
53
+ throw new TypeError("Encryption context must be a plain record of strings.");
54
+ }
55
+ const entries = Object.entries(context ?? {}).sort(([left], [right]) => left < right ? -1 : left > right ? 1 : 0);
56
+ if (entries.some(([, value]) => typeof value !== "string")) {
57
+ throw new TypeError("Encryption context values must be strings.");
58
+ }
59
+ return encoder.encode(JSON.stringify([envelopePrefix, entries]));
60
+ }
61
+ /** Generate a new 256-bit key. Store it in a server secret store; never log it. */
62
+ export function generateEncryptionKey() {
63
+ return `base64:${encodeBase64(crypto.getRandomValues(new Uint8Array(32)))}`;
64
+ }
65
+ /**
66
+ * Create authenticated string encryption using Web Crypto AES-256-GCM.
67
+ * Configuration is validated synchronously. Each write uses a random 96-bit IV
68
+ * and a 128-bit authentication tag. Previous keys are used only for reads.
69
+ * No environment variables are read and no plaintext, keys, or context are logged.
70
+ */
71
+ export function createEncryption(options) {
72
+ const current = decodeKey(options?.key, "Encryption key");
73
+ if (options.previousKeys !== undefined &&
74
+ !Array.isArray(options.previousKeys)) {
75
+ throw new TypeError("Encryption previousKeys must be an array of keys.");
76
+ }
77
+ const rawKeys = [
78
+ current,
79
+ ...Array.from(options.previousKeys ?? [], (key, index) => decodeKey(key, `Encryption previousKeys[${index}]`)),
80
+ ];
81
+ const importedKeys = [];
82
+ const getKey = (index) => {
83
+ const existing = importedKeys[index];
84
+ if (existing)
85
+ return existing;
86
+ const imported = crypto.subtle.importKey("raw", rawKeys[index], "AES-GCM", false, ["encrypt", "decrypt"]);
87
+ importedKeys[index] = imported;
88
+ return imported;
89
+ };
90
+ return {
91
+ async encrypt({ value, context }) {
92
+ if (typeof value !== "string")
93
+ throw new TypeError("Encryption value must be a string.");
94
+ const additionalData = authenticatedData(context);
95
+ const iv = crypto.getRandomValues(new Uint8Array(ivLength));
96
+ const ciphertext = new Uint8Array(await crypto.subtle.encrypt({ name: "AES-GCM", iv, additionalData, tagLength: tagLength * 8 }, await getKey(0),
97
+ // JSON preserves all JavaScript strings, including lone UTF-16 surrogates.
98
+ encoder.encode(JSON.stringify(value))));
99
+ const envelope = new Uint8Array(iv.length + ciphertext.length);
100
+ envelope.set(iv);
101
+ envelope.set(ciphertext, iv.length);
102
+ return `${envelopePrefix}${encodeBase64(envelope)}`;
103
+ },
104
+ async decrypt(options) {
105
+ try {
106
+ const { value, context } = options;
107
+ if (typeof value !== "string" || !value.startsWith(envelopePrefix))
108
+ throw new Error();
109
+ const envelope = decodeBase64(value.slice(envelopePrefix.length));
110
+ if (envelope.length < ivLength + tagLength + 2)
111
+ throw new Error();
112
+ const additionalData = authenticatedData(context);
113
+ const iv = envelope.slice(0, ivLength);
114
+ const ciphertext = envelope.slice(ivLength);
115
+ for (let index = 0; index < rawKeys.length; index++) {
116
+ try {
117
+ const plaintext = await crypto.subtle.decrypt({ name: "AES-GCM", iv, additionalData, tagLength: tagLength * 8 }, await getKey(index), ciphertext);
118
+ const parsed = JSON.parse(decoder.decode(plaintext));
119
+ if (typeof parsed === "string")
120
+ return parsed;
121
+ }
122
+ catch {
123
+ // Try only the configured key ring; never return unauthenticated data.
124
+ }
125
+ }
126
+ }
127
+ catch {
128
+ // All decryption failures share one non-sensitive public error.
129
+ }
130
+ throw new EncryptionDecryptionError();
131
+ },
132
+ };
133
+ }
134
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/encryption/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"request-executor.d.ts","sourceRoot":"","sources":["../../src/server/request-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-executor.d.ts","sourceRoot":"","sources":["../../src/server/request-executor.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { prepareRequestInputs, requestBodyLimit, requestHeadersToRecord, } from
10
10
  import { defaultErrorResponse, errorResponse, finalizeResponse, isHttpResponseLike, isWebResponse, mergeNativeResponseHeaders, normalizeHttpResponse, normalizeResponse, ResponseContractViolationError, responseForHooks, responseOwnerFor, toContractViolationResponse, withContractLifecycleHeaders, withFrameworkErrorOwnerHeader, } from "./response-finalization.js";
11
11
  import { compilePath, decodeMatchedParams, PathDecodeError, } from "./route-matching.js";
12
12
  import { InvalidRequestUrlError } from "./trusted-proxy-internal.js";
13
+ import { UseCaseRouteInputValidationError } from "./use-case-route.js";
13
14
  function withoutHeadResponseBody(response, requestMethod) {
14
15
  if (requestMethod.toUpperCase() !== "HEAD")
15
16
  return response;
@@ -114,6 +115,18 @@ export function createRequestExecutor(options, finalPorts, contextRuntime, hooks
114
115
  owner: "framework",
115
116
  };
116
117
  }
118
+ if (currentError instanceof UseCaseRouteInputValidationError) {
119
+ return {
120
+ ctx,
121
+ response: errorResponse(500, currentError.code, currentError.message, {
122
+ contractName: currentError.contractName,
123
+ useCaseName: currentError.useCaseName,
124
+ location: "useCaseInput",
125
+ }),
126
+ error: currentError,
127
+ owner: "framework",
128
+ };
129
+ }
117
130
  if (currentError instanceof InvalidRequestUrlError) {
118
131
  return {
119
132
  ctx,
@@ -1 +1 @@
1
- {"version":3,"file":"request-executor.js","sourceRoot":"","sources":["../../src/server/request-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-executor.js","sourceRoot":"","sources":["../../src/server/request-executor.ts"],"names":[],"mappings":"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"}
@@ -101,18 +101,51 @@ export type UseCaseRouteInputParts<C extends HttpContractConfig> = {
101
101
  */
102
102
  body: InferBody<C>;
103
103
  };
104
+ type SegmentPathParam<Segment extends string> = Segment extends `:${infer Name}` ? Name : Segment extends `[${infer Name}]` ? Name : never;
105
+ type PathParamNames<Path extends string> = string extends Path ? never : Path extends `${infer Segment}/${infer Rest}` ? SegmentPathParam<Segment> | PathParamNames<Rest> : SegmentPathParam<Path>;
106
+ type EmptyBinderInput = Record<never, never>;
107
+ declare const UNMERGEABLE_BINDER_INPUT: unique symbol;
108
+ type UnmergeableBinderInput = {
109
+ readonly [UNMERGEABLE_BINDER_INPUT]: true;
110
+ };
111
+ type IsAny<T> = 0 extends 1 & T ? true : false;
112
+ type BinderObject<T> = IsAny<T> extends true ? UnmergeableBinderInput : [T] extends [object] ? [Extract<T, readonly unknown[]>] extends [never] ? T : UnmergeableBinderInput : UnmergeableBinderInput;
113
+ type MergeBinderObjects<LowerPrecedence, HigherPrecedence> = [
114
+ BinderObject<LowerPrecedence>
115
+ ] extends [UnmergeableBinderInput] ? UnmergeableBinderInput : [BinderObject<HigherPrecedence>] extends [UnmergeableBinderInput] ? UnmergeableBinderInput : Omit<BinderObject<LowerPrecedence>, keyof BinderObject<HigherPrecedence>> & BinderObject<HigherPrecedence>;
116
+ type InferredPathInput<C extends HttpContractConfig> = string extends C["path"] ? UnmergeableBinderInput : [PathParamNames<C["path"]>] extends [never] ? EmptyBinderInput : {
117
+ [K in PathParamNames<C["path"]>]: string;
118
+ };
119
+ type BinderPathInput<C extends HttpContractConfig> = C["pathParams"] extends StandardSchemaV1 ? InferOutput<C["pathParams"]> : InferredPathInput<C>;
120
+ type BinderQueryInput<C extends HttpContractConfig> = C["query"] extends StandardSchemaV1 ? InferOutput<C["query"]> : EmptyBinderInput;
121
+ type BinderBodyInput<C extends HttpContractConfig> = C["body"] extends StandardSchemaV1 ? InferOutput<C["body"]> : EmptyBinderInput;
122
+ type HasPathSchema<C extends HttpContractConfig> = C["pathParams"] extends StandardSchemaV1 ? true : false;
123
+ type HasQuerySchema<C extends HttpContractConfig> = C["query"] extends StandardSchemaV1 ? true : false;
124
+ type HasBodySchema<C extends HttpContractConfig> = C["body"] extends StandardSchemaV1 ? true : false;
125
+ type HasInferredPathInput<C extends HttpContractConfig> = string extends C["path"] ? true : [PathParamNames<C["path"]>] extends [never] ? false : true;
126
+ type MergedBinderInput<C extends HttpContractConfig> = MergeBinderObjects<MergeBinderObjects<BinderQueryInput<C>, BinderBodyInput<C>>, BinderPathInput<C>>;
127
+ /**
128
+ * Input produced when a binder route omits an explicit `input` mapper.
129
+ *
130
+ * A sole declared request schema passes through unchanged when the literal
131
+ * path has no additional inferred parameters. Every other supported default
132
+ * binding merges object inputs with path over body over query precedence.
133
+ */
134
+ type DefaultBinderRouteInput<C extends HttpContractConfig> = HasPathSchema<C> extends true ? HasQuerySchema<C> extends true ? MergedBinderInput<C> : HasBodySchema<C> extends true ? MergedBinderInput<C> : BinderPathInput<C> : HasQuerySchema<C> extends true ? HasBodySchema<C> extends true ? MergedBinderInput<C> : HasInferredPathInput<C> extends true ? MergedBinderInput<C> : BinderQueryInput<C> : HasBodySchema<C> extends true ? HasInferredPathInput<C> extends true ? MergedBinderInput<C> : BinderBodyInput<C> : BinderPathInput<C>;
135
+ type UseCaseRouteInputMode = "default" | "mapped";
104
136
  /**
105
137
  * Constraint that checks a use case against the route that binds it.
106
138
  *
107
139
  * Produces a readable branded mismatch object on the `useCase` property when
108
- * the use case requires a context the server does not provide, or when its
109
- * output does not match the contract's declared success response schema.
140
+ * the use case requires a context the server does not provide, when its
141
+ * output does not match the contract's declared success response schema, or
142
+ * when the default binder input does not satisfy the use case input.
110
143
  */
111
- export type UseCaseFitsRoute<Ctx, C extends HttpContractConfig, UC> = [
112
- Ctx
113
- ] extends [UseCaseRouteCtx<UC>] ? [UseCaseRouteOutput<UC>] extends [
144
+ export type UseCaseFitsRoute<Ctx, C extends HttpContractConfig, UC, InputMode extends UseCaseRouteInputMode = "default"> = [Ctx] extends [UseCaseRouteCtx<UC>] ? [UseCaseRouteOutput<UC>] extends [
114
145
  SuccessBodyFromKeys<C["responses"], Success2xxKeys<C["responses"]>>
115
- ] ? unknown : {
146
+ ] ? InputMode extends "mapped" ? unknown : [DefaultBinderRouteInput<C>] extends [UseCaseRouteInput<UC>] ? unknown : {
147
+ "~beignetError": "default binder input does not match the use case input; add an input mapper";
148
+ } : {
116
149
  "~beignetError": "useCase output does not match the contract's success response schema";
117
150
  } : {
118
151
  "~beignetError": "useCase requires a context this server does not provide";
@@ -126,21 +159,30 @@ type UseCaseRouteShape<HandlerCtx, CLike extends ContractLike, C extends HttpCon
126
159
  * Route-scoped hooks that run after group hooks and before the use case.
127
160
  */
128
161
  hooks?: Hooks;
162
+ handle?: never;
163
+ } & ({
129
164
  /**
130
- * Use case bound directly to the contract.
165
+ * Use case bound directly to the contract. The default binder input
166
+ * must satisfy the use case input type.
131
167
  */
132
168
  useCase: UC & UseCaseFitsRoute<HandlerCtx, C, UC>;
169
+ input?: never;
170
+ } | {
171
+ /**
172
+ * Use case bound directly to the contract through an explicit input
173
+ * mapper.
174
+ */
175
+ useCase: UC & UseCaseFitsRoute<HandlerCtx, C, UC, "mapped">;
133
176
  /**
134
177
  * Map parsed request parts to the use case input.
135
178
  *
136
- * A sole declared path, query, or body schema is passed through unchanged
137
- * when no additional path, query, or object body values are present.
138
- * Otherwise `defaultBinderInput` merges query, body, and path objects (path
139
- * wins collisions) and never merges headers.
179
+ * A sole declared path, query, or body schema is passed through
180
+ * unchanged when no additional path, query, or object body values are
181
+ * present. Otherwise `defaultBinderInput` merges query, body, and path
182
+ * objects (path wins collisions) and never merges headers.
140
183
  */
141
- input?: (parts: UseCaseRouteInputParts<C>) => UseCaseRouteInput<UC>;
142
- handle?: never;
143
- } & BinderStatusOption<C>;
184
+ input: (parts: UseCaseRouteInputParts<C>) => UseCaseRouteInput<UC>;
185
+ }) & BinderStatusOption<C>;
144
186
  /**
145
187
  * Route registration that binds a contract directly to a use case.
146
188
  *
@@ -189,10 +231,14 @@ export type ValidatedRouteInput<Ctx, E> = E extends {
189
231
  } ? ResolveContract<CL> extends infer C extends HttpContractConfig ? {
190
232
  contract: CL;
191
233
  hooks?: HooksOf<E>;
192
- useCase: UC & UseCaseFitsRoute<Ctx & AddedCtxFromHooks<HooksOf<E>>, C, UC>;
193
- input?: (parts: UseCaseRouteInputParts<C>) => UseCaseRouteInput<UC>;
194
234
  handle?: never;
195
- } & BinderStatusOption<C> : unknown : unknown;
235
+ } & ({
236
+ useCase: UC & UseCaseFitsRoute<Ctx & AddedCtxFromHooks<HooksOf<E>>, C, UC>;
237
+ input?: never;
238
+ } | {
239
+ useCase: UC & UseCaseFitsRoute<Ctx & AddedCtxFromHooks<HooksOf<E>>, C, UC, "mapped">;
240
+ input: (parts: UseCaseRouteInputParts<C>) => UseCaseRouteInput<UC>;
241
+ }) & BinderStatusOption<C> : unknown : unknown;
196
242
  /**
197
243
  * Element-wise binder validation for a route input list.
198
244
  */
@@ -230,6 +276,25 @@ export type RuntimeUseCaseRouteDef = {
230
276
  }) => unknown;
231
277
  status?: number;
232
278
  };
279
+ type UseCaseInputValidationFailure = Error & {
280
+ name: "UseCaseValidationError";
281
+ phase: "input";
282
+ useCaseName: string;
283
+ };
284
+ /**
285
+ * Internal framework error raised when a type-erased binder route produces an
286
+ * input that the bound use case rejects.
287
+ */
288
+ export declare class UseCaseRouteInputValidationError extends Error {
289
+ readonly code = "USE_CASE_INPUT_VALIDATION_ERROR";
290
+ readonly contractName: string;
291
+ readonly useCaseName: string;
292
+ constructor(args: {
293
+ contractName: string;
294
+ useCaseName: string;
295
+ cause: UseCaseInputValidationFailure;
296
+ });
297
+ }
233
298
  /**
234
299
  * Default input mapping for binder routes.
235
300
  *