@terreno/mcp 0.23.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs/versioned/0.23.0/README.md +29 -0
- package/dist/docs/versioned/0.23.0/explanation/README.md +13 -0
- package/dist/docs/versioned/0.23.0/explanation/ai-workflows.md +270 -0
- package/dist/docs/versioned/0.23.0/explanation/authentication.md +438 -0
- package/dist/docs/versioned/0.23.0/explanation/configuration-system.md +428 -0
- package/dist/docs/versioned/0.23.0/explanation/dependency-management.md +192 -0
- package/dist/docs/versioned/0.23.0/explanation/gcp-hosting-architecture.md +319 -0
- package/dist/docs/versioned/0.23.0/explanation/model-router-actions.md +156 -0
- package/dist/docs/versioned/0.23.0/explanation/modular-api-design.md +228 -0
- package/dist/docs/versioned/0.23.0/how-to/README.md +20 -0
- package/dist/docs/versioned/0.23.0/how-to/add-feature-flags.md +115 -0
- package/dist/docs/versioned/0.23.0/how-to/add-github-oauth.md +316 -0
- package/dist/docs/versioned/0.23.0/how-to/configure-better-auth.md +296 -0
- package/dist/docs/versioned/0.23.0/how-to/create-a-model.md +165 -0
- package/dist/docs/versioned/0.23.0/how-to/deploy-to-gcp.md +244 -0
- package/dist/docs/versioned/0.23.0/how-to/upgrade-banner.md +172 -0
- package/dist/docs/versioned/0.23.0/how-to/websocket-integration.md +416 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/IP_TEMPLATE.md +47 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/ModularAPI.md +844 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/PLAN_INDEX.md +21 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/README.md +42 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/admin-improvements.md +577 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/admin-only-research.md +258 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/admin-only.md +616 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/admin-script-runner.md +107 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/admin-ui-v2-django-parity.md +204 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/consent-forms.md +417 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/design-blend-skill.md +188 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/docs-site-and-versioning.md +138 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/feature-flags-openfeature.md +545 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/feature-flags.md +310 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/mcp-boost-parity.md +246 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/model-router-actions.md +639 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/model-router-mcp.md +186 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/offline-mode.md +311 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/syncdb-local-first.md +591 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/terreno-langfuse-integration.md +145 -0
- package/dist/docs/versioned/0.23.0/implementationPlans/upgrade-banner.md +275 -0
- package/dist/docs/versioned/0.23.0/reference/README.md +22 -0
- package/dist/docs/versioned/0.23.0/reference/admin-backend.md +122 -0
- package/dist/docs/versioned/0.23.0/reference/admin-frontend.md +205 -0
- package/dist/docs/versioned/0.23.0/reference/api-health.md +81 -0
- package/dist/docs/versioned/0.23.0/reference/api.md +1205 -0
- package/dist/docs/versioned/0.23.0/reference/components/README.mdx +65 -0
- package/dist/docs/versioned/0.23.0/reference/components/accordion.mdx +37 -0
- package/dist/docs/versioned/0.23.0/reference/components/addressfield.mdx +26 -0
- package/dist/docs/versioned/0.23.0/reference/components/ai-suggestion-box.mdx +26 -0
- package/dist/docs/versioned/0.23.0/reference/components/avatar.mdx +35 -0
- package/dist/docs/versioned/0.23.0/reference/components/badge.mdx +38 -0
- package/dist/docs/versioned/0.23.0/reference/components/banner.mdx +26 -0
- package/dist/docs/versioned/0.23.0/reference/components/boolean-field.mdx +36 -0
- package/dist/docs/versioned/0.23.0/reference/components/box.mdx +26 -0
- package/dist/docs/versioned/0.23.0/reference/components/button.mdx +44 -0
- package/dist/docs/versioned/0.23.0/reference/components/card.mdx +26 -0
- package/dist/docs/versioned/0.23.0/reference/components/checkbox.mdx +30 -0
- package/dist/docs/versioned/0.23.0/reference/components/consentformscreen.mdx +26 -0
- package/dist/docs/versioned/0.23.0/reference/components/custom-select-field.mdx +36 -0
- package/dist/docs/versioned/0.23.0/reference/components/datatable.mdx +44 -0
- package/dist/docs/versioned/0.23.0/reference/components/date-time-field.mdx +49 -0
- package/dist/docs/versioned/0.23.0/reference/components/email-field.mdx +43 -0
- package/dist/docs/versioned/0.23.0/reference/components/emoji-selector.mdx +26 -0
- package/dist/docs/versioned/0.23.0/reference/components/field.mdx +26 -0
- package/dist/docs/versioned/0.23.0/reference/components/height-field.mdx +45 -0
- package/dist/docs/versioned/0.23.0/reference/components/icon.mdx +31 -0
- package/dist/docs/versioned/0.23.0/reference/components/iconbutton.mdx +42 -0
- package/dist/docs/versioned/0.23.0/reference/components/inner-modal-content.mdx +41 -0
- package/dist/docs/versioned/0.23.0/reference/components/markdown-editor-field.mdx +50 -0
- package/dist/docs/versioned/0.23.0/reference/components/markdownview.mdx +37 -0
- package/dist/docs/versioned/0.23.0/reference/components/multiselect-field.mdx +36 -0
- package/dist/docs/versioned/0.23.0/reference/components/number-field.mdx +46 -0
- package/dist/docs/versioned/0.23.0/reference/components/page.mdx +46 -0
- package/dist/docs/versioned/0.23.0/reference/components/pagination.mdx +30 -0
- package/dist/docs/versioned/0.23.0/reference/components/password-field.mdx +26 -0
- package/dist/docs/versioned/0.23.0/reference/components/phone-number-field.mdx +44 -0
- package/dist/docs/versioned/0.23.0/reference/components/radio-field.mdx +31 -0
- package/dist/docs/versioned/0.23.0/reference/components/sectiondivider.mdx +26 -0
- package/dist/docs/versioned/0.23.0/reference/components/segmented-control.mdx +34 -0
- package/dist/docs/versioned/0.23.0/reference/components/select-field.mdx +26 -0
- package/dist/docs/versioned/0.23.0/reference/components/selectbadge.mdx +35 -0
- package/dist/docs/versioned/0.23.0/reference/components/side-drawer.mdx +34 -0
- package/dist/docs/versioned/0.23.0/reference/components/sidebar-navigation-non-expo.mdx +35 -0
- package/dist/docs/versioned/0.23.0/reference/components/signature-field.mdx +35 -0
- package/dist/docs/versioned/0.23.0/reference/components/slider.mdx +43 -0
- package/dist/docs/versioned/0.23.0/reference/components/spinner.mdx +29 -0
- package/dist/docs/versioned/0.23.0/reference/components/table-badge.mdx +32 -0
- package/dist/docs/versioned/0.23.0/reference/components/table-boolean.mdx +29 -0
- package/dist/docs/versioned/0.23.0/reference/components/table-date.mdx +30 -0
- package/dist/docs/versioned/0.23.0/reference/components/table-icon-button.mdx +28 -0
- package/dist/docs/versioned/0.23.0/reference/components/table-number.mdx +30 -0
- package/dist/docs/versioned/0.23.0/reference/components/table-text.mdx +30 -0
- package/dist/docs/versioned/0.23.0/reference/components/table-title.mdx +28 -0
- package/dist/docs/versioned/0.23.0/reference/components/table.mdx +38 -0
- package/dist/docs/versioned/0.23.0/reference/components/tap-to-edit.mdx +26 -0
- package/dist/docs/versioned/0.23.0/reference/components/text-area.mdx +50 -0
- package/dist/docs/versioned/0.23.0/reference/components/text-field.mdx +52 -0
- package/dist/docs/versioned/0.23.0/reference/components/theme.mdx +26 -0
- package/dist/docs/versioned/0.23.0/reference/components/toast.mdx +26 -0
- package/dist/docs/versioned/0.23.0/reference/components/tooltip.mdx +30 -0
- package/dist/docs/versioned/0.23.0/reference/components/userinactivity.mdx +32 -0
- package/dist/docs/versioned/0.23.0/reference/environment-variables.md +382 -0
- package/dist/docs/versioned/0.23.0/reference/feature-flags.md +304 -0
- package/dist/docs/versioned/0.23.0/reference/generated/README.md +17 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/README.md +282 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/classes/APIError.md +96 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/classes/BetterAuthApp.md +84 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/classes/CachingSecretProvider.md +118 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/classes/CompositeSecretProvider.md +79 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/classes/ConfigurationApp.md +94 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/classes/ConsentApp.md +74 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/classes/DateOnly.md +123 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/classes/EnvSecretProvider.md +64 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/classes/GcpSecretProvider.md +76 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/classes/OpenApiMiddlewareBuilder.md +577 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/classes/RealtimeApp.md +112 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/classes/TaskCancelledError.md +23 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/classes/TerrenoApp.md +262 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/classes/VersionCheckPlugin.md +43 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/AdminOwnerTransformer.md +47 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/OwnerQueryFilter.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/addAuthRoutes.md +19 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/addGitHubAuthRoutes.md +31 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/addMeRoutes.md +19 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/addPopulateToQuery.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/addQuerySubscription.md +26 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/apiErrorMiddleware.md +23 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/apiFallthroughErrorMiddleware.md +26 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/apiUnauthorizedMiddleware.md +23 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/applyRequestContextToSentry.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/assertNoActionCollisions.md +21 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/asyncHandler.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/authenticateMiddleware.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/baseUserPlugin.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/buildQuerySchemaFromFields.md +30 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/checkModelsStrict.md +21 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/checkPermissions.md +29 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/clearQueryStore.md +7 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/clearRealtimeRegistry.md +7 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/computeQueryId.md +18 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/configurationPlugin.md +48 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/configureOpenApiValidator.md +28 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createActionOpenApiMiddleware.md +35 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createBetterAuth.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createBetterAuthSessionMiddleware.md +18 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createFeatureFlaggedLogger.md +53 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createModelValidators.md +74 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createOpenApiBuilder.md +39 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createRouter.md +19 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createRouterWithAuth.md +19 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createScopedLogger.md +53 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createScriptArgs.md +33 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createValidator.md +29 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createdUpdatedPlugin.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/cronjob.md +19 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/defaultResponseHandler.md +32 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/defineCollectionAction.md +25 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/defineInstanceAction.md +29 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/envConfigurationPlugin.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/errorMessage.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/errorStack.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/errorsPlugin.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/findExactlyOne.md +25 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/findOneOrNone.md +24 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/findOneOrNoneFor.md +37 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/findRegistryEntryByCollection.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/findRegistryEntryByRoutePath.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/firebaseJWTPlugin.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/fixMixedFields.md +21 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/flattenToDotPaths.md +24 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/formatLogContextSuffix.md +17 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/generateTokens.md +35 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getAPIErrorBody.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getBetterAuthSession.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getCurrentLogContext.md +9 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getCurrentRequestContext.md +8 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getCurrentRequestContextAttributes.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getDisableExternalErrorTracking.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getMongoClientFromMongoose.md +7 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getOpenApiSpecForModel.md +29 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getOpenApiValidatorConfig.md +7 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getQuerySubscriptionsForCollection.md +14 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getRealtimeRegistry.md +7 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getRequestContextFromAttributes.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getSchemaFromModel.md +25 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getSessionIdFromJwtPayload.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/githubUserPlugin.md +22 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/hasBetterAuthSession.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/installRealtimeSocketHandlers.md +27 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/isAPIError.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/isDeletedPlugin.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/isDisabledPlugin.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/isOpenApiValidatorConfigured.md +8 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/isValidObjectId.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/jsonResponseRequestIdMiddleware.md +24 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/logRequests.md +19 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/matchesQuery.md +23 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/modelRouter.md +83 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/mongooseErrorToAPIError.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/mountBetterAuthRoutes.md +21 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/openApiCompatMiddleware.md +22 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/openApiEtagMiddleware.md +23 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/parseScriptArgs.md +35 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/patchAppUse.md +17 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/permissionMiddleware.md +21 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/registerActionRoutes.md +25 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/registerRealtime.md +14 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/removeAllSocketQueries.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/removeQuerySubscription.md +17 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/requestContextMiddleware.md +26 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/resetOpenApiValidatorConfig.md +9 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/runActionPermissions.md +33 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/runWithRequestContext.md +38 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/runWithRequestContextAttributes.md +25 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/sendToGoogleChat.md +25 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/sendToSlack.md +29 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/sendToZoom.md +67 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/sentryAppVersionMiddleware.md +26 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/serialize.md +25 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/setRequestContext.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/setupAuth.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/setupBetterAuthUserSync.md +21 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/setupEnvironment.md +5 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/setupGitHubAuth.md +22 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/setupLogging.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/signupUser.md +23 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/startChangeStreamWatcher.md +21 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/stopChangeStreamWatcher.md +7 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/syncBetterAuthUser.md +19 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/syncConsents.md +45 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/timeout.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/transform.md +29 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/unpopulate.md +21 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/updateRequestContextFromRequest.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/upsertPlugin.md +23 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/validateActionRequest.md +35 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/validateModelRequestBody.md +30 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/validateQueryParams.md +23 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/validateRequestBody.md +26 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/validateResponseData.md +32 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/wrapActionResponse.md +19 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/functions/wrapScript.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/APIErrorConstructor.md +93 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ActionContext.md +49 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/AsyncHandlerOptions.md +32 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/AuthOptions.md +47 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BackgroundTaskDocument.md +141 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BackgroundTaskMethods.md +55 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BackgroundTaskModel.md +51 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BackgroundTaskStatics.md +19 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BaseUser.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthAppOptions.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthConfig.md +74 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthOAuthProvider.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthSession.md +43 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthSessionData.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthUser.md +43 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/CachingSecretProviderOptions.md +9 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ChangeStreamConfig.md +41 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/CollectionActionConfig.md +123 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigRegistration.md +23 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationAppOptions.md +51 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationMetaResponse.md +7 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationModel.md +166 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationPermissions.md +45 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationPluginOptions.md +30 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationStatics.md +107 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentAppOptions.md +85 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormCheckbox.md +17 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormDefinition.md +83 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormDocument.md +123 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormModel.md +79 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormStatics.md +55 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentResponseDocument.md +105 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentResponseMethods.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentResponseModel.md +79 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentResponseStatics.md +55 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/CreateBetterAuthOptions.md +17 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/CreateFeatureFlaggedLoggerOptions.md +29 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/CreateScopedLoggerOptions.md +18 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/CreateValidatorOptions.md +25 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/CreatedDeleted.md +27 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/DocumentSubscription.md +17 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/FindExactlyOnePlugin.md +30 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/FindOneOrNonePlugin.md +30 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/GcpSecretProviderOptions.md +9 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/GenerateTokensOptions.md +5 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/GitHubAuthOptions.md +74 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/GitHubUserFields.md +33 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/HasUpsert.md +27 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/InstanceActionConfig.md +127 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/IsDeleted.md +7 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/JSONArray.md +7 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/JSONObject.md +3 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/JwtSessionPayload.md +19 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/LogContextFields.md +41 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/LoggingOptions.md +73 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ModelRouterOptions.md +524 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ModelRouterRegistration.md +33 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ModelRouterValidationOptions.md +89 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/MongoClientLike.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiBuildResult.md +34 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiMiddleware.md +98 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiParameter.md +66 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiResponse.md +43 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiSchema.md +62 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiSchemaProperty.md +89 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiValidatorConfig.md +94 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/PopulatePath.md +17 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/QuerySubscription.md +25 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/QueryValidatorOptions.md +31 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/RESTPermissions.md +35 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeAppOptions.md +62 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeConfig.md +44 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeEvent.md +57 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeRegistryEntry.md +41 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeSocketLike.md +94 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/RequestBodyValidatorOptions.md +71 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/RequestContext.md +59 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ScopedLogger.md +100 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ScriptArgDef.md +60 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ScriptArgs.md +121 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ScriptContext.md +67 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ScriptResult.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/SecretFieldMeta.md +29 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/SecretProvider.md +35 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/SyncConsentsOptions.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/SyncConsentsResult.md +23 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/TerrenoAppOptions.md +112 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/TerrenoPlugin.md +78 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/TerrenoRequestLogEntry.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/TerrenoTransformer.md +49 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/User.md +26 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/UserModel.md +113 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/VersionCheckResponse.md +37 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/VersionConfigDocument.md +65 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/VersionConfigModel.md +51 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/WrapScriptOptions.md +27 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/AddRoutes.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/AuthProvider.md +5 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/BetterAuthInstance.md +3 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConfigType.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConfigurationPostUpdateHook.md +24 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConfigurationPreUpdateHook.md +20 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConsentFormMethods.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConsentFormType.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/DeepPartial.md +9 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/GooseRESTOptions.md +7 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/JSONPrimitive.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/JSONValue.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/PathValue.md +19 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/Paths.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/PermissionMethod.md +25 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/RESTMethod.md +17 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/RequestContextAttributes.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/ScriptArgValue.md +3 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/ScriptRunner.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/VersionCheckStatus.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/variables/ACTION_NAME_PATTERN.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/variables/BackgroundTask.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/variables/Config.md +244 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/variables/ConsentForm.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/variables/ConsentResponse.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/variables/MAX_DOCUMENT_SUBSCRIPTIONS.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/variables/MAX_MODEL_SUBSCRIPTIONS.md +4 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/variables/MAX_QUERY_SUBSCRIPTIONS.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/variables/Permissions.md +109 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/variables/REQUEST_CONTEXT_ATTRIBUTE_NAMES.md +39 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/variables/VersionConfig.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/variables/consentResponsePopulatePaths.md +3 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/variables/gooseRestRouter.md +85 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/variables/logger.md +109 -0
- package/dist/docs/versioned/0.23.0/reference/generated/api/variables/winstonLogger.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/README.md +126 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/buildOptimisticCreateItem.md +17 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/configureOfflineMutationEndpoints.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/createBetterAuthClient.md +30 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/createOfflineMiddleware.md +41 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/createSessionApi.md +21 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/createStorageAdapter.md +17 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/generateAuthSlice.md +35 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/generateBetterAuthSlice.md +87 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/generateProfileEndpoints.md +35 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/generateTags.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/getAuthToken.md +5 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/getBaseQuery.md +23 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/getFriendlyExpirationInfo.md +5 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/getRealtimeSocket.md +7 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/getTokenExpirationTimes.md +5 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/isNetworkFetchError.md +14 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/isWebsocketsDebugEnabled.md +5 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/logAuth.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/logSocket.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/populateId.md +23 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/realtimeDocument.md +37 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/realtimeList.md +43 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/refreshAuthToken.md +5 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/registerTerrenoDevStore.md +14 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/resolveBaseUrls.md +28 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/resolveFeatureFlagsOptions.md +14 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthError.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthIsAuthenticated.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthIsLoading.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthState.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthUser.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthUserId.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectConflicts.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectCurrentUserId.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectIsAuthenticating.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectIsOnline.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectIsOnlineSafe.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectIsSyncing.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectLastTokenRefreshTimestamp.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectOfflineQueue.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectQueueLength.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/setRealtimeDebug.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/setRealtimeSocket.md +27 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/shouldDeferOfflineMutation.md +18 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/shouldReplayQueuedMutation.md +18 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/shouldShowStillThereModal.md +5 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useFeatureFlags.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useOfflineStatus.md +16 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useRealtimeDebug.md +18 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useSelectCurrentUserId.md +5 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useSelectIsAuthenticating.md +5 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useServerStatus.md +26 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useSocketConnection.md +19 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useSyncConnection.md +32 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useTerrenoFeatureFlags.md +19 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useUpgradeCheck.md +30 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BaseUrls.md +17 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthClientConfig.md +31 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthClientInterface.md +23 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthSession.md +43 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthSessionData.md +13 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthState.md +49 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthUser.md +43 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ConflictRecord.md +47 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/EmailSignupRequest.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ExpoConstantsShape.md +29 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/GenerateBetterAuthSliceConfig.md +23 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/GoogleLoginRequest.md +5 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ListResponse.md +35 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/OfflineMiddlewareConfig.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/OfflineState.md +23 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/OfflineStatus.md +87 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/QueuedMutation.md +55 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/RealtimeEvent.md +58 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ResetPasswordRequest.md +15 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ServerStatusOptions.md +31 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/SocketConnection.md +11 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/StorageAdapter.md +53 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/TerrenoFlagDefinition.md +19 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UseFeatureFlagsOptions.md +50 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UseSocketConnectionOptions.md +87 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UseTerrenoFeatureFlagsOptions.md +41 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UseTerrenoFeatureFlagsResult.md +33 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UserResponse.md +17 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/VersionCheckResponse.md +39 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/BetterAuthClient.md +3 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/BetterAuthOAuthProvider.md +3 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/BetterAuthSlice.md +3 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/EmailLoginRequest.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/RootState.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/ServerStatus.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/TerrenoFlagConfiguration.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/AUTH_DEBUG.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/IsWeb.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/LOGOUT_ACTION_TYPE.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/SAME_ORIGIN_SENTINEL.md +5 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/TOKEN_REFRESHED_SUCCESS.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/addConflict.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/baseTasksUrl.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/baseUrl.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/baseWebsocketsUrl.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/clearConflicts.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/clearQueue.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/dequeue.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/dismissConflict.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/emptySplitApi.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/enqueue.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/offlineReducer.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/offlineSlice.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/selectUndismissedConflicts.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/setOnlineStatus.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/setSyncing.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/staggeredBaseQuery.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/useGetVersionCheckQuery.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/useLazyGetVersionCheckQuery.md +1 -0
- package/dist/docs/versioned/0.23.0/reference/mcp-server.md +586 -0
- package/dist/docs/versioned/0.23.0/reference/rtk.md +439 -0
- package/dist/docs/versioned/0.23.0/reference/ui.md +418 -0
- package/dist/docs/versioned/0.23.0/tasks/admin-improvements.md +429 -0
- package/dist/docs/versioned/0.23.0/tasks/admin-only.md +221 -0
- package/dist/docs/versioned/0.23.0/tasks/admin-script-runner.md +50 -0
- package/dist/docs/versioned/0.23.0/tasks/admin-ui-v2-django-parity.md +135 -0
- package/dist/docs/versioned/0.23.0/tasks/consent-forms.md +193 -0
- package/dist/docs/versioned/0.23.0/tasks/design-blend-skill.md +147 -0
- package/dist/docs/versioned/0.23.0/tasks/feature-flags-openfeature.md +77 -0
- package/dist/docs/versioned/0.23.0/tasks/feature-flags.md +23 -0
- package/dist/docs/versioned/0.23.0/tasks/model-router-actions.md +46 -0
- package/dist/docs/versioned/0.23.0/tasks/model-router-mcp.md +105 -0
- package/dist/docs/versioned/0.23.0/tasks/offline-mode.md +139 -0
- package/dist/docs/versioned/0.23.0/tasks/syncdb-local-first.md +117 -0
- package/dist/docs/versioned/0.23.0/tasks/upgrade-banner.md +73 -0
- package/dist/docs/versioned/0.23.0/tutorials/README.md +7 -0
- package/dist/docs/versioned/0.23.0/tutorials/getting-started.md +44 -0
- package/dist/docs/versioned/next/reference/environment-variables.md +7 -3
- package/dist/docs/versioned/next/reference/rtk.md +11 -4
- package/package.json +3 -3
- package/src/docs/versioned/0.23.0/README.md +29 -0
- package/src/docs/versioned/0.23.0/explanation/README.md +13 -0
- package/src/docs/versioned/0.23.0/explanation/ai-workflows.md +270 -0
- package/src/docs/versioned/0.23.0/explanation/authentication.md +438 -0
- package/src/docs/versioned/0.23.0/explanation/configuration-system.md +428 -0
- package/src/docs/versioned/0.23.0/explanation/dependency-management.md +192 -0
- package/src/docs/versioned/0.23.0/explanation/gcp-hosting-architecture.md +319 -0
- package/src/docs/versioned/0.23.0/explanation/model-router-actions.md +156 -0
- package/src/docs/versioned/0.23.0/explanation/modular-api-design.md +228 -0
- package/src/docs/versioned/0.23.0/how-to/README.md +20 -0
- package/src/docs/versioned/0.23.0/how-to/add-feature-flags.md +115 -0
- package/src/docs/versioned/0.23.0/how-to/add-github-oauth.md +316 -0
- package/src/docs/versioned/0.23.0/how-to/configure-better-auth.md +296 -0
- package/src/docs/versioned/0.23.0/how-to/create-a-model.md +165 -0
- package/src/docs/versioned/0.23.0/how-to/deploy-to-gcp.md +244 -0
- package/src/docs/versioned/0.23.0/how-to/upgrade-banner.md +172 -0
- package/src/docs/versioned/0.23.0/how-to/websocket-integration.md +416 -0
- package/src/docs/versioned/0.23.0/implementationPlans/IP_TEMPLATE.md +47 -0
- package/src/docs/versioned/0.23.0/implementationPlans/ModularAPI.md +844 -0
- package/src/docs/versioned/0.23.0/implementationPlans/PLAN_INDEX.md +21 -0
- package/src/docs/versioned/0.23.0/implementationPlans/README.md +42 -0
- package/src/docs/versioned/0.23.0/implementationPlans/admin-improvements.md +577 -0
- package/src/docs/versioned/0.23.0/implementationPlans/admin-only-research.md +258 -0
- package/src/docs/versioned/0.23.0/implementationPlans/admin-only.md +616 -0
- package/src/docs/versioned/0.23.0/implementationPlans/admin-script-runner.md +107 -0
- package/src/docs/versioned/0.23.0/implementationPlans/admin-ui-v2-django-parity.md +204 -0
- package/src/docs/versioned/0.23.0/implementationPlans/consent-forms.md +417 -0
- package/src/docs/versioned/0.23.0/implementationPlans/design-blend-skill.md +188 -0
- package/src/docs/versioned/0.23.0/implementationPlans/docs-site-and-versioning.md +138 -0
- package/src/docs/versioned/0.23.0/implementationPlans/feature-flags-openfeature.md +545 -0
- package/src/docs/versioned/0.23.0/implementationPlans/feature-flags.md +310 -0
- package/src/docs/versioned/0.23.0/implementationPlans/mcp-boost-parity.md +246 -0
- package/src/docs/versioned/0.23.0/implementationPlans/model-router-actions.md +639 -0
- package/src/docs/versioned/0.23.0/implementationPlans/model-router-mcp.md +186 -0
- package/src/docs/versioned/0.23.0/implementationPlans/offline-mode.md +311 -0
- package/src/docs/versioned/0.23.0/implementationPlans/syncdb-local-first.md +591 -0
- package/src/docs/versioned/0.23.0/implementationPlans/terreno-langfuse-integration.md +145 -0
- package/src/docs/versioned/0.23.0/implementationPlans/upgrade-banner.md +275 -0
- package/src/docs/versioned/0.23.0/reference/README.md +22 -0
- package/src/docs/versioned/0.23.0/reference/admin-backend.md +122 -0
- package/src/docs/versioned/0.23.0/reference/admin-frontend.md +205 -0
- package/src/docs/versioned/0.23.0/reference/api-health.md +81 -0
- package/src/docs/versioned/0.23.0/reference/api.md +1205 -0
- package/src/docs/versioned/0.23.0/reference/components/README.mdx +65 -0
- package/src/docs/versioned/0.23.0/reference/components/accordion.mdx +37 -0
- package/src/docs/versioned/0.23.0/reference/components/addressfield.mdx +26 -0
- package/src/docs/versioned/0.23.0/reference/components/ai-suggestion-box.mdx +26 -0
- package/src/docs/versioned/0.23.0/reference/components/avatar.mdx +35 -0
- package/src/docs/versioned/0.23.0/reference/components/badge.mdx +38 -0
- package/src/docs/versioned/0.23.0/reference/components/banner.mdx +26 -0
- package/src/docs/versioned/0.23.0/reference/components/boolean-field.mdx +36 -0
- package/src/docs/versioned/0.23.0/reference/components/box.mdx +26 -0
- package/src/docs/versioned/0.23.0/reference/components/button.mdx +44 -0
- package/src/docs/versioned/0.23.0/reference/components/card.mdx +26 -0
- package/src/docs/versioned/0.23.0/reference/components/checkbox.mdx +30 -0
- package/src/docs/versioned/0.23.0/reference/components/consentformscreen.mdx +26 -0
- package/src/docs/versioned/0.23.0/reference/components/custom-select-field.mdx +36 -0
- package/src/docs/versioned/0.23.0/reference/components/datatable.mdx +44 -0
- package/src/docs/versioned/0.23.0/reference/components/date-time-field.mdx +49 -0
- package/src/docs/versioned/0.23.0/reference/components/email-field.mdx +43 -0
- package/src/docs/versioned/0.23.0/reference/components/emoji-selector.mdx +26 -0
- package/src/docs/versioned/0.23.0/reference/components/field.mdx +26 -0
- package/src/docs/versioned/0.23.0/reference/components/height-field.mdx +45 -0
- package/src/docs/versioned/0.23.0/reference/components/icon.mdx +31 -0
- package/src/docs/versioned/0.23.0/reference/components/iconbutton.mdx +42 -0
- package/src/docs/versioned/0.23.0/reference/components/inner-modal-content.mdx +41 -0
- package/src/docs/versioned/0.23.0/reference/components/markdown-editor-field.mdx +50 -0
- package/src/docs/versioned/0.23.0/reference/components/markdownview.mdx +37 -0
- package/src/docs/versioned/0.23.0/reference/components/multiselect-field.mdx +36 -0
- package/src/docs/versioned/0.23.0/reference/components/number-field.mdx +46 -0
- package/src/docs/versioned/0.23.0/reference/components/page.mdx +46 -0
- package/src/docs/versioned/0.23.0/reference/components/pagination.mdx +30 -0
- package/src/docs/versioned/0.23.0/reference/components/password-field.mdx +26 -0
- package/src/docs/versioned/0.23.0/reference/components/phone-number-field.mdx +44 -0
- package/src/docs/versioned/0.23.0/reference/components/radio-field.mdx +31 -0
- package/src/docs/versioned/0.23.0/reference/components/sectiondivider.mdx +26 -0
- package/src/docs/versioned/0.23.0/reference/components/segmented-control.mdx +34 -0
- package/src/docs/versioned/0.23.0/reference/components/select-field.mdx +26 -0
- package/src/docs/versioned/0.23.0/reference/components/selectbadge.mdx +35 -0
- package/src/docs/versioned/0.23.0/reference/components/side-drawer.mdx +34 -0
- package/src/docs/versioned/0.23.0/reference/components/sidebar-navigation-non-expo.mdx +35 -0
- package/src/docs/versioned/0.23.0/reference/components/signature-field.mdx +35 -0
- package/src/docs/versioned/0.23.0/reference/components/slider.mdx +43 -0
- package/src/docs/versioned/0.23.0/reference/components/spinner.mdx +29 -0
- package/src/docs/versioned/0.23.0/reference/components/table-badge.mdx +32 -0
- package/src/docs/versioned/0.23.0/reference/components/table-boolean.mdx +29 -0
- package/src/docs/versioned/0.23.0/reference/components/table-date.mdx +30 -0
- package/src/docs/versioned/0.23.0/reference/components/table-icon-button.mdx +28 -0
- package/src/docs/versioned/0.23.0/reference/components/table-number.mdx +30 -0
- package/src/docs/versioned/0.23.0/reference/components/table-text.mdx +30 -0
- package/src/docs/versioned/0.23.0/reference/components/table-title.mdx +28 -0
- package/src/docs/versioned/0.23.0/reference/components/table.mdx +38 -0
- package/src/docs/versioned/0.23.0/reference/components/tap-to-edit.mdx +26 -0
- package/src/docs/versioned/0.23.0/reference/components/text-area.mdx +50 -0
- package/src/docs/versioned/0.23.0/reference/components/text-field.mdx +52 -0
- package/src/docs/versioned/0.23.0/reference/components/theme.mdx +26 -0
- package/src/docs/versioned/0.23.0/reference/components/toast.mdx +26 -0
- package/src/docs/versioned/0.23.0/reference/components/tooltip.mdx +30 -0
- package/src/docs/versioned/0.23.0/reference/components/userinactivity.mdx +32 -0
- package/src/docs/versioned/0.23.0/reference/environment-variables.md +382 -0
- package/src/docs/versioned/0.23.0/reference/feature-flags.md +304 -0
- package/src/docs/versioned/0.23.0/reference/generated/README.md +17 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/README.md +282 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/classes/APIError.md +96 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/classes/BetterAuthApp.md +84 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/classes/CachingSecretProvider.md +118 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/classes/CompositeSecretProvider.md +79 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/classes/ConfigurationApp.md +94 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/classes/ConsentApp.md +74 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/classes/DateOnly.md +123 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/classes/EnvSecretProvider.md +64 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/classes/GcpSecretProvider.md +76 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/classes/OpenApiMiddlewareBuilder.md +577 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/classes/RealtimeApp.md +112 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/classes/TaskCancelledError.md +23 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/classes/TerrenoApp.md +262 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/classes/VersionCheckPlugin.md +43 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/AdminOwnerTransformer.md +47 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/OwnerQueryFilter.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/addAuthRoutes.md +19 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/addGitHubAuthRoutes.md +31 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/addMeRoutes.md +19 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/addPopulateToQuery.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/addQuerySubscription.md +26 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/apiErrorMiddleware.md +23 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/apiFallthroughErrorMiddleware.md +26 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/apiUnauthorizedMiddleware.md +23 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/applyRequestContextToSentry.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/assertNoActionCollisions.md +21 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/asyncHandler.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/authenticateMiddleware.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/baseUserPlugin.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/buildQuerySchemaFromFields.md +30 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/checkModelsStrict.md +21 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/checkPermissions.md +29 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/clearQueryStore.md +7 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/clearRealtimeRegistry.md +7 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/computeQueryId.md +18 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/configurationPlugin.md +48 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/configureOpenApiValidator.md +28 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/createActionOpenApiMiddleware.md +35 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/createBetterAuth.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/createBetterAuthSessionMiddleware.md +18 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/createFeatureFlaggedLogger.md +53 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/createModelValidators.md +74 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/createOpenApiBuilder.md +39 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/createRouter.md +19 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/createRouterWithAuth.md +19 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/createScopedLogger.md +53 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/createScriptArgs.md +33 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/createValidator.md +29 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/createdUpdatedPlugin.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/cronjob.md +19 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/defaultResponseHandler.md +32 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/defineCollectionAction.md +25 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/defineInstanceAction.md +29 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/envConfigurationPlugin.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/errorMessage.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/errorStack.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/errorsPlugin.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/findExactlyOne.md +25 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/findOneOrNone.md +24 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/findOneOrNoneFor.md +37 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/findRegistryEntryByCollection.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/findRegistryEntryByRoutePath.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/firebaseJWTPlugin.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/fixMixedFields.md +21 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/flattenToDotPaths.md +24 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/formatLogContextSuffix.md +17 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/generateTokens.md +35 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/getAPIErrorBody.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/getBetterAuthSession.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/getCurrentLogContext.md +9 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/getCurrentRequestContext.md +8 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/getCurrentRequestContextAttributes.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/getDisableExternalErrorTracking.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/getMongoClientFromMongoose.md +7 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/getOpenApiSpecForModel.md +29 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/getOpenApiValidatorConfig.md +7 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/getQuerySubscriptionsForCollection.md +14 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/getRealtimeRegistry.md +7 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/getRequestContextFromAttributes.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/getSchemaFromModel.md +25 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/getSessionIdFromJwtPayload.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/githubUserPlugin.md +22 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/hasBetterAuthSession.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/installRealtimeSocketHandlers.md +27 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/isAPIError.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/isDeletedPlugin.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/isDisabledPlugin.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/isOpenApiValidatorConfigured.md +8 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/isValidObjectId.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/jsonResponseRequestIdMiddleware.md +24 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/logRequests.md +19 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/matchesQuery.md +23 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/modelRouter.md +83 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/mongooseErrorToAPIError.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/mountBetterAuthRoutes.md +21 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/openApiCompatMiddleware.md +22 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/openApiEtagMiddleware.md +23 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/parseScriptArgs.md +35 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/patchAppUse.md +17 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/permissionMiddleware.md +21 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/registerActionRoutes.md +25 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/registerRealtime.md +14 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/removeAllSocketQueries.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/removeQuerySubscription.md +17 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/requestContextMiddleware.md +26 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/resetOpenApiValidatorConfig.md +9 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/runActionPermissions.md +33 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/runWithRequestContext.md +38 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/runWithRequestContextAttributes.md +25 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/sendToGoogleChat.md +25 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/sendToSlack.md +29 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/sendToZoom.md +67 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/sentryAppVersionMiddleware.md +26 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/serialize.md +25 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/setRequestContext.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/setupAuth.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/setupBetterAuthUserSync.md +21 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/setupEnvironment.md +5 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/setupGitHubAuth.md +22 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/setupLogging.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/signupUser.md +23 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/startChangeStreamWatcher.md +21 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/stopChangeStreamWatcher.md +7 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/syncBetterAuthUser.md +19 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/syncConsents.md +45 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/timeout.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/transform.md +29 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/unpopulate.md +21 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/updateRequestContextFromRequest.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/upsertPlugin.md +23 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/validateActionRequest.md +35 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/validateModelRequestBody.md +30 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/validateQueryParams.md +23 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/validateRequestBody.md +26 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/validateResponseData.md +32 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/wrapActionResponse.md +19 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/functions/wrapScript.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/APIErrorConstructor.md +93 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ActionContext.md +49 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/AsyncHandlerOptions.md +32 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/AuthOptions.md +47 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BackgroundTaskDocument.md +141 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BackgroundTaskMethods.md +55 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BackgroundTaskModel.md +51 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BackgroundTaskStatics.md +19 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BaseUser.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthAppOptions.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthConfig.md +74 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthOAuthProvider.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthSession.md +43 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthSessionData.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthUser.md +43 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/CachingSecretProviderOptions.md +9 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ChangeStreamConfig.md +41 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/CollectionActionConfig.md +123 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigRegistration.md +23 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationAppOptions.md +51 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationMetaResponse.md +7 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationModel.md +166 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationPermissions.md +45 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationPluginOptions.md +30 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationStatics.md +107 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentAppOptions.md +85 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormCheckbox.md +17 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormDefinition.md +83 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormDocument.md +123 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormModel.md +79 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormStatics.md +55 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentResponseDocument.md +105 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentResponseMethods.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentResponseModel.md +79 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentResponseStatics.md +55 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/CreateBetterAuthOptions.md +17 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/CreateFeatureFlaggedLoggerOptions.md +29 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/CreateScopedLoggerOptions.md +18 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/CreateValidatorOptions.md +25 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/CreatedDeleted.md +27 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/DocumentSubscription.md +17 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/FindExactlyOnePlugin.md +30 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/FindOneOrNonePlugin.md +30 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/GcpSecretProviderOptions.md +9 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/GenerateTokensOptions.md +5 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/GitHubAuthOptions.md +74 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/GitHubUserFields.md +33 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/HasUpsert.md +27 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/InstanceActionConfig.md +127 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/IsDeleted.md +7 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/JSONArray.md +7 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/JSONObject.md +3 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/JwtSessionPayload.md +19 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/LogContextFields.md +41 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/LoggingOptions.md +73 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ModelRouterOptions.md +524 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ModelRouterRegistration.md +33 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ModelRouterValidationOptions.md +89 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/MongoClientLike.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiBuildResult.md +34 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiMiddleware.md +98 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiParameter.md +66 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiResponse.md +43 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiSchema.md +62 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiSchemaProperty.md +89 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiValidatorConfig.md +94 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/PopulatePath.md +17 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/QuerySubscription.md +25 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/QueryValidatorOptions.md +31 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/RESTPermissions.md +35 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeAppOptions.md +62 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeConfig.md +44 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeEvent.md +57 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeRegistryEntry.md +41 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeSocketLike.md +94 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/RequestBodyValidatorOptions.md +71 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/RequestContext.md +59 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ScopedLogger.md +100 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ScriptArgDef.md +60 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ScriptArgs.md +121 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ScriptContext.md +67 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ScriptResult.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/SecretFieldMeta.md +29 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/SecretProvider.md +35 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/SyncConsentsOptions.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/SyncConsentsResult.md +23 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/TerrenoAppOptions.md +112 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/TerrenoPlugin.md +78 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/TerrenoRequestLogEntry.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/TerrenoTransformer.md +49 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/User.md +26 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/UserModel.md +113 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/VersionCheckResponse.md +37 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/VersionConfigDocument.md +65 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/VersionConfigModel.md +51 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/WrapScriptOptions.md +27 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/AddRoutes.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/AuthProvider.md +5 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/BetterAuthInstance.md +3 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConfigType.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConfigurationPostUpdateHook.md +24 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConfigurationPreUpdateHook.md +20 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConsentFormMethods.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConsentFormType.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/DeepPartial.md +9 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/GooseRESTOptions.md +7 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/JSONPrimitive.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/JSONValue.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/PathValue.md +19 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/Paths.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/PermissionMethod.md +25 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/RESTMethod.md +17 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/RequestContextAttributes.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/ScriptArgValue.md +3 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/ScriptRunner.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/VersionCheckStatus.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/variables/ACTION_NAME_PATTERN.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/variables/BackgroundTask.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/variables/Config.md +244 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/variables/ConsentForm.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/variables/ConsentResponse.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/variables/MAX_DOCUMENT_SUBSCRIPTIONS.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/variables/MAX_MODEL_SUBSCRIPTIONS.md +4 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/variables/MAX_QUERY_SUBSCRIPTIONS.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/variables/Permissions.md +109 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/variables/REQUEST_CONTEXT_ATTRIBUTE_NAMES.md +39 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/variables/VersionConfig.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/variables/consentResponsePopulatePaths.md +3 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/variables/gooseRestRouter.md +85 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/variables/logger.md +109 -0
- package/src/docs/versioned/0.23.0/reference/generated/api/variables/winstonLogger.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/README.md +126 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/buildOptimisticCreateItem.md +17 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/configureOfflineMutationEndpoints.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/createBetterAuthClient.md +30 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/createOfflineMiddleware.md +41 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/createSessionApi.md +21 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/createStorageAdapter.md +17 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/generateAuthSlice.md +35 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/generateBetterAuthSlice.md +87 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/generateProfileEndpoints.md +35 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/generateTags.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/getAuthToken.md +5 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/getBaseQuery.md +23 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/getFriendlyExpirationInfo.md +5 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/getRealtimeSocket.md +7 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/getTokenExpirationTimes.md +5 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/isNetworkFetchError.md +14 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/isWebsocketsDebugEnabled.md +5 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/logAuth.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/logSocket.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/populateId.md +23 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/realtimeDocument.md +37 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/realtimeList.md +43 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/refreshAuthToken.md +5 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/registerTerrenoDevStore.md +14 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/resolveBaseUrls.md +28 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/resolveFeatureFlagsOptions.md +14 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthError.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthIsAuthenticated.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthIsLoading.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthState.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthUser.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthUserId.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectConflicts.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectCurrentUserId.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectIsAuthenticating.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectIsOnline.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectIsOnlineSafe.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectIsSyncing.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectLastTokenRefreshTimestamp.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectOfflineQueue.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectQueueLength.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/setRealtimeDebug.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/setRealtimeSocket.md +27 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/shouldDeferOfflineMutation.md +18 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/shouldReplayQueuedMutation.md +18 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/shouldShowStillThereModal.md +5 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useFeatureFlags.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useOfflineStatus.md +16 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useRealtimeDebug.md +18 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useSelectCurrentUserId.md +5 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useSelectIsAuthenticating.md +5 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useServerStatus.md +26 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useSocketConnection.md +19 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useSyncConnection.md +32 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useTerrenoFeatureFlags.md +19 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useUpgradeCheck.md +30 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BaseUrls.md +17 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthClientConfig.md +31 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthClientInterface.md +23 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthSession.md +43 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthSessionData.md +13 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthState.md +49 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthUser.md +43 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ConflictRecord.md +47 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/EmailSignupRequest.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ExpoConstantsShape.md +29 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/GenerateBetterAuthSliceConfig.md +23 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/GoogleLoginRequest.md +5 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ListResponse.md +35 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/OfflineMiddlewareConfig.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/OfflineState.md +23 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/OfflineStatus.md +87 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/QueuedMutation.md +55 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/RealtimeEvent.md +58 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ResetPasswordRequest.md +15 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ServerStatusOptions.md +31 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/SocketConnection.md +11 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/StorageAdapter.md +53 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/TerrenoFlagDefinition.md +19 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UseFeatureFlagsOptions.md +50 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UseSocketConnectionOptions.md +87 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UseTerrenoFeatureFlagsOptions.md +41 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UseTerrenoFeatureFlagsResult.md +33 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UserResponse.md +17 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/VersionCheckResponse.md +39 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/BetterAuthClient.md +3 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/BetterAuthOAuthProvider.md +3 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/BetterAuthSlice.md +3 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/EmailLoginRequest.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/RootState.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/ServerStatus.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/TerrenoFlagConfiguration.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/AUTH_DEBUG.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/IsWeb.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/LOGOUT_ACTION_TYPE.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/SAME_ORIGIN_SENTINEL.md +5 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/TOKEN_REFRESHED_SUCCESS.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/addConflict.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/baseTasksUrl.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/baseUrl.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/baseWebsocketsUrl.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/clearConflicts.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/clearQueue.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/dequeue.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/dismissConflict.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/emptySplitApi.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/enqueue.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/offlineReducer.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/offlineSlice.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/selectUndismissedConflicts.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/setOnlineStatus.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/setSyncing.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/staggeredBaseQuery.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/useGetVersionCheckQuery.md +1 -0
- package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/useLazyGetVersionCheckQuery.md +1 -0
- package/src/docs/versioned/0.23.0/reference/mcp-server.md +586 -0
- package/src/docs/versioned/0.23.0/reference/rtk.md +439 -0
- package/src/docs/versioned/0.23.0/reference/ui.md +418 -0
- package/src/docs/versioned/0.23.0/tasks/admin-improvements.md +429 -0
- package/src/docs/versioned/0.23.0/tasks/admin-only.md +221 -0
- package/src/docs/versioned/0.23.0/tasks/admin-script-runner.md +50 -0
- package/src/docs/versioned/0.23.0/tasks/admin-ui-v2-django-parity.md +135 -0
- package/src/docs/versioned/0.23.0/tasks/consent-forms.md +193 -0
- package/src/docs/versioned/0.23.0/tasks/design-blend-skill.md +147 -0
- package/src/docs/versioned/0.23.0/tasks/feature-flags-openfeature.md +77 -0
- package/src/docs/versioned/0.23.0/tasks/feature-flags.md +23 -0
- package/src/docs/versioned/0.23.0/tasks/model-router-actions.md +46 -0
- package/src/docs/versioned/0.23.0/tasks/model-router-mcp.md +105 -0
- package/src/docs/versioned/0.23.0/tasks/offline-mode.md +139 -0
- package/src/docs/versioned/0.23.0/tasks/syncdb-local-first.md +117 -0
- package/src/docs/versioned/0.23.0/tasks/upgrade-banner.md +73 -0
- package/src/docs/versioned/0.23.0/tutorials/README.md +7 -0
- package/src/docs/versioned/0.23.0/tutorials/getting-started.md +44 -0
- package/src/docs/versioned/next/reference/environment-variables.md +7 -3
- package/src/docs/versioned/next/reference/rtk.md +11 -4
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
# Implementation Plan: Feature Flags & A/B Testing
|
|
2
|
+
|
|
3
|
+
> **OpenFeature migration:** For the OpenFeature-based provider, `/flagConfiguration`, live updates, and RTK hook details, see [feature-flags-openfeature.md](./feature-flags-openfeature.md) and the task list [feature-flags-openfeature.md](../tasks/feature-flags-openfeature.md).
|
|
4
|
+
|
|
5
|
+
*When an engineer is assigned to a project but before you begin coding, you should fill in the implementation plan and get feedback from the engineering team. Once you have finished or you make any changes, tag Josh with the @ symbol so he can review. Also tag anyone else that needs to be notified, has conflicting work, etc.*
|
|
6
|
+
|
|
7
|
+
## **Models**
|
|
8
|
+
|
|
9
|
+
### FeatureFlag
|
|
10
|
+
|
|
11
|
+
Admin-managed feature flag definitions with targeting rules and A/B test variant configuration.
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
const featureFlagSchema = new mongoose.Schema({
|
|
15
|
+
key: {
|
|
16
|
+
type: String,
|
|
17
|
+
required: true,
|
|
18
|
+
unique: true,
|
|
19
|
+
trim: true,
|
|
20
|
+
description: "Unique identifier for the flag, e.g., 'new-checkout-flow'",
|
|
21
|
+
},
|
|
22
|
+
name: {
|
|
23
|
+
type: String,
|
|
24
|
+
required: true,
|
|
25
|
+
description: "Human-readable display name",
|
|
26
|
+
},
|
|
27
|
+
description: {
|
|
28
|
+
type: String,
|
|
29
|
+
default: "",
|
|
30
|
+
description: "Explanation of what this flag controls",
|
|
31
|
+
},
|
|
32
|
+
enabled: {
|
|
33
|
+
type: Boolean,
|
|
34
|
+
default: false,
|
|
35
|
+
description: "Global kill switch — if false, flag is off for everyone",
|
|
36
|
+
},
|
|
37
|
+
type: {
|
|
38
|
+
type: String,
|
|
39
|
+
enum: ["boolean", "variant"],
|
|
40
|
+
default: "boolean",
|
|
41
|
+
description: "Boolean toggle or multi-variant A/B test",
|
|
42
|
+
},
|
|
43
|
+
variants: [{
|
|
44
|
+
key: {
|
|
45
|
+
type: String,
|
|
46
|
+
required: true,
|
|
47
|
+
description: "Variant identifier, e.g., 'control', 'variant-a'",
|
|
48
|
+
},
|
|
49
|
+
weight: {
|
|
50
|
+
type: Number,
|
|
51
|
+
required: true,
|
|
52
|
+
min: 0,
|
|
53
|
+
max: 100,
|
|
54
|
+
description: "Percentage weight for assignment (0-100, all must sum to 100)",
|
|
55
|
+
},
|
|
56
|
+
}],
|
|
57
|
+
rules: [{
|
|
58
|
+
field: {
|
|
59
|
+
type: String,
|
|
60
|
+
description: "User field to match against. Supports dot notation for nested fields, e.g., 'email', 'admin', 'address.zip'",
|
|
61
|
+
},
|
|
62
|
+
operator: {
|
|
63
|
+
type: String,
|
|
64
|
+
enum: ["eq", "neq", "in", "nin", "gt", "lt", "contains"],
|
|
65
|
+
description: "Comparison operator for field-based rules",
|
|
66
|
+
},
|
|
67
|
+
value: {
|
|
68
|
+
type: mongoose.Schema.Types.Mixed,
|
|
69
|
+
description: "Value to compare against (string, number, boolean, or array for in/nin)",
|
|
70
|
+
},
|
|
71
|
+
segment: {
|
|
72
|
+
type: String,
|
|
73
|
+
description: "Name of a registered segment function, e.g., 'pro-users'",
|
|
74
|
+
},
|
|
75
|
+
enabled: {
|
|
76
|
+
type: Boolean,
|
|
77
|
+
description: "For boolean flags: override value when rule matches",
|
|
78
|
+
},
|
|
79
|
+
variant: {
|
|
80
|
+
type: String,
|
|
81
|
+
description: "For variant flags: forced variant key when rule matches",
|
|
82
|
+
},
|
|
83
|
+
}],
|
|
84
|
+
rolloutPercentage: {
|
|
85
|
+
type: Number,
|
|
86
|
+
default: 100,
|
|
87
|
+
min: 0,
|
|
88
|
+
max: 100,
|
|
89
|
+
description: "For boolean flags with no matching rules: percentage of users who get true",
|
|
90
|
+
},
|
|
91
|
+
archived: {
|
|
92
|
+
type: Boolean,
|
|
93
|
+
default: false,
|
|
94
|
+
description: "Archived flags are excluded from evaluation. Use this instead of deleting flags to prevent bloat as new features are added.",
|
|
95
|
+
},
|
|
96
|
+
}, {strict: true, toJSON: {virtuals: true}, toObject: {virtuals: true}});
|
|
97
|
+
|
|
98
|
+
featureFlagSchema.plugin(createdUpdatedPlugin);
|
|
99
|
+
featureFlagSchema.plugin(isDeletedPlugin);
|
|
100
|
+
featureFlagSchema.plugin(findExactlyOne);
|
|
101
|
+
featureFlagSchema.plugin(findOneOrNone);
|
|
102
|
+
|
|
103
|
+
featureFlagSchema.index({key: 1}, {unique: true});
|
|
104
|
+
featureFlagSchema.index({enabled: 1, archived: 1});
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**Pre-save validation:** For variant-type flags, validate that `variants` is non-empty and weights sum to 100. Throw APIError if invalid.
|
|
108
|
+
|
|
109
|
+
### How the Two Flag Types Work
|
|
110
|
+
|
|
111
|
+
#### Boolean Flags (`type: "boolean"`)
|
|
112
|
+
|
|
113
|
+
Boolean flags return `true` or `false`. They use `rolloutPercentage` to control gradual rollouts and ignore the `variants` array entirely.
|
|
114
|
+
|
|
115
|
+
- **`enabled: false`** → always returns `false` for all users
|
|
116
|
+
- **`enabled: true`, no matching rules** → deterministic hash of `userId + flagKey` compared against `rolloutPercentage`. At 100% (default), all users get `true`. At 50%, roughly half get `true`.
|
|
117
|
+
- **Matching rule** → returns the rule's `enabled` value (`true` or `false`)
|
|
118
|
+
|
|
119
|
+
Examples:
|
|
120
|
+
- Feature toggle: `rolloutPercentage: 100` — on for everyone
|
|
121
|
+
- Gradual rollout: `rolloutPercentage: 10` — on for ~10% of users, increase over time
|
|
122
|
+
- Targeted: rule matching `admin: true` → `enabled: true`, everyone else gets the rollout percentage
|
|
123
|
+
|
|
124
|
+
#### Variant Flags (`type: "variant"`)
|
|
125
|
+
|
|
126
|
+
Variant flags return a string key identifying which variant the user is assigned to. They use the `variants` array with weighted distribution and ignore `rolloutPercentage`.
|
|
127
|
+
|
|
128
|
+
- **`enabled: false`** → returns `null` for all users (consumers should handle this as "no experiment running")
|
|
129
|
+
- **`enabled: true`, no matching rules** → deterministic hash of `userId + flagKey` mapped to variant based on cumulative weights. With `[{key: "control", weight: 50}, {key: "variant-a", weight: 50}]`, hash 0–49 = "control", 50–99 = "variant-a"
|
|
130
|
+
- **Matching rule** → returns the rule's `variant` value (forced into a specific variant, bypassing the hash)
|
|
131
|
+
|
|
132
|
+
The variant key is just an identifier — the consumer maps it to actual behavior in code:
|
|
133
|
+
```typescript
|
|
134
|
+
const variant = useVariant("checkout-experiment");
|
|
135
|
+
if (variant === "control") {
|
|
136
|
+
return <OldCheckout />;
|
|
137
|
+
} else if (variant === "variant-a") {
|
|
138
|
+
return <NewCheckout />;
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Deterministic hashing guarantees the same user always gets the same variant for the same flag, without storing assignments in the database.
|
|
143
|
+
|
|
144
|
+
## **APIs**
|
|
145
|
+
|
|
146
|
+
### FeatureFlagsApp Plugin Routes
|
|
147
|
+
|
|
148
|
+
All routes mounted under configurable `basePath` (default: `/feature-flags`).
|
|
149
|
+
|
|
150
|
+
#### Admin Routes (IsAdmin)
|
|
151
|
+
|
|
152
|
+
| Method | Path | Type | Description |
|
|
153
|
+
|--------|------|------|-------------|
|
|
154
|
+
| POST | `/flags` | modelRouter | Create feature flag |
|
|
155
|
+
| GET | `/flags` | modelRouter | List flags (paginated, sortable) |
|
|
156
|
+
| GET | `/flags/:id` | modelRouter | Get single flag |
|
|
157
|
+
| PATCH | `/flags/:id` | modelRouter | Update flag |
|
|
158
|
+
| DELETE | `/flags/:id` | modelRouter | Soft-delete flag |
|
|
159
|
+
| GET | `/segments` | custom | List registered segment function names |
|
|
160
|
+
|
|
161
|
+
#### User Routes (IsAuthenticated)
|
|
162
|
+
|
|
163
|
+
| Method | Path | Type | Description |
|
|
164
|
+
|--------|------|------|-------------|
|
|
165
|
+
| GET | `/evaluate` | custom | Evaluate all enabled flags for current user |
|
|
166
|
+
|
|
167
|
+
**`GET /evaluate` response:**
|
|
168
|
+
```json
|
|
169
|
+
{
|
|
170
|
+
"data": {
|
|
171
|
+
"new-checkout-flow": true,
|
|
172
|
+
"checkout-experiment": "variant-a",
|
|
173
|
+
"dark-mode": false
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
**`GET /segments` response:**
|
|
179
|
+
```json
|
|
180
|
+
{
|
|
181
|
+
"data": ["pro-users", "beta-testers", "high-usage", "internal-team"]
|
|
182
|
+
}
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Plugin Constructor
|
|
186
|
+
|
|
187
|
+
```typescript
|
|
188
|
+
interface FeatureFlagsOptions {
|
|
189
|
+
basePath?: string; // Default: "/feature-flags"
|
|
190
|
+
segments?: Record<string, (user: any) => boolean>; // Named segment functions
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
class FeatureFlagsApp implements TerrenoPlugin {
|
|
194
|
+
constructor(options?: FeatureFlagsOptions);
|
|
195
|
+
register(app: express.Application): void;
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Evaluation Logic
|
|
200
|
+
|
|
201
|
+
Evaluation is a **pure read** — no database writes occur during flag evaluation.
|
|
202
|
+
|
|
203
|
+
1. Fetch all enabled, non-archived FeatureFlags (`{enabled: true, archived: false}`)
|
|
204
|
+
2. For each flag, evaluate `rules` in order:
|
|
205
|
+
- **Field rule:** Access `user[rule.field]` using dot notation (e.g., `lodash.get(user, rule.field)`) and compare against `rule.value` using `rule.operator`
|
|
206
|
+
- **Segment rule:** Call `segments[rule.segment](user)` — match if returns true; log warning if segment not found
|
|
207
|
+
- First matching rule → return `rule.enabled` (boolean) or `rule.variant` (variant)
|
|
208
|
+
3. If no rules match, use **deterministic hashing** (`hash(userId + flagKey) % 100`):
|
|
209
|
+
- **Boolean flags:** Compare hash against `rolloutPercentage` — if hash < rolloutPercentage, return `true`
|
|
210
|
+
- **Variant flags:** Map hash to variant based on cumulative weights. E.g., variants `[{key: "control", weight: 50}, {key: "variant-a", weight: 30}, {key: "variant-b", weight: 20}]` → hash 0–49 = "control", 50–79 = "variant-a", 80–99 = "variant-b"
|
|
211
|
+
4. If flag is disabled: return `false` for boolean, `null` for variant
|
|
212
|
+
|
|
213
|
+
### Consumer Registration
|
|
214
|
+
|
|
215
|
+
```typescript
|
|
216
|
+
// In consumer's server.ts
|
|
217
|
+
const segments = {
|
|
218
|
+
"pro-users": (user) => user.plan === "pro",
|
|
219
|
+
"beta-testers": (user) => user.betaTester === true,
|
|
220
|
+
"high-usage": (user) => user.totalActions > 1000,
|
|
221
|
+
"internal-team": (user) => user.email?.endsWith("@mycompany.com"),
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
new TerrenoApp({userModel: User})
|
|
225
|
+
.register(new FeatureFlagsApp({ segments }))
|
|
226
|
+
.register(new AdminApp({
|
|
227
|
+
models: [
|
|
228
|
+
{
|
|
229
|
+
model: FeatureFlag,
|
|
230
|
+
routePath: "/feature-flags",
|
|
231
|
+
displayName: "Feature Flags",
|
|
232
|
+
listFields: ["key", "name", "type", "enabled", "archived", "created"],
|
|
233
|
+
},
|
|
234
|
+
],
|
|
235
|
+
}))
|
|
236
|
+
.start();
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
## **Notifications**
|
|
240
|
+
|
|
241
|
+
None needed.
|
|
242
|
+
|
|
243
|
+
## **UI**
|
|
244
|
+
|
|
245
|
+
No new dedicated screens. Feature flags are managed through the existing AdminApp generic form by registering the FeatureFlag model.
|
|
246
|
+
|
|
247
|
+
For rule targeting values that reference users, the AdminApp form treats `_id`,
|
|
248
|
+
`id`, `userId`, `ownerId`, and related user fields as User refs. Single-user
|
|
249
|
+
operators (`eq`, `neq`, `$eq`, `$ne`) render a User picker, and multi-user
|
|
250
|
+
operators (`in`, `nin`, `$in`, `$nin`) render an array of User pickers.
|
|
251
|
+
Selected users should display through the configured User ref renderer or
|
|
252
|
+
picker label, so admins see user names or emails rather than raw IDs when
|
|
253
|
+
editing rules.
|
|
254
|
+
|
|
255
|
+
### Frontend Hook (`@terreno/rtk`)
|
|
256
|
+
|
|
257
|
+
```typescript
|
|
258
|
+
// useFeatureFlags.ts — new file in @terreno/rtk
|
|
259
|
+
export const useFeatureFlags = (api: Api<any, any, any, any>, basePath = "/feature-flags") => {
|
|
260
|
+
// Injects GET /feature-flags/evaluate endpoint
|
|
261
|
+
// Returns { useFlag, useVariant, isLoading, error, refetch }
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
// Consumer usage
|
|
265
|
+
const { useFlag, useVariant } = useFeatureFlags(terrenoApi);
|
|
266
|
+
|
|
267
|
+
const showNewCheckout = useFlag("new-checkout-flow"); // true | false
|
|
268
|
+
const variant = useVariant("checkout-experiment"); // "control" | "variant-a" | null
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
Fetches once on mount, caches via RTK Query, refetches on window focus.
|
|
272
|
+
|
|
273
|
+
## Phases
|
|
274
|
+
|
|
275
|
+
### Phase 1: Backend package + evaluation engine
|
|
276
|
+
- Create `feature-flags/` package directory with package.json, tsconfig
|
|
277
|
+
- Implement FeatureFlag model (with archived field)
|
|
278
|
+
- Implement FeatureFlagsApp plugin with modelRouter CRUD
|
|
279
|
+
- Implement evaluation engine (field rules with dot notation, segment rules, deterministic hashing for both boolean rollout and variant assignment)
|
|
280
|
+
- Implement `/evaluate`, `/segments` custom endpoints
|
|
281
|
+
- Unit tests for evaluation logic
|
|
282
|
+
|
|
283
|
+
### Phase 2: Frontend hook
|
|
284
|
+
- Add `useFeatureFlags()` hook to `@terreno/rtk`
|
|
285
|
+
- Export from rtk index
|
|
286
|
+
|
|
287
|
+
### Phase 3: Example app integration
|
|
288
|
+
- Wire up FeatureFlagsApp in example-backend
|
|
289
|
+
- Register models in AdminApp
|
|
290
|
+
- Add sample flags and use `useFeatureFlags()` in example-frontend
|
|
291
|
+
- Regenerate SDK
|
|
292
|
+
|
|
293
|
+
## Feature Flags & Migrations
|
|
294
|
+
|
|
295
|
+
No feature flag needed for this feature itself — it's a new package with no existing behavior to gate. No data migrations required.
|
|
296
|
+
|
|
297
|
+
## Activity Log & User Updates
|
|
298
|
+
|
|
299
|
+
None needed.
|
|
300
|
+
|
|
301
|
+
## **Not included/Future work**
|
|
302
|
+
|
|
303
|
+
- Real-time flag updates via WebSocket (polling/refetch-on-focus only for v1)
|
|
304
|
+
- A/B test analytics or conversion tracking (consumers use their own analytics system)
|
|
305
|
+
- Custom admin UI for targeting rule editing (generic form only; consumers can extend)
|
|
306
|
+
- Async segment functions (sync only for v1; can be added if DB-lookup segments are needed)
|
|
307
|
+
- Flag scheduling (enable/disable at a future date)
|
|
308
|
+
- Mutual exclusion groups for experiments
|
|
309
|
+
- Flag audit log (who changed what, when)
|
|
310
|
+
- Flag environments (dev/staging/prod)
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
# Implementation Plan: MCP Server — Boost Parity (Docs Search, Local Runtime Tools, Per-Package Guidelines, Upgrade Prompts)
|
|
2
|
+
|
|
3
|
+
*When an engineer is assigned to a project but before you begin coding, you should fill in the implementation plan and get feedback from the engineering team. Once you have finished or you make any changes, tag Josh with the @ symbol so he can review. Also tag anyone else that needs to be notified, has conflicting work, etc.*
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
[laravel/boost](https://github.com/laravel/boost) is Laravel's MCP server for AI-assisted development. Its value comes from runtime context: it runs *inside* each app (stdio) and gives agents database schema, logs, last error, browser console output, and version-aware doc search. Terreno's MCP server is the opposite shape — a hosted, stateless codegen/docs service with no visibility into the consuming app.
|
|
8
|
+
|
|
9
|
+
This plan closes the gap with five additions, ordered by value:
|
|
10
|
+
|
|
11
|
+
1. **Docs search tools** on the hosted server (`terreno_search_docs`, `terreno_get_component_docs`) — agents call tools; they rarely read passive MCP resources.
|
|
12
|
+
2. **A local stdio companion** (`@terreno/mcp`, `terreno-mcp-local` bin) that runs inside consumer apps and exposes runtime introspection: package versions, Mongo schema, read-only queries, backend logs, last error.
|
|
13
|
+
3. **Unified log capture (backend + app + bundler)** — one `read_logs` tool merging backend winston logs, the running app's console output (read over Chrome DevTools Protocol from Metro — no app code changes), Metro build errors, and a POST-based fallback logger for cases CDP can't reach. Boost's most original feature, and arguably more valuable for React Native where agents can't see the simulator.
|
|
14
|
+
4. **Per-package guidelines and skills** — move AI guideline content out of the monolithic `mcp-server/src/bootstrap.ts` (~2,900 lines) into each package's `.ai/` directory, composed at build time and shipped in published npm packages.
|
|
15
|
+
5. **Upgrade prompts** — per-release upgrade notes plus a `terreno_upgrade` prompt. Frontend/Expo SDK work delegates to the official [`upgrading-expo` skill](https://github.com/expo/skills/tree/main/plugins/expo/skills/upgrading-expo) from `expo/skills`; the prompt handles the Terreno-specific parts (`@terreno/ui`, `@terreno/rtk`, `@terreno/api`).
|
|
16
|
+
6. **Simulator/web app control** — compose existing MCP servers (official `expo-mcp` for simulator tap/screenshot, Playwright MCP for web, Maestro for E2E flows) via bootstrap wiring rather than building UI automation ourselves, and add a small set of Terreno-differentiated runtime tools (RTK state inspection, expo-router navigation, opt-in JS evaluate) over CDP. See the ecosystem survey in Phase 6.
|
|
17
|
+
|
|
18
|
+
**Key design decisions:**
|
|
19
|
+
|
|
20
|
+
- The hosted server stays stateless and unauthenticated; everything project-specific lives in the new local stdio server.
|
|
21
|
+
- `mcp-server` becomes a published package (`@terreno/mcp`) so consumers can run `bunx terreno-mcp-local` — it joins the nine lockstep-versioned packages in `publish-on-tag.yml`.
|
|
22
|
+
- Search is in-process BM25 (e.g. `minisearch`) over markdown chunked by heading — no external search service, works on Cloud Run with the index built at startup from bundled docs.
|
|
23
|
+
- The local server never imports consumer code. It reads `package.json`/`bun.lock`, connects to Mongo via the consumer's `.env`, and tails log files. This avoids version conflicts between the MCP's dependencies and the app's.
|
|
24
|
+
- Mongo query tool is read-only by allowlist (`find`, `aggregate` without `$out`/`$merge`, `countDocuments`, `distinct`), mirroring Boost's SQL allowlist.
|
|
25
|
+
- Log tools require `@terreno/api` to gain an opt-out dev-only file transport (`.terreno/logs/app.log`) since the winston logger is currently console-only (`api/src/logger.ts`).
|
|
26
|
+
- App console logs are read over the Chrome DevTools Protocol that Metro already exposes (`/json/list` + `/inspector/debug` from `@react-native/dev-middleware`) instead of patching `console` in app code. This is zero-instrumentation and also unlocks `Runtime.evaluate` for the control tools in Phase 6. A POST-to-backend fallback logger covers what CDP can't reach (web browsers when not driven by Playwright, non-dev builds on physical devices).
|
|
27
|
+
- For UI automation we compose existing MCP servers (official `expo-mcp`, Playwright MCP, Maestro) instead of building tap/screenshot tools — that space is mature and Expo now ships it first-party. We only build runtime tools where Terreno has an information advantage: we control store creation (`generateAuthSlice`) and routing conventions, so RTK state inspection and expo-router navigation can be reliable rather than heuristic.
|
|
28
|
+
|
|
29
|
+
**Related work:** `docs/implementationPlans/model-router-mcp.md` adds MCP tools to consumer apps' own APIs — that is the *app's* MCP surface; this plan is about the *development-time* MCP surface. The companion plan `docs-site-and-versioning.md` covers versioned documentation, which `terreno_search_docs` will consume once it exists.
|
|
30
|
+
|
|
31
|
+
## Phase 1: Docs Search Tools (hosted server)
|
|
32
|
+
|
|
33
|
+
### New files
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
mcp-server/src/search/
|
|
37
|
+
├── chunker.ts # Split markdown into heading-level chunks with breadcrumb titles
|
|
38
|
+
├── index.ts # Build minisearch index at startup from docs dir
|
|
39
|
+
└── search.ts # Query API: multi-query, score merge, token-limited markdown output
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Tools (added in `mcp-server/src/tools.ts`)
|
|
43
|
+
|
|
44
|
+
```typescript
|
|
45
|
+
terreno_search_docs({
|
|
46
|
+
queries: string[]; // multiple queries, like Boost ("toggle" vs "switch")
|
|
47
|
+
packages?: string[]; // filter to @terreno/api, @terreno/ui, etc.
|
|
48
|
+
tokenLimit?: number; // default 3000, capped
|
|
49
|
+
})
|
|
50
|
+
// Returns ranked markdown chunks with source attribution.
|
|
51
|
+
|
|
52
|
+
terreno_get_component_docs({
|
|
53
|
+
component: string; // e.g. "Button"
|
|
54
|
+
})
|
|
55
|
+
// Returns the full props table for one @terreno/ui component from
|
|
56
|
+
// ui-types-documentation.json, plus any matching markdown docs.
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Corpus
|
|
60
|
+
|
|
61
|
+
- `mcp-server/src/docs/resources/*.md` (existing five bundles)
|
|
62
|
+
- `docs/**/*.md` from the monorepo (Diátaxis tree) — extend the `sync-ui-docs` script in `mcp-server/package.json` into a `sync-docs` script that copies both
|
|
63
|
+
- `ui-types-documentation.json` component entries, rendered to markdown chunks (one per component)
|
|
64
|
+
|
|
65
|
+
### Notes
|
|
66
|
+
|
|
67
|
+
- Update tool descriptions to instruct agents: "use this tool before guessing at Terreno APIs" (Boost's `search-docs` description does this aggressively and it works).
|
|
68
|
+
- Keep the existing static resources; they cost nothing.
|
|
69
|
+
- Tests in `mcp-server/src/__tests__/search.test.ts`: chunking, ranking sanity ("button" finds Button component), token truncation, package filtering.
|
|
70
|
+
|
|
71
|
+
## Phase 2: Per-Package Guidelines & Skills
|
|
72
|
+
|
|
73
|
+
### Structure
|
|
74
|
+
|
|
75
|
+
Each published package gains an `.ai/` directory:
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
api/.ai/
|
|
79
|
+
├── guidelines/core.md # modelRouter, permissions, TerrenoApp patterns
|
|
80
|
+
└── skills/mongoose-schema-safety/SKILL.md # moved from .rulesync/skills (consumer-relevant parts)
|
|
81
|
+
ui/.ai/guidelines/core.md
|
|
82
|
+
rtk/.ai/guidelines/core.md
|
|
83
|
+
admin-backend/.ai/guidelines/core.md
|
|
84
|
+
...
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
- Add `.ai` to each package's `files` in `package.json` so guidelines ship to `node_modules` (the Boost pattern: vendor packages carry their own guidelines).
|
|
88
|
+
- `mcp-server` gains a build step (`sync-package-guidelines`) that collects `*/.ai/**` into `src/docs/guidelines/<package>/`.
|
|
89
|
+
|
|
90
|
+
### Behavior changes
|
|
91
|
+
|
|
92
|
+
- `terreno_bootstrap_ai_rules` composes its output from the collected per-package files instead of inline strings in `bootstrap.ts`. Add an optional `packages` input (the agent passes the consumer's `@terreno/*` deps from `package.json`) so apps without e.g. `admin-backend` don't get admin guidelines.
|
|
93
|
+
- `bootstrap.ts` shrinks to orchestration + app-scaffold templates; guideline content lives next to the code it describes and is reviewed in the same PRs.
|
|
94
|
+
- The `improve-rulesync` skill should be updated to point contributors at the per-package `.ai/` dirs.
|
|
95
|
+
|
|
96
|
+
### Versioned guidelines (forward-looking)
|
|
97
|
+
|
|
98
|
+
Boost keys guidelines by package major version (`.ai/laravel/11/`, `12/`). Terreno releases in lockstep, so a flat `core.md` is fine until a breaking release; at that point add `.ai/guidelines/<major>/core.md` and have the composer pick by the consumer's installed version.
|
|
99
|
+
|
|
100
|
+
## Phase 3: Local Stdio Companion (`terreno-mcp-local`)
|
|
101
|
+
|
|
102
|
+
### Packaging
|
|
103
|
+
|
|
104
|
+
- Rename/publish `mcp-server` as `@terreno/mcp` with two bins:
|
|
105
|
+
- `terreno-mcp` — existing HTTP entry (`src/index.ts`), unchanged
|
|
106
|
+
- `terreno-mcp-local` — new stdio entry (`src/local/index.ts`) using `StdioServerTransport`
|
|
107
|
+
- Add to `publish-on-tag.yml` (depends on `publish-api` since it imports the logger).
|
|
108
|
+
- `terreno_bootstrap_app` writes both servers into the generated `.cursor/mcp.json`:
|
|
109
|
+
|
|
110
|
+
```jsonc
|
|
111
|
+
{
|
|
112
|
+
"mcpServers": {
|
|
113
|
+
"terreno": { "type": "http", "url": "https://mcp.terreno.flourish.health/mcp" },
|
|
114
|
+
"terreno-local": { "command": "bunx", "args": ["terreno-mcp-local"] }
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Tools
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
src/local/tools/
|
|
123
|
+
├── applicationInfo.ts # application_info
|
|
124
|
+
├── databaseSchema.ts # database_schema
|
|
125
|
+
├── databaseQuery.ts # database_query
|
|
126
|
+
├── readLogs.ts # read_logs, last_error (Phase 4)
|
|
127
|
+
└── runtime.ts # evaluate, get_rtk_state, navigate (Phase 6, CDP)
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
- **`application_info`** — parse the consumer's root + workspace `package.json` and `bun.lock`; report `@terreno/*` versions, expo, react-native, mongoose, bun. Tool description copies Boost's trick: *"Use this tool at the start of each chat and write version-specific code."*
|
|
131
|
+
- **`database_schema`** — connect using `MONGO_URI` from the consumer backend's `.env`; list collections, indexes, and document counts; additionally parse `backend/src/models/*.ts` (static, no imports) to report declared fields, types, refs, and plugins. Summary mode + name filter, like Boost.
|
|
132
|
+
- **`database_query`** — read-only allowlist: `find`, `aggregate` (rejecting `$out`/`$merge`/`$function`), `countDocuments`, `distinct`. Hard result cap (default 50 docs), JSON output.
|
|
133
|
+
|
|
134
|
+
### Required `@terreno/api` change
|
|
135
|
+
|
|
136
|
+
`api/src/logger.ts` gains a dev-only file transport: when `NODE_ENV !== "production"` (or `TERRENO_LOG_FILE` is set), winston also writes JSONL to `.terreno/logs/app.log` with rotation (cap ~5MB). `.terreno/` is added to the generated app's `.gitignore` by bootstrap.
|
|
137
|
+
|
|
138
|
+
### Project-root discovery
|
|
139
|
+
|
|
140
|
+
The local server resolves the consumer project root by walking up from `cwd` to the nearest `package.json` with a `backend`/`frontend` workspace (the bootstrap layout), with a `TERRENO_PROJECT_ROOT` override.
|
|
141
|
+
|
|
142
|
+
## Phase 4: Unified Log Capture (backend + app + bundler)
|
|
143
|
+
|
|
144
|
+
One tool instead of Boost's three (`read-log-entries`, `browser-logs`, `last-error` split):
|
|
145
|
+
|
|
146
|
+
- **`read_logs({ sources?, entries, level?, since? })`** — merges entries chronologically across sources, each tagged with its origin:
|
|
147
|
+
- `backend` — `.terreno/logs/app.log` JSONL written by the winston file transport (Phase 3), including request logs from `@terreno/api`'s request logging middleware.
|
|
148
|
+
- `app` — console output from the running native app, captured over CDP (below).
|
|
149
|
+
- `metro` — bundler build errors (`build_failed`, `bundling_error`) from Metro's `/events` WebSocket.
|
|
150
|
+
- `browser` — fallback file `.terreno/logs/browser.log` fed by the POST logger (below).
|
|
151
|
+
- **`last_error({ sources? })`** — most recent `error`-level entry with stack across backend and app sources. The agent's first stop after "it broke".
|
|
152
|
+
|
|
153
|
+
### App console capture via CDP (primary, zero app code)
|
|
154
|
+
|
|
155
|
+
Metro exposes the Chrome DevTools Protocol through `@react-native/dev-middleware`: `GET /json/list` returns debuggable targets with a `webSocketDebuggerUrl`; attaching and enabling the `Runtime` domain streams `Runtime.consoleAPICalled` events (all console levels, with stack traces, symbolicated via the source map). `terreno-mcp-local` keeps a ring buffer of these events. This is the approach proven by [`metro-mcp`](https://github.com/steve228uk/metro-mcp) and [`expo-metro-mcp`](https://github.com/synnode/expo-metro-mcp).
|
|
156
|
+
|
|
157
|
+
**Hermes constraint:** Hermes accepts a single CDP debugger connection. Opening React Native DevTools (pressing `j` in Metro) steals it. v1 mitigation: connect lazily, buffer, and release cleanly, with the connection status reported by the tool; if contention proves painful, adopt metro-mcp's CDP-proxy multiplexing approach (or take `metro-mcp` as a dependency) rather than building our own proxy first.
|
|
158
|
+
|
|
159
|
+
### POST fallback logger (secondary, covers CDP gaps)
|
|
160
|
+
|
|
161
|
+
CDP reaches dev builds connected to Metro. It does not cover web browsers (when the agent isn't driving them via Playwright, which exposes console messages itself) or device builds not attached to a dev server. For those, a `DevConsoleLogger` module (no-op unless `__DEV__`): patches `console.error`/`console.warn`, registers `ErrorUtils.setGlobalHandler` (native) and `window.onerror` + `unhandledrejection` (web), batches entries to the backend. `TerrenoApp` auto-registers `POST /__terreno/browser-logs` only when `NODE_ENV === "development"`, appending JSONL to `.terreno/logs/browser.log` (route 404s in production). Wired into the bootstrap frontend template; existing apps add one import.
|
|
162
|
+
|
|
163
|
+
## Phase 5: Upgrade Prompts
|
|
164
|
+
|
|
165
|
+
### Upgrade notes as release artifacts
|
|
166
|
+
|
|
167
|
+
- New directory `mcp-server/src/docs/upgrades/<version>.md` — one note per release that has breaking or notable changes (what changed, codemod-style instructions, before/after snippets).
|
|
168
|
+
- Update `.rulesync/skills/release/SKILL.md`: when the release skill flags breaking changes, writing `upgrades/<version>.md` becomes a required step before tagging.
|
|
169
|
+
|
|
170
|
+
### Prompt and tool
|
|
171
|
+
|
|
172
|
+
- **Tool `terreno_get_upgrade_guide({ fromVersion, toVersion })`** — concatenates all upgrade notes in the version range (lockstep versioning makes the range unambiguous). Usable by agents without prompt support.
|
|
173
|
+
- **Prompt `terreno_upgrade({ targetVersion? })`** — workflow:
|
|
174
|
+
1. Determine current `@terreno/*` versions (local `application_info` or `package.json`).
|
|
175
|
+
2. Call `terreno_get_upgrade_guide` for current → target.
|
|
176
|
+
3. **Backend:** apply note instructions; bump `@terreno/api`, `@terreno/ai`, etc.; run backend tests.
|
|
177
|
+
4. **Frontend/Expo:** install and invoke the official `upgrading-expo` skill (`bunx skills add expo/skills` if not present) for the Expo SDK/dependency portion — `npx expo install expo@latest`, `expo install --fix`, `expo-doctor`, cache clearing, breaking-change checklist. Do not duplicate that content in our notes.
|
|
178
|
+
5. **Terreno frontend:** apply `@terreno/ui` / `@terreno/rtk` note instructions, regenerate the SDK (`generate-sdk` skill), verify with `compile` + lint.
|
|
179
|
+
- `terreno_bootstrap_ai_rules` adds a pointer to `expo/skills` in the generated frontend rules so consumer agents discover `upgrading-expo` organically.
|
|
180
|
+
|
|
181
|
+
## Phase 6: Simulator & Web App Control
|
|
182
|
+
|
|
183
|
+
Goal: the agent can drive the running app — tap, type, screenshot, navigate, inspect state — not just read its logs.
|
|
184
|
+
|
|
185
|
+
### Ecosystem survey (what already exists)
|
|
186
|
+
|
|
187
|
+
| Project | What it controls | Mechanism | Notes for Terreno |
|
|
188
|
+
|---|---|---|---|
|
|
189
|
+
| [`expo-mcp` (official Expo MCP)](https://docs.expo.dev/eas/ai/mcp/) | Running Expo app in simulator/emulator | Hosted server (`https://mcp.expo.dev/mcp`, OAuth) + local capabilities via `expo-mcp` package and `EXPO_UNSTABLE_MCP_SERVER=1 npx expo start` | `automation_tap` (x/y or `testID`), `automation_take_screenshot` (full or by `testID`), `automation_find_view`, `open_devtools`, `collect_app_logs`, expo-router sitemap; plus hosted docs search and EAS build/log/crash inspection. First-party fit for Terreno apps; flag-gated "unstable", free plan has usage limits on hosted tools |
|
|
190
|
+
| [`microsoft/playwright-mcp`](https://github.com/microsoft/playwright-mcp) | Web app (Expo web export / `expo start --web`) | Accessibility-tree-driven browser automation | The standard for web control; also surfaces browser console messages and network, covering web log capture |
|
|
191
|
+
| [Maestro MCP](https://docs.maestro.dev/get-started/maestro-mcp) (`maestro mcp`, bundled in CLI) | iOS sim, Android emulator, real devices, Chromium | Maestro engine: `list_devices`, `inspect_screen` (view hierarchy), `tap_on`, `input_text`, `run_flow` (YAML), screenshots, embedded device Viewer | Works on compiled apps with no instrumentation; natural bridge from agent exploration to durable E2E flows |
|
|
192
|
+
| [`mobile-next/mobile-mcp`](https://github.com/mobile-next/mobile-mcp) | iOS/Android sims, emulators, and real devices | Accessibility APIs, WebDriverAgent (iOS), ADB/UI Automator (Android) | Framework-agnostic, strongest real-device story; heavier prerequisites (Xcode/Android SDK) |
|
|
193
|
+
| [`steve228uk/metro-mcp`](https://github.com/steve228uk/metro-mcp) | RN runtime via Metro | CDP: console, network, errors, evaluate, Redux state + dispatch, component tree, AsyncStorage, expo-router state, deep links, simulator control, profiler, test recorder; CDP proxy multiplexes Hermes's single connection | Closest existing project to what Phase 4/6 builds; reference implementation, or candidate dependency |
|
|
194
|
+
| [`synnode/expo-metro-mcp`](https://github.com/synnode/expo-metro-mcp), [`jeffdhooton/expo-agent-bridge`](https://github.com/jeffdhooton/expo-agent-bridge) | RN logs/runtime | CDP log buffer + flag-gated `evaluate`; agent-bridge adds an in-app plugin for nav/store/network state | Smaller validations of the same CDP pattern |
|
|
195
|
+
|
|
196
|
+
### Decision: compose for UI automation, build only Terreno-differentiated runtime tools
|
|
197
|
+
|
|
198
|
+
**Compose (bootstrap wiring, no new automation code):**
|
|
199
|
+
|
|
200
|
+
- `terreno_bootstrap_app` adds `expo-mcp` to the frontend dev dependencies, sets `EXPO_UNSTABLE_MCP_SERVER=1` in the generated dev script, and writes the Expo MCP and Playwright MCP entries into the generated `.cursor/mcp.json` alongside the two Terreno servers. Generated AI rules explain which server to use for what (simulator interaction → expo-mcp; web → Playwright; Mongo/logs/codegen → terreno).
|
|
201
|
+
- Generated rules recommend Maestro MCP (opt-in, requires Maestro CLI) when the user asks for E2E tests — the agent explores with expo-mcp, then captures the flow as Maestro YAML via `run_flow`/test generation.
|
|
202
|
+
- `mobile-mcp` documented as the real-device option; not wired by default.
|
|
203
|
+
|
|
204
|
+
**Build (in `terreno-mcp-local`, reusing the Phase 4 CDP connection):**
|
|
205
|
+
|
|
206
|
+
- **`evaluate({ code })`** — `Runtime.evaluate` in the app's Hermes runtime. Opt-in via `TERRENO_MCP_EVAL=1`, mirroring Boost's config-gated Tinker tool. Supports async expressions; results JSON-serialized.
|
|
207
|
+
- **`get_rtk_state({ slice?, query? })`** — inspect the Redux store: auth slice, RTK Query cache entries (endpoint, args, status, error), pending mutations. Reliable rather than heuristic because `@terreno/rtk` will expose the store on a dev-only global (`globalThis.__TERRENO_STORE__`, set inside `generateAuthSlice` when `__DEV__`) — this is the small `@terreno/rtk` change this phase needs.
|
|
208
|
+
- **`navigate({ path })`** — expo-router navigation via evaluated `router.push(path)`, plus a deep-link fallback (`xcrun simctl openurl` / `adb shell am start`) when no CDP target is attached. Combined with expo-mcp's screenshot tool, this gives the agent "go to screen X and look at it" in two calls.
|
|
209
|
+
|
|
210
|
+
### What we deliberately do not build
|
|
211
|
+
|
|
212
|
+
Tap/swipe/type/screenshot/view-hierarchy tools, device lifecycle management, and test recording — all covered by the composed servers above, with Expo now shipping the core interactions first-party.
|
|
213
|
+
|
|
214
|
+
## Notifications
|
|
215
|
+
|
|
216
|
+
None.
|
|
217
|
+
|
|
218
|
+
## UI
|
|
219
|
+
|
|
220
|
+
No new UI surfaces. Phase 4 adds the invisible `DevConsoleLogger` fallback to the frontend template; Phase 6 adds a dev-only store global to `@terreno/rtk`.
|
|
221
|
+
|
|
222
|
+
## Phases & Dependency Order
|
|
223
|
+
|
|
224
|
+
| Phase | Scope | Depends on |
|
|
225
|
+
|-------|-------|------------|
|
|
226
|
+
| 1. Docs search tools | `mcp-server` only | — |
|
|
227
|
+
| 2. Per-package guidelines | all packages + `mcp-server` | — (parallel with 1) |
|
|
228
|
+
| 3. Local stdio server | `mcp-server` packaging, `@terreno/api` logger | publish pipeline change |
|
|
229
|
+
| 4. Unified logs (backend + app + Metro) | local MCP CDP client, `@terreno/api`, template fallback logger | 3 |
|
|
230
|
+
| 5. Upgrade prompts | `mcp-server`, release skill | 1 (notes searchable), benefits from 3 |
|
|
231
|
+
| 6. App control | bootstrap wiring (`expo-mcp`, Playwright), local MCP runtime tools, `@terreno/rtk` dev global | 4 (shares the CDP connection) |
|
|
232
|
+
|
|
233
|
+
## Feature Flags & Migrations
|
|
234
|
+
|
|
235
|
+
- No data migrations.
|
|
236
|
+
- File logging and the browser-logs endpoint are dev-only by environment check, with `TERRENO_LOG_FILE` / `TERRENO_BROWSER_LOGS` env overrides to disable.
|
|
237
|
+
- Publishing `@terreno/mcp` is additive; the hosted Cloud Run deployment is unchanged.
|
|
238
|
+
|
|
239
|
+
## Risks
|
|
240
|
+
|
|
241
|
+
- **Read-only enforcement on Mongo** is allowlist-based; `aggregate` stage filtering must be tested against bypass attempts (`$out` nested in `$facet`, etc.).
|
|
242
|
+
- **Local server vs. consumer env drift**: reading `.env` directly can miss values injected by other tooling; document `TERRENO_PROJECT_ROOT` and `MONGO_URI` overrides.
|
|
243
|
+
- **Doc search quality**: BM25 over chunks is keyword-level, not semantic. Acceptable for v1; the docs-site plan's search index is the upgrade path.
|
|
244
|
+
- **Hermes single CDP connection**: the log/runtime tools contend with React Native DevTools for the one debugger slot. Lazy connect/release is the v1 answer; a CDP multiplexing proxy (metro-mcp's approach) is the fallback if contention is a real-world problem.
|
|
245
|
+
- **`expo-mcp` instability**: Expo gates local capabilities behind `EXPO_UNSTABLE_MCP_SERVER=1` and warns the tool list may change; hosted tools meter usage per Expo account (OAuth). Bootstrap wiring should treat it as optional and degrade gracefully.
|
|
246
|
+
- **`evaluate` is arbitrary code execution** in the user's app runtime — opt-in env flag, never enabled by bootstrap defaults, mirroring Boost's Tinker posture.
|