@nocobase/app-server 0.11.1-alpha.5 → 2.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +295 -0
- package/dist/application/index.d.ts +128 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +386 -0
- package/dist/application/index.js.map +1 -0
- package/dist/caching/config.d.ts +2 -0
- package/dist/caching/config.d.ts.map +1 -0
- package/dist/caching/config.js +2 -0
- package/dist/caching/config.js.map +1 -0
- package/dist/caching/index.d.ts +5 -0
- package/dist/caching/index.d.ts.map +1 -0
- package/dist/caching/index.js +4 -0
- package/dist/caching/index.js.map +1 -0
- package/dist/caching/provider.d.ts +8 -0
- package/dist/caching/provider.d.ts.map +1 -0
- package/dist/caching/provider.js +14 -0
- package/dist/caching/provider.js.map +1 -0
- package/dist/caching/token.d.ts +4 -0
- package/dist/caching/token.d.ts.map +1 -0
- package/dist/caching/token.js +3 -0
- package/dist/caching/token.js.map +1 -0
- package/dist/config/app-config-types.d.ts +44 -0
- package/dist/config/app-config-types.d.ts.map +1 -0
- package/dist/config/app-config-types.js +2 -0
- package/dist/config/app-config-types.js.map +1 -0
- package/dist/config/app-config.d.ts +60 -0
- package/dist/config/app-config.d.ts.map +1 -0
- package/dist/config/app-config.js +247 -0
- package/dist/config/app-config.js.map +1 -0
- package/dist/config/context.d.ts +3 -0
- package/dist/config/context.d.ts.map +1 -0
- package/dist/config/context.js +7 -0
- package/dist/config/context.js.map +1 -0
- package/dist/config/define-app-config.d.ts +71 -0
- package/dist/config/define-app-config.d.ts.map +1 -0
- package/dist/config/define-app-config.js +48 -0
- package/dist/config/define-app-config.js.map +1 -0
- package/dist/config/index.d.ts +13 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +11 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/not-configured.d.ts +23 -0
- package/dist/config/not-configured.d.ts.map +1 -0
- package/dist/config/not-configured.js +31 -0
- package/dist/config/not-configured.js.map +1 -0
- package/dist/config/paths.d.ts +27 -0
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +27 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/placeholder-secret.d.ts +19 -0
- package/dist/config/placeholder-secret.d.ts.map +1 -0
- package/dist/config/placeholder-secret.js +26 -0
- package/dist/config/placeholder-secret.js.map +1 -0
- package/dist/config/runtime-environment.d.ts +11 -0
- package/dist/config/runtime-environment.d.ts.map +1 -0
- package/dist/config/runtime-environment.js +20 -0
- package/dist/config/runtime-environment.js.map +1 -0
- package/dist/config/types.d.ts +12 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +2 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/validation.d.ts +36 -0
- package/dist/config/validation.d.ts.map +1 -0
- package/dist/config/validation.js +186 -0
- package/dist/config/validation.js.map +1 -0
- package/dist/config/variables.d.ts +57 -0
- package/dist/config/variables.d.ts.map +1 -0
- package/dist/config/variables.js +89 -0
- package/dist/config/variables.js.map +1 -0
- package/dist/database/collections-artifact.d.ts +99 -0
- package/dist/database/collections-artifact.d.ts.map +1 -0
- package/dist/database/collections-artifact.js +397 -0
- package/dist/database/collections-artifact.js.map +1 -0
- package/dist/database/collections-directory.d.ts +36 -0
- package/dist/database/collections-directory.d.ts.map +1 -0
- package/dist/database/collections-directory.js +115 -0
- package/dist/database/collections-directory.js.map +1 -0
- package/dist/database/collections-doctor.d.ts +43 -0
- package/dist/database/collections-doctor.d.ts.map +1 -0
- package/dist/database/collections-doctor.js +88 -0
- package/dist/database/collections-doctor.js.map +1 -0
- package/dist/database/connection-check.d.ts +25 -0
- package/dist/database/connection-check.d.ts.map +1 -0
- package/dist/database/connection-check.js +65 -0
- package/dist/database/connection-check.js.map +1 -0
- package/dist/database/connection-selection.d.ts +16 -0
- package/dist/database/connection-selection.d.ts.map +1 -0
- package/dist/database/connection-selection.js +30 -0
- package/dist/database/connection-selection.js.map +1 -0
- package/dist/database/define-app-database-config.d.ts +49 -0
- package/dist/database/define-app-database-config.d.ts.map +1 -0
- package/dist/database/define-app-database-config.js +73 -0
- package/dist/database/define-app-database-config.js.map +1 -0
- package/dist/database/environment.d.ts +11 -0
- package/dist/database/environment.d.ts.map +1 -0
- package/dist/database/environment.js +49 -0
- package/dist/database/environment.js.map +1 -0
- package/dist/database/index.d.ts +17 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +16 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/manager.d.ts +16 -0
- package/dist/database/manager.d.ts.map +1 -0
- package/dist/database/manager.js +83 -0
- package/dist/database/manager.js.map +1 -0
- package/dist/database/migrator.d.ts +88 -0
- package/dist/database/migrator.d.ts.map +1 -0
- package/dist/database/migrator.js +143 -0
- package/dist/database/migrator.js.map +1 -0
- package/dist/database/ownership.d.ts +6 -0
- package/dist/database/ownership.d.ts.map +1 -0
- package/dist/database/ownership.js +50 -0
- package/dist/database/ownership.js.map +1 -0
- package/dist/database/plan.d.ts +36 -0
- package/dist/database/plan.d.ts.map +1 -0
- package/dist/database/plan.js +136 -0
- package/dist/database/plan.js.map +1 -0
- package/dist/database/provider.d.ts +43 -0
- package/dist/database/provider.d.ts.map +1 -0
- package/dist/database/provider.js +171 -0
- package/dist/database/provider.js.map +1 -0
- package/dist/database/resolve-config.d.ts +42 -0
- package/dist/database/resolve-config.d.ts.map +1 -0
- package/dist/database/resolve-config.js +118 -0
- package/dist/database/resolve-config.js.map +1 -0
- package/dist/database/seeder.d.ts +50 -0
- package/dist/database/seeder.d.ts.map +1 -0
- package/dist/database/seeder.js +117 -0
- package/dist/database/seeder.js.map +1 -0
- package/dist/database/storage.d.ts +10 -0
- package/dist/database/storage.d.ts.map +1 -0
- package/dist/database/storage.js +37 -0
- package/dist/database/storage.js.map +1 -0
- package/dist/database/task-config.d.ts +7 -0
- package/dist/database/task-config.d.ts.map +1 -0
- package/dist/database/task-config.js +19 -0
- package/dist/database/task-config.js.map +1 -0
- package/dist/database/task-container.d.ts +3 -0
- package/dist/database/task-container.d.ts.map +1 -0
- package/dist/database/task-container.js +34 -0
- package/dist/database/task-container.js.map +1 -0
- package/dist/database/tasks.d.ts +104 -0
- package/dist/database/tasks.d.ts.map +1 -0
- package/dist/database/tasks.js +350 -0
- package/dist/database/tasks.js.map +1 -0
- package/dist/database/types.d.ts +92 -0
- package/dist/database/types.d.ts.map +1 -0
- package/dist/database/types.js +2 -0
- package/dist/database/types.js.map +1 -0
- package/dist/drive/config.d.ts +2 -0
- package/dist/drive/config.d.ts.map +1 -0
- package/dist/drive/config.js +2 -0
- package/dist/drive/config.js.map +1 -0
- package/dist/drive/index.d.ts +5 -0
- package/dist/drive/index.d.ts.map +1 -0
- package/dist/drive/index.js +4 -0
- package/dist/drive/index.js.map +1 -0
- package/dist/drive/provider.d.ts +9 -0
- package/dist/drive/provider.d.ts.map +1 -0
- package/dist/drive/provider.js +22 -0
- package/dist/drive/provider.js.map +1 -0
- package/dist/drive/token.d.ts +4 -0
- package/dist/drive/token.d.ts.map +1 -0
- package/dist/drive/token.js +3 -0
- package/dist/drive/token.js.map +1 -0
- package/dist/i18n/index.d.ts +37 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +44 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/id-generator/config.d.ts +2 -0
- package/dist/id-generator/config.d.ts.map +1 -0
- package/dist/id-generator/config.js +2 -0
- package/dist/id-generator/config.js.map +1 -0
- package/dist/id-generator/index.d.ts +5 -0
- package/dist/id-generator/index.d.ts.map +1 -0
- package/dist/id-generator/index.js +4 -0
- package/dist/id-generator/index.js.map +1 -0
- package/dist/id-generator/provider.d.ts +7 -0
- package/dist/id-generator/provider.d.ts.map +1 -0
- package/dist/id-generator/provider.js +11 -0
- package/dist/id-generator/provider.js.map +1 -0
- package/dist/id-generator/token.d.ts +4 -0
- package/dist/id-generator/token.d.ts.map +1 -0
- package/dist/id-generator/token.js +3 -0
- package/dist/id-generator/token.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/jobs/config.d.ts +2 -0
- package/dist/jobs/config.d.ts.map +1 -0
- package/dist/jobs/config.js +2 -0
- package/dist/jobs/config.js.map +1 -0
- package/dist/jobs/index.d.ts +4 -0
- package/dist/jobs/index.d.ts.map +1 -0
- package/dist/jobs/index.js +4 -0
- package/dist/jobs/index.js.map +1 -0
- package/dist/jobs/provider.d.ts +23 -0
- package/dist/jobs/provider.d.ts.map +1 -0
- package/dist/jobs/provider.js +55 -0
- package/dist/jobs/provider.js.map +1 -0
- package/dist/jobs/token.d.ts +8 -0
- package/dist/jobs/token.d.ts.map +1 -0
- package/dist/jobs/token.js +7 -0
- package/dist/jobs/token.js.map +1 -0
- package/dist/logging/config.d.ts +16 -0
- package/dist/logging/config.d.ts.map +1 -0
- package/dist/logging/config.js +26 -0
- package/dist/logging/config.js.map +1 -0
- package/dist/logging/index.d.ts +5 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +5 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/middleware.d.ts +13 -0
- package/dist/logging/middleware.d.ts.map +1 -0
- package/dist/logging/middleware.js +128 -0
- package/dist/logging/middleware.js.map +1 -0
- package/dist/logging/provider.d.ts +9 -0
- package/dist/logging/provider.d.ts.map +1 -0
- package/dist/logging/provider.js +95 -0
- package/dist/logging/provider.js.map +1 -0
- package/dist/logging/token.d.ts +4 -0
- package/dist/logging/token.d.ts.map +1 -0
- package/dist/logging/token.js +3 -0
- package/dist/logging/token.js.map +1 -0
- package/dist/node/config.d.ts +6 -0
- package/dist/node/config.d.ts.map +1 -0
- package/dist/node/config.js +2 -0
- package/dist/node/config.js.map +1 -0
- package/dist/node/index.d.ts +6 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +6 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/not-configured-message.d.ts +10 -0
- package/dist/node/not-configured-message.d.ts.map +1 -0
- package/dist/node/not-configured-message.js +24 -0
- package/dist/node/not-configured-message.js.map +1 -0
- package/dist/node/proxy.d.ts +25 -0
- package/dist/node/proxy.d.ts.map +1 -0
- package/dist/node/proxy.js +229 -0
- package/dist/node/proxy.js.map +1 -0
- package/dist/node/runtime.d.ts +45 -0
- package/dist/node/runtime.d.ts.map +1 -0
- package/dist/node/runtime.js +176 -0
- package/dist/node/runtime.js.map +1 -0
- package/dist/node/scope.d.ts +55 -0
- package/dist/node/scope.d.ts.map +1 -0
- package/dist/node/scope.js +115 -0
- package/dist/node/scope.js.map +1 -0
- package/dist/node/server.d.ts +80 -0
- package/dist/node/server.d.ts.map +1 -0
- package/dist/node/server.js +283 -0
- package/dist/node/server.js.map +1 -0
- package/dist/plugins/define.d.ts +4 -0
- package/dist/plugins/define.d.ts.map +1 -0
- package/dist/plugins/define.js +45 -0
- package/dist/plugins/define.js.map +1 -0
- package/dist/plugins/index.d.ts +27 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +4 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/inspect.d.ts +79 -0
- package/dist/plugins/inspect.d.ts.map +1 -0
- package/dist/plugins/inspect.js +142 -0
- package/dist/plugins/inspect.js.map +1 -0
- package/dist/plugins/resolve.d.ts +14 -0
- package/dist/plugins/resolve.d.ts.map +1 -0
- package/dist/plugins/resolve.js +101 -0
- package/dist/plugins/resolve.js.map +1 -0
- package/dist/plugins/types.d.ts +91 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +2 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/proxy/http-proxy.d.ts +8 -0
- package/dist/proxy/http-proxy.d.ts.map +1 -0
- package/dist/proxy/http-proxy.js +59 -0
- package/dist/proxy/http-proxy.js.map +1 -0
- package/dist/proxy/index.d.ts +3 -0
- package/dist/proxy/index.d.ts.map +1 -0
- package/dist/proxy/index.js +3 -0
- package/dist/proxy/index.js.map +1 -0
- package/dist/proxy/origin.d.ts +12 -0
- package/dist/proxy/origin.d.ts.map +1 -0
- package/dist/proxy/origin.js +61 -0
- package/dist/proxy/origin.js.map +1 -0
- package/dist/queue/config.d.ts +4 -0
- package/dist/queue/config.d.ts.map +1 -0
- package/dist/queue/config.js +2 -0
- package/dist/queue/config.js.map +1 -0
- package/dist/queue/index.d.ts +4 -0
- package/dist/queue/index.d.ts.map +1 -0
- package/dist/queue/index.js +4 -0
- package/dist/queue/index.js.map +1 -0
- package/dist/queue/provider.d.ts +24 -0
- package/dist/queue/provider.d.ts.map +1 -0
- package/dist/queue/provider.js +57 -0
- package/dist/queue/provider.js.map +1 -0
- package/dist/queue/token.d.ts +9 -0
- package/dist/queue/token.d.ts.map +1 -0
- package/dist/queue/token.js +8 -0
- package/dist/queue/token.js.map +1 -0
- package/dist/realtime/index.d.ts +6 -0
- package/dist/realtime/index.d.ts.map +1 -0
- package/dist/realtime/index.js +6 -0
- package/dist/realtime/index.js.map +1 -0
- package/dist/realtime/provider.d.ts +10 -0
- package/dist/realtime/provider.d.ts.map +1 -0
- package/dist/realtime/provider.js +19 -0
- package/dist/realtime/provider.js.map +1 -0
- package/dist/realtime/service.d.ts +9 -0
- package/dist/realtime/service.d.ts.map +1 -0
- package/dist/realtime/service.js +347 -0
- package/dist/realtime/service.js.map +1 -0
- package/dist/realtime/types.d.ts +74 -0
- package/dist/realtime/types.d.ts.map +1 -0
- package/dist/realtime/types.js +4 -0
- package/dist/realtime/types.js.map +1 -0
- package/dist/realtime/websocket.d.ts +7 -0
- package/dist/realtime/websocket.d.ts.map +1 -0
- package/dist/realtime/websocket.js +57 -0
- package/dist/realtime/websocket.js.map +1 -0
- package/dist/router/api-error.d.ts +171 -0
- package/dist/router/api-error.d.ts.map +1 -0
- package/dist/router/api-error.js +291 -0
- package/dist/router/api-error.js.map +1 -0
- package/dist/router/api-limits.d.ts +80 -0
- package/dist/router/api-limits.d.ts.map +1 -0
- package/dist/router/api-limits.js +281 -0
- package/dist/router/api-limits.js.map +1 -0
- package/dist/router/cli/derive.d.ts +32 -0
- package/dist/router/cli/derive.d.ts.map +1 -0
- package/dist/router/cli/derive.js +548 -0
- package/dist/router/cli/derive.js.map +1 -0
- package/dist/router/cli/index.d.ts +6 -0
- package/dist/router/cli/index.d.ts.map +1 -0
- package/dist/router/cli/index.js +6 -0
- package/dist/router/cli/index.js.map +1 -0
- package/dist/router/cli/reference.d.ts +9 -0
- package/dist/router/cli/reference.d.ts.map +1 -0
- package/dist/router/cli/reference.js +64 -0
- package/dist/router/cli/reference.js.map +1 -0
- package/dist/router/cli/routes.d.ts +9 -0
- package/dist/router/cli/routes.d.ts.map +1 -0
- package/dist/router/cli/routes.js +228 -0
- package/dist/router/cli/routes.js.map +1 -0
- package/dist/router/cli/service.d.ts +50 -0
- package/dist/router/cli/service.d.ts.map +1 -0
- package/dist/router/cli/service.js +104 -0
- package/dist/router/cli/service.js.map +1 -0
- package/dist/router/cli/types.d.ts +278 -0
- package/dist/router/cli/types.d.ts.map +1 -0
- package/dist/router/cli/types.js +18 -0
- package/dist/router/cli/types.js.map +1 -0
- package/dist/router/duplicate-routes.d.ts +25 -0
- package/dist/router/duplicate-routes.d.ts.map +1 -0
- package/dist/router/duplicate-routes.js +51 -0
- package/dist/router/duplicate-routes.js.map +1 -0
- package/dist/router/health.d.ts +7 -0
- package/dist/router/health.d.ts.map +1 -0
- package/dist/router/health.js +48 -0
- package/dist/router/health.js.map +1 -0
- package/dist/router/index.d.ts +26 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +29 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/openapi/components.d.ts +24 -0
- package/dist/router/openapi/components.d.ts.map +1 -0
- package/dist/router/openapi/components.js +128 -0
- package/dist/router/openapi/components.js.map +1 -0
- package/dist/router/openapi/declared.d.ts +19 -0
- package/dist/router/openapi/declared.d.ts.map +1 -0
- package/dist/router/openapi/declared.js +46 -0
- package/dist/router/openapi/declared.js.map +1 -0
- package/dist/router/openapi/describe.d.ts +82 -0
- package/dist/router/openapi/describe.d.ts.map +1 -0
- package/dist/router/openapi/describe.js +207 -0
- package/dist/router/openapi/describe.js.map +1 -0
- package/dist/router/openapi/docs-routes.d.ts +10 -0
- package/dist/router/openapi/docs-routes.d.ts.map +1 -0
- package/dist/router/openapi/docs-routes.js +157 -0
- package/dist/router/openapi/docs-routes.js.map +1 -0
- package/dist/router/openapi/document.d.ts +151 -0
- package/dist/router/openapi/document.d.ts.map +1 -0
- package/dist/router/openapi/document.js +471 -0
- package/dist/router/openapi/document.js.map +1 -0
- package/dist/router/openapi/index.d.ts +7 -0
- package/dist/router/openapi/index.d.ts.map +1 -0
- package/dist/router/openapi/index.js +7 -0
- package/dist/router/openapi/index.js.map +1 -0
- package/dist/router/openapi/repository-document.d.ts +30 -0
- package/dist/router/openapi/repository-document.d.ts.map +1 -0
- package/dist/router/openapi/repository-document.js +812 -0
- package/dist/router/openapi/repository-document.js.map +1 -0
- package/dist/router/openapi/schema.d.ts +30 -0
- package/dist/router/openapi/schema.d.ts.map +1 -0
- package/dist/router/openapi/schema.js +301 -0
- package/dist/router/openapi/schema.js.map +1 -0
- package/dist/router/openapi/service.d.ts +101 -0
- package/dist/router/openapi/service.d.ts.map +1 -0
- package/dist/router/openapi/service.js +162 -0
- package/dist/router/openapi/service.js.map +1 -0
- package/dist/router/repository-constraints.d.ts +15 -0
- package/dist/router/repository-constraints.d.ts.map +1 -0
- package/dist/router/repository-constraints.js +14 -0
- package/dist/router/repository-constraints.js.map +1 -0
- package/dist/router/repository-routes.d.ts +90 -0
- package/dist/router/repository-routes.d.ts.map +1 -0
- package/dist/router/repository-routes.js +452 -0
- package/dist/router/repository-routes.js.map +1 -0
- package/dist/router/routes.d.ts +24 -0
- package/dist/router/routes.d.ts.map +1 -0
- package/dist/router/routes.js +19 -0
- package/dist/router/routes.js.map +1 -0
- package/dist/runtime/application.d.ts +8 -0
- package/dist/runtime/application.d.ts.map +1 -0
- package/dist/runtime/application.js +22 -0
- package/dist/runtime/application.js.map +1 -0
- package/dist/runtime/definition.d.ts +50 -0
- package/dist/runtime/definition.d.ts.map +1 -0
- package/dist/runtime/definition.js +82 -0
- package/dist/runtime/definition.js.map +1 -0
- package/dist/runtime/index.d.ts +8 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +7 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/lifecycle.d.ts +29 -0
- package/dist/runtime/lifecycle.d.ts.map +1 -0
- package/dist/runtime/lifecycle.js +104 -0
- package/dist/runtime/lifecycle.js.map +1 -0
- package/dist/runtime/mount.d.ts +4 -0
- package/dist/runtime/mount.d.ts.map +1 -0
- package/dist/runtime/mount.js +47 -0
- package/dist/runtime/mount.js.map +1 -0
- package/dist/runtime/scope.d.ts +29 -0
- package/dist/runtime/scope.d.ts.map +1 -0
- package/dist/runtime/scope.js +48 -0
- package/dist/runtime/scope.js.map +1 -0
- package/dist/runtime/types.d.ts +55 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +2 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/sample-data/index.d.ts +3 -0
- package/dist/sample-data/index.d.ts.map +1 -0
- package/dist/sample-data/index.js +3 -0
- package/dist/sample-data/index.js.map +1 -0
- package/dist/sample-data/registry.d.ts +4 -0
- package/dist/sample-data/registry.d.ts.map +1 -0
- package/dist/sample-data/registry.js +74 -0
- package/dist/sample-data/registry.js.map +1 -0
- package/dist/sample-data/token.d.ts +64 -0
- package/dist/sample-data/token.d.ts.map +1 -0
- package/dist/sample-data/token.js +7 -0
- package/dist/sample-data/token.js.map +1 -0
- package/dist/secrets/config.d.ts +15 -0
- package/dist/secrets/config.d.ts.map +1 -0
- package/dist/secrets/config.js +43 -0
- package/dist/secrets/config.js.map +1 -0
- package/dist/secrets/index.d.ts +6 -0
- package/dist/secrets/index.d.ts.map +1 -0
- package/dist/secrets/index.js +6 -0
- package/dist/secrets/index.js.map +1 -0
- package/dist/secrets/provider.d.ts +7 -0
- package/dist/secrets/provider.d.ts.map +1 -0
- package/dist/secrets/provider.js +10 -0
- package/dist/secrets/provider.js.map +1 -0
- package/dist/secrets/service.d.ts +64 -0
- package/dist/secrets/service.d.ts.map +1 -0
- package/dist/secrets/service.js +47 -0
- package/dist/secrets/service.js.map +1 -0
- package/dist/secrets/table-store.d.ts +34 -0
- package/dist/secrets/table-store.d.ts.map +1 -0
- package/dist/secrets/table-store.js +118 -0
- package/dist/secrets/table-store.js.map +1 -0
- package/dist/secrets/token.d.ts +4 -0
- package/dist/secrets/token.d.ts.map +1 -0
- package/dist/secrets/token.js +3 -0
- package/dist/secrets/token.js.map +1 -0
- package/dist/session/config.d.ts +10 -0
- package/dist/session/config.d.ts.map +1 -0
- package/dist/session/config.js +2 -0
- package/dist/session/config.js.map +1 -0
- package/dist/session/index.d.ts +4 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +4 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/provider.d.ts +26 -0
- package/dist/session/provider.d.ts.map +1 -0
- package/dist/session/provider.js +69 -0
- package/dist/session/provider.js.map +1 -0
- package/dist/session/token.d.ts +4 -0
- package/dist/session/token.d.ts.map +1 -0
- package/dist/session/token.js +3 -0
- package/dist/session/token.js.map +1 -0
- package/dist/spa/config.d.ts +5 -0
- package/dist/spa/config.d.ts.map +1 -0
- package/dist/spa/config.js +2 -0
- package/dist/spa/config.js.map +1 -0
- package/dist/spa/content-types.d.ts +2 -0
- package/dist/spa/content-types.d.ts.map +1 -0
- package/dist/spa/content-types.js +25 -0
- package/dist/spa/content-types.js.map +1 -0
- package/dist/spa/index.d.ts +9 -0
- package/dist/spa/index.d.ts.map +1 -0
- package/dist/spa/index.js +9 -0
- package/dist/spa/index.js.map +1 -0
- package/dist/spa/provider.d.ts +13 -0
- package/dist/spa/provider.d.ts.map +1 -0
- package/dist/spa/provider.js +90 -0
- package/dist/spa/provider.js.map +1 -0
- package/dist/spa/routes.d.ts +4 -0
- package/dist/spa/routes.d.ts.map +1 -0
- package/dist/spa/routes.js +96 -0
- package/dist/spa/routes.js.map +1 -0
- package/dist/spa/runtime-html.d.ts +14 -0
- package/dist/spa/runtime-html.d.ts.map +1 -0
- package/dist/spa/runtime-html.js +85 -0
- package/dist/spa/runtime-html.js.map +1 -0
- package/dist/spa/serve-index.d.ts +9 -0
- package/dist/spa/serve-index.d.ts.map +1 -0
- package/dist/spa/serve-index.js +12 -0
- package/dist/spa/serve-index.js.map +1 -0
- package/dist/spa/static-assets.d.ts +7 -0
- package/dist/spa/static-assets.d.ts.map +1 -0
- package/dist/spa/static-assets.js +90 -0
- package/dist/spa/static-assets.js.map +1 -0
- package/dist/spa/types.d.ts +23 -0
- package/dist/spa/types.d.ts.map +1 -0
- package/dist/spa/types.js +2 -0
- package/dist/spa/types.js.map +1 -0
- package/dist/support/index.d.ts +4 -0
- package/dist/support/index.d.ts.map +1 -0
- package/dist/support/index.js +4 -0
- package/dist/support/index.js.map +1 -0
- package/dist/support/paths.d.ts +10 -0
- package/dist/support/paths.d.ts.map +1 -0
- package/dist/support/paths.js +25 -0
- package/dist/support/paths.js.map +1 -0
- package/dist/support/redirects.d.ts +3 -0
- package/dist/support/redirects.d.ts.map +1 -0
- package/dist/support/redirects.js +48 -0
- package/dist/support/redirects.js.map +1 -0
- package/dist/support/requests.d.ts +2 -0
- package/dist/support/requests.d.ts.map +1 -0
- package/dist/support/requests.js +13 -0
- package/dist/support/requests.js.map +1 -0
- package/dist/swagger-ui/LICENSE +202 -0
- package/dist/swagger-ui/NOTICE +2 -0
- package/dist/swagger-ui/favicon-16x16.png +0 -0
- package/dist/swagger-ui/favicon-32x32.png +0 -0
- package/dist/swagger-ui/swagger-ui-bundle.js +2 -0
- package/dist/swagger-ui/swagger-ui-bundle.js.LICENSE.txt +129 -0
- package/dist/swagger-ui/swagger-ui.css +3 -0
- package/dist/websocket.d.ts +61 -0
- package/dist/websocket.d.ts.map +1 -0
- package/dist/websocket.js +371 -0
- package/dist/websocket.js.map +1 -0
- package/package.json +193 -12
- package/LICENSE +0 -661
- package/lib/config/cache.d.ts +0 -2
- package/lib/config/cache.js +0 -16
- package/lib/config/database.d.ts +0 -3
- package/lib/config/database.js +0 -25
- package/lib/config/index.d.ts +0 -10
- package/lib/config/index.js +0 -20
- package/lib/config/logger.d.ts +0 -3
- package/lib/config/logger.js +0 -11
- package/lib/config/plugins.d.ts +0 -3
- package/lib/config/plugins.js +0 -8
- package/lib/config/resourcer.d.ts +0 -4
- package/lib/config/resourcer.js +0 -10
- package/lib/index.d.ts +0 -3
- package/lib/index.js +0 -21
- package/src/config/cache.ts +0 -5
- package/src/config/database.ts +0 -21
- package/src/config/index.ts +0 -13
- package/src/config/logger.ts +0 -6
- package/src/config/plugins.ts +0 -3
- package/src/config/resourcer.ts +0 -3
- package/src/index.ts +0 -10
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { readFile } from 'node:fs/promises';
|
|
3
|
+
import { createRequire } from 'node:module';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import { fileURLToPath } from 'node:url';
|
|
6
|
+
import { Hono } from 'hono';
|
|
7
|
+
import { describeRoute } from 'hono-openapi';
|
|
8
|
+
import { createMiddleware } from 'hono/factory';
|
|
9
|
+
import { ApiError, apiErrorHandler, apiNotFoundHandler, appErrorDomain, } from '../api-error.js';
|
|
10
|
+
/** The Swagger UI files the page loads, with their content types. The build copies exactly these into `dist/swagger-ui`. */
|
|
11
|
+
export const swaggerUiAssets = Object.freeze({
|
|
12
|
+
'swagger-ui-bundle.js': 'text/javascript; charset=utf-8',
|
|
13
|
+
'swagger-ui.css': 'text/css; charset=utf-8',
|
|
14
|
+
'favicon-32x32.png': 'image/png',
|
|
15
|
+
'favicon-16x16.png': 'image/png',
|
|
16
|
+
});
|
|
17
|
+
/**
|
|
18
|
+
* Where the Swagger UI files are read from: `dist/swagger-ui`, which the build fills, when this module runs from the
|
|
19
|
+
* published `dist`; otherwise the `swagger-ui-dist` package, which a source checkout has installed as a development
|
|
20
|
+
* dependency.
|
|
21
|
+
*/
|
|
22
|
+
function swaggerUiDirectory() {
|
|
23
|
+
const built = fileURLToPath(new URL('../../swagger-ui/', import.meta.url));
|
|
24
|
+
if (existsSync(path.join(built, 'swagger-ui-bundle.js')))
|
|
25
|
+
return built;
|
|
26
|
+
try {
|
|
27
|
+
return path.dirname(createRequire(import.meta.url).resolve('swagger-ui-dist/package.json'));
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const assetCache = new Map();
|
|
34
|
+
function readAsset(name) {
|
|
35
|
+
let cached = assetCache.get(name);
|
|
36
|
+
if (!cached) {
|
|
37
|
+
const directory = swaggerUiDirectory();
|
|
38
|
+
cached = directory
|
|
39
|
+
? readFile(path.join(directory, name)).then((buffer) => new Uint8Array(buffer))
|
|
40
|
+
: Promise.reject(new Error('Swagger UI is not installed.'));
|
|
41
|
+
assetCache.set(name, cached);
|
|
42
|
+
cached.catch(() => assetCache.delete(name));
|
|
43
|
+
}
|
|
44
|
+
return cached;
|
|
45
|
+
}
|
|
46
|
+
const initializer = `window.ui = SwaggerUIBundle({
|
|
47
|
+
url: '../swagger',
|
|
48
|
+
dom_id: '#swagger-ui',
|
|
49
|
+
deepLinking: true,
|
|
50
|
+
// Keep what "Authorize" was given, such as an API key, across reloads of the page. A signed-in session needs
|
|
51
|
+
// nothing here: the browser sends its cookie with every request the page makes to its own origin.
|
|
52
|
+
persistAuthorization: true,
|
|
53
|
+
});
|
|
54
|
+
`;
|
|
55
|
+
function escapeHtml(value) {
|
|
56
|
+
return value.replace(/[&<>"']/g, (character) => ({
|
|
57
|
+
'&': '&',
|
|
58
|
+
'<': '<',
|
|
59
|
+
'>': '>',
|
|
60
|
+
'"': '"',
|
|
61
|
+
"'": ''',
|
|
62
|
+
})[character]);
|
|
63
|
+
}
|
|
64
|
+
// The page lives at /api/swagger/docs, so `docs/<file>` resolves to /api/swagger/docs/<file> and `../swagger` in the
|
|
65
|
+
// initializer to /api/swagger, under whatever base path the application is served at.
|
|
66
|
+
function page(title) {
|
|
67
|
+
return `<!doctype html>
|
|
68
|
+
<html lang="en">
|
|
69
|
+
<head>
|
|
70
|
+
<meta charset="utf-8" />
|
|
71
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
72
|
+
<title>${escapeHtml(title)}</title>
|
|
73
|
+
<link rel="icon" type="image/png" href="docs/favicon-32x32.png" sizes="32x32" />
|
|
74
|
+
<link rel="icon" type="image/png" href="docs/favicon-16x16.png" sizes="16x16" />
|
|
75
|
+
<link rel="stylesheet" href="docs/swagger-ui.css" />
|
|
76
|
+
</head>
|
|
77
|
+
<body>
|
|
78
|
+
<div id="swagger-ui"></div>
|
|
79
|
+
<script src="docs/swagger-ui-bundle.js"></script>
|
|
80
|
+
<script src="docs/initializer.js"></script>
|
|
81
|
+
</body>
|
|
82
|
+
</html>
|
|
83
|
+
`;
|
|
84
|
+
}
|
|
85
|
+
function accessGuard(service) {
|
|
86
|
+
return createMiddleware(async (context, next) => {
|
|
87
|
+
// Without any access check the application cannot tell who is asking, so the documentation does not exist.
|
|
88
|
+
if (!service.hasAccessChecks())
|
|
89
|
+
return apiNotFoundHandler(context);
|
|
90
|
+
if (!(await service.canRead(context))) {
|
|
91
|
+
throw new ApiError({
|
|
92
|
+
status: 'UNAUTHENTICATED',
|
|
93
|
+
reason: 'API_DOCS_UNAUTHENTICATED',
|
|
94
|
+
domain: appErrorDomain,
|
|
95
|
+
message: 'Sign in or present an API key to read the API documentation.',
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
await next();
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* `GET /swagger` (the OpenAPI document), `GET /swagger/docs` (Swagger UI) and the page's files, mounted under `/api`.
|
|
103
|
+
* Every one is hidden from the document it serves and guarded by the service's access checks.
|
|
104
|
+
*/
|
|
105
|
+
export function createApiDocsRouter(service) {
|
|
106
|
+
const router = new Hono();
|
|
107
|
+
router.onError(apiErrorHandler);
|
|
108
|
+
const guard = accessGuard(service);
|
|
109
|
+
router.get('/swagger',
|
|
110
|
+
// The documentation itself, not an operation of the API it documents.
|
|
111
|
+
describeRoute({ hide: true }), guard, async (context) => {
|
|
112
|
+
context.header('Cache-Control', 'no-store');
|
|
113
|
+
return context.json(await service.getDocument());
|
|
114
|
+
});
|
|
115
|
+
router.get('/swagger/docs',
|
|
116
|
+
// A browser page over the document above.
|
|
117
|
+
describeRoute({ hide: true }), guard, async (context) => {
|
|
118
|
+
const document = await service.getDocument();
|
|
119
|
+
context.header('Cache-Control', 'no-store');
|
|
120
|
+
return context.html(page(`${document.info.title} API`));
|
|
121
|
+
});
|
|
122
|
+
router.get('/swagger/docs/:file',
|
|
123
|
+
// Static files of the Swagger UI page.
|
|
124
|
+
describeRoute({ hide: true }), guard, async (context) => {
|
|
125
|
+
const file = context.req.param('file');
|
|
126
|
+
if (file === 'initializer.js') {
|
|
127
|
+
return context.body(initializer, 200, {
|
|
128
|
+
'Content-Type': 'text/javascript; charset=utf-8',
|
|
129
|
+
'Cache-Control': 'no-cache',
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
const contentType = Object.hasOwn(swaggerUiAssets, file)
|
|
133
|
+
? swaggerUiAssets[file]
|
|
134
|
+
: undefined;
|
|
135
|
+
if (!contentType)
|
|
136
|
+
return apiNotFoundHandler(context);
|
|
137
|
+
let content;
|
|
138
|
+
try {
|
|
139
|
+
content = await readAsset(file);
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
throw new ApiError({
|
|
143
|
+
status: 'UNAVAILABLE',
|
|
144
|
+
reason: 'API_DOCS_ASSETS_MISSING',
|
|
145
|
+
domain: appErrorDomain,
|
|
146
|
+
message: 'The Swagger UI files are not installed with this build.',
|
|
147
|
+
cause: error,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
return context.body(content, 200, {
|
|
151
|
+
'Content-Type': contentType,
|
|
152
|
+
'Cache-Control': 'private, max-age=3600',
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
return router;
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=docs-routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs-routes.js","sourceRoot":"","sources":["../../../src/router/openapi/docs-routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import type { Hono } from 'hono';
|
|
2
|
+
import { type DescribeRouteOptions } from 'hono-openapi';
|
|
3
|
+
import type { OpenAPIV3_1 } from 'openapi-types';
|
|
4
|
+
export type ApiDocument = OpenAPIV3_1.Document;
|
|
5
|
+
export interface ApiDocumentInfo {
|
|
6
|
+
readonly title: string;
|
|
7
|
+
readonly version: string;
|
|
8
|
+
readonly description?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Paths, components and tags a plugin contributes to the document for routes it does not declare with
|
|
12
|
+
* `describeRoute()`, such as Better Auth's. Paths are full paths below the application's base path, starting with
|
|
13
|
+
* `/api/`.
|
|
14
|
+
*/
|
|
15
|
+
export interface ApiDocumentFragment {
|
|
16
|
+
/** Who contributes the fragment, such as a plugin's package name. Named in warnings. */
|
|
17
|
+
readonly owner: string;
|
|
18
|
+
/**
|
|
19
|
+
* camelCase prefix for an `operationId` or component name that collides with one already in the document. Defaults
|
|
20
|
+
* to the owner's package name without its scope and `app-plugin-`, in camelCase.
|
|
21
|
+
*/
|
|
22
|
+
readonly namespace?: string;
|
|
23
|
+
readonly paths?: OpenAPIV3_1.PathsObject;
|
|
24
|
+
readonly components?: OpenAPIV3_1.ComponentsObject;
|
|
25
|
+
readonly tags?: readonly OpenAPIV3_1.TagObject[];
|
|
26
|
+
/**
|
|
27
|
+
* Security requirements the fragment adds to the document's top-level `security`, naming schemes declared in its
|
|
28
|
+
* `components.securitySchemes`. The document lists every contributed requirement, each one an alternative: a
|
|
29
|
+
* request satisfying any of them is authenticated, such as `[{ cookieAuth: [] }, { apiKeyAuth: [] }]`. A route that
|
|
30
|
+
* needs no credential declares `security: []` in its `describeRoute()`. With nothing contributed the document has no
|
|
31
|
+
* top-level `security`.
|
|
32
|
+
*/
|
|
33
|
+
readonly security?: readonly OpenAPIV3_1.SecurityRequirementObject[];
|
|
34
|
+
}
|
|
35
|
+
export interface GenerateApiDocumentOptions {
|
|
36
|
+
readonly info: ApiDocumentInfo;
|
|
37
|
+
/** The path the router is mounted at. Defaults to `/api`. */
|
|
38
|
+
readonly prefix?: string;
|
|
39
|
+
readonly servers?: readonly OpenAPIV3_1.ServerObject[];
|
|
40
|
+
readonly fragments?: readonly ApiDocumentFragment[];
|
|
41
|
+
/**
|
|
42
|
+
* Routes behind runtime dispatchers, documented like declared routes at their own prefix. Defaults to the source's
|
|
43
|
+
* `forwardedApiRoutes`.
|
|
44
|
+
*/
|
|
45
|
+
readonly forwarded?: ApiForwardedRoutes;
|
|
46
|
+
/** Receives what the merge had to drop or rename, such as a fragment operation colliding with a declared route. */
|
|
47
|
+
readonly onWarning?: (message: string) => void;
|
|
48
|
+
}
|
|
49
|
+
/** One endpoint of an API router and what `describeRoute()` declared for it. */
|
|
50
|
+
export interface ApiRouteDeclaration {
|
|
51
|
+
readonly method: string;
|
|
52
|
+
/** The Hono path including the prefix, such as `/api/users/:userId`. */
|
|
53
|
+
readonly path: string;
|
|
54
|
+
/** Whether a `describeRoute()` applies to it, including `describeRoute({ hide: true })`. */
|
|
55
|
+
readonly declared: boolean;
|
|
56
|
+
readonly hidden: boolean;
|
|
57
|
+
/** The `operationId` the declaration names; absent when the document would have to invent one. */
|
|
58
|
+
readonly operationId?: string;
|
|
59
|
+
readonly tags?: readonly string[];
|
|
60
|
+
readonly summary?: string;
|
|
61
|
+
/** For an endpoint registered with `addUndeclaredApiRoute`, why it cannot be described. */
|
|
62
|
+
readonly reason?: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* A Hono router a runtime dispatcher forwards requests to. The dispatcher is a single catch-all on the `/api` router,
|
|
66
|
+
* so the router's routes are invisible there; registering it lets the document and the route inspection treat them
|
|
67
|
+
* exactly like routes mounted on `/api`.
|
|
68
|
+
*/
|
|
69
|
+
export interface ApiForwardedRouter {
|
|
70
|
+
/** Who registers the router, such as a plugin's package name. Named in warnings and duplicate-route errors. */
|
|
71
|
+
readonly owner: string;
|
|
72
|
+
/** The full path the router's own paths are appended to, `/api` or below it, such as `/api/authorization`. */
|
|
73
|
+
readonly prefix: string;
|
|
74
|
+
/**
|
|
75
|
+
* The sub-path below `prefix` the dispatcher actually forwards to this router, such as `/sharingRules`, when the
|
|
76
|
+
* router's paths include it. A route the router declares outside `prefix` + `scope` is never reached: it is left out
|
|
77
|
+
* of the document and the duplicate-route check and reported as undeclared. Defaults to all of `prefix`.
|
|
78
|
+
*/
|
|
79
|
+
readonly scope?: string;
|
|
80
|
+
readonly router: Hono;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* An endpoint a runtime dispatcher forwards to that the framework cannot see into, such as a plain function handler.
|
|
84
|
+
* It always counts as undeclared and never appears in the document.
|
|
85
|
+
*/
|
|
86
|
+
export interface ApiUndeclaredRoute {
|
|
87
|
+
/** Who registers the endpoint, such as a plugin's package name. */
|
|
88
|
+
readonly owner: string;
|
|
89
|
+
/** The HTTP method, or `ALL` for a handler answering every method. */
|
|
90
|
+
readonly method: string;
|
|
91
|
+
/** The full path, such as `/api/authorization/handWritten`. */
|
|
92
|
+
readonly path: string;
|
|
93
|
+
/** Why the endpoint cannot be described, reported with it. */
|
|
94
|
+
readonly reason?: string;
|
|
95
|
+
}
|
|
96
|
+
/** What runtime dispatchers forward to, as registered on the `ApiDocsService`. */
|
|
97
|
+
export interface ApiForwardedRoutes {
|
|
98
|
+
readonly routers: readonly ApiForwardedRouter[];
|
|
99
|
+
readonly undeclared: readonly ApiUndeclaredRoute[];
|
|
100
|
+
}
|
|
101
|
+
/** An application whose API router can be inspected once its routes are registered. */
|
|
102
|
+
export interface ApiRouterSource {
|
|
103
|
+
readonly apiRouter: Hono | undefined;
|
|
104
|
+
/** Routes behind runtime dispatchers, inspected and documented along with `apiRouter`'s own. */
|
|
105
|
+
readonly forwardedApiRoutes?: ApiForwardedRoutes;
|
|
106
|
+
}
|
|
107
|
+
/** The `describeRoute()` declaration a handler carries, if it is one. */
|
|
108
|
+
export declare function describeSpecOf(handler: unknown): DescribeRouteOptions | undefined;
|
|
109
|
+
/**
|
|
110
|
+
* Every endpoint of an API router with what `describeRoute()` declares for it, in registration order. The application's
|
|
111
|
+
* catch-all for unknown paths is not an endpoint and is left out. A declaration applied with `router.use()` counts for
|
|
112
|
+
* the paths below it, as it does in the document.
|
|
113
|
+
*
|
|
114
|
+
* For an application, or anything else carrying `forwardedApiRoutes`, the routes of every router registered with
|
|
115
|
+
* `addApiRouter` follow at their own prefix, judged the same way, and every endpoint registered with
|
|
116
|
+
* `addUndeclaredApiRoute` follows as undeclared.
|
|
117
|
+
*/
|
|
118
|
+
export declare function inspectApiRoutes(source: Hono | ApiRouterSource, prefix?: string): ApiRouteDeclaration[];
|
|
119
|
+
/** The full path a dispatcher forwards to a registered router: its prefix followed by its scope. */
|
|
120
|
+
export declare function forwardedPath(registration: ApiForwardedRouter): string;
|
|
121
|
+
/** Whether the dispatcher forwards a request for `path`, a full path such as `/api/authorization/x`, to the router. */
|
|
122
|
+
export declare function isForwardedTo(registration: ApiForwardedRouter, path: string): boolean;
|
|
123
|
+
/**
|
|
124
|
+
* The endpoints that declare nothing: neither `describeRoute({...})` nor `describeRoute({ hide: true })`. For an
|
|
125
|
+
* application this includes the routes behind runtime dispatchers, and every endpoint registered with
|
|
126
|
+
* `addUndeclaredApiRoute`. Each is a defect the API document check reports.
|
|
127
|
+
*/
|
|
128
|
+
export declare function findUndeclaredApiRoutes(source: Hono | ApiRouterSource, prefix?: string): {
|
|
129
|
+
readonly method: string;
|
|
130
|
+
readonly path: string;
|
|
131
|
+
}[];
|
|
132
|
+
/**
|
|
133
|
+
* Generate the OpenAPI 3.1 document for an API router: every route declared with `describeRoute()` and not hidden,
|
|
134
|
+
* data endpoints expanded from their Collections, and the fragments merged in.
|
|
135
|
+
*/
|
|
136
|
+
export declare function generateApiDocument(source: Hono | ApiRouterSource, options: GenerateApiDocumentOptions): Promise<ApiDocument>;
|
|
137
|
+
/**
|
|
138
|
+
* Merge one fragment into a document in place.
|
|
139
|
+
*
|
|
140
|
+
* - A component whose name is free is added; one identical to an existing component is shared; one that differs is
|
|
141
|
+
* renamed with the fragment's namespace in PascalCase as prefix (`AuthSession`; a security scheme takes it in
|
|
142
|
+
* camelCase, `authCookieAuth`), and every `$ref` and security requirement in the fragment follows the rename.
|
|
143
|
+
* - An operation whose method and path the document already has is dropped with a warning: a declared route is what
|
|
144
|
+
* actually answers.
|
|
145
|
+
* - An `operationId` already in use is prefixed with the namespace (`authSignIn`), then numbered if still taken.
|
|
146
|
+
* - Tags merge by name; a description already in the document wins.
|
|
147
|
+
* - Security requirements are appended to the document's top-level `security` unless an identical one is already
|
|
148
|
+
* there, following any rename of the security schemes they name.
|
|
149
|
+
*/
|
|
150
|
+
export declare function mergeApiDocumentFragment(document: ApiDocument, fragment: ApiDocumentFragment, onWarning?: (message: string) => void): void;
|
|
151
|
+
//# sourceMappingURL=document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/router/openapi/document.ts"],"names":[],"mappings":"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"}
|