temba 0.67.0 → 0.69.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.
@@ -59,6 +59,17 @@ type ExtendedResource = {
59
59
  type Resources = (ResourcePath | ExtendedResource)[];
60
60
  type OpenApiConfig = boolean | Record<string, unknown>;
61
61
  /** @internal */
62
+ export type RateLimitConfig = {
63
+ max: number;
64
+ windowMs: number;
65
+ trustProxy: boolean;
66
+ };
67
+ export type UserRateLimitConfig = false | {
68
+ max?: number;
69
+ windowMs?: number;
70
+ trustProxy?: boolean;
71
+ };
72
+ /** @internal */
62
73
  export type CorsConfig = {
63
74
  origin: string;
64
75
  methods: string;
@@ -92,6 +103,7 @@ export type Config = {
92
103
  openapi: OpenApiConfig;
93
104
  webSocket: boolean;
94
105
  cors: CorsConfig;
106
+ rateLimit: RateLimitConfig | false;
95
107
  isTesting: boolean;
96
108
  implementations: Implementations | null;
97
109
  };
@@ -112,6 +124,7 @@ export type UserConfig = {
112
124
  openapi?: OpenApiConfig;
113
125
  webSocket?: boolean;
114
126
  cors?: UserCorsConfig;
127
+ rateLimit?: UserRateLimitConfig;
115
128
  isTesting?: boolean;
116
129
  implementations?: Implementations;
117
130
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,KAAK,YAAY,GAAG,MAAM,CAAA;AAE1B,MAAM,MAAM,gBAAgB;AAC1B,kDAAkD;AAChD;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE;AACpB,kEAAkE;GAChE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AACpC,2DAA2D;GACzD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACpC,uBAAuB;GACrB;IACE,IAAI,EAAE,SAAS,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qBAAqB;IACrB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8CAA8C;IAC9C,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,sEAAsE;IACtE,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wCAAwC;IACxC,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAEL,KAAK,gBAAgB,GAAG;IACtB,YAAY,EAAE,YAAY,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,KAAK,SAAS,GAAG,CAAC,YAAY,GAAG,gBAAgB,CAAC,EAAE,CAAA;AAEpD,KAAK,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEtD,gBAAgB;AAChB,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,MAAM,GAAG;IACnB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAC7C,uBAAuB,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACvD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAA;IAClD,gBAAgB,EAAE,OAAO,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACjC,qBAAqB,EAAE,OAAO,CAAA;IAC9B,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,aAAa,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;IAEhB,SAAS,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAA;CACxC,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,SAAS,GAAG,MAAM,MAAM,CAAA;AAEpC,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAA;IAC5C,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,CAAC,EAAE,cAAc,CAAA;IAGrB,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CAAA;AA8BD,eAAO,MAAM,UAAU,GAAI,aAAa,UAAU,KAAG,MA4GpD,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SAAyC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ const defaultConfig = {
13
13
  etagsEnabled: false,
14
14
  openapi: true,
15
15
  webSocket: false,
16
+ rateLimit: { max: 100, windowMs: 60_000, trustProxy: false },
16
17
  cors: {
17
18
  origin: '*',
18
19
  methods: 'GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS',
@@ -105,6 +106,19 @@ export const initConfig = (userConfig) => {
105
106
  if (userConfig.cors) {
106
107
  config.cors = { ...config.cors, ...userConfig.cors };
107
108
  }
109
+ if (!isUndefined(userConfig.rateLimit)) {
110
+ if (userConfig.rateLimit === false) {
111
+ config.rateLimit = false;
112
+ }
113
+ else {
114
+ const defaults = config.rateLimit;
115
+ config.rateLimit = {
116
+ max: userConfig.rateLimit.max ?? defaults.max,
117
+ windowMs: userConfig.rateLimit.windowMs ?? defaults.windowMs,
118
+ trustProxy: userConfig.rateLimit.trustProxy ?? defaults.trustProxy,
119
+ };
120
+ }
121
+ }
108
122
  return config;
109
123
  };
110
124
  export const isUndefined = (value) => typeof value === 'undefined';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -29,10 +29,10 @@ export declare const create: (userConfig?: UserConfig) => Promise<{
29
29
  start: () => import("node:http").Server<typeof import("node:http").IncomingMessage, typeof import("node:http").ServerResponse> | undefined;
30
30
  server: import("node:http").Server<typeof import("node:http").IncomingMessage, typeof import("node:http").ServerResponse>;
31
31
  }>;
32
- export type { UserConfig, UserCorsConfig, DataSourceConfig } from './config/index.js';
33
- export type { RequestInterceptor, InterceptedGetRequest, InterceptedPostRequest, InterceptedPatchRequest, InterceptedPutRequest, InterceptedDeleteRequest, InterceptedReturnValue, RequestType, ResourceRequestType, NonResourceRequestType, } from './requestInterceptor/types.js';
34
- export type { ResourceActions, NonResourceActions, InterceptorAction, SetRequestBodyAction, ResponseAction, } from './requestInterceptor/interceptorActions.js';
35
- export type { ResponseBodyInterceptor, InterceptedResponse } from './responseBodyInterceptor/types.js';
32
+ export type { DataSourceConfig, UserConfig, UserCorsConfig, UserRateLimitConfig } from './config/index.js';
33
+ export type { InterceptedDeleteRequest, InterceptedGetRequest, InterceptedPatchRequest, InterceptedPostRequest, InterceptedPutRequest, InterceptedReturnValue, NonResourceRequestType, RequestInterceptor, RequestType, ResourceRequestType, } from './requestInterceptor/types.js';
34
+ export type { InterceptorAction, NonResourceActions, ResourceActions, ResponseAction, SetRequestBodyAction, } from './requestInterceptor/interceptorActions.js';
35
+ export type { InterceptedResponse, ResponseBodyInterceptor } from './responseBodyInterceptor/types.js';
36
36
  export type { ConfiguredSchemas } from './schema/types.js';
37
37
  export type { Item } from './data/types.js';
38
38
  export type { MaybePromise } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AAwKtD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,MAAM,GAAI,aAAa,UAAU;;;EAA6B,CAAA;AAG3E,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAG5E,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,4BAA4B,CAAA;AAGnC,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,GACf,MAAM,yCAAyC,CAAA;AAGhD,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAGnG,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGvD,YAAY,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAGxC,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AAsMtD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,MAAM,GAAI,aAAa,UAAU;;;EAA6B,CAAA;AAG3E,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAGjG,YAAY,EACV,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,mBAAmB,GACpB,MAAM,4BAA4B,CAAA;AAGnC,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,oBAAoB,GACrB,MAAM,yCAAyC,CAAA;AAGhD,YAAY,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAGnG,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGvD,YAAY,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAGxC,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA"}
package/dist/index.js CHANGED
@@ -4,10 +4,11 @@ import { createQueries } from './data/queries.js';
4
4
  import { getDefaultImplementations } from './implementations.js';
5
5
  import { getHttpLogger, initLogger } from './log/logger.js';
6
6
  import { createOpenApiHandler, getOpenApiPaths } from './openapi/index.js';
7
+ import { createRateLimiter } from './rateLimit/rateLimit.js';
8
+ import { handleOptionsRequest } from './requestHandlers/optionsHandler.js';
7
9
  import { interceptNonResourceGetRequest } from './requestInterceptor/interceptRequest.js';
8
10
  import { createResourceHandler } from './resourceHandler.js';
9
- import { handleMethodNotAllowed, handleNotFound, sendErrorResponse, sendResponse, } from './responseHandler.js';
10
- import { handleOptionsRequest } from './requestHandlers/optionsHandler.js';
11
+ import { handleMethodNotAllowed, handleNotFound, handleTooManyRequests, sendErrorResponse, sendResponse, } from './responseHandler.js';
11
12
  import { createRootUrlHandler } from './root/root.js';
12
13
  import { compileSchemas } from './schema/compile.js';
13
14
  import { handleStaticFolder } from './staticFolder/staticFolder.js';
@@ -29,9 +30,22 @@ const createServer = async (userConfig) => {
29
30
  : null;
30
31
  // Now create the resource handler with the broadcast function
31
32
  const handleResource = await createResourceHandler(queries, schemas, config, broadcast);
33
+ const rateLimiter = config.rateLimit ? createRateLimiter(config.rateLimit) : null;
34
+ server.on('close', () => rateLimiter?.stop());
32
35
  const REQUEST_TIMEOUT_MS = 30_000;
33
36
  // Set up the request handler
34
37
  server.on('request', (req, res) => {
38
+ if (rateLimiter) {
39
+ const ip = config.rateLimit && config.rateLimit.trustProxy
40
+ ? (req.headers['x-forwarded-for']?.toString().split(',')[0]?.trim() ??
41
+ req.socket.remoteAddress ??
42
+ 'unknown')
43
+ : (req.socket.remoteAddress ?? 'unknown');
44
+ const result = rateLimiter.check(ip);
45
+ if (!result.allowed) {
46
+ return handleTooManyRequests(res, config.cors, result.retryAfter);
47
+ }
48
+ }
35
49
  const implementations = getDefaultImplementations(config);
36
50
  httpLogger(req, res, (err) => {
37
51
  if (err)
@@ -104,8 +118,10 @@ const createServer = async (userConfig) => {
104
118
  sendErrorResponse(res, 503, 'Request timed out', config.cors);
105
119
  }, REQUEST_TIMEOUT_MS);
106
120
  handleRequest()
107
- .catch(() => { if (!res.headersSent)
108
- sendErrorResponse(res, 500, 'Internal Server Error', config.cors); })
121
+ .catch(() => {
122
+ if (!res.headersSent)
123
+ sendErrorResponse(res, 500, 'Internal Server Error', config.cors);
124
+ })
109
125
  .finally(() => clearTimeout(timeoutId));
110
126
  });
111
127
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../src/openapi/spec.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,CAAA;AAsiBpC,eAAO,MAAM,OAAO,GAClB,QAAQ,MAAM,EACd,SAAS;IACP,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,aAAa,CAAA;CACtB,WA+DF,CAAA"}
1
+ {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../src/openapi/spec.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,CAAA;AAwrBpC,eAAO,MAAM,OAAO,GAClB,QAAQ,MAAM,EACd,SAAS;IACP,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,aAAa,CAAA;CACtB,WA+DF,CAAA"}
@@ -57,6 +57,72 @@ const getEtagHeader = () => ({
57
57
  },
58
58
  },
59
59
  });
60
+ /**
61
+ * Helper to define the If-Match header parameter for conditional write requests
62
+ */
63
+ const getIfMatchParameter = () => ({
64
+ name: 'If-Match',
65
+ in: 'header',
66
+ required: true,
67
+ schema: {
68
+ type: 'string',
69
+ },
70
+ description: 'The entity tag (ETag) of the resource. Required when ETags are enabled; the update or delete is only applied if this matches the current version.',
71
+ });
72
+ /**
73
+ * Query parameter for LHS bracket filtering on collection endpoints.
74
+ * Field names are user-defined so we use a free-form deepObject schema.
75
+ */
76
+ const filterQueryParameter = {
77
+ name: 'filter',
78
+ in: 'query',
79
+ required: false,
80
+ style: 'deepObject',
81
+ explode: true,
82
+ schema: {
83
+ type: 'object',
84
+ additionalProperties: {
85
+ type: 'string',
86
+ },
87
+ },
88
+ description: 'Filter results using LHS bracket syntax, e.g. `filter.name[eq]=Alice` or `filter.age[gt]=18`. ' +
89
+ 'Supported operators: `eq`, `neq`, `contains`, `startsWith`, `endsWith`, `gt`, `gte`, `lt`, `lte`, `in`, `nin`, `exists`, `regex`. ' +
90
+ 'Omitting the operator defaults to `eq`. String matching is case-insensitive.',
91
+ };
92
+ const malformedFilterResponse = {
93
+ '400': {
94
+ description: 'The filter expression is malformed.',
95
+ content: {
96
+ 'application/json': {
97
+ schema: defaultErrorResponseBodySchema,
98
+ examples: {
99
+ MalformedFilter: {
100
+ value: {
101
+ message: 'Malformed filter expression',
102
+ },
103
+ },
104
+ },
105
+ },
106
+ },
107
+ },
108
+ };
109
+ const preconditionFailedResponse = {
110
+ '412': {
111
+ description: 'Precondition failed. The ETag does not match the current version of the resource.',
112
+ content: {
113
+ 'application/json': {
114
+ schema: defaultErrorResponseBodySchema,
115
+ examples: {
116
+ PreconditionFailed: {
117
+ value: {
118
+ message: 'Precondition failed',
119
+ },
120
+ },
121
+ },
122
+ },
123
+ },
124
+ },
125
+ };
60
126
  const getPathParameters = (config, resourceInfo, id = false) => {
61
127
  const { resource, singularResourceLowerCase } = resourceInfo;
62
128
  let parameters = [];
@@ -114,6 +180,14 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
114
180
  if (!config.returnNullFields) {
115
181
  apiDescription += '\n\nAny fields with `null` values are omitted in all API responses.';
116
182
  }
183
+ if (config.requestInterceptor) {
184
+ apiDescription +=
185
+ '\n\nA request interceptor is configured. Some operations may return different status codes or response bodies than documented here.';
186
+ }
187
+ if (config.responseBodyInterceptor) {
188
+ apiDescription +=
189
+ '\n\nA response body interceptor is configured. GET response bodies may differ from the schemas documented here.';
190
+ }
117
191
  const builder = OpenApiBuilder.create()
118
192
  .addOpenApiVersion('3.1.0')
119
193
  .addInfo({
@@ -153,6 +227,48 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
153
227
  tags: ['API'],
154
228
  },
155
229
  });
230
+ if (config.webSocket) {
231
+ builder.addTag({
232
+ name: 'WebSocket',
233
+ description: 'Real-time updates via WebSocket',
234
+ });
235
+ builder.addPath('/ws', {
236
+ get: {
237
+ summary: 'WebSocket connection',
238
+ description: 'Connect to the WebSocket server to receive real-time broadcast messages whenever a resource is created, updated, or deleted.\n\n' +
239
+ 'Use a WebSocket client and connect to `ws://<host>/ws` (or `wss://` for HTTPS hosts).\n\n' +
240
+ 'Each broadcast message is a JSON object with the following shape:\n\n' +
241
+ '```json\n' +
242
+ '{ "resource": "movies", "action": "CREATE", "data": { "id": "123", ... } }\n' +
243
+ '```\n\n' +
244
+ 'Possible `action` values: `"CREATE"`, `"UPDATE"`, `"DELETE"`, `"DELETE_ALL"`. ' +
245
+ 'For `"DELETE_ALL"` the `data` property is omitted.',
246
+ operationId: 'connectWebSocket',
247
+ parameters: [
248
+ {
249
+ name: 'Connection',
250
+ in: 'header',
251
+ required: true,
252
+ schema: { type: 'string', enum: ['Upgrade'] },
253
+ description: 'Must be set to `Upgrade`.',
254
+ },
255
+ {
256
+ name: 'Upgrade',
257
+ in: 'header',
258
+ required: true,
259
+ schema: { type: 'string', enum: ['websocket'] },
260
+ description: 'Must be set to `websocket`.',
261
+ },
262
+ ],
263
+ responses: {
264
+ '101': {
265
+ description: 'Switching protocols — WebSocket connection established. The server will now push broadcast messages for all resource changes.',
266
+ },
267
+ },
268
+ tags: ['WebSocket'],
269
+ },
270
+ });
271
+ }
156
272
  resourceInfos.forEach((resourceInfo) => {
157
273
  const { resource, pluralResourceLowerCase, pluralResourceUpperCase, singularResourceLowerCase, singularResourceUpperCase, } = resourceInfo;
158
274
  builder.addTag(resourceInfo.tag);
@@ -170,7 +286,7 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
170
286
  description: `List all ${pluralResourceLowerCase}.`,
171
287
  summary: `List all ${pluralResourceLowerCase}`,
172
288
  operationId: `getAll${pluralResourceUpperCase}`,
173
- parameters: getPathParameters(config, resourceInfo),
289
+ parameters: [...getPathParameters(config, resourceInfo), filterQueryParameter],
174
290
  responses: {
175
291
  '200': {
176
292
  description: `List of all ${pluralResourceLowerCase}.${nullFieldsRemark()}`,
@@ -184,6 +300,7 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
184
300
  },
185
301
  },
186
302
  },
303
+ ...malformedFilterResponse,
187
304
  },
188
305
  tags: [resourceInfo.tag.name],
189
306
  },
@@ -243,17 +360,24 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
243
360
  ? `Delete all ${pluralResourceLowerCase}.`
244
361
  : 'Deleting whole collections is disabled. Enable by setting `allowDeleteCollection` to `true`.',
245
362
  operationId: `deleteAll${pluralResourceUpperCase}`,
246
- parameters: getPathParameters(config, resourceInfo),
363
+ parameters: [
364
+ ...getPathParameters(config, resourceInfo),
365
+ filterQueryParameter,
366
+ ...(config.etagsEnabled && config.allowDeleteCollection ? [getIfMatchParameter()] : []),
367
+ ],
247
368
  responses: config.allowDeleteCollection
248
369
  ? {
249
370
  '204': {
250
371
  description: `All ${pluralResourceLowerCase} were deleted.`,
251
372
  },
373
+ ...malformedFilterResponse,
374
+ ...(config.etagsEnabled ? preconditionFailedResponse : {}),
252
375
  }
253
376
  : {
254
377
  '405': {
255
378
  description: `Method not allowed`,
256
379
  },
380
+ ...malformedFilterResponse,
257
381
  },
258
382
  tags: [resourceInfo.tag.name],
259
383
  },
@@ -387,7 +511,10 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
387
511
  summary: `Replace ${indefinite(singularResourceLowerCase)}`,
388
512
  description: `Replace ${indefinite(singularResourceLowerCase)}.`,
389
513
  operationId: `replace${singularResourceUpperCase}`,
390
- parameters: getPathParameters(config, resourceInfo, true),
514
+ parameters: [
515
+ ...getPathParameters(config, resourceInfo, true),
516
+ ...(config.etagsEnabled ? [getIfMatchParameter()] : []),
517
+ ],
391
518
  requestBody: getRequestBodySchema(config.schemas?.[resource]?.put),
392
519
  responses: {
393
520
  '200': {
@@ -427,6 +554,7 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
427
554
  },
428
555
  },
429
556
  },
557
+ ...(config.etagsEnabled ? preconditionFailedResponse : {}),
430
558
  },
431
559
  tags: [resourceInfo.tag.name],
432
560
  },
@@ -434,7 +562,10 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
434
562
  summary: `Update ${indefinite(singularResourceLowerCase)}`,
435
563
  description: `Update ${indefinite(singularResourceLowerCase)}.`,
436
564
  operationId: `update${singularResourceUpperCase}`,
437
- parameters: getPathParameters(config, resourceInfo, true),
565
+ parameters: [
566
+ ...getPathParameters(config, resourceInfo, true),
567
+ ...(config.etagsEnabled ? [getIfMatchParameter()] : []),
568
+ ],
438
569
  requestBody: getRequestBodySchema(config.schemas?.[resource]?.patch),
439
570
  responses: {
440
571
  '200': {
@@ -474,6 +605,7 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
474
605
  },
475
606
  },
476
607
  },
