@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,147 @@
|
|
|
1
|
+
# Task List: design-blend Skill
|
|
2
|
+
|
|
3
|
+
Structured task breakdown for implementing the `design-blend` skill.
|
|
4
|
+
|
|
5
|
+
## Phase 1: Planning Baseline
|
|
6
|
+
|
|
7
|
+
- [x] **Task 1.1: Finalize IP contract**
|
|
8
|
+
- Description: Ensure the IP explicitly defines required outputs for models, modelRouters, model actions, UI composition, and conditional new components.
|
|
9
|
+
- Files: `docs/implementationPlans/design-blend-skill.md`
|
|
10
|
+
- Depends on: none
|
|
11
|
+
- Acceptance: IP contains concrete sections for REST-first gate, action gating, and component reuse-first policy.
|
|
12
|
+
|
|
13
|
+
- [x] **Task 1.2: Publish executable task list**
|
|
14
|
+
- Description: Save this task list with dependency ordering and acceptance criteria.
|
|
15
|
+
- Files: `docs/tasks/design-blend-skill.md`
|
|
16
|
+
- Depends on: 1.1
|
|
17
|
+
- Acceptance: Task list exists and is consumable by an implementation subagent.
|
|
18
|
+
|
|
19
|
+
## Phase 2: Skill Authoring
|
|
20
|
+
|
|
21
|
+
- [x] **Task 2.1: Create `design-blend` skill**
|
|
22
|
+
- Description: Author `.rulesync/skills/design-blend/SKILL.md` with a workflow that starts from a Claude design file and produces a Terreno-focused implementation plan.
|
|
23
|
+
- Files: `.rulesync/skills/design-blend/SKILL.md`
|
|
24
|
+
- Depends on: 1.1, 1.2
|
|
25
|
+
- Acceptance: Skill includes purpose, required outputs, and deterministic execution steps.
|
|
26
|
+
|
|
27
|
+
- [x] **Task 2.2: Enforce REST-first and action gate**
|
|
28
|
+
- Description: Add explicit decision logic that defaults to modelRouter CRUD and only permits model actions with documented justification.
|
|
29
|
+
- Files: `.rulesync/skills/design-blend/SKILL.md`
|
|
30
|
+
- Depends on: 2.1
|
|
31
|
+
- Acceptance: Skill includes "Action Decision Gate" and requires rejected action candidates.
|
|
32
|
+
|
|
33
|
+
- [x] **Task 2.3: Enforce Terreno-first UI composition**
|
|
34
|
+
- Description: Require mapping design sections to existing `@terreno/ui` components before proposing new components.
|
|
35
|
+
- Files: `.rulesync/skills/design-blend/SKILL.md`
|
|
36
|
+
- Depends on: 2.1
|
|
37
|
+
- Acceptance: Skill includes component mapping table and conditional new-component contract.
|
|
38
|
+
|
|
39
|
+
- [x] **Task 2.4: Add implementation execution behavior**
|
|
40
|
+
- Description: Require users to confirm plan/task list first, then execute via subagent, with "Plan vs Actual" comparison after each task.
|
|
41
|
+
- Files: `.rulesync/skills/design-blend/SKILL.md`
|
|
42
|
+
- Depends on: 2.1
|
|
43
|
+
- Acceptance: Skill has explicit per-task comparison output requirement.
|
|
44
|
+
|
|
45
|
+
## Phase 3: Sync and Validation
|
|
46
|
+
|
|
47
|
+
- [x] **Task 3.1: Run rulesync generation**
|
|
48
|
+
- Description: Sync `.rulesync/skills/design-blend/SKILL.md` to all configured targets.
|
|
49
|
+
- Files: generated by `rulesync` in target directories
|
|
50
|
+
- Depends on: 2.1, 2.2, 2.3, 2.4
|
|
51
|
+
- Acceptance: `bun run rules` succeeds and generated files include the new skill.
|
|
52
|
+
|
|
53
|
+
- [x] **Task 3.2: Validate requirement coverage**
|
|
54
|
+
- Description: Verify the source and generated skill files contain required sections and no missing critical constraints.
|
|
55
|
+
- Files: `.rulesync/skills/design-blend/SKILL.md` plus synced outputs
|
|
56
|
+
- Depends on: 3.1
|
|
57
|
+
- Acceptance: Manual diff/read confirms all required sections are present in source and mirrors.
|
|
58
|
+
|
|
59
|
+
## Plan vs Actual Log
|
|
60
|
+
|
|
61
|
+
### Plan vs Actual: Task 1.1
|
|
62
|
+
- Status: match
|
|
63
|
+
- Planned:
|
|
64
|
+
- Finalize the IP contract with explicit required sections for models, APIs, actions, UI mapping, and conditional new components.
|
|
65
|
+
- Actual:
|
|
66
|
+
- Expanded `docs/implementationPlans/design-blend-skill.md` with explicit contract sections and enforcement rules.
|
|
67
|
+
- Evidence:
|
|
68
|
+
- IP file includes all required contract outputs and acceptance criteria.
|
|
69
|
+
- Corrective action:
|
|
70
|
+
- none
|
|
71
|
+
|
|
72
|
+
### Plan vs Actual: Task 1.2
|
|
73
|
+
- Status: match
|
|
74
|
+
- Planned:
|
|
75
|
+
- Save a structured, dependency-ordered task list for implementation.
|
|
76
|
+
- Actual:
|
|
77
|
+
- Created this file with phased tasks, dependencies, and acceptance criteria.
|
|
78
|
+
- Evidence:
|
|
79
|
+
- `docs/tasks/design-blend-skill.md` contains phase-ordered tasks.
|
|
80
|
+
- Corrective action:
|
|
81
|
+
- none
|
|
82
|
+
|
|
83
|
+
### Plan vs Actual: Task 2.1
|
|
84
|
+
- Status: match
|
|
85
|
+
- Planned:
|
|
86
|
+
- Create `design-blend` skill with purpose, required outputs, and deterministic workflow.
|
|
87
|
+
- Actual:
|
|
88
|
+
- Authored `.rulesync/skills/design-blend/SKILL.md` with full structure and constraints.
|
|
89
|
+
- Evidence:
|
|
90
|
+
- Source skill file includes required sections and workflow steps.
|
|
91
|
+
- Corrective action:
|
|
92
|
+
- none
|
|
93
|
+
|
|
94
|
+
### Plan vs Actual: Task 2.2
|
|
95
|
+
- Status: match
|
|
96
|
+
- Planned:
|
|
97
|
+
- Enforce REST-first behavior and strict action gating.
|
|
98
|
+
- Actual:
|
|
99
|
+
- Added mandatory REST-first contract and Action Decision Gate requirements.
|
|
100
|
+
- Evidence:
|
|
101
|
+
- Skill requires both approved and rejected action candidate tracking.
|
|
102
|
+
- Corrective action:
|
|
103
|
+
- none
|
|
104
|
+
|
|
105
|
+
### Plan vs Actual: Task 2.3
|
|
106
|
+
- Status: match
|
|
107
|
+
- Planned:
|
|
108
|
+
- Enforce Terreno-first component composition and conditional net-new component rules.
|
|
109
|
+
- Actual:
|
|
110
|
+
- Added explicit Terreno Component Mapping output and New Component Contract gates.
|
|
111
|
+
- Evidence:
|
|
112
|
+
- Skill requires proof of composition gap before allowing new components.
|
|
113
|
+
- Corrective action:
|
|
114
|
+
- none
|
|
115
|
+
|
|
116
|
+
### Plan vs Actual: Task 2.4
|
|
117
|
+
- Status: match
|
|
118
|
+
- Planned:
|
|
119
|
+
- Require confirmation before implementation, then subagent execution with per-task comparisons.
|
|
120
|
+
- Actual:
|
|
121
|
+
- Added explicit confirmation gate and mandatory per-task Plan vs Actual template.
|
|
122
|
+
- Evidence:
|
|
123
|
+
- Skill includes confirmation phrase and reporting template section.
|
|
124
|
+
- Corrective action:
|
|
125
|
+
- none
|
|
126
|
+
|
|
127
|
+
### Plan vs Actual: Task 3.1
|
|
128
|
+
- Status: match
|
|
129
|
+
- Planned:
|
|
130
|
+
- Run rulesync so source skill is mirrored to configured targets.
|
|
131
|
+
- Actual:
|
|
132
|
+
- Ran `bun run rules`; all files reported up to date.
|
|
133
|
+
- Evidence:
|
|
134
|
+
- Command output confirms rules/skills are synced.
|
|
135
|
+
- Corrective action:
|
|
136
|
+
- none
|
|
137
|
+
|
|
138
|
+
### Plan vs Actual: Task 3.2
|
|
139
|
+
- Status: match
|
|
140
|
+
- Planned:
|
|
141
|
+
- Validate that required sections are present in source and mirrored outputs.
|
|
142
|
+
- Actual:
|
|
143
|
+
- Verified source and generated files exist and contain required contract sections.
|
|
144
|
+
- Evidence:
|
|
145
|
+
- File verification completed across `.rulesync`, `.cursor`, `.claude`, `.windsurf`, `.github`, `.agents`.
|
|
146
|
+
- Corrective action:
|
|
147
|
+
- none
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Feature Flags → OpenFeature — Task List
|
|
2
|
+
|
|
3
|
+
See `docs/implementationPlans/feature-flags-openfeature.md` for full details.
|
|
4
|
+
|
|
5
|
+
## Phase 0: Catalog & deps
|
|
6
|
+
|
|
7
|
+
- [x] **0.1** Add `@openfeature/server-sdk`, `@openfeature/web-sdk`, `@openfeature/react-sdk`, `@openfeature/core` to the root `package.json` `catalog` (pin minor; check latest at time of work). Verify with `bun install` from root.
|
|
8
|
+
|
|
9
|
+
## Phase 1: Backend OpenFeature integration
|
|
10
|
+
|
|
11
|
+
- [x] **1.1** Add `@openfeature/server-sdk` (catalog version) to `feature-flags/package.json` dependencies. Run `bun install`.
|
|
12
|
+
- [x] **1.2** Add `defaultVariant` field to `FeatureFlag` schema (`feature-flags/src/featureFlagModel.ts`) with description and validation. **No getter** — use a `pre("save")` hook that populates `defaultVariant` when undefined (boolean → "off"; variant → first variant key). Validation: if set, boolean must be `"on"`/`"off"`; variant must be one of `variants[].key`. Add `defaultVariant` to `featureFlagAdminConfig.listFields`.
|
|
13
|
+
- [x] **1.3** Update `FeatureFlagDocument` type in `feature-flags/src/types.ts` with optional `defaultVariant`. Add `FlagDefinition` and `FlagConfigurationResponse` interfaces.
|
|
14
|
+
- [x] **1.4** Create `feature-flags/src/openFeatureProvider.ts` exporting `MongoFeatureFlagProvider` implementing OpenFeature's `Provider` interface. Use `findOneOrNone` (per repo rule — never `findOne`). Returns `FLAG_NOT_FOUND` / `TYPE_MISMATCH` `ResolutionDetails` shapes for missing or wrong-type flags. Delegates the targeting math to existing `evaluateFlag()`.
|
|
15
|
+
- [x] **1.5** Update `FeatureFlagsApp.register()` (`feature-flags/src/featureFlagsApp.ts`): construct provider, call `OpenFeature.setProvider(domain, provider)` (default domain `"feature-flags"`), register new `/flagConfiguration` route, keep `/evaluate` with `Deprecation: true` + `Sunset: <90d>` headers + one-shot warn log.
|
|
16
|
+
- [x] **1.6** Add `buildFlagDefinition(flag, targetingKey, user, segments)` helper. **Critical filter**: `/flagConfiguration` matches today's `evaluateAllFlags` filter (`archived: $ne true, enabled: true`) — disabled flags are omitted entirely. Every returned `FlagDefinition` has `disabled: false`.
|
|
17
|
+
- [x] **1.7** Update `FeatureFlagsOptions` type (`feature-flags/src/types.ts`) to add `liveUpdates` and `openFeatureDomain` fields.
|
|
18
|
+
- [x] **1.8** Update `feature-flags/src/index.ts` to export `MongoFeatureFlagProvider`, `FlagDefinition`, `FlagConfigurationResponse`.
|
|
19
|
+
- [x] **1.9** Add `feature-flags/src/tests/openFeatureProvider.test.ts` covering: boolean and variant resolution; disabled flag returns default + reason "DISABLED"; `TYPE_MISMATCH` on wrong-type call; `FLAG_NOT_FOUND` on missing flag; rule-match path; segment-match path; deterministic-hash path; missing `targetingKey`; variant default fallback; `resolveNumberEvaluation` and `resolveObjectEvaluation` return `FLAG_NOT_FOUND`.
|
|
20
|
+
- [x] **1.10** Extend `feature-flags/src/tests/featureFlagsApp.test.ts`: `/flagConfiguration` returns the right shape for both flag types; **explicitly verifies disabled flags are OMITTED**; verifies `defaultVariant` flows through; verifies `/evaluate` still works AND now includes `Deprecation` + `Sunset` headers. Add `featureFlagModel.test.ts` (or extend existing tests) with: legacy doc (no `defaultVariant`) can be saved and the hook populates a default; explicit `defaultVariant: "on"` on boolean passes; `defaultVariant: "bad"` on boolean is rejected.
|
|
21
|
+
- [x] **1.11** Run `bun run --filter=@terreno/feature-flags compile test lint`. Fix issues.
|
|
22
|
+
|
|
23
|
+
## Phase 2: Frontend OpenFeature integration
|
|
24
|
+
|
|
25
|
+
- [x] **2.0 (blocking spike)** Verify `@openfeature/react-sdk` works under React Native. Write a tiny `bun test` using `@testing-library/react-native` that wraps a component in `<OpenFeatureProvider>` with a `TypedInMemoryProvider` and asserts `useBooleanFlagValue("k", false)` returns `true` after `PROVIDER_READY`. If it fails on RN, fall back to importing only from `@openfeature/web-sdk` and writing a thin React adapter inside `@terreno/rtk` that uses `useSyncExternalStore` against the OF client's event emitter. Do not proceed to 2.1 until this is green.
|
|
26
|
+
- [x] **2.1** Add `@openfeature/web-sdk` + `@openfeature/react-sdk` as **peerDependencies** (NOT direct deps) in `rtk/package.json`. Add `@openfeature/core` as a direct dep for types. Run `bun install` from root.
|
|
27
|
+
- [x] **2.2** Create `rtk/src/useTerrenoFeatureFlags.ts`. Critical behaviors:
|
|
28
|
+
- RTK Query endpoint cache key includes `userId` so user switching invalidates cache.
|
|
29
|
+
- On data success, `await OpenFeature.setProvider(domain, new TypedInMemoryProvider(data))`; subscribe to `PROVIDER_READY` via `client.addHandler`.
|
|
30
|
+
- `isLoading` stays `true` until BOTH RTK has data AND `PROVIDER_READY` has fired (gated by a ref-tracked boolean).
|
|
31
|
+
- On `userId` change: `OpenFeature.setContext(domain, {targetingKey: userId})` BEFORE the refetch resolves.
|
|
32
|
+
- Module-level ref counter for provider lifetime; do not clear provider on individual unmount; clear only when count returns to zero (last consumer leaves).
|
|
33
|
+
- StrictMode safety: ref tracks in-flight `setProvider` promise to dedupe double-effect.
|
|
34
|
+
- If `options.socket` is provided, subscribe to `socketEventName ?? "featureFlagsChanged"` → `refetch()`. Cleanup on unmount.
|
|
35
|
+
- Return `{flags, isLoading, error, refetch, client}`.
|
|
36
|
+
- [x] **2.3** Rewrite `rtk/src/useFeatureFlags.ts` as a BC wrapper over `useTerrenoFeatureFlags`. Preserve overloaded signature (`string | UseFeatureFlagsOptions`). `getFlag` uses `client.getBooleanValue(key, false)`. `getVariant` returns `null` when `!flags[key]` (the flag is disabled/missing — disabled flags are filtered out of `/flagConfiguration`); otherwise returns `client.getStringValue(key, "") || null`. Build `flatFlags: Record<string, boolean | string | null>` from the raw `FlagConfiguration` map by projecting each `FlagDefinition`: boolean → `variants[defaultVariant]`, variant → `defaultVariant`. Add explicit type tests.
|
|
37
|
+
- [x] **2.4** Update `rtk/src/index.ts` to export `useTerrenoFeatureFlags` and its types. Do **not** re-export OpenFeature hooks (consumers add `@openfeature/react-sdk` directly).
|
|
38
|
+
- [x] **2.5** Update `rtk/src/useFeatureFlags.test.ts` to match the new wire shape. Cover: legacy options shape (string), modern options shape (object), `skip`, `getFlag`/`getVariant` for boolean and variant flags, `null` on disabled/missing, timing logs preserved, **snapshot test** locking the `flatFlags` projection so `profile.tsx`'s render output is byte-identical to before.
|
|
39
|
+
- [x] **2.6** Add `rtk/src/useTerrenoFeatureFlags.test.ts` covering: provider is set on success; `isLoading` stays `true` until `PROVIDER_READY`; domain isolation (default provider not affected); refetch path; no-op when `skip: true`; `userId` change triggers context + refetch + provider replacement; StrictMode double-mount does not double-set provider; ref count prevents premature provider clearing; socket event triggers refetch.
|
|
40
|
+
- [x] **2.7** Run `bun run --filter=@terreno/rtk compile test lint`. Fix issues.
|
|
41
|
+
|
|
42
|
+
## Phase 3: Live updates (opt-in)
|
|
43
|
+
|
|
44
|
+
- [x] **3.1** In `FeatureFlagsApp.register()`, when `options.liveUpdates?.socketIoServer` is provided (accept either a value or a `() => Server | null` getter — example-backend's `io` is lazily initialized), start `FeatureFlag.watch([], {fullDocument: "updateLookup"})`. On each change, emit `featureFlagsChanged` (configurable event name) plus call `provider.emitConfigurationChanged()`. Log on stream `error`; one auto-reconnect attempt, then disable + warn.
|
|
45
|
+
- [x] **3.2** Add `feature-flags/src/tests/featureFlagsApp.liveUpdates.test.ts`. Test approach: **mock `FeatureFlag.watch`** to return a fake `EventEmitter` with the change-stream interface (`on`, `close`). The tests do NOT spin up a replica-set Mongo. Cover: emission on insert/update/delete (via emitting fake change events), custom event name, error handler logs a warn, double-error disables the stream.
|
|
46
|
+
- [x] **3.3** In `useTerrenoFeatureFlags`, when `options.socket` is provided, subscribe to `options.socketEventName ?? "featureFlagsChanged"` and call `refetch()` on each event. Cleanup on unmount. Acknowledge that the emit is global broadcast (all connected clients) — no PII in the payload.
|
|
47
|
+
- [x] **3.4** Add a test in `useTerrenoFeatureFlags.test.ts` proving: when a fake `EventEmitter` socket emits the event, the hook refetches and OF consumers re-render.
|
|
48
|
+
- [x] **3.5** Document the Mongoose replica-set requirement (production must use a replica set, including single-node replica set) and Socket.io wiring in `docs/how-to/add-feature-flags.md` (new "Live updates" section). Also document the broadcast scope (flag-key payload visible to every authenticated socket) — acceptable since flag keys ship to every authed client via `/flagConfiguration` anyway.
|
|
49
|
+
|
|
50
|
+
## Phase 4: Example apps + docs + SDK regen
|
|
51
|
+
|
|
52
|
+
- [x] **4.1** Update `example-backend` `FeatureFlagsApp` construction to pass `liveUpdates: {socketIoServer: () => io}` — use a getter, since `example-backend/src/websockets.ts:24` initializes `io` lazily during `connectToWebsockets`.
|
|
53
|
+
- [x] **4.2** Update `example-backend/src/scripts/seed-feature-flags.ts`: add `defaultVariant` to each `SEED_FLAGS` entry (`"off"` for boolean flags; for the `profile-layout` variant flag, `"compact"`). **Bump the seed**: either add a `seedVersion` field to FeatureFlag (skip if too invasive) OR add an idempotent "patch missing defaultVariant" upsert at the top of the script that updates existing docs in dev DBs to populate the new field. Document the dev-db backfill in the migration note.
|
|
54
|
+
- [x] **4.3** Update `example-frontend/app/_layout.tsx` to wrap children in `<OpenFeatureProvider domain="feature-flags">` and call `useTerrenoFeatureFlags(terrenoApi, {socket, userId})` once user is authenticated.
|
|
55
|
+
- [x] **4.4** Update `example-frontend/app/(tabs)/profile.tsx`: add a small section that uses `useBooleanFlagDetails("dark-mode-toggle", false)` and renders `reason` alongside value — verifies OF metadata is plumbed through and proves the `reason` field shape downstream.
|
|
56
|
+
- [x] **4.5** Add `example-frontend/types/openfeature.d.ts` demonstrating the type-safe flag keys augmentation. Reference it from the docs.
|
|
57
|
+
- [ ] **4.6** Regenerate frontend SDK: `cd example-frontend && bun run sdk`. Verify the new endpoint is in `openApiSdk.ts` and document that consumers should NOT call the generated hook directly; use `useTerrenoFeatureFlags`/`useFeatureFlags` instead.
|
|
58
|
+
- [x] **4.7** Update `docs/reference/feature-flags.md`: new endpoint shape, `MongoFeatureFlagProvider` export, `defaultVariant` field semantics, recommended OF hooks for new code, BC notes, **number/object flag types not supported** (always returns default), **type-safe flag keys drift warning**, dev-db backfill note for existing seeded flags.
|
|
59
|
+
- [x] **4.8** Update `docs/how-to/add-feature-flags.md`: recommend OF hooks for new code; show `useFeatureFlags` only in a "BC / migration" section.
|
|
60
|
+
- [x] **4.9** Add a short note at the top of `docs/implementationPlans/feature-flags.md` linking to this new IP.
|
|
61
|
+
- [x] **4.10** Add `example-frontend/e2e/feature-flags.spec.ts` Playwright test:
|
|
62
|
+
- Login as admin
|
|
63
|
+
- PATCH a flag via `/feature-flags/flags/:id` (e.g., toggle `enabled` on `todo-summary-card`)
|
|
64
|
+
- Within ~5s, assert the example-frontend's todos screen shows/hides the summary card accordingly **without** a page reload
|
|
65
|
+
- Verifies the full live-update loop (change stream → socket emit → hook refetch → OF re-render)
|
|
66
|
+
- Skip the test if the test environment does not have a Mongo replica set (use `test.skip` with a clear message) so CI doesn't fail when devs run without one.
|
|
67
|
+
- [ ] **4.11** Run full workspace check: `bun run lint && bun run compile && bun run test`. Run example stack manually (`bun run backend:dev` + `bun run frontend:web`) and verify the profile screen shows flags identical to before.
|
|
68
|
+
|
|
69
|
+
## Definition of Done
|
|
70
|
+
|
|
71
|
+
- All workspace tests pass.
|
|
72
|
+
- `example-frontend` runs end-to-end with seeded flags, showing identical values to before the migration.
|
|
73
|
+
- Admin edits to a flag (via the admin panel) propagate to an open example-frontend session within ~1 second without a manual refresh.
|
|
74
|
+
- A consumer using only `useFeatureFlags(api)` requires zero code changes.
|
|
75
|
+
- A consumer can now also use `useBooleanFlagValue("key", false)` directly from `@openfeature/react-sdk`.
|
|
76
|
+
- Type-safe flag keys augmentation is documented and demonstrated in `example-frontend`.
|
|
77
|
+
- The legacy `/evaluate` endpoint still works, returns the old shape, and includes a `Deprecation` header.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Feature Flags — Task List
|
|
2
|
+
|
|
3
|
+
## Phase 1: Backend + Evaluation Engine
|
|
4
|
+
|
|
5
|
+
- [ ] **Task 1.1**: Create `feature-flags/` package with FeatureFlag model (including archived field)
|
|
6
|
+
- [ ] **Task 1.2**: Implement FeatureFlagsApp plugin with modelRouter CRUD
|
|
7
|
+
- [ ] **Task 1.3**: Implement evaluation engine (field rules with dot notation, segment rules, deterministic hashing for boolean rollout and variant assignment)
|
|
8
|
+
- [ ] **Task 1.4**: Implement `/evaluate` and `/segments` custom endpoints
|
|
9
|
+
- [ ] **Task 1.5**: Write tests for evaluation logic
|
|
10
|
+
- [ ] **Task 1.6**: Integrate with example-backend
|
|
11
|
+
|
|
12
|
+
## Phase 2: Frontend Hook
|
|
13
|
+
|
|
14
|
+
- [ ] **Task 2.1**: Add `useFeatureFlags()` hook to `@terreno/rtk`
|
|
15
|
+
- [ ] **Task 2.2**: Export from rtk index
|
|
16
|
+
|
|
17
|
+
## Phase 3: Example App Integration
|
|
18
|
+
|
|
19
|
+
- [ ] **Task 3.1**: Wire up FeatureFlagsApp in example-backend, register model in AdminApp
|
|
20
|
+
- [ ] **Task 3.2**: Add sample flags and use `useFeatureFlags()` in example-frontend
|
|
21
|
+
- [ ] **Task 3.3**: Regenerate SDK
|
|
22
|
+
|
|
23
|
+
See `docs/implementationPlans/feature-flags.md` for full details on each task.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# modelRouter Actions — Task List
|
|
2
|
+
|
|
3
|
+
## Phase 1: Foundation (types + runtime + per-route OpenAPI middleware)
|
|
4
|
+
|
|
5
|
+
- [ ] **Task 1.1**: Add `zod ^4.3.6` as a **peerDependency** of `@terreno/api` (also pin `^4.3.6` in `devDependencies` so the package compiles/tests on its own) and `@asteasolutions/zod-to-openapi ^8.5.0` as a regular `dependency` (it bundles its own usage). Use Bun catalog for Zod if a catalog version exists.
|
|
6
|
+
- [ ] **Task 1.2**: Create `api/src/docLoader.ts` exporting `loadDocOr404(model, id, populatePaths?)`. Behavior matches the existing permission middleware doc-load (`permissions.ts:148–200`): 404 on missing, soft-delete-aware metadata via `model.collection.findOne` fallback.
|
|
7
|
+
- [ ] **Task 1.3**: Refactor `permissionMiddleware` in `api/src/permissions.ts` to call `loadDocOr404`. Add a regression test asserting soft-delete 404 metadata is intact. No public API change.
|
|
8
|
+
- [ ] **Task 1.4**: Create `api/src/actions.ts` with public types: `ActionContext`, `BaseActionConfig`, `InstanceActionConfig`, `CollectionActionConfig`. Also export `defineInstanceAction()` and `defineCollectionAction()` identity helpers that preserve per-action generics across the `Record<string, ...>` boundary.
|
|
9
|
+
- [ ] **Task 1.5**: Implement `runActionPermissions(action, scope, req, doc?)` in `api/src/actions.ts`. Maps HTTP method + scope → CRUD method. Pre-doc denial → **405** (matches `permissions.ts:136`). Post-doc denial → **403** (matches `permissions.ts:203`). Uses existing `checkPermissions` helper so `[]` arrays disable the action via 405.
|
|
10
|
+
- [ ] **Task 1.6**: Implement `validateActionRequest(action, req)` in `api/src/actions.ts`. Runs Zod `safeParse` on body/query when schemas provided. On failure throws `APIError({status: 400, title: "Validation failed", fields})` — emitted as `meta.fields` on the wire by `errors.ts:117–121`. Parsed values returned through `ctx`, NOT by mutating `req.query` (Express 5 getter).
|
|
11
|
+
- [ ] **Task 1.7**: Implement `wrapActionResponse(handlerResult, action, res)` — auto-wraps in `{data: ...}` with `status ?? 200`; skips wrap if `res.headersSent`. Default `null` for `undefined` return.
|
|
12
|
+
- [ ] **Task 1.8**: Implement `assertNoActionCollisions(model, options)` — throws synchronously on:
|
|
13
|
+
- Action name doesn't match `/^[A-Za-z][A-Za-z0-9_-]+$/` (incl. empty names).
|
|
14
|
+
- Action name matches a Mongoose array-field path (would collide with `POST /:id/:field` at `api.ts:1159–1175`).
|
|
15
|
+
- [ ] **Task 1.9**: Implement `createActionOpenApiMiddleware({action, scope, actionName, model})` in `api/src/actions.ts`. Per-request middleware that on first request through the route calls `options.openApi.path()` with an Operation Object built from inlined Zod-derived schemas (`OpenApiGeneratorV3.generateSchema()`). No-op when `options.openApi` is undefined. Sets `operationId: '${tag}_${actionName}'`. Tag defaults to `model.collection.collectionName`.
|
|
16
|
+
- [ ] **Task 1.10**: Implement `registerActionRoutes(router, model, options)` — composes the middleware chain in order: `authenticateMiddleware(options.allowAnonymous)` → action OpenAPI middleware → pre-doc `runActionPermissions` → (instance only) `loadDocOr404` + post-doc `runActionPermissions` → `validateActionRequest` → wrapped `asyncHandler(action.handler)` → `wrapActionResponse`.
|
|
17
|
+
- [ ] **Task 1.11**: Extend `ModelRouterOptions<T>` in `api/src/api.ts` with `instanceActions?` and `collectionActions?`. Inside `_buildModelRouter`, call `assertNoActionCollisions` and `registerActionRoutes` in the pre-CRUD `endpoints` slot (before the user's `options.endpoints` callback runs, so actions take precedence on path conflicts).
|
|
18
|
+
- [ ] **Task 1.12**: Re-export `ActionContext`, `InstanceActionConfig`, `CollectionActionConfig`, `defineInstanceAction`, `defineCollectionAction` from `api/src/index.ts`.
|
|
19
|
+
- [ ] **Task 1.13**: Write tests in `api/src/actions.test.ts` covering all Phase 1 acceptance criteria: registration validation (missing perms throws, empty perms registers but returns 405, action-name regex, array-field collision, empty name); routing (instance + collection happy path for GET + POST; `ctx.doc` set on instance; `req.obj` set on instance for parity with CRUD); permission flow (pre-doc → 405, post-doc → 403, 401 from passport, `IsAuthenticatedOrReadOnly` GET works with `allowAnonymous: true`, `IsOwner` doc-aware); validation (good body, bad body → 400 with `meta.fields`, query schema, Zod coercion through `ctx`, `req.query` not mutated, Zod `.strip` default observed); response shape (envelope, custom `status`, null/undefined return, `res.headersSent` escape hatch, custom list-style envelope via `res.json` + return); doc loading (404 missing, 404 metadata on soft-deleted); **type ergonomics**: a TS-level compile-only test that `defineInstanceAction<TDoc>({body: z.object({x: z.string()}), handler: async ({doc, body}) => {}})` infers `doc: TDoc` and `body: {x: string}` correctly.
|
|
20
|
+
- [ ] **Task 1.14**: Add a regression test for **co-registration**: a modelRouter using BOTH `instanceActions: {foo: ...}` AND `endpoints: (router) => router.get('/:id/foo', ...)` — assert that the action wins (registered first in the pre-CRUD slot, before user `options.endpoints`). Same test for `collectionActions` colliding with a user `endpoints` route. Documents the precedence.
|
|
21
|
+
|
|
22
|
+
## Phase 2: OpenAPI verification
|
|
23
|
+
|
|
24
|
+
- [ ] **Task 2.1**: Tests against the generated `openapi.json` for actions registered via `TerrenoApp`: operation appears under `paths`; correct method + path; default tag = `model.collection.collectionName`; per-action `tag` override; inlined request body schema; inlined response schema under configured status; `id` path param present for instance actions; deterministic `operationId`.
|
|
25
|
+
- [ ] **Task 2.2**: Same suite but for actions registered via the legacy `setupServer` path (`expressServer.ts:257`) — verifies the per-request OpenAPI emission fires on first hit and produces parity with the `TerrenoApp` path.
|
|
26
|
+
|
|
27
|
+
## Phase 3: Migration + dogfooding
|
|
28
|
+
|
|
29
|
+
- [ ] **Task 3.1**: Migrate `api/src/consentApp.ts` `/consent-forms` `endpoints` actions (scope: only those three actions; `/consents/*` routes at lines 195–457 are out of scope):
|
|
30
|
+
- `generate` → `collectionActions.generate`, conditional on `aiConfig` (built at runtime into the `collectionActions` map before passing to `modelRouter`).
|
|
31
|
+
- `translate` → `collectionActions.translate`, same conditional.
|
|
32
|
+
- `/:id/publish` → `instanceActions.publish`.
|
|
33
|
+
- [ ] **Task 3.2**: Confirm all existing consent-form tests pass without modification.
|
|
34
|
+
- [ ] **Task 3.3**: Add a `markComplete` instance action and a `bulkComplete` collection action to `example-backend/src/api/todos.ts` to demonstrate both scopes (and document the Zod `.strict()` recommendation in the example).
|
|
35
|
+
- [ ] **Task 3.4**: Regenerate `example-frontend` SDK: `cd example-frontend && bun run sdk`.
|
|
36
|
+
- [ ] **Task 3.5**: Smoke-test: run `bun run backend:dev` and `bun run frontend:web` together; exercise both new todo actions end-to-end (curl + the regenerated hooks).
|
|
37
|
+
|
|
38
|
+
## Phase 4: Consumer compile-check + docs
|
|
39
|
+
|
|
40
|
+
- [ ] **Task 4.1**: Run `bun run compile` (and `bun run test` where present) in each in-repo consumer of `@terreno/api`: `admin-backend`, `admin-frontend`, `ai`, `api-health`, `feature-flags`, `mcp-server`, `rtk`, `example-backend`, `example-frontend`. Fix any breakage from the new deps.
|
|
41
|
+
- [ ] **Task 4.2**: Document in the explainer that `zod` is a `peerDependency` of `@terreno/api` — consumers must install Zod themselves (already true for `example-backend`). Note this in the changelog as a breaking install requirement.
|
|
42
|
+
- [ ] **Task 4.3**: Write `docs/explanation/model-router-actions.md` covering: motivation; call-site example; semantics (permission method mapping, 405 vs 403 status codes, response envelope, validation error wire shape at `meta.fields`, collision detection, Zod `.strict()` recommendation, concurrency caveat for action handlers, `queryFilter` not applied to instance auto-load); migration notes from hand-rolled `endpoints` actions.
|
|
43
|
+
- [ ] **Task 4.4**: Update `mcp-server/src/tools.ts` `generate_route` (and any related prompt in `prompts.ts`) to suggest `instanceActions`/`collectionActions`.
|
|
44
|
+
- [ ] **Task 4.5**: Bump `@terreno/api` package version in `api/package.json`. Prepare a changelog entry mentioning: the new feature, the new deps (`zod`, `@asteasolutions/zod-to-openapi`), the behavior-preserving permission middleware refactor, and the new `operationId`-based hook names in regenerated SDKs.
|
|
45
|
+
|
|
46
|
+
See `docs/implementationPlans/model-router-actions.md` for full details on each task.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Tasks: modelRouter MCP Tools
|
|
2
|
+
|
|
3
|
+
*Structured task breakdown for automated implementation. Each task should be independently implementable and testable.*
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Phase 1: Core MCP Infrastructure
|
|
8
|
+
|
|
9
|
+
- [ ] **Task 1.1**: Define MCP types and interfaces
|
|
10
|
+
- Description: Create `MCPConfig` interface (with `methods` defaulting to `['list', 'read']`, `excludeFields` for hiding sensitive fields, `maxLimit` defaulting to 50), `MCPRegistryEntry`, and add `mcp?: MCPConfig` to `ModelRouterOptions`. Create the `api/src/mcp/` directory structure.
|
|
11
|
+
- Files: `api/src/mcp/types.ts`, `api/src/mcp/index.ts`, `api/src/api.ts` (add mcp to ModelRouterOptions)
|
|
12
|
+
- Depends on: none
|
|
13
|
+
- Acceptance: Types compile, existing tests still pass, `mcp` is an optional field on `ModelRouterOptions`
|
|
14
|
+
|
|
15
|
+
- [ ] **Task 1.2**: Build MCP tool registry
|
|
16
|
+
- Description: Create a global registry that collects MCP tool entries as `modelRouter()` is called. When a modelRouter has `mcp` config, it pushes an entry to the registry. Export `getMCPRegistry()` internally and `getMCPTools()` publicly (returns `Record<string, CoreTool>`).
|
|
17
|
+
- Files: `api/src/mcp/registry.ts`, `api/src/mcp/index.ts`, `api/src/api.ts` (register in modelRouter function)
|
|
18
|
+
- Depends on: Task 1.1
|
|
19
|
+
- Acceptance: Calling `modelRouter(Todo, { ..., mcp: { methods: ['list', 'read'] } })` adds entries to the registry. `getMCPTools()` returns CoreTool objects.
|
|
20
|
+
|
|
21
|
+
- [ ] **Task 1.3**: Generate Zod schemas from Mongoose models
|
|
22
|
+
- Description: Build a utility that converts a Mongoose model's schema into Zod schemas suitable for MCP tool `inputSchema`. Handle common field types (String, Number, Boolean, Date, ObjectId, Array, Mixed). Generate separate schemas for create (required fields), update (all optional + id required), read (id + optional populate), list (queryFields + pagination), and delete (id only). Respect `excludeFields` — omit listed fields from all generated schemas.
|
|
23
|
+
- Files: `api/src/mcp/schemaGenerator.ts`, `api/src/mcp/schemaGenerator.test.ts`
|
|
24
|
+
- Depends on: Task 1.1
|
|
25
|
+
- Acceptance: Given a Mongoose model, produces valid Zod schemas for each CRUD method. Tests cover all common field types. `excludeFields` removes specified fields from schemas.
|
|
26
|
+
|
|
27
|
+
- [ ] **Task 1.4**: Generate MCP tool definitions from registry entries
|
|
28
|
+
- Description: Build tool generator that takes an `MCPRegistryEntry` and produces both `@modelcontextprotocol/sdk` `Tool` objects (JSON Schema input) and Vercel `ai` SDK `CoreTool` objects. Auto-generate descriptions from model name, fields, and queryFields. Apply `toolPrefix` naming (`{prefix}_{method}`). Only generate tools for methods listed in `mcp.methods`.
|
|
29
|
+
- Files: `api/src/mcp/toolGenerator.ts`, `api/src/mcp/toolGenerator.test.ts`
|
|
30
|
+
- Depends on: Task 1.2, Task 1.3
|
|
31
|
+
- Acceptance: Registry entry with `methods: ['list', 'read']` produces exactly `todos_list` and `todos_read` tools with correct schemas and descriptions.
|
|
32
|
+
|
|
33
|
+
- [ ] **Task 1.5**: Implement MCP tool handlers (CRUD execution)
|
|
34
|
+
- Description: Build the execute functions for each CRUD tool. Each handler: (1) extracts user from auth context, (2) checks permissions via `checkPermissions()`, (3) for read/update/delete: loads document and checks object-level permissions, (4) applies queryFilter and population for list, (5) enforces `maxLimit` cap on list results (default 50), (6) runs pre/post hooks, (7) strips `excludeFields` from response data, (8) serializes via `mcpResponseHandler` or default. Reuse internal logic from REST handlers but decoupled from Express req/res.
|
|
35
|
+
- Files: `api/src/mcp/handlers.ts`, `api/src/mcp/handlers.test.ts`
|
|
36
|
+
- Depends on: Task 1.4
|
|
37
|
+
- Acceptance: Each CRUD handler works with correct permission checks, population, filtering. List enforces maxLimit. excludeFields are stripped from responses. Tests cover: successful CRUD, permission denied (403), not found (404), validation errors, owner filtering, population, maxLimit enforcement, excludeFields stripping.
|
|
38
|
+
|
|
39
|
+
- [ ] **Task 1.6**: Auth-agnostic user extraction for MCP
|
|
40
|
+
- Description: Build middleware/utility that extracts user from MCP transport headers using whichever auth provider is configured (JWT via passport or Better Auth via `auth.api.getSession()`). Should mirror `authenticateMiddleware` behavior but work with raw headers instead of Express req.
|
|
41
|
+
- Files: `api/src/mcp/auth.ts`, `api/src/mcp/auth.test.ts`
|
|
42
|
+
- Depends on: Task 1.1
|
|
43
|
+
- Acceptance: Given headers with a valid JWT, returns User. Given headers with a valid Better Auth session token, returns User. Given no/invalid headers with `allowAnonymous: false`, returns null. Works with both auth providers.
|
|
44
|
+
|
|
45
|
+
- [ ] **Task 1.7**: Mount MCP server in TerrenoApp
|
|
46
|
+
- Description: In `TerrenoApp`'s startup flow, check if the MCP registry has any entries. If so, create an `McpServer` instance from `@modelcontextprotocol/sdk`, register all tools from the registry, set up `StreamableHTTPServerTransport`, and mount on `/mcp`. Wire up `ListToolsRequestSchema` and `CallToolRequestSchema` handlers.
|
|
47
|
+
- Files: `api/src/mcp/server.ts`, `api/src/expressServer.ts` (or TerrenoApp equivalent — integrate into startup)
|
|
48
|
+
- Depends on: Task 1.4, Task 1.5, Task 1.6
|
|
49
|
+
- Acceptance: Starting a TerrenoApp with MCP-configured models auto-mounts `/mcp`. MCP clients can list tools and call them. No MCP config = no `/mcp` endpoint.
|
|
50
|
+
|
|
51
|
+
- [ ] **Task 1.8**: Integration tests
|
|
52
|
+
- Description: End-to-end tests that spin up a TerrenoApp with MCP-configured models and test the full flow: MCP client connects, lists tools, performs CRUD via tool calls, verifies permissions block unauthorized access, verifies population and query filtering work.
|
|
53
|
+
- Files: `api/src/mcp/integration.test.ts`
|
|
54
|
+
- Depends on: Task 1.7
|
|
55
|
+
- Acceptance: Full CRUD lifecycle works over MCP. Permission denials return appropriate errors. Owner filtering restricts results. Population returns nested data.
|
|
56
|
+
|
|
57
|
+
- [ ] **Task 1.9**: Export public API
|
|
58
|
+
- Description: Export `MCPConfig`, `getMCPTools()`, and any other public interfaces from `@terreno/api`'s main index. Update package exports.
|
|
59
|
+
- Files: `api/src/index.ts`, `api/src/mcp/index.ts`
|
|
60
|
+
- Depends on: Task 1.7
|
|
61
|
+
- Acceptance: Consumers can `import { MCPConfig, getMCPTools } from "@terreno/api"`.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
### Phase 2: Frontend Integration
|
|
66
|
+
|
|
67
|
+
- [ ] **Task 2.1**: `useTerrenoChat` hook
|
|
68
|
+
- Description: Create a hook wrapping `@ai-sdk/react`'s `useChat()` pre-configured for a Terreno MCP backend. Handles Bearer token injection from auth state (reads from Redux store — JWT token or Better Auth session). Accepts `baseURL` and optional `tools` override.
|
|
69
|
+
- Files: `rtk/src/useTerrenoChat.ts`, `rtk/src/useTerrenoChat.test.ts`
|
|
70
|
+
- Depends on: Task 1.7
|
|
71
|
+
- Acceptance: Hook connects to MCP-enabled backend, streams responses with tool calls, injects auth token automatically.
|
|
72
|
+
|
|
73
|
+
- [ ] **Task 2.2**: `useMCPTools` hook
|
|
74
|
+
- Description: Create a hook that discovers available MCP tools from the backend. Uses `@ai-sdk/mcp`'s `createMCPClient()` to connect and list tools. Caches result. Returns typed tool list.
|
|
75
|
+
- Files: `rtk/src/useMCPTools.ts`, `rtk/src/useMCPTools.test.ts`
|
|
76
|
+
- Depends on: Task 1.7
|
|
77
|
+
- Acceptance: Hook returns list of available tools with names, descriptions, and input schemas. Handles connection errors gracefully.
|
|
78
|
+
|
|
79
|
+
- [ ] **Task 2.3**: Export frontend public API
|
|
80
|
+
- Description: Export `useTerrenoChat` and `useMCPTools` from `@terreno/rtk`. Add `@ai-sdk/react` and `@ai-sdk/mcp` as dependencies.
|
|
81
|
+
- Files: `rtk/src/index.ts`, `rtk/package.json`
|
|
82
|
+
- Depends on: Task 2.1, Task 2.2
|
|
83
|
+
- Acceptance: Consumers can `import { useTerrenoChat, useMCPTools } from "@terreno/rtk"`.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
### Phase 3: Examples & Polish
|
|
88
|
+
|
|
89
|
+
- [ ] **Task 3.1**: Add MCP config to example backend models
|
|
90
|
+
- Description: Add `mcp` config to the existing Todo and Food models in `example-backend`. Todos: read-only (`list`, `read`). Food: full CRUD. Include `mcpResponseHandler` example on one model.
|
|
91
|
+
- Files: `example-backend/src/routes/todos.ts`, `example-backend/src/routes/food.ts`
|
|
92
|
+
- Depends on: Task 1.9
|
|
93
|
+
- Acceptance: Starting example-backend mounts `/mcp` with todo and food tools. MCP client can list and call them.
|
|
94
|
+
|
|
95
|
+
- [ ] **Task 3.2**: Demo chat screen in example frontend
|
|
96
|
+
- Description: Add a simple chat screen to `example-frontend` that uses `useTerrenoChat()` to connect to the MCP-enabled backend. Show tool calls inline (e.g., "Searching todos..." with results). Navigation from home screen.
|
|
97
|
+
- Files: `example-frontend/app/chat.tsx`, `example-frontend/app/_layout.tsx` (add nav)
|
|
98
|
+
- Depends on: Task 2.3, Task 3.1
|
|
99
|
+
- Acceptance: User can chat with the AI, which calls MCP tools to query/modify data. Tool calls and results visible in the UI.
|
|
100
|
+
|
|
101
|
+
- [ ] **Task 3.3**: Refine auto-generated tool descriptions
|
|
102
|
+
- Description: Improve description generation quality. Include field types, required vs optional, enum values, ref model names. Test with multiple model shapes to ensure descriptions are helpful for LLMs.
|
|
103
|
+
- Files: `api/src/mcp/toolGenerator.ts`, `api/src/mcp/toolGenerator.test.ts`
|
|
104
|
+
- Depends on: Task 1.4
|
|
105
|
+
- Acceptance: Descriptions include actionable detail. LLM can understand what each tool does and what inputs are expected without additional context.
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Task List: Offline Mode
|
|
2
|
+
|
|
3
|
+
*Structured task breakdown for automated implementation. Each task should be independently implementable and testable.*
|
|
4
|
+
|
|
5
|
+
## Phase 1: RTK Core Offline Framework
|
|
6
|
+
|
|
7
|
+
- [ ] **Task 1.1**: Formalize offline state and queue record types
|
|
8
|
+
- Description: Extend the offline slice state to represent connection quality, auth-blocked replay, queue record statuses, base timestamps, optimistic/server IDs, and persisted queue versioning. Keep the slice default inert until offline mode is mounted by a consuming app.
|
|
9
|
+
- Files: `rtk/src/offlineSlice.ts`, `rtk/src/useOfflineStatus.ts`, `rtk/src/index.ts`, related `rtk/src/*.test.ts`
|
|
10
|
+
- Depends on: none
|
|
11
|
+
- Acceptance: Unit tests cover enqueue/dequeue/status transitions, conflict storage, auth-blocked state, queue version defaults, and selectors for `online`, `spotty`, `offline`, queued mutations, conflicts, and replay-paused state.
|
|
12
|
+
|
|
13
|
+
- [ ] **Task 1.2**: Replace endpoint-name-only offline gating with modelRouter config
|
|
14
|
+
- Description: Introduce a typed `OfflineModelRouterConfig` that maps model names and modelRouter operations to generated RTK Query endpoint names. Preserve a migration path for existing endpoint-name configuration only if it is already shipped behavior; otherwise replace it with the modelRouter config.
|
|
15
|
+
- Files: `rtk/src/offlineGate.ts`, `rtk/src/offlineMiddleware.ts`, `rtk/src/index.ts`, `rtk/src/offlineGate.test.ts`
|
|
16
|
+
- Depends on: Task 1.1
|
|
17
|
+
- Acceptance: Tests prove disabled/default config never defers mutations, enabled modelRouter endpoints are deferred while offline, unconfigured custom routes are not deferred, and array operations can be configured separately from create/update/delete.
|
|
18
|
+
|
|
19
|
+
- [ ] **Task 1.3**: Add optimistic create ID strategy
|
|
20
|
+
- Description: Add default ObjectId-compatible ID generation for optimistic modelRouter creates, inject the generated ID into the configured request field, and support per-model overrides for `generateId`, request field, and server ID reconciliation strategy.
|
|
21
|
+
- Files: `rtk/src/offlineMiddleware.ts`, `rtk/src/offlineGate.ts`, `rtk/src/offlineIds.ts` (new if useful), `rtk/src/index.ts`, related tests
|
|
22
|
+
- Depends on: Task 1.2
|
|
23
|
+
- Acceptance: Tests verify default IDs are stable and ObjectId-shaped, custom generators are used, optimistic create cache entries use the same local ID as the queued mutation, and a server-returned replacement ID can be mapped when explicitly configured.
|
|
24
|
+
|
|
25
|
+
- [ ] **Task 1.4**: Harden optimistic cache update strategies
|
|
26
|
+
- Description: Make optimistic cache updates explicit per modelRouter operation while providing safe defaults for create, update, delete, array push, array update, and array remove. Expose an override hook so app teams can customize cache updates for complex list filters or response shapes.
|
|
27
|
+
- Files: `rtk/src/offlineMiddleware.ts`, `rtk/src/offlineOptimistic.ts` (new if useful), `rtk/src/useOfflineStatus.ts`, related tests
|
|
28
|
+
- Depends on: Task 1.3
|
|
29
|
+
- Acceptance: Tests cover optimistic insert, patch, remove, and array mutations against RTK Query cache entries, including rollback or conflict marking when replay fails with a non-network/non-auth error.
|
|
30
|
+
|
|
31
|
+
- [ ] **Task 1.5**: Pause replay on auth refresh failure without clearing cache
|
|
32
|
+
- Description: Separate token-refresh failure from explicit logout. If refresh cannot complete because the server/network is unavailable or refresh returns a retryable failure, mark replay as auth-blocked and keep RTK Query cache, queue, conflicts, and optimistic records intact. Reserve destructive cleanup for the actual logout action.
|
|
33
|
+
- Files: `rtk/src/emptyApi.ts`, `rtk/src/authSlice.ts`, `rtk/src/offlineMiddleware.ts`, `rtk/src/offlineSlice.ts`, related tests
|
|
34
|
+
- Depends on: Task 1.1
|
|
35
|
+
- Acceptance: Tests simulate expired access tokens with unreachable refresh endpoint and verify queued mutations are held, cache data remains, and replay resumes after auth is refreshed; explicit logout still clears tokens and configured offline/cache state.
|
|
36
|
+
|
|
37
|
+
- [ ] **Task 1.6**: Implement keep-mine and use-server conflict resolution
|
|
38
|
+
- Description: Add conflict resolution actions/helpers. `useServer` should discard the queued mutation and patch cache to the server value. `keepMine` should update the queued mutation with the latest server timestamp, reapply the local optimistic value, and retry replay with fresh precondition headers.
|
|
39
|
+
- Files: `rtk/src/offlineSlice.ts`, `rtk/src/offlineMiddleware.ts`, `rtk/src/useOfflineStatus.ts`, `rtk/src/index.ts`, related tests
|
|
40
|
+
- Depends on: Task 1.4
|
|
41
|
+
- Acceptance: Tests cover `409 Conflict` replay responses, stored local/server values, resolving with `useServer`, resolving with `keepMine`, and preventing duplicate conflict records for the same queued mutation.
|
|
42
|
+
|
|
43
|
+
## Phase 2: Connection Quality and UI
|
|
44
|
+
|
|
45
|
+
- [ ] **Task 2.1**: Upgrade server status monitoring to connection quality
|
|
46
|
+
- Description: Extend `useServerStatus` to compute `online`, `spotty`, and `offline` from browser/native reachability events, health-check failures, latency, and recent failure rate. Make health URL, interval, timeout, latency threshold, failure count, and failure-rate thresholds configurable.
|
|
47
|
+
- Files: `rtk/src/useServerStatus.ts`, `rtk/src/offlineSlice.ts`, `rtk/src/index.ts`, related tests
|
|
48
|
+
- Depends on: Task 1.1
|
|
49
|
+
- Acceptance: Tests cover all three connection states, threshold overrides, transition from spotty back to online, transition to offline after configured consecutive failures, and no polling when status monitoring is disabled.
|
|
50
|
+
|
|
51
|
+
- [ ] **Task 2.2**: Expose richer offline status hooks
|
|
52
|
+
- Description: Expand `useOfflineStatus` to return connection quality, queue length, syncing state, auth-blocked state, conflicts, local-only helpers, and conflict resolution callbacks while preserving low-level selectors for custom UI.
|
|
53
|
+
- Files: `rtk/src/useOfflineStatus.ts`, `rtk/src/offlineSlice.ts`, `rtk/src/index.ts`, related tests
|
|
54
|
+
- Depends on: Task 1.6, Task 2.1
|
|
55
|
+
- Acceptance: Hook tests or focused unit tests verify returned state and callbacks for queued, syncing, auth-blocked, conflicted, local-only, and healthy states.
|
|
56
|
+
|
|
57
|
+
- [ ] **Task 2.3**: Update offline banner for online, spotty, offline, syncing, and auth-blocked states
|
|
58
|
+
- Description: Evolve `OfflineBanner` so apps can show offline, spotty connection, syncing queued changes, pending changes, and auth-blocked sync messaging. Keep props simple enough for custom state sources.
|
|
59
|
+
- Files: `ui/src/OfflineBanner.tsx`, `ui/src/index.tsx`, `ui/src/OfflineBanner.test.tsx` (new if absent), `demo/stories/OfflineBanner.stories.tsx` (new or update)
|
|
60
|
+
- Depends on: Task 2.1
|
|
61
|
+
- Acceptance: UI tests or stories cover hidden/online, spotty, offline, syncing, pending queue, and auth-blocked variants with clear copy and accessible test IDs.
|
|
62
|
+
|
|
63
|
+
- [ ] **Task 2.4**: Add conflict resolution UI components
|
|
64
|
+
- Description: Add reusable conflict UI that renders unresolved conflicts and lets users choose "Keep mine" or "Use server". Keep it generic by accepting display renderers for local and server values.
|
|
65
|
+
- Files: `ui/src/OfflineConflictList.tsx` (new), `ui/src/OfflineConflictCard.tsx` (new), `ui/src/index.tsx`, `ui/src/*.test.tsx`, `demo/stories/OfflineConflict*.stories.tsx`
|
|
66
|
+
- Depends on: Task 2.2
|
|
67
|
+
- Acceptance: Tests or stories cover no-conflict, single-conflict, multiple-conflict, keep-mine click, use-server click, dismissed/resolved conflict filtering, and custom value rendering.
|
|
68
|
+
|
|
69
|
+
## Phase 3: modelRouter Backend Contract
|
|
70
|
+
|
|
71
|
+
- [ ] **Task 3.1**: Verify client-provided modelRouter create IDs
|
|
72
|
+
- Description: Add backend tests that prove modelRouter create accepts a client-provided ObjectId-compatible `_id` when the schema allows it and rejects invalid IDs through existing validation/error handling.
|
|
73
|
+
- Files: `api/src/api.ts`, `api/src/tests/*.test.ts` or existing modelRouter test file, `api/src/tests.ts`
|
|
74
|
+
- Depends on: Task 1.3
|
|
75
|
+
- Acceptance: API tests pass for create with client `_id`, returned document keeps that `_id`, duplicate IDs fail safely, and invalid IDs return a clear validation/error response.
|
|
76
|
+
|
|
77
|
+
- [ ] **Task 3.2**: Formalize conflict response tests for modelRouter updates
|
|
78
|
+
- Description: Add/extend modelRouter tests for `If-Unmodified-Since` and `X-Unmodified-Since-ISO` headers to guarantee stale updates return `409 Conflict` with the current server document and fresh updates succeed.
|
|
79
|
+
- Files: `api/src/api.ts`, `api/src/tests/*.test.ts` or existing modelRouter test file
|
|
80
|
+
- Depends on: none
|
|
81
|
+
- Acceptance: API tests cover conflict by HTTP-date header, conflict by ISO header, success with current timestamp, missing timestamp behavior, and response body shape consumed by `@terreno/rtk`.
|
|
82
|
+
|
|
83
|
+
- [ ] **Task 3.3**: Document the modelRouter offline contract
|
|
84
|
+
- Description: Add docs for modelRouter offline compatibility: supported CRUD/array endpoints, client-provided IDs, conflict headers, expected `409` response shape, permissions behavior, and explicit non-support for custom sync endpoints in v1.
|
|
85
|
+
- Files: `api/README.md` or package docs, `rtk/README.md` or package docs, `docs/implementationPlans/offline-mode.md`
|
|
86
|
+
- Depends on: Task 3.1, Task 3.2
|
|
87
|
+
- Acceptance: Docs show a modelRouter route configuration and matching frontend offline config, and clearly state that custom route sync is future work.
|
|
88
|
+
|
|
89
|
+
## Phase 4: Example App Integration
|
|
90
|
+
|
|
91
|
+
- [ ] **Task 4.1**: Enable offline mode for example todos
|
|
92
|
+
- Description: Wire the example frontend store to mount the offline reducer, persist the offline slice, configure todos modelRouter endpoints for offline create/update/delete, and keep API cache persistence consistent with the offline plan.
|
|
93
|
+
- Files: `example-frontend/store/index.ts`, `example-frontend/store/sdk.ts`, `example-frontend/app/_layout.tsx`, `example-frontend/package.json` if scripts need updates
|
|
94
|
+
- Depends on: Task 1.6, Task 2.2
|
|
95
|
+
- Acceptance: Example app can create, update, and delete todos while offline; queued todos survive app reload when persistence is enabled; replay syncs after the backend is reachable again.
|
|
96
|
+
|
|
97
|
+
- [ ] **Task 4.2**: Integrate connection banner and sync state in the example app
|
|
98
|
+
- Description: Add root-level status monitoring and display `OfflineBanner` for offline, spotty, syncing, pending queue, and auth-blocked states. Ensure copy is visible without disrupting auth navigation.
|
|
99
|
+
- Files: `example-frontend/app/_layout.tsx`, `example-frontend/app/(tabs)/_layout.tsx`, `example-frontend/app/(tabs)/index.tsx`
|
|
100
|
+
- Depends on: Task 2.3, Task 4.1
|
|
101
|
+
- Acceptance: Manual test can trigger offline/spotty/syncing/auth-blocked states and see the correct banner copy and pending queue count.
|
|
102
|
+
|
|
103
|
+
- [ ] **Task 4.3**: Add example conflict resolution flow
|
|
104
|
+
- Description: Show unresolved todo conflicts in the example app and wire "Keep mine" / "Use server" actions to the RTK conflict resolution helpers.
|
|
105
|
+
- Files: `example-frontend/app/(tabs)/index.tsx`, `example-frontend/components/*` if a local wrapper is useful
|
|
106
|
+
- Depends on: Task 2.4, Task 4.1
|
|
107
|
+
- Acceptance: Manual test can create a stale update conflict, see local/server values, choose "Use server" to accept server state, and choose "Keep mine" to replay local state.
|
|
108
|
+
|
|
109
|
+
- [ ] **Task 4.4**: Add example backend support tests or fixtures for offline scenarios
|
|
110
|
+
- Description: Ensure the example backend todo model and route can support client IDs and conflict timestamps. Add tests or fixtures that make the example integration verifiable without modifying generated SDK files manually.
|
|
111
|
+
- Files: `example-backend/src/models/todo.ts`, `example-backend/src/api/todos.ts`, `example-backend/src/**/*.test.ts`
|
|
112
|
+
- Depends on: Task 3.1, Task 3.2
|
|
113
|
+
- Acceptance: Example backend tests pass and confirm todos work with the modelRouter offline contract.
|
|
114
|
+
|
|
115
|
+
## Phase 5: Verification, Documentation, and Release Readiness
|
|
116
|
+
|
|
117
|
+
- [ ] **Task 5.1**: Add package-level offline mode docs
|
|
118
|
+
- Description: Write consumer documentation for enabling offline mode, configuring modelRouter endpoints, selecting ID strategy, configuring connection quality, handling auth-blocked replay, and rendering conflict UI.
|
|
119
|
+
- Files: `rtk/README.md`, `ui/README.md` if present, `docs/implementationPlans/offline-mode.md`
|
|
120
|
+
- Depends on: Task 1.6, Task 2.4, Task 3.3
|
|
121
|
+
- Acceptance: Docs include copy-pasteable store setup, model config, status hook usage, `OfflineBanner`, and conflict resolution examples.
|
|
122
|
+
|
|
123
|
+
- [ ] **Task 5.2**: Add end-to-end manual verification guide
|
|
124
|
+
- Description: Document the exact local steps to verify offline create/update/delete, replay, auth-blocked behavior, spotty status, and conflict resolution using example backend and frontend.
|
|
125
|
+
- Files: `docs/offline-mode-verification.md` (new) or relevant docs directory, `docs/implementationPlans/offline-mode.md`
|
|
126
|
+
- Depends on: Task 4.3
|
|
127
|
+
- Acceptance: Guide lists setup commands, offline simulation steps, expected UI states, and cleanup steps; it does not require editing generated SDK files manually.
|
|
128
|
+
|
|
129
|
+
- [ ] **Task 5.3**: Run focused validation suite
|
|
130
|
+
- Description: Run and fix failures for the focused packages touched by offline mode.
|
|
131
|
+
- Files: no source changes expected unless validation finds failures
|
|
132
|
+
- Depends on: Task 5.1, Task 5.2
|
|
133
|
+
- Acceptance: `bun run rtk:compile` or equivalent package compile passes, `bun run ui:test` passes for new UI tests, `bun run api:test` passes for modelRouter tests, and example package checks used by the repo pass or have documented blockers.
|
|
134
|
+
|
|
135
|
+
- [ ] **Task 5.4**: Regenerate SDK only if backend API surface changes
|
|
136
|
+
- Description: If implementation changes OpenAPI output for modelRouter conflict responses or example backend route schemas, regenerate `example-frontend/store/openApiSdk.ts` using the SDK generation workflow. If no OpenAPI surface changed, explicitly skip this task in the implementation PR notes.
|
|
137
|
+
- Files: `example-frontend/store/openApiSdk.ts`, `example-frontend/openapi-config.ts`
|
|
138
|
+
- Depends on: Task 3.3, Task 4.4
|
|
139
|
+
- Acceptance: Generated SDK is updated only from the backend OpenAPI spec and never edited manually; PR notes state whether SDK regeneration was required.
|