kontract 0.3.0 → 0.4.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.
@@ -18,7 +18,7 @@
18
18
  */
19
19
  import type { TSchema, Static } from '@sinclair/typebox';
20
20
  import type { AnyResponse } from '../response/types.js';
21
- import type { HttpMethod, AuthLevel, ResponseDefinition } from '../metadata/types.js';
21
+ import type { HttpMethod, AuthLevel, ResponseDefinition, RequestHeader } from '../metadata/types.js';
22
22
  /**
23
23
  * Route string format: "METHOD /path"
24
24
  */
@@ -59,6 +59,15 @@ export interface RouteConfig<TRoute extends RouteString = RouteString, TBody ext
59
59
  query?: TQuery;
60
60
  /** Path parameters schema */
61
61
  params?: TParams;
62
+ /** Request headers (custom headers beyond Authorization) */
63
+ headers?: RequestHeader[];
64
+ /**
65
+ * Mark this route as multipart/form-data for file uploads.
66
+ * When true:
67
+ * - OpenAPI spec uses multipart/form-data content type
68
+ * - Body validation is skipped (files handled by framework's file upload mechanism)
69
+ */
70
+ multipart?: boolean;
62
71
  /** Response definitions by status code */
63
72
  responses: ResponsesConfig;
64
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"define-route.d.ts","sourceRoot":"","sources":["../../src/builder/define-route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define-route.d.ts","sourceRoot":"","sources":["../../src/builder/define-route.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"define-route.js","sourceRoot":"","sources":["../../src/builder/define-route.ts"],"names":[],"mappings":"AAmIA;;GAEG;AACH,SAAS,UAAU,CAAC,KAAkB;IACpC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,WAAW,EAAgB,CAAA;IACrE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;IACxC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AACvB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,SAA0B;IACpD,MAAM,UAAU,GAAuC,EAAE,CAAA;IAEzD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QAC/C,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC1D,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAA2B,CAAA;QAC1D,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAgB,EAAE,CAAA;QAC3D,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AACH,MAAM,UAAU,WAAW,CAMzB,MAAmD,EACnD,OAA8C;IAE9C,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAE/C,OAAO;QACL,MAAM,EAAE,OAAO;QACf,MAAM;QACN,IAAI,EAAE,IAAoC;QAC1C,MAAM;QACN,SAAS,EAAE,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC;QAC/C,OAAO;KACR,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;WACtB,KAAK,KAAK,IAAI;WACd,QAAQ,IAAI,KAAK;WAChB,KAA6B,CAAC,MAAM,KAAK,OAAO,CACrD,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"define-route.js","sourceRoot":"","sources":["../../src/builder/define-route.ts"],"names":[],"mappings":"AA4IA;;GAEG;AACH,SAAS,UAAU,CAAC,KAAkB;IACpC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,WAAW,EAAgB,CAAA;IACrE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;IACxC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AACvB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,SAA0B;IACpD,MAAM,UAAU,GAAuC,EAAE,CAAA;IAEzD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QAC/C,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC1D,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAA2B,CAAA;QAC1D,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAgB,EAAE,CAAA;QAC3D,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AACH,MAAM,UAAU,WAAW,CAMzB,MAAmD,EACnD,OAA8C;IAE9C,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAE/C,OAAO;QACL,MAAM,EAAE,OAAO;QACf,MAAM;QACN,IAAI,EAAE,IAAoC;QAC1C,MAAM;QACN,SAAS,EAAE,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC;QAC/C,OAAO;KACR,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;WACtB,KAAK,KAAK,IAAI;WACd,QAAQ,IAAI,KAAK;WAChB,KAA6B,CAAC,MAAM,KAAK,OAAO,CACrD,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-builder.d.ts","sourceRoot":"","sources":["../../src/builder/openapi-builder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAsB,MAAM,wBAAwB,CAAA;AACtF,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EAOf,MAAM,YAAY,CAAA;AAEnB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACpD;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;;OAGG;IACH,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;QAClC,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;IACD;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,IAAI,CAAwC;IACpD,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,EAAE,qBAAqB;IA8B1C;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI;IAKrD;;OAEG;IACH,KAAK,IAAI,eAAe;IAmBxB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAYhC;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAmJpB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA8BhC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqB5B;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAc3B"}
1
+ {"version":3,"file":"openapi-builder.d.ts","sourceRoot":"","sources":["../../src/builder/openapi-builder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAsB,MAAM,wBAAwB,CAAA;AACtF,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EAOf,MAAM,YAAY,CAAA;AAEnB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACpD;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;;OAGG;IACH,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;QAClC,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;IACD;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,IAAI,CAAwC;IACpD,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,EAAE,qBAAqB;IA8B1C;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI;IAKrD;;OAEG;IACH,KAAK,IAAI,eAAe;IAmBxB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAYhC;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAoKpB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA8BhC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqB5B;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAc3B"}
@@ -151,6 +151,20 @@ export class OpenApiBuilder {
151
151
  });
152
152
  }
153
153
  }
