@geekmidas/constructs 1.0.3 → 1.0.5

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 (73) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/{EndpointFactory-B6fUZPhx.cjs → EndpointFactory-B0D6d6t9.cjs} +4 -4
  3. package/dist/EndpointFactory-B0D6d6t9.cjs.map +1 -0
  4. package/dist/{EndpointFactory-Bj7vHtT6.d.mts → EndpointFactory-B29PiUhj.d.mts} +4 -4
  5. package/dist/EndpointFactory-B29PiUhj.d.mts.map +1 -0
  6. package/dist/{EndpointFactory-C1miOYUW.d.cts → EndpointFactory-CVT9quQD.d.cts} +4 -4
  7. package/dist/EndpointFactory-CVT9quQD.d.cts.map +1 -0
  8. package/dist/{EndpointFactory-CyM-gSew.mjs → EndpointFactory-Do498RmG.mjs} +4 -4
  9. package/dist/EndpointFactory-Do498RmG.mjs.map +1 -0
  10. package/dist/{HonoEndpointAdaptor-vI3LPiyu.d.cts → HonoEndpointAdaptor-BCql3gLP.d.cts} +3 -3
  11. package/dist/{HonoEndpointAdaptor-C7BBBYuU.d.mts.map → HonoEndpointAdaptor-BCql3gLP.d.cts.map} +1 -1
  12. package/dist/{HonoEndpointAdaptor-C7BBBYuU.d.mts → HonoEndpointAdaptor-BMNAai8a.d.mts} +3 -3
  13. package/dist/{HonoEndpointAdaptor-vI3LPiyu.d.cts.map → HonoEndpointAdaptor-BMNAai8a.d.mts.map} +1 -1
  14. package/dist/adaptors/aws.d.cts +1 -1
  15. package/dist/adaptors/aws.d.mts +1 -1
  16. package/dist/adaptors/hono.d.cts +2 -2
  17. package/dist/adaptors/hono.d.mts +2 -2
  18. package/dist/adaptors/testing.d.cts +1 -1
  19. package/dist/adaptors/testing.d.mts +1 -1
  20. package/dist/crons/Cron.d.cts +1 -1
  21. package/dist/crons/Cron.d.mts +1 -1
  22. package/dist/crons/CronBuilder.d.cts +1 -1
  23. package/dist/crons/CronBuilder.d.mts +1 -1
  24. package/dist/crons/index.d.cts +5 -5
  25. package/dist/crons/index.d.mts +1 -1
  26. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +1 -1
  27. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +1 -1
  28. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +1 -1
  29. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +1 -1
  30. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +1 -1
  31. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +1 -1
  32. package/dist/endpoints/Endpoint.d.cts +1 -1
  33. package/dist/endpoints/Endpoint.d.mts +1 -1
  34. package/dist/endpoints/EndpointBuilder.d.cts +1 -1
  35. package/dist/endpoints/EndpointBuilder.d.mts +1 -1
  36. package/dist/endpoints/EndpointFactory.cjs +1 -1
  37. package/dist/endpoints/EndpointFactory.d.cts +2 -2
  38. package/dist/endpoints/EndpointFactory.d.mts +2 -2
  39. package/dist/endpoints/EndpointFactory.mjs +1 -1
  40. package/dist/endpoints/HonoEndpointAdaptor.d.cts +2 -2
  41. package/dist/endpoints/HonoEndpointAdaptor.d.mts +2 -2
  42. package/dist/endpoints/TestEndpointAdaptor.d.cts +1 -1
  43. package/dist/endpoints/TestEndpointAdaptor.d.mts +1 -1
  44. package/dist/endpoints/audit.d.cts +1 -1
  45. package/dist/endpoints/audit.d.mts +1 -1
  46. package/dist/endpoints/helpers.d.cts +1 -1
  47. package/dist/endpoints/helpers.d.mts +1 -1
  48. package/dist/endpoints/index.cjs +1 -1
  49. package/dist/endpoints/index.d.cts +4 -4
  50. package/dist/endpoints/index.d.mts +4 -4
  51. package/dist/endpoints/index.mjs +1 -1
  52. package/dist/endpoints/lazyAccessors.d.cts +1 -1
  53. package/dist/endpoints/lazyAccessors.d.mts +1 -1
  54. package/dist/endpoints/processAudits.d.cts +1 -1
  55. package/dist/endpoints/processAudits.d.mts +1 -1
  56. package/dist/endpoints/rls.d.cts +1 -1
  57. package/dist/endpoints/rls.d.mts +1 -1
  58. package/dist/functions/index.d.cts +1 -1
  59. package/dist/functions/index.d.mts +1 -1
  60. package/dist/index-0bHR_AbP.d.cts +12 -0
  61. package/dist/{index-BRZODuxf.d.mts.map → index-0bHR_AbP.d.cts.map} +1 -1
  62. package/dist/index-DHGtpWKA.d.mts +12 -0
  63. package/dist/{index-BRbGNZpa.d.cts.map → index-DHGtpWKA.d.mts.map} +1 -1
  64. package/dist/subscribers/index.d.mts +2 -2
  65. package/dist/subscribers/index.d.mts.map +1 -1
  66. package/package.json +11 -11
  67. package/src/endpoints/EndpointFactory.ts +15 -12
  68. package/dist/EndpointFactory-B6fUZPhx.cjs.map +0 -1
  69. package/dist/EndpointFactory-Bj7vHtT6.d.mts.map +0 -1
  70. package/dist/EndpointFactory-C1miOYUW.d.cts.map +0 -1
  71. package/dist/EndpointFactory-CyM-gSew.mjs.map +0 -1
  72. package/dist/index-BRZODuxf.d.mts +0 -12
  73. package/dist/index-BRbGNZpa.d.cts +0 -12
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @geekmidas/constructs
2
2
 
3
+ ## 1.0.5
4
+
5
+ ### Patch Changes
6
+
7
+ - ⬆️ [`53c39a0`](https://github.com/geekmidas/toolbox/commit/53c39a0ed9244be6ca2ff6ec8e39138a0fc88692) Thanks [@geekmidas](https://github.com/geekmidas)! - Update RLS types
8
+
9
+ ## 1.0.4
10
+
11
+ ### Patch Changes
12
+
13
+ - 🐛 [`05a6302`](https://github.com/geekmidas/toolbox/commit/05a6302a37ef2285aaf07ee46eeb9135ed658a68) Thanks [@geekmidas](https://github.com/geekmidas)! - Fix lambda function generator to use correct adaptor import
14
+
3
15
  ## 1.0.3
4
16
 
5
17
  ### Patch Changes
@@ -187,7 +187,7 @@ var EndpointFactory = class EndpointFactory {
187
187
  defaultDatabaseService: this.defaultDatabaseService,
188
188
  defaultActorExtractor: this.defaultActorExtractor,
189
189
  customSecuritySchemes: this.customSecuritySchemes,
190
- defaultRlsConfig: void 0
190
+ defaultRlsConfig: this.defaultRlsConfig
191
191
  });
192
192
  }
193
193
  logger(logger) {
@@ -204,7 +204,7 @@ var EndpointFactory = class EndpointFactory {
204
204
  defaultDatabaseService: this.defaultDatabaseService,
205
205
  defaultActorExtractor: this.defaultActorExtractor,
206
206
  customSecuritySchemes: this.customSecuritySchemes,
207
- defaultRlsConfig: void 0
207
+ defaultRlsConfig: this.defaultRlsConfig
208
208
  });
209
209
  }
210
210
  publisher(publisher) {
@@ -238,7 +238,7 @@ var EndpointFactory = class EndpointFactory {
238
238
  defaultDatabaseService: this.defaultDatabaseService,
239
239
  defaultActorExtractor: this.defaultActorExtractor,
240
240
  customSecuritySchemes: this.customSecuritySchemes,
241
- defaultRlsConfig: void 0
241
+ defaultRlsConfig: this.defaultRlsConfig
242
242
  });
243
243
  }