608
+ ...(config.etagsEnabled ? preconditionFailedResponse : {}),
477
609
  },
478
610
  tags: [resourceInfo.tag.name],
479
611
  },
@@ -481,11 +613,15 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
481
613
  summary: `Delete ${indefinite(singularResourceLowerCase)}`,
482
614
  description: `Delete ${indefinite(singularResourceLowerCase)}.`,
483
615
  operationId: `delete${singularResourceUpperCase}`,
484
- parameters: getPathParameters(config, resourceInfo, true),
616
+ parameters: [
617
+ ...getPathParameters(config, resourceInfo, true),
618
+ ...(config.etagsEnabled ? [getIfMatchParameter()] : []),
619
+ ],
485
620
  responses: {
486
621
  '204': {
487
622
  description: `The ${singularResourceLowerCase} was deleted.`,
488
623
  },
624
+ ...(config.etagsEnabled ? preconditionFailedResponse : {}),
489
625
  },
490
626
  tags: [resourceInfo.tag.name],
491
627
  },
@@ -1 +1 @@
1
- {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/openapi/spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/openapi/spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { RateLimitConfig } from '../config/index.js';
2
+ export type RateLimitResult = {
3
+ allowed: true;
4
+ } | {
5
+ allowed: false;
6
+ retryAfter: number;
7
+ };
8
+ export type RateLimiter = {
9
+ check: (ip: string) => RateLimitResult;
10
+ stop: () => void;
11
+ };
12
+ export declare const createRateLimiter: (config: RateLimitConfig) => RateLimiter;
13
+ //# sourceMappingURL=rateLimit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rateLimit.d.ts","sourceRoot":"","sources":["../../src/rateLimit/rateLimit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAOhD,MAAM,MAAM,eAAe,GACvB;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GACjB;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1C,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,eAAe,CAAA;IACtC,IAAI,EAAE,MAAM,IAAI,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,QAAQ,eAAe,KAAG,WAoC3D,CAAA"}
@@ -0,0 +1,33 @@
1
+ export const createRateLimiter = (config) => {
2
+ const windows = new Map();
3
+ const timer = setInterval(() => {
4
+ const now = Date.now();
5
+ for (const [ip, entry] of windows) {
6
+ if (now >= entry.resetAt)
7
+ windows.delete(ip);
8
+ }
9
+ }, config.windowMs).unref();
10
+ let stopped = false;
11
+ const stop = () => {
12
+ if (stopped)
13
+ return;
14
+ stopped = true;
15
+ clearInterval(timer);
16
+ };
17
+ const check = (ip) => {
18
+ const now = Date.now();
19
+ const entry = windows.get(ip);
20
+ if (!entry || now >= entry.resetAt) {
21
+ windows.set(ip, { count: 1, resetAt: now + config.windowMs });
22
+ return { allowed: true };
23
+ }
24
+ if (entry.count >= config.max) {
25
+ const retryAfter = Math.ceil((entry.resetAt - now) / 1000);
26
+ return { allowed: false, retryAfter };
27
+ }
28
+ entry.count++;
29
+ return { allowed: true };
30
+ };
31
+ return { check, stop };
32
+ };
33
+ //# sourceMappingURL=rateLimit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rateLimit.js","sourceRoot":"","sources":["../../src/rateLimit/rateLimit.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAuB,EAAe,EAAE;IACxE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAA;IAE9C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YAClC,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO;gBAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAA;IAE3B,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,OAAO;YAAE,OAAM;QACnB,OAAO,GAAG,IAAI,CAAA;QACd,aAAa,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,CAAC,EAAU,EAAmB,EAAE;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAE7B,IAAI,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC1B,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;YAC1D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAA;QACvC,CAAC;QAED,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC,CAAA;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AACxB,CAAC,CAAA"}
@@ -11,4 +11,5 @@ export declare const sendResponse: (res: ServerResponse<IncomingMessage>, cors:
11
11
  export declare const sendErrorResponse: (res: ServerResponse<IncomingMessage>, statusCode: number | undefined, message: string | undefined, cors: CorsConfig) => void;
12
12
  export declare const handleMethodNotAllowed: (res: ServerResponse<IncomingMessage>, cors: CorsConfig) => void;
13
13
  export declare const handleNotFound: (res: ServerResponse<IncomingMessage>, cors: CorsConfig) => void;
14
+ export declare const handleTooManyRequests: (res: ServerResponse<IncomingMessage>, cors: CorsConfig, retryAfter: number) => void;
14
15
  //# sourceMappingURL=responseHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"responseHandler.d.ts","sourceRoot":"","sources":["../src/responseHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAEnD,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,YAAY,GACtB,KAAK,cAAc,CAAC,eAAe,CAAC,EAAE,MAAM,UAAU,MAAM,UAAU,QAAQ,SA+B9E,CAAA;AAEH,eAAO,MAAM,iBAAiB,GAC5B,KAAK,cAAc,CAAC,eAAe,CAAC,EACpC,YAAY,MAAM,YAAM,EACxB,SAAS,MAAM,YAA0B,EACzC,MAAM,UAAU,SASjB,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,KAAK,cAAc,CAAC,eAAe,CAAC,EAAE,MAAM,UAAU,SAE5F,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,cAAc,CAAC,eAAe,CAAC,EAAE,MAAM,UAAU,SAEpF,CAAA"}
1
+ {"version":3,"file":"responseHandler.d.ts","sourceRoot":"","sources":["../src/responseHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAEnD,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,YAAY,GACtB,KAAK,cAAc,CAAC,eAAe,CAAC,EAAE,MAAM,UAAU,MAAM,UAAU,QAAQ,SA+B9E,CAAA;AAEH,eAAO,MAAM,iBAAiB,GAC5B,KAAK,cAAc,CAAC,eAAe,CAAC,EACpC,YAAY,MAAM,YAAM,EACxB,SAAS,MAAM,YAA0B,EACzC,MAAM,UAAU,SASjB,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,KAAK,cAAc,CAAC,eAAe,CAAC,EAAE,MAAM,UAAU,SAE5F,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,cAAc,CAAC,eAAe,CAAC,EAAE,MAAM,UAAU,SAEpF,CAAA;AAED,eAAO,MAAM,qBAAqB,GAChC,KAAK,cAAc,CAAC,eAAe,CAAC,EACpC,MAAM,UAAU,EAChB,YAAY,MAAM,SAUnB,CAAA"}
@@ -38,4 +38,11 @@ export const handleMethodNotAllowed = (res, cors) => {
38
38
  export const handleNotFound = (res, cors) => {
39
39
  sendErrorResponse(res, 404, 'Not Found', cors);
40
40
  };
41
+ export const handleTooManyRequests = (res, cors, retryAfter) => {
42
+ sendResponse(res, cors)({
43
+ statusCode: 429,
44
+ headers: { 'Retry-After': String(retryAfter) },
45
+ body: { message: 'Too many requests' },
46
+ });
47
+ };
41
48
  //# sourceMappingURL=responseHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"responseHandler.js","sourceRoot":"","sources":["../src/responseHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAU5C,MAAM,CAAC,MAAM,YAAY,GACvB,CAAC,GAAoC,EAAE,IAAgB,EAAE,EAAE,CAAC,CAAC,QAAkB,EAAE,EAAE;IACjF,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;IAEpC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACxD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC5D,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,GACR,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjE,CAAC,CAAC,QAAQ,CAAC,IAAI;YACf,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAEnC,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;QACrD,CAAC;aAAM,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;QAC7C,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;QACnD,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC;IAED,GAAG,CAAC,GAAG,EAAE,CAAA;AACX,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,GAAoC,EACpC,aAAqB,GAAG,EACxB,UAAkB,uBAAuB,EACzC,IAAgB,EAChB,EAAE;IACF,YAAY,CACV,GAAG,EACH,IAAI,CACL,CAAC;QACA,UAAU;QACV,IAAI,EAAE,EAAE,OAAO,EAAE;KAClB,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAoC,EAAE,IAAgB,EAAE,EAAE;IAC/F,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAA;AACzD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAoC,EAAE,IAAgB,EAAE,EAAE;IACvF,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;AAChD,CAAC,CAAA"}
1
+ {"version":3,"file":"responseHandler.js","sourceRoot":"","sources":["../src/responseHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAU5C,MAAM,CAAC,MAAM,YAAY,GACvB,CAAC,GAAoC,EAAE,IAAgB,EAAE,EAAE,CAAC,CAAC,QAAkB,EAAE,EAAE;IACjF,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;IAEpC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACxD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC5D,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,GACR,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjE,CAAC,CAAC,QAAQ,CAAC,IAAI;YACf,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAEnC,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;QACrD,CAAC;aAAM,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;QAC7C,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;QACnD,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC;IAED,GAAG,CAAC,GAAG,EAAE,CAAA;AACX,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,GAAoC,EACpC,aAAqB,GAAG,EACxB,UAAkB,uBAAuB,EACzC,IAAgB,EAChB,EAAE;IACF,YAAY,CACV,GAAG,EACH,IAAI,CACL,CAAC;QACA,UAAU;QACV,IAAI,EAAE,EAAE,OAAO,EAAE;KAClB,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAoC,EAAE,IAAgB,EAAE,EAAE;IAC/F,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAA;AACzD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAoC,EAAE,IAAgB,EAAE,EAAE;IACvF,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;AAChD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,GAAoC,EACpC,IAAgB,EAChB,UAAkB,EAClB,EAAE;IACF,YAAY,CACV,GAAG,EACH,IAAI,CACL,CAAC;QACA,UAAU,EAAE,GAAG;QACf,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE;QAC9C,IAAI,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE;KACvC,CAAC,CAAA;AACJ,CAAC,CAAA"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "0.67.0";
1
+ export declare const version = "0.69.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const version = "0.67.0";
1
+ export const version = "0.69.0";
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "temba",
3
- "version": "0.67.0",
3
+ "version": "0.69.0",
4
4
  "description": "Create a simple REST API with zero coding in less than 30 seconds (seriously).",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",