154
+ // Request headers
155
+ const headersConfig = routeConfig.headers;
156
+ if (headersConfig) {
157
+ for (const header of headersConfig) {
158
+ parameters.push({
159
+ name: header.name,
160
+ in: 'header',
161
+ required: header.required ?? false,
162
+ ...(header.description && { description: header.description }),
163
+ schema: this.toJsonSchema(header.schema),
164
+ ...(header.example && { example: header.example }),
165
+ });
166
+ }
167
+ }
154
168
  if (parameters.length > 0) {
155
169
  operation.parameters = parameters;
156
170
  }
@@ -158,11 +172,12 @@ export class OpenApiBuilder {
158
172
  if (routeConfig.body) {
159
173
  const schemaName = this.registerSchema(routeConfig.body);
160
174
  const bodyDescription = routeConfig.body.description;
175
+ const contentType = routeConfig.multipart ? 'multipart/form-data' : 'application/json';
161
176
  operation.requestBody = {
162
177
  required: true,
163
178
  ...(bodyDescription && { description: bodyDescription }),
164
179
  content: {
165
- 'application/json': {
180
+ [contentType]: {
166
181
  schema: { $ref: `#/components/schemas/${schemaName}` },
167
182
  },
168
183
  },
@@ -186,8 +201,9 @@ export class OpenApiBuilder {
186
201
  };
187
202
  if (typedResponse.schema !== null) {
188
203
  const schemaName = this.registerSchema(typedResponse.schema);
204
+ const responseContentType = typedResponse.contentType ?? 'application/json';
189
205
  openApiResponse.content = {
190
- 'application/json': {
206
+ [responseContentType]: {
191
207
  schema: { $ref: `#/components/schemas/${schemaName}` },
192
208
  ...(typedResponse.example !== undefined && { example: typedResponse.example }),
193
209
  ...(typedResponse.examples && { examples: this.formatExamples(typedResponse.examples) }),
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-builder.js","sourceRoot":"","sources":["../../src/builder/openapi-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi-builder.js","sourceRoot":"","sources":["../../src/builder/openapi-builder.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -26,7 +26,7 @@
26
26
  * export const usersController = defineController({ tag: 'Users' }, { getUser })
27
27
  * ```
28
28
  */
29
- export type { HttpMethod, AuthLevel, RouteString, ResponseDefinition, ResponseExample, ResponseHeader, FileUploadConfig, ApiMetadata, EndpointMetadata, ControllerMetadata, } from './metadata/types.js';
29
+ export type { HttpMethod, AuthLevel, RouteString, ResponseDefinition, ResponseExample, ResponseHeader, RequestHeader, FileUploadConfig, ApiMetadata, EndpointMetadata, ControllerMetadata, } from './metadata/types.js';
30
30
  export type { ApiResponse, BinaryResponse, AnyResponse, ApiErrorBody, ErrorCode, } from './response/types.js';
31
31
  export { isBinaryResponse, ErrorCodes } from './response/types.js';
32
32
  export { respond, ok, created, accepted, noContent, badRequest, unauthorized, forbidden, notFound, conflict, unprocessableEntity, tooManyRequests, internalServerError, badGateway, serviceUnavailable, binary, apiError, } from './response/helpers.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAyBH,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAElE,OAAO,EACL,OAAO,EACP,EAAE,EACF,OAAO,EACP,QAAQ,EACR,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,kBAAkB,EAClB,MAAM,EACN,QAAQ,GACT,MAAM,uBAAuB,CAAA;AAa9B,OAAO,EACL,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,YAAY,EACZ,WAAW,GACZ,MAAM,2BAA2B,CAAA;AAElC,mCAAmC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GAExB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,2BAA2B,CAAA;AA+BlC,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,GACtB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,GACd,MAAM,0BAA0B,CAAA;AAwBjC,OAAO,EAAE,cAAc,EAA8B,MAAM,8BAA8B,CAAA;AAEzF,0CAA0C;AAC1C,OAAO,EACL,WAAW,EACX,iBAAiB,GAKlB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,GAKpB,MAAM,gCAAgC,CAAA;AAEvC,qDAAqD;AACrD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAKhB,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AA0BH,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAElE,OAAO,EACL,OAAO,EACP,EAAE,EACF,OAAO,EACP,QAAQ,EACR,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,kBAAkB,EAClB,MAAM,EACN,QAAQ,GACT,MAAM,uBAAuB,CAAA;AAa9B,OAAO,EACL,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,YAAY,EACZ,WAAW,GACZ,MAAM,2BAA2B,CAAA;AAElC,mCAAmC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GAExB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,2BAA2B,CAAA;AA+BlC,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,GACtB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,GACd,MAAM,0BAA0B,CAAA;AAwBjC,OAAO,EAAE,cAAc,EAA8B,MAAM,8BAA8B,CAAA;AAEzF,0CAA0C;AAC1C,OAAO,EACL,WAAW,EACX,iBAAiB,GAKlB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,GAKpB,MAAM,gCAAgC,CAAA;AAEvC,qDAAqD;AACrD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAKhB,MAAM,0BAA0B,CAAA"}
@@ -35,6 +35,22 @@ export interface ResponseHeader {
35
35
  /** Whether this header is required (default: false) */
36
36
  required?: boolean;
37
37
  }
38
+ /**
39
+ * Request header definition for OpenAPI.
40
+ * Describes headers expected in the request.
41
+ */
42
+ export interface RequestHeader {
43
+ /** Header name (e.g., 'X-API-Key', 'X-Request-ID') */
44
+ name: string;
45
+ /** Header description */
46
+ description?: string;
47
+ /** Header schema (typically Type.String()) */
48
+ schema: TSchema;
49
+ /** Whether this header is required (default: false) */
50
+ required?: boolean;
51
+ /** Example value */
52
+ example?: string;
53
+ }
38
54
  /**
39
55
  * Response definition for an endpoint.
40
56
  * Generic parameter T is inferred from the schema for type-safe examples.
@@ -62,6 +78,12 @@ export interface ResponseDefinition<T extends TSchema | null = TSchema | null> {
62
78
  schema: T;
63
79
  /** Description of this response (for OpenAPI docs) */
64
80
  description?: string;
81
+ /**
82
+ * Content type for this response (default: 'application/json').
83
+ * Use 'application/octet-stream' for binary downloads,
84
+ * 'application/zip' for ZIP files, etc.
85
+ */
86
+ contentType?: string;
65
87
  /** Response headers */
66
88
  headers?: Record<string, ResponseHeader>;
67
89
  /** Multiple named examples (type-checked against schema) */
@@ -121,6 +143,8 @@ export interface EndpointMetadata {
121
143
  query?: TSchema;
122
144
  /** Path parameters schema */
123
145
  params?: TSchema;
146
+ /** Request headers (custom headers beyond Authorization) */
147
+ headers?: RequestHeader[];
124
148
  /** File upload configuration */
125
149
  file?: FileUploadConfig;
126
150
  /** Response definitions by status code */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/metadata/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/metadata/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kontract",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Framework-agnostic type-safe API contracts with TypeBox schema support",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",