@terreno/mcp 0.21.0 → 0.22.1
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/dist/docs/versioned/0.21.0/README.md +29 -0
- package/dist/docs/versioned/0.21.0/explanation/README.md +13 -0
- package/dist/docs/versioned/0.21.0/explanation/ai-workflows.md +270 -0
- package/dist/docs/versioned/0.21.0/explanation/authentication.md +438 -0
- package/dist/docs/versioned/0.21.0/explanation/configuration-system.md +428 -0
- package/dist/docs/versioned/0.21.0/explanation/dependency-management.md +192 -0
- package/dist/docs/versioned/0.21.0/explanation/gcp-hosting-architecture.md +319 -0
- package/dist/docs/versioned/0.21.0/explanation/model-router-actions.md +156 -0
- package/dist/docs/versioned/0.21.0/explanation/modular-api-design.md +228 -0
- package/dist/docs/versioned/0.21.0/how-to/README.md +20 -0
- package/dist/docs/versioned/0.21.0/how-to/add-feature-flags.md +115 -0
- package/dist/docs/versioned/0.21.0/how-to/add-github-oauth.md +316 -0
- package/dist/docs/versioned/0.21.0/how-to/configure-better-auth.md +296 -0
- package/dist/docs/versioned/0.21.0/how-to/create-a-model.md +165 -0
- package/dist/docs/versioned/0.21.0/how-to/deploy-to-gcp.md +244 -0
- package/dist/docs/versioned/0.21.0/how-to/upgrade-banner.md +172 -0
- package/dist/docs/versioned/0.21.0/how-to/websocket-integration.md +416 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/IP_TEMPLATE.md +47 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/ModularAPI.md +844 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/PLAN_INDEX.md +21 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/README.md +42 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/admin-improvements.md +577 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/admin-only-research.md +258 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/admin-only.md +616 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/admin-script-runner.md +107 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/admin-ui-v2-django-parity.md +204 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/consent-forms.md +417 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/design-blend-skill.md +188 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/docs-site-and-versioning.md +138 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/feature-flags-openfeature.md +545 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/feature-flags.md +310 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/mcp-boost-parity.md +246 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/model-router-actions.md +639 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/model-router-mcp.md +186 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/offline-mode.md +311 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/terreno-langfuse-integration.md +145 -0
- package/dist/docs/versioned/0.21.0/implementationPlans/upgrade-banner.md +275 -0
- package/dist/docs/versioned/0.21.0/reference/README.md +22 -0
- package/dist/docs/versioned/0.21.0/reference/admin-backend.md +122 -0
- package/dist/docs/versioned/0.21.0/reference/admin-frontend.md +205 -0
- package/dist/docs/versioned/0.21.0/reference/api-health.md +81 -0
- package/dist/docs/versioned/0.21.0/reference/api.md +1205 -0
- package/dist/docs/versioned/0.21.0/reference/components/README.mdx +65 -0
- package/dist/docs/versioned/0.21.0/reference/components/accordion.mdx +36 -0
- package/dist/docs/versioned/0.21.0/reference/components/addressfield.mdx +26 -0
- package/dist/docs/versioned/0.21.0/reference/components/ai-suggestion-box.mdx +26 -0
- package/dist/docs/versioned/0.21.0/reference/components/avatar.mdx +35 -0
- package/dist/docs/versioned/0.21.0/reference/components/badge.mdx +38 -0
- package/dist/docs/versioned/0.21.0/reference/components/banner.mdx +26 -0
- package/dist/docs/versioned/0.21.0/reference/components/boolean-field.mdx +34 -0
- package/dist/docs/versioned/0.21.0/reference/components/box.mdx +26 -0
- package/dist/docs/versioned/0.21.0/reference/components/button.mdx +43 -0
- package/dist/docs/versioned/0.21.0/reference/components/card.mdx +26 -0
- package/dist/docs/versioned/0.21.0/reference/components/checkbox.mdx +29 -0
- package/dist/docs/versioned/0.21.0/reference/components/consentformscreen.mdx +26 -0
- package/dist/docs/versioned/0.21.0/reference/components/custom-select-field.mdx +34 -0
- package/dist/docs/versioned/0.21.0/reference/components/datatable.mdx +41 -0
- package/dist/docs/versioned/0.21.0/reference/components/date-time-field.mdx +48 -0
- package/dist/docs/versioned/0.21.0/reference/components/email-field.mdx +42 -0
- package/dist/docs/versioned/0.21.0/reference/components/emoji-selector.mdx +26 -0
- package/dist/docs/versioned/0.21.0/reference/components/field.mdx +26 -0
- package/dist/docs/versioned/0.21.0/reference/components/height-field.mdx +44 -0
- package/dist/docs/versioned/0.21.0/reference/components/icon.mdx +31 -0
- package/dist/docs/versioned/0.21.0/reference/components/iconbutton.mdx +42 -0
- package/dist/docs/versioned/0.21.0/reference/components/inner-modal-content.mdx +39 -0
- package/dist/docs/versioned/0.21.0/reference/components/markdown-editor-field.mdx +49 -0
- package/dist/docs/versioned/0.21.0/reference/components/markdownview.mdx +37 -0
- package/dist/docs/versioned/0.21.0/reference/components/multiselect-field.mdx +34 -0
- package/dist/docs/versioned/0.21.0/reference/components/number-field.mdx +45 -0
- package/dist/docs/versioned/0.21.0/reference/components/page.mdx +45 -0
- package/dist/docs/versioned/0.21.0/reference/components/pagination.mdx +29 -0
- package/dist/docs/versioned/0.21.0/reference/components/password-field.mdx +26 -0
- package/dist/docs/versioned/0.21.0/reference/components/phone-number-field.mdx +43 -0
- package/dist/docs/versioned/0.21.0/reference/components/radio-field.mdx +31 -0
- package/dist/docs/versioned/0.21.0/reference/components/sectiondivider.mdx +26 -0
- package/dist/docs/versioned/0.21.0/reference/components/segmented-control.mdx +32 -0
- package/dist/docs/versioned/0.21.0/reference/components/select-field.mdx +26 -0
- package/dist/docs/versioned/0.21.0/reference/components/selectbadge.mdx +35 -0
- package/dist/docs/versioned/0.21.0/reference/components/side-drawer.mdx +34 -0
- package/dist/docs/versioned/0.21.0/reference/components/sidebar-navigation-non-expo.mdx +35 -0
- package/dist/docs/versioned/0.21.0/reference/components/signature-field.mdx +35 -0
- package/dist/docs/versioned/0.21.0/reference/components/slider.mdx +43 -0
- package/dist/docs/versioned/0.21.0/reference/components/spinner.mdx +28 -0
- package/dist/docs/versioned/0.21.0/reference/components/table-badge.mdx +32 -0
- package/dist/docs/versioned/0.21.0/reference/components/table-boolean.mdx +29 -0
- package/dist/docs/versioned/0.21.0/reference/components/table-date.mdx +30 -0
- package/dist/docs/versioned/0.21.0/reference/components/table-icon-button.mdx +28 -0
- package/dist/docs/versioned/0.21.0/reference/components/table-number.mdx +30 -0
- package/dist/docs/versioned/0.21.0/reference/components/table-text.mdx +30 -0
- package/dist/docs/versioned/0.21.0/reference/components/table-title.mdx +28 -0
- package/dist/docs/versioned/0.21.0/reference/components/table.mdx +38 -0
- package/dist/docs/versioned/0.21.0/reference/components/tap-to-edit.mdx +26 -0
- package/dist/docs/versioned/0.21.0/reference/components/text-area.mdx +49 -0
- package/dist/docs/versioned/0.21.0/reference/components/text-field.mdx +51 -0
- package/dist/docs/versioned/0.21.0/reference/components/theme.mdx +26 -0
- package/dist/docs/versioned/0.21.0/reference/components/toast.mdx +26 -0
- package/dist/docs/versioned/0.21.0/reference/components/tooltip.mdx +30 -0
- package/dist/docs/versioned/0.21.0/reference/components/userinactivity.mdx +32 -0
- package/dist/docs/versioned/0.21.0/reference/environment-variables.md +382 -0
- package/dist/docs/versioned/0.21.0/reference/feature-flags.md +304 -0
- package/dist/docs/versioned/0.21.0/reference/generated/README.md +17 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/README.md +276 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/classes/APIError.md +96 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/classes/BetterAuthApp.md +84 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/classes/CachingSecretProvider.md +118 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/classes/CompositeSecretProvider.md +79 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/classes/ConfigurationApp.md +94 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/classes/ConsentApp.md +74 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/classes/DateOnly.md +123 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/classes/EnvSecretProvider.md +64 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/classes/GcpSecretProvider.md +76 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/classes/OpenApiMiddlewareBuilder.md +543 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/classes/RealtimeApp.md +112 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/classes/TaskCancelledError.md +23 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/classes/TerrenoApp.md +262 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/classes/VersionCheckPlugin.md +43 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/AdminOwnerTransformer.md +47 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/OwnerQueryFilter.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/addAuthRoutes.md +19 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/addGitHubAuthRoutes.md +31 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/addMeRoutes.md +19 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/addPopulateToQuery.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/addQuerySubscription.md +26 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/apiErrorMiddleware.md +23 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/apiFallthroughErrorMiddleware.md +26 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/apiUnauthorizedMiddleware.md +23 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/applyRequestContextToSentry.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/assertNoActionCollisions.md +21 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/asyncHandler.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/authenticateMiddleware.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/baseUserPlugin.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/buildQuerySchemaFromFields.md +30 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/checkModelsStrict.md +21 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/checkPermissions.md +29 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/clearQueryStore.md +7 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/clearRealtimeRegistry.md +7 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/computeQueryId.md +18 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/configurationPlugin.md +48 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/configureOpenApiValidator.md +28 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/createActionOpenApiMiddleware.md +35 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/createBetterAuth.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/createBetterAuthSessionMiddleware.md +18 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/createFeatureFlaggedLogger.md +53 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/createModelValidators.md +74 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/createOpenApiBuilder.md +39 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/createRouter.md +19 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/createRouterWithAuth.md +19 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/createScopedLogger.md +53 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/createValidator.md +29 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/createdUpdatedPlugin.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/cronjob.md +19 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/defaultResponseHandler.md +32 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/defineCollectionAction.md +25 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/defineInstanceAction.md +29 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/envConfigurationPlugin.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/errorMessage.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/errorStack.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/errorsPlugin.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/findExactlyOne.md +25 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/findOneOrNone.md +24 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/findOneOrNoneFor.md +37 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/findRegistryEntryByCollection.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/findRegistryEntryByRoutePath.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/firebaseJWTPlugin.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/fixMixedFields.md +21 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/flattenToDotPaths.md +24 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/formatLogContextSuffix.md +17 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/generateTokens.md +35 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/getAPIErrorBody.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/getBetterAuthSession.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/getCurrentLogContext.md +9 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/getCurrentRequestContext.md +8 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/getCurrentRequestContextAttributes.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/getDisableExternalErrorTracking.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/getMongoClientFromMongoose.md +7 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/getOpenApiSpecForModel.md +29 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/getOpenApiValidatorConfig.md +7 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/getQuerySubscriptionsForCollection.md +14 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/getRealtimeRegistry.md +7 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/getRequestContextFromAttributes.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/getSchemaFromModel.md +25 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/getSessionIdFromJwtPayload.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/githubUserPlugin.md +22 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/hasBetterAuthSession.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/installRealtimeSocketHandlers.md +27 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/isAPIError.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/isDeletedPlugin.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/isDisabledPlugin.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/isOpenApiValidatorConfigured.md +8 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/isValidObjectId.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/jsonResponseRequestIdMiddleware.md +24 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/logRequests.md +19 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/matchesQuery.md +23 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/modelRouter.md +83 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/mongooseErrorToAPIError.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/mountBetterAuthRoutes.md +21 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/openApiCompatMiddleware.md +22 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/openApiEtagMiddleware.md +23 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/patchAppUse.md +17 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/permissionMiddleware.md +21 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/registerActionRoutes.md +25 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/registerRealtime.md +14 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/removeAllSocketQueries.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/removeQuerySubscription.md +17 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/requestContextMiddleware.md +26 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/resetOpenApiValidatorConfig.md +9 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/runActionPermissions.md +33 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/runWithRequestContext.md +38 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/runWithRequestContextAttributes.md +25 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/sendToGoogleChat.md +25 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/sendToSlack.md +29 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/sendToZoom.md +67 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/sentryAppVersionMiddleware.md +26 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/serialize.md +25 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/setRequestContext.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/setupAuth.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/setupBetterAuthUserSync.md +21 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/setupEnvironment.md +5 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/setupGitHubAuth.md +22 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/setupLogging.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/signupUser.md +23 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/startChangeStreamWatcher.md +21 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/stopChangeStreamWatcher.md +7 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/syncBetterAuthUser.md +19 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/syncConsents.md +45 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/timeout.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/transform.md +29 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/unpopulate.md +21 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/updateRequestContextFromRequest.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/upsertPlugin.md +23 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/validateActionRequest.md +35 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/validateModelRequestBody.md +30 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/validateQueryParams.md +23 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/validateRequestBody.md +26 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/validateResponseData.md +32 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/wrapActionResponse.md +19 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/functions/wrapScript.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/APIErrorConstructor.md +93 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ActionContext.md +49 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/AsyncHandlerOptions.md +32 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/AuthOptions.md +47 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/BackgroundTaskDocument.md +141 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/BackgroundTaskMethods.md +55 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/BackgroundTaskModel.md +51 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/BackgroundTaskStatics.md +19 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/BaseUser.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/BetterAuthAppOptions.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/BetterAuthConfig.md +74 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/BetterAuthOAuthProvider.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/BetterAuthSession.md +43 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/BetterAuthSessionData.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/BetterAuthUser.md +43 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/CachingSecretProviderOptions.md +9 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ChangeStreamConfig.md +41 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/CollectionActionConfig.md +123 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ConfigRegistration.md +23 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ConfigurationAppOptions.md +51 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ConfigurationMetaResponse.md +7 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ConfigurationModel.md +166 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ConfigurationPermissions.md +45 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ConfigurationPluginOptions.md +30 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ConfigurationStatics.md +107 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentAppOptions.md +85 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentFormCheckbox.md +17 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentFormDefinition.md +83 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentFormDocument.md +123 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentFormModel.md +79 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentFormStatics.md +55 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentResponseDocument.md +105 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentResponseMethods.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentResponseModel.md +79 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentResponseStatics.md +55 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/CreateBetterAuthOptions.md +17 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/CreateFeatureFlaggedLoggerOptions.md +29 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/CreateScopedLoggerOptions.md +18 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/CreateValidatorOptions.md +25 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/CreatedDeleted.md +27 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/DocumentSubscription.md +17 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/FindExactlyOnePlugin.md +30 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/FindOneOrNonePlugin.md +30 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/GcpSecretProviderOptions.md +9 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/GenerateTokensOptions.md +5 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/GitHubAuthOptions.md +74 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/GitHubUserFields.md +33 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/HasUpsert.md +27 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/InstanceActionConfig.md +127 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/IsDeleted.md +7 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/JSONArray.md +7 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/JSONObject.md +3 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/JwtSessionPayload.md +19 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/LogContextFields.md +41 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/LoggingOptions.md +73 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ModelRouterOptions.md +524 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ModelRouterRegistration.md +33 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ModelRouterValidationOptions.md +89 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/MongoClientLike.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/OpenApiBuildResult.md +34 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/OpenApiMiddleware.md +98 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/OpenApiParameter.md +66 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/OpenApiResponse.md +43 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/OpenApiSchema.md +62 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/OpenApiSchemaProperty.md +89 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/OpenApiValidatorConfig.md +94 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/PopulatePath.md +17 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/QuerySubscription.md +25 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/QueryValidatorOptions.md +31 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/RESTPermissions.md +35 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/RealtimeAppOptions.md +62 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/RealtimeConfig.md +44 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/RealtimeEvent.md +57 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/RealtimeRegistryEntry.md +41 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/RealtimeSocketLike.md +94 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/RequestBodyValidatorOptions.md +71 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/RequestContext.md +59 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ScopedLogger.md +100 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ScriptContext.md +59 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/ScriptResult.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/SecretFieldMeta.md +29 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/SecretProvider.md +35 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/SyncConsentsOptions.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/SyncConsentsResult.md +23 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/TerrenoAppOptions.md +112 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/TerrenoPlugin.md +78 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/TerrenoRequestLogEntry.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/TerrenoTransformer.md +49 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/User.md +26 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/UserModel.md +113 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/VersionCheckResponse.md +37 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/VersionConfigDocument.md +65 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/VersionConfigModel.md +51 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/interfaces/WrapScriptOptions.md +27 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/AddRoutes.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/AuthProvider.md +5 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/BetterAuthInstance.md +3 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/ConfigType.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/ConfigurationPostUpdateHook.md +24 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/ConfigurationPreUpdateHook.md +20 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/ConsentFormMethods.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/ConsentFormType.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/DeepPartial.md +9 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/GooseRESTOptions.md +7 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/JSONPrimitive.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/JSONValue.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/PathValue.md +19 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/Paths.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/PermissionMethod.md +25 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/RESTMethod.md +17 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/RequestContextAttributes.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/ScriptRunner.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/type-aliases/VersionCheckStatus.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/variables/ACTION_NAME_PATTERN.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/variables/BackgroundTask.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/variables/Config.md +244 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/variables/ConsentForm.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/variables/ConsentResponse.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/variables/MAX_DOCUMENT_SUBSCRIPTIONS.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/variables/MAX_MODEL_SUBSCRIPTIONS.md +4 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/variables/MAX_QUERY_SUBSCRIPTIONS.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/variables/Permissions.md +109 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/variables/REQUEST_CONTEXT_ATTRIBUTE_NAMES.md +39 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/variables/VersionConfig.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/variables/gooseRestRouter.md +85 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/variables/logger.md +109 -0
- package/dist/docs/versioned/0.21.0/reference/generated/api/variables/winstonLogger.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/README.md +126 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/buildOptimisticCreateItem.md +17 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/configureOfflineMutationEndpoints.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/createBetterAuthClient.md +30 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/createOfflineMiddleware.md +41 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/createSessionApi.md +21 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/createStorageAdapter.md +17 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/generateAuthSlice.md +35 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/generateBetterAuthSlice.md +87 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/generateProfileEndpoints.md +35 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/generateTags.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/getAuthToken.md +5 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/getBaseQuery.md +23 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/getFriendlyExpirationInfo.md +5 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/getRealtimeSocket.md +7 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/getTokenExpirationTimes.md +5 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/isNetworkFetchError.md +14 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/isWebsocketsDebugEnabled.md +5 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/logAuth.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/logSocket.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/populateId.md +23 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/realtimeDocument.md +37 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/realtimeList.md +43 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/refreshAuthToken.md +5 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/registerTerrenoDevStore.md +14 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/resolveBaseUrls.md +28 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/resolveFeatureFlagsOptions.md +14 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/selectBetterAuthError.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/selectBetterAuthIsAuthenticated.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/selectBetterAuthIsLoading.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/selectBetterAuthState.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/selectBetterAuthUser.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/selectBetterAuthUserId.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/selectConflicts.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/selectCurrentUserId.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/selectIsAuthenticating.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/selectIsOnline.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/selectIsOnlineSafe.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/selectIsSyncing.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/selectLastTokenRefreshTimestamp.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/selectOfflineQueue.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/selectQueueLength.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/setRealtimeDebug.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/setRealtimeSocket.md +27 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/shouldDeferOfflineMutation.md +18 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/shouldReplayQueuedMutation.md +18 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/shouldShowStillThereModal.md +5 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/useFeatureFlags.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/useOfflineStatus.md +16 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/useRealtimeDebug.md +18 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/useSelectCurrentUserId.md +5 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/useSelectIsAuthenticating.md +5 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/useServerStatus.md +26 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/useSocketConnection.md +19 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/useSyncConnection.md +32 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/useTerrenoFeatureFlags.md +19 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/functions/useUpgradeCheck.md +30 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/BaseUrls.md +17 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/BetterAuthClientConfig.md +31 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/BetterAuthClientInterface.md +23 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/BetterAuthSession.md +43 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/BetterAuthSessionData.md +13 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/BetterAuthState.md +49 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/BetterAuthUser.md +43 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/ConflictRecord.md +47 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/EmailSignupRequest.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/ExpoConstantsShape.md +29 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/GenerateBetterAuthSliceConfig.md +23 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/GoogleLoginRequest.md +5 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/ListResponse.md +35 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/OfflineMiddlewareConfig.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/OfflineState.md +23 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/OfflineStatus.md +87 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/QueuedMutation.md +55 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/RealtimeEvent.md +58 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/ResetPasswordRequest.md +15 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/ServerStatusOptions.md +31 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/SocketConnection.md +11 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/StorageAdapter.md +53 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/TerrenoFlagDefinition.md +19 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/UseFeatureFlagsOptions.md +50 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/UseSocketConnectionOptions.md +87 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/UseTerrenoFeatureFlagsOptions.md +41 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/UseTerrenoFeatureFlagsResult.md +33 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/UserResponse.md +17 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/interfaces/VersionCheckResponse.md +39 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/type-aliases/BetterAuthClient.md +3 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/type-aliases/BetterAuthOAuthProvider.md +3 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/type-aliases/BetterAuthSlice.md +3 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/type-aliases/EmailLoginRequest.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/type-aliases/RootState.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/type-aliases/ServerStatus.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/type-aliases/TerrenoFlagConfiguration.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/AUTH_DEBUG.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/IsWeb.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/LOGOUT_ACTION_TYPE.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/SAME_ORIGIN_SENTINEL.md +5 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/TOKEN_REFRESHED_SUCCESS.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/addConflict.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/baseTasksUrl.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/baseUrl.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/baseWebsocketsUrl.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/clearConflicts.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/clearQueue.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/dequeue.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/dismissConflict.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/emptySplitApi.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/enqueue.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/offlineReducer.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/offlineSlice.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/selectUndismissedConflicts.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/setOnlineStatus.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/setSyncing.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/staggeredBaseQuery.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/useGetVersionCheckQuery.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/generated/rtk/variables/useLazyGetVersionCheckQuery.md +1 -0
- package/dist/docs/versioned/0.21.0/reference/mcp-server.md +586 -0
- package/dist/docs/versioned/0.21.0/reference/rtk.md +439 -0
- package/dist/docs/versioned/0.21.0/reference/ui.md +418 -0
- package/dist/docs/versioned/0.21.0/tasks/admin-improvements.md +429 -0
- package/dist/docs/versioned/0.21.0/tasks/admin-only.md +221 -0
- package/dist/docs/versioned/0.21.0/tasks/admin-script-runner.md +50 -0
- package/dist/docs/versioned/0.21.0/tasks/admin-ui-v2-django-parity.md +135 -0
- package/dist/docs/versioned/0.21.0/tasks/consent-forms.md +193 -0
- package/dist/docs/versioned/0.21.0/tasks/design-blend-skill.md +147 -0
- package/dist/docs/versioned/0.21.0/tasks/feature-flags-openfeature.md +77 -0
- package/dist/docs/versioned/0.21.0/tasks/feature-flags.md +23 -0
- package/dist/docs/versioned/0.21.0/tasks/model-router-actions.md +46 -0
- package/dist/docs/versioned/0.21.0/tasks/model-router-mcp.md +105 -0
- package/dist/docs/versioned/0.21.0/tasks/offline-mode.md +139 -0
- package/dist/docs/versioned/0.21.0/tasks/upgrade-banner.md +73 -0
- package/dist/docs/versioned/0.21.0/tutorials/README.md +7 -0
- package/dist/docs/versioned/0.21.0/tutorials/getting-started.md +44 -0
- package/dist/docs/versioned/next/implementationPlans/syncdb-local-first.md +591 -0
- package/dist/docs/versioned/next/tasks/syncdb-local-first.md +117 -0
- package/package.json +2 -2
- package/src/docs/versioned/0.21.0/README.md +29 -0
- package/src/docs/versioned/0.21.0/explanation/README.md +13 -0
- package/src/docs/versioned/0.21.0/explanation/ai-workflows.md +270 -0
- package/src/docs/versioned/0.21.0/explanation/authentication.md +438 -0
- package/src/docs/versioned/0.21.0/explanation/configuration-system.md +428 -0
- package/src/docs/versioned/0.21.0/explanation/dependency-management.md +192 -0
- package/src/docs/versioned/0.21.0/explanation/gcp-hosting-architecture.md +319 -0
- package/src/docs/versioned/0.21.0/explanation/model-router-actions.md +156 -0
- package/src/docs/versioned/0.21.0/explanation/modular-api-design.md +228 -0
- package/src/docs/versioned/0.21.0/how-to/README.md +20 -0
- package/src/docs/versioned/0.21.0/how-to/add-feature-flags.md +115 -0
- package/src/docs/versioned/0.21.0/how-to/add-github-oauth.md +316 -0
- package/src/docs/versioned/0.21.0/how-to/configure-better-auth.md +296 -0
- package/src/docs/versioned/0.21.0/how-to/create-a-model.md +165 -0
- package/src/docs/versioned/0.21.0/how-to/deploy-to-gcp.md +244 -0
- package/src/docs/versioned/0.21.0/how-to/upgrade-banner.md +172 -0
- package/src/docs/versioned/0.21.0/how-to/websocket-integration.md +416 -0
- package/src/docs/versioned/0.21.0/implementationPlans/IP_TEMPLATE.md +47 -0
- package/src/docs/versioned/0.21.0/implementationPlans/ModularAPI.md +844 -0
- package/src/docs/versioned/0.21.0/implementationPlans/PLAN_INDEX.md +21 -0
- package/src/docs/versioned/0.21.0/implementationPlans/README.md +42 -0
- package/src/docs/versioned/0.21.0/implementationPlans/admin-improvements.md +577 -0
- package/src/docs/versioned/0.21.0/implementationPlans/admin-only-research.md +258 -0
- package/src/docs/versioned/0.21.0/implementationPlans/admin-only.md +616 -0
- package/src/docs/versioned/0.21.0/implementationPlans/admin-script-runner.md +107 -0
- package/src/docs/versioned/0.21.0/implementationPlans/admin-ui-v2-django-parity.md +204 -0
- package/src/docs/versioned/0.21.0/implementationPlans/consent-forms.md +417 -0
- package/src/docs/versioned/0.21.0/implementationPlans/design-blend-skill.md +188 -0
- package/src/docs/versioned/0.21.0/implementationPlans/docs-site-and-versioning.md +138 -0
- package/src/docs/versioned/0.21.0/implementationPlans/feature-flags-openfeature.md +545 -0
- package/src/docs/versioned/0.21.0/implementationPlans/feature-flags.md +310 -0
- package/src/docs/versioned/0.21.0/implementationPlans/mcp-boost-parity.md +246 -0
- package/src/docs/versioned/0.21.0/implementationPlans/model-router-actions.md +639 -0
- package/src/docs/versioned/0.21.0/implementationPlans/model-router-mcp.md +186 -0
- package/src/docs/versioned/0.21.0/implementationPlans/offline-mode.md +311 -0
- package/src/docs/versioned/0.21.0/implementationPlans/terreno-langfuse-integration.md +145 -0
- package/src/docs/versioned/0.21.0/implementationPlans/upgrade-banner.md +275 -0
- package/src/docs/versioned/0.21.0/reference/README.md +22 -0
- package/src/docs/versioned/0.21.0/reference/admin-backend.md +122 -0
- package/src/docs/versioned/0.21.0/reference/admin-frontend.md +205 -0
- package/src/docs/versioned/0.21.0/reference/api-health.md +81 -0
- package/src/docs/versioned/0.21.0/reference/api.md +1205 -0
- package/src/docs/versioned/0.21.0/reference/components/README.mdx +65 -0
- package/src/docs/versioned/0.21.0/reference/components/accordion.mdx +36 -0
- package/src/docs/versioned/0.21.0/reference/components/addressfield.mdx +26 -0
- package/src/docs/versioned/0.21.0/reference/components/ai-suggestion-box.mdx +26 -0
- package/src/docs/versioned/0.21.0/reference/components/avatar.mdx +35 -0
- package/src/docs/versioned/0.21.0/reference/components/badge.mdx +38 -0
- package/src/docs/versioned/0.21.0/reference/components/banner.mdx +26 -0
- package/src/docs/versioned/0.21.0/reference/components/boolean-field.mdx +34 -0
- package/src/docs/versioned/0.21.0/reference/components/box.mdx +26 -0
- package/src/docs/versioned/0.21.0/reference/components/button.mdx +43 -0
- package/src/docs/versioned/0.21.0/reference/components/card.mdx +26 -0
- package/src/docs/versioned/0.21.0/reference/components/checkbox.mdx +29 -0
- package/src/docs/versioned/0.21.0/reference/components/consentformscreen.mdx +26 -0
- package/src/docs/versioned/0.21.0/reference/components/custom-select-field.mdx +34 -0
- package/src/docs/versioned/0.21.0/reference/components/datatable.mdx +41 -0
- package/src/docs/versioned/0.21.0/reference/components/date-time-field.mdx +48 -0
- package/src/docs/versioned/0.21.0/reference/components/email-field.mdx +42 -0
- package/src/docs/versioned/0.21.0/reference/components/emoji-selector.mdx +26 -0
- package/src/docs/versioned/0.21.0/reference/components/field.mdx +26 -0
- package/src/docs/versioned/0.21.0/reference/components/height-field.mdx +44 -0
- package/src/docs/versioned/0.21.0/reference/components/icon.mdx +31 -0
- package/src/docs/versioned/0.21.0/reference/components/iconbutton.mdx +42 -0
- package/src/docs/versioned/0.21.0/reference/components/inner-modal-content.mdx +39 -0
- package/src/docs/versioned/0.21.0/reference/components/markdown-editor-field.mdx +49 -0
- package/src/docs/versioned/0.21.0/reference/components/markdownview.mdx +37 -0
- package/src/docs/versioned/0.21.0/reference/components/multiselect-field.mdx +34 -0
- package/src/docs/versioned/0.21.0/reference/components/number-field.mdx +45 -0
- package/src/docs/versioned/0.21.0/reference/components/page.mdx +45 -0
- package/src/docs/versioned/0.21.0/reference/components/pagination.mdx +29 -0
- package/src/docs/versioned/0.21.0/reference/components/password-field.mdx +26 -0
- package/src/docs/versioned/0.21.0/reference/components/phone-number-field.mdx +43 -0
- package/src/docs/versioned/0.21.0/reference/components/radio-field.mdx +31 -0
- package/src/docs/versioned/0.21.0/reference/components/sectiondivider.mdx +26 -0
- package/src/docs/versioned/0.21.0/reference/components/segmented-control.mdx +32 -0
- package/src/docs/versioned/0.21.0/reference/components/select-field.mdx +26 -0
- package/src/docs/versioned/0.21.0/reference/components/selectbadge.mdx +35 -0
- package/src/docs/versioned/0.21.0/reference/components/side-drawer.mdx +34 -0
- package/src/docs/versioned/0.21.0/reference/components/sidebar-navigation-non-expo.mdx +35 -0
- package/src/docs/versioned/0.21.0/reference/components/signature-field.mdx +35 -0
- package/src/docs/versioned/0.21.0/reference/components/slider.mdx +43 -0
- package/src/docs/versioned/0.21.0/reference/components/spinner.mdx +28 -0
- package/src/docs/versioned/0.21.0/reference/components/table-badge.mdx +32 -0
- package/src/docs/versioned/0.21.0/reference/components/table-boolean.mdx +29 -0
- package/src/docs/versioned/0.21.0/reference/components/table-date.mdx +30 -0
- package/src/docs/versioned/0.21.0/reference/components/table-icon-button.mdx +28 -0
- package/src/docs/versioned/0.21.0/reference/components/table-number.mdx +30 -0
- package/src/docs/versioned/0.21.0/reference/components/table-text.mdx +30 -0
- package/src/docs/versioned/0.21.0/reference/components/table-title.mdx +28 -0
- package/src/docs/versioned/0.21.0/reference/components/table.mdx +38 -0
- package/src/docs/versioned/0.21.0/reference/components/tap-to-edit.mdx +26 -0
- package/src/docs/versioned/0.21.0/reference/components/text-area.mdx +49 -0
- package/src/docs/versioned/0.21.0/reference/components/text-field.mdx +51 -0
- package/src/docs/versioned/0.21.0/reference/components/theme.mdx +26 -0
- package/src/docs/versioned/0.21.0/reference/components/toast.mdx +26 -0
- package/src/docs/versioned/0.21.0/reference/components/tooltip.mdx +30 -0
- package/src/docs/versioned/0.21.0/reference/components/userinactivity.mdx +32 -0
- package/src/docs/versioned/0.21.0/reference/environment-variables.md +382 -0
- package/src/docs/versioned/0.21.0/reference/feature-flags.md +304 -0
- package/src/docs/versioned/0.21.0/reference/generated/README.md +17 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/README.md +276 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/classes/APIError.md +96 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/classes/BetterAuthApp.md +84 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/classes/CachingSecretProvider.md +118 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/classes/CompositeSecretProvider.md +79 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/classes/ConfigurationApp.md +94 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/classes/ConsentApp.md +74 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/classes/DateOnly.md +123 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/classes/EnvSecretProvider.md +64 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/classes/GcpSecretProvider.md +76 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/classes/OpenApiMiddlewareBuilder.md +543 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/classes/RealtimeApp.md +112 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/classes/TaskCancelledError.md +23 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/classes/TerrenoApp.md +262 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/classes/VersionCheckPlugin.md +43 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/AdminOwnerTransformer.md +47 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/OwnerQueryFilter.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/addAuthRoutes.md +19 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/addGitHubAuthRoutes.md +31 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/addMeRoutes.md +19 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/addPopulateToQuery.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/addQuerySubscription.md +26 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/apiErrorMiddleware.md +23 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/apiFallthroughErrorMiddleware.md +26 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/apiUnauthorizedMiddleware.md +23 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/applyRequestContextToSentry.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/assertNoActionCollisions.md +21 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/asyncHandler.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/authenticateMiddleware.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/baseUserPlugin.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/buildQuerySchemaFromFields.md +30 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/checkModelsStrict.md +21 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/checkPermissions.md +29 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/clearQueryStore.md +7 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/clearRealtimeRegistry.md +7 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/computeQueryId.md +18 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/configurationPlugin.md +48 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/configureOpenApiValidator.md +28 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/createActionOpenApiMiddleware.md +35 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/createBetterAuth.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/createBetterAuthSessionMiddleware.md +18 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/createFeatureFlaggedLogger.md +53 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/createModelValidators.md +74 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/createOpenApiBuilder.md +39 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/createRouter.md +19 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/createRouterWithAuth.md +19 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/createScopedLogger.md +53 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/createValidator.md +29 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/createdUpdatedPlugin.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/cronjob.md +19 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/defaultResponseHandler.md +32 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/defineCollectionAction.md +25 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/defineInstanceAction.md +29 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/envConfigurationPlugin.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/errorMessage.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/errorStack.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/errorsPlugin.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/findExactlyOne.md +25 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/findOneOrNone.md +24 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/findOneOrNoneFor.md +37 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/findRegistryEntryByCollection.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/findRegistryEntryByRoutePath.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/firebaseJWTPlugin.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/fixMixedFields.md +21 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/flattenToDotPaths.md +24 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/formatLogContextSuffix.md +17 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/generateTokens.md +35 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/getAPIErrorBody.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/getBetterAuthSession.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/getCurrentLogContext.md +9 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/getCurrentRequestContext.md +8 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/getCurrentRequestContextAttributes.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/getDisableExternalErrorTracking.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/getMongoClientFromMongoose.md +7 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/getOpenApiSpecForModel.md +29 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/getOpenApiValidatorConfig.md +7 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/getQuerySubscriptionsForCollection.md +14 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/getRealtimeRegistry.md +7 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/getRequestContextFromAttributes.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/getSchemaFromModel.md +25 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/getSessionIdFromJwtPayload.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/githubUserPlugin.md +22 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/hasBetterAuthSession.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/installRealtimeSocketHandlers.md +27 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/isAPIError.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/isDeletedPlugin.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/isDisabledPlugin.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/isOpenApiValidatorConfigured.md +8 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/isValidObjectId.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/jsonResponseRequestIdMiddleware.md +24 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/logRequests.md +19 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/matchesQuery.md +23 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/modelRouter.md +83 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/mongooseErrorToAPIError.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/mountBetterAuthRoutes.md +21 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/openApiCompatMiddleware.md +22 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/openApiEtagMiddleware.md +23 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/patchAppUse.md +17 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/permissionMiddleware.md +21 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/registerActionRoutes.md +25 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/registerRealtime.md +14 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/removeAllSocketQueries.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/removeQuerySubscription.md +17 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/requestContextMiddleware.md +26 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/resetOpenApiValidatorConfig.md +9 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/runActionPermissions.md +33 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/runWithRequestContext.md +38 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/runWithRequestContextAttributes.md +25 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/sendToGoogleChat.md +25 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/sendToSlack.md +29 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/sendToZoom.md +67 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/sentryAppVersionMiddleware.md +26 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/serialize.md +25 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/setRequestContext.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/setupAuth.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/setupBetterAuthUserSync.md +21 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/setupEnvironment.md +5 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/setupGitHubAuth.md +22 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/setupLogging.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/signupUser.md +23 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/startChangeStreamWatcher.md +21 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/stopChangeStreamWatcher.md +7 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/syncBetterAuthUser.md +19 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/syncConsents.md +45 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/timeout.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/transform.md +29 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/unpopulate.md +21 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/updateRequestContextFromRequest.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/upsertPlugin.md +23 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/validateActionRequest.md +35 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/validateModelRequestBody.md +30 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/validateQueryParams.md +23 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/validateRequestBody.md +26 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/validateResponseData.md +32 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/wrapActionResponse.md +19 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/functions/wrapScript.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/APIErrorConstructor.md +93 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ActionContext.md +49 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/AsyncHandlerOptions.md +32 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/AuthOptions.md +47 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/BackgroundTaskDocument.md +141 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/BackgroundTaskMethods.md +55 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/BackgroundTaskModel.md +51 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/BackgroundTaskStatics.md +19 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/BaseUser.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/BetterAuthAppOptions.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/BetterAuthConfig.md +74 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/BetterAuthOAuthProvider.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/BetterAuthSession.md +43 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/BetterAuthSessionData.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/BetterAuthUser.md +43 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/CachingSecretProviderOptions.md +9 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ChangeStreamConfig.md +41 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/CollectionActionConfig.md +123 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ConfigRegistration.md +23 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ConfigurationAppOptions.md +51 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ConfigurationMetaResponse.md +7 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ConfigurationModel.md +166 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ConfigurationPermissions.md +45 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ConfigurationPluginOptions.md +30 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ConfigurationStatics.md +107 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentAppOptions.md +85 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentFormCheckbox.md +17 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentFormDefinition.md +83 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentFormDocument.md +123 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentFormModel.md +79 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentFormStatics.md +55 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentResponseDocument.md +105 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentResponseMethods.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentResponseModel.md +79 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ConsentResponseStatics.md +55 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/CreateBetterAuthOptions.md +17 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/CreateFeatureFlaggedLoggerOptions.md +29 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/CreateScopedLoggerOptions.md +18 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/CreateValidatorOptions.md +25 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/CreatedDeleted.md +27 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/DocumentSubscription.md +17 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/FindExactlyOnePlugin.md +30 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/FindOneOrNonePlugin.md +30 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/GcpSecretProviderOptions.md +9 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/GenerateTokensOptions.md +5 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/GitHubAuthOptions.md +74 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/GitHubUserFields.md +33 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/HasUpsert.md +27 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/InstanceActionConfig.md +127 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/IsDeleted.md +7 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/JSONArray.md +7 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/JSONObject.md +3 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/JwtSessionPayload.md +19 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/LogContextFields.md +41 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/LoggingOptions.md +73 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ModelRouterOptions.md +524 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ModelRouterRegistration.md +33 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ModelRouterValidationOptions.md +89 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/MongoClientLike.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/OpenApiBuildResult.md +34 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/OpenApiMiddleware.md +98 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/OpenApiParameter.md +66 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/OpenApiResponse.md +43 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/OpenApiSchema.md +62 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/OpenApiSchemaProperty.md +89 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/OpenApiValidatorConfig.md +94 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/PopulatePath.md +17 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/QuerySubscription.md +25 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/QueryValidatorOptions.md +31 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/RESTPermissions.md +35 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/RealtimeAppOptions.md +62 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/RealtimeConfig.md +44 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/RealtimeEvent.md +57 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/RealtimeRegistryEntry.md +41 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/RealtimeSocketLike.md +94 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/RequestBodyValidatorOptions.md +71 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/RequestContext.md +59 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ScopedLogger.md +100 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ScriptContext.md +59 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/ScriptResult.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/SecretFieldMeta.md +29 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/SecretProvider.md +35 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/SyncConsentsOptions.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/SyncConsentsResult.md +23 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/TerrenoAppOptions.md +112 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/TerrenoPlugin.md +78 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/TerrenoRequestLogEntry.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/TerrenoTransformer.md +49 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/User.md +26 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/UserModel.md +113 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/VersionCheckResponse.md +37 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/VersionConfigDocument.md +65 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/VersionConfigModel.md +51 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/interfaces/WrapScriptOptions.md +27 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/AddRoutes.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/AuthProvider.md +5 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/BetterAuthInstance.md +3 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/ConfigType.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/ConfigurationPostUpdateHook.md +24 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/ConfigurationPreUpdateHook.md +20 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/ConsentFormMethods.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/ConsentFormType.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/DeepPartial.md +9 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/GooseRESTOptions.md +7 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/JSONPrimitive.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/JSONValue.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/PathValue.md +19 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/Paths.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/PermissionMethod.md +25 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/RESTMethod.md +17 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/RequestContextAttributes.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/ScriptRunner.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/type-aliases/VersionCheckStatus.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/variables/ACTION_NAME_PATTERN.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/variables/BackgroundTask.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/variables/Config.md +244 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/variables/ConsentForm.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/variables/ConsentResponse.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/variables/MAX_DOCUMENT_SUBSCRIPTIONS.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/variables/MAX_MODEL_SUBSCRIPTIONS.md +4 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/variables/MAX_QUERY_SUBSCRIPTIONS.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/variables/Permissions.md +109 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/variables/REQUEST_CONTEXT_ATTRIBUTE_NAMES.md +39 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/variables/VersionConfig.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/variables/gooseRestRouter.md +85 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/variables/logger.md +109 -0
- package/src/docs/versioned/0.21.0/reference/generated/api/variables/winstonLogger.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/README.md +126 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/buildOptimisticCreateItem.md +17 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/configureOfflineMutationEndpoints.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/createBetterAuthClient.md +30 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/createOfflineMiddleware.md +41 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/createSessionApi.md +21 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/createStorageAdapter.md +17 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/generateAuthSlice.md +35 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/generateBetterAuthSlice.md +87 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/generateProfileEndpoints.md +35 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/generateTags.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/getAuthToken.md +5 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/getBaseQuery.md +23 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/getFriendlyExpirationInfo.md +5 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/getRealtimeSocket.md +7 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/getTokenExpirationTimes.md +5 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/isNetworkFetchError.md +14 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/isWebsocketsDebugEnabled.md +5 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/logAuth.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/logSocket.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/populateId.md +23 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/realtimeDocument.md +37 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/realtimeList.md +43 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/refreshAuthToken.md +5 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/registerTerrenoDevStore.md +14 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/resolveBaseUrls.md +28 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/resolveFeatureFlagsOptions.md +14 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/selectBetterAuthError.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/selectBetterAuthIsAuthenticated.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/selectBetterAuthIsLoading.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/selectBetterAuthState.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/selectBetterAuthUser.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/selectBetterAuthUserId.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/selectConflicts.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/selectCurrentUserId.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/selectIsAuthenticating.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/selectIsOnline.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/selectIsOnlineSafe.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/selectIsSyncing.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/selectLastTokenRefreshTimestamp.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/selectOfflineQueue.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/selectQueueLength.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/setRealtimeDebug.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/setRealtimeSocket.md +27 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/shouldDeferOfflineMutation.md +18 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/shouldReplayQueuedMutation.md +18 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/shouldShowStillThereModal.md +5 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/useFeatureFlags.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/useOfflineStatus.md +16 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/useRealtimeDebug.md +18 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/useSelectCurrentUserId.md +5 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/useSelectIsAuthenticating.md +5 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/useServerStatus.md +26 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/useSocketConnection.md +19 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/useSyncConnection.md +32 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/useTerrenoFeatureFlags.md +19 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/functions/useUpgradeCheck.md +30 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/BaseUrls.md +17 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/BetterAuthClientConfig.md +31 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/BetterAuthClientInterface.md +23 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/BetterAuthSession.md +43 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/BetterAuthSessionData.md +13 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/BetterAuthState.md +49 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/BetterAuthUser.md +43 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/ConflictRecord.md +47 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/EmailSignupRequest.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/ExpoConstantsShape.md +29 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/GenerateBetterAuthSliceConfig.md +23 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/GoogleLoginRequest.md +5 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/ListResponse.md +35 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/OfflineMiddlewareConfig.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/OfflineState.md +23 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/OfflineStatus.md +87 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/QueuedMutation.md +55 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/RealtimeEvent.md +58 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/ResetPasswordRequest.md +15 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/ServerStatusOptions.md +31 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/SocketConnection.md +11 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/StorageAdapter.md +53 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/TerrenoFlagDefinition.md +19 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/UseFeatureFlagsOptions.md +50 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/UseSocketConnectionOptions.md +87 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/UseTerrenoFeatureFlagsOptions.md +41 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/UseTerrenoFeatureFlagsResult.md +33 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/UserResponse.md +17 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/interfaces/VersionCheckResponse.md +39 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/type-aliases/BetterAuthClient.md +3 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/type-aliases/BetterAuthOAuthProvider.md +3 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/type-aliases/BetterAuthSlice.md +3 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/type-aliases/EmailLoginRequest.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/type-aliases/RootState.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/type-aliases/ServerStatus.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/type-aliases/TerrenoFlagConfiguration.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/AUTH_DEBUG.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/IsWeb.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/LOGOUT_ACTION_TYPE.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/SAME_ORIGIN_SENTINEL.md +5 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/TOKEN_REFRESHED_SUCCESS.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/addConflict.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/baseTasksUrl.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/baseUrl.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/baseWebsocketsUrl.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/clearConflicts.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/clearQueue.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/dequeue.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/dismissConflict.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/emptySplitApi.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/enqueue.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/offlineReducer.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/offlineSlice.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/selectUndismissedConflicts.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/setOnlineStatus.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/setSyncing.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/staggeredBaseQuery.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/useGetVersionCheckQuery.md +1 -0
- package/src/docs/versioned/0.21.0/reference/generated/rtk/variables/useLazyGetVersionCheckQuery.md +1 -0
- package/src/docs/versioned/0.21.0/reference/mcp-server.md +586 -0
- package/src/docs/versioned/0.21.0/reference/rtk.md +439 -0
- package/src/docs/versioned/0.21.0/reference/ui.md +418 -0
- package/src/docs/versioned/0.21.0/tasks/admin-improvements.md +429 -0
- package/src/docs/versioned/0.21.0/tasks/admin-only.md +221 -0
- package/src/docs/versioned/0.21.0/tasks/admin-script-runner.md +50 -0
- package/src/docs/versioned/0.21.0/tasks/admin-ui-v2-django-parity.md +135 -0
- package/src/docs/versioned/0.21.0/tasks/consent-forms.md +193 -0
- package/src/docs/versioned/0.21.0/tasks/design-blend-skill.md +147 -0
- package/src/docs/versioned/0.21.0/tasks/feature-flags-openfeature.md +77 -0
- package/src/docs/versioned/0.21.0/tasks/feature-flags.md +23 -0
- package/src/docs/versioned/0.21.0/tasks/model-router-actions.md +46 -0
- package/src/docs/versioned/0.21.0/tasks/model-router-mcp.md +105 -0
- package/src/docs/versioned/0.21.0/tasks/offline-mode.md +139 -0
- package/src/docs/versioned/0.21.0/tasks/upgrade-banner.md +73 -0
- package/src/docs/versioned/0.21.0/tutorials/README.md +7 -0
- package/src/docs/versioned/0.21.0/tutorials/getting-started.md +44 -0
- package/src/docs/versioned/next/implementationPlans/syncdb-local-first.md +591 -0
- package/src/docs/versioned/next/tasks/syncdb-local-first.md +117 -0
|
@@ -0,0 +1,844 @@
|
|
|
1
|
+
# Modular API Implementation Plan
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This document outlines the implementation plan for a new modular API design in `@terreno/api`. The goal is to create a `TerrenoApp` class that provides a cleaner, more flexible interface for building APIs while maintaining backward compatibility with the existing `setupServer` function.
|
|
6
|
+
|
|
7
|
+
## Goals
|
|
8
|
+
|
|
9
|
+
1. **Fluent Builder API**: `const app = TerrenoApp.create({...}).addModelRouter(...).addRoute(...)`
|
|
10
|
+
2. **Comprehensive Hooks**: Lifecycle hooks at every stage of server initialization and request handling
|
|
11
|
+
3. **Configuration over Environment**: All settings passed via options, not env vars
|
|
12
|
+
4. **Toggleable Middleware**: Every default middleware can be enabled/disabled
|
|
13
|
+
5. **Health Checks**: Built-in `/health` endpoint with optional custom health check function
|
|
14
|
+
6. **Breaking Change**: This replaces `setupServer` - no backward compatibility layer
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Architecture
|
|
19
|
+
|
|
20
|
+
### File Structure
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
api/src/
|
|
24
|
+
├── TerrenoApp.ts # Main TerrenoApp class (NEW)
|
|
25
|
+
├── TerrenoAppOptions.ts # Types and defaults (NEW)
|
|
26
|
+
├── TerrenoAppMiddleware.ts # Built-in middleware configurations (NEW)
|
|
27
|
+
├── TerrenoAppHooks.ts # Hook type definitions and runner (NEW)
|
|
28
|
+
├── expressServer.ts # DEPRECATED - to be removed in future version
|
|
29
|
+
├── api.ts # Existing - unchanged
|
|
30
|
+
└── index.ts # Export TerrenoApp, remove setupServer exports
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Core Classes
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
// TerrenoApp.ts
|
|
37
|
+
class TerrenoApp {
|
|
38
|
+
static create(options: TerrenoAppOptions): TerrenoApp;
|
|
39
|
+
|
|
40
|
+
// Fluent configuration
|
|
41
|
+
addModelRouter<T>(path: string, model: Model<T>, options: ModelRouterOptions<T>): this;
|
|
42
|
+
addModelRouter<T>(path: string, model: Model<T>, permissions: RESTPermissions<T>): this; // Shorthand
|
|
43
|
+
addRoute(path: string, router: Router | AddRoutesCallback, options?: AddRouteOptions): this;
|
|
44
|
+
addMiddleware(middleware: RequestHandler, options?: MiddlewareOptions): this;
|
|
45
|
+
addErrorHandlingMiddleware(middleware: ErrorRequestHandler): this;
|
|
46
|
+
|
|
47
|
+
// WebSocket
|
|
48
|
+
enableWebSocket(options?: WebSocketOptions): this;
|
|
49
|
+
|
|
50
|
+
// Lifecycle
|
|
51
|
+
build(): Express; // Returns configured Express app without starting
|
|
52
|
+
start(): Promise<{ app: Express; server: Server; wss?: WebSocketServer }>; // Build + listen
|
|
53
|
+
|
|
54
|
+
// Access
|
|
55
|
+
getExpressApp(): Express;
|
|
56
|
+
getServer(): Server | null;
|
|
57
|
+
getWebSocketServer(): WebSocketServer | null;
|
|
58
|
+
|
|
59
|
+
// Shutdown
|
|
60
|
+
shutdown(): Promise<void>; // Graceful shutdown
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Configuration Options
|
|
67
|
+
|
|
68
|
+
### TerrenoAppOptions Interface
|
|
69
|
+
|
|
70
|
+
```typescript
|
|
71
|
+
interface TerrenoAppOptions {
|
|
72
|
+
// === Authentication ===
|
|
73
|
+
auth: AuthOptions;
|
|
74
|
+
|
|
75
|
+
// === Server ===
|
|
76
|
+
server?: ServerOptions;
|
|
77
|
+
|
|
78
|
+
// === Logging ===
|
|
79
|
+
logging?: LoggingOptions;
|
|
80
|
+
|
|
81
|
+
// === Middleware ===
|
|
82
|
+
middleware?: MiddlewareOptions;
|
|
83
|
+
|
|
84
|
+
// === Health Check ===
|
|
85
|
+
health?: HealthOptions;
|
|
86
|
+
|
|
87
|
+
// === OpenAPI / Swagger ===
|
|
88
|
+
openApi?: OpenApiOptions;
|
|
89
|
+
|
|
90
|
+
// === Error Handling ===
|
|
91
|
+
errors?: ErrorOptions;
|
|
92
|
+
|
|
93
|
+
// === WebSocket ===
|
|
94
|
+
webSocket?: WebSocketOptions;
|
|
95
|
+
|
|
96
|
+
// === Graceful Shutdown ===
|
|
97
|
+
shutdown?: ShutdownOptions;
|
|
98
|
+
|
|
99
|
+
// === Hooks ===
|
|
100
|
+
hooks?: AppHooks;
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Detailed Option Types
|
|
105
|
+
|
|
106
|
+
#### AuthOptions
|
|
107
|
+
|
|
108
|
+
```typescript
|
|
109
|
+
interface AuthOptions {
|
|
110
|
+
// User model for authentication (required)
|
|
111
|
+
userModel: Model<any>;
|
|
112
|
+
|
|
113
|
+
// Token configuration (replaces env vars)
|
|
114
|
+
token: {
|
|
115
|
+
issuer: string; // TOKEN_ISSUER
|
|
116
|
+
secret: string; // TOKEN_SECRET
|
|
117
|
+
expiresIn?: string; // TOKEN_EXPIRES_IN (default: '1h')
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
refreshToken?: {
|
|
121
|
+
secret: string; // REFRESH_TOKEN_SECRET
|
|
122
|
+
expiresIn?: string; // REFRESH_TOKEN_EXPIRES_IN (default: '7d')
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
session?: {
|
|
126
|
+
secret: string; // SESSION_SECRET
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
// Auth scheme customization
|
|
130
|
+
scheme?: 'jwt' | 'custom';
|
|
131
|
+
|
|
132
|
+
// Custom token generation (existing authOptions.generateToken)
|
|
133
|
+
generateToken?: (user: any) => TokenPayload;
|
|
134
|
+
|
|
135
|
+
// Enable/disable built-in auth routes (/auth/login, /auth/signup, etc.)
|
|
136
|
+
enableAuthRoutes?: boolean; // default: true
|
|
137
|
+
|
|
138
|
+
// Enable/disable /me route
|
|
139
|
+
enableMeRoute?: boolean; // default: true
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
#### ServerOptions
|
|
144
|
+
|
|
145
|
+
```typescript
|
|
146
|
+
interface ServerOptions {
|
|
147
|
+
port?: number; // default: 9000
|
|
148
|
+
skipListen?: boolean; // default: false (for testing)
|
|
149
|
+
trustProxy?: boolean | string; // Express trust proxy setting
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
#### LoggingOptions
|
|
154
|
+
|
|
155
|
+
```typescript
|
|
156
|
+
interface LoggingOptions {
|
|
157
|
+
// Request logging
|
|
158
|
+
requests?: {
|
|
159
|
+
enabled?: boolean; // default: true
|
|
160
|
+
maskFields?: string[]; // Fields to mask (default: ['password'])
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
// Slow request logging
|
|
164
|
+
slowRequests?: {
|
|
165
|
+
enabled?: boolean; // default: false
|
|
166
|
+
readThresholdMs?: number; // default: 200
|
|
167
|
+
writeThresholdMs?: number; // default: 500
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
// Logger configuration
|
|
171
|
+
logger?: {
|
|
172
|
+
level?: 'debug' | 'info' | 'warn' | 'error';
|
|
173
|
+
format?: 'json' | 'pretty';
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
#### MiddlewareOptions
|
|
179
|
+
|
|
180
|
+
```typescript
|
|
181
|
+
interface MiddlewareOptions {
|
|
182
|
+
// CORS
|
|
183
|
+
cors?: {
|
|
184
|
+
enabled?: boolean; // default: true
|
|
185
|
+
origin?: string | string[] | RegExp | boolean;
|
|
186
|
+
credentials?: boolean;
|
|
187
|
+
} | false; // false to disable
|
|
188
|
+
|
|
189
|
+
// JSON body parsing
|
|
190
|
+
json?: {
|
|
191
|
+
enabled?: boolean; // default: true
|
|
192
|
+
limit?: string; // default: '100kb'
|
|
193
|
+
} | false;
|
|
194
|
+
|
|
195
|
+
// Query string parsing
|
|
196
|
+
queryParser?: {
|
|
197
|
+
enabled?: boolean; // default: true
|
|
198
|
+
arrayLimit?: number; // default: 200
|
|
199
|
+
} | false;
|
|
200
|
+
|
|
201
|
+
// Helmet security headers
|
|
202
|
+
helmet?: {
|
|
203
|
+
enabled?: boolean; // default: false (opt-in)
|
|
204
|
+
options?: HelmetOptions;
|
|
205
|
+
} | false;
|
|
206
|
+
|
|
207
|
+
// Rate limiting
|
|
208
|
+
rateLimit?: {
|
|
209
|
+
enabled?: boolean; // default: false (opt-in)
|
|
210
|
+
windowMs?: number;
|
|
211
|
+
max?: number;
|
|
212
|
+
} | false;
|
|
213
|
+
|
|
214
|
+
// Compression
|
|
215
|
+
compression?: {
|
|
216
|
+
enabled?: boolean; // default: false (opt-in)
|
|
217
|
+
} | false;
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
#### HealthOptions
|
|
222
|
+
|
|
223
|
+
```typescript
|
|
224
|
+
interface HealthOptions {
|
|
225
|
+
enabled?: boolean; // default: true
|
|
226
|
+
path?: string; // default: '/health'
|
|
227
|
+
|
|
228
|
+
// Optional custom health check function
|
|
229
|
+
// Return { healthy: boolean, details?: any } or throw to indicate unhealthy
|
|
230
|
+
check?: () => Promise<HealthCheckResult> | HealthCheckResult;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
interface HealthCheckResult {
|
|
234
|
+
healthy: boolean;
|
|
235
|
+
details?: Record<string, any>;
|
|
236
|
+
}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
#### OpenApiOptions
|
|
240
|
+
|
|
241
|
+
```typescript
|
|
242
|
+
interface OpenApiOptions {
|
|
243
|
+
enabled?: boolean; // default: true
|
|
244
|
+
path?: string; // default: '/openapi.json'
|
|
245
|
+
|
|
246
|
+
// Swagger UI
|
|
247
|
+
swagger?: {
|
|
248
|
+
enabled?: boolean; // default: false
|
|
249
|
+
path?: string; // default: '/swagger'
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
// OpenAPI spec metadata
|
|
253
|
+
info?: {
|
|
254
|
+
title?: string;
|
|
255
|
+
version?: string;
|
|
256
|
+
description?: string;
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
#### ErrorOptions
|
|
262
|
+
|
|
263
|
+
```typescript
|
|
264
|
+
interface ErrorOptions {
|
|
265
|
+
// Sentry integration
|
|
266
|
+
sentry?: {
|
|
267
|
+
enabled?: boolean;
|
|
268
|
+
dsn?: string;
|
|
269
|
+
environment?: string;
|
|
270
|
+
options?: SentryOptions;
|
|
271
|
+
} | false;
|
|
272
|
+
|
|
273
|
+
// Include stack traces in error responses
|
|
274
|
+
includeStackTrace?: boolean; // default: false (true in dev)
|
|
275
|
+
}
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
#### WebSocketOptions
|
|
279
|
+
|
|
280
|
+
```typescript
|
|
281
|
+
interface WebSocketOptions {
|
|
282
|
+
enabled?: boolean; // default: false
|
|
283
|
+
|
|
284
|
+
// Path for WebSocket upgrades (default: use same server)
|
|
285
|
+
path?: string; // e.g., '/ws'
|
|
286
|
+
|
|
287
|
+
// Authentication for WebSocket connections
|
|
288
|
+
authenticate?: (request: IncomingMessage) => Promise<any | null> | any | null;
|
|
289
|
+
|
|
290
|
+
// Called when a new connection is established
|
|
291
|
+
onConnection?: (ws: WebSocket, user: any | null) => void;
|
|
292
|
+
|
|
293
|
+
// Called when a message is received
|
|
294
|
+
onMessage?: (ws: WebSocket, message: Buffer, user: any | null) => void;
|
|
295
|
+
|
|
296
|
+
// Called when a connection is closed
|
|
297
|
+
onClose?: (ws: WebSocket, code: number, reason: string, user: any | null) => void;
|
|
298
|
+
|
|
299
|
+
// Called on WebSocket error
|
|
300
|
+
onError?: (ws: WebSocket, error: Error, user: any | null) => void;
|
|
301
|
+
|
|
302
|
+
// ws library options
|
|
303
|
+
wsOptions?: WebSocketServerOptions;
|
|
304
|
+
}
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
#### ShutdownOptions
|
|
308
|
+
|
|
309
|
+
```typescript
|
|
310
|
+
interface ShutdownOptions {
|
|
311
|
+
// Enable automatic SIGTERM/SIGINT handling (default: true)
|
|
312
|
+
handleSignals?: boolean;
|
|
313
|
+
|
|
314
|
+
// Timeout for graceful shutdown in ms (default: 30000)
|
|
315
|
+
timeout?: number;
|
|
316
|
+
|
|
317
|
+
// Called before shutdown begins
|
|
318
|
+
onShutdown?: () => void | Promise<void>;
|
|
319
|
+
}
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## Hooks System
|
|
325
|
+
|
|
326
|
+
### AppHooks Interface
|
|
327
|
+
|
|
328
|
+
```typescript
|
|
329
|
+
interface AppHooks {
|
|
330
|
+
// === Initialization Hooks ===
|
|
331
|
+
|
|
332
|
+
// Called immediately after Express app is created, before any middleware
|
|
333
|
+
onAppCreated?: (app: Express) => void | Promise<void>;
|
|
334
|
+
|
|
335
|
+
// Called after core middleware (cors, json, query) but before auth
|
|
336
|
+
onCoreMiddlewareReady?: (app: Express) => void | Promise<void>;
|
|
337
|
+
|
|
338
|
+
// Called after auth is configured but before routes
|
|
339
|
+
onAuthReady?: (app: Express) => void | Promise<void>;
|
|
340
|
+
|
|
341
|
+
// Called after all routes are registered but before error handlers
|
|
342
|
+
onRoutesReady?: (app: Express) => void | Promise<void>;
|
|
343
|
+
|
|
344
|
+
// Called after all middleware and error handlers are set up
|
|
345
|
+
onReady?: (app: Express) => void | Promise<void>;
|
|
346
|
+
|
|
347
|
+
// Called after server starts listening
|
|
348
|
+
onListening?: (server: Server, port: number) => void | Promise<void>;
|
|
349
|
+
|
|
350
|
+
// Called after WebSocket server is created (if enabled)
|
|
351
|
+
onWebSocketReady?: (wss: WebSocketServer) => void | Promise<void>;
|
|
352
|
+
|
|
353
|
+
// === Request Lifecycle Hooks ===
|
|
354
|
+
|
|
355
|
+
// Called for every request before any processing
|
|
356
|
+
onRequest?: (req: Request, res: Response) => void | Promise<void>;
|
|
357
|
+
|
|
358
|
+
// Called after authentication middleware runs
|
|
359
|
+
onAuthenticated?: (req: Request, res: Response, user: any | null) => void | Promise<void>;
|
|
360
|
+
|
|
361
|
+
// Called before sending response
|
|
362
|
+
onResponse?: (req: Request, res: Response, body: any) => void | Promise<void>;
|
|
363
|
+
|
|
364
|
+
// Called when an error occurs
|
|
365
|
+
onError?: (error: Error, req: Request, res: Response) => void | Promise<void>;
|
|
366
|
+
}
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
### Hook Execution Points
|
|
370
|
+
|
|
371
|
+
```
|
|
372
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
373
|
+
│ INITIALIZATION PHASE │
|
|
374
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
375
|
+
│ 1. Express app created │
|
|
376
|
+
│ └── onAppCreated() │
|
|
377
|
+
│ │
|
|
378
|
+
│ 2. Core middleware: cors, json, queryParser │
|
|
379
|
+
│ └── onCoreMiddlewareReady() │
|
|
380
|
+
│ │
|
|
381
|
+
│ 3. Auth: setupAuth(), addAuthRoutes() │
|
|
382
|
+
│ └── onAuthReady() │
|
|
383
|
+
│ │
|
|
384
|
+
│ 4. Routes: health, openapi, model routers, custom routes │
|
|
385
|
+
│ └── onRoutesReady() │
|
|
386
|
+
│ │
|
|
387
|
+
│ 5. Error handling middleware (addErrorHandlingMiddleware) │
|
|
388
|
+
│ 6. Built-in error handlers: apiError, fallthrough │
|
|
389
|
+
│ └── onReady() │
|
|
390
|
+
│ │
|
|
391
|
+
│ 7. Server.listen() │
|
|
392
|
+
│ └── onListening() │
|
|
393
|
+
│ │
|
|
394
|
+
│ 8. WebSocket server created (if enabled) │
|
|
395
|
+
│ └── onWebSocketReady() │
|
|
396
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
397
|
+
|
|
398
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
399
|
+
│ REQUEST PHASE │
|
|
400
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
401
|
+
│ Request arrives │
|
|
402
|
+
│ └── onRequest() │
|
|
403
|
+
│ │
|
|
404
|
+
│ Authentication runs │
|
|
405
|
+
│ └── onAuthenticated() │
|
|
406
|
+
│ │
|
|
407
|
+
│ Route handler executes │
|
|
408
|
+
│ │
|
|
409
|
+
│ Response sending │
|
|
410
|
+
│ └── onResponse() │
|
|
411
|
+
│ │
|
|
412
|
+
│ Error (if any) │
|
|
413
|
+
│ └── onError() │
|
|
414
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
---
|
|
418
|
+
|
|
419
|
+
## API Usage Examples
|
|
420
|
+
|
|
421
|
+
### Basic Setup
|
|
422
|
+
|
|
423
|
+
```typescript
|
|
424
|
+
import { TerrenoApp } from '@terreno/api';
|
|
425
|
+
import { User } from './models/User';
|
|
426
|
+
|
|
427
|
+
const app = TerrenoApp.create({
|
|
428
|
+
auth: {
|
|
429
|
+
userModel: User,
|
|
430
|
+
token: {
|
|
431
|
+
issuer: 'my-app',
|
|
432
|
+
secret: process.env.TOKEN_SECRET!,
|
|
433
|
+
expiresIn: '2h',
|
|
434
|
+
},
|
|
435
|
+
refreshToken: {
|
|
436
|
+
secret: process.env.REFRESH_TOKEN_SECRET!,
|
|
437
|
+
},
|
|
438
|
+
session: {
|
|
439
|
+
secret: process.env.SESSION_SECRET!,
|
|
440
|
+
},
|
|
441
|
+
},
|
|
442
|
+
server: {
|
|
443
|
+
port: 3000,
|
|
444
|
+
},
|
|
445
|
+
});
|
|
446
|
+
|
|
447
|
+
await app.start();
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
### Adding Model Routers
|
|
451
|
+
|
|
452
|
+
```typescript
|
|
453
|
+
import { TerrenoApp, Permissions, OwnerQueryFilter } from '@terreno/api';
|
|
454
|
+
import { User, Post, Comment } from './models';
|
|
455
|
+
|
|
456
|
+
const app = TerrenoApp.create({ auth: { userModel: User, ... } })
|
|
457
|
+
// Full options
|
|
458
|
+
.addModelRouter('/posts', Post, {
|
|
459
|
+
permissions: {
|
|
460
|
+
create: [Permissions.IsAuthenticated],
|
|
461
|
+
read: [Permissions.IsAny],
|
|
462
|
+
update: [Permissions.IsOwner],
|
|
463
|
+
delete: [Permissions.IsOwner],
|
|
464
|
+
list: [Permissions.IsAny],
|
|
465
|
+
},
|
|
466
|
+
queryFields: ['title', 'authorId'],
|
|
467
|
+
queryFilter: OwnerQueryFilter,
|
|
468
|
+
})
|
|
469
|
+
// Shorthand: just pass permissions object directly
|
|
470
|
+
.addModelRouter('/comments', Comment, {
|
|
471
|
+
create: [Permissions.IsAuthenticated],
|
|
472
|
+
read: [Permissions.IsAny],
|
|
473
|
+
update: [Permissions.IsOwner],
|
|
474
|
+
delete: [Permissions.IsOwner],
|
|
475
|
+
list: [Permissions.IsAny],
|
|
476
|
+
});
|
|
477
|
+
|
|
478
|
+
await app.start();
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
The shorthand detects when you pass a permissions object directly (has `create`/`read`/`update`/`delete`/`list` keys) vs full ModelRouterOptions (has `permissions` key).
|
|
482
|
+
|
|
483
|
+
#### Model Router Request Lifecycle
|
|
484
|
+
|
|
485
|
+
When a request hits a modelRouter endpoint, processing follows this order:
|
|
486
|
+
|
|
487
|
+
```
|
|
488
|
+
1. Express middleware (cors, json, helmet, etc.)
|
|
489
|
+
2. Authentication middleware (JWT verification → req.user)
|
|
490
|
+
3. onRequest hook fires
|
|
491
|
+
4. onAuthenticated hook fires (if user was authenticated)
|
|
492
|
+
5. Permission check (e.g., IsAuthenticated, IsOwner)
|
|
493
|
+
└── If denied → 403 response, skip remaining steps
|
|
494
|
+
6. Query filter applied (e.g., OwnerQueryFilter adds { ownerId: req.user.id } to list queries)
|
|
495
|
+
7. Route handler executes (create/read/update/delete/list)
|
|
496
|
+
└── For list: queryFields restrict which fields can be filtered via query params
|
|
497
|
+
└── For update/delete: document is fetched first, then permissions (e.g., IsOwner) are checked against it
|
|
498
|
+
8. onResponse hook fires
|
|
499
|
+
9. Response sent
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
The `queryFilter` runs **after** authentication but **before** the database query, so it has access to `req.user` and can scope queries accordingly. This is useful for multi-tenant apps where users should only see their own data.
|
|
503
|
+
|
|
504
|
+
### Adding Custom Routes
|
|
505
|
+
|
|
506
|
+
```typescript
|
|
507
|
+
const app = TerrenoApp.create({ ... })
|
|
508
|
+
// Add route with a router
|
|
509
|
+
.addRoute('/webhooks', webhookRouter)
|
|
510
|
+
|
|
511
|
+
// Add route with a callback function
|
|
512
|
+
.addRoute('/custom', (router) => {
|
|
513
|
+
router.get('/ping', (req, res) => res.json({ pong: true }));
|
|
514
|
+
router.post('/echo', (req, res) => res.json(req.body));
|
|
515
|
+
})
|
|
516
|
+
|
|
517
|
+
// Add route with OpenAPI spec (merged into generated /openapi.json)
|
|
518
|
+
.addRoute('/custom', (router) => {
|
|
519
|
+
router.get('/ping', (req, res) => res.json({ pong: true }));
|
|
520
|
+
}, {
|
|
521
|
+
openapi: {
|
|
522
|
+
'/ping': {
|
|
523
|
+
get: {
|
|
524
|
+
summary: 'Ping endpoint',
|
|
525
|
+
responses: { '200': { description: 'Pong response' } },
|
|
526
|
+
},
|
|
527
|
+
},
|
|
528
|
+
},
|
|
529
|
+
})
|
|
530
|
+
|
|
531
|
+
// Mount at root
|
|
532
|
+
.addRoute('/', (router) => {
|
|
533
|
+
router.get('/version', (req, res) => res.json({ version: '1.0.0' }));
|
|
534
|
+
});
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
### Configuring Middleware
|
|
538
|
+
|
|
539
|
+
```typescript
|
|
540
|
+
const app = TerrenoApp.create({
|
|
541
|
+
auth: { ... },
|
|
542
|
+
middleware: {
|
|
543
|
+
cors: {
|
|
544
|
+
enabled: true,
|
|
545
|
+
origin: ['https://myapp.com', 'https://admin.myapp.com'],
|
|
546
|
+
credentials: true,
|
|
547
|
+
},
|
|
548
|
+
json: {
|
|
549
|
+
limit: '10mb',
|
|
550
|
+
},
|
|
551
|
+
helmet: {
|
|
552
|
+
enabled: true,
|
|
553
|
+
},
|
|
554
|
+
rateLimit: {
|
|
555
|
+
enabled: true,
|
|
556
|
+
windowMs: 15 * 60 * 1000, // 15 minutes
|
|
557
|
+
max: 100,
|
|
558
|
+
},
|
|
559
|
+
},
|
|
560
|
+
});
|
|
561
|
+
```
|
|
562
|
+
|
|
563
|
+
### Custom Health Check
|
|
564
|
+
|
|
565
|
+
```typescript
|
|
566
|
+
const app = TerrenoApp.create({
|
|
567
|
+
auth: { ... },
|
|
568
|
+
health: {
|
|
569
|
+
enabled: true,
|
|
570
|
+
path: '/health',
|
|
571
|
+
check: async () => {
|
|
572
|
+
const dbConnected = mongoose.connection.readyState === 1;
|
|
573
|
+
const redisConnected = await redis.ping().catch(() => false);
|
|
574
|
+
|
|
575
|
+
return {
|
|
576
|
+
healthy: dbConnected && redisConnected,
|
|
577
|
+
details: {
|
|
578
|
+
database: dbConnected ? 'connected' : 'disconnected',
|
|
579
|
+
redis: redisConnected ? 'connected' : 'disconnected',
|
|
580
|
+
uptime: process.uptime(),
|
|
581
|
+
},
|
|
582
|
+
};
|
|
583
|
+
},
|
|
584
|
+
},
|
|
585
|
+
});
|
|
586
|
+
```
|
|
587
|
+
|
|
588
|
+
### Using Hooks
|
|
589
|
+
|
|
590
|
+
```typescript
|
|
591
|
+
const app = TerrenoApp.create({
|
|
592
|
+
auth: { ... },
|
|
593
|
+
hooks: {
|
|
594
|
+
onAppCreated: (app) => {
|
|
595
|
+
console.log('Express app created');
|
|
596
|
+
},
|
|
597
|
+
|
|
598
|
+
onAuthReady: (app) => {
|
|
599
|
+
// Add custom auth middleware after built-in auth
|
|
600
|
+
app.use('/admin', adminAuthMiddleware);
|
|
601
|
+
},
|
|
602
|
+
|
|
603
|
+
onRoutesReady: (app) => {
|
|
604
|
+
// Add routes that need to come after model routers
|
|
605
|
+
app.use('/analytics', analyticsRouter);
|
|
606
|
+
},
|
|
607
|
+
|
|
608
|
+
onReady: (app) => {
|
|
609
|
+
console.log('App fully configured');
|
|
610
|
+
},
|
|
611
|
+
|
|
612
|
+
onListening: (server, port) => {
|
|
613
|
+
console.log(`Server listening on port ${port}`);
|
|
614
|
+
},
|
|
615
|
+
|
|
616
|
+
onRequest: (req, res) => {
|
|
617
|
+
req.startTime = Date.now();
|
|
618
|
+
},
|
|
619
|
+
|
|
620
|
+
onError: (error, req, res) => {
|
|
621
|
+
// Custom error tracking
|
|
622
|
+
errorTracker.capture(error, { url: req.url, user: req.user?.id });
|
|
623
|
+
},
|
|
624
|
+
|
|
625
|
+
onShutdown: async () => {
|
|
626
|
+
await mongoose.disconnect();
|
|
627
|
+
await redis.quit();
|
|
628
|
+
},
|
|
629
|
+
},
|
|
630
|
+
});
|
|
631
|
+
```
|
|
632
|
+
|
|
633
|
+
### Adding Custom Middleware
|
|
634
|
+
|
|
635
|
+
```typescript
|
|
636
|
+
const app = TerrenoApp.create({ ... })
|
|
637
|
+
// Add middleware that runs for all routes
|
|
638
|
+
.addMiddleware(requestIdMiddleware)
|
|
639
|
+
|
|
640
|
+
// Add middleware with options
|
|
641
|
+
.addMiddleware(customMiddleware, {
|
|
642
|
+
path: '/api', // Only apply to /api routes
|
|
643
|
+
position: 'afterAuth', // Insert after auth middleware
|
|
644
|
+
});
|
|
645
|
+
```
|
|
646
|
+
|
|
647
|
+
### Adding Error Handling Middleware
|
|
648
|
+
|
|
649
|
+
Error handling middleware (4-argument Express handlers) must be mounted **after** all routes. Use `addErrorHandlingMiddleware()` for integrations like Sentry that require this ordering:
|
|
650
|
+
|
|
651
|
+
```typescript
|
|
652
|
+
import * as Sentry from '@sentry/node';
|
|
653
|
+
|
|
654
|
+
const app = TerrenoApp.create({ ... })
|
|
655
|
+
.addModelRouter('/posts', Post, { ... })
|
|
656
|
+
.addRoute('/webhooks', webhookRouter)
|
|
657
|
+
|
|
658
|
+
// Mounted after all routes but before TerrenoApp's built-in error handler
|
|
659
|
+
.addErrorHandlingMiddleware(Sentry.setupExpressErrorHandler)
|
|
660
|
+
|
|
661
|
+
// Can add multiple — they run in order
|
|
662
|
+
.addErrorHandlingMiddleware((err, req, res, next) => {
|
|
663
|
+
// Custom error logging
|
|
664
|
+
logger.error('Unhandled error', { error: err, url: req.url });
|
|
665
|
+
next(err);
|
|
666
|
+
});
|
|
667
|
+
```
|
|
668
|
+
|
|
669
|
+
During `build()`, the ordering is:
|
|
670
|
+
1. Built-in middleware (cors, json, helmet, etc.)
|
|
671
|
+
2. Custom middleware via `addMiddleware()`
|
|
672
|
+
3. Auth middleware
|
|
673
|
+
4. Routes (model routers + custom routes)
|
|
674
|
+
5. **Error handling middleware via `addErrorHandlingMiddleware()`** ← inserted here
|
|
675
|
+
6. TerrenoApp's built-in error handler (APIError formatting, stack traces)
|
|
676
|
+
|
|
677
|
+
### WebSocket Support
|
|
678
|
+
|
|
679
|
+
```typescript
|
|
680
|
+
const app = TerrenoApp.create({
|
|
681
|
+
auth: { ... },
|
|
682
|
+
webSocket: {
|
|
683
|
+
enabled: true,
|
|
684
|
+
path: '/ws',
|
|
685
|
+
|
|
686
|
+
// Authenticate WebSocket connections using the same JWT system
|
|
687
|
+
authenticate: async (request) => {
|
|
688
|
+
const token = new URL(request.url!, 'http://localhost').searchParams.get('token');
|
|
689
|
+
if (!token) return null;
|
|
690
|
+
return verifyToken(token); // Returns user or null
|
|
691
|
+
},
|
|
692
|
+
|
|
693
|
+
onConnection: (ws, user) => {
|
|
694
|
+
console.log(`User ${user?.id ?? 'anonymous'} connected`);
|
|
695
|
+
ws.send(JSON.stringify({ type: 'welcome', userId: user?.id }));
|
|
696
|
+
},
|
|
697
|
+
|
|
698
|
+
onMessage: (ws, message, user) => {
|
|
699
|
+
const data = JSON.parse(message.toString());
|
|
700
|
+
// Handle message...
|
|
701
|
+
},
|
|
702
|
+
|
|
703
|
+
onClose: (ws, code, reason, user) => {
|
|
704
|
+
console.log(`User ${user?.id} disconnected: ${code}`);
|
|
705
|
+
},
|
|
706
|
+
},
|
|
707
|
+
hooks: {
|
|
708
|
+
onWebSocketReady: (wss) => {
|
|
709
|
+
// Access the raw WebSocket server for advanced use cases
|
|
710
|
+
console.log('WebSocket server ready');
|
|
711
|
+
},
|
|
712
|
+
},
|
|
713
|
+
});
|
|
714
|
+
|
|
715
|
+
const { app, server, wss } = await app.start();
|
|
716
|
+
|
|
717
|
+
// Broadcast to all connected clients
|
|
718
|
+
wss.clients.forEach((client) => {
|
|
719
|
+
client.send(JSON.stringify({ type: 'broadcast', data: 'Hello everyone!' }));
|
|
720
|
+
});
|
|
721
|
+
```
|
|
722
|
+
|
|
723
|
+
### Graceful Shutdown
|
|
724
|
+
|
|
725
|
+
```typescript
|
|
726
|
+
const app = TerrenoApp.create({
|
|
727
|
+
auth: { ... },
|
|
728
|
+
shutdown: {
|
|
729
|
+
handleSignals: true, // Auto-handle SIGTERM/SIGINT (default: true)
|
|
730
|
+
timeout: 30000, // 30 second timeout for graceful shutdown
|
|
731
|
+
|
|
732
|
+
onShutdown: async () => {
|
|
733
|
+
// Cleanup before shutdown
|
|
734
|
+
await mongoose.disconnect();
|
|
735
|
+
await redis.quit();
|
|
736
|
+
await closeSomeConnections();
|
|
737
|
+
},
|
|
738
|
+
},
|
|
739
|
+
});
|
|
740
|
+
|
|
741
|
+
await app.start();
|
|
742
|
+
|
|
743
|
+
// Can also trigger shutdown programmatically
|
|
744
|
+
process.on('custom-shutdown-event', async () => {
|
|
745
|
+
await app.shutdown();
|
|
746
|
+
});
|
|
747
|
+
```
|
|
748
|
+
|
|
749
|
+
When `handleSignals` is true (default), TerrenoApp will:
|
|
750
|
+
1. Stop accepting new connections
|
|
751
|
+
2. Wait for existing requests to complete (up to `timeout`)
|
|
752
|
+
3. Close WebSocket connections gracefully
|
|
753
|
+
4. Call `onShutdown` hook
|
|
754
|
+
5. Exit process
|
|
755
|
+
|
|
756
|
+
### Disabling Features
|
|
757
|
+
|
|
758
|
+
```typescript
|
|
759
|
+
const app = TerrenoApp.create({
|
|
760
|
+
auth: {
|
|
761
|
+
userModel: User,
|
|
762
|
+
token: { ... },
|
|
763
|
+
enableAuthRoutes: false, // Don't add /auth/* routes
|
|
764
|
+
enableMeRoute: false, // Don't add /me route
|
|
765
|
+
},
|
|
766
|
+
middleware: {
|
|
767
|
+
cors: false, // Disable CORS entirely
|
|
768
|
+
},
|
|
769
|
+
logging: {
|
|
770
|
+
requests: {
|
|
771
|
+
enabled: false, // Disable request logging
|
|
772
|
+
},
|
|
773
|
+
},
|
|
774
|
+
openApi: {
|
|
775
|
+
enabled: false, // Disable OpenAPI generation
|
|
776
|
+
},
|
|
777
|
+
health: {
|
|
778
|
+
enabled: false, // Disable health endpoint
|
|
779
|
+
},
|
|
780
|
+
});
|
|
781
|
+
```
|
|
782
|
+
|
|
783
|
+
### Testing Setup
|
|
784
|
+
|
|
785
|
+
```typescript
|
|
786
|
+
// In tests
|
|
787
|
+
const app = TerrenoApp.create({
|
|
788
|
+
auth: { ... },
|
|
789
|
+
server: {
|
|
790
|
+
skipListen: true, // Don't start HTTP server
|
|
791
|
+
},
|
|
792
|
+
logging: {
|
|
793
|
+
requests: { enabled: false },
|
|
794
|
+
},
|
|
795
|
+
});
|
|
796
|
+
|
|
797
|
+
const expressApp = app.build(); // Get Express app without listening
|
|
798
|
+
// Use with supertest
|
|
799
|
+
```
|
|
800
|
+
|
|
801
|
+
---
|
|
802
|
+
|
|
803
|
+
## Implementation Tasks
|
|
804
|
+
|
|
805
|
+
### Phase 1: Core Implementation
|
|
806
|
+
|
|
807
|
+
Implement TerrenoApp with full test coverage. Each feature should be tested as it's built.
|
|
808
|
+
|
|
809
|
+
**New Files:**
|
|
810
|
+
- `TerrenoAppOptions.ts` - Option interfaces, defaults, and validation
|
|
811
|
+
- `TerrenoAppHooks.ts` - Hook type definitions and async runner
|
|
812
|
+
- `TerrenoApp.ts` - Main class with fluent API
|
|
813
|
+
|
|
814
|
+
**Features to implement (with tests):**
|
|
815
|
+
- `create()`, `build()`, `start()` lifecycle
|
|
816
|
+
- `addModelRouter()` with shorthand support
|
|
817
|
+
- `addRoute()` and `addMiddleware()`
|
|
818
|
+
- All toggleable middleware (cors, json, helmet, etc.)
|
|
819
|
+
- Health endpoint with custom check function
|
|
820
|
+
- All initialization and request lifecycle hooks
|
|
821
|
+
- WebSocket support with authentication
|
|
822
|
+
- Graceful shutdown with signal handling
|
|
823
|
+
|
|
824
|
+
**Update example-backend** to demonstrate the new API.
|
|
825
|
+
|
|
826
|
+
### Phase 2: Deprecation & Documentation
|
|
827
|
+
|
|
828
|
+
- Add `@deprecated` JSDoc to `setupServer` and related exports in `expressServer.ts`
|
|
829
|
+
- Update `index.ts` to export TerrenoApp as primary API
|
|
830
|
+
- Keep setupServer export with deprecation warning
|
|
831
|
+
- Write migration guide for users
|
|
832
|
+
|
|
833
|
+
---
|
|
834
|
+
|
|
835
|
+
## Breaking Changes
|
|
836
|
+
|
|
837
|
+
This is a **breaking change** release. Users must migrate from `setupServer` to `TerrenoApp`.
|
|
838
|
+
|
|
839
|
+
### What's Changing
|
|
840
|
+
|
|
841
|
+
1. **`setupServer` deprecated** - Marked deprecated, will be removed in next major version
|
|
842
|
+
2. **Environment variables no longer used** - All configuration via options (no fallback to env vars)
|
|
843
|
+
3. **`modelRouter` unchanged** - Same signature and options, works with TerrenoApp
|
|
844
|
+
4. **New primary API** - `TerrenoApp.create()` replaces `setupServer()`
|