244
244
  /**
@@ -390,4 +390,4 @@ Object.defineProperty(exports, 'e', {
390
390
  return e;
391
391
  }
392
392
  });
393
- //# sourceMappingURL=EndpointFactory-B6fUZPhx.cjs.map
393
+ //# sourceMappingURL=EndpointFactory-B0D6d6t9.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointFactory-B0D6d6t9.cjs","names":["ConsoleLogger","path: P","basePath: TBasePath","authorizers: T","schemes: T","name:\n\t\t\t| BuiltInSecuritySchemeId\n\t\t\t| keyof TSecuritySchemes\n\t\t\t| TAuthorizers[number]\n\t\t\t| 'none'","path: TPath","fn: AuthorizeFn<TServices, TLogger, TSession>","services: S","logger: L","publisher: Service<TServiceName, T>","session: SessionFn<TServices, TLogger, T, TDatabase>","service: Service<TName, T>","storage: Service<TName, T>","extractor: ActorExtractor<TServices, TSession, TLogger>","config: TConfig","method: TMethod","EndpointBuilder"],"sources":["../src/endpoints/EndpointFactory.ts"],"sourcesContent":["import type {\n\tAuditableAction,\n\tAuditStorage,\n\tExtractStorageAuditAction,\n} from '@geekmidas/audit';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { Service } from '@geekmidas/services';\nimport uniqBy from 'lodash.uniqby';\nimport type { HttpMethod } from '../types';\nimport {\n\ttype Authorizer,\n\ttype BuiltInSecuritySchemeId,\n\tgetSecurityScheme,\n\ttype SecurityScheme,\n} from './Authorizer';\nimport type { ActorExtractor } from './audit';\nimport type { AuthorizeFn, SessionFn } from './Endpoint';\nimport { EndpointBuilder } from './EndpointBuilder';\nimport type { RlsConfig } from './rls';\n\n// Re-export SecurityScheme to make the type portable in declaration files\nexport type { SecurityScheme } from './Authorizer';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class EndpointFactory<\n\tTServices extends Service[] = [],\n\tTBasePath extends string = '',\n\tTLogger extends Logger = Logger,\n\tTSession = unknown,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuthorizers extends readonly string[] = readonly string[],\n\tTAuditStorage extends AuditStorage<any> | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTAuditAction extends AuditableAction<\n\t\tstring,\n\t\tunknown\n\t> = ExtractStorageAuditAction<NonNullable<TAuditStorage>>,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTSecuritySchemes extends Record<string, SecurityScheme> = Record<\n\t\tstring,\n\t\tSecurityScheme\n\t>,\n\tTRlsConfig extends\n\t\t| RlsConfig<TServices, TSession, TLogger>\n\t\t| undefined = undefined,\n> {\n\tprivate defaultServices: TServices = [] as unknown as TServices;\n\tprivate basePath: TBasePath = '' as TBasePath;\n\tprivate defaultAuthorizeFn?: AuthorizeFn<TServices, TLogger, TSession>;\n\tprivate defaultEventPublisher:\n\t\t| Service<TEventPublisherServiceName, TEventPublisher>\n\t\t| undefined;\n\tprivate defaultSessionExtractor?: SessionFn<\n\t\tTServices,\n\t\tTLogger,\n\t\tTSession,\n\t\tTDatabase\n\t>;\n\tprivate defaultLogger: TLogger = DEFAULT_LOGGER;\n\tprivate availableAuthorizers: Authorizer[] = [];\n\tprivate defaultAuthorizerName?: TAuthorizers[number];\n\tprivate defaultAuditorStorage:\n\t\t| Service<TAuditStorageServiceName, TAuditStorage>\n\t\t| undefined;\n\tprivate defaultDatabaseService:\n\t\t| Service<TDatabaseServiceName, TDatabase>\n\t\t| undefined;\n\tprivate defaultActorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n\tprivate customSecuritySchemes: TSecuritySchemes = {} as TSecuritySchemes;\n\tprivate defaultRlsConfig?: TRlsConfig;\n\n\tconstructor({\n\t\tbasePath,\n\t\tdefaultAuthorizeFn,\n\t\tdefaultLogger,\n\t\tdefaultSessionExtractor,\n\t\t// @ts-expect-error\n\t\tdefaultServices = [] as TServices,\n\t\tdefaultEventPublisher,\n\t\tavailableAuthorizers = [],\n\t\tdefaultAuthorizerName,\n\t\tdefaultAuditorStorage,\n\t\tdefaultDatabaseService,\n\t\tdefaultActorExtractor,\n\t\tcustomSecuritySchemes = {} as TSecuritySchemes,\n\t\tdefaultRlsConfig,\n\t}: EndpointFactoryOptions<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> = {}) {\n\t\t// Initialize default services\n\t\tthis.defaultServices = uniqBy(\n\t\t\tdefaultServices,\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\n\t\tthis.basePath = basePath || ('' as TBasePath);\n\t\tthis.defaultAuthorizeFn = defaultAuthorizeFn;\n\t\tthis.defaultLogger = defaultLogger || (DEFAULT_LOGGER as TLogger);\n\t\tthis.defaultSessionExtractor = defaultSessionExtractor;\n\t\tthis.defaultEventPublisher = defaultEventPublisher;\n\t\tthis.availableAuthorizers = availableAuthorizers;\n\t\tthis.defaultAuthorizerName = defaultAuthorizerName;\n\t\tthis.defaultAuditorStorage = defaultAuditorStorage;\n\t\tthis.defaultDatabaseService = defaultDatabaseService;\n\t\tthis.defaultActorExtractor = defaultActorExtractor;\n\t\tthis.customSecuritySchemes = customSecuritySchemes;\n\t\tthis.defaultRlsConfig = defaultRlsConfig;\n\t}\n\n\tstatic joinPaths<TBasePath extends string, P extends string>(\n\t\tpath: P,\n\t\tbasePath: TBasePath = '' as TBasePath,\n\t): JoinPaths<TBasePath, P> {\n\t\t// Handle empty cases\n\t\tif (!basePath && !path) return '/' as JoinPaths<TBasePath, P>;\n\t\tif (!basePath)\n\t\t\treturn (path.startsWith('/') ? path : `/${path}`) as JoinPaths<\n\t\t\t\tTBasePath,\n\t\t\t\tP\n\t\t\t>;\n\t\tif (!path)\n\t\t\treturn (\n\t\t\t\tbasePath.startsWith('/') ? basePath : `/${basePath}`\n\t\t\t) as JoinPaths<TBasePath, P>;\n\n\t\tconst base = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;\n\t\tconst segment = path.startsWith('/') ? path : `/${path}`;\n\n\t\tlet result = base + segment;\n\n\t\t// Ensure leading slash\n\t\tif (!result.startsWith('/')) {\n\t\t\tresult = `/${result}`;\n\t\t}\n\n\t\t// Normalize multiple slashes (except in the middle of the path where they might be intentional)\n\t\tresult = result.replace(/^\\/+/g, '/');\n\n\t\t// Remove trailing slash unless it's the root path \"/\"\n\t\tif (result.length > 1 && result.endsWith('/')) {\n\t\t\tresult = result.slice(0, -1);\n\t\t}\n\n\t\treturn result as JoinPaths<TBasePath, P>;\n\t}\n\n\t// Configure available authorizers\n\tauthorizers<const T extends readonly string[]>(\n\t\tauthorizers: T,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tT,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\tconst authorizerConfigs = authorizers.map((name) => ({\n\t\t\tname,\n\t\t\tsecurityScheme: getSecurityScheme(name, this.customSecuritySchemes),\n\t\t}));\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tT,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: authorizerConfigs,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Define custom security schemes for this factory.\n\t * These extend the built-in schemes (jwt, bearer, apiKey, oauth2, oidc).\n\t *\n\t * @example\n\t * ```typescript\n\t * const router = e.securitySchemes({\n\t * awsIamSigV4: {\n\t * type: 'apiKey',\n\t * in: 'header',\n\t * name: 'Authorization',\n\t * 'x-amazon-apigateway-authtype': 'awsSigv4',\n\t * },\n\t * });\n\t * ```\n\t */\n\tsecuritySchemes<T extends Record<string, SecurityScheme>>(\n\t\tschemes: T,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes & T,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes & T,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: {\n\t\t\t\t...this.customSecuritySchemes,\n\t\t\t\t...schemes,\n\t\t\t} as TSecuritySchemes & T,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the default authorizer for all endpoints created from this factory.\n\t * Individual endpoints can override this by calling `.authorizer()` on the builder.\n\t * Use `'none'` to explicitly disable authorization for all endpoints.\n\t *\n\t * Accepts:\n\t * - Built-in security scheme names: 'jwt', 'bearer', 'apiKey', 'oauth2', 'oidc'\n\t * - Custom security scheme names defined via `.securitySchemes()`\n\t * - 'none' to disable authorization\n\t */\n\tauthorizer(\n\t\tname:\n\t\t\t| BuiltInSecuritySchemeId\n\t\t\t| keyof TSecuritySchemes\n\t\t\t| TAuthorizers[number]\n\t\t\t| 'none',\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\t// Validate that the authorizer exists in available authorizers (if authorizers() was called)\n\t\tif (name !== 'none' && this.availableAuthorizers.length > 0) {\n\t\t\tconst authorizerExists = this.availableAuthorizers.some(\n\t\t\t\t(a) => a.name === name,\n\t\t\t);\n\t\t\tif (!authorizerExists) {\n\t\t\t\tconst available = this.availableAuthorizers\n\t\t\t\t\t.map((a) => a.name)\n\t\t\t\t\t.join(', ');\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Authorizer \"${name as string}\" not found in available authorizers: ${available}`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName:\n\t\t\t\tname === 'none' ? undefined : (name as TAuthorizers[number]),\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t// Create a sub-router with a path prefix\n\troute<TPath extends string>(\n\t\tpath: TPath,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tJoinPaths<TBasePath, TPath>,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\tconst newBasePath = EndpointFactory.joinPaths(path, this.basePath);\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tJoinPaths<TBasePath, TPath>,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: newBasePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t// Create a new factory with authorization\n\tauthorize(\n\t\tfn: AuthorizeFn<TServices, TLogger, TSession>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: fn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t// Create a new factory with services\n\tservices<S extends Service[]>(\n\t\tservices: S,\n\t): EndpointFactory<\n\t\t[...S, ...TServices],\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tRlsConfig<[...S, ...TServices], TSession, TLogger> | undefined\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\t[...S, ...TServices],\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tRlsConfig<[...S, ...TServices], TSession, TLogger> | undefined\n\t\t>({\n\t\t\tdefaultServices: [...services, ...this.defaultServices],\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn as unknown as AuthorizeFn<\n\t\t\t\t[...S, ...TServices],\n\t\t\t\tTLogger,\n\t\t\t\tTSession\n\t\t\t>,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor as unknown as\n\t\t\t\t| SessionFn<[...S, ...TServices], TLogger, TSession, TDatabase>\n\t\t\t\t| undefined,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor as unknown as\n\t\t\t\t| ActorExtractor<[...S, ...TServices], TSession, TLogger>\n\t\t\t\t| undefined,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig as unknown as\n\t\t\t\t| RlsConfig<[...S, ...TServices], TSession, TLogger>\n\t\t\t\t| undefined,\n\t\t});\n\t}\n\n\tlogger<L extends Logger>(\n\t\tlogger: L,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tL,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tRlsConfig<TServices, TSession, L> | undefined\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tL,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tRlsConfig<TServices, TSession, L> | undefined\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn as unknown as AuthorizeFn<\n\t\t\t\tTServices,\n\t\t\t\tL,\n\t\t\t\tTSession\n\t\t\t>,\n\t\t\tdefaultLogger: logger,\n\t\t\tdefaultSessionExtractor: this\n\t\t\t\t.defaultSessionExtractor as unknown as SessionFn<\n\t\t\t\tTServices,\n\t\t\t\tL,\n\t\t\t\tTSession\n\t\t\t>,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this\n\t\t\t\t.defaultActorExtractor as unknown as ActorExtractor<\n\t\t\t\tTServices,\n\t\t\t\tTSession,\n\t\t\t\tL\n\t\t\t>,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig as unknown as\n\t\t\t\t| RlsConfig<TServices, TSession, L>\n\t\t\t\t| undefined,\n\t\t});\n\t}\n\n\tpublisher<\n\t\tT extends EventPublisher<any>,\n\t\tTServiceName extends string = string,\n\t>(\n\t\tpublisher: Service<TServiceName, T>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tT,\n\t\tTServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tT,\n\t\t\tTServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: publisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\tsession<T>(\n\t\tsession: SessionFn<TServices, TLogger, T, TDatabase>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tT,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tRlsConfig<TServices, T, TLogger> | undefined\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tRlsConfig<TServices, T, TLogger> | undefined\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn as unknown as AuthorizeFn<\n\t\t\t\tTServices,\n\t\t\t\tTLogger,\n\t\t\t\tT\n\t\t\t>,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: session,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this\n\t\t\t\t.defaultActorExtractor as unknown as ActorExtractor<\n\t\t\t\tTServices,\n\t\t\t\tT,\n\t\t\t\tTLogger\n\t\t\t>,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig as unknown as\n\t\t\t\t| RlsConfig<TServices, T, TLogger>\n\t\t\t\t| undefined,\n\t\t});\n\t}\n\n\t/**\n\t * Set the database service for endpoints created from this factory.\n\t * The database will be available in handler context as `db`.\n\t */\n\tdatabase<T, TName extends string>(\n\t\tservice: Service<TName, T>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tT,\n\t\tTName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\t// Reset session extractor when database changes - user should call .session() after .database()\n\t\t\t// to get proper type inference for the new database type\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor as unknown as\n\t\t\t\t| SessionFn<TServices, TLogger, TSession, T>\n\t\t\t\t| undefined,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: service,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the auditor storage service for endpoints created from this factory.\n\t * This enables audit functionality and makes `auditor` available in handler context.\n\t * The audit action type is automatically inferred from the storage's generic parameter.\n\t */\n\tauditor<T extends AuditStorage<any>, TName extends string>(\n\t\tstorage: Service<TName, T>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tT,\n\t\tTName,\n\t\tExtractStorageAuditAction<T>,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tExtractStorageAuditAction<T>,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: storage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this\n\t\t\t\t.defaultActorExtractor as unknown as ActorExtractor<\n\t\t\t\tTServices,\n\t\t\t\tTSession,\n\t\t\t\tTLogger\n\t\t\t>,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the actor extractor function for endpoints created from this factory.\n\t * The actor is extracted from the request context and attached to all audits.\n\t */\n\tactor(\n\t\textractor: ActorExtractor<TServices, TSession, TLogger>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: extractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the RLS (Row-Level Security) configuration for endpoints created from this factory.\n\t * This enables automatic PostgreSQL session variable setting for RLS policies.\n\t *\n\t * @example\n\t * ```typescript\n\t * const api = new EndpointFactory()\n\t * .database(databaseService)\n\t * .session(extractSession)\n\t * .rls({\n\t * extractor: ({ session }) => ({\n\t * user_id: session.userId,\n\t * tenant_id: session.tenantId,\n\t * }),\n\t * prefix: 'app',\n\t * });\n\t * ```\n\t */\n\trls<TConfig extends RlsConfig<TServices, TSession, TLogger>>(\n\t\tconfig: TConfig,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: config,\n\t\t});\n\t}\n\n\tprivate createBuilder<TMethod extends HttpMethod, TPath extends string>(\n\t\tmethod: TMethod,\n\t\tpath: TPath,\n\t): EndpointBuilder<\n\t\tJoinPaths<TBasePath, TPath>,\n\t\tTMethod,\n\t\t{},\n\t\tTServices,\n\t\tTLogger,\n\t\tundefined,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tconst fullPath = EndpointFactory.joinPaths(path, this.basePath);\n\t\tconst builder = new EndpointBuilder<\n\t\t\tJoinPaths<TBasePath, TPath>,\n\t\t\tTMethod,\n\t\t\t{},\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tundefined,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>(fullPath, method);\n\n\t\tif (this.defaultAuthorizeFn) {\n\t\t\tbuilder._authorize = this.defaultAuthorizeFn;\n\t\t}\n\t\tif (this.defaultServices.length) {\n\t\t\t// Create a copy to avoid sharing references between builders\n\t\t\tbuilder._services = [...this.defaultServices] as TServices;\n\t\t}\n\n\t\tif (this.defaultLogger) {\n\t\t\tbuilder._logger = this.defaultLogger as TLogger;\n\t\t}\n\n\t\tif (this.defaultSessionExtractor) {\n\t\t\tbuilder._getSession = this.defaultSessionExtractor as SessionFn<\n\t\t\t\tTServices,\n\t\t\t\tTLogger,\n\t\t\t\tTSession\n\t\t\t>;\n\t\t}\n\n\t\tif (this.defaultEventPublisher) {\n\t\t\tbuilder._setPublisher(this.defaultEventPublisher);\n\t\t}\n\n\t\t// Set available authorizers and default\n\t\tbuilder._availableAuthorizers = this.availableAuthorizers;\n\t\tif (this.defaultAuthorizerName) {\n\t\t\tbuilder._authorizerName = this.defaultAuthorizerName;\n\t\t}\n\n\t\t// Set auditor storage if configured\n\t\tif (this.defaultAuditorStorage) {\n\t\t\tbuilder._setAuditorStorage(this.defaultAuditorStorage as any);\n\t\t}\n\n\t\t// Set database service if configured\n\t\tif (this.defaultDatabaseService) {\n\t\t\tbuilder._setDatabaseService(this.defaultDatabaseService as any);\n\t\t}\n\n\t\t// Set actor extractor if configured\n\t\tif (this.defaultActorExtractor) {\n\t\t\tbuilder._actorExtractor = this.defaultActorExtractor;\n\t\t}\n\n\t\t// Set custom security schemes\n\t\tbuilder._customSecuritySchemes = this.customSecuritySchemes;\n\n\t\t// Set RLS config if configured\n\t\tif (this.defaultRlsConfig) {\n\t\t\tbuilder._rlsConfig = this.defaultRlsConfig as any;\n\t\t}\n\n\t\treturn builder;\n\t}\n\n\tpost<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('POST', path);\n\t}\n\n\tget<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('GET', path);\n\t}\n\n\tput<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('PUT', path);\n\t}\n\n\tdelete<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('DELETE', path);\n\t}\n\n\tpatch<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('PATCH', path);\n\t}\n\n\toptions<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('OPTIONS', path);\n\t}\n}\n\nexport type RemoveTrailingSlash<T extends string> = T extends `${infer Rest}/`\n\t? Rest extends ''\n\t\t? T // Keep \"/\" as is\n\t\t: Rest\n\t: T;\n\nexport type JoinPaths<\n\tTBasePath extends string,\n\tTPath extends string,\n> = RemoveTrailingSlash<\n\tTBasePath extends ''\n\t\t? TPath\n\t\t: TPath extends ''\n\t\t\t? TBasePath\n\t\t\t: TBasePath extends '/'\n\t\t\t\t? TPath extends `/${string}`\n\t\t\t\t\t? TPath\n\t\t\t\t\t: `/${TPath}`\n\t\t\t\t: TBasePath extends `${infer Base}/`\n\t\t\t\t\t? TPath extends `/${infer Rest}`\n\t\t\t\t\t\t? `${Base}/${Rest}`\n\t\t\t\t\t\t: `${Base}/${TPath}`\n\t\t\t\t\t: TPath extends `/${infer Rest}`\n\t\t\t\t\t\t? `${TBasePath}/${Rest}`\n\t\t\t\t\t\t: `${TBasePath}/${TPath}`\n>;\n\nexport interface EndpointFactoryOptions<\n\tTServices extends Service[] = [],\n\tTBasePath extends string = '',\n\tTLogger extends Logger = Logger,\n\tTSession = unknown,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuthorizers extends readonly string[] = readonly string[],\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTSecuritySchemes extends Record<string, SecurityScheme> = Record<\n\t\tstring,\n\t\tSecurityScheme\n\t>,\n\tTRlsConfig extends\n\t\t| RlsConfig<TServices, TSession, TLogger>\n\t\t| undefined = undefined,\n> {\n\tdefaultServices?: TServices;\n\tbasePath?: TBasePath;\n\tdefaultAuthorizeFn?: AuthorizeFn<TServices, TLogger, TSession>;\n\tdefaultLogger?: TLogger;\n\tdefaultSessionExtractor?: SessionFn<TServices, TLogger, TSession, TDatabase>;\n\tdefaultEventPublisher?: Service<TEventPublisherServiceName, TEventPublisher>;\n\tdefaultEvents?: MappedEvent<TEventPublisher, undefined>[];\n\tavailableAuthorizers?: Authorizer[];\n\tdefaultAuthorizerName?: TAuthorizers[number];\n\tdefaultAuditorStorage?: Service<TAuditStorageServiceName, TAuditStorage>;\n\tdefaultDatabaseService?: Service<TDatabaseServiceName, TDatabase>;\n\tdefaultActorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n\tcustomSecuritySchemes?: TSecuritySchemes;\n\tdefaultRlsConfig?: TRlsConfig;\n}\n\nexport const e = new EndpointFactory();\n"],"mappings":"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"}
@@ -69,10 +69,10 @@ declare class EndpointFactory<TServices extends Service[] = [], TBasePath extend
69
69
  authorizer(name: BuiltInSecuritySchemeId | keyof TSecuritySchemes | TAuthorizers[number] | 'none'): EndpointFactory<TServices, TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
70
70
  route<TPath extends string>(path: TPath): EndpointFactory<TServices, JoinPaths<TBasePath, TPath>, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
71
71
  authorize(fn: AuthorizeFn<TServices, TLogger, TSession>): EndpointFactory<TServices, TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
72
- services<S extends Service[]>(services: S): EndpointFactory<[...S, ...TServices], TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, undefined>;
73
- logger<L extends Logger>(logger: L): EndpointFactory<TServices, TBasePath, L, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, undefined>;
72
+ services<S extends Service[]>(services: S): EndpointFactory<[...S, ...TServices], TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, RlsConfig<[...S, ...TServices], TSession, TLogger> | undefined>;
73
+ logger<L extends Logger>(logger: L): EndpointFactory<TServices, TBasePath, L, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, RlsConfig<TServices, TSession, L> | undefined>;
74
74
  publisher<T extends EventPublisher<any>, TServiceName extends string = string>(publisher: Service<TServiceName, T>): EndpointFactory<TServices, TBasePath, TLogger, TSession, T, TServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
75
- session<T>(session: SessionFn<TServices, TLogger, T, TDatabase>): EndpointFactory<TServices, TBasePath, TLogger, T, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, undefined>;
75
+ session<T>(session: SessionFn<TServices, TLogger, T, TDatabase>): EndpointFactory<TServices, TBasePath, TLogger, T, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, RlsConfig<TServices, T, TLogger> | undefined>;
76
76
  /**
77
77
  * Set the database service for endpoints created from this factory.
78
78
  * The database will be available in handler context as `db`.
@@ -139,4 +139,4 @@ declare const e: EndpointFactory<[], "", Logger, unknown, undefined, string, rea
139
139
 
140
140
  //#endregion
141
141
  export { EndpointFactory, EndpointFactoryOptions, JoinPaths, RemoveTrailingSlash, e };
142
- //# sourceMappingURL=EndpointFactory-Bj7vHtT6.d.mts.map
142
+ //# sourceMappingURL=EndpointFactory-B29PiUhj.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointFactory-B29PiUhj.d.mts","names":[],"sources":["../src/endpoints/EndpointFactory.ts"],"sourcesContent":[],"mappings":"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"}
@@ -69,10 +69,10 @@ declare class EndpointFactory<TServices extends Service[] = [], TBasePath extend
69
69
  authorizer(name: BuiltInSecuritySchemeId | keyof TSecuritySchemes | TAuthorizers[number] | 'none'): EndpointFactory<TServices, TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
70
70
  route<TPath extends string>(path: TPath): EndpointFactory<TServices, JoinPaths<TBasePath, TPath>, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
71
71
  authorize(fn: AuthorizeFn<TServices, TLogger, TSession>): EndpointFactory<TServices, TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
72
- services<S extends Service[]>(services: S): EndpointFactory<[...S, ...TServices], TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, undefined>;
73
- logger<L extends Logger>(logger: L): EndpointFactory<TServices, TBasePath, L, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, undefined>;
72
+ services<S extends Service[]>(services: S): EndpointFactory<[...S, ...TServices], TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, RlsConfig<[...S, ...TServices], TSession, TLogger> | undefined>;
73
+ logger<L extends Logger>(logger: L): EndpointFactory<TServices, TBasePath, L, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, RlsConfig<TServices, TSession, L> | undefined>;
74
74
  publisher<T extends EventPublisher<any>, TServiceName extends string = string>(publisher: Service<TServiceName, T>): EndpointFactory<TServices, TBasePath, TLogger, TSession, T, TServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
75
- session<T>(session: SessionFn<TServices, TLogger, T, TDatabase>): EndpointFactory<TServices, TBasePath, TLogger, T, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, undefined>;
75
+ session<T>(session: SessionFn<TServices, TLogger, T, TDatabase>): EndpointFactory<TServices, TBasePath, TLogger, T, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, RlsConfig<TServices, T, TLogger> | undefined>;
76
76
  /**
77
77
  * Set the database service for endpoints created from this factory.
78
78
  * The database will be available in handler context as `db`.
@@ -139,4 +139,4 @@ declare const e: EndpointFactory<[], "", Logger, unknown, undefined, string, rea
139
139
 
140
140
  //#endregion
141
141
  export { EndpointFactory, EndpointFactoryOptions, JoinPaths, RemoveTrailingSlash, e };
142
- //# sourceMappingURL=EndpointFactory-C1miOYUW.d.cts.map
142
+ //# sourceMappingURL=EndpointFactory-CVT9quQD.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointFactory-CVT9quQD.d.cts","names":[],"sources":["../src/endpoints/EndpointFactory.ts"],"sourcesContent":[],"mappings":"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"}
@@ -186,7 +186,7 @@ var EndpointFactory = class EndpointFactory {
186
186
  defaultDatabaseService: this.defaultDatabaseService,
187
187
  defaultActorExtractor: this.defaultActorExtractor,
188
188
  customSecuritySchemes: this.customSecuritySchemes,
189
- defaultRlsConfig: void 0
189
+ defaultRlsConfig: this.defaultRlsConfig
190
190
  });
191
191
  }
192
192
  logger(logger) {
@@ -203,7 +203,7 @@ var EndpointFactory = class EndpointFactory {
203
203
  defaultDatabaseService: this.defaultDatabaseService,
204
204
  defaultActorExtractor: this.defaultActorExtractor,
205
205
  customSecuritySchemes: this.customSecuritySchemes,
206
- defaultRlsConfig: void 0
206
+ defaultRlsConfig: this.defaultRlsConfig
207
207
  });
208
208
  }
209
209
  publisher(publisher) {
@@ -237,7 +237,7 @@ var EndpointFactory = class EndpointFactory {
237
237
  defaultDatabaseService: this.defaultDatabaseService,
238
238
  defaultActorExtractor: this.defaultActorExtractor,
239
239
  customSecuritySchemes: this.customSecuritySchemes,
240
- defaultRlsConfig: void 0
240
+ defaultRlsConfig: this.defaultRlsConfig
241
241
  });
242
242
  }
243
243
  /**
@@ -378,4 +378,4 @@ const e = new EndpointFactory();
378
378
 
379
379
  //#endregion
380
380
  export { EndpointFactory, e };
381
- //# sourceMappingURL=EndpointFactory-CyM-gSew.mjs.map
381
+ //# sourceMappingURL=EndpointFactory-Do498RmG.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointFactory-Do498RmG.mjs","names":["DEFAULT_LOGGER","path: P","basePath: TBasePath","authorizers: T","schemes: T","name:\n\t\t\t| BuiltInSecuritySchemeId\n\t\t\t| keyof TSecuritySchemes\n\t\t\t| TAuthorizers[number]\n\t\t\t| 'none'","path: TPath","fn: AuthorizeFn<TServices, TLogger, TSession>","services: S","logger: L","publisher: Service<TServiceName, T>","session: SessionFn<TServices, TLogger, T, TDatabase>","service: Service<TName, T>","storage: Service<TName, T>","extractor: ActorExtractor<TServices, TSession, TLogger>","config: TConfig","method: TMethod"],"sources":["../src/endpoints/EndpointFactory.ts"],"sourcesContent":["import type {\n\tAuditableAction,\n\tAuditStorage,\n\tExtractStorageAuditAction,\n} from '@geekmidas/audit';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { Service } from '@geekmidas/services';\nimport uniqBy from 'lodash.uniqby';\nimport type { HttpMethod } from '../types';\nimport {\n\ttype Authorizer,\n\ttype BuiltInSecuritySchemeId,\n\tgetSecurityScheme,\n\ttype SecurityScheme,\n} from './Authorizer';\nimport type { ActorExtractor } from './audit';\nimport type { AuthorizeFn, SessionFn } from './Endpoint';\nimport { EndpointBuilder } from './EndpointBuilder';\nimport type { RlsConfig } from './rls';\n\n// Re-export SecurityScheme to make the type portable in declaration files\nexport type { SecurityScheme } from './Authorizer';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class EndpointFactory<\n\tTServices extends Service[] = [],\n\tTBasePath extends string = '',\n\tTLogger extends Logger = Logger,\n\tTSession = unknown,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuthorizers extends readonly string[] = readonly string[],\n\tTAuditStorage extends AuditStorage<any> | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTAuditAction extends AuditableAction<\n\t\tstring,\n\t\tunknown\n\t> = ExtractStorageAuditAction<NonNullable<TAuditStorage>>,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTSecuritySchemes extends Record<string, SecurityScheme> = Record<\n\t\tstring,\n\t\tSecurityScheme\n\t>,\n\tTRlsConfig extends\n\t\t| RlsConfig<TServices, TSession, TLogger>\n\t\t| undefined = undefined,\n> {\n\tprivate defaultServices: TServices = [] as unknown as TServices;\n\tprivate basePath: TBasePath = '' as TBasePath;\n\tprivate defaultAuthorizeFn?: AuthorizeFn<TServices, TLogger, TSession>;\n\tprivate defaultEventPublisher:\n\t\t| Service<TEventPublisherServiceName, TEventPublisher>\n\t\t| undefined;\n\tprivate defaultSessionExtractor?: SessionFn<\n\t\tTServices,\n\t\tTLogger,\n\t\tTSession,\n\t\tTDatabase\n\t>;\n\tprivate defaultLogger: TLogger = DEFAULT_LOGGER;\n\tprivate availableAuthorizers: Authorizer[] = [];\n\tprivate defaultAuthorizerName?: TAuthorizers[number];\n\tprivate defaultAuditorStorage:\n\t\t| Service<TAuditStorageServiceName, TAuditStorage>\n\t\t| undefined;\n\tprivate defaultDatabaseService:\n\t\t| Service<TDatabaseServiceName, TDatabase>\n\t\t| undefined;\n\tprivate defaultActorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n\tprivate customSecuritySchemes: TSecuritySchemes = {} as TSecuritySchemes;\n\tprivate defaultRlsConfig?: TRlsConfig;\n\n\tconstructor({\n\t\tbasePath,\n\t\tdefaultAuthorizeFn,\n\t\tdefaultLogger,\n\t\tdefaultSessionExtractor,\n\t\t// @ts-expect-error\n\t\tdefaultServices = [] as TServices,\n\t\tdefaultEventPublisher,\n\t\tavailableAuthorizers = [],\n\t\tdefaultAuthorizerName,\n\t\tdefaultAuditorStorage,\n\t\tdefaultDatabaseService,\n\t\tdefaultActorExtractor,\n\t\tcustomSecuritySchemes = {} as TSecuritySchemes,\n\t\tdefaultRlsConfig,\n\t}: EndpointFactoryOptions<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> = {}) {\n\t\t// Initialize default services\n\t\tthis.defaultServices = uniqBy(\n\t\t\tdefaultServices,\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\n\t\tthis.basePath = basePath || ('' as TBasePath);\n\t\tthis.defaultAuthorizeFn = defaultAuthorizeFn;\n\t\tthis.defaultLogger = defaultLogger || (DEFAULT_LOGGER as TLogger);\n\t\tthis.defaultSessionExtractor = defaultSessionExtractor;\n\t\tthis.defaultEventPublisher = defaultEventPublisher;\n\t\tthis.availableAuthorizers = availableAuthorizers;\n\t\tthis.defaultAuthorizerName = defaultAuthorizerName;\n\t\tthis.defaultAuditorStorage = defaultAuditorStorage;\n\t\tthis.defaultDatabaseService = defaultDatabaseService;\n\t\tthis.defaultActorExtractor = defaultActorExtractor;\n\t\tthis.customSecuritySchemes = customSecuritySchemes;\n\t\tthis.defaultRlsConfig = defaultRlsConfig;\n\t}\n\n\tstatic joinPaths<TBasePath extends string, P extends string>(\n\t\tpath: P,\n\t\tbasePath: TBasePath = '' as TBasePath,\n\t): JoinPaths<TBasePath, P> {\n\t\t// Handle empty cases\n\t\tif (!basePath && !path) return '/' as JoinPaths<TBasePath, P>;\n\t\tif (!basePath)\n\t\t\treturn (path.startsWith('/') ? path : `/${path}`) as JoinPaths<\n\t\t\t\tTBasePath,\n\t\t\t\tP\n\t\t\t>;\n\t\tif (!path)\n\t\t\treturn (\n\t\t\t\tbasePath.startsWith('/') ? basePath : `/${basePath}`\n\t\t\t) as JoinPaths<TBasePath, P>;\n\n\t\tconst base = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;\n\t\tconst segment = path.startsWith('/') ? path : `/${path}`;\n\n\t\tlet result = base + segment;\n\n\t\t// Ensure leading slash\n\t\tif (!result.startsWith('/')) {\n\t\t\tresult = `/${result}`;\n\t\t}\n\n\t\t// Normalize multiple slashes (except in the middle of the path where they might be intentional)\n\t\tresult = result.replace(/^\\/+/g, '/');\n\n\t\t// Remove trailing slash unless it's the root path \"/\"\n\t\tif (result.length > 1 && result.endsWith('/')) {\n\t\t\tresult = result.slice(0, -1);\n\t\t}\n\n\t\treturn result as JoinPaths<TBasePath, P>;\n\t}\n\n\t// Configure available authorizers\n\tauthorizers<const T extends readonly string[]>(\n\t\tauthorizers: T,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tT,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\tconst authorizerConfigs = authorizers.map((name) => ({\n\t\t\tname,\n\t\t\tsecurityScheme: getSecurityScheme(name, this.customSecuritySchemes),\n\t\t}));\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tT,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: authorizerConfigs,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Define custom security schemes for this factory.\n\t * These extend the built-in schemes (jwt, bearer, apiKey, oauth2, oidc).\n\t *\n\t * @example\n\t * ```typescript\n\t * const router = e.securitySchemes({\n\t * awsIamSigV4: {\n\t * type: 'apiKey',\n\t * in: 'header',\n\t * name: 'Authorization',\n\t * 'x-amazon-apigateway-authtype': 'awsSigv4',\n\t * },\n\t * });\n\t * ```\n\t */\n\tsecuritySchemes<T extends Record<string, SecurityScheme>>(\n\t\tschemes: T,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes & T,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes & T,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: {\n\t\t\t\t...this.customSecuritySchemes,\n\t\t\t\t...schemes,\n\t\t\t} as TSecuritySchemes & T,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the default authorizer for all endpoints created from this factory.\n\t * Individual endpoints can override this by calling `.authorizer()` on the builder.\n\t * Use `'none'` to explicitly disable authorization for all endpoints.\n\t *\n\t * Accepts:\n\t * - Built-in security scheme names: 'jwt', 'bearer', 'apiKey', 'oauth2', 'oidc'\n\t * - Custom security scheme names defined via `.securitySchemes()`\n\t * - 'none' to disable authorization\n\t */\n\tauthorizer(\n\t\tname:\n\t\t\t| BuiltInSecuritySchemeId\n\t\t\t| keyof TSecuritySchemes\n\t\t\t| TAuthorizers[number]\n\t\t\t| 'none',\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\t// Validate that the authorizer exists in available authorizers (if authorizers() was called)\n\t\tif (name !== 'none' && this.availableAuthorizers.length > 0) {\n\t\t\tconst authorizerExists = this.availableAuthorizers.some(\n\t\t\t\t(a) => a.name === name,\n\t\t\t);\n\t\t\tif (!authorizerExists) {\n\t\t\t\tconst available = this.availableAuthorizers\n\t\t\t\t\t.map((a) => a.name)\n\t\t\t\t\t.join(', ');\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Authorizer \"${name as string}\" not found in available authorizers: ${available}`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName:\n\t\t\t\tname === 'none' ? undefined : (name as TAuthorizers[number]),\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t// Create a sub-router with a path prefix\n\troute<TPath extends string>(\n\t\tpath: TPath,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tJoinPaths<TBasePath, TPath>,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\tconst newBasePath = EndpointFactory.joinPaths(path, this.basePath);\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tJoinPaths<TBasePath, TPath>,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: newBasePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t// Create a new factory with authorization\n\tauthorize(\n\t\tfn: AuthorizeFn<TServices, TLogger, TSession>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: fn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t// Create a new factory with services\n\tservices<S extends Service[]>(\n\t\tservices: S,\n\t): EndpointFactory<\n\t\t[...S, ...TServices],\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tRlsConfig<[...S, ...TServices], TSession, TLogger> | undefined\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\t[...S, ...TServices],\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tRlsConfig<[...S, ...TServices], TSession, TLogger> | undefined\n\t\t>({\n\t\t\tdefaultServices: [...services, ...this.defaultServices],\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn as unknown as AuthorizeFn<\n\t\t\t\t[...S, ...TServices],\n\t\t\t\tTLogger,\n\t\t\t\tTSession\n\t\t\t>,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor as unknown as\n\t\t\t\t| SessionFn<[...S, ...TServices], TLogger, TSession, TDatabase>\n\t\t\t\t| undefined,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor as unknown as\n\t\t\t\t| ActorExtractor<[...S, ...TServices], TSession, TLogger>\n\t\t\t\t| undefined,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig as unknown as\n\t\t\t\t| RlsConfig<[...S, ...TServices], TSession, TLogger>\n\t\t\t\t| undefined,\n\t\t});\n\t}\n\n\tlogger<L extends Logger>(\n\t\tlogger: L,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tL,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tRlsConfig<TServices, TSession, L> | undefined\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tL,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tRlsConfig<TServices, TSession, L> | undefined\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn as unknown as AuthorizeFn<\n\t\t\t\tTServices,\n\t\t\t\tL,\n\t\t\t\tTSession\n\t\t\t>,\n\t\t\tdefaultLogger: logger,\n\t\t\tdefaultSessionExtractor: this\n\t\t\t\t.defaultSessionExtractor as unknown as SessionFn<\n\t\t\t\tTServices,\n\t\t\t\tL,\n\t\t\t\tTSession\n\t\t\t>,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this\n\t\t\t\t.defaultActorExtractor as unknown as ActorExtractor<\n\t\t\t\tTServices,\n\t\t\t\tTSession,\n\t\t\t\tL\n\t\t\t>,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig as unknown as\n\t\t\t\t| RlsConfig<TServices, TSession, L>\n\t\t\t\t| undefined,\n\t\t});\n\t}\n\n\tpublisher<\n\t\tT extends EventPublisher<any>,\n\t\tTServiceName extends string = string,\n\t>(\n\t\tpublisher: Service<TServiceName, T>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tT,\n\t\tTServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tT,\n\t\t\tTServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: publisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\tsession<T>(\n\t\tsession: SessionFn<TServices, TLogger, T, TDatabase>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tT,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tRlsConfig<TServices, T, TLogger> | undefined\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tRlsConfig<TServices, T, TLogger> | undefined\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn as unknown as AuthorizeFn<\n\t\t\t\tTServices,\n\t\t\t\tTLogger,\n\t\t\t\tT\n\t\t\t>,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: session,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this\n\t\t\t\t.defaultActorExtractor as unknown as ActorExtractor<\n\t\t\t\tTServices,\n\t\t\t\tT,\n\t\t\t\tTLogger\n\t\t\t>,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig as unknown as\n\t\t\t\t| RlsConfig<TServices, T, TLogger>\n\t\t\t\t| undefined,\n\t\t});\n\t}\n\n\t/**\n\t * Set the database service for endpoints created from this factory.\n\t * The database will be available in handler context as `db`.\n\t */\n\tdatabase<T, TName extends string>(\n\t\tservice: Service<TName, T>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tT,\n\t\tTName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\t// Reset session extractor when database changes - user should call .session() after .database()\n\t\t\t// to get proper type inference for the new database type\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor as unknown as\n\t\t\t\t| SessionFn<TServices, TLogger, TSession, T>\n\t\t\t\t| undefined,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: service,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the auditor storage service for endpoints created from this factory.\n\t * This enables audit functionality and makes `auditor` available in handler context.\n\t * The audit action type is automatically inferred from the storage's generic parameter.\n\t */\n\tauditor<T extends AuditStorage<any>, TName extends string>(\n\t\tstorage: Service<TName, T>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tT,\n\t\tTName,\n\t\tExtractStorageAuditAction<T>,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tExtractStorageAuditAction<T>,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: storage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this\n\t\t\t\t.defaultActorExtractor as unknown as ActorExtractor<\n\t\t\t\tTServices,\n\t\t\t\tTSession,\n\t\t\t\tTLogger\n\t\t\t>,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the actor extractor function for endpoints created from this factory.\n\t * The actor is extracted from the request context and attached to all audits.\n\t */\n\tactor(\n\t\textractor: ActorExtractor<TServices, TSession, TLogger>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: extractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the RLS (Row-Level Security) configuration for endpoints created from this factory.\n\t * This enables automatic PostgreSQL session variable setting for RLS policies.\n\t *\n\t * @example\n\t * ```typescript\n\t * const api = new EndpointFactory()\n\t * .database(databaseService)\n\t * .session(extractSession)\n\t * .rls({\n\t * extractor: ({ session }) => ({\n\t * user_id: session.userId,\n\t * tenant_id: session.tenantId,\n\t * }),\n\t * prefix: 'app',\n\t * });\n\t * ```\n\t */\n\trls<TConfig extends RlsConfig<TServices, TSession, TLogger>>(\n\t\tconfig: TConfig,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: config,\n\t\t});\n\t}\n\n\tprivate createBuilder<TMethod extends HttpMethod, TPath extends string>(\n\t\tmethod: TMethod,\n\t\tpath: TPath,\n\t): EndpointBuilder<\n\t\tJoinPaths<TBasePath, TPath>,\n\t\tTMethod,\n\t\t{},\n\t\tTServices,\n\t\tTLogger,\n\t\tundefined,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tconst fullPath = EndpointFactory.joinPaths(path, this.basePath);\n\t\tconst builder = new EndpointBuilder<\n\t\t\tJoinPaths<TBasePath, TPath>,\n\t\t\tTMethod,\n\t\t\t{},\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tundefined,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>(fullPath, method);\n\n\t\tif (this.defaultAuthorizeFn) {\n\t\t\tbuilder._authorize = this.defaultAuthorizeFn;\n\t\t}\n\t\tif (this.defaultServices.length) {\n\t\t\t// Create a copy to avoid sharing references between builders\n\t\t\tbuilder._services = [...this.defaultServices] as TServices;\n\t\t}\n\n\t\tif (this.defaultLogger) {\n\t\t\tbuilder._logger = this.defaultLogger as TLogger;\n\t\t}\n\n\t\tif (this.defaultSessionExtractor) {\n\t\t\tbuilder._getSession = this.defaultSessionExtractor as SessionFn<\n\t\t\t\tTServices,\n\t\t\t\tTLogger,\n\t\t\t\tTSession\n\t\t\t>;\n\t\t}\n\n\t\tif (this.defaultEventPublisher) {\n\t\t\tbuilder._setPublisher(this.defaultEventPublisher);\n\t\t}\n\n\t\t// Set available authorizers and default\n\t\tbuilder._availableAuthorizers = this.availableAuthorizers;\n\t\tif (this.defaultAuthorizerName) {\n\t\t\tbuilder._authorizerName = this.defaultAuthorizerName;\n\t\t}\n\n\t\t// Set auditor storage if configured\n\t\tif (this.defaultAuditorStorage) {\n\t\t\tbuilder._setAuditorStorage(this.defaultAuditorStorage as any);\n\t\t}\n\n\t\t// Set database service if configured\n\t\tif (this.defaultDatabaseService) {\n\t\t\tbuilder._setDatabaseService(this.defaultDatabaseService as any);\n\t\t}\n\n\t\t// Set actor extractor if configured\n\t\tif (this.defaultActorExtractor) {\n\t\t\tbuilder._actorExtractor = this.defaultActorExtractor;\n\t\t}\n\n\t\t// Set custom security schemes\n\t\tbuilder._customSecuritySchemes = this.customSecuritySchemes;\n\n\t\t// Set RLS config if configured\n\t\tif (this.defaultRlsConfig) {\n\t\t\tbuilder._rlsConfig = this.defaultRlsConfig as any;\n\t\t}\n\n\t\treturn builder;\n\t}\n\n\tpost<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('POST', path);\n\t}\n\n\tget<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('GET', path);\n\t}\n\n\tput<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('PUT', path);\n\t}\n\n\tdelete<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('DELETE', path);\n\t}\n\n\tpatch<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('PATCH', path);\n\t}\n\n\toptions<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('OPTIONS', path);\n\t}\n}\n\nexport type RemoveTrailingSlash<T extends string> = T extends `${infer Rest}/`\n\t? Rest extends ''\n\t\t? T // Keep \"/\" as is\n\t\t: Rest\n\t: T;\n\nexport type JoinPaths<\n\tTBasePath extends string,\n\tTPath extends string,\n> = RemoveTrailingSlash<\n\tTBasePath extends ''\n\t\t? TPath\n\t\t: TPath extends ''\n\t\t\t? TBasePath\n\t\t\t: TBasePath extends '/'\n\t\t\t\t? TPath extends `/${string}`\n\t\t\t\t\t? TPath\n\t\t\t\t\t: `/${TPath}`\n\t\t\t\t: TBasePath extends `${infer Base}/`\n\t\t\t\t\t? TPath extends `/${infer Rest}`\n\t\t\t\t\t\t? `${Base}/${Rest}`\n\t\t\t\t\t\t: `${Base}/${TPath}`\n\t\t\t\t\t: TPath extends `/${infer Rest}`\n\t\t\t\t\t\t? `${TBasePath}/${Rest}`\n\t\t\t\t\t\t: `${TBasePath}/${TPath}`\n>;\n\nexport interface EndpointFactoryOptions<\n\tTServices extends Service[] = [],\n\tTBasePath extends string = '',\n\tTLogger extends Logger = Logger,\n\tTSession = unknown,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuthorizers extends readonly string[] = readonly string[],\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTSecuritySchemes extends Record<string, SecurityScheme> = Record<\n\t\tstring,\n\t\tSecurityScheme\n\t>,\n\tTRlsConfig extends\n\t\t| RlsConfig<TServices, TSession, TLogger>\n\t\t| undefined = undefined,\n> {\n\tdefaultServices?: TServices;\n\tbasePath?: TBasePath;\n\tdefaultAuthorizeFn?: AuthorizeFn<TServices, TLogger, TSession>;\n\tdefaultLogger?: TLogger;\n\tdefaultSessionExtractor?: SessionFn<TServices, TLogger, TSession, TDatabase>;\n\tdefaultEventPublisher?: Service<TEventPublisherServiceName, TEventPublisher>;\n\tdefaultEvents?: MappedEvent<TEventPublisher, undefined>[];\n\tavailableAuthorizers?: Authorizer[];\n\tdefaultAuthorizerName?: TAuthorizers[number];\n\tdefaultAuditorStorage?: Service<TAuditStorageServiceName, TAuditStorage>;\n\tdefaultDatabaseService?: Service<TDatabaseServiceName, TDatabase>;\n\tdefaultActorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n\tcustomSecuritySchemes?: TSecuritySchemes;\n\tdefaultRlsConfig?: TRlsConfig;\n}\n\nexport const e = new EndpointFactory();\n"],"mappings":"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"}
@@ -6,7 +6,7 @@ import { Logger } from "@geekmidas/logger";
6
6
  import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
7
7
  import { StandardSchemaV1 } from "@standard-schema/spec";
8
8
  import { EnvironmentParser } from "@geekmidas/envkit";
9
- import * as hono_types3 from "hono/types";
9
+ import * as hono_types6 from "hono/types";
10
10
  import { Context, Hono } from "hono";
11
11
 
12
12
  //#region src/endpoints/HonoEndpointAdaptor.d.ts
@@ -38,7 +38,7 @@ declare class HonoEndpoint<TRoute extends string, TMethod extends HttpMethod, TI
38
38
  * This method is kept for backward compatibility but does nothing.
39
39
  */
40
40
  static applyEventMiddleware(_app: Hono, _serviceDiscovery: ServiceDiscovery<any>): void;
41
- static fromRoutes<TLogger extends Logger, TServices extends Service[]>(routes: string[], envParser: EnvironmentParser<{}>, app: Hono<hono_types3.BlankEnv, hono_types3.BlankSchema, "/"> | undefined, _logger: TLogger, cwd?: string, options?: HonoEndpointOptions): Promise<Hono>;
41
+ static fromRoutes<TLogger extends Logger, TServices extends Service[]>(routes: string[], envParser: EnvironmentParser<{}>, app: Hono<hono_types6.BlankEnv, hono_types6.BlankSchema, "/"> | undefined, _logger: TLogger, cwd?: string, options?: HonoEndpointOptions): Promise<Hono>;
42
42
  static addRoutes<TServices extends Service[] = [], TLogger extends Logger = Logger>(endpoints: Endpoint<string, HttpMethod, any, any, TServices, TLogger>[], serviceDiscovery: ServiceDiscovery<ServiceRecord<TServices>>, app: Hono, options?: HonoEndpointOptions): void;
43
43
  static addRoute<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TDatabase = undefined, TDatabaseServiceName extends string = string>(endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>, serviceDiscovery: ServiceDiscovery<ServiceRecord<TServices>>, app: Hono): void;
44
44
  static addDocsRoute<TServices extends Service[] = [], TLogger extends Logger = Logger>(endpoints: Endpoint<string, HttpMethod, any, any, TServices, TLogger>[], app: Hono, docsPath: string, openApiOptions?: HonoEndpointOptions['openApiOptions']): void;
@@ -47,4 +47,4 @@ declare class HonoEndpoint<TRoute extends string, TMethod extends HttpMethod, TI
47
47
 
48
48
  //#endregion
49
49
  export { HonoEndpoint, HonoEndpointOptions };
50
- //# sourceMappingURL=HonoEndpointAdaptor-vI3LPiyu.d.cts.map
50
+ //# sourceMappingURL=HonoEndpointAdaptor-BCql3gLP.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HonoEndpointAdaptor-C7BBBYuU.d.mts","names":[],"sources":["../src/endpoints/HonoEndpointAdaptor.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"HonoEndpointAdaptor-BCql3gLP.d.cts","names":[],"sources":["../src/endpoints/HonoEndpointAdaptor.ts"],"sourcesContent":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { EnvironmentParser } from "@geekmidas/envkit";
7
7
  import { EventPublisher } from "@geekmidas/events";
8
8
  import { Logger } from "@geekmidas/logger";
9
9
  import { StandardSchemaV1 } from "@standard-schema/spec";
10
- import * as hono_types3 from "hono/types";
10
+ import * as hono_types9 from "hono/types";
11
11
 
12
12
  //#region src/endpoints/HonoEndpointAdaptor.d.ts
13
13
  interface HonoEndpointOptions {
@@ -38,7 +38,7 @@ declare class HonoEndpoint<TRoute extends string, TMethod extends HttpMethod, TI
38
38
  * This method is kept for backward compatibility but does nothing.
39
39
  */
40
40
  static applyEventMiddleware(_app: Hono, _serviceDiscovery: ServiceDiscovery<any>): void;
41
- static fromRoutes<TLogger extends Logger, TServices extends Service[]>(routes: string[], envParser: EnvironmentParser<{}>, app: Hono<hono_types3.BlankEnv, hono_types3.BlankSchema, "/"> | undefined, _logger: TLogger, cwd?: string, options?: HonoEndpointOptions): Promise<Hono>;
41
+ static fromRoutes<TLogger extends Logger, TServices extends Service[]>(routes: string[], envParser: EnvironmentParser<{}>, app: Hono<hono_types9.BlankEnv, hono_types9.BlankSchema, "/"> | undefined, _logger: TLogger, cwd?: string, options?: HonoEndpointOptions): Promise<Hono>;
42
42
  static addRoutes<TServices extends Service[] = [], TLogger extends Logger = Logger>(endpoints: Endpoint<string, HttpMethod, any, any, TServices, TLogger>[], serviceDiscovery: ServiceDiscovery<ServiceRecord<TServices>>, app: Hono, options?: HonoEndpointOptions): void;
43
43
  static addRoute<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TDatabase = undefined, TDatabaseServiceName extends string = string>(endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>, serviceDiscovery: ServiceDiscovery<ServiceRecord<TServices>>, app: Hono): void;
44
44
  static addDocsRoute<TServices extends Service[] = [], TLogger extends Logger = Logger>(endpoints: Endpoint<string, HttpMethod, any, any, TServices, TLogger>[], app: Hono, docsPath: string, openApiOptions?: HonoEndpointOptions['openApiOptions']): void;
@@ -47,4 +47,4 @@ declare class HonoEndpoint<TRoute extends string, TMethod extends HttpMethod, TI
47
47
 
48
48
  //#endregion
49
49
  export { HonoEndpoint, HonoEndpointOptions };
50
- //# sourceMappingURL=HonoEndpointAdaptor-C7BBBYuU.d.mts.map
50
+ //# sourceMappingURL=HonoEndpointAdaptor-BMNAai8a.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HonoEndpointAdaptor-vI3LPiyu.d.cts","names":[],"sources":["../src/endpoints/HonoEndpointAdaptor.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"HonoEndpointAdaptor-BMNAai8a.d.mts","names":[],"sources":["../src/endpoints/HonoEndpointAdaptor.ts"],"sourcesContent":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import "../telemetry-BTaiRqPo.cjs";
4
4
  import "../BaseFunctionBuilder-C-4hYTfj.cjs";
5
5
  import "../Function-CwlB89lS.cjs";
6
6
  import "../FunctionBuilder-D_7f5MfS.cjs";
7
- import "../index-BRbGNZpa.cjs";
7
+ import "../index-0bHR_AbP.cjs";
8
8
  import "../Authorizer-DWtwC8we.cjs";
9
9
  import "../Endpoint-C9N6CmvB.cjs";
10
10
  import "../AmazonApiGatewayEndpointAdaptor-Bxvs-F0F.cjs";
@@ -4,7 +4,7 @@ import "../telemetry-yAHf5yDs.mjs";
4
4
  import "../BaseFunctionBuilder-JpN2FtB4.mjs";
5
5
  import "../Function-DEX2O-SB.mjs";
6
6
  import "../FunctionBuilder-DRw1s5uT.mjs";
7
- import "../index-BRZODuxf.mjs";
7
+ import "../index-DHGtpWKA.mjs";
8
8
  import "../Authorizer-DCcYOx3h.mjs";
9
9
  import "../Endpoint-DU20A9E8.mjs";
10
10
  import "../AmazonApiGatewayEndpointAdaptor-DRG4hu-k.mjs";
@@ -3,8 +3,8 @@ import "../types-B5H3piDg.cjs";
3
3
  import "../BaseFunctionBuilder-C-4hYTfj.cjs";
4
4
  import "../Function-CwlB89lS.cjs";
5
5
  import "../FunctionBuilder-D_7f5MfS.cjs";
6
- import "../index-BRbGNZpa.cjs";
6
+ import "../index-0bHR_AbP.cjs";
7
7
  import "../Authorizer-DWtwC8we.cjs";
8
8
  import "../Endpoint-C9N6CmvB.cjs";
9
- import { HonoEndpoint } from "../HonoEndpointAdaptor-vI3LPiyu.cjs";
9
+ import { HonoEndpoint } from "../HonoEndpointAdaptor-BCql3gLP.cjs";
10
10
  export { HonoEndpoint };
@@ -3,8 +3,8 @@ import "../types-Dw-iLd3Y.mjs";
3
3
  import "../BaseFunctionBuilder-JpN2FtB4.mjs";
4
4
  import "../Function-DEX2O-SB.mjs";
5
5
  import "../FunctionBuilder-DRw1s5uT.mjs";
6
- import "../index-BRZODuxf.mjs";
6
+ import "../index-DHGtpWKA.mjs";
7
7
  import "../Authorizer-DCcYOx3h.mjs";
8
8
  import "../Endpoint-DU20A9E8.mjs";
9
- import { HonoEndpoint } from "../HonoEndpointAdaptor-C7BBBYuU.mjs";
9
+ import { HonoEndpoint } from "../HonoEndpointAdaptor-BMNAai8a.mjs";
10
10
  export { HonoEndpoint };
@@ -3,7 +3,7 @@ import "../types-B5H3piDg.cjs";
3
3
  import "../BaseFunctionBuilder-C-4hYTfj.cjs";
4
4
  import "../Function-CwlB89lS.cjs";
5
5
  import "../FunctionBuilder-D_7f5MfS.cjs";
6
- import "../index-BRbGNZpa.cjs";
6
+ import "../index-0bHR_AbP.cjs";
7
7
  import "../Authorizer-DWtwC8we.cjs";
8
8
  import "../Endpoint-C9N6CmvB.cjs";
9
9
  import { TestEndpointAdaptor } from "../TestEndpointAdaptor-CCf3Dg0u.cjs";
@@ -3,7 +3,7 @@ import "../types-Dw-iLd3Y.mjs";
3
3
  import "../BaseFunctionBuilder-JpN2FtB4.mjs";
4
4
  import "../Function-DEX2O-SB.mjs";
5
5
  import "../FunctionBuilder-DRw1s5uT.mjs";
6
- import "../index-BRZODuxf.mjs";
6
+ import "../index-DHGtpWKA.mjs";
7
7
  import "../Authorizer-DCcYOx3h.mjs";
8
8
  import "../Endpoint-DU20A9E8.mjs";
9
9
  import { TestEndpointAdaptor } from "../TestEndpointAdaptor-oWNADEl4.mjs";
@@ -2,6 +2,6 @@ import "../Construct-CX7HyFfT.cjs";
2
2
  import "../BaseFunctionBuilder-C-4hYTfj.cjs";
3
3
  import "../Function-CwlB89lS.cjs";
4
4
  import "../FunctionBuilder-D_7f5MfS.cjs";
5
- import "../index-BRbGNZpa.cjs";
5
+ import "../index-0bHR_AbP.cjs";
6
6
  import { Cron, CronExpression, RateExpression, ScheduleExpression } from "../Cron-BJWjEj3U.cjs";
7
7
  export { Cron, CronExpression, RateExpression, ScheduleExpression };
@@ -2,6 +2,6 @@ import "../Construct-DvXCkLOP.mjs";
2
2
  import "../BaseFunctionBuilder-JpN2FtB4.mjs";
3
3
  import "../Function-DEX2O-SB.mjs";
4
4
  import "../FunctionBuilder-DRw1s5uT.mjs";
5
- import "../index-BRZODuxf.mjs";
5
+ import "../index-DHGtpWKA.mjs";
6
6
  import { Cron, CronExpression, RateExpression, ScheduleExpression } from "../Cron-BjNvt_Wj.mjs";
7
7
  export { Cron, CronExpression, RateExpression, ScheduleExpression };
@@ -2,7 +2,7 @@ import "../Construct-CX7HyFfT.cjs";
2
2
  import "../BaseFunctionBuilder-C-4hYTfj.cjs";
3
3
  import "../Function-CwlB89lS.cjs";
4
4
  import "../FunctionBuilder-D_7f5MfS.cjs";
5
- import "../index-BRbGNZpa.cjs";
5
+ import "../index-0bHR_AbP.cjs";
6
6
  import "../Cron-BJWjEj3U.cjs";
7
7
  import { CronBuilder } from "../CronBuilder-CmPYae1S.cjs";
8
8
  export { CronBuilder };
@@ -2,7 +2,7 @@ import "../Construct-DvXCkLOP.mjs";
2
2
  import "../BaseFunctionBuilder-JpN2FtB4.mjs";
3
3
  import "../Function-DEX2O-SB.mjs";
4
4
  import "../FunctionBuilder-DRw1s5uT.mjs";
5
- import "../index-BRZODuxf.mjs";
5
+ import "../index-DHGtpWKA.mjs";
6
6
  import "../Cron-BjNvt_Wj.mjs";
7
7
  import { CronBuilder } from "../CronBuilder-X4au0zTu.mjs";
8
8
  export { CronBuilder };